* start multiselect component
* update styles
* small fix
* fix padding and styles
* add border bottom on sticky items
* add border bottom to search as well
* fix select all showing line
* use multi-select component for languages field
* add no options story for empty state
* refactor: remove vue-multiselect, replace with either our own combobox and multiselect
* pnpm prepr
* pnpm prepr
* fix combobox in transfer organization
* fix: migrate old cache entries for CachedFileUpdate
* feat: toggle goofy fix + switch version reimpl in app and panel
* fix: multimc detection
* fix: add tie breaker for sorting
* feat: toggle hover state
* fix: lint
* start multiselect component
* update styles
* small fix
* fix padding and styles
* add border bottom on sticky items
* add border bottom to search as well
* fix select all showing line
* use multi-select component for languages field
* add no options story for empty state
* fix height
* Revert "Implement Labrinth Canary API flag (#5531)"
This reverts commit 3b21944a75.
* Use Labrinth-Canary header instead of cookie for API canary
* prepr
* fix rebase
* Improve ping impl to bring parity to app lib impl
* Fix issue with new impl
* fix labrinth compile
* wip: why do servers not provide server info..
* Fix ping impl overriding port
* fix theseus_gui
* remove unneeded recursion lmit
* fix: add server to instance modal opens slow
* fix: creators section org doesnt display for project pages in app
* feat: separate modpacks and servers tabs in instances library
* initial elasticsearch impl
* working elastic cluster
* replace SearchError with ApiError for preparation of search backend
* start factoring meili out to trait
* move meili to backend
* update routes to use search backend trait
* wip
* Update projects.rs
* search backend is only init'd once in config
* wip
* wip: backend agnostic
* change search internal routes to delegate to backend
* initial elasticsearch impl
* fix filtering
* elastic impl
* refactor indexing into its own module
* clean up elastic code
* fix ci
* fix tests
* fix elastic health check
* fix up env rebase
* fix compile
* dummy commit to update github pr
* Fix rebase
* Elastic basic https auth
* Fix duplicate projects showing up
* Fix up tests
* Replace search `ApiErrors` with `eyre::Reports`, propagate background task errors
* clean up agents files
* make index chunk size configurable
* make `match_phrase` in elastic case-insensitive
* use current/next indices and swap between them
* test case for error body
* Fix failing case
* da merge
* factor out common stuff from search backends
* allow fetching hit metadata from search results
* allow customising elasticsearch search config
* bit of docs
* add mappings to indices for elastic
* Implement Typesense
* wip
* fix up some sort fields stuff
* use different approach to filterable field sets
* remove a bunch of search fields which weren't used for filtering
* bucket text matches
* Bucketing by text_match for typesense
* fix tombi lint
* fix some sentry errors and dont prioritise 2+ term matches
* tweak ts query settings
* expose some more search settings
* query sort changes
* small fixes
* should fix pagination stuff
* fix healthcheck maybe
* ragebait ci
* tests
* tests
* revert environment
* Improve Intl formatting
* Additional fixes
* Fixed formatters were not updated on locale change
* Fixed formatNumber was not updated on locale change
* Additional formatting and fixes after merge
* Run prepr:frontend
* Remove `'` in icon map
* Run `pnpm install`
* fix: lint + import
* Additional fixes
---------
Co-authored-by: Calum H. <calum@modrinth.com>
Co-authored-by: Calum H. (IMB11) <contact@cal.engineer>
* "feat(collections): fix sorting logic and add URL persistence"
* fix(navigation): use replaceState for project filters to prevent history pollution
* Revert "fix(navigation): use replaceState for project filters to prevent history pollution"
This reverts commit 3924855fafcf2921056e31b7606a143de01ed6a6.
* fix: lint + devin
---------
Co-authored-by: Calum H. (IMB11) <contact@cal.engineer>
* fix(navigation): use replaceState for project filters to prevent history pollution
* fix: add replace prop to NavTabs and enable it on project and discover pages
* style: run pnpm run fix on affected files
* enable NavTabs replace prop on collection, user, and org pages
---------
Co-authored-by: Calum H. (IMB11) <contact@cal.engineer>
* Various typo fixes and clearups
As reported on Crowdin.
* touch up wording on the environments
* lint
* roll back describes + lint
* fix extra "usd" in some languages in the hosting marketing page
* fix: lint + devin pass
---------
Co-authored-by: Calum H. (IMB11) <contact@cal.engineer>
* Harden minecraft-server-play analytics
* Verify based on mc token
* Fail for non-server projects
* Nitpicks and factor out HTTP client
* Allow passing old minecraft_uuid field for clients
* Remove server play analytics test since it relies on auth against Minecraft API which I don't want to mock :(
* Switch to using hasJoined for uuid validation
* Fix formatting
* Fix sessionserver status code
* Ensure profile name and queried username matches
* replace some wrap_request_errs with internal errs
* add HTTP client into web::Data
* short timeout on client-side session join query
* further fixes
* sqlx prepare
* fix clippy
---------
Co-authored-by: Creeperkatze <178587183+Creeperkatze@users.noreply.github.com>
Co-authored-by: aecsocket <aecsocket@tutanota.com>