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
* 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
- 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
- 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
* 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
- 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
- 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)
- 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!
* 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>
- 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
- 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
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
- 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
- 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)
- 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
- 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
- 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
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