- 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
* 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
- 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
* 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>
- 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
- 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)
- menu: add capture date, and about replayweb.page, logo + version
- ensure loader anim is shown even on mobile
- location bar: esc resets to current url
- bump verstion to 1.0.1
- 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
update to latest sw, ensure OPTIONS is not indexed as mentioned in webrecorder/pywb#569
ensure plugins-* directories are excluded from git and from jekyll
bump version to 1.0.1-alpha.0
pages also has sidebar for filtering by list
pages, lists, curatedPages loaded on collection init
curated list only store page id and optional desc, resolved to pages at runtime
- 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