Commit Graph

127 Commits

Author SHA1 Message Date
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