Commit Graph

138 Commits

Author SHA1 Message Date
Jake Archibald
42e43730c8 Naming changes 2020-06-24 15:16:38 +01:00
Jake Archibald
5c17fba349 Minor tweaks 2020-06-24 15:12:48 +01:00
Pete LePage
4fa73be842 Apply suggestions from code review
Co-authored-by: Surma <surma@surma.dev>
2020-06-24 09:40:56 -04:00
Pete LePage
265e6db2bd Adds install button to Squoosh 2020-06-23 16:10:40 -04:00
Ingvar Stepanyan
0ae99c9228 Remove obsolete worker termination
I switched build process to proper ES modules back in #672, so, if the TODO is correct, this is no longer necessary.
2020-04-17 14:41:04 +01:00
Ingvar Stepanyan
629d64326d Swap OptiPNG with OxiPNG
This makes building simpler and allows us to potentially use multithreading version in the future.

For now points to a custom fork of OxiPNG that enables WebAssembly support, as PR is still pending review.
2020-04-09 14:10:50 +01:00
Surma
66feffcc49 Add Hq{2,3,4}x (#624)
* Scaling works on native

* It works in wasm

* Integrate with UI

* Remove benchmark

* Integrate Hqx into Resizer module

* Link against repo for hqx

* Remove unused defaultOpts

* Re-add test file

* Adding size dropdown

* Chrome: go and sit on the naughty step

* Better docs

* Review

* Add link to crbug

* Update src/codecs/processor-worker/index.ts

Co-Authored-By: Jake Archibald <jaffathecake@gmail.com>

* Terminate worker inbetween resize jobs
2019-06-18 12:23:22 +01:00
Jake Archibald
cae73f1f1b Add share target (#469)
* Quick test

* More testing

* More testing

* Removing transfer for now

* Changing name so it's easier to tell them apart when installed

* Disable minification to ease debugging

* Adding navigate lock

* lol oops

* Add minifying back

* Removing minification again, for debugging

* Removing broadcast channel bits, to simplify the code

* Revert "Removing broadcast channel bits, to simplify the code"

This reverts commit 0b2a3ecf2986aae0dd65fdd1ddda2bd9e4e1eac7.

* I think this fixes it

* Refactor

* Suppress flash of home screen during share target

* Almost ready, so switching to real name

* Removing log

* Ahh yes the trailing comma thing

* Removing use of BroadcastChannel

* Reducing ternary
2019-06-17 09:42:10 +01:00
Cătălin Mariș
a08662b617 Further optimize logo.svg (#584) 2019-05-20 10:57:24 +01:00
Jake Archibald
80fa9c4f21 Fixing quote type 2019-04-08 12:35:05 -04:00
A2ZH
8f215a5b4b fix select the same file bug (#538) 2019-04-08 12:33:07 -04:00
Surma
45221c0b03 Implement alpha premultiplication (#507)
* Implement alpha premultiplication

* Add benchmark to resize

* Only display "Premultiply alpha" if it's one of the rust resize types.

* Add comment about division by zero
2019-03-08 11:18:59 +00:00
Jake Archibald
9e5b66d5f4 Better resize methods (#498)
* Port resize to wasm

* Expose resize algorithms

* Lanczos3 working!

* lol copy paste

* Adding support for other resizers

* Don’t track generated README

* Cache wasm instance
2019-03-06 17:20:25 +00:00
renovate[bot]
bf34075e6a Update dependency typescript to v3.3.1 (#444)
* Update dependency typescript to v3.3.1

* Fix trailing commas for function calls

* Reverting trailing comma change

* Avoiding trailing comma rule for imports

* I never know what the right thing to do is

* lockfile
2019-02-22 14:22:57 +00:00
Paul Kinlan
520a5dc9f2 nggggg - file length === 0 2019-02-21 21:27:59 +00:00
Paul Kinlan
7af949b5a5 Fixing a second whoopsie. 2019-02-21 20:53:14 +00:00
Paul Kinlan
300612b09b Fixing a whoopsie 2019-02-21 20:38:08 +00:00
Paul Kinlan
6f00e9825c Fixing the multifile dep update: file->files 2019-02-21 20:35:49 +00:00
Jake Archibald
7fc994d4af This fixes #446 and sometimes it's best not to ask too many questions. (#447) 2019-02-04 13:34:56 +00:00
Jake Archibald
e67d50c8e6 Preventing zoom in iOS Safari. (#395) 2018-12-17 17:05:41 +00:00
Surma
9746a9f5ed Fix typings for TypeScript v3.2 2018-12-17 12:36:57 +00:00
Jake Archibald
d2fcdfae43 Debouncing input. Fixes #277 (#394)
* Debouncing input

* Clarifying comment

* More comments and clarifications
2018-12-17 11:54:30 +00:00
Maciej Matuszewski
129c33fa12 Add basic history handling (#288) (#309)
* Add basic history handling (#288)

* Move history management to Compress component

* Remove unused pathname property from history

* Rename history listener functions

* Use history.back instead of history.replace

* Support going forward in history. Persist last selected file in runtime

* Add netlify redirects file

* Use 301 status code for redirect

* Cleanup _redirects file

* Use 200 status code for redirects

* Simplify onPopState function

* Always redirect to 301 with url rewrite

* Remove redundant history function

* Remove file check on render. Call openEditor synchronously

* Use pushState only if user is on the initial screen. Mount history listener in constructor

* Simplify openEditor condition

* Update early return condition

* Rolling abstractions back into the main component
2018-12-12 12:58:03 +00:00
Jake Archibald
3245987113 Prevent both sides sharing a download URL. (#369) 2018-12-12 12:51:06 +00:00
Andrea Somaini
a625a76e9e Fixed blank text-fields with dark browser theme (#365)
When using dark browser themes the text-fields' text-color becomes white, so the text in those white background text-fields is unreadable.

Patched text-color so that it now is readable.
2018-12-10 12:24:12 +00:00
Jake Archibald
c2a305304b Rotation optimise. Fixes #362 (#363)
* Move early exit for no-rotation.

* lol this was meant to be 10 seconds.
2018-12-09 07:11:11 +00:00
Jake Archibald
68f0f23016 Prevent image becoming misshapen on resize. Fixes #359. (#360) 2018-12-04 10:55:32 +00:00
Jake Archibald
80dfa03b94 Avoid wrapping a single button (#357)
* Avoid wrapping a single button

* Making the zoom controls appear on the bottom, when the controls are positioned on the bottom
2018-11-30 11:44:15 +00:00
Jake Archibald
1b693fb57a Rotate (#322)
* Basic rotate & flip

* Flipping resize when orientation changes

* Hack around critters issue.

* Removing generator. Huge perf boost.

* Stable positioning

* Creating input processors

* Allowing rotation to be changed

* Reverting old change

* Adding tooltips

* No more flip

* Removing need for wrapper element boxing

* Adding comment

* Addressing nits

* Bleh
2018-11-30 11:00:25 +00:00
Vadym
06d4d946d9 Display uploaded file name in the document title (#244) (#326)
* Add filename to the document.title

* minor fixes

* no-space-before-colon
2018-11-29 07:59:34 +00:00
Tiger Oakes
32f2b4e573 Remove TypeScript-specific static Compress import (#338)
Previously, Compress had a static import only used by TypeScript, 
as the module was loaded dynamically. The type can be replaced with
`import().default`.

TypeScript 2.9 introduced the ability to use `import()` within type 
statements.
https://www.typescriptlang.org/docs/handbook/release-notes/typescript-2-9.html#import-types
2018-11-28 14:57:05 +00:00
Jamie Farrelly
0502d70cdf Preventing images from being dragged in Edge (#290) 2018-11-14 14:47:00 -08:00
Cătălin Mariș
86546574bb Further losslessly optimize logo.svg (#283) 2018-11-14 14:45:47 -08:00
Jake Archibald
f351712130 Building on #275 (#289)
* Upgrade devDependcies. Replace UglifyJS ⚰ with TerserJS 👶 Fix TypeScript compiler errors

* Remove babel and associated plugins

* Re-enable strictNullChecks and noImplicitAny

* Use surma's better ga type definition.
`ts-ignore` document.activeElement potential null warnings

* Avoiding ignores
2018-11-14 14:04:01 -08:00
Jake Archibald
951c7af724 Allow text fields next to range inputs be empty (yeah that's horrendous grammar but I'm very tired) (#273) 2018-11-13 07:48:25 -08:00
Jake Archibald
aebeff8b4c Adding readme, privacy section, reducing resolution of analytics data. 2018-11-11 05:11:28 -08:00
Jake Archibald
8d63125b13 Resetting pinch zoom (#261)
* Resetting pinch zoom

* Bumping version
2018-11-11 04:28:39 -08:00
Surma
f562bad286 Add analytics script (fixes #174) (#245) 2018-11-09 10:53:10 -08:00
Jake Archibald
9b572f9541 Ta-da. Back button. (#254) 2018-11-09 09:13:32 -08:00
Jake Archibald
71f893cb44 Enhanced offline (#249)
* Notification of updates & reloading

* Using version in service worker & allowing version to appear elsewhere

* Stupid file

* Ditching changelog for now. Using package json.

* Ugh.
2018-11-09 09:13:14 -08:00
Jason Miller
7616d33883 Startup optimizations (#226)
* Startup optimisations

* I hate this file

* Inline main script

* Reverting change to do a fairer perf comparison

* Inlining again. Weeeeee!

* Lockfile
2018-11-09 16:01:02 +00:00
Jake Archibald
a502df80ba Prevent logo taking over on smaller screens. (#250)
* Prevent logo taking over on smaller screens.

* I hate this file
2018-11-09 00:02:23 +00:00
Jake Archibald
921268ec58 Addressing nits from service worker PR. 2018-11-08 12:11:29 +00:00
Jason Miller
7d42d4f973 Add a serviceworker (#234)
* Add a serviceworker

* rename + fix random extra character

* Fixing worker typings

* Fixing types properly this time.

* Once of those rare cases where this matters.

* Naming the things.

* Move registration to the app (so we can use snackbar later)

* Moving SW plugin later so it picks up things like HTML

* MVP service worker

* Two stage-service worker

* Fix prerendering by conditionally awaiting Custom Elements polyfill.

* Fix icon 404's

* add doc comment to autoswplugin

* Fix type
2018-11-08 12:02:05 +00:00
Jake Archibald
e4e130c5d6 Mark private function as private 2018-11-08 11:21:57 +00:00
Jake Archibald
bcf7a63118 Android tablet bugs (#246)
* Prevent two-up being lost under options. Fixes #241.

* Working around some glitching when page was scrolled.

* Prevent software keyboard popping up again in Android Chrome.
2018-11-07 08:59:11 +00:00
Jake Archibald
59cd1f8930 Splitting PointerTracker into its own project (#238) 2018-11-06 14:19:24 +00:00
Paul Kinlan
bd3d33296d Updating based on changes to filedrop element. 2018-11-06 13:50:49 +00:00
Paul Kinlan
f4c82ced97 #199 - Removes the file-drop custom element
+ Removes the custom element from the project
+ Replaces it with the externally maintined custom element
2018-11-06 13:50:48 +00:00
Jake Archibald
e572b853e2 Snackbar defaults & copy undo (#233)
* Fix snackbar defaults. Fixes #205.

* Undo copy settings across.

* Oops

* Fixing stupid minification bug

* Something weird happened with the last commit
2018-11-06 13:44:15 +00:00