* 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>
* feat(labrinth): project disclosures model
* feat(labrinth): project disclosures database model
* feat(labrinth): project disclosures get endpoint
* feat(labrinth): censor user ids if set by moderator
* feat(labrinth): wrap disclosures in struct
* feat(labrinth): edit project disclosures endpoint
* style(labrinth): cargo fmt
* style(labrinth): fix typo
* feat(labrinth): add fields for ai content disclosure
* fix(labrinth): field typo
* chore(labrinth): update query cache
* feat(labrinth): index disclosures in search
* refactor(labrinth): use enum instead of bools
* feat(labrinth): trigger incremental index on disclosure change
* feat(labrinth): change archived status to disclosure
* feat(labrinth): use disclosure for archival status
* fix(labrinth): error type for deserialization
* fix(labrinth): migration timestamp
* fix(labrinth): add disclosures to elasticsearch schema
* fix(labrinth): don't remove archival disclosure when changing status via v3 api
* feat(labrinth): derive str for ai usages and telemtry consent
* feat(labrinth): include ai usages and telemetry consent in disclosure types
* refactor(labrinth): move disclosure parsing to document creation
* fix(labrinth): prevent removing moderator added archival disclosures
* fix(labrinth): dedupe ai usages
* fix(labrinth): auth logic on archived disclosure removal
* feat(labrinth): add interactions field
* style(labrinth): cargo fmt
* feat(labrinth): soft delete disclosures
* feat(labrinth): return soft-deleted disclosures
* fix(labrinth): update disclosure on removal
---------
Co-authored-by: Prospector <6166773+Prospector@users.noreply.github.com>
* draft: rejected projects go to ghost on delete
* don't free slug
* fix sqlx
* free slugs but different
* add auto reject for processing items given to ghost, as well as send thread messages with a little info on who it came from
* (do not merge) search test branch
* perf
* fix up search pagination
* more parity and perf work
* expand what parity does
* fix author query
* approach parity even without explicit parity enabled
* remove old parity code
* fix shear
* fix
* fmt
* feat(labrinth): user blocking
still wip, nothing is hooked up
* style(labrinth): cargo fmt
* refactor(labrinth): move block/unblock routes to public api
* feat(labrinth): block friend requests if blocked
* feat(labrinth): remove friend/request on block
* feat(labrinth): get blocked users endpoint
* feat(labrinth): shared instance report type
* style(labrinth): cargo fmt
* feat(labrinth): check that instance exists when reporting
* style(labrinth): cleanup unused import
* feat(labrinth): store version id for shared instance reports
* style(labrinth): satisfy clippy
* fix(labrinth): use string id instead of int