Commit Graph
259 Commits
Author SHA1 Message Date
sua yooandemma 03fefc85a5 Migrate electron files to typescript (#267)
- Switches electron src files to typescript with minimum typing required
for build
- Adds webpack-merge for shared typescript build config and jsdoc types
- Minor README changes

---------

Co-authored-by: emma <hi@emma.cafe>
2023-11-29 15:53:48 -05:00
Emma Segal-Grossman ad38694598 Typescript migration part 2 (#261)
Converts everything to typescript, adding `@ts-expect-error`s where
necessary. Also makes some progress converting elements to use
decorators, but we're not fully there yet — I think it'll make sense to
continue to do that in future PRs, rather than doing it all in one go,
just so that we can keep up with the dev branch.
2023-11-29 15:53:48 -05:00
emma e9438eb724 improve typescript and linting usage across codebase
add ts-lit-plugin and eslint-typescript

disable no-invalid-css rule

fix a bunch of errors raised by eslint and typescript

run prettier & eslint on the remaining files

remove unused imports

split coll-index into index and info components...
and rename "coll" -> "item" for these.
also includes some fixes for previously-undocumented properties used on
non-ts elements.

extract labeled fields into separate component...
and make a few type improvements too

swap custom copy button for shoelace one

rename a few more missed things
2023-11-29 15:53:46 -05:00
emma e7b86626df move archive info into a dialog in dropdown menu (#235)
using sl-dialog and sl-button for components

show error message when coll info is missing

rework info popup to better match 2.0 design

remove extra comment i forgot
2023-11-29 15:52:12 -05:00
Ilya Kreymer 31dbe00b76 fix: ensure default index.html is served for app, only serve wabac.js index page when in embed mode, fixes #251 (#253)
bump to 1.8.13
2023-10-06 14:30:42 -07:00
sua yoo 4d55efa341 Migrate ReplayWebApp, Coll and Replay to TS (#233) 2023-09-18 10:43:29 -07:00
Ilya Kreymer 81e81dceae loading: keep 'serveIndex' query arg on all sw.js loads, not just in embed.js (#242)
fixes embed 'purge cache + reload'
bump to 1.8.12
2023-09-12 21:36:18 -07:00
sua yoo 79d2f1585c Show snapshot timestamp in location bar (#228)
- Shows how many snapshots are available per page in URL bar
- Allows users to navigate through snapshots through timestamp dropdown
- Refactors coll.js and pageutils to typescript
2023-09-07 10:42:21 -07:00
sua yoo 73e7da4c7c Show page thumbnails in pages list (#221)
* convert pages / pageentry to ts
* render page icon
* adjust for smaller screen
* show favicon even if thumbnail exists
2023-09-05 17:26:16 -07:00
sua yoo 1e579845b5 chore: enable svg import 2023-09-05 17:26:16 -07:00
sua yoo 2d0b163148 Upgrade Lit to 2.8 and add Shoelace styles (#206) 2023-09-05 17:25:42 -07:00
sua yoo b7406189bb Add Typescript to build (#207) 2023-09-05 17:24:08 -07:00
Ilya Kreymer 8e715cdf54 deps: update to wabac.js 2.16.12, use default index html loading (#232)
wabac.js now serves the correct index for RWP, don't need to inject custom html
bump to 1.8.11, update CHANGELIST
2023-09-05 18:43:02 -04:00
Ilya Kreymer d31c25c4de embed html: keep ui.js import in default embed html, not always possible to inject 2023-08-29 15:18:39 -07:00
Ilya Kreymer 16284ee198 Fix embed loading regression (#227)
* pass in the embed index.html (a page just containing <replay-app-main></replay-app-main>) to wabac.js via indexHtml query arg
to be served back at replay root
fixes regression in 1.8.9, fixes #226
* update CHANGES.md
* bump to wabac.js 2.16.11
2023-08-29 14:28:04 -07:00
Ilya Kreymer 2bc9fb0a15 Use published sw.js from wabac.js instead of rebuilding a custom version. (#223)
* sw: instead of rebuilding sw.js with slightly different settings (baked in index.html + ruffle.js cache),
can now just use the published sw.js release with custom queryArgs, injectScripts=ruffle/ruffle.js
index.html is cached automatically on-load
webpack: for dev server, still build 'sw.js' locally to allow dynamic updates when developing on a linked wabac.js
remove src/sw.js, as no longer used, just importing from wabac.js directly
bump to 1.8.9
2023-08-28 19:59:29 -07:00
Anish Lakhwara 2de4703908 feat: Multi WACZ json Front End Support (#214)
Better display for Multi WACZ collections, including showing:
- File size of combined WACZ
- List of all WACZ files (with downloadable links)
- Use collection title instead of filename for all names (collection index, breadcrumb, sidebar)
- Display collection description (if available) on sidebar + info page
2023-08-17 16:35:53 -07:00
sua yoo dd70bc722f Lint and fix Lit html (#216)
- Adds eslint lit plugin to catch linting errors in lit html
- Fixes linting errors
2023-08-16 18:57:11 -07:00
sua yoo 1893550274 Format src files with Prettier (#215)
Formats files in `src` with [prettier for consistent code style](https://prettier.io/docs/en/why-prettier) and adds npm script

Related to https://github.com/webrecorder/replayweb.page/issues/201
2023-08-16 18:21:18 -07:00
Matteo CargneluttiandHenry Wilkinson ca6c19ff0f Bugfix: "info" tab overflow is hidden (#197)
* Bugfix: "info" tab overflow is hidden

* add `height: fit-content` to info list

The scrollbar is added in the correct place, but without this the actual info text gets cut off based on the page size.

* Revert changes to compiled files

* re-commit compiled files

---------

Co-authored-by: Henry Wilkinson <henry@wilkinson.graphics>
2023-08-09 20:18:17 -07:00
Henry Wilkinson dbf8f90064 Reorder Archive Receipt Sections (#194)
* Reorder sections, move download above technical info
* Make the download button more prominent
2023-07-26 19:44:06 -07:00
Henry Wilkinson 2a2330e7f1 Adds the Observer Public Key field to Archive Info (#192) 2023-07-26 19:43:17 -07:00
Ilya Kreymer dbafc19522 ui: fix 'show non-seed pages' for multi wacz and for after first load (#187)
deps: bump to wabac.js 2.16.3
bump to 1.8.3
2023-06-27 22:51:12 -07:00
Ilya Kreymer 646f3f8d76 fix redirect loop (fixes #184): (#185)
- loading: fix redirect loop on 404s (via wabac.js 2.16.2)
- misc: additional check before autoupdate, update build deps to support Node 20
bump to 1.8.2
2023-06-20 18:21:55 -07:00
Ilya Kreymer f8116eeaa6 ruffle: update to ruffle 2023-05-13 release, later versions interfere… (#181)
* ruffle:
- switch to ruffle 2023-05-13 release, later versions interfere with loading, it seems (see #180)
fixes #180

* add ruffle toggling options
- disable by default in embed mode, can be enabled with 'useruffle' attr
- enable by default in standalone, can be disabled with 'skipruffle' attr
- fixes #182

* update CHANGES for 1.8.1
2023-06-16 16:01:31 -07:00
Ilya Kreymer b26f4b082d Compute unique collection id using full sourceUrl if relative url given (#179)
* loading: update sourceToId to resolve any pathname to absolute URL (via document.baseURI) for computing unique id (eg. to avoid conflicts of two 'webarchive.wacz' loaded from different paths) - matches behavior used in embed
embed demo: fix typo, don't change default service worker name
2023-06-15 09:45:01 -07:00
Ilya Kreymer 99a034af49 ui: don't show sidebar within sidebar 2023-06-14 18:16:46 -07:00
Ilya Kreymer 21ddc5b713 Show All Pages Option (#177)
* show all pages:
- add option to 'show all pages' if additional non-seed pages are present in the wacz file
- only show checkbox if there are additional pages
- tweak page results to just show 'Pages' or 'Pages Shown' to avoid confusion over 'Pages Found'
- bump to 1.8.0

fixes #176

CHANGES: add changes for 1.8.0
2023-06-14 17:17:20 -07:00
Ilya Kreymer d1e84b1b52 Custom SW filename (#175)
* embed: support using custom filename for service worker instead of sw.js
can be set via <replay-web-page swName='custom.js' ... > property
docs: update embedding docs to mention new option
fixes #160
2023-06-14 17:06:51 -07:00
Ilya Kreymer c7adbdeb0c file chooser: relax extension pattern to allow query/hash after extension (check for ?/#) (#171)
bump to 1.7.15
2023-05-12 13:52:33 +02:00
Matteo CargneluttiandIlya Kreymer 6a24be439c Show total pages count (#164)
* Update pages.js

* show x of y pages found when showing partial results

---------
Co-authored-by: Ilya Kreymer <ikreymer@gmail.com>
2023-04-06 10:10:26 -07:00
Matteo Cargnelutti b074cda6d8 Fixes background color in fullscreen mode (#165)
* Fixes background color in fullscreen mode

* Applied fix suggested by @curtgrimes
2023-04-03 11:17:34 -07:00
Curt Grimes d4832e4df9 Support dropping files onto window to load (#163)
- Allow dropping a supported file type onto the window to automatically
  load it as an alternative to clicking the "Choose File..." button,
  selecting a file in the file dialog, and clicking the "Load" button.
- Do not do anything when unsupported files are dropped.
2023-03-31 18:47:00 -07:00
Ilya Kreymer 05287749ca fidelity / loading fixes: (#159)
- Fidelity: Improved replay via unrewriting fixes of style urls, request/response urls (via wabac.js 2.15.3)
- Embeds: Support updating auth headers if custom headers provided in embed 'config'
- Dependencies: Update to wabac.js 2.15.3, wombat 3.4.6, Electron 23.1.1
- bump to 1.7.13
2023-02-25 16:38:10 -08:00
Ed Summers c0ff3b426b Use crt.sh (#144)
Switch back to using crt.sh for certificate lookups since censys now
require a login to search by cert fingerprint.
bump to 1.7.10
2023-01-04 10:12:18 -08:00
Ilya Kreymer e6f837df13 Cleanup Electron App + Dependency Update (#139)
* electron: clean-up / remove unused code in main process, including:
- remove native plugin init (no longer supported)
- remove auto-js-ipfs (used in render process)
- remove ipfs handling logic (handled in render process)
- use custom file2:// scheme for loading files, instead of custom prefix
- proxyLive supports POST requests, using original UA (if set, for archiveweb.page)
- webpack: remove unused __IPFS_CORE_URL__
- ci: add lint check

* dependency update:
- update to wabac.js 2.13.15 for latest auto-js-ipfs (2.1.0) and wombat (3.3.13)
- update to electron 22.0
- update webpack + electron updater to latest

* bump to 1.7.8
2022-12-07 13:33:36 -08:00
Ilya Kreymer bc5f8b07eb embeds: new embed option 'loading="eager"' to support eager loading entire WACZ file, instead of on-demand loading
deps: update to wabac 2.13.9 to support eager loading, update electron to 21.3.1
package: remove assets from package
bump to 1.7.4
2022-11-24 17:28:53 -08:00
Ilya Kreymer 54b53f9d9b dependencies: update to wabac.js 2.13.7, latest wombat (3.3.11), auto-js-ipfs 1.5.1
update CHANGES.md
2022-11-21 17:33:27 -08:00
Ilya Kreymer e006028bab electron app: fix app not loading preload.js, regression in 1.7.0
fidelity: Fixed embedded tweet video issue (via wabac.js)
fidelity: include target="new" in target rewriting (possibly fix for #118)
deps: bump to wabac.js 2.13.3
bump to 1.7.1
2022-10-09 23:55:49 -04:00
Ilya Kreymer feb1828141 app loading: load external URLs from not found page using default browser
update CHANGES.md
2022-10-04 17:12:10 -07:00
Ilya Kreymer ff746d8107 verification ui: display publicKey if no verification domain, update CHANGES 2022-10-04 16:54:43 -07:00
RangerMauveandIlya Kreymer f1df02ea3c remove js-ipfs in electron app, eslint to dev deps (#123)
- add ipfs:// protocol handlers, not enabled for now
- use browser-side auto-js-ipfs for loading from ipfs even in electron app
- deps: bump wabac.js to 2.13.0
- update CHANGES

Co-authored-by: Ilya Kreymer <ikreymer@gmail.com>
2022-10-04 15:54:43 -07:00
Ilya Kreymer 43122425e5 Restrict new windows in replay + improved service worker loading + better error messages (#126)
* embeds:
- support target rewriting with named iframe as per webrecorder/wombat#94
- refactor sw init: detect additional errors, such as CORS issues in nested iframes
- support cross-origin replaybase for embeds
- add 'requirecrossoriginiframe' to restrict embed to only be loaded in subdomain iframes, otherwise showing
- rename noSandbox -> sandbox, not enabled by default

init: set appName on service worker init
docs:
- add example embed to embedding doc
- update docs for noSandbox -> sandbox
- add warning if deprecated 'noSandbox' flag is used, explaining that it is now deprecated
- update embedding and CHANGES.md with latest features
- add tweet-example.wacz
- add embed.html to test embeds

bump to 1.7.0-beta.1
2022-10-03 20:04:35 -07:00
Henry Wilkinson 764e1c9e21 embed receipts ui: Adds title back to download button section (#127)
* Adds title back to download button section
* Update embed-receipt.js
- Re-order download text
- Finalized copy fixes
- Added space between button and text
2022-10-03 20:00:35 -07:00
Ilya Kreymer 27a8524aac Archive verification info + Embed improvements + Embed Receipts UI (#125)
info panel verification/integrity additions, (fixes on #113)
- info panel: display number of hashes verified valid (and invalid), observer domain (if any), and certificate fingerprint, creation software, and package digest
- info: ensure replayTS is updated, not just replayUrl, to ensure correct stats

404 page: improved formatting on 404 page (via wabac.js)

embeds:
- new embed 'replay-with-info mode, displays replay-only with dropdown showing archival 'receipt, which includes condensed info and verification (hashes valid/invalid, observer domain, cert fingerprint)
- support 'newWindowBase' attribute for specifying base replay URL for opening new window. default: use current url if deepLink enabled, otherwise use https://replayweb.page/
use transparent for embeds
- embed dropdown/receipt styling from @Shrinks99 
- automatically setting noCache and noWebWorker for older browsers (eg. safari < 16)
- add 'hideOffscreen' attribute to enable unloading embed when offscreen

dependencies: update to wabac.js 2.13.0-beta.0

bump version to 1.7.0-beta.0

Embed receipt styling co-authored-by: @Shrinks99
2022-10-01 18:22:30 -07:00
Matteo Cargnelutti 02ce33dc78 <replay-web-page> uses display: block by default for embed (#117) 2022-09-01 18:33:11 -07:00
Ilya Kreymer 6c6d66f03a loading: add 'noCache' option for <replay-web-page> embeds, ensure option is passed to wabac.js loader
dependencies: update to wabac.js 2.12.3 to fully support noCache for WARCs
bump to 1.6.4
2022-08-06 17:56:16 -07:00
Ilya Kreymer f1c5e931c8 extensability: make purge cache configurable
ui: fix date padding for month-day
package: add index.html to npm package
bump to 1.6.2, update CHANGES.md
2022-07-05 12:24:50 -07:00
Ilya Kreymer 54fd92c273 error fix + embedding extensability (#110)
* embed mode: make embedding options more extensible
ui: unify service worker not available errors, show same error in standard/embed mode, including when loaded over http
- more customizations for extended embed, allow hiding 'browse contents' button
- simplify title updates
- make error page / icon more customizable
- autoupdating in editable mode: don't update if previous one didn't finish, make customizable, don't autoupdate at all over >=100 pages

* dependencies: update ruffle to 2022-07-02

* bump to 1.6.1, update CHANGELIST
2022-07-05 10:48:32 -07:00
av8ta 9e75593429 Add pattern to file chooser for ssb urls (#103)
* add pattern to chooser to match ssb:// urls
* also gitignore ipfs bundle
2022-06-15 11:42:50 -07:00