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
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
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
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
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
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
...
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)
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
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
...
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
...
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
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
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
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