Calum H.
3c051f5b1d
feat: add notifs onto friends ws temporarily ( #6290 )
...
* feat: add notifs onto friends ws temporarily
* fix: lint + styling
* fix: regressions
2026-06-02 19:47:37 +00:00
Calum H.
6ee5e4df19
feat: access labrinth backend ( #6284 )
...
* feat: redirect `/hosting` to archon
* feat: server invite notification type
* feat: direct email notification endpoint
* feat: revoke notification endpoint
* feat: specify users to remove notifications from
* refactor: insert notifications before sending emails
* refactor: rename endpoint
* refactor: remove archon redirect
* style: mark field unused
* feat: dedup external notifications
* feat: add server invite email templates
* style: remove unnecessary format
---------
Co-authored-by: sychic <47618543+Sychic@users.noreply.github.com >
2026-06-02 16:34:04 +00:00
aecsocket
d61397097c
Tilitfy webhook changes ( #6267 )
...
* Tilitfy webhook changes
* add env
* fix
2026-06-02 15:14:02 +02:00
aecsocket
c3a58aba9e
Fix clickhouse URI, country filtering ( #6247 )
...
* Switch to bind for long params
* Country filtering
* prepare
* playtime preservation
2026-06-01 16:11:44 +00:00
aecsocket
cc8d556448
Expose user campaign donation info ( #6266 )
...
expose extra donation info for users
2026-05-31 15:18:40 +00:00
Calum H.
71286f7b2b
fix: incorrect webhook schema for tiltify ( #6260 )
...
fix:
2026-05-31 01:11:22 +02:00
aecsocket
c29973ec1a
Pride 26 campaign backend integration ( #6254 )
...
* wip: pride 2026 webhooks and stuff
* setup webhook and link to user
* fix up code
* improve donation resolution
* Pride 26 campaign
* idempotency
* wip: tiltify
* fix
* redis caching
* add num donators
* fix
* Revert openapi
* Prepare
* improve oauth token gen code
2026-05-30 19:21:33 +00:00
aecsocket
67e1743d6c
Flatten facets response format, remove detailed route ( #6244 )
...
* Flatten facets response format
* delete test file
2026-05-29 23:22:08 +02:00
aecsocket
62cedab6dd
Analytics faceting fixes ( #6243 )
2026-05-29 22:46:51 +02:00
aecsocket
99611d22c7
Filter out invalid loaders in analytics, fix query bug ( #6241 )
...
* should fix bucketing query bug
* Filter out invalid loaders, fix query bug
* fixes
2026-05-29 12:46:59 -07:00
aecsocket
527f2f800b
Analytics faceting return count, improve performance ( #6229 )
2026-05-28 17:58:19 +00:00
aecsocket
ec49a3b051
Move all-projects route to specific user scope ( #6220 )
...
* Move all-projects route to specific user scope
* ci
* ci flaky test
* fmt
2026-05-28 14:41:57 +00:00
aecsocket
64edf2ddeb
Improve analytics performance, analytics faceting ( #6180 )
...
* fix uri too long
* all projects route for user
* analytics facet fetching
* cache download source regexes
* filtering
* prepare
* Split up analytics metrics into separate modules
* prepare
* fix ci
2026-05-27 00:01:13 +00:00
aecsocket
5727e156ed
Fetch project analytics events on analytics get ( #6143 )
...
* Fetch project analytics events
* fix
* post-query ua bucketing
* fmt
2026-05-22 18:32:33 +00:00
aecsocket
71dee4de40
Add modpacks with external files filter to moderation queue ( #6155 )
...
* simplify query
* make it a tristate
* external deps count
2026-05-21 20:21:54 +00:00
aecsocket
f106dc580f
Restrict what tokens can be used for auth init flows ( #6137 )
2026-05-19 15:45:58 +00:00
aecsocket
244c263e40
Implement analytics marker events ( #6090 )
...
* Analytics events
* prepare
* change route prefix
* update route return
* Add mod launcher analytics
* more UA strings
* fix ci
* caching on analytics events
* Return parent modpack versions for playtime queries
* sqlx prepare
* fmt
* dummy fixtures
2026-05-19 13:06:04 +00:00
François-Xavier Talbot
b72bc18a6b
Add moderator notes to users & organizations ( #6094 )
...
* Moderator notes
* Use macros
* Improve queries
* Query cache
* Accept missing If-Match if no existing note
* Undo v2 compat changes
* Fix tests
* Remove CONSTRAINT CHECK on moderation_notes
* Respect 1-indexing on moderation_notes.version default in DB migration
* Remove double Option
* .body("") -> .finish()
* .remove() -> .get().clone()
* cloned
* Review comments
* moderation_notes everywhere
2026-05-16 16:30:36 +00:00
aecsocket
cee942dcef
Fix file version updates not considering visibility ( #6105 )
2026-05-16 16:18:18 +00:00
aecsocket
e5bbd9d409
Remove non-Typesense search backends, add default env vars ( #6082 )
...
* Remove non-Typesense search backends, add default env vars
* shear
* remove some default keys
2026-05-13 17:15:37 +00:00
aecsocket
1ddbae40b7
Re-enable summary weight in search ( #5871 )
...
* re-enable summary weighting in search
* prioritize tokens/drop tokens thresh
2026-05-12 12:14:45 +00:00
aecsocket
ca1b36efde
Analytics request loader and game version validation ( #6064 )
...
* Analytics request loader and game version validation
* tweak agents
* factor tags into its own util
* lock cache refresh to avoid cache stampede
* Make analytics fields opptional
2026-05-11 14:45:50 +00:00
aecsocket
a5417e0851
Fix new analytics backend bucketing and revenue ( #6052 )
...
* Fix analytics backend QA items
* cargo prepare
2026-05-10 10:57:24 +00:00
Michael H.
22415a4cc6
fix: check edited member, not editor, for org owner permission guard ( #6024 )
...
fix: check edited member, not editor, for org owner permission guard (#1400 )
2026-05-07 14:59:05 +00:00
aecsocket
e8dc3c3150
Add update download reason to analytics ( #6023 )
...
* Add download reason to analytics
* mark modpack updates as actual updates in analytics
* fmt
2026-05-07 13:07:20 +00:00
aecsocket
2f311643a0
Expose new analytics data in backend route ( #5982 )
...
* Expose more analytics data in backend
* Adjust fetch analytics body
* fix
* fix
2026-05-04 16:33:26 +00:00
Prospector
e13a89dd72
External projects moderator database ( #5692 )
...
* Begin external projects moderator database frontend
* add copy link button
* begin project page permissions settings
* MEL database backend routes
* include filename in external files
* Hook up frontend external license page to backend
* more work on user-facing external projects stuff
* put user-facing stuff behind feature flag
* prepr
* clippy
---------
Co-authored-by: aecsocket <aecsocket@tutanota.com >
2026-05-04 16:31:37 +00:00
Calum H.
8a72ee9968
fix(backend): moderation locking logic fix ( #5979 )
...
* fix(backend): moderation locking logic fix
* fix: clippy
2026-05-03 18:29:05 +00:00
Michael H.
678f8049e3
fix: labrinth memory leaks ( #5980 )
2026-05-03 20:01:56 +02:00
Arthur
f857d19aee
feat(backend): remove server play analytics fallback ( #5884 )
...
Remove server play analytics fallback
2026-05-03 12:50:23 +00:00
Michael H.
5b59e39a8a
chore: improve actions performance and security practices ( #5970 )
...
* chore: bump actions and pin versions
* build: switch to blacksmith
* fix: use rust-toolchain stable
* build: improve pnpm store caching
* chore: remove emoji from workflows
* fix: run prepare job on blacksmith
* chore: kebab case id
* build: add concurrency groups to limit duplicate jobs
* build: switch around node setup and pnpm setup task
* chore: bump to nodejs 24, fix pnpm caching
* fix: enable corepack
* fix: concurrency deadlock in frontend preview
* fix: approve build scripts
* fix: just don't cancel concurrent previews
* build: remove pnpm setup action everywhere
* build: cache apt packages
* build: yet another attempt at fixing concurrency
* build: lower runner type for frontend deploy
* fix: eslint not existing
* build: add sccache to turbo-ci
* fix: correct nextest pkg
* fix: turbo ignoring sccache
* revert me: test labrinth tests
* Revert "revert me: test labrinth tests"
This reverts commit def5cc19183d5c0fe3b6f3c03635d73bb59bd312.
* build: compile app before docker build
* build: lower runner types
* build: remove docker inline caching
* build: try mold on labrinth
* build: tweak labrinth prod build profile
* fix: app windows builds and caching
* fix: tombi format cargo.toml
* fix: swap ping test to cubecraft to avoid CI flakiness
* typos fix
---------
Co-authored-by: aecsocket <aecsocket@tutanota.com >
2026-05-03 14:18:31 +02:00
aecsocket
9403462915
Update to rustc 1.95.0 ( #5962 )
...
* Update to rustc 1.95.0
* fmt
2026-05-01 19:39:14 +00:00
François-Xavier Talbot
264aade726
Use AWS SDK ( #5959 )
2026-05-01 09:58:26 +00:00
Calum H.
a2eed001b2
fix: tech review bugs ( #5919 )
...
* fix: root files not appearing as JIJ & pass/fail remaining doesn’t update the flags from other files
* feat: revert back to lazy loading sources
* feat: try fix checklist freezing up/unclickable + project_type filter
* fix: 10 classes then lazy load
2026-04-27 16:33:39 +00:00
aecsocket
e8be67d41f
Fix how analytics writes are serialized ( #5926 )
2026-04-27 14:25:57 +02:00
aecsocket
e3d6a498d0
Track new analytics metrics in backend ( #5895 )
...
* Allow filtering by project IDs in analytics route
* Download meta info in header
* add recursion limit
* Track playtime country
* fix clickhouse migrations
2026-04-24 15:43:25 +00:00
Sychic
6862cf5ab2
Show orgs in project card when a project is owned by an org ( #5892 )
...
* fix: link to user using id instead of username
* feat: show org in project card
* fix: account for outdated documents
* refactor: use struct to store owner information
* fix: default new fields
* fix lint
2026-04-23 17:32:19 +00:00
Sychic
77e4c41480
fix(teams): accept username in edit member endpoint ( #5852 )
...
* fix(teams): accept username in edit member endpoint
* fix: remove unused import
* fix: use context to wrap error
* refactor: use context for error handling in edit_team_member
* fix: remove unused import
* fix: wrap database errors as internall errors
* fix: properly wrap errors
2026-04-21 13:47:49 +00:00
Sychic
d1b122fb21
fix(maven): return escaped summary for project description ( #5839 )
...
* fix(maven): return escaped summary for project description
* build: add quickxml to labrinth
* fix(maven): use quickxml to escape xml special chars
2026-04-19 14:58:32 +00:00
Calum H.
2236dd8ade
fix: moderation locking fixes ( #5843 )
...
* fix: moderation locking fixes
* fix: lint
* wip: override always available
* fix: newmodal base z
* fix: cargo fmt
2026-04-18 18:55:33 +00:00
aecsocket
546b117437
Tweak token prioritization in Typesense ( #5776 )
...
* Tweak toke prioritization in typesense
* tweaks
* allow configuring max_candidates
* tweak max_candidates
* final changes
2026-04-15 19:45:41 +00:00
aecsocket
f12bd7b4b8
Add utoipa info for v2 routes ( #5775 )
...
* wip: add v2 docs, routes to config, paths
* fix up path prefixes
* fix leading slashes
* fix slash route
* fix more slashes
* wip: full utopification of v2
* convert last few v2 routes to utoipa
2026-04-15 13:25:35 +00:00
aecsocket
a9c417d1d1
Switch from Swagger to Scalar for OpenAPI docs ( #5766 )
...
* Switch from Swagger to Scalar for OpenAPI docs
* remove old comments
2026-04-07 22:14:26 +00:00
aecsocket
da48a12551
Only mark servers as offline if they fail pings 3+ times ( #5664 )
...
* wip: online status fix
* use INCR
* properly clear cache
2026-03-26 06:34:20 +00:00
aecsocket
3c5bd0756d
Index search by original and split title ( #5589 )
...
* Index search by original and split title
* better normalization of title/author names for indexing
* replace println with warn
* fix test
2026-03-20 04:01:19 +00:00
aecsocket
3b604cfdc0
Get AutoMod to ignore .rpo files ( #5616 )
2026-03-19 00:16:30 +00:00
aecsocket
31b541007d
Revert "Unify server pinging implementations between app and backend ( #5510 )" ( #5558 )
2026-03-13 13:58:57 -07:00
Truman Gao
b2d40af9cd
feat: confirm transfer project/org modals ( #5532 )
...
* feat: implement confirm transfer project/org modals
* pnpm prepr
* update warning banner copy
* update warning banner again
2026-03-13 18:56:32 +00:00
aecsocket
455a4f527d
Add title stemming to typesense ( #5553 )
2026-03-13 17:03:54 +00:00
aecsocket
d14360aba5
Unify server pinging implementations between app and backend ( #5510 )
...
* 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
2026-03-13 16:21:09 +00:00