* ruffle:
- switch to ruffle 2023-05-13 release, later versions interfere with loading, it seems (see #180)
fixes#180
* add ruffle toggling options
- disable by default in embed mode, can be enabled with 'useruffle' attr
- enable by default in standalone, can be disabled with 'skipruffle' attr
- fixes#182
* update CHANGES for 1.8.1
* 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
* embeds:
- support target rewriting with named iframe as per webrecorder/wombat#94
- refactor sw init: detect additional errors, such as CORS issues in nested iframes
- support cross-origin replaybase for embeds
- add 'requirecrossoriginiframe' to restrict embed to only be loaded in subdomain iframes, otherwise showing
- rename noSandbox -> sandbox, not enabled by default
init: set appName on service worker init
docs:
- add example embed to embedding doc
- update docs for noSandbox -> sandbox
- add warning if deprecated 'noSandbox' flag is used, explaining that it is now deprecated
- update embedding and CHANGES.md with latest features
- add tweet-example.wacz
- add embed.html to test embeds
bump to 1.7.0-beta.1
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
* 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
* add a 'noWebWorker' option to <replay-web-page> embed to disable the default webworker-based loading, and load via the service worker directly. this feature was previously available, but turned-off, as its less efficient (uses sw for what can be done in a separate web worker thread). however, service-worker based loading may be needed for certain edge cases (see #97), and this option enables this loading method to be turned back on for embedding.
* docs: update guide to include 'noWebWorker', also use include attribute for boolean attributes
* update CHANGES.md
* bump to 1.5.12
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
ruffle: support for ruffle for flash loading, both hosted and in app
electron: update to latest beta (14) for latest chromium version
embed error messages: better error message when service worker can not be found
electron: build universal app for osx
bump to 1.5.0!
* 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 (fixeswebrecorder/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
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
* 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>
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
- 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)
- 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)
- 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
- import from '@webrecorder/wabac' package for sw.js, though using github overrides for now
- replay: show loading spinner on beforeunload event in iframe
- embed: support passing basePageUrl param as part of extraConfig for custom top-level page
- add new docs for loading, exploring, sharing, embedding, and offline usage
- add license file / license banner
electron app:
- for now, don't bundle docs, open in native browser
embeds:
- support 'embed' option, 'replayonly' or 'full' (default if no url)
ui:
- display package.json version in info menu
package.json:
- update scripts to match README
- move electron entrypoint into extraMetadata
- add scripts for packaging as module
README: minor edits
- split file chooser from coll index, insert as header, make file chooser collapsible
- revamp collection index to be responsive
- add separate sorter component, used for collection index and pages
- combine 'curated lists' + pages, with page search + narrative
- ensure page + narrative lists are collapsible
- page search: support title, url and full text search if available, using flexsearch
- page search: keyword highlighting, load all pages, showing in increments of 100
- page and resource search: delay search to 1/4 sec of inactivity to avoid too many queries
- electron app: ensure noCache is set to true for local files
- embedding: remove separate embed.js, just use ui.js for embed as well
- embedding: support embedding iframe in a local origin with just sw.js and ui.js: sw.js serves index.html,
<replay-web-page> embed injects ui.js into iframe
- sw.js, new service worker entry point
- sw and ww inited only from <replay-app-main>, ui.js loaded from <replay-web-page> embed component