Commit Graph
23 Commits
Author SHA1 Message Date
Ilya Kreymer 36da7fa2c6 Add a 'noWebWorker=true' option to <replay-web-page> embed to disable loading in separate web worker (#102)
* 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
2022-06-15 11:38:04 -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 589ea5ddd4 misc improvements for library usage:
- app: allow custom serviceworker path, or disable altogether
- page download options: add warc/1.0 option
- ui: remove unused small style from chooser
ui: tweak initial refresh time to half second

bump to 1.5.1
2021-09-07 22:42:13 -07:00
Ilya Kreymer f4699444fb 1.5.0 release:
- tweak CHANGES
- undo accidental change disabling skip-nav
2021-08-29 14:12:13 -07:00
Ilya Kreymer c090003d8a update to wabac.js 2.9.0-beta.0, smaller file size, loading improvements
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!
2021-08-28 13:55:57 -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 042fefa66d ui: use current page with no querey as home page instead of '/'
update to latest wabac.js
2020-12-13 22:06:28 -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 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 e12407983c electron app:
- add file association for .wacz
- support opening wacz, warc, har files via double-click from os (fixes #24)
- command line: support opening files via command line, as well as specifying --url and --ts
- support cmdline args via 'yarn run start-electron <file> --url <url> --ts <ts>'
2020-10-25 09:04:40 -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 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 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 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 d1d5fbd0e4 misc fixes:
- 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
2020-06-21 20:49:16 -07:00
Ilya Kreymer 8b6c06d46e docs tweak: add examples page, link to examples from home 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
2020-06-16 16:29:52 -07:00
Ilya Kreymer 98ea27498d rename 'how it works' -> 'user docs'
remove download for now
2020-06-11 02:15:55 -07:00
Ilya Kreymer b9a4089c6b license / docs pass:
- 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
2020-06-11 00:42:10 -07:00
Ilya Kreymer dd746e1d55 misc fixes:
- sw: ensure db is inited before api listAll() call
- ui: init dbworker earlier, on app load
- typo: fix date created -> date loader
2020-05-26 15:42:19 -07:00
Ilya Kreymer 03023523b7 big ui update, page search + full text
- 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
2020-05-26 14:43:28 -07:00
Ilya Kreymer e3d5abdbeb refactor: split frontend into file per component! 2020-05-22 23:43:56 -07:00