* 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>
* Batch pending file scanning ops
* prepare
* move some stuff out of the txn
* scan concurrency
* prepr
* 🦀 automod attribution is dead, long live automod
* fix ci
* update scan file filtering
The original view used a single correlated `not exists` with an `or`,
which prevented the partial unique indexes on `attributions_exemptions`
from being used. Splitting into two `not exists` clauses lets each
anti-join use its own index instead of a full sequential scan.
* 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