aecsocket
efe6f9ba16
(temp) convert search request errors into internal errors
2026-07-24 17:48:51 +01:00
aecsocket
ba405ccb68
Merge branch 'main' into boris/search-index-fix
2026-07-24 17:00:12 +01:00
aecsocket
a6d9bb7b3e
feat: allow bulk deleting attribution groups for moderators ( #6839 )
...
* feat: allow bulk deleting attribution groups for moderators
* prepr
2026-07-24 13:42:36 +00:00
Calum H. and sychic
e58af98f21
feat: instance sharing thru shared-instances service ( #6569 )
...
* feat: implement instance share page + search_users backend call
* feat: invite players modal
* feat: use tanstack queries for friends sync across app pages
* feat: base shared instances implementation
* fix: admon style
* feat: impl instance admonitions like server panel
* fix: impl get + del usage
* feat: support modpack links
* feat: invite notif accepting
* fix: lint + fmt
* feat: impl install to play
* feat: impl usage of UpdateToPlayModal
* feat: warnings on deleting/disabling shared-instance version content
* fix: send instance name
* feat: align with backend
* feat: shared instances qa
* feat: wrong account protection
* feat: qa
* fix: smartly apply updates
* fix: install bug
* fix: 401/404 differentiation
* fix: fmt+prepr
* feat: qa
* feat: qa
* fix: signing out messes up revoke/deleted checks
* feat: qa
* fix: fmt + lint
* feat: lock content if part of shared instance
* fix: lint
* [do not merge] feat: rough invite links impl temp (#6666 )
* fix: wrong cmd
* feat: invite page
* fix: server-manager DTO mismatch
* fix: drop anonymous invite link acceptance
* refactor: structured shared-instance unavailable errors
* refactor: centralise error presentations
* refactor: dedupe shared instance diff detection
* fix: logging in reqwests
* refactor: move app.vue shared instances into handler
* refactor: break up Share.vue
* refactor: split up shared instances state outside of instance index
* refactor: dedicated shared instances install/update modals + split up page
* refactor: centralized managed content
* refactor: split up install shared to own runner + shared.rs split up
* refactor: dedupe sql for instance metadata enrichmnt
* refactor: friends composable + dedupe friends logic across usages
* chore: reduced unused code
* fix: align with backend
* fix: lint
* fix: file sha changes
* fix: invite links not working due to icon signed
* feat: qa
* feat: reporting frontend dummy
* fix: try use header
* remove: file hash field
* fix: pin box
* feat: malware warning for shared instances
* fix: cache rule
* feat: config files syncing
* feat: disable config sharing
* fix: header
* fix: use mark ready
* fix: dont cause push update for configs
* fix: lint
* feat: sharing page in settings
* feat: move config + change flow
* fix: qa
* fix: lint prepr
* feat: proxy file upload thru shared instances backend
* fix: use collapisible
* fix: push config
* fix: config
* feat: swap out sign in modal for new one
* fix: report flow
* fix: exclude configs.zip from external warnings
* fix: nuxi init
* fix: config bundle downloading
* fix: error notif
* fix: polling
* fix: qa
* fix: lint + prepr
* feat: shared instances moderation frontend + hook up report flow
* fix: report copy
* fix: lint
* fix: lint
* fix: modrinth ids being undefined
* feat: instance quarantining
* fix: prepr + fmt
* fix: quarantined -> locked terminology
* fix: missing endpoint impls + fmt
* fix: missing api in build.rs
* fix: share tab jittery
* fix: fmt
*PT bug
* fix: invites count as users even if pending
* fix: prepr
* fix: invite page owner in users list
* fix: lint
* fix: qa
* fix: lint
* fix: members stale not clearing
* fix: invite use joined_at field
* fix: lint
* fix: qa
---------
Co-authored-by: sychic <47618543+Sychic@users.noreply.github.com >
2026-07-24 13:06:38 +00:00
aecsocket
1dee87c06f
Merge branch 'main' into boris/search-index-fix
2026-07-24 12:25:48 +01:00
Michael H.
508b96c27f
chore: skip neverbounce for oauth
2026-07-24 02:15:16 +02:00
Sychic
95f97a44ec
feat(labrinth): shared instances moderation ( #6784 )
...
* feat(labrinth): shared instance report type
* style(labrinth): cargo fmt
* feat(labrinth): check that instance exists when reporting
* style(labrinth): cleanup unused import
* feat(labrinth): store version id for shared instance reports
* style(labrinth): satisfy clippy
* fix(labrinth): use string id instead of int
2026-07-23 20:20:25 +00:00
François-Xavier Talbot
b4d681e713
feat(labrinth): Redis Cluster ( #6771 )
...
* chore(labrinth): bump to redis 1.4.1
* feat(labrinth): redis cluster
* chore: cleanup
* feat(labrinth): cache locking
* fix(labrinth): clippy
* chore(labrinth): cleanup env, remove postcard support
* chore(ci): fix test env for labrinth
* chore(labrinth): bump all key versions
* chore(labrinth): improve redis key identities handling
* chore(labrinth): simplify deadline handling
* chore(labrinth): remove unused lease tracking
* chore(labrinth): remove distributed cache locking for now
* chore(labrinth): improve redis backend init error
* feat(labrinth): expose redis read replica strategy
* chore(ci): remove other connection mode tests
* chore: split xredis crate
* feat(xredis): primaries routing
* chore: tombi fmt
* chore: clippy
* chore: update query cache
2026-07-23 11:35:02 +02:00
François-Xavier Talbot
96e2d95d02
feat(labrinth): route to update subscriptions for archon ( #6811 )
...
* feat(labrinth): add /_internal/billing/subscriptions/manager/update_many
* chore: fixes
* chore: clippy
* chore: fixes
2026-07-22 16:18:08 +00:00
aecsocket
d04a753443
more AST normalization
2026-07-22 16:00:32 +01:00
aecsocket
07fd4fae5f
fix: make Redis key TTL variable ( #6821 )
2026-07-22 14:43:39 +00:00
aecsocket
ba0914319d
Merge branch 'main' into boris/search-index-fix
2026-07-22 15:05:32 +01:00
aecsocket
d7a72fcf46
doc comment
2026-07-22 15:05:01 +01:00
aecsocket
00b9bafe9d
wip: search filter AST
2026-07-22 14:53:46 +01:00
aecsocket
ee2ad5f05b
feat: block disposable email addresses ( #6783 )
...
* feat: block disposable email addresses
* fix typos
* remove test
2026-07-20 17:57:36 +00:00
aecsocket
f482e11401
put categories into the project doc
2026-07-20 18:47:36 +01:00
aecsocket
2d089a7526
query perf
2026-07-20 18:35:08 +01:00
Michael H.
e52ae416a8
feat: email blacklist ( #6779 )
...
* feat: email blacklist
* feat: wildcard support
2026-07-20 14:02:55 +02:00
François-Xavier Talbot
6319832465
feat: email bounce check ( #6774 )
...
* feat: neverbounce API client
* feat(labrinth): integrate neverbounce
* chore: tombi
* chore: typo
* chore: clippy
* chore: remove unused dep
* chore: cleanup
2026-07-20 10:58:46 +02:00
François-Xavier Talbot
7144f08f0f
feat: require verified email to publish, to prevent spam ( #6777 )
...
* feat: require verified email to create projects, collections and organizations
* fix(labrinth): fix tests
* chore: fmt
* chore: intl
2026-07-20 02:51:16 +00:00
François-Xavier Talbot
c579925f03
feat: honeypot signup field ( #6776 )
...
feat: account consent
2026-07-19 21:54:23 +00:00
François-Xavier Talbot
6b569e4ee4
redis compression ( #6769 )
...
* feat(labrinth): encode/decode redis values with postcard, add version in namespaces
* chore(labrinth): split cache ex special cases without version
* chore(labrinth): simplify get_many
* fix: tombi
* feat(labrinth): compression support
* chore(labrinth): cleanup redis ser/de
* fix(labrinth): use get_deserialized in tests
2026-07-19 01:25:00 +02:00
François-Xavier Talbot
6b62e3b480
fix(labrinth): register debug routes ( #6766 )
2026-07-19 01:24:52 +02:00
Sychic
543cb42210
remove(labrinth): old shared instances impl ( #6760 )
2026-07-17 19:27:38 +00:00
aecsocket and Prospector
86c6fb8239
fix: global trace and tech review improvements ( #6699 )
...
* remaining globally safe/unsafe buttons
* tweak global traces layout
* deterministic local trace ordering
* fix preview
* ignore severity for ordering
* show globally resolved traces toggle
* minor frontend changes
* prepr
---------
Co-authored-by: Prospector <6166773+Prospector@users.noreply.github.com >
2026-07-17 15:08:59 +00:00
aecsocket
bb1fb6f86f
factor out filter rewriting
2026-07-17 14:27:33 +01:00
aecsocket
587c4054c8
fix compile
2026-07-17 14:06:07 +01:00
aecsocket
7cca619315
Merge branch 'main' into boris/search-index-fix
2026-07-17 13:44:19 +01:00
aecsocket
b0559153ad
cleanup pass
2026-07-17 13:42:02 +01:00
aecsocket
5b5c96cf78
standardise fn names
2026-07-17 13:00:39 +01:00
aecsocket
7a54515f63
cleanup pass 2
2026-07-17 12:38:22 +01:00
aecsocket
14ba540203
cleanup pass
2026-07-17 12:22:12 +01:00
aecsocket
60cf5cb147
clean up SearchBackend interface
2026-07-15 20:31:08 +01:00
aecsocket
dad5970e8d
fix: attribution list route permissions ( #6731 )
...
* fix: attribution list route permissions
* proper auth
2026-07-15 14:38:08 +00:00
aecsocket
c389c24c50
Merge branch 'main' into boris/search-index-fix
2026-07-15 14:49:02 +01:00
aecsocket
77deb033f7
wip: projects/versions collections
2026-07-15 13:49:33 +01:00
aecsocket
818a9db9f7
fix: add more logging to index-billing task ( #6708 )
...
* more logging to index billing
* schema update
2026-07-14 07:52:50 +00:00
Robin
31ef22767e
feat: add norisk client source support ( #6707 )
...
Signed-off-by: Robin <me@orb1n.dev >
2026-07-13 15:25:51 -07:00
François-Xavier Talbot
9e1e8788e2
feat(labrinth): return tax amount in user subscription listing ( #6496 )
...
* feat(labrinth): include next charge's tax amount
* chore(api-client): add next_charge_tax_amount
* fix
2026-07-13 17:06:22 +00:00
penguinencounter and aecsocket
7c4df7442b
fix(labrinth): fix filtering not working unless breakdown set to same field ( #6608 )
...
* fix(labrinth): return columns used in filters
fixes modrinth/code#6607
* chore(labrinth): sqlx query data update
* don't implicitly breakdown when filtering by a metric
* fix docs
---------
Co-authored-by: aecsocket <43144841+aecsocket@users.noreply.github.com >
2026-07-12 11:31:56 +02:00
aecsocket
e1556a8ee3
fix: attribution scanning details ( #6651 )
...
* key override file sources on file path, allow deleting groups
* dont scan modrinth files
* delete attr group button
* return what override files already exist on platform
* intl:extract
* uppercase queries
* fix dupe migration key
2026-07-12 09:04:54 +00:00
aecsocket
61990b0599
fix test
2026-07-10 13:44:47 +01:00
aecsocket
5ddae38014
batch by document and dedup loaders
2026-07-10 13:26:08 +01:00
aecsocket
ca1899be92
Merge branch 'main' into boris/search-index-fix
2026-07-10 13:16:51 +01:00
aecsocket
e877167db7
feat: global trace database frontend + improvements to tech review status sync ( #6671 )
...
* wip
* ui edits
* better logic for syncing tech review state in a single centralized place
* never automatically finish a tech review report
* fix css
* fix clippy
* prepr
2026-07-09 16:09:02 +00:00
aecsocket
95ddb489a7
fix clippy
2026-07-09 14:09:04 +01:00
aecsocket
11978fd479
fix
2026-07-09 13:31:52 +01:00
aecsocket
9e22e88d3f
Merge branch 'main' into boris/search-index-fix
2026-07-09 13:27:27 +01:00
aecsocket
a27a4828ef
don't facet by project id
2026-07-09 13:26:17 +01:00
Sychic
5f8837604d
feat(labrinth): shared instance icon ( #6665 )
2026-07-08 22:45:15 +00:00