* 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>
* initial elasticsearch impl
* working elastic cluster
* replace SearchError with ApiError for preparation of search backend
* start factoring meili out to trait
* move meili to backend
* update routes to use search backend trait
* wip
* Update projects.rs
* search backend is only init'd once in config
* wip
* wip: backend agnostic
* change search internal routes to delegate to backend
* initial elasticsearch impl
* fix filtering
* elastic impl
* refactor indexing into its own module
* clean up elastic code
* fix ci
* fix tests
* fix elastic health check
* fix up env rebase
* fix compile
* dummy commit to update github pr
* Fix rebase
* Elastic basic https auth
* Fix duplicate projects showing up
* Fix up tests
* Replace search `ApiErrors` with `eyre::Reports`, propagate background task errors
* clean up agents files
* make index chunk size configurable
* make `match_phrase` in elastic case-insensitive
* use current/next indices and swap between them
* test case for error body
* Fix failing case
* da merge
* factor out common stuff from search backends
* allow fetching hit metadata from search results
* allow customising elasticsearch search config
* bit of docs
* add mappings to indices for elastic
* Implement Typesense
* wip
* fix up some sort fields stuff
* use different approach to filterable field sets
* remove a bunch of search fields which weren't used for filtering
* bucket text matches
* Bucketing by text_match for typesense
* fix tombi lint
* fix some sentry errors and dont prioritise 2+ term matches
* tweak ts query settings
* expose some more search settings
* query sort changes
* small fixes
* should fix pagination stuff
* fix healthcheck maybe
* ragebait ci
* tests
* tests
* revert environment
* Slack webhook for payout alerts
* add PAYOUT_ALERT_SLACK_WEBHOOK to check_env_vars
* Fix commit
* Fix webhook format
* Add new env vars in .env.local
* Rename env vars, fire webhook on error
* Fix compilation
* Clippy
* Fix CI
* Add env vars to .env.docker-compose
Fixes#1485
Also fixes an issue where email_verified was being set to true regardless of whether the oauth provider provides an email (thus indicating that a null email is verified)
* Update some Labrinth dependencies
* Update some Labrinth dependencies
* Update some Labrinth dependencies
* Update zip in Labrinth
* Update itertools in Labrinth
* Update validator in labrinth
* Update thiserror in labrinth
* Update rust_decimal, redis, and deadpool-redis in labrinth
* Update totp-rs and spdx in labrinth
* Update maxminddb and tar in labrinth
* Update sentry and sentry-actix in labrinth
* Update image in labrinth
* Update lettre in labrinth
* Update derive-new and rust_iso3166 in labrinth
* Update async-stripe and json-patch in labrinth
* Update clap and iana-time-zone in labrinth
* Update labrinth to Rust 2024
* Cargo fmt
* Just do a full cargo update
* Update daedelus to Rust 2024
* Update daedelus_client to Rust 2024
* Set the formatting edition to 2024
* Fix formatting
IntelliJ messed up my formatting
* Fix not being able to connect to local friends socket
* Start basic work on tunneling protocol and move some code into a common crate
* Commonize message serialization logic
* Serialize Base62Ids as u64 when human-readability is not required
* Move ActiveSockets tuple into struct
* Make CI run when rust-common is updated
CI is currently broken for labrinth, however
* Fix theseus-release.yml to reference itself correctly
* Implement Labrinth side of tunneling
* Implement non-friend part of theseus tunneling
* Implement client-side except for socket loop
* Implement the socket loop
Doesn't work though. Debugging time!
* Fix config.rs
* Fix deadlock in labrinth socket handling
* Update dockerfile
* switch to workspace prepare at root level
* Wait for connection before tunneling in playground
* Move rust-common into labrinth
* Remove rust-common references from Actions
* Revert "Update dockerfile"
This reverts commit 3caad59bb4.
* Fix Docker build
* Rebuild Theseus if common code changes
* Allow multiple connections from the same user
* Fix test building
* Move FriendSocketListening and FriendSocketStoppedListening to non-panicking TODO for now
* Make message_serialization macro take varargs for binary messages
* Improve syntax of message_serialization macro
* Remove the ability to connect to a virtual socket, and disable the ability to listen on one
* Allow the app to compile without running labrinth
* Clippy fix
* Update Rust and Clippy fix again
---------
Co-authored-by: Jai A <jaiagr+gpg@pm.me>