Commit Graph
237 Commits
Author SHA1 Message Date
Ilya Kreymer c0c196c225 deps: update to wabac.js 2.22.16 (#418)
bump to 2.3.7
2025-05-02 18:26:33 -07:00
Ilya Kreymer 15a2ee4937 deps: update to wabac.js 2.22.15 for improved CSP hardening (#417)
bump to 2.3.6
2025-05-01 18:27:29 -07:00
Ilya Kreymer 052be327d1 deps: update to wabac.js 2.22.14 (#415) 2025-04-29 17:15:53 -07:00
Ilya Kreymer e12497cb93 2.3.5 deps update (#414)
update to wabac.js 2.22.12, various fidelity improvements, fix for issue in 
webrecorder/browsertrix-crawler#801
2025-04-24 12:26:21 -07:00
Ilya Kreymerandemma 592ccc5253 Add 'utils' module export (#410)
Export core utils and assets used by RWP in /utils.
Add serviceWorkerActivated() utility promise.

---------

Co-authored-by: emma <hi@emma.cafe>
2025-03-12 21:55:29 -07:00
Ilya Kreymer 2ef95985cd downloadUrl support for multiWACZ + latest wabac (#407)
main menu tweaks:
- use downloadUrl for action menu download
- don't show download menu if downloadUrl is null
- don't show Archive Info if downloadUrl !== sourceUrl and in embed mode

improved loading: update to wabac.js 2.21.3

bump to 2.3.3, update CHANGES for release
2025-03-04 11:37:20 -08:00
Ilya Kreymer 6493f9942f version: actually bump to 2.3.2! 2025-02-26 23:22:29 -08:00
Ilya Kreymer 4bbe9910e3 loading: fix dynamic page loading for pages with queries (via wabac.j… (#403)
…s 2.12.2)

version to 2.3.2
2025-02-26 23:16:01 -08:00
Ilya Kreymer 4c96ea6cb3 Additional fixes for dynamic page loading optimization (#402)
- Update to wabac.js 2.21.1
- Hide 'Show non-seed pages' when doing a dynamic query
- bump to 2.3.1
2025-02-24 18:01:29 -08:00
Ilya Kreymer 6ef8bf4973 Support for dynamic page loading for Multi-WACZs (#399)
Support querying pages dynamically via pages endpoint:
- If loaded pages < total pages, load additional pages via /pages
endpoint if canQueryPages is set to true on item
- If query provided, do `/pages?search=...` to search for pages. Use
pagination of 25 pages for now.

WACZ hash:
- if provided, store waczhash per page, and use for thumbnail, favicon
and top-level replay loading.

Embed: better support for force reloading, call delete with reload
directly in embed

Depends on webrecorder/wabac.js#220
2025-02-24 14:35:03 -08:00
Ilya Kreymer 6f495c94f9 bump to wabac.js 2.20.8 for 2.2.5 (#389)
add CHANGES for 2.2.5
2024-12-31 21:00:05 -08:00
sua yooandemma 09239285a1 fix: Support description markdown and longer length (#385)
Fixes https://github.com/webrecorder/replayweb.page/issues/381

## Changes

- Renders description as markdown
- Shows "Collection name" and "About this collection" labels when
description is present
- Fixes overflow issue where bottom few pixels of embed is cut off
- Hides description in mobile view

Co-authored-by: emma <hi@emma.cafe>
2024-12-31 19:49:42 -08:00
Ilya Kreymer 9fa008bab2 Nested WACZ + embed reloading fix (#374)
- Loading: Fix for loading nested WACZ files (via wabac.js 2.20.7)
- Embeds: Support full reload on embeds via fullReload() call on embed
web component
2024-11-22 17:58:44 -08:00
Ilya Kreymer bf6da1ed00 deps: update to wabac.js 2.20.6 for fb video + localStorage replay fixes (#373)
deps: update electron-updater
bump to 2.2.3
2024-11-21 15:12:41 -08:00
Ilya Kreymer 7fcb470962 deps: update to wabac.js 2.20.3 / wombat 3.8.6 for wombat typo fix (#370) 2024-11-14 19:17:50 -08:00
Ilya Kreymer 7e967cb14c deps update: (#369)
bump wabac to 2.20.2, minor fidelity improvements via wombat
bump to 2.2.2
2024-11-14 18:17:27 -08:00
Ilya Kreymer 4d02878c6b deps: bump to wabac.js 2.20.1, wombat 3.8.3 (#367)
fidelity: better handling of document.write() based frame detection (via
wabac.js 2.20.1, wombat 3.8.3)
bump to 2.2.1
2024-10-31 23:58:25 -07:00
Ilya Kreymer 95c9be6c5b Support for import as module, wabac.js 2.20 (#364)
- Extensibility for AWP (customizable toolbar, pass replay iframe messages to parent)
- Support export as module, build separate index.js for module in addition to ui.js
- Update to wabac.js 2.20.0
- bump to 2.2.0
2024-10-16 20:22:11 -07:00
Ilya Kreymer a1603c5a3c fidelity improvements (instagram + always online) (#362)
- update rules for instagram
- disable online/offline events detection in replay, replay always
'online' deps: bump to wabac.js 2.19.9, wombat 3.8.2, electron 32.1.0
2024-09-17 20:37:13 -07:00
Ilya Kreymer d9c7d55e9a deps: update to wabac.js 2.19.7, (#356)
fidelity improvements to FB replay, eval() rewriting, 'object' tag
rewriting (via wabac.js 2.19.7, wombat 3.7.14)

bump to 2.1.4
2024-08-13 17:05:07 -07:00
Ilya Kreymer 9b42a032ae deps fixes: actually bump version to 2.1.3, bump electron-updater to 6.3.2 2024-08-08 15:08:57 -07:00
dependabot[bot] ab71c7e699 build(deps): bump electron-updater from 5.3.0 to 6.3.0 (#353) 2024-08-08 15:06:50 -07:00
Ilya Kreymer 923232f2df rewriting improvements for a few edge-cases (#355)
edge-case rewriting improvements:
- avoid rewriting inside of strings (via wabac.js 2.19.5)
- detect old-html framesets (via wombat 3.7.12)

bump to 2.1.3
2024-08-08 14:54:07 -07:00
Ilya Kreymer d05f3eaed9 deps: bump to wabac.js 2.19.4, improved replay of video / fix rewriting of DASH manifests (#352)
version: bump to 2.1.2
2024-07-16 17:20:18 -07:00
Ilya Kreymer ce9447c861 deps: update to wabac.js 2.19.2 (wombat 3.7.10) (#348)
includes sharepoint fidelity (fixes #273)
ui: default URL resources search to 'prefix' (as contains only works after prefix search)
version: bump to 2.1.1
2024-07-05 13:02:24 -07:00
Ilya Kreymer 9fac1b7f5d deps: bump to wabac.js 2.19.1 + CHANGES for 2.1.0 (#343) 2024-06-21 16:01:15 -07:00
Ilya Kreymer f3506a1575 version: bump to 2.1.0 2024-06-21 14:47:18 -07:00
Ilya Kreymer a4d0dbf489 deps: update to wabac.js 2.18.4 / wombat 3.7.7 (#339)
update CHANGES for 2.0.2
2024-06-18 19:00:49 -07:00
Emma Segal-Grossman 1feee354c7 Configure package exports explicitly (#336)
Closes #337
Blocks https://github.com/webrecorder/archiveweb.page/issues/198

Adds a dedicated `misc` export, as well as explicitly exporting the
`electron-*` files and the `index.html` file. This restricts imports to
only these files, and allows us to not have to exactly match webpack
configs between RWP and AWP.
2024-06-18 21:41:21 -04:00
sua yoo 9cfeca3428 Upgrade Shoelace & Lit (#329)
Related to https://github.com/webrecorder/browsertrix/issues/1836 --
Upgrades Shoelace and Lit to match browsertrix.
version: bump to 2.0.2
2024-06-12 11:48:08 -07:00
Ilya Kreymer 7229609ed0 2.0.1 work - fidelity + build improvements (#327)
Fidelity improvements (via wabac.js and wombat):
- fixes ebay carousel #326 (via wombat)
- partial fix to error page escaping #323 (via wabac)
- fixes to reddit pages #317 
- fixes to twitter/x replay (via wabac / wombat)

Build improvements:
- run mkdocs gh-deploy --force in gh action, instead of publish-docs to avoid accidental updates
- auto install ruffle from download script, remove from git, add 'update-ruffle' script
- update to latest ruffle which doesn't inject setImmeidate/ clearImmediate to avoid interference with certain sites, fixing fidelity on some sites (including twitter/x)
- remove unused src/sw.ts
- deps: wabac.js to 2.18.2

bump to 2.0.1
2024-06-09 17:38:38 -07:00
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