Commit Graph
25 Commits
Author SHA1 Message Date
Khushboo Mehta da0e92271b feat: add support for external repos in app manager and add settings for repo management 2026-06-12 01:08:12 +02:00
Khushboo Mehta 45494cfeba feat: update side bar icons and selected state 2026-06-08 17:35:03 +02:00
Khushboo-dev-cpp 8bd3467349 Merge pull request #211 from logos-co/feat/appManager
Feat/app manager
2026-06-08 17:18:54 +02:00
Khushboo Mehta 1993994738 feat: add new App Manager UI- Initial commit 2026-06-08 14:49:33 +02:00
Dario LipicarandClaude Opus 4.8 a90f7d1bcd Replace per-module Methods screen with an Interface screen (methods + events) (#210)
* Replace per-module Methods screen with an Interface screen (methods + events)

A module exposes two halves of its API — methods you call and events you
subscribe to. The per-module screen now shows both. The 'View Methods'
button becomes 'Interface', and PluginMethodsView is renamed to
PluginInterfaceView with a Methods section (unchanged, with Call) and a
new Events section below it (event name in amber, signature, and the
event's description; no Call button).

- CoreModuleManager: getEvents(name) -> invokeRemoteMethod(name,
  "getPluginEvents"), mirroring getMethods.
- MainUIBackend: getCoreModuleEvents(name) delegates to it.
- CoreModulesView: 'Interface' button; openInterface()/showingInterface.
- PluginInterfaceView (renamed): loads methods + events, renders both.
- docs: project.md view description.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* Harden PluginInterfaceView: stable width + clear stale state

Address review feedback (#210):

- PluginInterfaceView: bind the inner ColumnLayout to the ScrollView's
  availableWidth (via an id) instead of parent.width. Inside a Qt 6
  ScrollView parent.width resolves against the internal Flickable
  contentItem and can transiently collapse to 0 during Repeater reflow —
  the same fix already applied in CoreModulesView/UiModulesTab.
- loadMethods()/loadEvents(): clear methods/events (and resultText) when
  pluginName becomes empty, so a reset view can't show a previous
  plugin's interface.
- CoreModuleManager.h: correct the stale 'Both return' comment now that
  there are three JSON introspection methods (getMethods/getEvents/
  callMethod).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-04 17:18:04 -03:00
Dario LipicarandClaude Opus 4.7 86e2b8b89a Distinct upgrade/downgrade/reinstall confirmation dialog (#205)
* ui: distinct cascade dialog for upgrade/downgrade/reinstall

Before: upgrading, downgrading, or reinstalling a package showed the
"Uninstall and Unload Dependents?" dialog because PackageCoordinator
reused uninstallCascadeConfirmationRequested for the beforeUpgrade
event. Confusing on downgrades — the dialog read like a pure removal,
giving no indication a new version was about to land.

After: PackageCoordinator emits a new upgradeCascadeConfirmationRequested
signal carrying the target releaseTag + UpgradeMode (already arriving
on the beforeUpgrade payload). OverlayDialogs hosts a dedicated
ConfirmationDialog instance in the new "upgradeCascade" mode that
leads with "Upgrade to vX.Y.Z" / "Downgrade to vX.Y.Z" /
"Reinstall vX.Y.Z" and an amber confirm button. Dependent-impact
lists render identically to the uninstall variant (the package_manager
still does an uninstall step first, with the same cascade semantics).

Confirm/Cancel route through the same backend slots
(confirmUninstallCascade / cancelPendingAction); PackageCoordinator
disambiguates from m_pendingAction.op (UpgradeCascade vs
UninstallCascade), so no protocol or .rep changes needed.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* fix: forward upgradeCascadeConfirmationRequested through MainUIBackend

Missing piece from the previous commit: PackageCoordinator emitted the
new signal but MainUIBackend (the QML-exposed backend) didn't re-emit
it, so the Connections { target: backend } block in OverlayDialogs.qml
never fired and the dialog stayed hidden. Symptom: clicking Reinstall
or Downgrade did nothing — the package_manager fired beforeUpgrade,
PackageCoordinator ack'd and emitted the signal, but it died inside
the C++ layer.

Add the signal to MainUIBackend.h and connect PackageCoordinator's
upgradeCascadeConfirmationRequested to it in the constructor, mirroring
how uninstallCascadeConfirmationRequested is forwarded.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* ui: reword upgradeCascade dialog so it stops scaring users

Two corrections to the upgrade/downgrade/reinstall dialog copy.

1. Drop the "Will stop working (installed but not running)" section.
   That heading is true for an uninstall — the module is gone, the
   dependents fail to load next time — but lying for an upgrade: the
   new version lands before they ever try to load again, so they're
   not affected in any user-visible way. Listing them implied breakage
   that wouldn't actually happen.

2. Rename the loaded-dependents heading from "Will be unloaded now:"
   to "Currently running (will be temporarily unloaded):" and rewrite
   the body sentence to spell out that they resume against the new
   version: "The modules below are running on top of it and will be
   unloaded for the swap — they keep working with the new version
   once it lands."

The uninstall dialog's copy is untouched (its "Will stop working"
heading is correct for an actual removal).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* bump dependencies

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-02 17:29:15 -03:00
Iuri Matias cb6c512bda add tooltip for sidebar 2026-05-25 11:13:50 -04:00
Khushboo Mehta faff77e277 feat: add support to show multi unintsall popup 2026-05-11 22:03:08 +05:30
Dario Lipicar 20a3ce3beb switch to new liblogos function names (#173)
* switch to new liblogos function names

* pr comments
2026-04-24 11:00:06 -03:00
Dario Lipicar f4b84ac76e show build info in Dashboard (#162)
* show build info in Dashboard

* fixes

* pr comments

* print to log
2026-04-22 08:47:28 -03:00
Dario Lipicar 5de629a95b improved package management (#155)
* improved package management

* pr comments

* bugfix
2026-04-17 01:16:38 -03:00
Dario Lipicar 3af0290210 rework new ui qml load code into PluginLoader (#143) 2026-04-13 12:39:17 -03:00
Khushboo Mehta ef522becd9 feat: allow loading the new UI view apps, such that their QT plugin is loaded in different process and qml plugin is loaded into basecamp thus providing process isolation between the apps and basecamp 2026-04-10 18:53:12 +02:00
Dario Lipicar b2b1e370d3 async load ui plugins (#112)
* async load ui plugins

* make tests wait until plugin loads async
2026-04-06 11:00:30 -03:00
Dario Lipicar 113b67c733 leverage package-manager-module for module/ui-plugin detection (#110) 2026-03-27 10:57:53 -03:00
Khushboo Mehta c33fdaa148 feat: update qml path for design 2026-03-26 00:17:13 +01:00
Iuri Matias 10b93f5de8 remove usage of the core manager module 2026-03-23 15:28:34 -04:00
Iuri Matias 347c4f69a2 listen to when package manager says a plugin was installed and react to it 2026-03-23 15:28:34 -04:00
Iuri Matias 58d958a8fd use new api to talk to package manager 2026-03-23 15:28:34 -04:00
Khushboo Mehta 1185200a49 fix: use main fild in manifest/metadata json files to determine available plugins 2026-03-20 16:36:25 +01:00
Khushboo Mehta 17ef99cb28 chore: rename repo to logos-basecamp 2026-03-18 14:36:41 +01:00
Khushboo Mehta 8cb0a8d83d feat: update side panel designs 2026-02-27 19:00:23 +01:00
Dario Lipicar ccb4cdba1a properly handle portable modules (#71)
* properly handle portable modules

* preinstall modules on startup instead of bundling them at build time

* get icons from manifest

* consistent user dir

* revert to main branch of dependencies

* add release derivations

* add appimage release job

* fix app icon on Linux
2026-02-26 11:05:34 -03:00
Khushboo Mehta eacd72b67b feat: set correct icon for the TabBar icon 2026-02-17 15:14:58 +01:00
Khushboo Mehta e7020a15ef chore: move logos_dapps/main_ui/ to src/ 2026-02-16 15:43:40 +01:00