12 Commits
Author SHA1 Message Date
ArdaandClaude Opus 5.5 f22d4852c9 Fix Manage Kits for apps read from a device
The schema built from a Sox session spelled checksums as signed decimals,
so no kit matched a manifest: Installed showed raw checksums and Action
read "Keep at checksum ...". They are now 8 hex digits like a .sax file,
and checksums compare regardless of zero-padding.

A device session only loads folders as they are opened, so only sys
counted as used. Used kits now come from the whole component tree, read
one request at a time so a small controller is not flooded into dropping
the session.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 16:10:53 +03:00
ArdaandClaude Opus 4.6 48dfd82832 Kit Manager: detect unsupported kits via platform database
Scan sedona/platforms/db/ to find which native kits are compiled for
the SAX's platform.  Kits with native code for other platforms, kits
providing a PlatformService for a different device, and their
transitive dependents are placed in a "Not supported" section with a
red-cross checkbox that cannot be toggled.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-09-11 14:21:00 +03:00
ArdaandClaude Opus 4.6 f1cc15f70f Export XLS: add timestamp to default filename
The save dialog now suggests e.g. normal_kits_20260911_143200.xlsx
so successive exports never collide.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-09-11 13:17:39 +03:00
ArdaandClaude Opus 4.6 d3d141cca8 Kit Manager: add Export as XLS button
Saves the kit table to an Excel file with section headers, check
marks, and all four data columns. Default filename is based on the
open SAX file.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-09-11 13:06:30 +03:00
ArdaandClaude Opus 4.6 db8472371e Kit Manager: rename section to "Kits available on the computer"
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-09-09 08:26:40 +03:00
Arda 3fde5bdcc1 Revert "Kit Manager: split available kits by dependency compatibility"
This reverts commit 61888396a5.
2026-09-09 08:25:18 +03:00
ArdaandClaude Opus 4.6 61888396a5 Kit Manager: split available kits by dependency compatibility
Renamed "Kits to be installed" to "Kits available on the computer"
for kits whose dependencies are all in the app. Kits with unmet
dependencies go into a greyed-out "Other kits on the computer" section
that cannot be selected or ticked.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-09-09 08:20:09 +03:00
ArdaandClaude Opus 4.6 4591353453 Kit Manager: all columns fixed width with horizontal scrollbar
No columns stretch — sizes are set for the longest kit name
(ontrolModbusTcpSlaveSmart) and action text (Keep with no checksum).
A horizontal scrollbar appears when the pane is narrower than the
total column width.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-09-09 08:12:51 +03:00
ArdaandClaude Opus 4.6 943ec1a844 Kit Manager: fixed-width columns, only Kit name stretches
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-09-09 08:02:08 +03:00
ArdaandClaude Opus 4.6 703e2faa5c Fix missing checkbox image for unchecked required kit
The boxes dict was missing the (False, False) key — an unchecked kit
that is also required — which caused a KeyError when the Kit Manager
opened automatically for files with incomplete checksums.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-09-08 23:32:44 +03:00
ArdaandClaude Opus 4.6 a77edead25 Manage Kits as embedded panel, fix checksum zero-padding mismatch
Manage Kits now opens inside the editor pane (like Properties and Link
View) instead of a separate Toplevel window. Also normalize hex
checksums by stripping leading zeros so .kit and manifest filenames
that disagree on padding (e.g. 462d43e vs 0462d43e) still resolve to
a version.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-09-08 21:08:59 +03:00
ArdaandClaude Opus 5 01dadea610 Manage kits: reconcile the schema on save, and a dialog to repin builds
Placing a palette component no longer edits <schema> straight away. The kit is
noted as pending, its manifest is compiled so the box can be painted, and the
status bar says the kit will be declared on save. The <schema> block is then
reconciled when the file is written, in the one place that can report the whole
kit list the file will carry, with each kit's version and checksum.

What a kit's manifest depends on counts as used too, transitively, so placing a
component can bring in more than one entry: hvac pulls in types, ontrolPion
pulls in ontrolPlatform.

New Kits > Manage Kits... dialog lists every kit in three groups -- needed by
the app, declared but unused, and merely installed -- with the pinned build, the
newest installed build, and an Action dropdown of every build a kit ships.
The tick means the schema declares the kit: grey and fixed for kits the app
needs, unticked to remove, ticked to add at the newest build. "Upgrade all kits
to latest version" moves every declared kit; "Update kits" applies the ticks and
the Action column, additions and removals included.

Every schema change is applied as a batch, then verified: a missing manifest or
a component type that stops resolving reverts the whole block and reports why,
and a kit the app needs cannot be removed. Changes are one undo step, which
recompiles the slot registry in both directions since a repin can change a
component's slots.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-21 12:06:25 +03:00