* chore(theseus): significantly cleanup MacOS-specific code
* fix(labrinth): only use jemalloc allocator for Linux targets
The upstream crate asserts that its tests only pass for Linux targets,
and there's little point in supporting other OS for now since practical
Labrinth deployments run under a Linux environment anyway. This change
made it easier for me to cross-compile Labrinth.
* chore(theseus): tweak traffic lights pos according to c39bb78e38
As far as I understand it, that PR introduced the seemingly ad-hoc
additions of 6 and 12 units to the traffic light position calculations,
not directly modifying the `const` values introduced by
d6a72fbfc4.
* fix: re-enable app window shadows on Linux
* chore: log `window.set_shadow` errors
* chore: trigger CI
* Begin work on worlds backend
* Finish implementing get_profile_worlds and get_server_status (except pinning)
* Create TS types and manually copy unparsed chat components
* Clippy fix
* Update types.d.ts
* Initial worlds UI work
* Fix api::get_profile_worlds to take in a relative path
* sanitize & security update
* Fix sanitizePotentialFileUrl
* Fix sanitizePotentialFileUrl (for real)
* Fix empty motd causing error
* Finally actually fix world icons
* Fix world icon not being visible on non-Windows
* Use the correct generics to take in AppHandle
* Implement start_join_singleplayer_world and start_join_server for modern versions
* Don't error if server has no cached icon
* Migrate to own server pinging
* Ignore missing server hidden field and missing saves dir
* Update world list frontend
* More frontend work
* Server status player sample can be absent
* Fix refresh state
* Add get_profile_protocol_version
* Add protocol_version column to database
* SQL INTEGER is i64 in sqlx
* sqlx prepare
* Cache protocol version in database
* Continue worlds UI work
* Fix motds being bold
* Remove legacy pinging and add a 30-second timeout
* Remove pinned for now and match world (and server) parsing closer to spec
* Move type ServerStatus to worlds.ts
* Implement add_server_to_profile
* Fix pack_status being ignored when joining from launcher
* Make World path field be relative
* Implement rename_world and reset_world_icon
* Clippy fix
* Fix rename_world
* UI enhancements
* Implement backup_world, which returns the backup size in bytes
* Clippy fix
* Return index when adding servers to profile
* Fix backup
* Implement delete_world
* Implement edit_server_in_profile and remove_server_from_profile
* Clippy fix
* Log server joins
* Add edit and delete support
* Fix ts errors
* Fix minecraft font
* Switch font out for non-monospaced.
* Fix font proper
* Some more world cleanup, handle play state, check quickplay compatibility
* Clear the cached protocol version when a profile's game version is changed
* Fix tint colors in navbar
* Fix server protocol version pinging
* UI fixes
* Fix protocol version handler
* Fix MOTD parsing
* Add worlds_updated profile event
* fix pkg
* Functional home screen with worlds
* lint
* Fix incorrect folder creation
* Make items clickable
* Add locked field to SingleplayerWorld indicating whether the world is locked by the game
* Implement locking frontend
* Fix locking condition
* Split worlds_updated profile event into servers_updated and world_updated
* Fix compile error
* Use port from resolve SRV record
* Fix serialization of ProfilePayload and ProfilePayloadType
* Individual singleplayer world refreshing
* Log when worlds are perceived to be updated
* Push logging + total refresh lock
* Unlisten fixes
* Highlight current world when clicked
* Launcher logs refactor (#3444)
* Switch live log to use STDOUT
* fix clippy, legacy logs support
* Fix lint
* Handle non-XML log messages in XML logging, and don't escape log messages into XML
---------
Co-authored-by: Josiah Glosson <soujournme@gmail.com>
* Update incompatibility text
* Home page fixes, and unlock after close
* Remove logging
* Add join log database migration
* Switch server join timing to being in the database instead of in a separate log file
* Create optimized get_recent_worlds function that takes in a limit
* Update dependencies and fix Cargo.lock
* temp disable overflow menus
* revert home page changes
* Enable overflow menus again
* Remove list
* Revert
* Push dev tools
* Remove default filter
* Disable debug renderer
* Fix random app errors
* Refactor
* Fix missing computed import
* Fix light mode issues
* Fix TS errors
* Lint
* Fix bad link in change modpack version modal
* fix lint
* fix intl
---------
Co-authored-by: Josiah Glosson <soujournme@gmail.com>
Co-authored-by: Jai A <jaiagr+gpg@pm.me>
Co-authored-by: Jai Agrawal <18202329+Geometrically@users.noreply.github.com>
* Bump tauri to v2
* Switch to virtual typed list for content page
* Fix unexpected hang on windows
* Fix ads window scaling issues on some devices
* Use DPR from browser
* Fix link opens, bump version, fix lint
* 0.8.5 fixes
* Attempt to fix binary name
* bump version + add nsis installmode
* (temp) Use cargo version of tauri CLI
* fix cli build
* Fix build env var
* Bump tauri version
* remove old invalid installs
* Fix old shortcuts + NSIS build
* Implement ads in desktop app
* Finish ads
* use git dep instead
* attempt to fix linux build (temp)
* bump version + lint
* comment more
* fix build
* try to fix linux build
* Fix crashing on windows
* Fix icons not showing
* Remove useless env vars
* Actual linux build fix
* Run fmt
* Fix scrolling
* fix clippy
* bump version + fix localhost
* rev linux build patch
* update version num
* update csp
* update csp
* update csp
* Switch to mousewheel event
* feat(theseus): Initial migration to Tauri v2
* feat(theseus): Added a way to zoom / scale UI
* chore(theseus): Started cleaning up some plugins
* fix(theseus): Github Actions
* refactor(theseus): Reduced boilerplate & more work
* feat(theseus): Allow multiple app instances to be open at once (#995)
* fix(theseus): Lint & more
* fix(theseus): App Release github action
* fix(theseus): Open links in browser & macos builds
* fix(theseus): Rebase fixes
* fix(theseus): Updater & app release action
* fix(theseus): Fixed definitions in `build.rs`
* Fix MacOS deep linking, window decorations
* fix(theseus): Closing & maximizing app
* Fix macos build
* add back release conf
* acc fix build
* make updater for release builds only
* focus window on startup
---------
Co-authored-by: Jai A <jaiagr+gpg@pm.me>
Co-authored-by: Geometrically <18202329+Geometrically@users.noreply.github.com>
* fix(theseus): Resolve log tab freezing entire app (#1127, #1237)
Switched to `vue-typed-virtual-list` due to freezing issues in WebKit caused by `vue-virtual-scroller`, which were difficult to resolve with the previous library.
* fix(theseus): Double opening of Socials Share link (#1136, #1074)
* fix(theseus): Proper symlinks resolution (#1236)
Ensures correct symlink resolution for specific mods, the mods directory, and the entire profile directory.
* fix(theseus): Correctly recognize NeoForge mods (#1215)
* fix(theseus): Corrected `Environments` and `Loaders` filters (#899)
* fix(theseus): Remove `_JAVA_OPTIONS` when testing JRE (#1171)
* fix(theseus): Fixed opening files using `show_in_folder`
Previously, opening a mod would display the contents of the JAR file instead of its location.
* fix(theseus): Hide `.DS_Store` files (#1274, #1002, #1174)
* fix(theseus): Corrected tooltip color
* fix(theseus): Fixed white mode issues (#1144, #1010)
* fix: Corrected `Slider` min and max value handling (#1008)
* fix: Fixed rebase problems
* fix: Fixed `:deep` usage warning
* chore: Updated eslint plugins to fix conflicts with Prettier