| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | feat(newos4): AI paged file reads, durable tool traces, 12k context budget, ↵ | Agando | 2026-10-21 | 1 | -1/+1 |
| | | | | | | | | | | | read/tool/verify prompt rules (v4.6.46) - read_file: offset/limit + JSON {total_chars,truncated,next_offset} (was a hard 8000-char cut with no resume) - tool results now leave a per-turn trace that is persisted into session context and survives compression - maxContextTokens 2000 -> 12000; compression keeps 8 exchanges and 400 chars/msg - system prompt: page big files, prefer grep -n / sed -n / head, re-read + verify after every edit - verified in the live browser: 30k file pages 0->8000->16000, prompt section present, v4.6.46 served | ||||
| * | fix(newos4): download link uses the user's space; WebDAV share copies ↵ | Agando | 2026-10-21 | 1 | -1/+1 |
| | | | | | | | | | | | | | verified file links; preview fullscreen+share; files->WebDAV upload button (v4.6.45) - download: URL built from _resolveSpaceName() (config url = logged-in user), not the page space - WebDAV browser 🔗: shares selected FILES only, URL-encoded, HEAD-verified (200) before claiming success; folders offer a tar fallback instead of a guaranteed-403 link - file manager preview: ⛶ fullscreen + 🔗 copy-link toolbar (was none) - file manager toolbar: ☁ WebDAV publishes selected/current file via webdav-push - modules/test/test-download-url.js: 4 PASS - rebuild bundles, bump v4.6.44 -> v4.6.45 (loader + 3 script tags) | ||||
| * | fix(newos4): stop agent accumulation on reload — stable role ids + boot ↵ | Agando | 2026-10-18 | 1 | -1/+1 |
| | | | | | | | | | | | reconciliation - spawnAgent() accepts an idHint and is idempotent; boot team uses agent-<role> - _reanimateFromVFS() adopts newest dir per default role, fs.rm()s duplicates/orphans - _bootAgents() awaits async VFS hydration before reconciling, then spawns only gaps - scripts/test-agents-reload.js: 5-boot regression + hydration-race test - v4.6.44 bundle rebuild + cache-bust | ||||
| * | newOS4 v4.6.40: review fixes (bug diagnostics, trash tree, dir paste, stale ↵ | Agando | 2026-10-18 | 1 | -1/+1 |
| | | | | | capture, preview) | ||||
| * | newOS4 v4.6.38: auto-file fatal errors with 3/day quota (A5) | Agando | 2026-10-18 | 1 | -1/+1 |
| | | |||||
| * | newOS4 v4.6.37: bug-report pipeline (report.php, bug command, HTML ↵ | Agando | 2026-10-18 | 1 | -1/+1 |
| | | | | | generator, telemetry-loop fix) | ||||
| * | newOS4 v4.6.36: fix CourseModule print-capture swallowing all command output | Agando | 2026-10-18 | 1 | -1/+1 |
| | | |||||
| * | newOS4 v4.6.35: file manager multi-select + safe paste/rename/delete (Part B) | Agando | 2026-10-18 | 1 | -1/+1 |
| | | |||||
| * | newOS4 v4.6.34: running tool ledger in the prompt (D4) | Agando | 2026-10-18 | 1 | -1/+1 |
| | | |||||
| * | newOS4 v4.6.33: progress-based turn budget (D3) | Agando | 2026-10-18 | 1 | -1/+1 |
| | | |||||
| * | newOS4 v4.6.31: tool-result memo cache with epoch invalidation (D2) | Agando | 2026-10-18 | 1 | -1/+1 |
| | | |||||
| * | newOS4 v4.6.30: per-agent session isolation (D1) | Agando | 2026-10-18 | 1 | -1/+1 |
| | | |||||
| * | newOS4 v4.6.29: progress-aware loop guard + agent attribution | Agando | 2026-10-18 | 1 | -1/+1 |
| | | |||||
| * | newOS4 v4.6.28: cache-bust course.js after review fixes | Agando | 2026-10-18 | 1 | -1/+1 |
| | | |||||
| * | newOS4: interactive AI course (terminal module, portal, atlas, telemetry, ↵ | Agando | 2026-10-18 | 1 | -2/+2 |
| | | | | | daily maintenance+cron) + free store card | ||||
| * | auto: 2026-07-29_20:45 changes | Agando | 2026-10-15 | 1 | -1/+1 |
| | | |||||
| * | auto: 2026-07-29_20:45 changes | Agando | 2026-10-08 | 1 | -1/+1 |
| | | |||||
| * | newOS4 v4.6.18: nginx dav trailing-slash semantics | Agando | 2026-10-02 | 1 | -1/+1 |
| | | | | | | | | | | | | Discovered by dav-health-check.sh E2E (10/10 pass now): - nginx dav module REQUIRES trailing slash on MKCOL (no-slash → 409) and on directory DELETE (no-slash → 409/404); existing dir + slash MKCOL → 405 (the real 'already exists' signal) - _normalizeRemotePath now PRESERVES trailing slashes (collection ops) - _ensureDir MKCOLs with trailing slash - _deleteFile retries with slash on 409/404 (collection delete) - health-check expectations corrected (405 = existing, slash required) | ||||
| * | newOS4 webdav path fix + WebX11 resilience package (2026-10-02) | Agando | 2026-10-02 | 1 | -1/+1 |
| | | | | | | | | | | | | | | | | | | | | | Root cause fixes (mindtech incident): - webdav.js: _normalizeRemotePath strips full URLs/space prefixes, applied to all request entry points + _absoluteUrl for MOVE/COPY Destinations - _ensureDir: __list__ existence fast-path (kills MKCOL 409 storms) - dashboard-files.js: updateFilesJson parses __list__ autoindex (no more '#' entries), ensureSpaceExists only re-inits on genuine 404 - 20-test regression suite: scripts/test-webdav-paths.mjs Resilience: - dav-auth-check.py: server-side WebDAV write auth microservice (nginx auth_request on 8904) — anonymous/wrong-token writes now 401 - fail2ban-telegram.py: ban alerts + auto-unban for known space users - backup-spaces.sh: daily hardlink snapshots, 14-day retention - space-health-check.py: junk dirs / myfiles.json / version drift / session sanity → Telegram alerts - dashboard-files.js: visible 503 error panel with Retry + auto-retry - v4.6.16: main.html + module-loader LATEST_VER aligned (was drifted) | ||||
| * | feat: register kanban in module-loader, bump to v4.6.11 | Agando | 2026-07-29 | 1 | -1/+1 |
| | | |||||
| * | auto: 2026-07-09_06:00 changes | Agando | 2026-07-09 | 1 | -1/+1 |
| | | |||||
| * | auto: 2026-07-02_06:00 changes | Agando | 2026-07-02 | 1 | -2/+2 |
| | | |||||
| * | auto: 2026-06-25_06:00 changes | Agando | 2026-06-25 | 1 | -1/+1 |
| | | |||||
| * | auto: 2026-06-23_06:00 changes | Agando | 2026-06-23 | 1 | -5/+7 |
| | | |||||
| * | auto: 2026-06-22_18:00 changes | Agando | 2026-06-22 | 1 | -1/+1 |
| | | |||||
| * | auto: 2026-06-19_18:01 changes | Agando | 2026-06-19 | 1 | -1/+1 |
| | | |||||
| * | auto: 2026-06-18_18:00 changes | Agando | 2026-06-18 | 1 | -1/+1 |
| | | |||||
| * | auto: 2026-06-18_06:00 changes | Agando | 2026-06-18 | 1 | -1/+1 |
| | | |||||
| * | auto: 2026-06-17_06:01 changes | Agando | 2026-06-17 | 1 | -1/+1 |
| | | |||||
| * | auto: 2026-06-16_06:00 changes | Agando | 2026-06-16 | 1 | -2/+2 |
| | | |||||
| * | auto: 2026-06-15_06:00 changes | Agando | 2026-06-15 | 1 | -1/+1 |
| | | |||||
| * | auto: 2026-06-14_06:00 changes | Agando | 2026-06-14 | 1 | -2/+2 |
| | | |||||
| * | auto: 2026-06-13_18:00 changes | Agando | 2026-06-13 | 1 | -143/+24 |
| | | |||||
| * | auto: 2026-06-13_06:00 changes | Agando | 2026-06-13 | 1 | -1/+1 |
| | | |||||
| * | auto: 2026-06-11_18:00 changes | Agando | 2026-06-11 | 1 | -1/+13 |
| | | |||||
| * | auto: 2026-06-10_18:00 changes | Agando | 2026-06-10 | 1 | -1/+1 |
| | | |||||
| * | auto: 2026-06-10_06:00 changes | Agando | 2026-06-10 | 1 | -2/+2 |
| | | |||||
| * | auto: 2026-06-09_18:00 changes | Agando | 2026-06-09 | 1 | -1/+2 |
| | | |||||
| * | auto: 2026-06-09_06:00 changes | Agando | 2026-06-09 | 1 | -3/+2 |
| | | |||||
| * | auto: 2026-06-08_18:00 changes | Agando | 2026-06-08 | 1 | -2/+2 |
| | | |||||
| * | auto: 2026-06-07_18:00 changes | Agando | 2026-06-07 | 1 | -1/+1 |
| | | |||||
| * | auto: 2026-06-06_18:01 changes | Agando | 2026-06-06 | 1 | -1/+1 |
| | | |||||
| * | auto: 2026-06-06_06:00 changes | Agando | 2026-06-06 | 1 | -3/+2 |
| | | |||||
| * | auto: 2026-06-05_18:01 changes | Agando | 2026-06-05 | 1 | -1/+5 |
| | | |||||
| * | auto: 2026-06-04_06:00 changes | Agando | 2026-06-04 | 1 | -3/+3 |
| | | |||||
| * | auto: 2026-06-02_18:00 changes | Agando | 2026-06-02 | 1 | -2/+5 |
| | | |||||
| * | auto: 2026-06-02_06:00 changes | Agando | 2026-06-02 | 1 | -3/+5 |
| | | |||||
| * | auto: 2026-06-01_18:00 changes | Agando | 2026-06-01 | 1 | -2/+2 |
| | | |||||
| * | auto: 2026-06-01_06:00 changes | Agando | 2026-06-01 | 1 | -1/+1 |
| | | |||||
| * | auto: 2026-05-30_06:00 changes | Agando | 2026-05-30 | 1 | -1/+1 |
| | | |||||