Commit Graph
550 Commits
Author SHA1 Message Date
Henry Wilkinson 74266bf3b3 Adds multi-resolution ICO file for Windows (#325)
Fixes Electron's bad default nearest neighbour scaling of the PNG when
it reformats it into ICO format... Now this is done by us!

Keeps the PNG around for Linux support.
2024-06-18 10:44:44 -07: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 dc26fb25a1 update CHANGES.md for 2.0.1 2024-06-09 17:45:59 -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 Kreymer a56e312f8f quickfix: README: fix releases link, fixes #321 2024-06-08 12:49:40 -07:00
Ilya Kreymer 1b61d7e3ce Changelist: one more CHANGES.md update for 2.0.0! 2024-04-10 19:33:13 -07:00
dependabot[bot] ecfcac45e0 build(deps): bump loader-utils from 2.0.0 to 2.0.4 (#316)
Bumps [loader-utils](https://github.com/webpack/loader-utils) from 2.0.0
to 2.0.4. to fix critical security issue
2024-04-10 19:30:17 -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 68f9485aba update ruffle to 2024-04-10 release (#314)
Update Ruffle to latest (2024-04-10)
2024-04-10 19:25:22 -07:00
Ilya Kreymer 27e41d5ef3 update CNAME 2024-04-10 19:02:11 -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 KreymerandHenry Wilkinson 5196b4f037 README tweaks for 2.0.0 (#309)
- Updated language for yarn commands
- Updated link to embedded docs (doesn't work with old site)

---------
Co-authored-by: Henry Wilkinson <henry@wilkinson.graphics>
2024-04-10 17:09:29 -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
Henry Wilkinson fcd59b634b Docs: Add updateFavicons to the embed options list (#305)
- Adds info on `updateFavicons` attribute to the table
- Adds note on timestamp format
2024-04-09 17:19:28 -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
Henry WilkinsonandIlya Kreymer 00f01222a7 Adds sl-copy-button fontawesome icons (#302)
- Changes `sl-copy-button` icons to use fontawesome equivalents so they
fit in with everything else in ReplayWebpage
- Converts sl-icon to use fa-icon for error icon
- Adds missing whitespace

Co-authored-by: Ilya Kreymer <ikreymer@gmail.com>
2024-04-09 15:01:10 -07:00
Ilya KreymerandHenry Wilkinson 858f9d61bb Convert URL encoded images to inline SVGs with fa-icon (#303)
Avoid data: URL loading and just inject SVG inline directly for logo, receipt and loader
Additional favicon path fixes

---------
Co-authored-by: Henry Wilkinson <henry@wilkinson.graphics>
2024-04-09 15:00:08 -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 Wilkinson ef6c748170 2.0 UX Changes (#295)
Partially addresses #237
- Unhides the load button on smaller screen sizes
  - There's no way to actually load new web archives when this is hidden
- Minor text updates
  - Renames MIME Type to Media Type
  - Punctuation fixes
- Reorder main application controls (#237)
  - Group navigation related controls together on the left side
  - Move full screen to the right side
  - Enable navigation controls on mobile
- Renames URLs tab to Resources - now that we have more space (because we moved the archived item info
to a dialog), we can make these titles visible when space is available to do so!
  - This is now in-line with the docs (both current and new!)
2024-04-07 14:52:15 -07:00
Henry WilkinsonandIlya Kreymer 88ca04e52e Add example links to exploring section (#298)
- Moves example WARC files to /site/examples
- Adds example link for full text search
- Adds example link for searching resources
- Updates example docs link on the app homepage, sends to the project
showcase section
- Link fix
- .gitignore update
---------

Co-authored-by: Ilya Kreymer <ikreymer@gmail.com>
2024-04-07 14:48:58 -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
Henry Wilkinson d276609ffe Removes WBN file options
WBN files are unsupported and don't work but are still allowed to be selected by users and are still displayed as valid options.

No longer!
2024-03-19 12:05:51 -04:00
Ilya Kreymer 7213a085a0 ci: remove --ignore-optional from build for npm 2024-03-07 22:11:17 -08:00
Ilya Kreymerandemma 6051a2a414 feature: allow embed <replay-web-page> to also support updating favicons from replay (#287)
It may be useful to be able to have <replay-web-page> embed also take
over the favicons for the page, propagating them from the replay (eg. if
in a single page app where replay takes up most of the view).

This PR adds a `updateFavicons` attribute, used as `<replay-web-page ...
updateFavicons>` to have icons propagated from the replay to the
top-level frame. (This may be especially useful with `deepLink` option,
which allows for linking directly to archived pages)

Details:
  - enabled via 'updateFavicons' attribute on <replay-web-page>
- pass icons via postMessage() update, adding type to embed message to
allow different types of message
  - currently supporting 'urlchange' and 'favicons' message types
- add shared updateFaviconLinks() in misc.ts, used by both embed and
main app

---------
Co-authored-by: emma <hi@emma.cafe>
2024-03-07 21:28:50 -08:00
Emma Segal-Grossman 5c7b914e69 Typescript config parity with Browsertrix repo (#289)
Follow-up from #288 

This matches the strictness rules with the Browsertrix repo,
specifically `noImplicitAny`, and then adds `// @ts-expect-error`s to
suppress existing errors this change raises. This'll help us keep code
quality high moving forward.

Going to just directly merge this once it passes CI; as with #288, this
doesn't change any code, just comments.
2024-03-07 21:12:26 -05:00
Emma Segal-Grossman 40d84f3383 ESLint parity with the Browsertrix repo (#288)
This copies the rules from the Browsertrix repo, and uses
[`suppress-eslint-errors`](https://www.npmjs.com/package/suppress-eslint-errors)
to suppose the violations. I'll take a pass at cleaning this up at some
point in the future, and let's do our best to address these in the
future as we come across them :)

This'll help ensure new code being added to this repo is held to the
same standard as code in Browsertrix's frontend.
2024-03-07 20:12:50 -05: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 b39d17d637 Tab list disappears with an empty WARC (#284)
Closes #283 

Not too sure what the root of the problem actually is, but removing the
overflow seems to fix it, though it does change the sizing somewhat.
I've adjusted the padding to compensate, so it should look the same as
it did before.

The source rules are coming from Bulma, which I don't know super well,
so I don't mind overriding it in this context rather than trying to fix
the underlying issue here.
2024-02-21 19:21:45 -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
Henry Wilkinson b93a19a37e Removes plausible from Index.html (#280) 2024-01-29 12:41:35 -08:00
Henry Wilkinson 6aae08fc04 Adds plausible analytics to index.html (#279)
Only adds to the index page, not docs.
2024-01-26 23:53:52 -05:00
Henry Wilkinson 9810b00c18 Adds plausible analytics to index.html 2024-01-24 16:07:25 -05:00
Emma Segal-Grossman a40471128f Fix missed rename, and improve types (#276)
Fixes a missed rename, in `src/item-index.ts`: I'd renamed `coll` to
`item` but missed updating it in the `update` method's
`changedProperties` map.

This PR fixes that, and adds better typing to all of the instances of
`changedProperties` by using
[`PropertyValues<this>`](https://lit.dev/docs/components/lifecycle/#typescript-types-for-changedproperties),
and implementing class properties for missing Lit properties.
2024-01-05 18:32:22 -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
emma 8f7ce42913 chore: ignore dist in eslint config 2023-12-04 14:38:09 -08:00
emma 3056ec79e4 Merge branch 'main' into dev-2.0.0 2023-11-29 23:12:32 -05:00
sua yoo e9e292610d ci: remove build step from lint workflow 2023-11-29 15:54:44 -05:00
sua yoo 844bdd5bd5 ci: add build step to test 2023-11-29 15:54:44 -05:00
sua yoo d13c850f0e test: fix playwright tests 2023-11-29 15:54:44 -05:00