Commit Graph
476 Commits
Author SHA1 Message Date
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
sua yoo 49246fee61 chore: convert sw.js to typescript 2023-11-29 15:54:44 -05:00
Henry Wilkinson 9231ca0f34 Fixes GitHub issue templates
Fixes double quote issue

Hate pushing to main, wish there was a better way :(
2023-11-29 15:54:44 -05:00
Henry Wilkinson 3ef00fb72f Adds our feature / change request from 2023-11-29 15:54:44 -05:00
Henry Wilkinson 87590c2427 Adds application bug report form 2023-11-29 15:54:44 -05:00
Henry Wilkinson d6133b8734 Adds a GitHub issue template for replay problems 2023-11-29 15:54:44 -05:00
renevoorburg cbdaea2885 fixed nginx CORS config 2023-11-29 15:54:44 -05: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 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
Henry Wilkinson d25872ed63 Fixes GitHub issue templates
Fixes double quote issue

Hate pushing to main, wish there was a better way :(
2023-11-23 14:13:52 -05:00
Henry Wilkinson b28874f8e2 Adds GitHub issue templates (#262)
### Changes
- Adds the feature / change request form (no changes)
- Adds the bug report form (minor differences from Browsertrix based on
app context, no major changes)
- Adds a replay specific bug report form
- Makes reproduction steps optional asking the user to provide context
in the above section. Sometimes this isn't exactly required for replay
bugs?
  - Changes text from our standard bug report form to fit context
  - Applies the new `replay bug` issue tag to filed issues.
2023-11-23 13:59:13 -05:00
Henry Wilkinson 9b062b2a48 Adds our feature / change request from 2023-11-21 22:04:31 -05:00
Henry Wilkinson 201ddd28ea Adds application bug report form 2023-11-21 22:02:09 -05:00
Henry Wilkinson 5e91c7ebc2 Adds a GitHub issue template for replay problems 2023-11-21 21:36:32 -05:00
Henry Wilkinson db129d40f8 Fix missing ; in CORS config 2023-10-13 11:20:35 -04:00
renevoorburg ba7085776f fixed nginx CORS config 2023-10-13 15:53:06 +02: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
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