* 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
* 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
* Ensure newest published versions get sorted at the top
* fix issue with querying
* sort by correct fields depending on server/not server project
* sqlx prepare
* Vendor async-minecraft-ping and fix servers returning protocol version -1
* Don't have automod reject server projects
* fmt
* Add region to search facets
* remove AMP .github
* Tweak search sorting
* Tweak search sorting
* fix ping impl
* remove port field, add server regions
* fix compile
* fix tests
* update frontend banner upload size limit
* feat: use server project region instead of country
* remove java and bedrock port in frontend
* add helper text
* allow filtering by if server is online
* add server status online offline filter
* use region in instance
* pre-collapse status in app discovery
* pnpm prepr
* remove server discovery flag
* add servers into mobile nav tabs
* parse port from address if present
---------
Co-authored-by: tdgao <mr.trumgao@gmail.com>
* Don't enter project into tech review if no new traces
* Send tech review exited message if files are deleted
* change PATCH /issue-detail/{id} to batch update details
* Fix sorting
* store delphi jar in backend
* show jar in tech review card
* improve jar display in frontend
* Fix live/in review label for tech review cards
* sqlx prepare
* polish: decode segments + code qual fix
* fix: skip first seg
* fix: only slice if needed
* Fix tech rev card styling
---------
Co-authored-by: Calum H. (IMB11) <contact@cal.engineer>
* wip: better env var reading
* move most env vars to env.rs
* migrate more env vars
* more migration
* more migrations
* More migration
* 🦀 dotenvy is gone (almost)
* 🦀 dotenvy is gone 🦀
* Fix mural source account env var handling
* Remove defaults from admin key vars
* dummy commit to update github pr
* fix ci
* Implement replied/unreplied filter for tech review
* project status filter
* wip: issue type filter
* correct filter field
* wip: break up tech review query
* Improve tech review query
* Get tech review working more properly
* Add get single project reports endpoint
* wip: affiliate payouts again
* Implement affiliate payout queue
* Deactivate subscription affiliations on cancellation
* Remove a test that never compiled in the first place
* Update sqlx cache
* address some PR comments
* more comments
* wip: handle refund charges
* cargo sqlx prepare
* Address PR comments
* cargo sqlx prepare
* Add auth servers unreachable warning to app
* Check auth status every 5 minutes
* Use admonition in auth server warning
* feat: tanstack
* Fix auth server reachability query
* Format
* intl extract
---------
Co-authored-by: Calum H. (IMB11) <contact@cal.engineer>
* wip: gotenberg
* Generate and provide supporting docs for Mural payouts
* Correct docs
* shear
* update cargo lock because r-a complains otherwise
* Remove local Gotenberg queue and use Redis instead
* Store platform_id in database correctly
* Address PR comments
* Fix up CI
* fix rebase
* Add timeout to default env vars
* wip: muralpay integration
* Basic Mural Pay API bindings
* Fix clippy
* use dotenvy in muralpay example
* Refactor payout creation code
* wip: muralpay payout requests
* Mural Pay payouts work
* Fix clippy
* add mural pay fees API
* Work on payout fee API
* Fees API for more payment methods
* Fix CI
* Temporarily disable Venmo and PayPal methods from frontend
* wip: counterparties
* Start on counterparties and payment methods API
* Mural Pay multiple methods when fetching
* Don't send supported_countries to frontend
* Add countries to muralpay fiat methods
* Compile fix
* Add exchange rate info to fees endpoint
* Add fees to premium Tremendous options
* Add delivery email field to Tremendous payouts
* Add Tremendous product category to payout methods
* Add bank details API to muralpay
* Fix CI
* Fix CI
* Remove prepaid visa, compute fees properly for Tremendous methods
* Add more details to Tremendous errors
* Add fees to Mural
* Payout history route and bank details
* Re-add legacy PayPal/Venmo options for US
* move the mural bank details route
* Add utoipa support to payout endpoints
* address some PR comments
* add CORS to new utoipa routes
* Immediately approve mural payouts
* Add currency support to Tremendous payouts
* Currency forex
* add forex to tremendous fee request
* Add Mural balance to bank balance info
* Add more Tremendous currencies support
* Transaction payouts available use the correct date
* Address my own review comment
* Address PR comments
* Change Mural withdrawal limit to 3k
* maybe fix tremendous gift cards
* Change how Mural minimum withdrawals are calculated
* Tweak min/max withdrawal values
---------
Co-authored-by: Calum H. <contact@cal.engineer>
Co-authored-by: Alejandro González <me@alegon.dev>
* Decouple project deletion from thread deletion
* Allow a thread to exist without a project
* attempt 2
* Modify migration to set orphaned threads' mods to NULL instead of removing constraint entirely
* Use mod PAT for mod threads
* Expose utilities for setting up the database
* Expose migrator directly
* Make some test utils publicly accessible
* expose migrator
* more test fixture utils
* more test fixture utils
* more test fixture utils
* fix
* fix lint
* Taplo and typos in CI
* Clean up Cargo.toml files
* Fix CI
* Fix CI
* Run typos in CI
* Loosen typos a bit
* Fix typos
* Fix taplo
* Switch to Tombi
* Fix Tombi errors
* Remove unused typos config
* Tombi fmt
* Remove extraneous cargo fmt
* fix typos
* start with analytics v2
* the big ass SQL query™
* downloads and views analytics working
* Implement analytics bucketing API
* allow filtering by monetization
* Use a new format for project metrics and bucketing
* revenue API works
* Add country data to analytics API
* Add checks for number of slices and time slice resolution
* work on docs
* wip: fix tests and add docs
* Fix tests
* Fix tests
* Uncomment crates
* feat: frontend CLAUDE.md (#4433)
* Slight tweaks to time slicing logic
* More tweaks
* Fix error messages
* Fix sqlx cache
---------
Co-authored-by: Calum H. <contact@cal.engineer>
* Replace actix tracing with custom error tracing
* Fix logging
* wip: JSON logging
* Use LABRINTH_FORMAT to change to JSON output
* sqlx fix?
* CI fix
* Add tracing span info to HTTP requests
* Merge Result and Option error wrapping
* Add http.authorized to tracing
* Switch to nightly + cranelift
* Fail on warnings only in CI
* Fix check errors
* Don't use mold on Linux to fix CI
* Pin nightly toolchain and add default rustup components
* Fix another CI thing
* PR comment
* Initial affiliate codes implementation
* some more docs to codes
* sqlx prepare
* Address PR comments
* Address more PR comments
* fix clippy
* Switch to using Json<T> for type-safe responses