Commit Graph

145 Commits

Author SHA1 Message Date
Mikhail Shashin f90e38b2a6 Add listener profile management with background color support 2025-12-23 16:55:49 +03:00
Ralf 00d2aad373 Remove requestors 2025-12-22 00:10:19 +03:00
Ralf d3e1050935 AxManager update 2025-12-22 00:09:58 +03:00
Ralf 737e2d0d7f Process sync update 2025-12-22 00:09:09 +03:00
Ralf 1094c884ff Async requests 2025-12-21 23:52:41 +03:00
Ralf 388c0326c7 small fix 2025-12-21 23:47:33 +03:00
Ralf b4780ab2cc TerminalContainer created 2025-12-21 23:39:09 +03:00
Ralf f5b9da9065 File selector refactoring 2025-12-21 23:30:53 +03:00
Ralf e84ca7ceeb PR update 2025-12-21 23:22:32 +03:00
Mikhail Shashin 9320bb2736 Add project directory support and use it in file dialogs
Add a project directory field to AuthProfile, persist it via Storage, and automatically create the directory (defaulting to ~/AdaptixProjects/<Project> when not set).

Extend the connect dialog (DialogConnect) with a project directory input, automatic path suggestion based on project name, and an inline button to pick the directory via a folder chooser.

Update all relevant file/script save/open flows (AxScript, agents, listeners, downloads, screenshots, credentials, targets, file browser, and script BridgeApp prompts) to use AuthProfile::GetProjectDir() as their initial directory.
2025-12-19 10:24:28 +03:00
Ralf 1c3ab4a1a2 Tables upgrade 2025-12-17 23:41:19 +03:00
Ralf 7e797f25be AxScript upgrade 2025-12-17 23:39:39 +03:00
Ralf ffd69ae362 AxScript upgrade 2025-12-17 23:36:00 +03:00
Ralf 0a47f1628f Sync dialog upgrade 2025-12-17 23:31:42 +03:00
Ralf 7eca6fcea4 tunnel & downloads upgrade 2025-12-17 23:29:30 +03:00
Ralf 063de6afda Create Async HTTP RequestManager 2025-12-17 23:21:58 +03:00
Ralf 2fccd5c51b Tunnels redesign 2025-12-17 01:25:15 +03:00
Ralf d2b22b0017 socks5 - add ipv6 handler 2025-12-14 01:13:39 +03:00
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