Commit Graph

3681 Commits

Author SHA1 Message Date
Brian McGee
a5dfb25dc7 feat(ui): alert component 2025-07-04 10:51:18 +01:00
brianmcgee
1b34aa06a4 Merge pull request 'ui/form-components' (#4118) from ui/form-components into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4118
2025-07-04 08:30:22 +00:00
Johannes Kirschbauer
512f7294e6 lib/convert_inventory_to_machines: add classmethod for common conversion of Machine and InventoryMachine 2025-07-04 10:18:14 +02:00
Johannes Kirschbauer
2e38b314ad lib/get_host: improve abstraction, turn missconfiguration into a warning
Motivation: A warning should encourage consistent usage of inventory.machines setting targetHost inside the machine should be considered a custom override

Changing the warning strings to avoid the term 'nix'/'json' both inventory and nixos machines are nix features
2025-07-04 10:02:06 +02:00
Johannes Kirschbauer
41cafe828f Clan_lib: add filtering by tag to list API 2025-07-04 09:48:21 +02:00
Johannes Kirschbauer
b0c24edd48 cli: move some references to duplicate list machines 2025-07-04 09:32:43 +02:00
Qubasa
e982daf9d9 clan_lib: Move load_in_all_api_functions to clan_lib 2025-07-04 14:22:40 +07:00
Qubasa
d4a67eb1a6 clan_lib: Heavily simplified log_manager and test suite to concentrate on actually used features 2025-07-04 14:05:31 +07:00
Qubasa
43e6351a21 clan_lib: Add better docstrings to log_manager 2025-07-04 13:35:34 +07:00
Qubasa
a4964c4c93 clan_lib: expose log_manager with API.register properly 2025-07-04 13:19:09 +07:00
Qubasa
83e4dcf8f7 clan-cli: Print function name to raise for unsupported types by API.register 2025-07-04 13:17:01 +07:00
DavHau
67a37a9d2c reverting b1f71fe4fb 2025-07-04 10:35:30 +07:00
lassulus
c760561dbd refactor: remove _serialized field and implement efficient vars selection
- Remove _serialized field from vars interface to prevent serialization
  errors with throwing passBackend field
- Implement direct selection of generator fields using multi-select syntax
- Refactor vars_generators() to use new Generator.from_flake() method that
  selects only safe fields (avoiding non-serializable values)
- Remove unused legacy methods: Generator.from_json(), Var.from_json(),
  Prompt.from_json()
- Update precaching to match new selection approach

This fixes the serialization errors that were preventing vars from working
with the new password-store implementation by avoiding the problematic
_serialized field entirely.
2025-07-03 18:53:36 +02:00
lassulus
30bc8cb5d3 flake: prevent outPath in multiselect to avoid serialization issues
When using multiselect with outPath like {outPath,?meta}, nix evaluation
collapses the attrset to just the outPath string, breaking further selection.
Add validation during selector parsing to catch this and provide a clear error.
2025-07-03 18:53:36 +02:00
Brian McGee
98c9414071 fix(ui): disabled storybook derivation
Something about passing orientation in any of the Form stories is causing the browser to crash

`npm run test-storybook-static` works fine in the devshell.

Disabling for now as it's slowing down development.
2025-07-03 17:50:42 +01:00
Brian McGee
dcb7e546ca feat(ui): flatten the Field pattern and introduce Orienter component 2025-07-03 17:50:41 +01:00
Brian McGee
d2a76f4e83 feat(ui): simplify timeout speedup for button stories 2025-07-03 17:50:40 +01:00
Brian McGee
b7792a34c8 feat(ui): Combobox component and style tooltip for label 2025-07-03 17:50:40 +01:00
Brian McGee
3b4fa41840 feat(ui): simplify form components
Better pass through to the underlying Kobalte API without re-defining types.
2025-07-03 17:50:39 +01:00
Brian McGee
9d257c1538 fix(ui): hover and inverted colors for checkbox 2025-07-03 17:50:39 +01:00
Brian McGee
dffbc28723 feat(ui): add fieldset component 2025-07-03 17:50:38 +01:00
Brian McGee
b2a1c8cf6a feat(ui): add form field with text, textarea and checkbox support 2025-07-03 17:50:38 +01:00
Qubasa
85670d1dda clan-app: Implement dynamic groups and array based filtering of logs and groups 2025-07-03 17:49:34 +07:00
lassulus
a055b4d1eb refactor: remove deployment.json and use direct selectors
- Remove deployment.json file generation from outputs.nix
- Add throw for deprecated deployment.file usage with upgrade instructions
- Remove vars data from deployment.data
- Update Machine class to use direct select() calls instead of deployment property
- Update all deployment property accesses to use direct selectors
- Add precaching for frequently accessed values in update.py:
  - Module paths for facts and vars
  - Deployment settings (requireExplicitUpdate, nixosMobileWorkaround)
  - Services and generators data
  - Secret upload locations
- This removes unnecessary JSON serialization and makes the code more composable
2025-07-02 20:56:23 +02:00
Johannes Kirschbauer
9932f170ca machines/update: queue update only for machines_to_update 2025-07-02 19:05:37 +02:00
Johannes Kirschbauer
b1f71fe4fb clan.deployment: unify deprecated option 2025-07-02 18:37:29 +02:00
Johannes Kirschbauer
dfb53deeca cli: fix listing maschines by their name 2025-07-02 18:18:48 +02:00
Mic92
fb3685d721 Merge pull request 'vars: make debug logging less verbose' (#4171) from merge-when-green-joerg into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4171
2025-07-02 11:48:59 +00:00
Luis Hebendanz
412602161c Merge pull request 'clan-app: Init machine based API logging' (#4133) from Qubasa/clan-core:improve_ui_logs into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4133
2025-07-02 11:30:22 +00:00
Qubasa
903331a789 clan-app: whitelist necessary any usage in api./index.tsx 2025-07-02 18:11:28 +07:00
Jörg Thalheim
d434731c22 clan_lib/test_create: fix test when running outside of the sandbox... 2025-07-02 13:04:46 +02:00
Qubasa
721941031e clan-cli: api.py add python header 2025-07-02 17:59:24 +07:00
Qubasa
9cf6cecdae clan-app: Add logging middleware 2025-07-02 17:59:05 +07:00
Johannes Kirschbauer
e6b163cb7a pytest: improve logging a bit 2025-07-02 12:35:02 +02:00
Qubasa
26680bc784 clan-app: simplified task function, moved them to a separate file 2025-07-02 16:18:37 +07:00
Qubasa
7d378ca9fa webview-lib: Moved repo to gitea, updated revision. Removed set_icon 2025-07-02 16:16:37 +07:00
Qubasa
ee5510eda6 clan-app: Add pygdb.sh for debugging crashes in webview-lib 2025-07-02 16:00:55 +07:00
Qubasa
7520f202dd clan-app: Fix .local.env not being sourced 2025-07-02 16:00:34 +07:00
Qubasa
7d307b9b81 ui-2d: Fix build errors 2025-07-02 15:59:50 +07:00
Johannes Kirschbauer
12730428bb test: enable unsafe teardown of tempDir
aarch64 libc or kernel might be stricter in keeping files locked while they're open.
This causes failed teardown of the tmpdir
2025-07-02 09:27:05 +02:00
Johannes Kirschbauer
8f6f06bef3 Revert "Merge pull request 'Make state-version generation an clan option' (#4056) from state-version-option into main"
This reverts commit 8a7b6d13b5, reversing
changes made to 7a4eeb5b16.
2025-07-01 18:15:11 +02:00
Jörg Thalheim
41862ef3d3 vars: make debug logging less verbose 2025-07-01 15:04:03 +02:00
hsjobeki
69f070ac70 Merge pull request 'Lib/flakes: remove self references' (#4165) from fix-lib into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4165
2025-07-01 12:03:52 +00:00
Johannes Kirschbauer
20e17b0e56 Lib/flakes: remove self references 2025-07-01 13:57:49 +02:00
hsjobeki
bacff5c49f Merge pull request 'clan_lib/tests: add big fat warning comment to save peoples time' (#4168) from test-1+ into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4168
2025-07-01 11:19:13 +00:00
Johannes Kirschbauer
9e8bf61156 clan_lib/tests: add big fat warning comment to save peoples time 2025-07-01 12:30:17 +02:00
Johannes Kirschbauer
667cee0f6e buildClan: replace all usages by lib.clan 2025-07-01 11:56:31 +02:00
lassulus
5262eaeedf Merge pull request 'clanLib: remove select' (#4158) from fix-lib into main
Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4158
Reviewed-by: lassulus <clanlol@lassul.us>
2025-06-30 15:31:06 +00:00
Brian McGee
839f94d2c7 feat(ui): use fake timer in tests and real timer in browser for storybook interaction tests
I believe the time-based tests are falsely failing when the CI machine is under high load. This also speeds up the tests in CI.

I'm not 100% happy with the approach, but this should resolve CI issues in the short term until I can improve things.
2025-06-30 15:19:57 +01:00
Johannes Kirschbauer
4f496a84f9 clanLib: remove select 2025-06-30 16:14:01 +02:00