* refactor: remove unused legacy onboarded flag
* sqlx prepare
* feat: add onboarding checklist app db and add vue provider
* feat: add welcome page
* feat: add onboarding checklist component
* feat: move checklist visibility source of truth in app db
* feat: split up import modpack button
* feat-small: style tweak
* feat: remove discover section from homepage and add library
* refactor: move welcome screen to component
* refactor: move grid display into /library
* refactor: rename existing components
* refactor: split up the current library page files
* feat: add create group modal
* feat: add instance group definitions
* feat: update accordian for instance groups
* feat: add delete group
* feat: implement rename instance groups
* refactor: move instance group api out
* feat: add context menu for groups
* feat: style instance items in library
* feat: add selected instance item state
* feat: implement action bar for selection
* feat: drag and drop to move between groups
* feat: show ungrouped with header
* feat: improve edit group name
* small fix
* small style fixes
* feat: improve selection behaviour
* fix: dont toggle group when context menu open
* feat: drag and drop multiple selected
* small
* feat: add remove from group in action bar
* feat: add delay on icon hiding in inline input
* feat: improve icon hiding delay
* fix: bad routes.js
* feat: implement sort and filter options
* refactor: dont prefix filenames
* feat: change open/collapse group target
* feat: improve ungrouped behaviour
* feat: add shift to select multiple instances
* fix: icon disappear transition
* feat: add esc while dragging to cancel
* feat: update sorting and moved label
* feat: update context menu
* fix: multiple context menus can be opened
* refactor: instance groups to be identified by ID instead of name, names become display data
* feat: creating new group always adds instance
* feat: create group button, fix instance selection, and increase group name max length
* feat: strokes
* fix: show getting started checklist in all sidebar
* feat: set size on microsoft login screen
* fix: use ButtonStyled in Chips component
* feat: creating groups with selected instances and fix some moving selection and duplication bugs
* pnpm prepr
* feat: add tooltip for instance already in group
* feat: create instance with content in creation flow modal
- search modpack becomes search projects
- creation flow modal context receives prepareProjectInstall and createProjectInstall callbacks, from content-install.ts (shared with ContentInstallModal)
* feat: update instance card styles
* refactor: separate out instance card content
* update styles
* refactor: instance card
* fix: width of instance
* feat: update empty state
* feat: update sort and grouping dropdowns
* feat: better context menu options
* feat: add group action buttons
* feat: add/remove favourites group
* remove manual sort
* feat: improve the "New group" jank
* feat: add group by instance type and change group sorting
* feat: welcome screen styles match figma
* feat: not signed in skins demo
* feat: new hosting empty state
* feat: new instance card style
* feat: add tooltip and spice up animation more
* feat: improve the transitions for groups after dropping many instances
* feat: set instance group membership for bulk moving
* feat: remove fade out
* fix: allow dragging from buttons inside instance card
* fix: library page load in behaviour
* small fix
* feat: add group ordering and reordering
* feat: add drag to reorder groups
* fix: switching page not clearing selected instances
* style fixes
* style fix
* fix spacing
* feat: jump in changes
* feat: add styled newly created instances
* feat: improve jump in cards styles
* fix: welcome screen style
* fix: empty state styles
* feat: max 5 jump in items
* feat: max new instances to 3
* fix: search icon
* feat: clear selection after move
* feat: skins list use check icon styles
* feat: list will be deleted instances and default sort last played
* fix: stroke
* remove: no more group settings in instance general settings
* fix: resolving modpack server install
* feat: icon editor
* feat: add three hue shifted variants
* fix: surprise me doesnt pick symbol
* feat: add customize icon to create instance modal
* feat: skins loading state style
* fix: welcome logo
* fix: copy
* fix: left over usage of ButtonStyled from main's refactor
* feat: some leaked merge stuff
* feat: server empty state styles
* remove: instance helper text
* remove: auto link in set up stage
* feat: auto focus on search when modal open
* fix: delete instance modal style
* remove: modpack meta repeating
* fix: icon
* fix: font weight
* fix: dropdown filter preview heights
* pnpm prepr
* fix: sign into modrinth flashing change in position
* feat: add avatar transparent corner gets padding
* feat: drag and hold over group opens group
* feat: add random icon for custom instance
* feat: update loading icon
* polish: empty state for search
* polish: jump in cards
* fix: avatar could skip checking for image if tauri loads it first
* feat: add icon customize and randomizer in content install modal for add to new instances
* fix: avatar cannot read image pixels due to cors
* refactor: popup notifications toast type for instance sharing notifications
* feat: apply random icons modal and add popup notification for it
* polish: style
* fix: set_webview_visible
* QA
* qa
* feat: add inner white 15 opacity stroke around avatar
* add to catalog
* pnpm prepr
* fix: app event import
* feat: add new icons and backgrounds for icon editor
* feat: recents list generate from randomized icons and save icon in editor + icon editor modal fixes
* qa
* refactor: recipe -> config
* fix: event bus
* polish
* feat: add safe guard against randomizing empty icons
* feat: navigate to instance after creation
* fix: icon file names
* i18n on welcome screen
* i18n pass on PR
* fix: inconsistent max group name length
* refactor: use sqlx macro
* feat: add instance icon background selection drag
* feat: update catalog order
* fix: remove gradient for welcome screen
* remove: frog
* fix: min width
* feat: update corner size
* fix: context menu styles
* prepr
* fix: instance name trimming
* reorder
* fix: instance card loading state stayed until hovering
* feat: add icon randomizer blacklist
* blog
* prepr
---------
Co-authored-by: Prospector <6166773+Prospector@users.noreply.github.com>
* Improve Intl formatting
* Additional fixes
* Fixed formatters were not updated on locale change
* Fixed formatNumber was not updated on locale change
* Additional formatting and fixes after merge
* Run prepr:frontend
* Remove `'` in icon map
* Run `pnpm install`
* fix: lint + import
* Additional fixes
---------
Co-authored-by: Calum H. <calum@modrinth.com>
Co-authored-by: Calum H. (IMB11) <contact@cal.engineer>
* Various typo fixes and clearups
As reported on Crowdin.
* touch up wording on the environments
* lint
* roll back describes + lint
* fix extra "usd" in some languages in the hosting marketing page
* fix: lint + devin pass
---------
Co-authored-by: Calum H. (IMB11) <contact@cal.engineer>
* Fix DEV-466, Fixes#4692 as well as a bunch of other poor contrast and inconsistency issues in light mode. Adds shadows to buttons and makes scrollbar gutter stable.
* lintttt & only do scrollbar gutter on website
* try to fix following hydration issue
* try another clientonly approach
* fix home page link animation
* lint
* remove dropdown style from checkbox & improve shadow consistency
* liiiint
* Add launcher_feature_version to Profile
* Misc fixes
- Add typing to theme and settings stuff
- Push instance route on creation from installing a modpack
- Fixed servers not reloading properly when first added
* Make old instances scan the logs folder for joined servers on launcher startup
* Create AttachedWorldData
* Change AttachedWorldData interface
* Rename WorldType::World to WorldType::Singleplayer
* Implement world display status system
* Fix Minecraft font
* Fix set_world_display_status Tauri error
* Add 'Play instance' option
* Add option to disable worlds showing in Home
* Fixes
- Fix available server filter only showing if there are some available
- Fixed server and singleplayer filters sometimes showing when there are only servers or singleplayer worlds
- Fixed new worlds not being automatically added when detected
- Rephrased Jump back into worlds option description
* Fixed sometimes more than 6 items showing up in Jump back in
* Fix servers.dat issue with instances you haven't played before
* Fix too large of bulk requests being made, limit max to 800 #3430
* Add hiding from home page, add types to Mods.vue
* Make recent worlds go into grid when display is huge
* Fix lint
* Remove redundant media query
* Fix protocol version on home page, and home page being blocked by pinging servers
* Clippy fix
* More Clippy fixes
* Fix Prettier lints
* Undo `from_string` changes
---------
Co-authored-by: Josiah Glosson <soujournme@gmail.com>
Co-authored-by: Alejandro González <me@alegon.dev>
* 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>