Commit Graph

334 Commits

Author SHA1 Message Date
wukko
50df95b212
web/queue: clear files from storage when needed 2025-02-02 00:15:44 +06:00
wukko
5464574a3e
web/workers: use opfs instead of blobs for better memory management
spent almost an entire day figuring this out but it's so worth it
2025-02-01 23:26:57 +06:00
wukko
00d376d4ac
web/scheduler: break the global loop if current task is not done
i forgot to put break here, just blinded out that break on line 55 is breaking only its own inner loop
2025-01-31 22:08:57 +06:00
wukko
6513ab38d0
web/state/queue: clear all current tasks on queue clear 2025-01-31 22:02:35 +06:00
wukko
a7c1317af7
web/state/queue: clear pipeline results on error 2025-01-31 22:02:18 +06:00
wukko
1590490db2
web/queue: add a remux worker to saving pipeline, use pipelineResults 2025-01-31 11:22:31 +06:00
wukko
f2325bdc24
web/workers/remux: accept several files, custom args and output 2025-01-31 11:16:04 +06:00
wukko
7caee22aee
web/scheduler: worker pipeline sequencing, file exchange between workers 2025-01-31 11:12:00 +06:00
wukko
d15f1ec8f2
web/workers/remux: differentiate remux worker file event
Some checks are pending
CodeQL / Analyze (${{ matrix.language }}) (none, javascript-typescript) (push) Waiting to run
Run tests / check lockfile correctness (push) Waiting to run
Run tests / web sanity check (push) Waiting to run
Run tests / api sanity check (push) Waiting to run
2025-01-30 18:58:02 +06:00
wukko
00106e9379
web/libav: accept several inputs, refactor 2025-01-30 18:48:45 +06:00
wukko
5d7724762d
web: very early implementation of a fetch worker
Some checks are pending
CodeQL / Analyze (${{ matrix.language }}) (none, javascript-typescript) (push) Waiting to run
Run service tests / test service functionality (push) Waiting to run
Run service tests / test service: ${{ matrix.service }} (push) Blocked by required conditions
Run tests / check lockfile correctness (push) Waiting to run
Run tests / web sanity check (push) Waiting to run
Run tests / api sanity check (push) Waiting to run
2025-01-30 01:04:33 +06:00
wukko
91f5d63b93
web/DownloadButton: extract api interaction logic into a lib
download button state is now stored, well, in a state
2025-01-29 16:35:43 +06:00
wukko
b6472d5406
web: update h265 & gif params, migrate old params to new names 2025-01-29 15:40:29 +06:00
wukko
a43e7a629b
web: add local processing setting & api type
response is not handled at all yet, this is a raw draft
2025-01-29 15:06:16 +06:00
jj
75cda47633
web/libav: accept canonical extension if blob is a file
Some checks failed
CodeQL / Analyze (${{ matrix.language }}) (none, javascript-typescript) (push) Has been cancelled
Run tests / check lockfile correctness (push) Has been cancelled
Run tests / web sanity check (push) Has been cancelled
Run tests / api sanity check (push) Has been cancelled
2025-01-25 20:13:23 +00:00
wukko
c3cc6c09f4
web/ProcessingQueueItem: state icons, localized strings, fix line break 2025-01-26 01:34:56 +06:00
wukko
de66ac6b08
web/run-worker: subscribe to queue & kill worker when removed from store
& also clear the interval
2025-01-25 23:59:45 +06:00
wukko
1e6b1cb201
web/ProcessingQueueItem: format file size to be readable 2025-01-25 02:06:50 +06:00
wukko
44a99bdb3a
web/queue: add remuxing progress & general improvements
and a bunch of other stuff:
- size and percentage in queue
- indeterminate progress bar
- if libav wasm freezes, the worker kill itself
- cleaner states
- cleaner props
2025-01-25 01:25:53 +06:00
jj
c4c47bdc27
merge: 10.6 updates
Some checks failed
Run tests / check lockfile correctness (push) Has been cancelled
Run tests / web sanity check (push) Has been cancelled
Run tests / api sanity check (push) Has been cancelled
CodeQL / Analyze (${{ matrix.language }}) (none, javascript-typescript) (push) Has been cancelled
Run service tests / test service functionality (push) Has been cancelled
Run service tests / test service: ${{ matrix.service }} (push) Has been cancelled
2025-01-21 13:36:37 +00:00
wukko
39752b2c5f
web/Omnibox: improve pasting links from clipboard
- `text/uri-list` type is now accepted (such as clipboard data from bluesky)
- http links are now allowed (such as those from rednote)
- rednote share link is properly extracted
2025-01-20 21:26:55 +06:00
wukko
2279b5d845
web: core system for queue & queen bee, move remux to new system
it's 3 am and i think i had a divine intervention
2025-01-19 02:57:15 +06:00
wukko
8a5b25b4ce
web/removebg: fix the incorrect file condition 2025-01-17 01:51:10 +06:00
wukko
b85771dc1d
web/removebg: differentiate messaging even more, add temporary logging 2025-01-17 01:45:11 +06:00
wukko
28eb9ebe5d
web/remux: improve page <-> worker messaging 2025-01-17 01:16:51 +06:00
wukko
8e9347b4a0
web/removebg: fix functionality after build, improve pipeline
- no longer killing the worker if it has done its job correctly and is expected to shut itself down
- no longer reading messages not intended for the worker handler and also made the cobalt messaging distnict
2025-01-17 01:03:59 +06:00
wukko
f544768784
web/cutout: add a button to cancel the job
Some checks are pending
CodeQL / Analyze (${{ matrix.language }}) (none, javascript-typescript) (push) Waiting to run
Run tests / check lockfile correctness (push) Waiting to run
Run tests / web sanity check (push) Waiting to run
Run tests / api sanity check (push) Waiting to run
2025-01-15 23:14:29 +06:00
wukko
0e26424355
web/libav: remove environment import to fix the worker 2025-01-15 22:25:59 +06:00
wukko
1ed2eef65a
web/remux: convert to a web worker (wip) 2025-01-15 22:11:08 +06:00
wukko
28d8927c08
web/removebg: convert to a proper web worker
Some checks are pending
CodeQL / Analyze (${{ matrix.language }}) (none, javascript-typescript) (push) Waiting to run
Run tests / check lockfile correctness (push) Waiting to run
Run tests / web sanity check (push) Waiting to run
Run tests / api sanity check (push) Waiting to run
no more hanging ui :3
2025-01-15 17:22:34 +06:00
wukko
2f2d39dc4c
web/removebg: fix types (remove garbage)
Some checks failed
CodeQL / Analyze (${{ matrix.language }}) (none, javascript-typescript) (push) Waiting to run
Run tests / check lockfile correctness (push) Waiting to run
Run tests / web sanity check (push) Waiting to run
Run tests / api sanity check (push) Waiting to run
Run service tests / test service functionality (push) Has been cancelled
Run service tests / test service: ${{ matrix.service }} (push) Has been cancelled
2025-01-14 18:30:33 +06:00
wukko
e02e7f2260
web: very early proof-of-concept of on-device image background removal 2025-01-13 01:26:54 +06:00
wukko
50db4d342a
api & web: roll back the default hls change due to doubled CPU usage
Some checks failed
CodeQL / Analyze (${{ matrix.language }}) (none, javascript-typescript) (push) Has been cancelled
Run service tests / test service functionality (push) Has been cancelled
Run tests / check lockfile correctness (push) Has been cancelled
Run tests / web sanity check (push) Has been cancelled
Run tests / api sanity check (push) Has been cancelled
Run service tests / test service: ${{ matrix.service }} (push) Has been cancelled
2025-01-08 11:22:05 +06:00
wukko
b47987754a
web/settings/defaults: enable youtubeHLS by default (again) 2025-01-08 10:56:59 +06:00
wukko
937fddf3e9
web/settings/defaults: roll back default hls
Some checks are pending
CodeQL / Analyze (${{ matrix.language }}) (none, javascript-typescript) (push) Waiting to run
Run tests / check lockfile correctness (push) Waiting to run
Run tests / web sanity check (push) Waiting to run
Run tests / api sanity check (push) Waiting to run
it seems to be doing more bad than good, we need to scale or finish the duck project first
2025-01-07 13:16:58 +06:00
wukko
f07ebaa04c
web/settings/defaults: enable youtubeHLS by default
Some checks are pending
CodeQL / Analyze (${{ matrix.language }}) (none, javascript-typescript) (push) Waiting to run
Run tests / check lockfile correctness (push) Waiting to run
Run tests / web sanity check (push) Waiting to run
Run tests / api sanity check (push) Waiting to run
yolo #testinprod
2025-01-06 15:38:58 +06:00
wukko
a9515d376a
web/settings: add duck to settings types 2024-12-22 23:04:20 +06:00
wukko
3f46395bd2
web/state/queue: add nukeEntireQueue() 2024-12-18 17:10:08 +06:00
wukko
13ec4f4faf
web/queue: add types & states 2024-12-18 16:59:08 +06:00
wukko
13c4438a57
web/DownloadManager: item component & type
Some checks are pending
CodeQL / Analyze (${{ matrix.language }}) (none, javascript-typescript) (push) Waiting to run
Run tests / check lockfile correctness (push) Waiting to run
Run tests / web sanity check (push) Waiting to run
Run tests / api sanity check (push) Waiting to run
2024-12-17 01:25:02 +06:00
wukko
d8f3bbe0f3
web/lib/api: return errors from authorization function 2024-11-24 13:37:36 +06:00
wukko
57734822ea
web/settings/migrate: refactor, migrate to v4 schema
why the fuck was tab 2 spaces here
2024-11-24 00:23:06 +06:00
jj
326bc52f27
web: fix turnstile/server-info circular dependency 2024-11-23 14:37:23 +00:00
wukko
d4044e3350
web/server-info: remove turnstile in more cases 2024-11-23 19:14:14 +06:00
wukko
601597eb15
web: add support for custom api keys & improve turnstile states 2024-11-23 19:13:23 +06:00
wukko
baebeed488
web/settings/v4: add api key settings, remove override settings 2024-11-23 19:08:24 +06:00
wukko
9c8cb5611f
web/server-info: reload the page only if the sitekey actually changed 2024-11-20 14:26:45 +06:00
wukko
a3c807a993
web/turnstile: use own callback for refreshing the widget
or at least try to, idk man, im so tired of cf turnstile
2024-11-19 00:20:27 +06:00
wukko
b38cb77952
web/turnstile: refresh turnstile if it expires in background
also renamed `turnstileLoaded` to `turnstileSolved` for more clarity
2024-11-18 21:05:47 +06:00
wukko
d8348dfa1c
web: remove instance override warning, use custom api right away 2024-11-18 16:32:33 +06:00
wukko
2b2bc57331
web/env: rename apiURL to defaultApiURL
references to it are now easier to read and understand
2024-11-18 16:30:27 +06:00
jj
f7dc6cebad
all: add space after catch 2024-11-15 12:19:49 +00:00
wukko
c477b728e1
web/about/community: add a link to bluesky 2024-11-04 21:26:38 +06:00
jj
f4ca4ea719
web/settings: validate youtubeDubLang as literal
Some checks failed
CodeQL / Analyze (${{ matrix.language }}) (none, javascript-typescript) (push) Waiting to run
Run tests / check lockfile correctness (push) Waiting to run
Run tests / web sanity check (push) Waiting to run
Run tests / api sanity check (push) Waiting to run
Run service tests / test service functionality (push) Has been cancelled
Run service tests / test service: ${{ matrix.service }} (push) Has been cancelled
2024-11-03 20:02:43 +00:00
jj
c4be1d3a37
web/download: don't try to open non-https links 2024-10-30 13:17:38 +00:00
jj
b125894b7e
web/settings: move migration to separate file, rename v7 migration 2024-10-30 12:42:52 +00:00
jj
0a471943ca
web/settings: write to storage if migrated 2024-10-30 12:18:27 +00:00
jj
30b7003871
Revert "web/settings/migrate: remove youtubeDubBrowserLang migration"
This reverts commit 94e6acb832.
2024-10-30 12:18:27 +00:00
jj
cafe05d5fb
web/settings: add version 3 of setting schema 2024-10-30 12:18:27 +00:00
jj
ec10019bfa
web/settings: fix types, migrate old settings from v2 2024-10-30 12:12:56 +00:00
jj
bad59750bf
web/settings: rewrite type names, remove unused types
CurrentCobaltSettings -> CobaltSettings
CobaltSettings -> AnyCobaltSettings
2024-10-30 12:12:56 +00:00
jj
7c9a824a69
web/settings: add function for getting browser language
prep for migrating youtubeDubBrowserLang
2024-10-30 12:12:56 +00:00
jj
7a50c89728
web/settings: split settings into versions 2024-10-30 12:12:56 +00:00
wukko
94e6acb832
web/settings/migrate: remove youtubeDubBrowserLang migration 2024-10-30 17:19:51 +06:00
wukko
ea2dd5bb35
web: add support for dubbed youtube audio tracks 2024-10-28 23:15:01 +06:00
wukko
60b22cb5f7
web: add support for youtube hls
also increased api response timeout to 20 seconds
2024-10-28 15:27:51 +06:00
jj
be7c09bd07
web/lib: move dialogs to state folder 2024-10-20 12:51:59 +00:00
jj
4c43a00e88
web/api/session: replace writable with normal variable 2024-10-20 12:51:59 +00:00
wukko
0e52e1f8b0
web/safety-warning: reduce continue button timeout
Some checks failed
Run tests / check lockfile correctness (push) Has been cancelled
Run tests / web sanity check (push) Has been cancelled
Run tests / api sanity check (push) Has been cancelled
2024-10-16 17:03:34 +06:00
dumbmoron
0b06299da0
web/DialogButton: add "link" buttons 2024-10-12 17:42:53 +00:00
wukko
416a9efdd1
web/server-info: reload the page if turnstile sitekey changes 2024-09-23 16:16:17 +06:00
wukko
402b4b6485
web/types/api: fix formatting 2024-09-23 15:11:58 +06:00
wukko
ba93492c8d
web: prevent openURL action on ios devices if url is redirect 2024-09-23 15:06:57 +06:00
wukko
dfaef913c4
web/DownloadButton: move server info cache checks to the api lib 2024-09-22 15:05:40 +06:00
dumbmoron
5ba83f3d56
web/polyfills: add polyfill for AbortSignal.timeout 2024-09-21 09:08:56 +00:00
wukko
fdd5feac92
web: use turnstile & session only when the processing instance has them
now also always fetching server info in the save tab
2024-09-18 00:24:54 +06:00
dumbmoron
66479a9791
web/translations: add fallback locale name to unnamed locales 2024-09-16 15:13:44 +00:00
dumbmoron
4af48dd2f9
web: add UserActivation polyfill for browsers that don't have it 2024-09-11 11:15:25 +00:00
wukko
d7454a073b
web/download: assume userActivation expired if agent doesn't support it 2024-09-11 14:42:54 +06:00
dumbmoron
8df4bc00cb
web/svelte: change public prefix to WEB_ 2024-09-09 15:24:23 +00:00
wukko
93ca553fb2
web/about/community: add community links 2024-09-09 21:19:43 +06:00
wukko
ebd1104df3
web/libav: remove redundant async 2024-09-09 19:36:16 +06:00
wukko
bd93da94dc
web/download: remove redundant async 2024-09-09 19:36:08 +06:00
wukko
11b756945f
web/about: thanks & licenses page 2024-09-09 14:24:11 +06:00
wukko
2049e65221
web/about/general: update the community section 2024-09-09 13:39:30 +06:00
wukko
fbe8ccfc2a
web/download: show an explanation when user activation expires 2024-09-09 12:53:22 +06:00
wukko
8a18645e0b
web/remux: warn user & terminate libav before switching tabs
warning about aborting processing will be shown before navigating away from remuxing tab
2024-09-09 03:08:18 +06:00
wukko
853bc26587
web/download: support downloading and sharing raw files 2024-09-09 02:30:03 +06:00
wukko
53eb052fe6
web/SavingDialog: add ios saving tutorial 2024-09-09 00:10:21 +06:00
dumbmoron
a351264ede
web/api: send parameters to server only if they differ from defaults 2024-09-08 16:30:02 +00:00
dumbmoron
1f86faad12
web/api: don't request/send session token to custom instances 2024-09-08 16:30:02 +00:00
dumbmoron
b4599e68bb
web/safety-warning: early returns 2024-09-08 16:30:02 +00:00
wukko
1821b4b614
web/settings/defaults: set tiktokFullAudio to false 2024-09-08 20:19:12 +06:00
wukko
fcde8ad745
web/settings/migrate: don't migrate twitterGif 2024-09-08 20:18:50 +06:00
wukko
e839aa4c41
web/types/settings: add 8kbps bitrate option back 2024-09-07 22:33:43 +06:00
dumbmoron
6a67ed29ca
web/remux: split memory allocations into chunks
browsers don't like to allocate huge chunks of contiguous memory, but
we do not actually need a huge chunk of contiguous memory, and this
lets us process much larger files than before
2024-09-07 14:35:36 +00:00
dumbmoron
0a37c84e93
web/libav: always clean up files on function exit 2024-09-07 14:35:36 +00:00
wukko
7a45866c7c
web/about: write the general about page 2024-09-07 18:31:02 +06:00
dumbmoron
08490c54e4
api: include generated filename in api response 2024-09-07 12:26:43 +00:00
dumbmoron
3232c4a51b
web/libav: simplify reading probe data 2024-09-07 11:41:56 +00:00
wukko
16d59a239c
web/types/settings: remove 8kbps option 2024-09-06 15:57:37 +06:00
wukko
fff1c6c7a6
web & api: rename stream to tunnel
- updated the endpoint to /tunnel
- updated status to tunnel
- fixed one incorrectly named error in web
2024-09-05 00:26:48 +06:00
wukko
49460bd16d
web: load turnstile only in save tab and only once
turnstile will stay in background after being loaded once (just like before), but now it will not load on pages other than save if they are opened first
2024-09-05 00:04:41 +06:00
wukko
520725462a
web: fix auto navigation on scale change for about & settings pages 2024-09-04 21:20:56 +06:00
wukko
d98353d5af
web/about: about page routing & navigation 2024-09-04 20:59:05 +06:00
wukko
56008676f5
web/settings: move sub navigation into its own component 2024-09-04 17:50:47 +06:00
dumbmoron
1262bc20fe
web/version: don't try to fetch when server-side rendering 2024-09-03 13:33:16 +00:00
wukko
30c4c1ad20
web/device: add default values & types 2024-09-03 13:52:41 +06:00
dumbmoron
51c140fbfa
web: make everything ssr-compatible 2024-08-31 17:46:10 +00:00
wukko
d0d0f16c5f
web/privacy: add support for always proxying files 2024-08-31 14:08:48 +06:00
wukko
ebb5deb43c
web/safety-warning: remove misplaced comparison 2024-08-30 17:25:31 +06:00
wukko
33d6b5bd81
web: base custom instance functionality
also:
- renamed processing tab in settings to "instances"
- improved override description
- prefer custom over override (and grey out the option)
- dedicated lib for all api safety warnings
- left aligned small popup with smaller icon
- ability to grey out settings category & toggle
2024-08-30 17:15:05 +06:00
wukko
f0ce0ccef7
web/server-info: refresh server info cache if endpoint changes 2024-08-29 18:10:46 +06:00
wukko
42410f7b20
web/save: add supported services popover 2024-08-26 23:43:39 +06:00
wukko
7524d202f7
web/session: merge cached state into main lib 2024-08-26 23:38:24 +06:00
wukko
1c258ab0ae
web/env: add more donation methods 2024-08-25 17:09:31 +06:00
wukko
1147244e46
web/env: updated the list of crypto addresses 2024-08-25 16:34:27 +06:00
wukko
0d58fad580
web/session: update session fetch error code 2024-08-24 16:16:12 +06:00
wukko
c0284fac13
web/translations: handle error contexts 2024-08-24 16:15:48 +06:00
wukko
b6d2175d4b
web/settings/defaults: enable full tiktok audio by default 2024-08-22 23:15:05 +06:00
wukko
ff9efdc471
api & web: update default audio bitrate to be 128kbps 2024-08-22 20:50:21 +06:00
wukko
42ff874c95
api/schema: add 8bkps audio bitrate option 2024-08-22 20:06:54 +06:00
wukko
49184a235d
web/save: add support for audio bitrate functionality 2024-08-22 19:38:39 +06:00
wukko
cd9be54023
web/settings: update twitterGif & videoQuality defaults 2024-08-20 22:02:06 +06:00
wukko
c698d272a1
api/jwt: return relative expiration date to accommodate offset clocks 2024-08-19 22:25:21 +06:00
dumbmoron
e678bd25fc
web/lib/libav: clean up extension handling 2024-08-17 13:45:58 +00:00
dumbmoron
7d10ab765e
web/remux: override mp3 extension from mime type 2024-08-17 13:26:43 +00:00
wukko
0e461d4ebe
web/session: add a delta to prevent token expiring on its way to api 2024-08-17 18:05:00 +06:00
wukko
9592e59f76
api/jwt: fix timestamp to match the spec 2024-08-17 17:58:40 +06:00
wukko
a49a87544c
web/session: don't expect a trailing slash in DEFAULT_URL 2024-08-16 23:52:40 +06:00
wukko
3336210e93
web/state/session: clean up 2024-08-16 23:48:50 +06:00
wukko
4857030933
web/api: jwt session token, clean up, move related modules to own dir 2024-08-16 23:36:56 +06:00
wukko
478dd6e515
web/Omnibox: show a spinner when loading
replaces the link icon with a spinner when loading the turnstile checks or processing the link
2024-08-16 01:37:05 +06:00
wukko
384c6deced
web: add support for cloudflare turnstile 2024-08-16 00:08:57 +06:00
dumbmoron
4c2acc595e
web/remux: add basic progress example 2024-08-13 15:34:53 +00:00
dumbmoron
f93d84c457
web/libav: add ffprobe wrapper 2024-08-13 15:34:53 +00:00
dumbmoron
4636f7b0d4
web/libav/wrapper: make sure libav is initialized only once 2024-08-13 15:34:53 +00:00
dumbmoron
28600e7e4c
web/libav: emit progress events 2024-08-13 15:34:53 +00:00
wukko
af428bc964
web: stylize the file receiver, move text to i18n, update remux page 2024-08-13 14:17:10 +06:00
dumbmoron
e79f466c5f
web/libav: shrink buffer _after_ ffmpeg is done running 2024-08-13 00:23:13 +00:00
dumbmoron
e084092f37
web/libav: remove stray curly brace 2024-08-12 20:39:36 +00:00
dumbmoron
bc272b910e
web/libav: fix import double slash, use unlinkreadaheadfile 2024-08-12 20:36:24 +00:00
dumbmoron
83f46864b2
web/libav: properly instantiate libav property 2024-08-12 20:03:30 +00:00
dumbmoron
038c29dc8d
web/libav: move types to dedicated file 2024-08-12 20:03:07 +00:00
wukko
55ab3c36b1
web/lib: remove ffmpeg 2024-08-13 00:18:45 +06:00
dumbmoron
940826697c
web/libav: preallocate memory for output when remuxing 2024-08-12 18:07:04 +00:00
dumbmoron
2198a696ce
web/libav: make it work & clean up 2024-08-12 17:06:45 +00:00
wukko
57054c24b2
web: draft libav functionality 2024-08-12 22:28:38 +06:00
wukko
778eb51502
web/ffmpeg: don't return an empty blob 2024-08-11 19:13:04 +06:00
wukko
b33bd39484
web/ffmpeg: accept and return blob, proper types & extensions, clean up 2024-08-11 18:24:29 +06:00