Ralf
7976d19f54
DB refactoring... for resave old db use db_resaver.py
2025-12-11 23:51:55 +03:00
Ralf
bb744e27a5
PR update
2025-12-09 21:47:45 +03:00
Mikhail Shashin
ee23267085
Add per-widget notification settings with dynamic registry
...
- Add WidgetRegistry for automatic widget registration via REGISTER_DOCK_WIDGET macro
- Implement per-widget notification enable/disable in Settings dialog
- Store widget notification preferences in JSON format in database
- Use C++ RTTI for class name detection (no Q_OBJECT required in widgets)
- Cache class name in AbstractDock::getClassName() for performance
- Sort widget checkboxes alphabetically with proper spacing in UI
- Lazy initialization of DialogSettings to avoid static init order issues
2025-12-08 05:55:28 +03:00
Ralf
acbe8deb69
PR update
2025-12-06 22:26:28 +03:00
Brice | bri5ee
6a1abadfb9
Add files via upload
2025-11-29 19:32:44 -08:00
Ralf
fc32e6328c
sync update
2025-11-26 00:17:49 +03:00
Ralf
6e93c9da6b
fix upload/download/sync
2025-11-23 19:23:37 +03:00
Ralf
b759915d53
PR upd
2025-10-26 02:29:13 +03:00
Ralf
23d4bc6c26
Merge branch 'dev-0.10' into feature/sync-optimization-backward-compat
2025-10-26 02:24:35 +03:00
Ralf
5ccf1d1264
features from pull/173
2025-10-26 01:12:26 +03:00
lsroot
a6e5b41f46
fix: Critical fixes for batch sync optimization
...
Critical Bug Fixes:
- Fix version detection logic (string comparison bug)
- Fix JWT refresh token version loss
- Fix C++ private member access (add GetLogsConsoleTextEdit accessor)
- Fix missing header guard in LogsWidget.h
Performance Optimizations:
- Optimize concurrent lock handling (serialize outside lock)
- Reduce lock hold time from ~2s to ~100ms (95% improvement)
Backward Compatibility:
- Support v0.10 batch sync (current dev branch)
- Auto-fallback to legacy mode for v0.9 and earlier
- Version detection via JWT claims
Version Support Matrix:
- v0.9 and earlier: Legacy mode (individual packets)
- v0.10+: Batch mode (6x performance improvement)
Files Modified:
Server:
- ts_clients.go: Fix version parsing, support >= 0.10
- ts_sync.go: Pre-serialize packets outside lock
- jwt.go: Add version to refresh token
- tc_client.go: Pass version to token generation
Client:
- LogsWidget.h: Add public accessor, fix header guard
- ProcessSyncPacket.cpp: Use accessor instead of private member
Performance Impact:
- 3000 logs sync: 6s → 1s (83% faster)
- Lock contention: 95% reduction
- Concurrent throughput: 20x improvement
2025-10-24 10:09:51 +08:00
lsroot
e01a080429
feat: Add backward compatibility for batch sync optimization
...
- Add version detection via JWT token claims
- Support both legacy (v0.10) and optimized (v0.11+) sync modes
- Default to legacy mode for old clients (supportsBatchSync=false)
- Enable batch sync for clients version >= 0.11.0
- Add version field to Client, Credentials, and JWT Claims
- Implement automatic fallback to individual packet transmission
- Update client login to send FRAMEWORK_VERSION
Server changes:
- ts_clients.go: Add version detection and supportsBatchSync flag
- ts_sync.go: Add legacy fallback for old clients
- utils.go: Add version field to Client struct
- jwt.go: Add version to JWT claims
- tc_client.go: Extract and propagate version from credentials
- connector.go: Update interface signature
Client changes:
- Requestor.cpp: Send version in login request
This ensures zero-downtime deployment with mixed client versions.
2025-10-24 09:02:10 +08:00
lsroot
7ba6c79394
feat(sync): Phase 2 - Deep optimization with DirectAccess and categorization
...
Implement deep performance optimizations for log synchronization.
Server-side changes:
- Add DirectAccess() method to safe.Slice for zero-copy iteration
- Replace all Iterator() calls with DirectAccess() (10-15% faster)
- Implement type-based packet categorization (getPacketCategory)
- Add TYPE_SYNC_CATEGORY_BATCH (0x15) for organized batching
- Add SyncPackerCategoryBatch structure
- Update performance monitoring with category statistics
Client-side changes:
- Add TYPE_SYNC_CATEGORY_BATCH support
- Add category batch validation
- Unified batch processing for both batch types
Performance improvements:
- Eliminate slice copy overhead in Iterator
- Remove goroutine and channel creation overhead
- Improve cache locality with categorized transmission
- Better debugging with per-category statistics
Optimized functions:
- TsPresyncAgents, TsPresyncPivots, TsPresyncChat
- TsPresyncCredentials, TsPresyncTargets, TsPresyncEvents
Expected sync time for 3000 logs: 1.5s -> 0.8s (87% total improvement)
Related: Phase 1 batch transmission optimization
2025-10-24 08:41:05 +08:00
Ralf
bc90630888
Targets Manager updated
2025-10-23 23:33:49 +03:00
lsroot
b037a729cd
feat(sync): Phase 1 - Implement batch transmission optimization
...
Optimize client-server log synchronization performance with batch processing.
Server-side changes:
- Add TYPE_SYNC_BATCH (0x14) packet type
- Implement batch transmission in TsSyncStored() (BATCH_SIZE=100)
- Add SyncPackerBatch structure for batch packets
- Add performance monitoring with timing logs
Client-side changes:
- Add TYPE_SYNC_BATCH packet type definition
- Implement batch packet validation in isValidSyncPacket()
- Add batch processing logic in processSyncPacket()
- Optimize UI updates with setUpdatesEnabled() for batch operations
- Add sync performance tracking and display
Performance improvements:
- Reduce WebSocket calls from N to N/100 (99% reduction)
- Reduce UI update operations by 99%
- Expected sync time for 3000 logs: 6s -> 1.5s (75% improvement)
Related issue: Slow sync performance with 3000+ logs
2025-10-24 01:51:57 +08:00
Ralf
1156bebba2
Sessions Table update
2025-10-22 23:48:38 +03:00
Ralf
12efbdd369
Tasks Manager update
2025-10-21 22:19:35 +03:00
Ralf
f566518d64
PR update
2025-09-25 22:04:10 +03:00
Ralf
437a71ca4e
Add TS API
2025-09-25 19:47:20 +03:00
Ralf
dedca899ef
Client Update to Docks
2025-09-24 21:48:24 +03:00
Ralf
7fc83101f4
Client upd
2025-09-22 15:13:14 +03:00
Ralf
c2e60cd3de
Terminal tasks saver
2025-09-08 10:55:29 +03:00
Ralf
bd2e566cf3
PR update
2025-09-07 13:46:48 +03:00
Exil
6b7ac8f799
Merge branch 'dev-v0.9' into add_chat
2025-09-05 16:17:56 +02:00
SETTAI Yassine
f99295422f
Fix typo
2025-09-05 16:10:56 +02:00
SETTAI Yassine
ee9d08accb
Add chat support
2025-09-05 16:10:41 +02:00
Ralf
3d97f03403
Client targets update
2025-09-05 12:36:29 +03:00
Ralf
a321b1fc41
update
2025-08-28 09:49:36 +03:00
Ralf
a90a9a5967
AxScript update events
2025-08-24 12:48:02 +03:00
Shantanu Khandelwal
b1b74362af
Update BridgeApp.cpp
2025-08-24 10:30:13 +08:00
Shantanu Khandelwal
8db286c27a
Update BridgeApp.cpp
2025-08-24 08:39:25 +08:00
Your Name
88caf38ac1
Added setTimeout setInterval clearInterval file_write
2025-08-23 13:31:09 +00:00
Ralf
e5cb438f32
Add new theme + any fix
2025-08-23 11:29:40 +03:00
Ralf
bf187c4714
target and creds update
2025-08-19 12:32:23 +03:00
Ralf
43428bb978
ax new functions
2025-08-18 15:10:12 +03:00
Ralf
6de7c0afb0
creds update
2025-08-17 16:45:24 +03:00
Ralf
8d774f9244
ax add targets api
2025-08-16 12:37:05 +03:00
Ralf
b06b1fb25e
tag for creds and targets
2025-08-15 14:49:42 +03:00
Ralf
e534c984a4
Manage targets
2025-08-14 08:38:37 +03:00
Ralf
64fd590402
AddTarget
2025-08-12 10:18:25 +03:00
Ralf
43ca7df6a3
Add targets table
2025-08-11 10:25:51 +03:00
Ralf
0bf2cdea9a
Client: Listeners update
2025-08-10 19:10:09 +03:00
Ralf
73b2a58c16
ax update
2025-08-04 09:46:42 +03:00
Ralf
e16ba2506d
update
2025-08-02 15:41:40 +03:00
Ralf
674a1c45e2
Update BridgeApp.cpp
2025-07-29 18:32:39 +03:00
Ralf
04e8e44820
Update AxElementWrappers.cpp
2025-07-29 10:27:58 +03:00
Ralf
c61ae97b08
Update ProcessSyncPacket.cpp
2025-07-28 21:46:02 +03:00
Ralf
ac0a35f8fe
Ax update
...
go mod update
ts fix
2025-07-28 10:51:52 +03:00
Ralf
4a9fda7e43
Ax update
2025-07-27 21:57:46 +03:00
Ralf
86d09d562b
agent setters rewrite to ax
2025-07-27 11:23:46 +03:00