100 Commits
Author SHA1 Message Date
abdus 7e8541d5d7 feat(snot): add search history and purge command 2026-10-28 08:37:23 +00:00
abdus afdb0ac636 feat(download_imageset): Use tricklebar for download when possible 2026-10-21 01:56:33 +03:00
abdus 50ea658fc7 fix: Resume unfinished imageset downloads 2026-10-20 12:59:23 +00:00
abdus be47aede02 feat: Add script for trimming still sections off of a video 2026-10-20 10:08:35 +03:00
abdus f449d692a8 chore: Delete unused scripts 2026-10-20 07:43:00 +03:00
abdus 5ecff074af feat: Add YouTube subtitle generation script 2026-10-20 04:34:18 +00:00
abdus e59f2d4825 feat: Add video transcription script 2026-10-20 04:34:16 +00:00
abdus f6381d4c35 feat: Add subtitle translation script 2026-10-20 04:34:15 +00:00
abdus f867799876 feat: Add subtitle timing and segmentation script 2026-10-20 04:34:13 +00:00
abdus be9670b653 feat: Add aria2 download completion hook 2026-10-20 04:34:11 +00:00
abdus 06fcd7a10f feat: Add version tag bump script 2026-10-20 07:31:39 +03:00
abdus ba23a185be fix(download_imageset): Skip processed images 2026-10-20 07:29:03 +03:00
abdus a443eeb042 feat(router): Add router_refresh_ip.py to get a new CGNAT public IP
Standalone script that drops and re-establishes the router's PPPoE session
without a full reboot. Mirrors router_ui.py's RouterSession pattern: a
context manager that always logs out on exit, the CSRFToken header required
for writes since ABSB.5, and tolerant handling of the Disconnect/Connect
calls timing out with a Connect retry if the link doesn't come back up.

Confirmed working live: WAN IP and public IP (checked via api.ipify.org)
both changed after a run.
2026-10-19 00:33:45 +03:00
abdus 969046dec2 feat(router): Rework dashboard layout, add public IP/log controls, fix writes on ABSB.5
- Full-width CSS grid layout with Ping/Line/Connection cards at equal height
- Show public IP (via api.ipify.org) alongside WAN IP, with a "Get new public IP"
  button that drops and re-establishes the PPPoE session
- Replace the wrong oid=zlog log endpoint with the real one the stock UI uses,
  and add a logging on/off toggle (router logging was off by default)
- Poll the router in background threads with cached responses, since a live
  /api/overview request took ~16s and made the page hang on "Connecting..."
- Fix: writes (DNS, logging toggle, reboot, WAN disconnect/connect) started
  returning 403 after the ABSB.5 firmware upgrade; it now requires the session
  key repeated in a CSRFToken header on every POST/PUT/DELETE, not just the
  ?sessionkey= query param GETs still accept
- Fix: Router is now a context manager that always logs out in __exit__, and
  SIGTERM (what pkill sends) now triggers that cleanup too -- previously every
  restart during dev leaked a session until the router hit its concurrent
  login limit and locked out all further logins
- Fix: WAN Disconnect/Connect often don't return an HTTP response before the
  link they're answering over drops; treat that timeout as "sent, unknown
  outcome" and verify by polling instead of crashing, and retry Connect if
  the router's own auto-reconnect doesn't kick in (it can get stuck at N/A)
2026-10-19 00:33:39 +03:00
abdus c781ad84c4 chore(router): Rename reset_router.py to router_reset.py 2026-10-19 00:33:24 +03:00
abdus 545098eceb feat(router): Add local dashboard with auto-login, status, devices and restart 2026-10-18 22:50:39 +03:00
abdus cc6fe142f0 feat(router): Log DSL, PPPoE and ping health to a CSV to tell ISP drops from device drops 2026-10-18 22:50:39 +03:00
abdus 6294dc0555 refactor(router): Reboot the router over HTTPS with stdlib instead of Playwright 2026-10-18 22:50:39 +03:00
abdus 3b81216892 fix(snot): surface DB connection errors and clear stale error banner on search 2026-10-17 15:35:45 +03:00
abdus d5a4764c4b fix(immichup): Add images to studio albums 2026-10-10 16:40:53 +02:00
abdus 4d3b6ec06d chore: Remove unused youtube summarizer 2026-10-09 13:03:10 +02:00
abdus 9627aaa31f fix(chat): Clear old conversations 2026-10-09 13:02:57 +02:00
abdus 74e887db04 feat(torrentify): add torrent management commands 2026-10-08 11:27:35 +00:00
abdus 0d97094092 feat(hamsterimg): add image uploader 2026-10-08 11:27:33 +00:00
abdus 6eb0ab7d5a feat(imageset_thumbnails): split sheets into pages 2026-10-08 11:27:31 +00:00
abdus d572ca199f feat(download_imageset): process ZIP archives 2026-10-08 11:27:24 +00:00
abdus 1939ef0c0d feat: Add thumbnail contact sheet generator 2026-10-06 08:13:14 +02:00
abdus e12feae399 fix(docker_refresh): Skip recreation for unchanged images 2026-10-04 14:00:24 +00:00
abdus 48fe3f025e fix(chat): Improve menu click targets and dismissal 2026-10-04 10:40:29 +00:00
abdus cc5cb24b59 feat: Add AGENTS.md 2026-10-04 08:29:13 +02:00
abdus 6a1ce2ad18 feat: Add minimal Deezer search + download script 2026-10-04 08:28:34 +02:00
abdus f4764699e8 feat(download_imageset): Extend intercepted hosts 2026-10-04 08:27:02 +02:00
abdus 9a3b78105e feat(monitor_dir): Add path/inode polling mode option 2026-10-04 08:25:47 +02:00
abdus 9e2e098928 feat(file_renamer): Read from list of known actors 2026-10-04 08:24:22 +02:00
abdus aadb47a955 feat: Add script to generate Caddy config from Docker container labels 2026-10-04 08:23:46 +02:00
abdus 9e2659d3f1 feat(gigapixel): Update for the version bump and enable face recovery 2026-10-04 08:21:29 +02:00
abdus b913274f87 feat: Add AI file renamer 2026-10-04 08:20:50 +02:00
abdus f3526b60e5 feat: Add script to pull and redeploy Docker containers 2026-10-04 08:19:28 +02:00
abdus 4e61ace0df feat: Add immich uploader 2026-09-30 12:15:43 +02:00
abdus eb6b73e392 fix(chat): Update models 2026-09-28 04:57:28 +02:00
abdus 4bc948d77d refactor(snot): Rewrite to postgrest API 2026-09-28 04:15:45 +02:00
abdus 2bbf6b36d4 chore: Delete defunct hooksy 2026-09-28 03:38:47 +02:00
abdus de6771ac86 feat(sync-alfred): Add WebDAV preference sync 2026-09-05 09:29:46 +02:00
abdus f3c20d8ed5 feat(export-pg): Add batched Postgres to SQLite export 2026-09-05 09:29:29 +02:00
abdus 3e5d58ea25 feat(backup-to-external): Add hardlink-aware backup tool 2026-09-05 09:29:26 +02:00
abdus 5a3cbdde6a fix(sort-images): Detect formats from file signatures 2026-09-05 09:29:21 +02:00
abdus 256b81c828 fix(rename-children): Remove empty directories 2026-09-05 09:29:19 +02:00
abdus 8c78f79720 fix(mpv-pip): Accept newline-separated targets 2026-09-05 09:29:17 +02:00
abdus 5216362be7 chore(file-renamer): Use the default Python interpreter 2026-09-05 09:29:11 +02:00
abdus 69df91380c fix(download-imageset): Flatten downloaded directories 2026-09-05 09:29:08 +02:00
abdus 7ede67b98f feat(ai-photorealistic): Update photorealistic prompt 2026-09-05 09:29:04 +02:00
abdus d5cf81a919 feat(chat): Support Youtube transcripts 2026-08-11 09:51:30 +02:00
abdus 3cba11f1df feat(snot): Add gridvid support, update Alfred integrations 2026-08-11 09:50:55 +02:00
abdus ec07e27924 fix(chat): Update models 2026-08-09 14:39:43 +02:00
abdus 3b4fc7159e feat(chat): Add Clear button to history popup
Lets you wipe all saved conversations from localStorage (not just
today's) after a confirmation prompt.
2026-07-28 10:13:00 +02:00
abdus eee4addd86 feat(chat): Add undo button to trim conversation to a prior message
Lets you click Undo under a user message to drop it and everything
after it, refilling the prompt with that message's text/images so it
can be edited and resent.
2026-07-28 09:22:15 +02:00
abdus 0ddf2c4db5 refactor(download_imageset): Migrate CLI from argparse to click 2026-07-28 08:41:40 +02:00
abdus c9228ae4a7 feat(youtube_transcript_v2): Add --language/--auto options and unwrap output text
Auto mode prioritizes de/en/tr and falls back to the first available
transcript language; a shorter error is shown when the default fetch fails.
2026-07-26 11:08:02 +02:00
Abdüssamet Kocak 051b7b12f0 feat: Add MPV PIP 2026-07-25 09:09:40 +02:00
abdus 6bd4d58373 chore: Update everything 2026-07-24 15:58:31 +02:00
abdus 5100ad8365 feat(download_imageset): Support cwd option 2026-07-24 15:57:25 +02:00
abdus b0088aeeef feat(file_renamer): Support more formats 2026-07-24 15:56:38 +02:00
abdus d0c1f1ab8a feat(chat): Update models 2026-07-24 15:56:19 +02:00
abdus 441bec4401 feat(download-js-sourcemaps): reconstruct sources from source maps 2026-06-25 09:02:43 +03:00
abdus 8868e5a0b9 feat(k2s-download): add keep2share downloader flow 2026-06-25 09:02:43 +03:00
abdus 9ccb80c5af feat(prune-backups): apply backup retention pruning 2026-06-25 09:02:43 +03:00
abdus c296f8aeea feat(sort-images): sort images by size or aspect ratio 2026-06-25 09:02:43 +03:00
abdus 83edb4a950 feat(tag-file): apply macOS Finder color tags 2026-06-25 09:02:43 +03:00
abdus a172b55df7 feat(whisper-subtitles): generate srt with speed-adjusted timing 2026-06-25 09:02:43 +03:00
abdus 94523562c1 feat(wacli-export): export daily chat messages to csv 2026-06-25 09:02:43 +03:00
abdus f1830a9696 chore(snot): idk 2026-06-25 08:57:35 +03:00
abdus cef6b867c5 feat(crop-borders): detect and crop uniform image borders 2026-06-25 08:55:14 +03:00
abdus 630e6896d9 feat(download-google-font): fetch subsetted fonts and local css 2026-06-25 08:55:14 +03:00
abdus 36c4ae4ae9 feat(encode-comparison): encode middle clip across CRF values 2026-06-25 08:55:14 +03:00
abdus bca459db49 feat(pdf-to-jpg): convert pdf pages to resized jpgs 2026-06-25 08:55:14 +03:00
abdus b20433564d feat(hardcode-subs): add subtitle burn-in helper 2026-06-25 08:55:14 +03:00
abdus 6d41173c18 feat(gigapixel): add CLI wrapper with progress parsing 2026-06-25 08:55:13 +03:00
abdus abd8de870e feat(embed-subs): batch embed language-tagged subtitle files 2026-06-25 08:55:13 +03:00
abdus 0a9ddbf8af feat(download-imageset): add unified download and image postprocess flow 2026-06-25 08:55:13 +03:00
abdus c0d9c90c7c feat(upload-images-to-immich): add server and api key flags 2026-06-25 08:46:52 +03:00
abdus c199fe1c36 feat(transmission): add wait and path reporting 2026-06-25 08:46:52 +03:00
abdus c584265235 feat(subtitle-translator): add contextual chunk translation 2026-06-25 08:46:51 +03:00
abdus 7735c3d426 chore(scan-vids): switch db target and logs 2026-06-25 08:46:51 +03:00
abdus 311eff8f14 feat(rename-children): add optional flatten mode 2026-06-25 08:46:51 +03:00
abdus dda2c6230f feat(multi-rename): add safer move and trash flow 2026-06-25 08:46:51 +03:00
abdus 4a7bf663ab fix(file-renamer): tighten short-date matching 2026-06-25 08:46:51 +03:00
abdus c3634f1d67 feat(extract-archives): add zip handling and find mode 2026-06-25 08:46:51 +03:00
abdus fa69acf6f7 chore(clean-vids): refresh remote delete workflow 2026-06-25 08:46:51 +03:00
abdus f1a6835974 fix(process-new-videos): call snot scan command 2026-06-25 08:46:51 +03:00
abdus c5f82527b9 fix(oba): update token parsing and defaults 2026-06-25 08:46:51 +03:00
abdus 40daa54167 chore(fpup): run script via uv 2026-06-25 08:46:51 +03:00
abdus 2515e0e5d1 fix(alldebrid): reduce magnet poll frequency 2026-06-25 08:46:51 +03:00
abdus fbbd0a4763 feat(chat): Add image paste support
Paste images into the textarea to attach them to a message. Pending
images show as thumbnails above the input with a × remove button.
Images are sent to all three providers (OpenAI image_url, Anthropic
image_url via compat endpoint, Gemini inline_data).
2026-04-09 22:48:23 +02:00
abdus db89164aeb refactor(chat): Move under chat dir 2026-04-09 10:00:31 +02:00
abdus 3c6bfa1aaa feat: Add Youtube video summarizer 2026-04-05 09:45:32 +02:00
abdus 883c192034 feat(chat): Add Youtube URLs as context 2026-01-18 14:13:39 +01:00
abdus a06913ba63 fix(chat): Keep 1 history entry per session 2025-12-28 21:15:29 +01:00
abdus 5655b88b31 fix(chat): Copy buttons working again 2025-12-27 19:57:49 +01:00
abdus 4e8ebc040c fix(chat): Gemini client not reading JSON stream correctly 2025-12-24 23:00:14 +01:00
abdus 908bcce9f3 feat(chat): Proper light/dark theme 2025-12-23 18:47:20 +01:00