Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
170 commits
Select commit Hold shift + click to select a range
c8a586c
Backend routes for choosing username in OAuth flow
aecsocket Apr 12, 2026
64f8755
fix up oauth flow routes
aecsocket Apr 13, 2026
fe3aba5
improve URL-related OAuth code
aecsocket Apr 14, 2026
7ea0635
Use user-provided callback addr instead of SELF_ADDR
aecsocket Apr 14, 2026
7484afa
Revert "Use user-provided callback addr instead of SELF_ADDR"
aecsocket Apr 14, 2026
66f3c39
fix flow
aecsocket Apr 14, 2026
57b4f21
fix: backend response for create oauth account
tdgao Apr 17, 2026
c54906e
Merge branch 'main' into boris/dev-908-backend-changes
tdgao Apr 17, 2026
c19ce11
feat: new auth flow (#5840)
tdgao Apr 22, 2026
bdc2b4a
Merge branch 'main' into boris/dev-908-backend-changes
tdgao Apr 22, 2026
52a972d
refactor: pnpm prepr
tdgao Apr 22, 2026
aac61dc
fix: make sure staging uses staging
clrxbl Apr 24, 2026
547921b
fix: hcaptcha styles
tdgao Apr 24, 2026
ed53fe5
fix: copy
tdgao Apr 24, 2026
3bfe670
remove: auth/welcome page as its no longer used
tdgao Apr 24, 2026
042dde0
refactor: bring root page card styles into individual components and …
tdgao Apr 24, 2026
71c1deb
fix: account settings modals to use new modal and fix lots of bad styles
tdgao Apr 24, 2026
c99564f
refactor: pnpm prepr
tdgao Apr 24, 2026
f1ce310
feat: implement last signed in indicator
tdgao Apr 24, 2026
8946e4c
fix: append number when generated name from email is taken
tdgao Apr 24, 2026
4183702
refactor: pnpm prepr
tdgao Apr 24, 2026
fcab720
fix: last sign in badge color
tdgao Apr 24, 2026
4389315
fix: qa issues
tdgao Apr 24, 2026
abcac5f
refactor: pnpm prepr
tdgao Apr 24, 2026
65bd893
fix: hover effect on native date picker
tdgao Apr 24, 2026
cad6bd4
chore: temp staging undo
IMB11 Apr 24, 2026
3ccb813
Merge branch 'boris/dev-908-backend-changes' of https://github.com/mo…
IMB11 Apr 24, 2026
ece35f9
Revert "chore: temp staging undo"
IMB11 Apr 24, 2026
6f2e04c
feat: handle app create account
tdgao Apr 24, 2026
0a0b192
Merge branch 'boris/dev-908-backend-changes' of github.com:modrinth/c…
tdgao Apr 24, 2026
918c4a9
fix: last signed in style
tdgao Apr 24, 2026
652a9b0
fix: add initOnMounted for SSR race
tdgao Apr 24, 2026
9646083
refactor: use typescript
tdgao Apr 24, 2026
f4d6543
refactor: pnpm prepr
tdgao Apr 24, 2026
fd28721
Begin external projects moderator database frontend
Prospector Mar 28, 2026
804f6ca
add copy link button
Prospector Mar 28, 2026
2d2598b
begin project page permissions settings
Prospector Apr 3, 2026
873a12b
MEL database backend routes
aecsocket Apr 6, 2026
81abcf6
include filename in external files
aecsocket Apr 19, 2026
e1f44b8
wip: when uploading a version file, fetch its overrides as a list
aecsocket Apr 22, 2026
bc9e586
wip: override license checks
aecsocket Apr 23, 2026
8d4076f
improve FileHost ref counting
aecsocket Apr 23, 2026
d846ef7
file host read capability
aecsocket Apr 23, 2026
15f67ea
scan files when inserting version file
aecsocket Apr 23, 2026
4ce82b0
Merge branch 'main' into boris/dev-908-backend-changes
IMB11 Apr 27, 2026
3ce8f85
refactor: use typescript for reset-password
tdgao Apr 27, 2026
ec7c893
refactor: convert verify-email to use typescript
tdgao Apr 27, 2026
44da0ed
refactor: convert authorize.vue to use typescript
tdgao Apr 27, 2026
872dcbc
fix: authorize.vue error states
tdgao Apr 27, 2026
d6356ea
feat: small style updates
tdgao Apr 27, 2026
e974672
feat: implement date picker component
tdgao Apr 27, 2026
f32f732
feat: improve UX and styles for range select
tdgao Apr 27, 2026
a5be011
refactor: pnpm prepr
tdgao Apr 27, 2026
b9be6ab
fix: range select border styles
tdgao Apr 27, 2026
2aca44b
feat: implement date picker component in create account
tdgao Apr 27, 2026
62f20b9
feat: implement preserve date for date picker
tdgao Apr 27, 2026
c391fb1
update rust toolchain
aecsocket Apr 28, 2026
292b8f4
Merge branch 'main' into boris/dev-908-backend-changes
aecsocket Apr 28, 2026
c7a5336
increase recursion limit
aecsocket Apr 28, 2026
d753b87
fix: date picker can be null
tdgao Apr 30, 2026
9184de9
fix: calculate age based on user's timezone
tdgao Apr 30, 2026
5480826
fix: number input icons color
tdgao Apr 30, 2026
01a7ee8
fix: date picker icons
tdgao Apr 30, 2026
cf58559
feat: improve styles
tdgao Apr 30, 2026
d834ce3
fix: add width on date
tdgao Apr 30, 2026
ecd69f8
fix: hover color bad on number input
tdgao Apr 30, 2026
e08da23
fix lints
aecsocket Apr 30, 2026
addb6c6
feat: add default date open view
tdgao Apr 30, 2026
05a1a10
fmt
aecsocket Apr 30, 2026
796049f
Merge branch 'main' into boris/dev-886-modpack-project
aecsocket May 1, 2026
e33b1dc
add dependency sha1 field
aecsocket May 1, 2026
220733f
clean up version files
aecsocket May 2, 2026
b93f6c6
wip: attributions
aecsocket May 2, 2026
f01d149
update s3 file host
aecsocket May 2, 2026
d983f11
attribution scanning basic works
aecsocket May 2, 2026
1b26f55
works
aecsocket May 2, 2026
e30cf26
insert attribution info after resolving
aecsocket May 3, 2026
d53d5c4
Merge branch 'main' into boris/dev-886-modpack-project
aecsocket May 3, 2026
bfd5924
add routes
aecsocket May 3, 2026
a0471da
Merge remote-tracking branch 'origin/main' into boris/dev-886-modpack…
Prospector May 5, 2026
91d74e7
Merge branch 'main' into boris/dev-886-modpack-project
aecsocket May 6, 2026
84888dc
remove dep sha1 stuff
aecsocket May 6, 2026
1fdaf8e
prepr
Prospector May 7, 2026
9819611
wip: override file sources
aecsocket May 7, 2026
2ee217b
add files_missing_attributions to versions
aecsocket May 7, 2026
b6b5271
return extended version info + attributed at/by
aecsocket May 7, 2026
867aadc
hook up frontend to backend (mostly)
Prospector May 9, 2026
0d488d1
Merge remote-tracking branch 'origin/main' into boris/dev-886-modpack…
Prospector May 9, 2026
c07b7af
expose version date published
aecsocket May 9, 2026
27d54a9
Merge branch 'main' into boris/dev-908-backend-changes
tdgao May 11, 2026
63d00cb
fix: account.vue
tdgao May 11, 2026
faed8c3
fix: remove default date to open 13 years ago
tdgao May 11, 2026
ff7c0cb
fix: edit copy on info banner
tdgao May 11, 2026
d48ad87
fix: cannot hover over project card tooltip items (#6071)
tdgao May 11, 2026
0f1483d
feat: improve add dependency flow (#6075)
tdgao May 12, 2026
db9689b
fix: open modrinth project links in the app (#6072)
Prospector May 12, 2026
b566237
pin tanstack versions + set pnpm min age to 7 days
Prospector May 12, 2026
d709bbe
squash commits
aecsocket May 12, 2026
407aa4b
Merge branch 'main' into boris/dev-908-backend-changes
aecsocket May 13, 2026
7315c35
withholding version visibility
aecsocket May 14, 2026
c75e17e
frontend work
Prospector May 15, 2026
3801039
prepr
Prospector May 15, 2026
030dc2b
Merge branch 'main' into boris/dev-886-modpack-project
Prospector May 15, 2026
1f28196
use api-client for img upload
Prospector May 15, 2026
00993a3
moar frontend
Prospector May 16, 2026
3eb76da
prepr
Prospector May 16, 2026
2d3b4ab
Add schema to attribution resolution and Flame project results
aecsocket May 16, 2026
8d82bf3
sqlx prepare
aecsocket May 16, 2026
61ff32a
Merge branch 'main' into boris/dev-886-modpack-project
aecsocket May 16, 2026
cf02d15
changes
aecsocket May 16, 2026
9ae1ddc
remove feature flag, fix optional proof images
Prospector May 16, 2026
e11cd51
fix schema
aecsocket May 16, 2026
e16884a
fmt
aecsocket May 17, 2026
876a4b6
Merge branch 'main' into boris/dev-886-modpack-project
aecsocket May 19, 2026
5d7a77c
Merge branch 'main' into boris/dev-886-modpack-project
aecsocket May 19, 2026
0bfa162
fix deletion and file fetch
aecsocket May 19, 2026
6de97cc
prepare
aecsocket May 19, 2026
50eaecf
Merge remote-tracking branch 'origin/main' into boris/dev-886-modpack…
Prospector May 20, 2026
9071f7d
fix admonition
Prospector May 20, 2026
3c29a62
fix: 2 factor auth enter code screen styles
tdgao May 20, 2026
61209ac
update frontend stuff to new schema
Prospector May 20, 2026
25c63b5
prepr
Prospector May 20, 2026
549e9d5
attribution on dependencies
aecsocket May 21, 2026
611e308
fixes
aecsocket May 21, 2026
578b8df
sqlx prepare
aecsocket May 21, 2026
2fecbe9
fixes
aecsocket May 21, 2026
84bcf36
routes
aecsocket May 21, 2026
cee57ff
fix routes
aecsocket May 21, 2026
690f5c1
Version grandfathering
aecsocket May 21, 2026
145c79f
prepare
aecsocket May 21, 2026
3cd1a06
wip: bulk routes
aecsocket May 23, 2026
e8114a3
Merge remote-tracking branch 'origin/main' into boris/dev-886-modpack…
Prospector May 24, 2026
8658dbf
Merge remote-tracking branch 'origin/main' into boris/dev-886-modpack…
Prospector May 24, 2026
c8b64df
pushing what i've got rn
Prospector May 25, 2026
af2224d
include link in NoPermission
aecsocket May 25, 2026
99c77d7
change hash insert to bulk route
aecsocket May 25, 2026
8bc26f2
query flame even if entry in MEL
aecsocket May 25, 2026
ecd7781
delete file with weird name
Prospector May 25, 2026
7a420f0
Prioritise putting override files in existing groups even with Extern…
aecsocket May 27, 2026
4653b0c
fix how hex bytes are handled in route
aecsocket May 27, 2026
edb82b5
Merge branch 'main' into boris/dev-886-modpack-project
aecsocket May 27, 2026
2175be5
feat: coolbot moderation changes (#6215)
Prospector May 28, 2026
dc1c3c8
QA
Prospector May 28, 2026
78b617c
Merge remote-tracking branch 'origin/main' into boris/dev-886-modpack…
Prospector May 29, 2026
04bdbd2
prepr
Prospector May 29, 2026
888d70f
Merge branch 'main' into boris/dev-886-modpack-project
aecsocket Jun 1, 2026
e2f2fd8
should group by project
aecsocket Jun 1, 2026
cccaf1e
return attribution resolution correctly
aecsocket Jun 2, 2026
ed4d759
updated by moderator info
aecsocket Jun 2, 2026
471b67f
Track what moderator reviewed an attribution moderation status
aecsocket Jun 2, 2026
9834e86
default deser FMA field
aecsocket Jun 7, 2026
f135f12
new version page
Prospector Jun 7, 2026
a6be110
clean up fetching + add a couple missing features
Prospector Jun 7, 2026
5050da8
qa items
Prospector Jun 8, 2026
7f972c4
Merge remote-tracking branch 'origin/main' into boris/dev-886-modpack…
Prospector Jun 8, 2026
4943d71
prepr
Prospector Jun 8, 2026
5fc8171
provide moderation package stuff with DI
Prospector Jun 8, 2026
7e54d9d
format?
Prospector Jun 8, 2026
722e35f
don't redact moderated_at
aecsocket Jun 8, 2026
3970b4e
move supplementary resources
Prospector Jun 8, 2026
895e7aa
Reorganize moderation messages.
coolbot100s Jun 9, 2026
b2408ee
Quick replies for external content permissions.
coolbot100s Jun 9, 2026
408927a
Merge branch 'main' into boris/dev-908-backend-changes
tdgao Jun 10, 2026
3ae50a2
Merge branch 'main' into boris/dev-908-backend-changes
aecsocket Jun 11, 2026
2a873e4
Merge branch 'main' into boris/dev-886-modpack-project
aecsocket Jun 11, 2026
2b38ea6
prepare
aecsocket Jun 11, 2026
1a0633b
Merge branch 'main' into boris/dev-908-backend-changes
aecsocket Jun 11, 2026
cb8ab5c
Merge branch 'boris/dev-908-backend-changes' into tmp-staging-modpack…
aecsocket Jun 11, 2026
93a6001
fmt
aecsocket Jun 11, 2026
504ea24
prepare
aecsocket Jun 12, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/instructions/i18n-convert.instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,6 @@ Please follow these rules precisely:
Use existing patterns from our codebase:

- Variables/plurals: see `apps/frontend/src/pages/frog.vue`
- Rich-text link tags: see `apps/frontend/src/pages/auth/welcome.vue` and `apps/frontend/src/error.vue`
- Rich-text link tags: see `apps/frontend/src/error.vue`

When you finish, there should be no hard-coded English strings left in the template—everything comes from `formatMessage` or `<IntlFormatted>`.
160 changes: 101 additions & 59 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -35,30 +35,42 @@ ariadne = { path = "packages/ariadne" }
async-compression = { version = "0.4.32", default-features = false }
async-minecraft-ping = { path = "packages/async-minecraft-ping" }
async-recursion = "1.1.1"
async-stripe = { version = "0.41.0", default-features = false, features = [
"runtime-tokio-hyper-rustls",
] }
async-stripe = {
version = "0.41.0",
default-features = false,
features = [
"runtime-tokio-hyper-rustls",
]
}
async-trait = "0.1.89"
async-tungstenite = { version = "0.31.0", default-features = false, features = [
"futures-03-sink"
] }
async-tungstenite = {
version = "0.31.0",
default-features = false,
features = ["futures-03-sink"]
}
async-walkdir = "2.1.0"
async_zip = "0.0.18"
aws-sdk-s3 = { version = "=1.122.0", default-features = false, features = [
"default-https-client",
"rt-tokio",
"rustls",
] }
aws-sdk-s3 = {
version = "=1.122.0",
default-features = false,
features = [
"default-https-client",
"rt-tokio",
"rustls",
]
}
base64 = "0.22.1"
bitflags = "2.9.4"
bytemuck = "1.24.0"
bytes = "1.10.1"
censor = "0.3.0"
chardetng = "0.1.17"
chrono = "0.4.42"
cidre = { version = "0.15.0", default-features = false, features = [
"macos_15_0"
] }
cidre = {
version = "0.15.0",
default-features = false,
features = ["macos_15_0"]
}
clap = "4.5.48"
clickhouse = "0.14.0"
color-eyre = "0.6.5"
Expand All @@ -70,7 +82,11 @@ daedalus = { path = "packages/daedalus" }
darling = { version = "0.23" }
dashmap = "6.1.0"
data-url = "0.3.2"
deadpool-redis = { git = "https://github.com/modrinth/deadpool", rev = "db5fb00b036ecc8fe5f18853c559b745ffe47bde", version = "0.22.1" }
deadpool-redis = {
git = "https://github.com/modrinth/deadpool",
rev = "db5fb00b036ecc8fe5f18853c559b745ffe47bde",
version = "0.22.1"
}
derive_more = "2.1.1"
directories = "6.0.0"
dirs = "6.0.0"
Expand All @@ -92,12 +108,16 @@ hex = "0.4.3"
hickory-resolver = "0.25.2"
hmac = "0.12.1"
hyper = "1.7.0"
hyper-rustls = { version = "0.27.7", default-features = false, features = [
"aws-lc-rs",
"http1",
"native-tokio",
"tls12",
] }
hyper-rustls = {
version = "0.27.7",
default-features = false,
features = [
"aws-lc-rs",
"http1",
"native-tokio",
"tls12",
]
}
hyper-util = "0.1.17"
iana-time-zone = "0.1.64"
image = { version = "0.25.8", default-features = false, features = ["rayon"] }
Expand All @@ -106,17 +126,21 @@ indicatif = "0.18.0"
itertools = "0.14.0"
jemalloc_pprof = "0.8.1"
json-patch = { version = "4.1.0", default-features = false }
lettre = { version = "0.11.19", default-features = false, features = [
"aws-lc-rs",
"builder",
"hostname",
"pool",
"rustls",
"rustls-native-certs",
"smtp-transport",
"tokio1",
"tokio1-rustls",
] }
lettre = {
version = "0.11.19",
default-features = false,
features = [
"aws-lc-rs",
"builder",
"hostname",
"pool",
"rustls",
"rustls-native-certs",
"smtp-transport",
"tokio1",
"tokio1-rustls",
]
}
maxminddb = "0.26.0"
meilisearch-sdk = { version = "0.30.0", default-features = false }
modrinth-log = { path = "packages/modrinth-log" }
Expand Down Expand Up @@ -144,27 +168,35 @@ redis = "0.32.7"
regex = "1.12.2"
reqwest = { version = "0.12.24", default-features = false }
rgb = "0.8.52"
rust_decimal = { version = "1.39.0", features = [
"serde-with-float",
"serde-with-str"
] }
rust_decimal = {
version = "1.39.0",
features = ["serde-with-float", "serde-with-str"]
}
rust_iso3166 = "0.1.14"
rust-s3 = { version = "0.37.0", default-features = false, features = [
"fail-on-err",
"tags",
"tokio-rustls-tls",
] }
rust-s3 = {
version = "0.37.0",
default-features = false,
features = [
"fail-on-err",
"tags",
"tokio-rustls-tls",
]
}
rustls = "0.23.32"
rusty-money = "0.4.1"
secrecy = "0.10.3"
sentry = { version = "0.45.0", default-features = false, features = [
"backtrace",
"contexts",
"debug-images",
"panic",
"reqwest",
"rustls",
] }
sentry = {
version = "0.45.0",
default-features = false,
features = [
"backtrace",
"contexts",
"debug-images",
"panic",
"reqwest",
"rustls",
]
}
serde = "1.0.228"
serde_bytes = "0.11.19"
serde_cbor = "0.11.2"
Expand Down Expand Up @@ -192,10 +224,15 @@ tauri-plugin-http = "2.5.7"
tauri-plugin-opener = "2.5.0"
tauri-plugin-os = "2.3.1"
tauri-plugin-single-instance = "2.3.4"
tauri-plugin-updater = { git = "https://github.com/modrinth/plugins-workspace", rev = "0d30f2aa28ec668ce187d527da1c475da3c01cbc", default-features = false, features = [
"rustls-tls",
"zip",
] }
tauri-plugin-updater = {
git = "https://github.com/modrinth/plugins-workspace",
rev = "0d30f2aa28ec668ce187d527da1c475da3c01cbc",
default-features = false,
features = [
"rustls-tls",
"zip",
]
}
tauri-plugin-window-state = "2.4.0"
tempfile = "3.23.0"
theseus = { path = "packages/app-lib" }
Expand Down Expand Up @@ -228,12 +265,16 @@ winreg = "0.55.0"
woothee = "0.13.0"
yaserde = "0.12.0"
zbus = "5.11.0"
zip = { version = "6.0.0", default-features = false, features = [
"bzip2",
"deflate",
"deflate64",
"zstd",
] }
zip = {
version = "6.0.0",
default-features = false,
features = [
"bzip2",
"deflate",
"deflate64",
"zstd",
]
}
zxcvbn = "3.1.0"

[workspace.lints.clippy]
Expand Down Expand Up @@ -269,6 +310,7 @@ redundant_type_annotations = "warn"
result_large_err = "allow"
todo = "warn"
too_many_arguments = "allow"
type_complexity = "allow"
uninlined_format_args = "warn"
unnested_or_patterns = "warn"
wildcard_dependencies = "warn"
Expand Down
37 changes: 23 additions & 14 deletions apps/app/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,14 @@ path-util = { workspace = true }
serde = { workspace = true, features = ["derive"] }
serde_json = { workspace = true }
serde_with = { workspace = true }
tauri = { workspace = true, features = [
"devtools",
"macos-private-api",
"protocol-asset",
] }
tauri = {
workspace = true,
features = [
"devtools",
"macos-private-api",
"protocol-asset",
]
}
tauri-plugin-deep-link = { workspace = true }
tauri-plugin-dialog = { workspace = true }
tauri-plugin-fs = { workspace = true }
Expand Down Expand Up @@ -54,18 +57,24 @@ tauri-plugin-updater = { workspace = true, optional = true }
[target.'cfg(target_os = "macos")'.dependencies]
core-foundation.workspace = true
core-graphics.workspace = true
objc2-app-kit = { workspace = true, features = [
"NSWindow",
] }
objc2-app-kit = {
workspace = true,
features = [
"NSWindow",
]
}

[target.'cfg(windows)'.dependencies]
webview2-com.workspace = true
windows = { workspace = true, features = [
"Win32_Foundation",
"Win32_Graphics_Dwm",
"Win32_Graphics_Gdi",
"Win32_UI_WindowsAndMessaging",
] }
windows = {
workspace = true,
features = [
"Win32_Foundation",
"Win32_Graphics_Dwm",
"Win32_Graphics_Gdi",
"Win32_UI_WindowsAndMessaging",
]
}
windows-core.workspace = true

[features]
Expand Down
32 changes: 19 additions & 13 deletions apps/daedalus_client/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,17 @@ version = "0.2.2"
edition.workspace = true

[dependencies]
async_zip = { workspace = true, features = [
"bzip2",
"chrono",
"deflate",
"deflate64",
"tokio-fs",
"zstd",
] }
async_zip = {
workspace = true,
features = [
"bzip2",
"chrono",
"deflate",
"deflate64",
"tokio-fs",
"zstd",
]
}
bytes = { workspace = true }
chrono = { workspace = true, features = ["serde"] }
daedalus = { workspace = true }
Expand All @@ -20,11 +23,14 @@ dotenvy = { workspace = true }
futures = { workspace = true }
indexmap = { workspace = true, features = ["serde"] }
itertools = { workspace = true }
reqwest = { workspace = true, features = [
"json",
"rustls-tls-native-roots",
"stream",
] }
reqwest = {
workspace = true,
features = [
"json",
"rustls-tls-native-roots",
"stream",
]
}
rust-s3 = { workspace = true }
serde = { workspace = true, features = ["derive"] }
serde_json = { workspace = true }
Expand Down
2 changes: 2 additions & 0 deletions apps/frontend/src/app.vue
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ import { I18nDebugPanel, LoadingBar, NotificationPanel } from '@modrinth/ui'
import { setupProviders } from '~/providers/setup.ts'
import { useAuth } from './composables/auth'
const auth = await useAuth()
setupProviders(auth)
</script>
Loading
Loading