Conversation
…der#932) Prevents the path traversal attack reported in webrecorder#931
- 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
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>
* ci: attempt to fix tests for 3.9 by skipping test that intermittently hang.
…webrecorder#938) update to wabac.js 2.22.15 bump to 2.9.0b1
* fixes for client-side replay - always serve top frame resource in client-side-replay mode, fixes webrecorder#936 - deps: bump wabac.js to 2.23.8 for additional fixes * skip test that relies on ait
Fixes regression introduced in commit 6ae3de9
bump version to 2.9.0!
* Update dependencies for Python 3.12 support * Run tests for 3.12 via CI
Differentiate between when LiveWebLoader is used for fully remote loading (eg. remote CDX + pywb) vs just remote index (remote CDX + local WARCs) by checking if 'archive_paths' has been explicitly set. If it has, then skip LiveWebLoader when filename/offset are provided (to fallback to revisit)
- bump wabac.js to 2.24.1 - bump gevent to 23.9.0.post1 also, since 23.9.0 had an issue with osx/windows builds (https://github.com/gevent/gevent/blob/master/CHANGES.rst#2390post1-2023-09-02) bump pywb to 2.9.1
* Implement access rule date support for before, after, newer , older * Add documentation
* Always remove zstd from the Accept-Encoding HTTP header.
* add additional string for vue to localization: - update babel config to be compatible with latest jinja - add .vue extractor (babel-vue-extractor) to i18n requirements - update .vue files to render localizable attributes with localization - update vue_loc.html to include additional runtime strings to be looked up server-side - fixes webrecorder#875 * tests: fix tests to use example-com.webrecorder.net
Running pywb against older versions of warcio results in: > Internal Error: timestamp_to_datetime() got an unexpected keyword argument \'tz_aware\' Usage of the tz_aware argument was introduced in webrecorder#949.
…ebrecorder#970) In Python 3.9.24, 3.10.19, 3.11.14, 3.12.12, 3.13.6 and 3.14.0 HtmlParser was changed as a security update to more correctly follow the HTML5 standard. This changed the output of one of our tests. The output change doesn't appear to have a meaningful impact in this case as browsers treat it as a comment either way, so this just updates the test to match the output of the latest Python versions. Fixes webrecorder#969
…rder#968) If you have client_side_replay on and later turn it off, prior visitors will still have it registered in their browser until it expires unless they manually remove it through devtools or by clearing site data. While we don't expect to be regularly flipping it on and off in production, it's important to be able to roll back to the previous configuration if an issue is discovered.
- add setuptools as it may longer included by default
* Add inject_scripts option
This option enables injecting custom scripts from static/ into replayed pages in both the client-side and server-side replay modes. This is useful for emulating removed browser features (such as emulating Flash Player with Ruffle) or applying compatibility or behavior tweaks.
* Supports injecting scripts in both server-side and client-side replay
* Supports injecting scripts globally and per collection, eg:
```
inject_scripts:
- all.js
- ruffle.js
collections:
mycoll:
inject_scripts:
- all.js # static/all.js
- _/mycoll/tweaks.js # collections/mycoll/static/tweaks.js
```
Co-authored-by: Tessa Walsh <tessa@bitarchivist.net>
Co-authored-by: Lauren Ko <lauren.ko@unt.edu>
version: bump to 2.10.0b1
…eature/updateActions Update github actions to current versions
It was removed in setuptools 82. Fixes webrecorder#985
Replace pkg_resources with importlib
The IA CDX service frequently times out causing transient failures of this test.
Mock IA CDX response in test_agg_select_mem_unrewrite_headers
- setuptools is no longer included by default since Python 3.12 so add it - cgi was removed in Python 3.13 so replace it with legacy-cgi - use a compatible version of gevent
- update werkzeug, gevent, greenlet to latest version for 3.14 support but conditionally pin when necessary to not break older Python - Flask 2.2.0 replaced JSONIFY_PRETTYPRINT_REGULAR with app.json.compact so support both
Co-authored-by: Lauren Ko <lauren.ko@unt.edu>
Python 3.13 and 3.14 support
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
✨ Simplify code
Comment |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.