* Begin affiliates frontend
* Significant work on hooking up affiliates ui
* Clean up server nodes menu
* affiliates work
* update affiliate time
* oops
* fix local import
* fix local import x2
* remove line in dashboard
* lint
* feat: split wrapper command on linux
* feat: use code from #3900
* feat: also use shlex on Windows
* feat: add a version number to global settings
* feat(app): add settings v2, where wrapper command are split
* feat: blog
* feat: creator withdraw overhaul blog
* fix: bullet points
* fix: title
* fix: blog
* feat: autoplay on scroll & fix encoding of videos
* fix: class on first video
* fix: authors + summary + title
* fix: title + summary
* fix: lint
* fix: rev page mp4
* update formatting + phrasing
* some more formatting changes
* unify hr colors
* update opening line
* update blog time
---------
Co-authored-by: Prospector <6166773+Prospector@users.noreply.github.com>
* Update ad placeholders to new green graphic
* Remove rounded corners from app ad frame
* Improve web ad placeholder styling
* Revamp app sidebar to match mockups more closely, greatly improve friends UX, fix up context menus and typify shit
* only show overflow on hover
* lint
* intl:extract
* clean up the inline code in FriendsSection
* Taplo and typos in CI
* Clean up Cargo.toml files
* Fix CI
* Fix CI
* Run typos in CI
* Loosen typos a bit
* Fix typos
* Fix taplo
* Switch to Tombi
* Fix Tombi errors
* Remove unused typos config
* Tombi fmt
* Remove extraneous cargo fmt
* fix typos
* feat: surface variables & gradients
* feat: text vars
* fix: lint
* chore: remove L from surface vars
* fix: fully remove L from surface vars
---------
Co-authored-by: --global <--global>
PR #4270 modified the internal `fetch` function used by the application
to download version artifacts in a way that 4xx HTTP errors also caused
an abnormal return, instead of just 5xx errors. That was a good change,
but it had the unintended side effect of exposing our faulty logic
elsewhere of trying to download non-native JAR library artifacts when
only native artifacts are appropriate, at least according to the
PrismLauncher source code I've read. Such a download always returned a
404 error, but because such error was considered successful, a dummy
library file was still created and things worked seemingly fine.
These changes bring the Modrinth App behavior in this regard more in
line with PrismLauncher's, avoiding downloading non-native artifacts for
dependencies that have native artifacts available. (Reference:
8b5e91920d/launcher/minecraft/Library.cpp (L163))
I've tested these changes to work successfully with a variety of old
vanilla and modded Minecraft versions.
Fixes#4464.
* tweak(path-util): addendum to #4482
These changes improve on those introduced in #4482 in two ways:
- The serialization logic for `SafeRelativeUtf8UnixPathBuf` now more
closely mirrors the deserialization checks, reducing the chance that a
generated path will fail to deserialize. While unlikely in practice,
catching such theoretical cases earlier improves the experience for
users and developers.
- After deeper testing on a clean Windows 10 VM, I found that reserved
device names can have both an extension and an alternate data stream
appended, not just one or the other. These changes handle that case
more gracefully.
* chore: fix typos, add tests
* fix(path-util): extend `SafeRelativeUtf8UnixPathBuf` contract to allow `.` components
While quite useless, they were accepted by previous app versions, the
`.mrpack` specification does not forbid them, and they do not pose
security issues, so accept them for backwards compatibility.
* Make theseus capable of logging messages from the `log` crate
* Move update checking entirely into JS and open a modal if an update is available
* Fix formatjs on Windows and run formatjs
* Add in the buttons and body
* Fix lint
* Show update size in modal
* Fix update not being rechecked if the update modal was directly dismissed
* Slight UI tweaks
* Fix lint
* Implement skipping the update
* Implement the Update Now button
* Implement updating at next exit
* Turn download progress into an error bar on failure
* Restore 5 minute update check instead of 30 seconds
* Fix PendingUpdateData being seen as a unit struct
* Fix lint
* Make CI also lint updater code
* feat: create AppearingProgressBar component
* feat: polish update available modal
* feat: add error handling
* Open changelog with tauri-plugin-opener
* Run intl:extract
* Update completion toasts (#3978)
* Use single LAUNCHER_USER_AGENT constant for all user agents
* Fix build on Mac
* Request the update size with HEAD instead of GET
* UI tweaks
* lint
* Fix lint
* fix: hide modal header & add "Hide update reminder" button w/ tooltip
* Run intl:extract
* fix: lint issues
* fix: merge issues
* notifications.js no longer exists
* Add metered network checking
* Add a timeout to macOS is_network_metered
* Fix tauri.conf.json
* vibe debugging
* Set a dispatch queue
* Have a popup that asks you if you'd like to disable automatic file downloads if you're on a metered network
* Move UpdateModal to modal package
* Fix lint
* Add a toggle for automatic downloads
* Fix type
Co-authored-by: Alejandro González <7822554+AlexTMjugador@users.noreply.github.com>
Signed-off-by: Josiah Glosson <soujournme@gmail.com>
* Redo updating UI and experience
* lint
* fix unlistener issue
* remove unneeded translation keys
* Fix expose issue
* temp disable cranelift, tweak some messages
* change version back
* Clean up App.vue
* move toast to top right
* update reload icon
* Fixed the bug!!!!!!!!!!!!
* improve messages
* intl:extract
* Add liquid glass icon file
* not you!
* use dependency injection
* lint on apple icon
* Fix imports, move download size to button
* change update check back to 5 mins
* lint + move to providers
* intl:extract
---------
Signed-off-by: Cal H. <hendersoncal117@gmail.com>
Signed-off-by: Josiah Glosson <soujournme@gmail.com>
Co-authored-by: Calum <calum@modrinth.com>
Co-authored-by: Prospector <prospectordev@gmail.com>
Co-authored-by: Cal H. <hendersoncal117@gmail.com>
Co-authored-by: Prospector <6166773+Prospector@users.noreply.github.com>
Co-authored-by: Alejandro González <7822554+AlexTMjugador@users.noreply.github.com>
* draft: layout for alert
* feat: simplify
* feat: remove dummy data
* fix: lint and widths
* feat: use chips rather than dropdown select
* feat: remove gap from admonition header v body
* Revert "feat: remove gap from admonition header v body"
This reverts commit 46cce52799bc3ac24825a73ca4add18e0acad3c1.
* fix: niche fixes
* feat: update for new backend structure
* fix: i18n
* chore(labrinth): set `DELPHI_URL` to a valid default in `.env.local`
* feat(labrinth): make orgs not publicly visible until they meet some conditions
* Revert "Org disabled frontend (#4424)"
This reverts commit 2492b11ec0.
* changelog: update for re-enabling organization creation
* chore: run `sqlx prepare`
* chore(labrinth): tweak tests to work with new org changes
* tweak: apply @triphora's suggestion
Co-authored-by: Emma Alexia <emma@modrinth.com>
Signed-off-by: Alejandro González <7822554+AlexTMjugador@users.noreply.github.com>
* tweak: document `is_visible_organization` relationship with `Project#is_searchable`
---------
Signed-off-by: Alejandro González <7822554+AlexTMjugador@users.noreply.github.com>
Co-authored-by: Emma Alexia <emma@modrinth.com>
* Switch to nightly + cranelift
* Fail on warnings only in CI
* Fix check errors
* Don't use mold on Linux to fix CI
* Pin nightly toolchain and add default rustup components
* Fix another CI thing
* PR comment