Commit Graph
53 Commits
Author SHA1 Message Date
sua yoo 1893550274 Format src files with Prettier (#215)
Formats files in `src` with [prettier for consistent code style](https://prettier.io/docs/en/why-prettier) and adds npm script

Related to https://github.com/webrecorder/replayweb.page/issues/201
2023-08-16 18:21:18 -07:00
Matteo CargneluttiandHenry Wilkinson ca6c19ff0f Bugfix: "info" tab overflow is hidden (#197)
* Bugfix: "info" tab overflow is hidden

* add `height: fit-content` to info list

The scrollbar is added in the correct place, but without this the actual info text gets cut off based on the page size.

* Revert changes to compiled files

* re-commit compiled files

---------

Co-authored-by: Henry Wilkinson <henry@wilkinson.graphics>
2023-08-09 20:18:17 -07:00
Ilya Kreymer 646f3f8d76 fix redirect loop (fixes #184): (#185)
- loading: fix redirect loop on 404s (via wabac.js 2.16.2)
- misc: additional check before autoupdate, update build deps to support Node 20
bump to 1.8.2
2023-06-20 18:21:55 -07:00
Ilya Kreymer d1e84b1b52 Custom SW filename (#175)
* embed: support using custom filename for service worker instead of sw.js
can be set via <replay-web-page swName='custom.js' ... > property
docs: update embedding docs to mention new option
fixes #160
2023-06-14 17:06:51 -07:00
Matteo Cargnelutti b074cda6d8 Fixes background color in fullscreen mode (#165)
* Fixes background color in fullscreen mode

* Applied fix suggested by @curtgrimes
2023-04-03 11:17:34 -07:00
Ilya Kreymer 05287749ca fidelity / loading fixes: (#159)
- Fidelity: Improved replay via unrewriting fixes of style urls, request/response urls (via wabac.js 2.15.3)
- Embeds: Support updating auth headers if custom headers provided in embed 'config'
- Dependencies: Update to wabac.js 2.15.3, wombat 3.4.6, Electron 23.1.1
- bump to 1.7.13
2023-02-25 16:38:10 -08:00
Ilya Kreymer 27a8524aac Archive verification info + Embed improvements + Embed Receipts UI (#125)
info panel verification/integrity additions, (fixes on #113)
- info panel: display number of hashes verified valid (and invalid), observer domain (if any), and certificate fingerprint, creation software, and package digest
- info: ensure replayTS is updated, not just replayUrl, to ensure correct stats

404 page: improved formatting on 404 page (via wabac.js)

embeds:
- new embed 'replay-with-info mode, displays replay-only with dropdown showing archival 'receipt, which includes condensed info and verification (hashes valid/invalid, observer domain, cert fingerprint)
- support 'newWindowBase' attribute for specifying base replay URL for opening new window. default: use current url if deepLink enabled, otherwise use https://replayweb.page/
use transparent for embeds
- embed dropdown/receipt styling from @Shrinks99 
- automatically setting noCache and noWebWorker for older browsers (eg. safari < 16)
- add 'hideOffscreen' attribute to enable unloading embed when offscreen

dependencies: update to wabac.js 2.13.0-beta.0

bump version to 1.7.0-beta.0

Embed receipt styling co-authored-by: @Shrinks99
2022-10-01 18:22:30 -07:00
Ilya Kreymer f1c5e931c8 extensability: make purge cache configurable
ui: fix date padding for month-day
package: add index.html to npm package
bump to 1.6.2, update CHANGES.md
2022-07-05 12:24:50 -07:00
Ilya Kreymer 54fd92c273 error fix + embedding extensability (#110)
* embed mode: make embedding options more extensible
ui: unify service worker not available errors, show same error in standard/embed mode, including when loaded over http
- more customizations for extended embed, allow hiding 'browse contents' button
- simplify title updates
- make error page / icon more customizable
- autoupdating in editable mode: don't update if previous one didn't finish, make customizable, don't autoupdate at all over >=100 pages

* dependencies: update ruffle to 2022-07-02

* bump to 1.6.1, update CHANGELIST
2022-07-05 10:48:32 -07:00
Ilya Kreymer 34b03e6b08 didelity: only wrap JS globals if necessary (via wabac.js 2.9.5)
update to wabac.js 2.9.5
bump to 1.5.5
2021-10-25 11:04:55 -07:00
Ilya Kreymer a261a61721 fidelity: fix eval edge case (via wombat), enable http->https check for wacz sources (via wabac.js)
dependency updates:
- switch to webpack 5 and related build dependencies
- update litelement -> 'lit'
- wabac.js 2.9.2, wombat 1.3.4

search:
- update to latest flexsearch
- optimize search by using single-field index

bump to 1.5.3
2021-09-18 12:32:00 -07:00
Ilya Kreymer 0ef8f955db 1.4.0 Release (#45)
* customizations for chooser, coll-index and appmain to support usage in archiveweb.page
- chooser: support panel/message view
- move apiPrefix to misc
- make coll-index extensible, overridable styles, filtering

* api changes: make configurable in coll-index, now using '/w/' instead of '/wabac/', '/c/' prefix for coll apis

* lint pass!

* bulma: update to 0.9.2, fix delete spinner with latest bulma

* ui fixes:
- show 'Loading Archives...' on initial load until first api response succeeds
- fix typo in oncontrollerchange not actually resolving the promise!

* embed sandbox: add other allow options, except top-nav
- first api load: keep loading message until first successful api load
- don't reset hash on purge to keep current page
- sw config: fix typo with latest wabac.js
- embed: add 'noSandbox' option to avoid adding sandbox to iframe, needed to show PDFs, add more allow rules (all except top-navigation)

* ui improvements:
- refresh: ensure location refresh from hitting enter in location bar always resets url
- pageentry doubleclick: ensure double-clicking on page in sidebar always triggers reload, even if current page
- pageentry typo fix: fix missing var causing selection error (fixes webrecorder/archivewebpage#25)
- lint: don't include 'event' as global
- use latest wabac.js 2.7.0-beta.1

* add CHANGES for 1.4.0, add 'noSandbox' to embedding options
- electron app: fix path to 'w/'
- bump electron to 11.4.3

* docs: autoload current version from package.json
- chooser: support .json files for multiwacz (experimental)
- update CHANGES.md
- add missing .eslintrc.js file

* bump version to 1.4.0
2021-04-25 16:45:40 -07:00
Ilya Kreymer 72194c308a ui tweaks for downstream (archiveweb.page):
- don't show page editing options when in sidebar mode
- don't autorefresh in replay and sidebar not visibile
- disable plugins by default now
2021-02-15 15:24:22 -08:00
Ilya Kreymer f6de8dfaf0 library support improvements: add index.js which exports all from ui.js
update to latest wabac.js -- smaller size
support for 'source' param on <replay-app-main> which sets sourceUrl and forces direct loading of a single archive only
bump version to 1.3.5
2020-12-13 00:18:55 -08:00
Ilya Kreymer 40c2e937dc ui improvements:
- condense navbar, always show with breadcrumbs for collection title and current page
- add update-title event to propagate replay page title for breadcrumb, also updates document.title
- appmain: make app component more extensible, make coll-index also extensible with custom coll info component
- condense index view headers
- bump to 1.3.2
2020-12-07 22:37:08 -08:00
Ilya Kreymer 4155b9af33 wacz loading: support wacz 1.0.0! -- update to wabac.js 2.3.0
local file loading: support purge cache + reload for local files when filehandles are used (chrome)
update CHANGES.md
bump to 1.3.1
2020-11-20 15:38:12 -08:00
Ilya Kreymer b304788a05 loading: more loading fixes in latest wabac.js (2.2.2)
ui: fix typo of using native fs when not available
2020-11-17 23:38:18 -08:00
Ilya Kreymer aa8ad02312 ui: icon update:
- use home icon for return to home page, rwp icon for about menu
- make appName customizable
- make browser contents icon stay in tablet layout, instead of home
2020-11-17 11:52:59 -08:00
Ilya Kreymer 228e9bdff6 IPFS Support + Loading Improvements (Better local file handling) + Streamlined Collection View (#25)
* support ipfs:// urls!
misc: better error message for loading from http://
tabs: don't render pages/story/urls if hidden

* ipfs work: remove ww only use sw

* electron + ipfs: add ipfs support to electron app, using ipfs-core
- route ipfs requests to files proxy with 'ipfs=' query param

* file loading:
- add support for new Chrome native file system api with file handles, which allows persistent access to files vial file handles
- if window.showOpenFilePicker() is available use that, include file handle in load message
- support asking permissions for file handles, using similar workflow as google drive auth
- attempt to ask for file permission directly, show auth button if fails (user gestured required)
- replace auth modal with iframe replacement insert to ask for auth for google drive and local file

* ui overhaul for 1.3.0 / condense collection view:
- don't show navbar in collection view
- add logo to back to home page to location bar
- condense location bar buttons
- convert terms to general about dialog, available from collection context menu
- add info tab to collection view in place of drop-down info
- make <wr-coll-info> component, used in both collection list and info tab with additional details
- update to wabac.js 2.2.0

* update CHANGES.md
2020-11-16 18:31:15 -08:00
Ilya Kreymer 7c121a0e3a ui: switch location bar to plain text field to avoid extra 'x' in chrome
update to wabac.js 2.1.3 - rewriting fixes, fix regression in twitter rewriting
bump version to 1.2.2
2020-10-29 18:17:55 -07:00
Ilya Kreymer 4083b10bd2 fixes for google driver reauth:
- move handler back to replay, reauth should now work
- wabac.js fixes: reauth flow only triggered when reauth is needed, not when exponential backoff is used for loading
- bump version to 1.2.1
2020-10-24 20:12:39 -07:00
Ilya Kreymer 92b875a29b location bar fixes:
- fix url not being updated from navigation
- reload current url when pressing enter in location bar
- revert to current url when losing focus and url is blank
- fix hitting 'escape' resets location bar to current url
- bump version to 1.2.0-beta.1

latest wabac.js: fixes for fetch credentials override, use wabac.js 2.1.0-beta.4
2020-10-19 17:43:18 -07:00
Ilya Kreymer 8144b602a7 ui work:
- show favicon in location bar, if available
- editable mode: experimental allow editing collection title from pages view, update using new api
- editable mode: disable selected only downloads if nothing is selected
- pageentry: simplify, use passed in date

wabac.js: update to latest dev wabac.js 2.1.0-beta.2, including improved fuzzy matching system, new rules for fb and twitter (beta)
2020-10-14 23:42:10 -07:00
Ilya Kreymer b0799256b3 embeds: only show replay in embedded mode when visible, using IntersectionObserver to detect when off-screen 2020-09-29 16:19:00 -07:00
Ilya Kreymer 9e23433dae location change: ensure plain search in location bar go to fully expanded view, clear out url/ts 2020-09-16 18:28:06 -07:00
Ilya Kreymer 4068a0265d misc usability fixes:
- links: make all replay links valid hashtags instead of empty "#"
- replaybar: fix padding on dropdown menu button
- a11y/focus: only set focus on replay frame if no sidebar is visible
bump electron to latest 10.1.2
set version to 1.1.0!
2020-09-16 13:27:10 -07:00
Rebecca Lynn CremonaandIlya Kreymer 05adead57c Accessibilty, first pass (#17)
* Placeholder color contrast @ WCAG 2.0 level AA

* Trailing whitespace removed.

* Remove redundant labels.

* Logo is a link in mobile, if not-embedded; otherwise, span. Fix link labels.

* HREF mandatory on A; menu behaves like a popup button.

* Hide icons from screen readers.

* About icon id keyboard-operarable and is labeled.

* Note about inaccessible modal.

* Missing closing tag.

* Fix nesting/indentation.

* Fix nesting/indentation; add missing closing tag.

* Trailing whitespace removed.

* Don't use NAV landmark for non-nav; add heading for page structure.

* Hide icon.

* Load archive form's buttons visibly receive keyboard focus.

* Trailing whitespace removed.

* "Hide" header button is keyboard-operable, and more-verbosely labeled for screenreader users.

* Don't use NAV landmark for non-nav; add heading for page structure.

* Sort order announced to screen reader users.

* Trailing whitespace removed.

* Delete button only a button when it can be pressed; announce in progress deletion.

* Trailing whitespace removed.

* Use a NAV landmark for replay controls.

* Remove "menu" role, to avoid having to implement arrow key support https://www.w3.org/WAI/GL/wiki/Using_ARIA_menus

* Hide icons.

* Label buttons.

* Links in disguise as buttons need HREF, and to respond to spacebar.

* Re-dub "main menu" to distinguish from replay menu

* Replay nav buttons visually get keyboard focus.

* Trailing whitespace removed.

* Hiding icons; button labels; links-as-buttons are operable.

* Use type=search for additional clarity.

* Add appropriate landmarks and a heading for structure and clarity.

* Tab selection is a nav, and is keyboard operable.

* Indentation; missing closing tag.

* Trailing whitespace removed.

* Title iframe.

* Not a navigation.

* Per discussion, rename tab to "URLs" (label only; route etc. the same while experimenting).

* Announce when expanded/collapsed.

* Remove "menu" to avoid having to implement expected keyboard support.

* Use correct heading level when in sidebar and when main.

* Trailing whitespace removed.

* Semantic markup of table; headings and captions; link-buttons are keyboard operable.

* Skip links for keyboard users.

* Title iframe; hide icon.

* Just a list, not an aside.

* Not an article.

* Remove trailing whitespace.

* Make each page in the list a heading.

* link-buttons are keyboard operable.

* Use semantic list for page list.

* Announce changes to search results.

* More wayfinding tweaks.

* Landmark and heading for replay.

* Dynamic page titles.

* Remove redundant labels from main landmarks.

* additional tweaks after rebase
- add 'role' to each of the tabs, dependent if sidebar or not
- add 'role=main' for replay
- add sr-only headers to each tab

* fix typos

* remaining tweaks:
- url-resources: fix sorter getting moved into notification
- url-resources: fix border for mobile view
- add screenreader labels to expand/hide buttons

* Show hover effect on focus.

* Wrap the whole sidebar is role=complementary, including the tab navigation.

* Make buttons keyboard operable; fix typos.

* Programmatically associate sidebar toggle button with sidebar.

* Per discusson, try calling this "URLs"

* Different heading levels for sidebar and main.

* Announce changes to search results.

* Correct dynamic page title, whe not in sidebar.

* Remove hyperlink focus decoration; reveal obscured focus indicator.

* Focus on replay, when replay changes.

* Make buttons keyboard operable.

* Move spacebar helper to misc instead of duplicating.

* Bump compiled assets.

* Use disabled attribute to match css; update label to describe new sidebar.

* Adjust replay focus styles.

* Adjust replay nav button focus, so visuals onclick in Chrome are less prominent.

* Put wordmark with logo on non-embed desktop, so that logo and wordmark make a single link.

Co-authored-by: Ilya Kreymer <ikreymer@gmail.com>
2020-09-16 12:46:44 -07:00
Ilya Kreymer 7d9ce2b952 safari fixes: update to latest wabac.js (fix bug with cacheing responses to safari's 0-1 range check)
fix spinner in safari by adding keyframes to document itself
2020-09-10 23:17:26 -07:00
Ilya Kreymer d0cc1acb71 ui tweaks for mobile:
- fix url chooser cut-off in mobile (#14)
- sidebar toggle goes directly to full view (no sidebar) in mobile mode
2020-09-09 09:41:47 -07:00
Ilya Kreymer 851ce9bf90 sidebar refactor:
- support all view tabs (story, pages, resources) appearning as possible sidebar
- remove 'replay' as view, show replay if url= is set
- story: support splitter view for both sidebar/mobile and full view
- urlresources: support sidebar view, default to prefix search as default search type
- embeds: don't show sidebar for 'replayonly' embed mode
2020-09-08 15:03:58 -07:00
Ilya Kreymer 3f5431b7d7 embed: support referencing specific pages by index into page list, eg. url="page:0" will load the first page
sorter: use defaultKey / defaultDesc for url-resources sorter
2020-09-06 20:42:32 -07:00
Ilya Kreymer 889f51171a splitter fixes:
- fix readding splitter after switch to different views
- fix size of standalone pages
2020-09-01 22:05:04 -07:00
Ilya Kreymer d6515152c0 splitter: use more lightweight split.js for sidebar splitter 2020-09-01 21:42:44 -07:00
Ilya Kreymer 457b980af1 sidebar: ensure hiding sidebar is correctly saved in localStorage 2020-09-01 12:51:02 -07:00
Ilya Kreymer f8120adbbd splitter tweaks: pass array to splitter,
bump version to 1.1.0-beta.2
rebuild
2020-08-31 19:27:09 -07:00
Ilya Kreymer 804529aeea sidebar support + pageview sidebar work!
- pages view now appears as sidebar in table/desktop sizes when clicking show pages button
- using <split-me> webcomponent to support adjustable splitter for sidebar
- pages view includes list filter if lists exist
- current page is highlighted when selected in sidebar
- date appears below url for each when in sidebar/mobile view mode
2020-08-31 18:47:24 -07:00
Ilya Kreymer 910e4795a5 collection fixes:
- default to pages tab if story not available
- fix location bar
2020-08-29 17:26:59 -07:00
Ilya Kreymer a330c2c5c2 update to latest wabac.js -- fix reading small wacz files
embed fixes: fix 'replayonly' mode to hide locationbar
embed loading screen: simplify, don't show cancel button, filename
bump to electron 10.0.0
bump to beta.1
2020-08-24 23:09:18 -07:00
Ilya Kreymer 429f06453e ui text tweak: update location placeholder to mention text search 2020-08-12 15:49:34 -07:00
Ilya Kreymer 531f16a433 pages tweaks:
- display no results message in main view
- better view of score column in mobile view
- rename: rwp:// -> search://, Score -> Match
- only cache textIndex if non-zero result
2020-08-10 23:49:00 -07:00
Ilya Kreymer 4efce70a39 text search and ui fixes:
- text support via <coll>/textIndex api, fallback to existing pageList text data
- page sorting: add score column for page search results with query
- safari: add min-height: fit-content for safari
- refresh: ensure replay refresh triggers refresh icon
- embeds: ensure deep linking working for search view pages (map view and query params)
2020-08-07 16:48:02 -07:00
Ilya Kreymer 69e7982d31 ui tweaks:
- show pages found in sidebar if in desktop mode
- allow refresh on search views, just do reload
2020-08-05 23:05:53 -07:00
Ilya Kreymer 849f8ff4eb ui refactoring on search views:
- fix flexbox sizing
- update icons
- url-resources view: make responsive, use wr-sorter
- pages: various tweaks, hide sidebar for better responsive view!
- app: hide nav buttons when in archive view to avoid redundant
- add page view button to context menu
2020-08-05 20:05:12 -07:00
Ilya Kreymer 6b343e7e65 move tabs below location bar
pages: move sidebar below search bar, hide if no lists
use 'min-height: 0' to finally fix flexbox layout on all tabs!
2020-08-04 23:12:44 -07:00
Ilya Kreymer bb20379336 add location bar to be part of collection,
use rwp:// scheme to indicate search pages
2020-08-01 08:47:08 -07:00
Ilya Kreymer f4b320dde5 service-worker check:
- on-load, display error if service worker support is not available
- for embeds, display service worker unavailable error right away, don't attempt to load iframe
trailing slash check: redirect http://example.com -> http://example.com/
resources/page query: if no query= param is set, use url as query (when switching from replay, url is used as query)
2020-07-14 21:57:54 -07:00
Ilya Kreymer 7066b32e95 embed loading: for loading errors, show 'Try Again' instead of 'Back', addreses issues in (esmero/format_strawberry#81) 2020-06-29 19:49:57 -07:00
Ilya Kreymer 71b0fd3d19 embed improvements:
- show back, forward options in default embed mode
- add extra options menu in embed mode, including 'purge cache + full reload'
- responsive replay bar buttons: show in menu when tablet or mobile, in non-embed mode, only show on mobile
- 'full' embed mode, show only logo and info menu, no user guide/terms
2020-06-25 20:30:52 -07:00
Ilya Kreymer 101c4b3319 misc ui tweaks, mostly pages:
- add download menu
- add selection hilite
- tweak colors on chooser
disable notarize for now
2020-06-08 21:53:04 -07:00
Ilya Kreymer 149558f647 various tweaks for pages:
- support page column size, page deletion
- page deletion only enabled if has size, for now
- sorter can default to desc, tweak color for pages panel, default sort by time, descending
2020-06-01 13:45:59 -07:00