Prospector
ffd864a9e2
fix moderation collapsibles & do a consistency pass ( #7330 )
...
* fix moderation collapsibles & do a consistency pass
* extract tech review sources
* improve buttons
* buttn
* improve markdown styling
* fix nested details
* save filters + fix reports reloading
* prepr
2026-08-27 18:46:13 +00:00
Michael H.
e0cd019869
chore: get rid of debug logs on prod
2026-08-27 13:44:29 +02:00
Calum H. and Prospector
c67f980c4a
refactor: StyledInput refactor -> Input components ( #6733 )
...
* feat: align style
* feat: new input components
* refactor: migrate to new input components
* refactor: rename component
* prepr
* chore: group inputs like buttons
* fix: lint
* feat: docs
* fix: lint
* fix: bugs
* prepr
* fix slug + adjust create server project
---------
Co-authored-by: Prospector <6166773+Prospector@users.noreply.github.com >
2026-08-25 06:15:38 +00:00
Calum H.
8d7e491126
fix: combobox behind advanced filters panel ( #7281 )
2026-08-24 16:45:14 +00:00
755825b09a
project disclosures frontend ( #6955 )
...
* begin project disclosures
* new project settings header
* begin disclosure settings, edit content rules
* togglecards
* update phrasing of the rules, prepr
* more disclosure settings structuring
* add functionality toggle
* implement functionality with staging api
* improve project settings head titles
* feat(labrinth): project disclosures model
* feat(labrinth): project disclosures database model
* feat(labrinth): project disclosures get endpoint
* feat(labrinth): censor user ids if set by moderator
* feat(labrinth): wrap disclosures in struct
* feat(labrinth): edit project disclosures endpoint
* style(labrinth): cargo fmt
* style(labrinth): fix typo
* feat(labrinth): add fields for ai content disclosure
* fix(labrinth): field typo
* chore(labrinth): update query cache
* feat(labrinth): index disclosures in search
* refactor(labrinth): use enum instead of bools
* feat(labrinth): trigger incremental index on disclosure change
* feat(labrinth): change archived status to disclosure
* feat(labrinth): use disclosure for archival status
* fix(labrinth): error type for deserialization
* fix(labrinth): migration timestamp
* fix(labrinth): add disclosures to elasticsearch schema
* disclosures in search
* update photosensitivity warning copy
* update archiving, move general project settings to v3 (start redesign there), use project id lookups for stable cache keys, advanced in server search
* blue archive banner
* display AI use types
* improve labels
* add modrinth to link
* add placeholder missing disclosure report type
* add AI metadata checking to block image uploads with notice
* update copy
* update section 4 of rules
* Update rule 6 layout
* fix(labrinth): don't remove archival disclosure when changing status via v3 api
* feat(labrinth): derive str for ai usages and telemtry consent
* feat(labrinth): include ai usages and telemetry consent in disclosure types
* Update moderation checklist (#7056 )
* fix: missing delphi severity (#7054 )
* Utils nav, new disclosures stage, ai button in rules
* add prefix to collect
* Finish up new disclosures stage
* update r4 messages
* new r4 msg, update showcase clarity message
* fix: version upload failing to detect mrpack loader (#7063 )
* fix: mrpack exporting with zip64 (#7064 )
* fix: action bar max width (#7048 )
* fix: action bar max width
* fix: width
* changelog
* Rule placeholders with subsections & anchors, update messages.
* update new messages to account for new rule and placeholder layout
* Add nag for content disclosures
---------
Co-authored-by: ThatGravyBoat <gravy@thatgravyboat.tech >
Co-authored-by: chyzman <chyzalt@gmail.com >
Co-authored-by: Truman Gao <106889354+tdgao@users.noreply.github.com >
Co-authored-by: Prospector <6166773+Prospector@users.noreply.github.com >
* prepr
* refactor(labrinth): move disclosure parsing to document creation
* fix(labrinth): prevent removing moderator added archival disclosures
* fix(labrinth): dedupe ai usages
* fix(labrinth): auth logic on archived disclosure removal
* feat(labrinth): add interactions field
* style(labrinth): cargo fmt
* feat(labrinth): granular disclosure locking
* add 5.8, move 5.9, update messages and placeholders accordingly.
* move disclosures stage earlier
* include consent model info in telemetry disclosure msgs
* prepr + update date
* typo
* qa pass
* search suboptions
* add empty state
* checkboxes in column
* persistent advanced filters
* blog draft
* prepr
* support soft deletion
* reload instead of optimistically updating
* update blog
* TOS update + minor verbiage adjustment
* 45 day grace
---------
Co-authored-by: sychic <47618543+Sychic@users.noreply.github.com >
Co-authored-by: coolbot <76798835+coolbot100s@users.noreply.github.com >
Co-authored-by: ThatGravyBoat <gravy@thatgravyboat.tech >
Co-authored-by: chyzman <chyzalt@gmail.com >
Co-authored-by: Truman Gao <106889354+tdgao@users.noreply.github.com >
2026-08-13 09:01:18 -07:00
Calum H. and Prospector
bb2193b6f5
refactor: Button components ( #6929 )
...
* feat: refactor button components
* fix: qa
* fix: storybook
* a11y: pass
* fix: build
* fix: rename default ->md
* fix: lint
* docs: buttons.md
* refactor part 1
* refactor part 2
* fix: undo refactor for fresh restart
* refactor
* Revert "refactor"
This reverts commit 96d65902d7 .
* refactor: part 1
* fix: qa
* fix: qa
* fix: qa
* fix: qa
* fix: qa
* fix: qa
* fix: qa
* fix: qa
* fix: remove text-contrast
* fix: qa
* fix: v-tooltip
* fix: lint
* fix: split broken
* fix: passkey qa
* fix: qa
* fix: qa
* fix: prepr
* fix: splitbutton
* improve button group seam
---------
Signed-off-by: Calum H. <calum@modrinth.com >
Co-authored-by: Prospector <6166773+Prospector@users.noreply.github.com >
2026-08-04 13:54:04 -07:00
ThatGravyBoat
fe69e04785
feat: moderation settings ( #6895 )
...
* feat: moderation settings
* chore: move moderation specific feature flag to settings
* feat: force open collapsed regions if opened in new tab
* chore: remove unused field
* chore: run prepr
2026-07-28 19:38:56 +00:00
Calum H.
82348fe40a
qa: shared instances post release ( #6893 )
...
* fix: 20 user cap
* qa: invite modal dropdown + other + clamp limits
* fix: hide filters if just one type
* feat: update req banner
* feat: invite management frontend
* fix: moderation issues with shared instances
* feat: instance icon improvements
* fix: better offline handling
* fix: lint
* feat: show avatar in install to play modal
* feat: smaller qa points
* fix: fmt
* fix: fmt
* fix: yeet svg
* fix: 50 user limit
2026-07-28 14:10:12 +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
ThatGravyBoat
8680e61883
chore: misc moderation changes ( #6690 )
...
* fix: tech card not updating project status correctly
* feat: pull out quick actions into buttons for reports
* fix: reports duplicating in the reports queue
* feat: allow for moderation keybinds to be rebindable
* run prepr
2026-07-10 20:25:39 +00:00
ThatGravyBoat and Prospector
707e219ff8
feat: use multi select for moderation reports ( #6312 )
...
Co-authored-by: Prospector <6166773+Prospector@users.noreply.github.com >
2026-06-05 14:55:05 +00:00
ThatGravyBoat
64b61d8fd0
chore: misc moderation changes ( #6296 )
...
* feat: report filter by target, issue type, project type
* fix: reply modal showing up for staff
* chore: change minimum class source from 10 to 2
2026-06-03 13:14:17 +00:00
Blodhgarm and Prospector
4ddb5640cf
fix: reports not reporting all possible reports ( #5933 )
...
* Fix Reports page only giving 695 reports due to Labrinth Issue
Basically, for some reason, Labrinth returns 5 less depending on the amount requested and the offset position, leading to the end of all reports, even if it's not correct.
Signed-off-by: Blodhgarm <timekeeperguild@gmail.com >
* remove constant condition
---------
Signed-off-by: Blodhgarm <timekeeperguild@gmail.com >
Co-authored-by: Prospector <6166773+Prospector@users.noreply.github.com >
2026-05-01 00:00:14 +00:00
Calum H.
37eac92329
refactor: migrate all input fields to StyledInput ( #5306 )
...
* feat: StyledInput component
* migrate: auth pages to styledInput
* migrate: search/filter inputs
* migrate: dashboard inputs
* migrate: app frontend
* migrate: search related inputs
* migrate: all of app-frontend
* fix: missing inputs on app-frontend
* migrate: frontend
* feat: multiline
* migrate: textareas
* fix: storybook use text-primary
* fix: lint
* fix: merge conflict
* feat: cleanup
2026-02-09 14:57:31 +00:00
6d68d50699
Deduplicate common strings in translation ( #5085 )
...
* deduplicate common strings, part 1
* deduplicate common strings, part 2
* typo and general import mess fixes
* detail common string
* fix lint
* fix lint TWO
* adress review concerns + lint
* app lint too
* actually leave privateLabel untouched
* lint fix THREE
* fix: broken msg
* fix: lint
---------
Co-authored-by: Calum H. <contact@cal.engineer >
Co-authored-by: Prospector <6166773+Prospector@users.noreply.github.com >
2026-01-28 18:10:50 +00:00
Calum H. and Prospector
a869086ce9
polish(frontend): technical review QA ( #5097 )
...
* feat: filtering + sorting alignment
* polish: malicious summary modal changes
* feat: better filter row using floating panel
* fix: re-enable request
* fix: lint
* polish: jump back to files tab qol
* feat: scroll to top of next card when done
* fix: show lock icon on preview msg
* feat: download no _blank
* feat: show also marked in notif
* feat: auto expand if only one class in the file
* feat: proper page titles
* fix: text-contrast typo
* fix: lint
* feat: QA changes
* feat: individual report page + more qa
* fix: back btn
* fix: broken import
* feat: quick reply msgs
* fix: in other queue filter
* fix: caching threads wrongly
* fix: flag filter
* feat: toggle enabled by default
* fix: dont make btns opacity 50
---------
Co-authored-by: Prospector <6166773+Prospector@users.noreply.github.com >
2026-01-20 19:56:24 +00:00
Prospector and Calum H.
1bbb01bd42
devex: migrate to vue-i18n ( #4966 )
...
* sample languages refactor
* feat: consistency + dedupe impl of i18n
* fix: broken imports
* fix: intl formatted component
* fix: use relative imports
* fix: imports
* fix: comment out incomplete locales + fix imports
* feat: cleanup
* fix: ui imports
* fix: lint
* fix: admonition import
* make footer a component, fix language reactivity
* make copyright notice untranslatable
---------
Co-authored-by: Calum H. <contact@cal.engineer >
2025-12-27 21:37:37 +00:00
39f2b0ecb6
Technical review queue ( #4775 )
...
* chore: fix typo in status message
* feat(labrinth): overhaul malware scanner report storage and routes
* chore: address some review comments
* feat: add Delphi to Docker Compose `with-delphi` profile
* chore: fix unused import Clippy lint
* feat(labrinth/delphi): use PAT token authorization with project read scopes
* chore: expose file IDs in version queries
* fix: accept null decompiled source payloads from Delphi
* tweak(labrinth): expose base62 file IDs more consistently for Delphi
* feat(labrinth/delphi): support new Delphi report severity field
* chore(labrinth): run `cargo sqlx prepare` to fix Docker build errors
* tweak: add route for fetching Delphi issue type schema, abstract Labrinth away from issue types
* chore: run `cargo sqlx prepare`
* chore: fix typo on frontend generated state file message
* feat: update to use new Delphi issue schema
* wip: tech review endpoints
* wip: add ToSchema for dependent types
* wip: report issues return
* wip
* wip: returning more data
* wip
* Fix up db query
* Delphi configuration to talk to Labrinth
* Get Delphi working with Labrinth
* Add Delphi dummy fixture
* Better Delphi logging
* Improve utoipa for tech review routes
* Add more sorting options for tech review queue
* Oops join
* New routes for fetching issues and reports
* Fix which kind of ID is returned in tech review endpoints
* Deduplicate tech review report rows
* Reduce info sent for projects
* Fetch more thread info
* Address PR comments
* fix ci
* fix postgres version mismatch
* fix version creation
* Implement routes
* fix up tech review
* Allow adding a moderation comment to Delphi rejections
* fix up rebase
* exclude rejected projects from tech review
* add status change msg to tech review thread
* cargo sqlx prepare
* also ignore withheld projects
* More filtering on issue search
* wip: report routes
* Fix up for build
* cargo sqlx prepare
* fix thread message privacy
* New tech review search route
* submit route
* details have statuses now
* add default to drid status
* dedup issue details
* fix sqlx query on empty files
* fixes
* Dedupe issue detail statuses and message on entering tech rev
* Fix qa issues
* Fix qa issues
* fix review comments
* typos
* fix ci
* feat: tech review frontend (#4781 )
* chore: fix typo in status message
* feat(labrinth): overhaul malware scanner report storage and routes
* chore: address some review comments
* feat: add Delphi to Docker Compose `with-delphi` profile
* chore: fix unused import Clippy lint
* feat(labrinth/delphi): use PAT token authorization with project read scopes
* chore: expose file IDs in version queries
* fix: accept null decompiled source payloads from Delphi
* tweak(labrinth): expose base62 file IDs more consistently for Delphi
* feat(labrinth/delphi): support new Delphi report severity field
* chore(labrinth): run `cargo sqlx prepare` to fix Docker build errors
* tweak: add route for fetching Delphi issue type schema, abstract Labrinth away from issue types
* chore: run `cargo sqlx prepare`
* chore: fix typo on frontend generated state file message
* feat: update to use new Delphi issue schema
* wip: tech review endpoints
* wip: add ToSchema for dependent types
* wip: report issues return
* wip
* wip: returning more data
* wip
* Fix up db query
* Delphi configuration to talk to Labrinth
* Get Delphi working with Labrinth
* Add Delphi dummy fixture
* Better Delphi logging
* Improve utoipa for tech review routes
* Add more sorting options for tech review queue
* Oops join
* New routes for fetching issues and reports
* Fix which kind of ID is returned in tech review endpoints
* Deduplicate tech review report rows
* Reduce info sent for projects
* Fetch more thread info
* Address PR comments
* fix ci
* fix ci
* fix postgres version mismatch
* fix version creation
* Implement routes
* feat: batch scan alert
* feat: layout
* feat: introduce surface variables
* fix: theme selector
* feat: rough draft of tech review card
* feat: tab switcher
* feat: batch scan btn
* feat: api-client module for tech review
* draft: impl
* feat: auto icons
* fix: layout issues
* feat: fixes to code blocks + flag labels
* feat: temp remove mock data
* fix: search sort types
* fix: intl & lint
* chore: re-enable mock data
* fix: flag badges + auto open first issue in file tab
* feat: update for new routes
* fix: more qa issues
* feat: lazy load sources
* fix: re-enable auth middleware
* feat: impl threads
* fix: lint & severity
* feat: download btn + switch to using NavTabs with new local mode option
* feat: re-add toplevel btns
* feat: reports page consistency
* fix: consistency on project queue
* fix: icons + sizing
* fix: colors and gaps
* fix: impl endpoints
* feat: load all flags on file tab
* feat: thread generics changes
* feat: more qa
* feat: fix collapse
* fix: qa
* feat: msg modal
* fix: ISO import
* feat: qa fixes
* fix: empty state basic
* fix: collapsible region
* fix: collapse thread by default
* feat: rough draft of new process/flow
* fix labrinth build
* fix thread message privacy
* New tech review search route
* feat: qa fixes
* feat: QA changes
* fix: verdict on detail not whole issue
* fix: lint + intl
* fix: lint
* fix: thread message for tech rev verdict
* feat: use anim frames
* fix: exports + typecheck
* polish: qa changes
* feat: qa
* feat: qa polish
* feat: fix malic modal
* fix: lint
* fix: qa + lint
* fix: pagination
* fix: lint
* fix: qa
* intl extract
* fix ci
---------
Signed-off-by: Calum H. <contact@cal.engineer >
Co-authored-by: Alejandro González <me@alegon.dev >
Co-authored-by: aecsocket <aecsocket@tutanota.com >
---------
Signed-off-by: Calum H. <contact@cal.engineer >
Co-authored-by: Alejandro González <me@alegon.dev >
Co-authored-by: Calum H. <contact@cal.engineer >
2025-12-20 11:43:04 +00:00
Cal H.
2aabcf36ee
refactor: migrate to common eslint+prettier configs ( #4168 )
...
* refactor: migrate to common eslint+prettier configs
* fix: prettier frontend
* feat: config changes
* fix: lint issues
* fix: lint
* fix: type imports
* fix: cyclical import issue
* fix: lockfile
* fix: missing dep
* fix: switch to tabs
* fix: continue switch to tabs
* fix: rustfmt parity
* fix: moderation lint issue
* fix: lint issues
* fix: ui intl
* fix: lint issues
* Revert "fix: rustfmt parity"
This reverts commit cb99d2376c .
* feat: revert last rs
2025-08-14 20:48:38 +00:00
IMB11
17c9e4a721
revert: dont use local storage for filters ( #4129 )
2025-08-08 21:30:39 +00:00
IMB11 and coolbot100s
6387fb21c6
feat: Moderation Dashboard Overhaul ( #4059 )
...
* feat: Moderation Dashboard Overhaul
* fix: lint issues
* fix: issues
* fix: report layout
* fix: lint
* fix: impl quick replies
* fix: remove test qr
* feat: individual report page + use new backend
* feat: memoize filtering
* feat: apply optimizations to moderation queue
* fix: lint issues
* feat: impl quick reply functionality
* fix: top level await
* fix: dep issue
* fix: dep issue x2
* fix: dep issue
* feat: intl extract
* fix: dev-187
* fix: dev-186 & review project btn
* fix: dev-176
* remove redundant moderation button from user dropdown
* correct a msg and add admin to read filter
---------
Co-authored-by: coolbot100s <76798835+coolbot100s@users.noreply.github.com >
2025-07-29 21:19:25 +00:00