mirror of
https://github.com/modrinth/code.git
synced 2026-08-28 10:34:53 +00:00
feat: instances v2 (#6431)
* feat: base of instances v2 * feat: use old profiles with compat layer * prototype: instances v2 * fix: install_from using profile * fix: skins migration fix * fix: frontend still using profile path * fix: add update proj multiselect guard * fix: cargo fmt * fix: content missing fields * feat: break up app-lib/api/instance.rs * fix: check_content_updates mismatch * fix: updater modal cleanup w/new structure * feat: better update all handling * fix: remove preview_update_all * fix: feedback on bulk update + lint * fix: rem transitions * fix: change to jsonb * feat: app db backup after update * fix: lint * fix: sqlx prepare + use sqlx macros * fix: lint * fix: bugs * feat: defuck the installing process up * fix: bug of hell * fix: shear * fix: fmt * fix: install progress spacing + change mc/content/overrides to bytes * fix: lint * fix: prepr * fix: navtabs anim not working in app * fix: worlds.vue improvements + browse page fixes * feat: optimise queries + adapter fns * fix: lint * fix: lint * feat: shared modrinth-content-management crate (#6469) * feat: disable warnings setting * feat: add instances shortcuts (#6329) * Add modrinth://launch deep link to start a profile Support external profile launching via modrinth://launch/{profile_path} for integrations such as Stream Deck. * Change route to /launch/profile/{id} for future extensibility * fix: ensure profile path is url decoded * fix: URL-decode profile path from deep link * fix: use urlencoding crate for URL decoding * feat: implement app instance shortcuts * feat: change windows shortcut creation to use windows api instead * feat: implement creating a shortcut launching world/server * format * fmt * fix multiline inline tables * pnpm prepr * feat: move create shortcut to last item * refactor: split up shortcuts.rs for individual platforms * refactor: turn profile launch url into url type * use string literal and add safety comment * pt2 * refactor: rename anything that's profile into instance * update mac shortcut --------- Co-authored-by: DJCheesusReal <134006619+DJCheesusReal@users.noreply.github.com> --------- Co-authored-by: Truman Gao <106889354+tdgao@users.noreply.github.com> Co-authored-by: DJCheesusReal <134006619+DJCheesusReal@users.noreply.github.com>
This commit is contained in:
co-authored by
DJCheesusReal
Truman Gao
parent
ef4044534f
commit
734720e11e
+63
-47
@@ -142,9 +142,22 @@ fn main() {
|
||||
),
|
||||
)
|
||||
.plugin(
|
||||
"pack",
|
||||
"install",
|
||||
InlinedPlugin::new()
|
||||
.commands(&["pack_install", "pack_get_profile_from_pack"])
|
||||
.commands(&[
|
||||
"install_get_modpack_preview",
|
||||
"install_create_instance",
|
||||
"install_create_modpack_instance",
|
||||
"install_import_instance",
|
||||
"install_duplicate_instance",
|
||||
"install_existing_instance",
|
||||
"install_pack_to_existing_instance",
|
||||
"install_job_list",
|
||||
"install_job_get",
|
||||
"install_job_retry",
|
||||
"install_job_cancel",
|
||||
"install_job_dismiss",
|
||||
])
|
||||
.default_permission(
|
||||
DefaultPermissionRule::AllowAllCommands,
|
||||
),
|
||||
@@ -154,7 +167,7 @@ fn main() {
|
||||
InlinedPlugin::new()
|
||||
.commands(&[
|
||||
"process_get_all",
|
||||
"process_get_by_profile_path",
|
||||
"process_get_by_instance_id",
|
||||
"process_kill",
|
||||
"process_wait_for",
|
||||
])
|
||||
@@ -163,52 +176,46 @@ fn main() {
|
||||
),
|
||||
)
|
||||
.plugin(
|
||||
"profile",
|
||||
"instance",
|
||||
InlinedPlugin::new()
|
||||
.commands(&[
|
||||
"profile_remove",
|
||||
"profile_get",
|
||||
"profile_get_many",
|
||||
"profile_get_projects",
|
||||
"profile_get_installed_project_ids",
|
||||
"profile_get_content_items",
|
||||
"profile_get_dependencies_as_content_items",
|
||||
"profile_get_linked_modpack_info",
|
||||
"profile_get_linked_modpack_content",
|
||||
"profile_get_optimal_jre_key",
|
||||
"profile_get_full_path",
|
||||
"profile_get_mod_full_path",
|
||||
"profile_list",
|
||||
"profile_check_installed",
|
||||
"profile_check_installed_batch",
|
||||
"profile_install",
|
||||
"profile_update_all",
|
||||
"profile_update_project",
|
||||
"profile_add_project_from_version",
|
||||
"profile_add_project_from_path",
|
||||
"profile_toggle_disable_project",
|
||||
"profile_remove_project",
|
||||
"profile_update_managed_modrinth_version",
|
||||
"profile_repair_managed_modrinth",
|
||||
"profile_run",
|
||||
"profile_kill",
|
||||
"profile_edit",
|
||||
"profile_edit_icon",
|
||||
"profile_export_mrpack",
|
||||
"profile_get_pack_export_candidates",
|
||||
"instance_remove",
|
||||
"instance_get",
|
||||
"instance_get_many",
|
||||
"instance_get_projects",
|
||||
"instance_get_installed_project_ids",
|
||||
"instance_get_install_candidates",
|
||||
"instance_content",
|
||||
"instance_get_content_items",
|
||||
"instance_get_dependencies_as_content_items",
|
||||
"instance_get_linked_modpack_info",
|
||||
"instance_get_linked_modpack_content",
|
||||
"instance_get_optimal_jre_key",
|
||||
"instance_get_full_path",
|
||||
"instance_get_mod_full_path",
|
||||
"instance_list",
|
||||
"instance_check_installed",
|
||||
"instance_update_all",
|
||||
"instance_update_project",
|
||||
"instance_add_project_from_version",
|
||||
"instance_install_project_with_dependencies",
|
||||
"instance_switch_project_version_with_dependencies",
|
||||
"instance_add_project_from_path",
|
||||
"instance_toggle_disable_project",
|
||||
"instance_remove_project",
|
||||
"instance_update_managed_modrinth_version",
|
||||
"instance_repair_managed_modrinth",
|
||||
"instance_run",
|
||||
"instance_kill",
|
||||
"instance_edit",
|
||||
"instance_edit_icon",
|
||||
"instance_export_mrpack",
|
||||
"instance_get_pack_export_candidates",
|
||||
])
|
||||
.default_permission(
|
||||
DefaultPermissionRule::AllowAllCommands,
|
||||
),
|
||||
)
|
||||
.plugin(
|
||||
"profile-create",
|
||||
InlinedPlugin::new()
|
||||
.commands(&["profile_create", "profile_duplicate"])
|
||||
.default_permission(
|
||||
DefaultPermissionRule::AllowAllCommands,
|
||||
),
|
||||
)
|
||||
.plugin(
|
||||
"settings",
|
||||
InlinedPlugin::new()
|
||||
@@ -235,6 +242,14 @@ fn main() {
|
||||
DefaultPermissionRule::AllowAllCommands,
|
||||
),
|
||||
)
|
||||
.plugin(
|
||||
"shortcuts",
|
||||
InlinedPlugin::new()
|
||||
.commands(&["create_instance_shortcut"])
|
||||
.default_permission(
|
||||
DefaultPermissionRule::AllowAllCommands,
|
||||
),
|
||||
)
|
||||
.plugin(
|
||||
"utils",
|
||||
InlinedPlugin::new()
|
||||
@@ -245,6 +260,7 @@ fn main() {
|
||||
"highlight_in_folder",
|
||||
"open_path",
|
||||
"show_launcher_logs_folder",
|
||||
"show_app_db_backups_folder",
|
||||
"progress_bars_list",
|
||||
"get_opening_command",
|
||||
])
|
||||
@@ -298,17 +314,17 @@ fn main() {
|
||||
InlinedPlugin::new()
|
||||
.commands(&[
|
||||
"get_recent_worlds",
|
||||
"get_profile_worlds",
|
||||
"get_instance_worlds",
|
||||
"get_singleplayer_world",
|
||||
"set_world_display_status",
|
||||
"rename_world",
|
||||
"reset_world_icon",
|
||||
"backup_world",
|
||||
"delete_world",
|
||||
"add_server_to_profile",
|
||||
"edit_server_in_profile",
|
||||
"remove_server_from_profile",
|
||||
"get_profile_protocol_version",
|
||||
"add_server_to_instance",
|
||||
"edit_server_in_instance",
|
||||
"remove_server_from_instance",
|
||||
"get_instance_protocol_version",
|
||||
"get_server_status",
|
||||
"start_join_singleplayer_world",
|
||||
"start_join_server",
|
||||
|
||||
Reference in New Issue
Block a user