1
0
mirror of https://github.com/webrecorder/pywb.git synced 2025-03-15 00:03:28 +01:00

1705 Commits

Author SHA1 Message Date
Tessa Walsh
23891be2f1 Bump version 2024-04-26 10:21:03 +02:00
Tessa Walsh
b9f1609df9
Handle WARC filename conflicts with wb-manager add (#902)
Append -index to end of filename prior to extension until there is no conflict

Also makes sure this behavior is documented in tests
2024-04-24 08:09:02 -04:00
Tessa Walsh
e89924bd39
Rename --uncompress-wacz to --unpack-wacz and add docs (#901)
Also adds help text for wb-manager add --unpack-wacz option in CLI
2024-04-24 05:02:26 -04:00
Tessa Walsh
1e2665af13 Change version to 2.8.0 2024-04-23 23:26:06 +02:00
Tessa Walsh
fee14d7fe8
Use fontawesome icon for timeline zoom out, remove unused static files (#895)
* Replace zoomout image in timeline with fontawesome icon
* Remove unused icons from static directory
2024-04-17 00:47:58 -04:00
Ilya Kreymer
2fd6190b72
update wombat to latest (3.7.3) (#896) 2024-04-10 14:45:13 -04:00
Alex Osborne
791a8d1033
rewrite: stop prepending semicolon to this. special property access (#850) (#888)
The prepended semicolon breaks code (such as jQuery) that looks like:

    foo = foo ? foo :
                this.location;

I think the reason we started inserting the semicolon was because in situations like:

    x = 1 + 2
    this.location = "foo"

we used to rewrite to:

    x = 1 + 2
    (this && this._WB_wombat_obj_proxy || this).location = "foo"

which the browser would interpret as a bogus function call like `2(this && ... )`.
But nowadays prepending the semicolon should be unnecessary as we currently rewrite to:

    x = 2 + 3
    _____WB$wombat$check$this$function_____(this).location = "foo"

which will trigger JavaScript's automatic semicolon insertion rules like the original code does.
2024-04-09 09:37:55 -07:00
Tessa Walsh
86ee3bd752
Allow ACLJs to use *, SURT wildcard to match all URLs (#882)
Also adds tests and documentation
2024-04-03 17:11:58 -04:00
Tessa Walsh
d1e1636ae3
Improve keyboard accessibility of Vue timeline (#889)
Co-authored by Lee Davey <Lee.Davey@bl.uk>
2024-04-03 17:02:55 -04:00
Ed Summers
b4955cca66
Upgrade dependencies (#839)
- Update and pin dependencies to specific versions that support Python 3.7-3.11
- Replace deprecated werkzeug.pop_path_info with wsgiref.shift_path_info
- Use the latest httpbin from psf/httpbin
- Remove unused flask test dependency
- Drop Python 2 and Python <3.7 support
- Ensure greenlet 2 is used for now, as psf/httpbin doesn't yet work with greenlet 3

---------

Co-authored-by: Tessa Walsh <tessa@bitarchivist.net>
2024-04-02 17:16:50 -04:00
kuechensofa
f40e7ef18c
Sort index when adding wacz archives (#820) 2023-11-23 12:10:52 -05:00
Ivan Jelenić
7879dd0222
Fixes get_locale_prefixes() wrong paths (#874)
If default_locale was set, and a web page was visited that doesn't have a langauge code in the path in the URL, the URL path parts returned by get_locale_prefixes() was wrong (e.g. /hrst/ instead of /hr/test/).
2023-11-23 10:59:06 -05:00
Ivan Jelenić
013746c10a
Fixes environ paths when default_locale set (#873)
If the default_locale was set and the URL path didn't contain a language code, it was behaving as if there was a language code in the URL. In that case, it was moving part of the PATH_INFO to SCRIPT_NAME, but as there wasn't any language code in the URL, it moved something else. This fixes that.
2023-11-23 10:56:26 -05:00
Ivan Jelenić
79140441df
Fixes switch_locale not adding locale if missing from URL (#871)
If the two letter language code was missing in the URI, switch_locale(locale) didn't add it (it worked fine if it was present). That means that it produced the same URL for all locales, each missing the two letter language code in the URL.
2023-11-23 10:50:56 -05:00
Ivan Jelenić
af92a9726e
Sets "Pywb Error" string as translatable in error template (#868) 2023-11-23 10:33:38 -05:00
Tessa Walsh
83b2113be2
Add config.yaml UI option to disable printing from replay banner (#815)
* Add UI option to disable printing

* Initialize VueUI.main with config dict
2023-03-27 10:23:37 -04:00
Jonas Linde
5c427b9ff2
[#715] Forward custom headers for cdx queries (#813)
In particular the X-Pywb-ACL-User header must be forwarded in order
for it to be able to control CDX-queries
2023-02-15 17:05:21 -05:00
kuechensofa
454486bf75
[#799] wb-manager: Add wacz archives to collection with --uncompress-wacz (#800)
Add WACZ support for `wb-manager add` by unpacking WACZ files with --uncompress-wacz.

A future commit will add pywb support for WACZ files without requiring them to be unpacked.
2023-02-15 17:00:38 -05:00
Tessa Walsh
b8693307d1 Bump version to 2.8.0-dev 2023-02-15 15:38:10 -05:00
Jonas Linde
98be48d6e4
Add a button to print the replay frame (#814) 2023-02-15 15:36:30 -05:00
Sara Tavares
c441d83435
chore(typos): fix typos across codebase (#811)
Co-authored-by: stavares843 <stavares843@users.noreply.github.com>
2023-02-15 13:04:20 -05:00
Ilya Kreymer
02288db81c
bump wombat to 3.4.4 (#808) 2023-02-02 16:21:02 -08:00
Ilya Kreymer
4fc2b451d7 templates: fix typo 2023-02-02 15:10:18 -08:00
Tessa Walsh
d44d640b93 Set logoHomeUrl to last option in Vue.main
This ensures that any locally modified templates won't break when
upgrading to pywb 2.7.3.
2023-02-02 16:24:01 -05:00
Ilya Kreymer
406fad95c2
rules: add 'debugNoBatch' rewrite for fb and insta (#806) 2023-02-01 10:45:22 -08:00
dependabot[bot]
d207c76bae
Bump decode-uri-component from 0.2.0 to 0.2.2 in /pywb/vueui (#786)
Bumps [decode-uri-component](https://github.com/SamVerschueren/decode-uri-component) from 0.2.0 to 0.2.2.
- [Release notes](https://github.com/SamVerschueren/decode-uri-component/releases)
- [Commits](https://github.com/SamVerschueren/decode-uri-component/compare/v0.2.0...v0.2.2)

---
updated-dependencies:
- dependency-name: decode-uri-component
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-31 18:49:25 -08:00
dependabot[bot]
131732d238
Bump minimatch from 3.0.4 to 3.1.2 in /pywb/vueui (#777)
Bumps [minimatch](https://github.com/isaacs/minimatch) from 3.0.4 to 3.1.2.
- [Release notes](https://github.com/isaacs/minimatch/releases)
- [Commits](https://github.com/isaacs/minimatch/compare/v3.0.4...v3.1.2)

---
updated-dependencies:
- dependency-name: minimatch
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-31 18:49:13 -08:00
Mark Johnson
59d9beac05
feat: regex substitution on surt rules match (#780)
substituion functionality already exists on a global level for matched
rules but this causes issues when rule sets conflict in the desired
outcome. This change enables setting regex substitution at the rule
level to avoid these conflicts.
2023-01-31 18:48:19 -08:00
Jonas Linde
d392a8d908
[#804] Use default_locale when lang not set in the request (#805) 2023-01-31 13:47:50 -05:00
Tessa Walsh
9bc8a2e1ef
Modify search template buttons (#801)
* Modify search page button colors

* Rename Clear Options to Reset and reset URL as well

* Add search improvements to CHANGES
2023-01-25 13:33:18 -05:00
Jonas Linde
43e5c8bac0
Make search page more intuitive (#794)
* Add date-range feedback for i18n
* Make search page more intuitive and add help text
* Add a clear-options button to the search page
2023-01-23 17:17:40 -05:00
kuechensofa
e6ec8b4aeb
[#795] wb-manager: Show error when adding duplicate warc files (#797) 2023-01-19 11:26:56 -05:00
Tessa Walsh
1790fd006a Bump version to 2.7.3 2023-01-05 17:34:17 -05:00
Tessa Walsh
3d0673e32a
Add ui.logo_home_url as config.yaml option (#790)
* Add ui.logo_home_url as config option
* Add ui.logo_home_url to docs
2023-01-05 17:33:00 -05:00
oskarhek
3050fd2b2b
issue_792 catch warcio exception (#793) 2023-01-05 17:15:49 -05:00
Tessa Walsh
3c94da04a2
2.7.2 patch release (#787)
* Fix 2.7.1 regressions

* Bump to 2.7.2

* fix redirect-to-exact false:
- check if current loaded timestamp is the same as to-redirected to timestamp, and avoid reload

* additional ui fixes:
- location bar: reload with current timestamp, instead of going to calendar
- ensure calendar popup on replay view is scrollable
- 'Live' mode fixes: don't cache live cdx entry, don't add timestamp when navigating in live mode without timestamp
- remember timeline view toggle on replay
- title: add 'Archived Page: ' prefix to document.title, consistent with old version
- ensure 'Archived Page: ' text is localizable
- ui: change ',' to '|' on capture display

* update CHANGES for 2.7.2

Co-authored-by: Ilya Kreymer <ikreymer@gmail.com>
2022-12-08 16:35:39 -08:00
Tessa Walsh
2d19b6b18d
Merge 2.7.1 development branch (#785)
* Add locale-dependent handling of first day of week

The Intl.Locale is a proposed standard not yet supported by Firefox so
in Firefox the first day of week will default to Monday (as specified
in ISO-8601).

* Set top frame document title when Vue updates

* Update template guide for 2.7

* Drop Python 3.6 and add 3.10 in test CI

* Allow either JS mimetype in test_add_static

* Add convenience build script for Vue UI

* Add build flag to docker compose example

* Fix Vue app issue with redirect_to_exact: false

Fixes #779

Undated URLs were resulting in a broken calendar and timeline in the
Vue app when redirect_to_exact was set to false. This was due to
TopFrameView using the current datetime if no timestamp was included,
which caused a failed snapshot lookup in the Vue app.

This commit changes the default timestamp in TopFrameView to None and
adds additional logic in the Vue app to use the last snapshot's
timestamp as the default if one is not present to match the snapshot
that pywb loads by default under the same conditions.

* Add filter instead of submitting form when pressing enter in the filtering expression field

* Make filter expressions translatable

* Add missing tooltip strings to vue_loc

* Add changelog

* Bump version to 2.7.1

* Use empty string as default template timestamp

* Bump wombat to 3.3.13

Co-authored-by: Jonas Linde <jonasjlinde@gmail.com>
2022-12-07 18:16:18 -08:00
Tessa Walsh
3b49c2229e Increment version to 2.7.0 2022-11-23 14:54:50 -05:00
Tessa Walsh
91cf74a2a9 Make final pywb 2.7 UI tweaks
- Remove redundant icon title
- Fix display date in TimelineLinear tooltip
- Adjust calendar spacing, add border and shadow
- Remove tooltip scroll
- Auto-size calendar to contents
- Make display date consistent across browsers
- Render calendar for all months regardless of captures
- Fix weekday labels to avoid off-by-one
- Grey out calendar days without captures
2022-11-23 14:53:51 -05:00
Tessa Walsh
373eca641c Default to old search results view for advanced search
Use old results view if matchType or filter params are present in query
string.
2022-11-21 12:46:55 -05:00
Tessa Walsh
ca6587caac Make accessibility improvements
- Add URL search bar title and aria-label
- Ensure WCAG AA-acceptable contrast in calendar
2022-11-21 12:46:37 -05:00
Ilya Kreymer
e20fac2c75 head_insert: don't include banner_html, only used for framed replay now
wombat: bump to latest wombat 3.3.7
add new custom_banner to head_insert template for frameless replay
2022-11-21 12:46:28 -05:00
Tessa Walsh
c28941a0b6 Rework Vue banner UI
- Make Vue banner responsive with Bootstrap 4
- Add previous/next year arrows to calendar
- Make navbar background, text color, and button outlines configurable
via config.yaml
- Toggle calendar and timeline separately
- Fix bug preventing title from displaying
- Make app keyboard-navigable
- Fix banner background color configuration
- Comment out vue_navbar_background_hash
- Display linear timeline tooltip centrally on enter
- Improve header styling on small screens
- Add titles to font awesome icons
- Remove old default banner (calendar retained for advanced search
  results)
- Fix TimelineLinear TypeError that broke calendar
- Bump version to 2.7.0b2
- Set Cache-Control header on CDXJ API response to mark returned CDX as
stale after 1 day
- Add commented out UI values to config.yaml to aid users
- Remove timeline and calendar card borders
- Fix issues with snapshot navigation
- Center search bar and align with buttons
- Make Vue app bfcache-ineligible: By adding an empty unload event
listener, we make pages serving the Vue app ineligible for bfcache,
which prevents unexpected behavior when navigating via the browser's
back/forward buttons.
2022-11-21 12:46:09 -05:00
Tessa Walsh
5e2f47a049 Prevent flashing content and unnecessary iframe reload
Connected to https://github.com/webrecorder/pywb/issues/717

When a user navigated to a new URL by clicking on a link in the
replay iframe, the new Vue app was unnecessarily triggering a
reload, causing what looks like a flash of the page content. This
commit modifies the Vue app to only reload the iframe if a user
selected a new snapshot from the calendar or timeline.
2022-11-21 12:46:09 -05:00
Ilya Kreymer
19032e4512 misc vue + i18n fixes:
- make calendar tooltips into real links and clickable and ctrl+clickable
- ensure advanced view uses old ui (not supported in new ui)
- add language popup on frame_insert for vueui
- i18n: consolidate loc strings for vueui into vue_loc.html
- spinner: for replay, only show over banner
- spinner: show after 500ms delay
- i18n: add one more string ('no captures')
- make calendar popup links regular links to support cmd+click
- i18n: implement lang switcher in vue as well (for query and framed_insert), don't include non-vue language switcher in header
2022-11-21 12:46:09 -05:00
Ivan Velev
72cb588936 vueui: i18n support (from @vanecat):
- add localized text to frame_insert.html and query.html (for now) to be passed to vueui
- ensure all vue strings localized
- use variable names in localizabls strings, eg. "view capture on {date}"
- simplified text (no cardinal suffixes, use 24-hourt clock)
2022-11-21 12:46:09 -05:00
Ilya Kreymer
14e464bd1c ui fixes:
- fix static prefix path customization
- fix old ui logo link without locales
2022-11-21 12:46:09 -05:00
Ivan Velev
dc81e78393 vueui: second batch of fixes from @vanecat:
- support for 'cdx-simulator'
- add loading spinner
2022-11-21 12:46:09 -05:00
Ilya Kreymer
6260b226ce ui/templates: fixes based on feedback from @ldko!
templates: add placeholder templates (footer.html, head.html)
templates: allow 'base_html', 'footer_html', 'head_html', 'header_html' to be added via wb-manager 'add-template' cmd
ui: fix logo path, support linking
ui: make url on banner an input field
docs: clarify docs around templates, paths
2022-11-21 12:46:09 -05:00
Lauren Ko
29860bcb24 New UI corrections (#687)
* Fix typos.

* Make ui variable available to collection page
2022-11-21 12:46:09 -05:00