Commit Graph

4101 Commits

Author SHA1 Message Date
c37c4f46da Bundled output for commit 42eacd616c7ba8073015889cf18d779f03710c41
Includes transpiled JS/TS.

[skip ci]
2021-05-12 23:12:10 +00:00
42eacd616c Use proper attrs for viewForum and searchUsers 2021-05-12 18:49:11 -04:00
875f8eb530 Bundled output for commit 9dca657edf3126fc95a2c90ab104b56d9bbd122c [skip ci] 2021-05-12 22:19:45 +00:00
9dca657edf Fix formatting error in Tooltip.tsx
Prettier is acting differently on different systems.
2021-05-12 23:14:50 +01:00
d7648102a9 Bundled output for commit bba6485effc088e38e9ae0bc8f25528ecbee3a7b [skip ci] 2021-05-12 03:57:28 +00:00
bba6485eff Tooltip formatting fix 2021-05-11 23:55:52 -04:00
2075c7319f Typehint event in console scheduling test case 2021-05-11 23:55:34 -04:00
92e1d0843c Bundled output for commit 4e0fdb4c7702b77ba6d9db28cd8a2517dc39816f [skip ci] 2021-05-11 23:15:50 +00:00
4e0fdb4c77 Create abstract PaginatedListState for DiscussionList and others (#2781) 2021-05-11 19:14:26 -04:00
9a26b2bef4 Bundled output for commit d64750b3eb7de28d82727105b69c213cae5befe7 [skip ci] 2021-05-11 19:17:04 +00:00
d64750b3eb Rename viewDiscussions => viewForum, viewUserList => searchUsers (#2854)
This naming is clearer as to the intended effect. Changes include:

- A migration to rename all permissions
- Updating the seed migration to use the original naming from the start
- Replacing usage of the old names with new names in code
- Throwing warnings when the old names are used.
2021-05-11 15:15:27 -04:00
06f63a2087 Bundled output for commit b2d053f6865e685ebf005e457d970385377bbb28 [skip ci] 2021-05-11 02:31:32 +00:00
b2d053f686 Search frontend cleanup (#2849)
- Convert KeyboardNavigatable to TypeScript, as that is used internally here.
- Convert search sources to TypeScript
- Convert Search component to TypeScript
- Convert Search States to Typescript
- Add `getInitialSearch` to `SearchState`
- Fix search disappearing on page reload / direct link
2021-05-10 22:30:04 -04:00
765bd59965 Improve discussion page canonical URL (#2853)
* Switch to ?page= discussion page canonical URL & fix no-JS pagination buttons
2021-05-10 19:20:47 -04:00
6ecca9565a Squash core migrations (#2842)
Data migrations (seed default groups, seed default permissions) are deliberately excluded.
This also allows us to remove a lot of now unnecessary public API from the migrator and migration repository.
2021-05-10 18:05:01 -04:00
a28009f24b Bundled output for commit 7f596db09bef3fa67a20fe402b131424a46484b5 [skip ci] 2021-05-10 21:56:41 +00:00
7f596db09b Some minor JS cleanup (#2846)
- Change index files to ts
- Remove deprecated EditUserModal from forum compat
- Remove b14-specific error
- Remove transChoice method (ICU should be used instead)
- Translator to TypeScript
- Small JS => TS cleanup
* Trivial js => ts change

Co-authored-by: David Wheatley <hi@davwheat.dev>
2021-05-10 17:54:58 -04:00
dd8323ee36 Use github markdown utils in core, support key handlers (#2826)
This simplifies the markdown extension and allows BBCode to use these features.
It also allows undoing stuff like inserting replies/mentions
2021-05-10 17:53:32 -04:00
104a31ba30 Run API Client requests through middleware (#2783)
- Add integration tests for login and registration
- Use URL instead of controller
- Add fluent API
- Allow setting parent request, user, session
2021-05-10 17:41:38 -04:00
b0a26eb78c Bundled output for commit f9e84246206ca15e93eca47bc20672bc4a526bde [skip ci] 2021-05-10 20:07:59 +00:00
f9e8424620 Add tooltip component (#2843)
* Add Tooltip component to common

Will be used to provide backwards compatibility when we switch to CSS tooltips.

All other methods of creating tooltips are deprecated and this component-based method should be used instead.

* Modify direct child instead of using container element

Instead of using a container to house the tooltip, we'll now modify the
first direct child of the Tooltip component.

The Tooltip component will ensure that:
- children are passed to it
- only one child is present
- that child is an actual HTML Element and not a text node, or similar
- that child is currently present in the DOM

Only after all of the above are satisfied, will the tooltip be created
on that element. We store a reference to the DOM node that the tooltip
should be created on, then use this to perform tooltip actions via
jQuery. If this element gets changes (e.g. the tooltip content is
updated to another element) then the tooltip will be recreated.

If any of the first 3 requirements are not satisfied, an error will
be thrown to alert the developer to their misuse of this component.

To make this work, we do need to overwrite the title attribute of
the element with the tooltip, but this is the only solution other than
specifying `title` as an option when making the tooltip, but this is
not accessible by screenreaders unless they simulate a hover on the
element.

* Add warning about component overwriting `title` attr

* Update previous uses of Tooltip component
2021-05-10 21:06:40 +01:00
9bfb7f978d Bundled output for commit d4e3254395fa03a0653218a543e23ad9de76ae77 [skip ci] 2021-05-09 22:10:56 +00:00
d4e3254395 Use all Mithril lifecycle stubs (#2847) 2021-05-09 18:09:45 -04:00
ceb567779e Remove spin.js, bump some dependencies (#2848) 2021-05-09 18:09:29 -04:00
2e0d494bec Bundled output for commit 6d9bb709c7322fa5871ff17c895fa26430a7e9d3 [skip ci] 2021-05-09 21:35:04 +00:00
6d9bb709c7 Fix typo in LoadingIndicator docblock 2021-05-09 22:33:33 +01:00
915351baec Bundled output for commit 707889abc8b505c2cee709d7a39252c125f447d9 [skip ci] 2021-05-09 21:23:38 +00:00
707889abc8 Fix required selector argument to Component.$() (#2844) 2021-05-09 17:22:22 -04:00
2cd1c2964a Bundled output for commit 8a451e0bfc061f64a74926b33374b0558ea16dff [skip ci] 2021-05-07 16:31:01 +00:00
8a451e0bfc Fix exception in bootExtensions
Frontend extenders exist in a weird state of limbo, where they are technically defined, but aren't used or tested at all. In da5db714c2ba49f789bea68971a2b46c29ff6b0a, we shifted from passing `extension.extend` to `flattenDeep` to calling `flat` on `extension.extend`. If an extension doesn't define extenders (as is the case for most extensions), the change breaks the forum. All we do here is add a null check.
2021-05-07 12:29:10 -04:00
0b9ad5425c Bundled output for commit da5db714c2ba49f789bea68971a2b46c29ff6b0a [skip ci] 2021-05-05 23:29:41 +00:00
da5db714c2 Remove lodash from core (#2827)
* Remove `lodash-es` dependency

* Replace `escapeRegExp` with home-made util

* Replace `throttle` with `throttle-debounce` library

* Use native browser methods for `deepFlatten`

We need a polyfill for iOS 11 and below. I think using a native method with this polyfill is better than having our own function instead, even if the bundle size is ~150B more.

* Save a few bytes in `escapeRegExp`

* Fix typo in comment

* Undo import re-organisation

* Use spread instead of slice

* Use smaller Array.flat polyfill from MDN

* Export new utils in `compat.js`
2021-05-06 00:28:22 +01:00
d4a2357a32 Bundled output for commit 588a9f952f18b7a830891ed04b351167b9ced9a1 [skip ci] 2021-05-05 14:47:48 +00:00
588a9f952f Remove unneeded delete (#2835) 2021-05-05 15:46:23 +01:00
66233ce818 Remove unused variable 2021-05-04 18:15:05 -04:00
7d4bd8a845 Centralize permission caching (#2832) 2021-05-04 13:56:14 -04:00
3a6b8847f1 Mark JS dist folder as generated code (#2828)
This excludes it from the repo's language stats and are suppressed in Linguist diffs.

See: https://github.com/github/linguist/blob/master/docs/overrides.md#generated-code
2021-05-04 18:13:42 +01:00
2ffec2ee71 Update validation.yml. (#2829)
source: https://github.com/laravel/laravel/blob/v8.5.16/resources/lang/en/validation.php
2021-05-03 19:47:18 -04:00
7eea2476ca Harden Headers (#2721)
* Basic security headers

* Remove XSS Header (not relevent)

* Fix config name

* Use Arr::get()

* Add tests

* Re-fix the StoreConfig step for fresh installs

Co-authored-by: luceos <luceos@users.noreply.github.com>
Co-authored-by: Alexander Skvortsov <askvortsov1@users.noreply.github.com>
2021-05-03 12:42:06 -04:00
9711af42ae Apply fixes from StyleCI
[ci skip] [skip ci]
2021-05-03 05:36:06 +00:00
d12d52918b Use latest version of settings package
This allows us to get rid of hacks for configuring settings and config
2021-05-03 01:35:46 -04:00
ad92d11cf9 Bundled output for commit 3ca035f9aad71101ffc80b9cd8ff9d3ad2368e68 [skip ci] 2021-05-02 16:14:09 +00:00
3ca035f9aa Revamp notifications stylesheet (grid and flex) (#2822) 2021-05-02 17:13:04 +01:00
bbff3a2748 Bundled output for commit f5cd5f202ff1de84a4b5bd9504a586e1b43ddd74 [skip ci] 2021-05-02 10:38:26 +00:00
f5cd5f202f Allow multiple methods to be provided to extend and override 2021-05-02 11:37:19 +01:00
a78cbf644c Bundled output for commit 2de47a865660366bf938ea3d48b9aac153e50179 [skip ci] 2021-04-30 17:00:49 +00:00
2de47a8656 Fix package-lock
b45519974a accidentially commited a package-lock with symlinks, breaking the JS build process
2021-04-30 12:59:33 -04:00
b45519974a Switch to ICU MessageFormat (#2759) 2021-04-30 12:44:39 -04:00
edaf45d133 Remove unnecessary laravel config (#2796) 2021-04-30 00:31:19 +02:00
6b9e991082 Move Powered By Header to headers config (#2777)
* Move Powered By Header to headers config
* Use Arr::get()
2021-04-30 00:30:01 +02:00