Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
fb7061a
feat(history): add icons for history panel
PierreRaybaut May 15, 2026
28d8df5
feat: add history panel
PierreRaybaut May 15, 2026
27acd38
fix(test): locate duplicate/result via group in geometry_results test
PierreRaybaut May 15, 2026
95c4209
feat(history): add delete action and update menu state in history panel
PierreRaybaut May 15, 2026
3498eb6
feat(history): add entry logging to history panel for compute operations
PierreRaybaut May 15, 2026
9af6266
test(history): enhance history application tests with comprehensive s…
PierreRaybaut May 15, 2026
4b0ebd0
feat(history): enhance history panel with collapsible description wid…
PierreRaybaut May 15, 2026
d5a7bba
feat(history): implement UUID-based selection tracking in history pan…
PierreRaybaut May 15, 2026
568f642
refactor(history): drop pickled Callable, type entries by kind
PierreRaybaut May 15, 2026
26fb20c
refactor(history): share ProcessingParameters between metadata and hi…
PierreRaybaut May 15, 2026
6813f63
feat(history): add French translations for history-related error mess…
PierreRaybaut May 15, 2026
ad93527
test(history): cover workspace .h5 roundtrip and replay edge cases
PierreRaybaut May 15, 2026
88985e0
fix(history): force selection restore for compute actions on replay
PierreRaybaut May 16, 2026
1c101af
fix(history): remap UUIDs across actions during session replay
PierreRaybaut May 16, 2026
13f9450
feat(history): add tests and documentation for History Panel function…
PierreRaybaut May 16, 2026
389613b
feat(short-id): implement clickable short ID links in object titles
PierreRaybaut May 16, 2026
ab08781
Merge branch 'develop' into feature/history-panel
PierreRaybaut May 17, 2026
5100ee5
feat(translations): update French translations for various UI element…
PierreRaybaut May 17, 2026
7023c2a
Merge branch 'develop' into feature/history-panel
PierreRaybaut May 17, 2026
5165b42
Merge branch 'develop' into feature/history-panel
PierreRaybaut May 19, 2026
03c7bbc
Fix pylint warnings
PierreRaybaut May 19, 2026
d5eae1e
Update History Panel
dappham-CODRA Jun 3, 2026
2aef1dc
Update doc and translation
dappham-CODRA Jun 3, 2026
3a55ab0
feat(history): refactor history panel and replay workflow
dappham-CODRA Jun 4, 2026
be04ba0
Merge branch 'develop' into feature/history-panel
ThomasMalletCodra Jun 24, 2026
5cc3091
run ruff linter and fix warnings
ThomasMalletCodra Jun 24, 2026
8b88420
fix translations after merge
ThomasMalletCodra Jun 24, 2026
c8359ef
style: run ruff and fix pylint warnings on history panel
dappham-CODRA Jun 25, 2026
b95c62e
Feat: Make object creation actions editable in the history panel
dappham-CODRA Jun 29, 2026
2a1e7f6
Fix: Redundant edit-mode replay dialogs and incomplete downstream rec…
dappham-CODRA Jun 29, 2026
25bd3ec
Feat: Creation parameters tab cascades downstream recompute + plugin/…
dappham-CODRA Jun 29, 2026
3e7bb5a
Fix: Deleting an image history action no longer switches to Signal panel
dappham-CODRA Jun 29, 2026
70dc975
Fix: Generated macro 'object has no attribute uuid' error for 2-to-1 …
dappham-CODRA Jun 29, 2026
45239dd
Feat(history): Panel-scoped workspace state — fix misleading cross-pa…
dappham-CODRA Jun 30, 2026
dc9aaba
Feat(history): Offer a new session when creating or loading an object…
dappham-CODRA Jun 30, 2026
852d392
Feat(history): Disable history auto-record by default
dappham-CODRA Jun 30, 2026
28cdf48
Feat(history): Persist action UUID and register outputs for creation …
dappham-CODRA Jun 30, 2026
877f197
Feat(history): Add headless deterministic fit evaluator (C1)
dappham-CODRA Jun 30, 2026
c26c2fb
Feat(history): Record interactive curve fits as deterministic replay …
dappham-CODRA Jun 30, 2026
c2a6cda
Style(history): Apply ruff formatting to base.py except clause
dappham-CODRA Jun 30, 2026
2128106
Test(history): Characterization tests locking cascade-recompute behav…
dappham-CODRA Jun 30, 2026
54dc962
Refactor(history): Unify 1-to-1 in-place reprocess on single primitiv…
dappham-CODRA Jun 30, 2026
2d75374
Refactor(history): Decouple apply_processing_parameters from the edit…
dappham-CODRA Jun 30, 2026
8c00111
Refactor(history): Drop selection side-effect in recompute_processing…
dappham-CODRA Jun 30, 2026
80b505f
Feat(history): Per-panel active-session recording routing (A1)
dappham-CODRA Jun 30, 2026
8e56ec8
Feat(history): Highlight active recording session per panel (A2)
dappham-CODRA Jun 30, 2026
cc78020
I18n(history): Translate per-panel history session strings (fr)
dappham-CODRA Jun 30, 2026
a6896b3
Fix: Stabilize history panel identity and failed-compute capture
dappham-CODRA Jun 30, 2026
bbe390f
Feat(history): Add object processing history panel
dappham-CODRA Jun 30, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion datalab/aiassistant/tools/builtin.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@
from datalab.aiassistant.providers.base import ChatMessage
from datalab.aiassistant.tools.registry import Tool, ToolRegistry, ToolResult
from datalab.gui.actionhandler import ActionCategory
from datalab.objectmodel import get_uuid

if TYPE_CHECKING:
from datalab.control.proxy import LocalProxy
Expand Down Expand Up @@ -412,7 +413,7 @@ def _tool_load_file(
return {
"filename": filename,
"panel": panel_widget.PANEL_STR_ID,
"loaded": [{"uuid": o.uuid, "title": o.title} for o in objs],
"loaded": [{"uuid": get_uuid(o), "title": o.title} for o in objs],
}


Expand Down
6 changes: 6 additions & 0 deletions datalab/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -297,6 +297,11 @@ class ProcSection(conf.Section, metaclass=conf.SectionMeta):
# - False: do not ignore warnings
ignore_warnings = conf.Option()

# Automatically start recording history at DataLab launch:
# - True: history recording is enabled at startup (default)
# - False: user must enable it manually via the History panel toolbar
history_auto_record = conf.Option()

# X-array compatibility behavior for multi-signal computations:
# - "ask": ask user for confirmation when x-arrays are incompatible (default)
# - "interpolate": automatically interpolate when x-arrays are incompatible
Expand Down Expand Up @@ -643,6 +648,7 @@ def initialize():
Conf.proc.keep_results.get(False)
Conf.proc.show_result_dialog.get(True)
Conf.proc.ignore_warnings.get(False)
Conf.proc.history_auto_record.get(False)
Conf.proc.xarray_compat_behavior.get("ask")
Conf.proc.small_mono_font.get((configtools.MONOSPACE, 8, False))
# View section
Expand Down
44 changes: 44 additions & 0 deletions datalab/data/icons/edit_mode.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
43 changes: 43 additions & 0 deletions datalab/data/icons/record.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
51 changes: 51 additions & 0 deletions datalab/data/icons/replay.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
66 changes: 66 additions & 0 deletions datalab/data/icons/restore_and_replay.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
52 changes: 52 additions & 0 deletions datalab/data/icons/restore_selection.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading