Sami Mazouz
caaaadd701
Merge branch 'refs/heads/2.x' into sm/json-api-server
...
# Conflicts:
# extensions/likes/tests/integration/api/ListPostsTest.php
# extensions/mentions/tests/integration/api/ListPostsTest.php
# framework/core/src/Api/routes.php
# framework/core/src/Discussion/UserState.php
# framework/core/src/Extend/Settings.php
# framework/core/tests/integration/extenders/ApiControllerTest.php
# framework/core/tests/integration/extenders/ModelTest.php
# framework/core/tests/integration/policy/DiscussionPolicyTest.php
2024-05-09 13:19:14 +01:00
Sami Mazouz
2b917372a7
feat: eloquent factories (primarily for tests) ( #3982 )
2024-05-03 09:20:27 +01:00
StyleCI Bot
5b0dd88acf
Apply fixes from StyleCI
2024-03-08 13:41:35 +00:00
Sami Mazouz
8a6e96dc8e
feat: refactor nicknames extension
2024-02-26 17:43:45 +01:00
Sami Mazouz
bc5bac0ac4
fix: regressions
2024-02-17 11:01:47 +01:00
flarum-bot
6cbdfb6aa1
Bundled output for commit 4b126d9f4c
...
Includes transpiled JS/TS, and Typescript declaration files (typings).
[skip ci]
2023-11-11 18:46:13 +00:00
Sami Mazouz
4b126d9f4c
feat: revamp search ( #3893 )
...
* refactor: move gambits to frontend (#3885 )
* refactor: move gambits to frontend
* test: GambitManager
* refactor: merge filterer and searcher concepts (#3892 )
* chore: drop remaining backend regex gambits
* refactor: merge filterer & searcher concept
* refactor: adapt extenders
* refactor: no longer need to push gambits to `q`
* refactor: filters to gambits
* refactor: drop shred `Query` namespace
* chore: cleanup
* chore: leftover gambit references on the backend (#3894 )
* chore: leftover gambit references on the backend
* chore: namespace
* feat: search driver backend extension API (#3902 )
* feat: first iteration of search drivers
* feat: indexer API & tweaks
* feat: changes after POC driver
* fix: properly fire custom observables
* chore: remove debugging code
* fix: phpstan
* fix: custom eloquent events
* chore: drop POC usage
* test: indexer extender API
* fix: extension searcher fails without filters
* fix: phpstan
* fix: frontend created gambit
* feat: advanced page and localized driver settings (#3905 )
* feat: allow getting total search results and replacing filters (#3906 )
* feat: allow accessing total search results
* feat: allow replacing filters
* chore: phpstan
2023-11-11 19:43:09 +01:00
flarum-bot
05a7e24836
Bundled output for commit eaabeab8c9
...
Includes transpiled JS/TS, and Typescript declaration files (typings).
[skip ci]
2023-11-10 22:04:30 +00:00
Sami Mazouz
eaabeab8c9
chore: extract FormModal
from Modal
( #3922 )
2023-11-10 21:59:34 +00:00
Sami Mazouz
e2281a2123
chore: handle deprecations from 1.x ( #3909 )
...
* chore: drop deprecated `post_number_index` column
* chore: remove deprecated `FlagsWillBeDeleted` event
* chore: `Migration::addSettings` can still be needed
* chore: `settings->get` default can still be needed
* chore: deprecated `$default` in `Settings::serializeToForum` extender
* chore: deprecated request `actor` attribute
* chore: already handled
* chore: remove `RecompileFrontendAssets::whenSettingsSaved`
* chore: remove `getReadIds`
* chore: `Model::dateAttribute` extender
* chore: `evented` js util
* chore: `WelcomeHero` js hidden prop
* chore: attributes pushData with relations
* chore: app request options `extract`
* chore: itemlist deprecations
* chore: `search` state
* chore: `getMentionText`
* chore: deprecated non-registered store type
* chore: `Button` title
* chore: `Modal` deprecations
* chore
* chore: deprecated `less` mixins
* Apply fixes from StyleCI
* fix
* fix: phpstan
* fix
* fix
---------
Co-authored-by: StyleCI Bot <bot@styleci.io>
2023-11-10 21:20:18 +00:00
flarum-bot
db0d9cb006
Bundled output for commit 5ab5257ff5
...
Includes transpiled JS/TS, and Typescript declaration files (typings).
[skip ci]
2023-10-10 20:41:11 +00:00
Sami Mazouz
5ab5257ff5
feat: theming and extensibility improvements ( #3876 )
...
* feat: make page structure customizable across different pages (#3867 )
* feat: create `PageStructure` component
* feat: apply to `DiscussionPage`
* feat: apply to `UserPage`
* feat: apply to `TagsPage`
* fix: adapt subscriptions ext
* chore: cleanup
* chore: use grid & flexbox for the discussion list item (#3868 )
* chore: rename `DiscussionPage-list` to `DiscussionListPane`
* chore: itemlistify `DiscussionListItem`
* chore: use flex and grid for `DiscussionListItem`
* chore: use flexbox for `App-header` (#3869 )
* chore: use flex and grid for `App-header`
* chore: drop search floats
* fix: adapt admin styles
* chore: use flexbox in dropdowns and SplitDropdown for subscriptions (#3874 )
* chore: flexbox dropdown menu items
* chore: normalize subscriptions menu (use slit dropdown)
* chore: cleanup
* chore: misc flexbox/grid changes (#3875 )
* chore: `TagsPage` to tsx
* chore: `TagsPage` flexbox/grid
* chore: `IndexPage-toolbar` flexbox
* chore: `UserCard` flexbox & itemlists
* fix: `Post` improve spacing logic
* chore: `Post` grid and proper spacing
* fix: avatar editor hover layer layout
* chore: `Button` flex
* chore: normalize form semantics (#3877 )
* chore: normalize fieldsets
* fix: `LinkButton` spacing
* chore: consistent form semantics
* fix: styling regressions (#3878 )
* fix: post spacing goes off in other pages
* fix: regression
* feat: extract reusable components from `NotificationsDropdown` (#3879 )
* feat: extensible global notices (#3880 )
* fix: js error on null item list
* feat: extensible global notices
* chore: housekeeping (#3881 )
* chore: use CSS variables where still not using
* chore: cleanup suspension modal
* chore: cleanup post flag
* fix: badge vertical align
* chore: use CSS variables for custom coloring
* chore: `icon` helper to `Icon` component
* chore: `avatar` helper to `Avatar` component
* fix: chunk loading fails on admin frontend
* chore: format
* feat: reusable `UploadImageButton` component (#3882 )
* chore: convert `UploadImageButton` to tsx
* feat: reusable `UploadImageButton` component
* feat: add `image-upload` setting type
* feat: extensible default footer component (#3883 )
* chore: yarn format
2023-10-10 21:36:08 +01:00
flarum-bot
e731fb6189
Bundled output for commit 229a7affa5
...
Includes transpiled JS/TS, and Typescript declaration files (typings).
[skip ci]
2023-08-02 17:04:35 +00:00
Sami Mazouz
229a7affa5
feat: Code Splitting ( #3860 )
...
* feat: configure webpack to allow splitting chunks
* feat: `JsDirectoryCompiler` and expose js assets URL
* chore: support es2020 dynamic importing
* feat: control which URL to fetch chunks from
* feat: allow showing async modals & split 'LogInModal'
* feat: split `SignUpModal`
* feat: allow rendering async pages & split `UserSecurityPage`
* fix: module might not be listed in chunk
* feat: lazy load user pages
* feat: track the chunk containing each module
* chore: lightly warn
* chore: split `Composer`
* feat: add common frontend (for split common chunks)
* fix: jsDoc typing imports should be ignored
* feat: split `PostStream` `ForgotPasswordModal` and `EditUserModal`
* fix: multiple inline async imports not picked up
* chore: new `common` frontend assets only needs a jsdir compiler
* feat: add revision hash to chunk import URL
* fix: nothing to split for `admin` frontend yet
* chore: cleanup registry API
* chore: throw an error in debug mode if attempting to import a non-loaded module
* feat: defer `extend` & `override` until after module registration
* fix: plugin not picking up on all module sources
* fix: must override default chunk loader function from webpack plugin
* feat: split tags `TagDiscussionModal` and `TagSelectionModal`
* fix: wrong export name
* feat: import chunked modules from external packages
* feat: extensions compatibility
* feat: Router frontend extender async component
* chore: clean JS output path (removes stale chunks)
* fix: common chunks also need flushing
* chore: flush backend stale chunks
* Apply fixes from StyleCI
* feat: loading alert when async page component is loading
* chore: `yarn format`
* chore: typings
* chore: remove exception
* Apply fixes from StyleCI
* chore(infra): bundlewatch
* chore(infra): bundlewatch split chunks
* feat: split text editor
* chore: tag typings
* chore: bundlewatch
* fix: windows paths
* fix: wrong planned ext import format
2023-08-02 17:57:57 +01:00
Ngô Quốc Đạt
59586e63e1
chore: simplify if else conditions ( #3843 )
...
* chore: simplify if else conditions
* use nullsafe
Co-authored-by: Sami Mazouz <sychocouldy@gmail.com>
---------
Co-authored-by: Sami Mazouz <sychocouldy@gmail.com>
2023-07-27 11:31:04 +01:00
flarum-bot
9feb9dd4eb
Bundled output for commit 016503d8c3
...
Includes transpiled JS/TS, and Typescript declaration files (typings).
[skip ci]
2023-06-29 18:24:31 +00:00
Sami Mazouz
016503d8c3
feat: export registry ( #3842 )
...
* feat: registry first iteration
Signed-off-by: Sami Mazouz <sychocouldy@gmail.com>
* feat: improve webpack auto export loader
Signed-off-by: Sami Mazouz <sychocouldy@gmail.com>
* chore: remove `compat` API
Signed-off-by: Sami Mazouz <sychocouldy@gmail.com>
* chore: cleanup
Signed-off-by: Sami Mazouz <sychocouldy@gmail.com>
---------
Signed-off-by: Sami Mazouz <sychocouldy@gmail.com>
2023-06-29 18:57:53 +01:00
Sami Mazouz
5820a16a96
chore: increase phpstan level to 6 ( #3836 )
...
* chore: increase phpstan level to 6
Signed-off-by: Sami Mazouz <sychocouldy@gmail.com>
* Apply fixes from StyleCI
---------
Signed-off-by: Sami Mazouz <sychocouldy@gmail.com>
Co-authored-by: StyleCI Bot <bot@styleci.io>
2023-06-21 14:31:24 +01:00
Sami Mazouz
64b25b26c3
chore: improve test suite ( #3814 )
...
Allows running tests without constantly running `composer install` on each extension.
2023-06-15 13:26:39 +01:00
flarum-bot
3757bde4fc
Bundled output for commit f67ca5782a
...
Includes transpiled JS/TS, and Typescript declaration files (typings).
[skip ci]
2023-06-07 10:45:14 +00:00
Sami Mazouz
951f58e567
fix(regression): require flarum/testing:2.0
...
Signed-off-by: Sami Mazouz <sychocouldy@gmail.com>
2023-05-31 09:53:59 +01:00
Sami Mazouz
082f04d3c3
fix(regression): caught errors
...
Signed-off-by: Sami Mazouz <sychocouldy@gmail.com>
2023-05-31 09:50:39 +01:00
Sami Mazouz
04fe2616a4
Revert "fix(regression): caught errors"
...
This reverts commit c94c140484
.
2023-05-31 09:47:30 +01:00
Sami Mazouz
c94c140484
fix(regression): caught errors
...
Signed-off-by: Sami Mazouz <sychocouldy@gmail.com>
2023-05-31 09:45:50 +01:00
Sami Mazouz
6f11e044a7
chore: update codebase to php8.1 ( #3827 )
...
* chore: set minimum php version to 8.1
Signed-off-by: Sami Mazouz <sychocouldy@gmail.com>
* chore: update codebase to php8.1
Signed-off-by: Sami Mazouz <sychocouldy@gmail.com>
* Apply fixes from StyleCI
* chore: update workflow php version
Signed-off-by: Sami Mazouz <sychocouldy@gmail.com>
* fix: caught errors
Signed-off-by: Sami Mazouz <sychocouldy@gmail.com>
* fix: more caught errors
Signed-off-by: Sami Mazouz <sychocouldy@gmail.com>
* fix: phpstan caught errors
Signed-off-by: Sami Mazouz <sychocouldy@gmail.com>
* Apply fixes from StyleCI
* fix: test-caught errors
Signed-off-by: Sami Mazouz <sychocouldy@gmail.com>
* fix: test-caught errors
Signed-off-by: Sami Mazouz <sychocouldy@gmail.com>
* fix: test-caught errors
Signed-off-by: Sami Mazouz <sychocouldy@gmail.com>
* fix: introduce `Flarum\Locale\TranslatorInterface`
Signed-off-by: Sami Mazouz <sychocouldy@gmail.com>
* Apply fixes from StyleCI
* chore: remove mixin
Signed-off-by: Sami Mazouz <sychocouldy@gmail.com>
* fix: test-caught errors
Signed-off-by: Sami Mazouz <sychocouldy@gmail.com>
* fix: one last error
Signed-off-by: Sami Mazouz <sychocouldy@gmail.com>
---------
Signed-off-by: Sami Mazouz <sychocouldy@gmail.com>
Co-authored-by: StyleCI Bot <bot@styleci.io>
2023-05-30 11:36:12 +01:00
Sami Mazouz
e5abffc75b
chore: v1.8 preparations
...
Signed-off-by: Sami Mazouz <sychocouldy@gmail.com>
2023-05-20 16:08:42 +01:00
flarum-bot
c766881e1f
Bundled output for commit e63e161be6
...
Includes transpiled JS/TS, and Typescript declaration files (typings).
[skip ci]
2023-05-07 16:49:15 +00:00
David Wheatley
e63e161be6
chore: major frontend JS cleanup ( #3609 )
2023-05-07 17:40:18 +01:00
dependabot[bot]
13e655aca5
chore(deps): bump webpack from 5.75.0 to 5.76.0 ( #3761 )
...
Bumps [webpack](https://github.com/webpack/webpack ) from 5.75.0 to 5.76.0.
- [Release notes](https://github.com/webpack/webpack/releases )
- [Commits](https://github.com/webpack/webpack/compare/v5.75.0...v5.76.0 )
---
updated-dependencies:
- dependency-name: webpack
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-19 07:45:00 +01:00
Sami Mazouz
b66fe5dd5f
chore(release): preparations
...
Signed-off-by: Sami Mazouz <sychocouldy@gmail.com>
2023-03-09 19:00:32 +01:00
flarum-bot
08dead81ce
Bundled output for commit 47b670aa29
...
Includes transpiled JS/TS, and Typescript declaration files (typings).
[skip ci]
2023-02-08 20:19:47 +00:00
Sami Mazouz
47b670aa29
feat: frontend Model
extender ( #3646 )
...
* feat: reintroduce frontend extenders
* chore: used `Routes` extender in bundled extensions
* chore: used `PostTypes` extender in bundled extensions
* chore: `yarn format`
* feat: `Model` frontend extender
* chore: naming
* chore(review): attributes can be nullable or undefined
* chore(review): delay extender implementation
* chore(review): unnecessary check
* chore(review): stay consistent
* chore: merge conflicts
* chore: unused import
* chore: multiline extenders
* feat: add Store extender
Signed-off-by: Sami Mazouz <sychocouldy@gmail.com>
2023-02-08 21:13:53 +01:00
Sami Mazouz
da1bf8da21
chore(phpstan): enable phpstan in bundled extensions ( #3667 )
...
* feat(phpstan): pick up extended model relations typings
* feat(phpstan): pick up extended model date attributes
* feat(core): introduce `castAttribute` extender
Stops using `dates` as it's deprecated in laravel 8
* feat(phpstan): pick up extended model attributes through casts
* fix: extenders not resolved when declared namespace
* fix(phpstan): new model attributes are always nullable
* chore(phpstan): add helpful cache clearing command
* Apply fixes from StyleCI
* chore: improve extend files provider logic
* chore: rename `castAttribute` to just `cast`
* chore: update phpstan package to detect `cast` method
* chore: enable phpstan in bundled extensions
* chore: rebasing conflicts
* chore: rebasing conflicts
* chore: typings for latest 1.7 changes
Signed-off-by: Sami Mazouz <sychocouldy@gmail.com>
2023-01-19 21:49:38 +01:00
flarum-bot
0e238a9c82
Bundled output for commit 64fa35f2f3
...
Includes transpiled JS/TS, and Typescript declaration files (typings).
[skip ci]
2022-11-25 17:25:24 +00:00
flarum-bot
c50c924242
Bundled output for commit 18bdd48835
...
Includes transpiled JS/TS, and Typescript declaration files (typings).
[skip ci]
2022-11-16 10:30:13 +00:00
flarum-bot
ab56aefeaa
Bundled output for commit 259db92b9a
...
Includes transpiled JS/TS, and Typescript declaration files (typings).
[skip ci]
2022-11-10 23:30:18 +00:00
Daniël Klabbers
1e00e3fdbb
chore: dependency on core updated for extensions
2022-11-10 13:48:00 +01:00
Daniël Klabbers
a35df8c139
chore: v1.5.0 preparations
2022-09-13 10:55:30 +02:00
flarum-bot
0b299d0003
Bundled output for commit 70e483d1b1
...
Includes transpiled JS/TS.
[skip ci]
2022-07-30 22:16:30 +00:00
Sami Mazouz
4e52f0e420
chore: monorepo local development improvements ( #3523 )
...
* chore: centralize editorconfig
* chore: tweak tsconfigs for local development
* revert src path change
* fix: akismet type checking requires flag ext `@types`
* fix: make tags route optional to avoid typescript typing error
2022-07-18 15:19:11 +01:00
Daniël Klabbers
556d461cfb
chore: update v1.4 constraints and update issues url
2022-07-12 23:30:03 +02:00
Sami Mazouz
abc12b4ba5
chore: add .gitattributes
to extensions to export-ignore files. ( #3513 )
...
Signed-off-by: Sami Mazouz <ilyasmazouz@gmail.com>
2022-07-08 20:38:20 +01:00
Sami Mazouz
27fb011bf5
chore: with yarn workspaces we only need a single yarn.lock
( #3464 )
...
* chore: yarn workspaces means we only need a single `yarn.lock`
* fix: add a `cache_dependency_path` workflow input
* fix: re-introduce `env.cache_dependency_path`
2022-06-19 19:01:21 +01:00
Sami Mazouz
89b194034b
fix: nickname regex validation not working ( #3430 )
...
* test: regex validation for nickname on registration
* fix: nickname regex validation not working
* test: regex validation works with valid inputs
2022-05-20 14:04:14 +01:00
Daniël Klabbers
592039c483
update constraint to v1.3
2022-05-10 16:28:35 +02:00
flarum-bot
f667faa1bd
Bundled output for commit 542cc42538
...
Includes transpiled JS/TS.
[skip ci]
2022-04-13 15:33:52 +00:00
Alexander Skvortsov
a595665bfb
fix: Assorted Typing Fixes ( #3348 )
...
With all the commits below, we resolve all outstanding typing issues in the repo, and CI jobs run green.
* fix: Convert DashboardPage and DashboardWidget to TypeScript
* fix: fix type errors in package manager ext
* fix: Convert Post component to TypeScript
* fix: avatar typings should accept null user
* fix: convert Notification component to TypeScript
* fix: properly use `typeof` in ForumApplication
* feat: make Notification content attr generic
* chore: format Notification component
* fix: Convert DiscussionRenamedNotification to TypeScript
* fix(pusher) move shims to a location where they get applied
* fix(pusher): fix some typing errors
* fix(akismet): fix some typing issues
* chore: update core dist typings
* chore(pusher): format
* fix: anchorScroll should accept string selectors
* fix: more accurately represent ApiQueryParamsPlural
* fix: convert PostStreamState to TypeScript
* chore(core): rebuild typings
* feat: allow extending app.routes
* fix: more flexible typings for highlight.ts
* fix: use primitive `number` type for Discussion typings
* fix: convert DiscussionListItem to TypeScript
* chore: rebuild core typings
* fix: final pusher type fixes
* feat: start tags TypeScript conversion
* fix: require-dev tags in pusher for CI TypeScript purposes.
* chore(core): format
* chore(tags): build dist typings
* feat(pusher): use dist types from tags.
* feat: convert flags to TypeScript
* chore(flags): generate dist typings
* fix(akismet): last type errors
* chore: update .yarn-integrity
* chore: partially run flarum-cli audit infra --fix
The tsconfig changes from that command are ignored, since we don't yet support "replacable sections" that would let us add custom config.
* chore: use type imports
* fix: broader gitattributes
* chore: run flarum-cli audit infra --monorepo --fix
* feat: make `app.data` typings extensible
* chore(core): format
* chore: boost tags TypeScript coverage
* fix(tags): further increase type coverage.
2022-03-23 11:43:14 -04:00
dependabot[bot]
37a882118a
chore(deps): bump glob-parent from 3.1.0 to 5.1.2 in /extensions/emoji/js ( #3345 )
...
* chore(deps): bump glob-parent in /extensions/emoji/js
Bumps [glob-parent](https://github.com/gulpjs/glob-parent ) from 3.1.0 to 5.1.2.
- [Release notes](https://github.com/gulpjs/glob-parent/releases )
- [Changelog](https://github.com/gulpjs/glob-parent/blob/main/CHANGELOG.md )
- [Commits](https://github.com/gulpjs/glob-parent/compare/v3.1.0...v5.1.2 )
---
updated-dependencies:
- dependency-name: glob-parent
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
* Apply fixes from StyleCI
[ci skip] [skip ci]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: StyleCI Bot <bot@styleci.io>
2022-03-11 18:11:20 -05:00
Alexander Skvortsov
5fc0b4963a
chore: flarum-cli audit infra --fix
2022-03-11 18:02:51 -05:00
Alexander Skvortsov
693da58c41
chore: set up composer path repos
2022-03-11 18:02:49 -05:00