Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update to manifest v3, redesign UI to allow click-to-archive + tagging, add history view + options.html page for settings #31

Open
wants to merge 45 commits into
base: master
Choose a base branch
from

Conversation

pirate
Copy link
Member

@pirate pirate commented Nov 26, 2024

With help from @benmuth and Claude.

configuring-server
url-submission
admin-ui

Usage:

load the ./redesign folder in Chrome as an "Unpacked Extension" after enabling Dev Mode in `chrome://extensions`.

It should autoreload from source automatically for most basic edits, but it can also be manually refreshed from chrome://extensions.

image
  • redesign UI to show a popup in the upper right when image action button is clicked
  • autocomplete tags from all tags in popup

image


image
image

  • add admin view where you can see a list of all the URLs you've collected so far
  • add ability to search admin view by url, timestamp, uuid, tags
  • add the ability to export filtered URLs list from history as CSV and JSON
  • add the ability to import URLs from chrome history / bookmarks by daterange or filter query

  • update to manifest v3

image
  • add the ability to edit extension config options, allowlist/denylist, etc. from options.html
  • add the ability to test connection to ArchiveBox server

image
  • add the ability to load cookies from browser into archivebox persona

@pirate
Copy link
Member Author

pirate commented Nov 28, 2024

cc @tjhorner FYI, let me know if you have any questions/comments/concerns, would love to get your input

Also fix closing popup when pressing escape.
@pirate
Copy link
Member Author

pirate commented Dec 4, 2024

Hey @benmuth can you open a PR against this redesign branch with your fixes when you get a chance.

@pirate
Copy link
Member Author

pirate commented Jan 3, 2025

@benmuth can you confirm if this is working against both :0.7.3 in Docker (by POST ing to {server_url}/add, and :0.8.5rc51 by POSTing to /api/v1/cli/add?

@pirate pirate self-assigned this Feb 16, 2025
@pirate
Copy link
Member Author

pirate commented Feb 16, 2025

@benmuth Can you help me do some final bugfixes on this PR. Then I think it's ready to release soon!

  • fix esc key hiding popup (pressing Escape when the ArchiveBox popup is visible on the page should hide it, regardless of where the user's input focus is)
  • make sure the Sync button on the options.html page works to send each URL to the server one by one
  • make sure the Delete button on the options.html page works to delete the selected URLs from the extension's local store only (not delete from the server)
  • add a small link to each row on the options.html list to view the saved version on the configured archivebox server (no need for any API lookups, just redirect them to https://demo.archivebox.io/archive/https://example.com/original/url, the server will redirect them to the matching snapshot, e.g. https://demo.archivebox.io/archive/https://bernsteinbear.com/blog/type-inference/)

(Also plz send an invoice for your time)

This extension is going to be reworked at some point to make it work as a desktop app too (I'm testing out Quasar+vite as a new frontend framework).

@benmuth
Copy link

benmuth commented Feb 19, 2025

  • make sure the Sync button on the options.html page works to send each URL to the server one by one

@pirate Should the 'Sync' button work with older versions of ArchiveBox as well? I can repeat the logic we used in the other redesigned code.

@pirate
Copy link
Member Author

pirate commented Feb 19, 2025

Should the 'Sync' button work with older versions of ArchiveBox as well?

yes, use the same logic / call the same function

@benmuth benmuth mentioned this pull request Feb 20, 2025
4 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment