Skip to content

simplify: use existing prefix as archivePrefix, fixes #937 #938

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
May 2, 2025

Conversation

ikreymer
Copy link
Member

@ikreymer ikreymer commented May 2, 2025

Description

Fixes #937

Use existing prefix for wabac.js archivePrefix instead of recomputing, ensures passthrough handles mount prefix.

Update wabac.js to 2.22.15
bump to 2.9.0b1

Motivation and Context

Screenshots (if appropriate):

Types of changes

  • Replay fix (fixes a replay specific issue)
  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have added or updated tests to cover my changes.
  • All new and existing tests passed.

update to wabac.js 2.22.15
bump to 2.9.0b1
@ikreymer ikreymer merged commit 8ea2f74 into main May 2, 2025
4 of 6 checks passed
@ikreymer ikreymer deleted the client-side-fix-prefix branch May 2, 2025 01:40
annesiri added a commit to statisticsnorway/ssbno-pywb that referenced this pull request May 9, 2025
* Allow to configure uWSGI mount via environment variable (webrecorder#926)

* Introduce UWSGI_MOUNT env var

* Add a note to the documentation.

* Refuse to serve static files that are outside of static_dir (webrecorder#932)

Prevents the path traversal attack reported in webrecorder#931

* version: bump to 2.8.4

* Fix tests, support py3.9, 3.10, 3.11 (webrecorder#933)

- tests: fix or disable tests that no longer work reliably, eg. depend on external sites
- support python 3.9, 3.10, 3.11 in tests for now
- bump version to 2.9.0-beta.0

* Add optional client-side playback to pywb (webrecorder#928)

This PR adds optional client-side replay in pywb's framed replay mode, using wabac.js. This is implemented using wabac.js's live proxy mode, similar to the implementation by Alex Osborne's proof of concept and enabled via the config.yaml file. Documentation has also been added.

The service worker proxies to the original pywb URLs and allows for 'graceful fallback' if service workers are not supported.

Client side replay can be enabled by setting `client_side_replay: true` in config.yaml

The wabac.js service worker is added to the pywb static directory at installation time via setup.py. The wabac.js version can be bumped via a constant in that file (current version is 2.22.12)

In addition, a few small housekeeping changes are also included:
- The Python version in the pywb Dockerfile is updated to 3.11 to avoid using an unsupported version of Python
- Similarly, CI now runs on Python 3.9-3.11 to drop older versions that are no longer supported in GH Actions runners
- wombat updated to latest 2.8.10

bump version to 2.9.0-beta.0
---------

Co-authored-by: Ilya Kreymer <ikreymer@gmail.com>

* Update README.rst

* Fix py3.9 CI (webrecorder#934)

* ci: attempt to fix tests for 3.9 by skipping test that intermittently hang.

* simplify: use existing prefix as archivePrefix, fixes webrecorder#937 (webrecorder#938)

update to wabac.js 2.22.15
bump to 2.9.0b1

---------

Co-authored-by: Natanael Arndt <arndtn@gmail.com>
Co-authored-by: Alex Osborne <aosborne@nla.gov.au>
Co-authored-by: Ilya Kreymer <ikreymer@gmail.com>
Co-authored-by: Ilya Kreymer <ikreymer@users.noreply.github.com>
Co-authored-by: Tessa Walsh <tessa@bitarchivist.net>
annesiri added a commit to statisticsnorway/ssbno-pywb that referenced this pull request May 26, 2025
* added the pvc file

* MIIM-2185-probes (#13)

* probes

* Fetching changes from upstream repo (#14)

* Allow to configure uWSGI mount via environment variable (webrecorder#926)

* Introduce UWSGI_MOUNT env var

* Add a note to the documentation.

* Refuse to serve static files that are outside of static_dir (webrecorder#932)

Prevents the path traversal attack reported in webrecorder#931

* version: bump to 2.8.4

* Fix tests, support py3.9, 3.10, 3.11 (webrecorder#933)

- tests: fix or disable tests that no longer work reliably, eg. depend on external sites
- support python 3.9, 3.10, 3.11 in tests for now
- bump version to 2.9.0-beta.0

* Add optional client-side playback to pywb (webrecorder#928)

This PR adds optional client-side replay in pywb's framed replay mode, using wabac.js. This is implemented using wabac.js's live proxy mode, similar to the implementation by Alex Osborne's proof of concept and enabled via the config.yaml file. Documentation has also been added.

The service worker proxies to the original pywb URLs and allows for 'graceful fallback' if service workers are not supported.

Client side replay can be enabled by setting `client_side_replay: true` in config.yaml

The wabac.js service worker is added to the pywb static directory at installation time via setup.py. The wabac.js version can be bumped via a constant in that file (current version is 2.22.12)

In addition, a few small housekeeping changes are also included:
- The Python version in the pywb Dockerfile is updated to 3.11 to avoid using an unsupported version of Python
- Similarly, CI now runs on Python 3.9-3.11 to drop older versions that are no longer supported in GH Actions runners
- wombat updated to latest 2.8.10

bump version to 2.9.0-beta.0
---------

Co-authored-by: Ilya Kreymer <ikreymer@gmail.com>

* Update README.rst

* Fix py3.9 CI (webrecorder#934)

* ci: attempt to fix tests for 3.9 by skipping test that intermittently hang.

* simplify: use existing prefix as archivePrefix, fixes webrecorder#937 (webrecorder#938)

update to wabac.js 2.22.15
bump to 2.9.0b1

---------

Co-authored-by: Natanael Arndt <arndtn@gmail.com>
Co-authored-by: Alex Osborne <aosborne@nla.gov.au>
Co-authored-by: Ilya Kreymer <ikreymer@gmail.com>
Co-authored-by: Ilya Kreymer <ikreymer@users.noreply.github.com>
Co-authored-by: Tessa Walsh <tessa@bitarchivist.net>

* fix live and ready (#15)

* added updating docker image in Dockerfile (#16)

* Misc updates to reduce vulnerabilities (#17)

* Experimental cleanup

* a few more upgrades

* removed comment

---------

Co-authored-by: Rune Johansen <runejo@gmail.com>

---------

Co-authored-by: Carl-OW <142233642+Carl-OW@users.noreply.github.com>
Co-authored-by: Natanael Arndt <arndtn@gmail.com>
Co-authored-by: Alex Osborne <aosborne@nla.gov.au>
Co-authored-by: Ilya Kreymer <ikreymer@gmail.com>
Co-authored-by: Ilya Kreymer <ikreymer@users.noreply.github.com>
Co-authored-by: Tessa Walsh <tessa@bitarchivist.net>
Co-authored-by: Rune Johansen <runejo@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Client-side replay: service working not including App mount in requests
1 participant