* 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
* update download with modrinth app button
* feat: implement compatible version card and update download dependency buttons
* fix: download multiple files immediately triggers blocking
* refactor: implement download modal provider
* fix: duplicate dependencies and style update for dependecy section
* feat: improve loading flow when there are dependencies, to not show compatible version until all data is loaded
* fix: fallback to download compatible version if dependency lookup fails
* feat: implement selecting compatible versions when there are multiple
* fix: update dependencies version table to any compatible version
* fix: version showing before depedencies loaded
* feat: add platform options sort order
* pnpm prepr
* feat: keep previous result showing until new one loads in when change compatibility options
* feat: implement better handling for showing required/recommended resource packs with additional files
* pnpm prepr
* fix: required resource pack not showing footer actions
* fix: download with deps is downloading all files
* feat: add joined button for downloading with recommended
* feat: add admontion for dependency that has resource pack to download
* pnpm prepr
* fix: lint
* feat: append "-EXTRACT_ME.zip" to zipped project with dependencies
* fix: date published capitalization
* pnpm prepr
---------
Co-authored-by: Prospector <6166773+Prospector@users.noreply.github.com>
* global detail verdicts system
* global traces frontend
* split global routes into own mod
* tweak migration to only do no-key check at app level
* prepr
* refactor: componentize project download modal
* feat: implement new project download modal
* fix: button trigger placeholder text styles
* feat: dependency download button
* refactor: move project download modal into folder
* refactor: separate out download dependencies section
* refactor: split out download project and install with modrinth app sections
* feat+refactor: add nested dependencies route and move logic into related subcomponents
* feat: handle download project dependencies recursively and properly pass all game versions/platforms compatible on the selected version
* feat: if only dependency project is listed, find latest compatible dependency version to download in version page
* refactor: use ts and also have modal own get project/versions queries
* feat: implement opening project download modal in place in version page
* feat: implement incompatible options due to base project
* feat: auto select loader after selecting a game version, if only one loader is left compatible
* feat: add prop to stop route selection being persisted in url param
* pnpm prepr
* feat: update tooltip copy
* feat: polish some styles
* fix: fabric dependency showing when quilt is selected
* fix: tooltip hover area
* fix: when there are multiple compatible of same game version + loader, give latest
* feat: add link to version page
* feat: add truncated tooltip
* pnpm prepr
* feat: add warning icon for incompatible selection
* feat: polish loading state and tooltip
* feat: implement download all dependencies
* pnpm prepr
* fix: light theme card
* fix: additional files label
* refactor: move additional files into download dependencies section
* feat: move download all button in heading with compatible version
* fix color
* fix: dependencies not appearing when open modal second time
* fix: dependency lines when 3 nested
* feat: remove duplicated dependencies
* feat: add download count indicateor on download all button
* feat: add tooltip for downloading file with filename and size
* pnpm prepr
* feat: only show duplicate tooltip if there are duplicates
* feat: add new versions table, move environments column to be feature flag toggled, and add header/cell class props to Table.vue
* feat: implement much better table column widths
* feat: update version filter control to use multiselect
* feat: implement clicking table row to go to version
* feat: mobile pass on versions table
* feat: use multiselect for platform, and fix game version show all versions when dont exist
* pnpm prepr
* feat: replace dashboard projects table with new table
* feat: update projects so its out of card
* fix: version actions buttons column width
* feat: implement overflow on loaders cell
* update platform and version width
* feat: update project icon
* feat: change edit links to use floating action bar
* pnpm prepr
* Backend routes for choosing username in OAuth flow
* fix up oauth flow routes
* improve URL-related OAuth code
* Use user-provided callback addr instead of SELF_ADDR
* Revert "Use user-provided callback addr instead of SELF_ADDR"
This reverts commit 7ea0635d86.
* fix flow
* fix: backend response for create oauth account
* feat: new auth flow (#5840)
* update auth with new designs
* refactor: auth.js to auth.ts
* refactor: componentize auth pages
* fix: auth pages height
* feat: initial implementation of new sign-in oauth
* fix create account flow
* fix checkbox
* remove hard coded username
* implement create user validation endpoint and add more specific error responses
* feat: implement under 13 DOB guard and email/password validation route
* fix: TOCTOU issue
* refactor: pnpm prepr
* fix: make sure staging uses staging
* fix: hcaptcha styles
* fix: copy
* remove: auth/welcome page as its no longer used
* refactor: bring root page card styles into individual components and use tailwind
* fix: account settings modals to use new modal and fix lots of bad styles
* refactor: pnpm prepr
* feat: implement last signed in indicator
* fix: append number when generated name from email is taken
* refactor: pnpm prepr
* fix: last sign in badge color
* fix: qa issues
* refactor: pnpm prepr
* fix: hover effect on native date picker
* chore: temp staging undo
* Revert "chore: temp staging undo"
This reverts commit cad6bd4f92.
* feat: handle app create account
* fix: last signed in style
* fix: add initOnMounted for SSR race
* refactor: use typescript
* refactor: pnpm prepr
* refactor: use typescript for reset-password
* refactor: convert verify-email to use typescript
* refactor: convert authorize.vue to use typescript
* fix: authorize.vue error states
* feat: small style updates
* feat: implement date picker component
* feat: improve UX and styles for range select
* refactor: pnpm prepr
* fix: range select border styles
* feat: implement date picker component in create account
* feat: implement preserve date for date picker
* update rust toolchain
* increase recursion limit
* fix: date picker can be null
* fix: calculate age based on user's timezone
* fix: number input icons color
* fix: date picker icons
* feat: improve styles
* fix: add width on date
* fix: hover color bad on number input
* fix lints
* feat: add default date open view
* fmt
* fix: account.vue
* fix: remove default date to open 13 years ago
* fix: edit copy on info banner
* fix: cannot hover over project card tooltip items (#6071)
fix: cannot hover over project cards
* feat: improve add dependency flow (#6075)
* fix: shadow on nav
* feat: improve add dependency flow
* feat: update suggested dependency style
* feat: update dependency rows to use version number and update styles
* feat: implement combobox select searched text on focus
* feat: add Tabs.vue
* feat: update nav tabs to use tabs
* feat: improve project search dropdown
* fix: dependency search not clearing inbound query
* fix: combobox no options open state bug
* feat: improve dependency project and version search
* fix: open modrinth project links in the app (#6072)
* pin tanstack versions + set pnpm min age to 7 days
* squash commits
* fix: 2 factor auth enter code screen styles
* update copy
* update copy
* improve reset password
* feat: update sign in screen
* fix: unused import
* Merge branch 'main' into boris/dev-908-backend-changes
* Revert "Merge branch 'main' into boris/dev-908-backend-changes"
This reverts commit b9b03796e3.
* fix: add stroke
* feat: add passkey support (#6375)
* feat: add passkey backend
* feat: passkey frontend
* invalidate sessions on compromised passkey
* chore: run sqlx prepare
* fix: make passkey button use both collumns to prevent empty space
* fix: correctly verify max passkeys in finish route
* fix: use structs for response
* fix: add rp name default
* style: use web::Json
* fmt
* feat: improve manage passkeys UI
* fix copy
* pnpm prepr
---------
Co-authored-by: tdgao <mr.trumgao@gmail.com>
Co-authored-by: Truman Gao <106889354+tdgao@users.noreply.github.com>
Co-authored-by: Michael H. <michael@iptables.sh>
Co-authored-by: Calum H. (IMB11) <contact@cal.engineer>
Co-authored-by: Calum H. <calum@modrinth.com>
Co-authored-by: Prospector <6166773+Prospector@users.noreply.github.com>
Co-authored-by: DeDiamondPro <67508414+DeDiamondPro@users.noreply.github.com>
* Begin external projects moderator database frontend
* add copy link button
* begin project page permissions settings
* MEL database backend routes
* include filename in external files
* wip: when uploading a version file, fetch its overrides as a list
* wip: override license checks
* improve FileHost ref counting
* file host read capability
* scan files when inserting version file
* add dependency sha1 field
* clean up version files
* wip: attributions
* update s3 file host
* attribution scanning basic works
* works
* insert attribution info after resolving
* add routes
* remove dep sha1 stuff
* prepr
* wip: override file sources
* add files_missing_attributions to versions
* return extended version info + attributed at/by
* hook up frontend to backend (mostly)
* expose version date published
* withholding version visibility
* frontend work
* prepr
* use api-client for img upload
* moar frontend
* prepr
* Add schema to attribution resolution and Flame project results
* sqlx prepare
* changes
* remove feature flag, fix optional proof images
* fix schema
* fmt
* fix deletion and file fetch
* prepare
* fix admonition
* update frontend stuff to new schema
* prepr
* attribution on dependencies
* fixes
* sqlx prepare
* fixes
* routes
* fix routes
* Version grandfathering
* prepare
* wip: bulk routes
* pushing what i've got rn
* include link in NoPermission
* change hash insert to bulk route
* query flame even if entry in MEL
* delete file with weird name
* Prioritise putting override files in existing groups even with ExternalLicense
* fix how hex bytes are handled in route
* feat: coolbot moderation changes (#6215)
* Update moderator checklist
* move permissions stage order
* Updated nagContext.versions to v3, added nag for permissions
* Update permissions.vue default messages
* prepr
---------
Co-authored-by: coolbot100s <76798835+coolbot100s@users.noreply.github.com>
* QA
* prepr
* should group by project
* return attribution resolution correctly
* updated by moderator info
* Track what moderator reviewed an attribution moderation status
* default deser FMA field
* new version page
* clean up fetching + add a couple missing features
* qa items
* prepr
* provide moderation package stuff with DI
* format?
* don't redact moderated_at
* move supplementary resources
* Reorganize moderation messages.
* Quick replies for external content permissions.
* prepare
* QA
* allow exempting projects
* Ignore Flame projects which 404
* fix ci
* fix cross project attribution stuff
* Fix permission error
* change what files get cscanned
* add more logging
* QA Jun 22
* fix
* idempotency
* Expose route for rescanning
* update blog link
---------
Co-authored-by: aecsocket <aecsocket@tutanota.com>
Co-authored-by: coolbot100s <76798835+coolbot100s@users.noreply.github.com>
Co-authored-by: aecsocket <43144841+aecsocket@users.noreply.github.com>
* feat: implement dependent project breakdown
* implement dependent project type filter
* feat: show dependent on column if there are multiple projects selected
* feat: different tooltip for when both project version and dependent breakdowns are on
* feat: implement dependents query filter
* feat: add project icon to query filter
* fix: dont show dependent on column when project breakdown is selected
* feat: add org icon
* remove: dependent on project column and project version project column
* refactor: pnpm prepr
* fix: all project selection gets unselected when reload page
* pnpm prepr
* fix: still using old search formatter
* feat: implement projects in table click to link to project page
* feat: handle analytics values that dont have a dependent project as a "No dependent" row
* pnpm prepr
* feat: remove org icon for dependents projects and change unknown label
* feat: do not include unknown rows for showing top 8
* feat: separate out no dependents based on download reason
* fix: use compatible dependencies for query filter options
* feat: implement members breakdown/filter frontend (#6470)
* feat: add link to user in table
* fix: do not allow breakdowns to occur without shared stats
* pnpm prepr
* fix: i18n and passing params for formatter
* fix: analytics events page not in admin dropdown
* pnpm prepr
* fix: add clearing date picker
* fix: date picker positioning not using rendered height
* feat: add button to view user analytics
* feat: add "Your projects" preset selection
* feat: fix revenue rounding for values under 1 and show full values for all statcards with tooltip
* fix: sum rounded value instead of raw value for tooltip total if it's under 1
* fix: show decimal in playtime statcard if under 1 hrs
* feat: disable playtime statcard for purely plugin projects
* refactor: pnpm prepr