Commit Graph
256 Commits
Author SHA1 Message Date
Ilya Kreymeranddependabot[bot] a59309c983 Dependency Updates (#315)
Update electron, webpack packages, express, follow-redirects, and
replace now obsolete svg-inline-loader with raw-loader

---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-10 19:27:14 -07:00
Ilya Kreymer 14462c1506 final fixes + changelist for 2.0.0!
- package: add adblock/adblock.gz to npm package
- electron: remove ./site/
- add CHANGES for 2.0.0
2024-04-10 18:38:38 -07:00
Ilya Kreymer 0814e28778 Adblock Support for Embeds (#308)
Fixes #307 

- Adds optional adblock support, via wabac.js (dependent on
webrecorder/wabac.js#167).
- For now, adblock enabled only for embeds via the `useAdblock`
attribute, and can be enabled per archived item.
- By default, adblock filter rules from
[EasyList](https://easylist.to/easylist/easylist.txt) are used, however,
a custom filter rules file can be used via `adblockRulesUrl` attribute
(default is ./adblock/adblock.gz)
- Added `fetch-adblock.sh` script to fetch latest easylist, filter out
`##` rules and compress to `./adblock/adblock.gz`
- Not yet possible to enable adblock for standalone browsing via
replayweb.page
- bumps version to 2.0.0-beta.3
2024-04-10 16:27:04 -07:00
Ilya Kreymer 92343d59f7 Site reorg: Remove site/ subpath (#306)
Unfortunately, for proper package pathing, need to remove the `site/`
subpath. This includes:
- Moving everything back into root
- Adding a `copy-site.sh` script to copy resources into `mkdocs/site/`
before building the site with mkdocs.
- Also update examples to ensure all are loading the local sw.js / ui.js
- Consolidate examples in `docs/examples`
- Consolidate assets under src/assets/
- Move `favicons` to root
- Reformat and relint
- Tests: update playwright tests to use mkdocs output, add test for
embed in docs
- bump to 2.0.0-beta.2
2024-04-09 23:07:23 -07:00
Ilya Kreymer 01a6ebc5b6 Electron Fix for 2.0.0 (#304)
- build UI.js to site/ directly (build electron to dist/)
- no longer need to copy favicons
- load site assets directly from site/
2024-04-09 15:33:43 -07:00
Ilya Kreymer 5e995438ca Merge branch 'main' into dev-2.0.0 2024-04-08 18:49:50 -07:00
Henry WilkinsonandIlya Kreymer cbe98c4fa1 Reasonably Scoped Branding Update (#299)
- Adds TsconfigPathsPlugin
- Custom icons, branding assets, and favicons now all live under
`/src/assets` in organized folders (Mirrors Browsertrix folder
organization and naming)
- Assets can now be referenced with `import: varName from
~assets/assetpath` app wide!
- SVGs continue to use `svg-inline-loader`, favicons are copied to
`/site/favicons` on app build
- Adds favicons to the main `index.html` page for ReplayWeb.page and
`embed.html` example page
- Replace README header with new branding
  - Lives under /assets because it's not app related
- Adds new webmanifest app icons
- Adds new Electron app .icns (macOS ) and .png (Windows & Linux) app
icons
- Replaces globe icon in the embed receipt with ReplayWebpage icon!
  - Adds lockup to the footer section
- Removes logo animation
- Removes logo values from `renderErrorReport()` in swmanager.ts in
favour of additional import statements

---------
Co-authored-by: Ilya Kreymer <ikreymer@gmail.com>
2024-04-08 18:47:17 -07:00
Ilya Kreymer 963349f38d dependency update: fidelity improvement: (#301)
- fix resolving relative URL by avoiding not-http/https URL as base URL
(via wombat 3.7.3)
- dependencies: update to wabac.js 2.17.3, wombat 3.7.3
- fixes #300
- bump to 1.8.17
2024-04-08 18:25:27 -07:00
Henry WilkinsonandIlya Kreymer a4de740999 MKDocs conversion (#278)
Closes #252, Closes #250

## Changes
- ReplayWeb.page uses MKDocs for documentation now!
- Requires both
[`mkdocs-macros`](https://mkdocs-macros-plugin.readthedocs.io/en/latest/)
and [`mkdocs-redirects`]
(https://github.com/mkdocs/mkdocs-redirects) plugins to be installed
- Redirects existing docs pages to their new locations under either
`/embedding` or `/user-guide`
- Unused images have been removed
- Adds new ReplayWeb.page branding!

All pages have received copy edits. All references to future (or
previously) planned features have been removed. More major content
changes of note are as follows:

### Supported Locations
- Made into a page, no longer a table. Locations are either supported or
not listed.

### Offline Use 
- Removes browser cache section, adds improved PWA install and uninstall
instructions.
- Removes navigation instructions to GitHub's releases section in favour
of a link

### Supported Formats
- Moved to the User Guide homepage
- Updated the format support

### Exploring Archives
- Example links for showcasing features have been moved to their
respective feature documentation section on this page

### Remove Usage, Examples, and Troubleshooting Pages
- Usage content is covered in the user guide index
- Troubleshooting content has been added to a question section on the
getting started page about WARC vs WACZ.
- Examples are now Featured Projects on the docs homepage!

### Build Process
- Removes Jekyll & related site assets.
- Adds new GitHub action for publishing
- Adds a python macro to dynamically load the replayweb.page version from package.json
- Relocates replayweb.page site content under /site (including docs)
- Some assets (favicon, logo) and sw.js/ui.js automatically copied into /site

---------
Co-authored-by: Ilya Kreymer <ikreymer@gmail.com>
2024-04-07 11:07:02 -07:00
Ilya Kreymer a7e6b57cc1 1.8.16 Release (#297)
- Dependencies: update to wabac.js 2.17.2, electron 29.2.0
- Fidelity: More accurate rewriting of 'import(' statement (via wabac.js
2.17.2)
2024-04-05 12:30:12 -07:00
Ilya Kreymer 57123e8a63 version: set to 2.0.0-beta.0 2024-03-06 17:10:13 -08:00
Ilya Kreymer f72428c089 Merge branch 'main' into dev-2.0.0 2024-03-06 17:09:40 -08:00
Ilya Kreymer 01a8c12f28 CI Fixes (#286)
- Update to latest electron-builder
- Fix passing env var for builder
2024-03-02 11:33:43 -08:00
Ilya Kreymer 3baf04e4d9 ci build: update electron-builder, electron-notarize, use latest notarytool 2024-02-26 14:33:19 -08:00
Ilya Kreymer 8153041839 1.8.15 release (#285)
dependency update: wabac.js 2.17.1, wombat 3.7.2, electron 29.0.1
2024-02-24 15:46:03 -08:00
Emma Segal-Grossman a63390f10c Update NPM packaging, linting, and a bunch of types (#275)
Preparation for
https://github.com/webrecorder/archiveweb.page/issues/198 /
https://github.com/webrecorder/archiveweb.page/pull/199.

## Changes

- Organizes published files more cleanly, using `dist/types` folder as
the target for type declarations and sourcemaps
- Configures type field in `package.json`
- Updates ESLint & its config
  - Sets up type-informed linting rules mirroring browsertrix
- Adds a bunch of other useful eslint and eslint-typescript rules, and
applies auto-fixes to the codebase
- Cleans up a bunch of types throughout the codebase, particularly parts
of the code used by ArchiveWebPage
- Changes `ItemIndex#_deleting` from `private` to `protected` so that a
part of AWP that extends it can do so properly
- Makes a bunch of previously-implied [non-null
assertions](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#non-null-assertion-operator-postfix-)
explicit
- Updates `URLResource` and `ItemType` types (and renames `Item` →
`ItemType` to disambiguate from the `Item` class)
- Removes `node-sass` and replaces it with `sass-embedded` for much
quicker installs and compilation
2024-02-06 18:50:12 -08:00
Ilya Kreymer 3bee02bd89 Merge branch 1.8.14 release into dev-2.0.0 2023-12-07 20:26:02 -08:00
Ilya Kreymer 0a78761d56 fix loading revisit records that may have incorrect content-length … (#271)
…(via wabac.js), possible fix for #260
- deps: update to wabac.js 2.16.13
- bump to 1.8.14
2023-12-05 17:46:10 -08:00
sua yoo 842a5dddd9 chore: update package version 2023-12-04 14:42:32 -08:00
sua yoo 4e08272a38 chore: build when installed from git source
Enables yarn add git+https://github.com/webrecorder/replayweb.page.git#dev-2.0.0
2023-12-04 14:38:17 -08:00
Ilya Kreymer 7d013f194d Add initial set of Playwright integration tests, for testing embeds (#254)
* add first pass on playwright integration tests!
- test embed loading via localhost:9990/embed.html as well as cross-domain with embed on localhost:8020/
while RWP + data on localhost:9990/
- add --ignore-optional to most ci runs
- add playwright ci test
- add playwright and playwright-test to dev dependencies
- add 'test-start-embed' to start test harness for localhost:8020/ embed
- add 'test-start-sandbox' to start test harndess for localhost:8030/ sandbox
- add additional tests for loading with sandbox + requiresubdomainiframe, ensure 'requiresubdomainiframe' works, doesn't allow loading directly
2023-11-29 15:54:42 -05:00
Ilya Kreymer c7b2fd74fb 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-11-29 15:54:18 -05:00
Ilya Kreymer 5a36b32a95 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-11-29 15:54:05 -05:00
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 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
Ilya Kreymer adeefc64dd Add initial set of Playwright integration tests, for testing embeds (#254)
* add first pass on playwright integration tests!
- test embed loading via localhost:9990/embed.html as well as cross-domain with embed on localhost:8020/
while RWP + data on localhost:9990/
- add --ignore-optional to most ci runs
- add playwright ci test
- add playwright and playwright-test to dev dependencies
- add 'test-start-embed' to start test harness for localhost:8020/ embed
- add 'test-start-sandbox' to start test harndess for localhost:8030/ sandbox
- add additional tests for loading with sandbox + requiresubdomainiframe, ensure 'requiresubdomainiframe' works, doesn't allow loading directly
2023-10-06 20:06:04 -07: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
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 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 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 47fb16590c CHANGES: update changelist for 1.8.9 (#225)
deps: bump to wabac.js 2.16.10
2023-08-28 20:18:14 -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
Ilya Kreymer 0cc1824b3a deps: update to wabac.js 2.16.9 (#217)
* update CHANGES for 1.8.8, bump to 1.8.8
2023-08-17 16:39:40 -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 13d6f011ca Format changed files in src on pre-commit (#211)
Formats staged files on pre-commit with prettier. Requires running `yarn prepare` once or is enabled after first `yarn install`.
2023-08-16 18:46:38 -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
Ilya Kreymer 32b2dad06e bump version to 1.8.8-beta.0 for future changes 2023-08-16 17:38:13 -07:00
Ilya Kreymer 79e4c2a77e deps: bump to wabac.js 2.16.8 for relative url rewriting fix (#204) 2023-08-11 00:27:54 -07:00
Ilya Kreymer 38548a25aa bump to 1.8.7, update CHANGES (#203)
deps: bump to wabac.js 2.16.7
2023-08-09 20:30:18 -07:00
Ilya Kreymer 873615079d fixes for 1.8.6 release: (#196)
- Loading: Fix improved handling of multi-wacz collections (via wabac.js 2.16.6)
- Loading: Allow embedded video/audio to play inline instead of being downloaded (via wabac.js 2.16.6)
- Fidelity: Add missing ruffle.js files to fix ruffle
- bump wabac.js to 2.16.6
2023-07-26 19:35:53 -07:00
Ilya Kreymer a138ce0d50 patch: testing wabac.js fix 2023-07-11 15:23:57 +02:00
Ilya Kreymer df23be42ca bump to 1.8.5 2023-07-11 12:57:12 +02:00
Ilya Kreymer fb41ea818c loading: improved multi-wacz loading, support for patching
deps: update to 2.16.5
bump to 1.8.5
2023-07-11 11:06:25 +02:00
Ilya Kreymer 03a049496f fidelity: improved replay of pages with top-level let / const globals, addresses webrecorder/wombat#82 (#190)
deps: bump to wabac.js 2.16.4
bump to 1.8.4
2023-07-05 20:38:34 -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