Commit Graph

1462 Commits

Author SHA1 Message Date
Henry Wilkinson
17459dc8cd
Minor help text & QA affordance improvements (#2189)
Some minor UX improvements, mostly suggested by @dcgomes

### Changes
- Updates in-app help text for crawl workflow limits.
- Adds a prompt to view error logs on the QA screen if failed pages > 1
- The error logs will give some insight as to why the pages failed every
time! Good thing to make the user do next!

### Screenshots

<img width="324" alt="Screenshot 2024-11-29 at 6 44 28 PM"
src="https://github.com/user-attachments/assets/fc481576-6f7f-461b-b8f2-5cbf7fcec0bc">

---------

Co-authored-by: Shrinks99 <Shrinks99@users.noreply.github.com>
Co-authored-by: Ilya Kreymer <ikreymer@gmail.com>
Co-authored-by: Ilya Kreymer <ikreymer@users.noreply.github.com>
2024-12-05 14:17:04 -08:00
Henry Wilkinson
f3ed70a1db
Add site_url (#2130)
### Changes

- Tells MkDocs where the site will be published at allowing it to
generate a sitemap

---------

Co-authored-by: emma <hi@emma.cafe>
2024-12-04 21:56:19 +00:00
Emma Segal-Grossman
c385b1404c
Translations update from Hosted Weblate (#2200) (#2201)
Translations update from [Hosted Weblate](https://hosted.weblate.org)
for [Browsertrix/Browsertrix
UI](https://hosted.weblate.org/projects/browsertrix/browsertrix-ui/).



Current translation status:

![Weblate translation

status](https://hosted.weblate.org/widget/browsertrix/browsertrix-ui/horizontal-auto.svg)

Co-authored-by: Weblate (bot) <hosted@weblate.org>
2024-12-03 18:02:36 -05:00
Emma Segal-Grossman
dc6e6c5e14
Resolve Weblate conflicts (#2199)
Translated using Weblate (Spanish)

Currently translated at 1.4% (18 of 1227 strings)

Translation: Browsertrix/Browsertrix UI
Translate-URL:
https://hosted.weblate.org/projects/browsertrix/browsertrix-ui/es/

Co-authored-by: Ilya Kreymer <ikreymer@gmail.com>
2024-12-03 17:47:06 -05:00
Emma Segal-Grossman
683e531cc0
Localize durations on frontend (#2196)
Partially addresses
https://github.com/webrecorder/browsertrix/issues/2171

- [x] Reimplement `pretty-ms`'s rounding logic to convert to a
`Intl.DurationFormat`-compatible object
- [x] Add `localize.duration` and `localize.humanizeDuration` methods
- [x] Replace `pretty-ms` usage with localized formatting
- [x] Add `Intl.DurationFormat` polyfill
- [x] Update localize tests
- [x] Fix broken tests (thank you @SuaYoo!)
- This looks to be possibly a bug somewhere in the web test runner's
code? Have yet to figure this one out
- Might be related to these:
https://github.com/web-dev-server/web-dev-server/issues/1
https://github.com/guybedford/es-module-lexer/issues/82 — both closed
with no comments or resolution 🙃 — `es-module-lexer` seems to be most
likely, given it's a native module & might be handling unicode sequences
incorrectly or not at all?
- [x] Clean up messy `index.d.ts` — probably split this out? The
definitions haven't yet made their way into `esnext`
https://github.com/microsoft/TypeScript/issues/60608

---------

Co-authored-by: emma-sg <emma-sg@users.noreply.github.com>
Co-authored-by: sua yoo <sua@suayoo.com>
2024-12-03 16:46:57 -05:00
sua yoo
2c2b8227d9
fix: Fix debounced inputs (#2191)
Fixes https://github.com/webrecorder/browsertrix/issues/2190

## Changes

- Fixes not being able to add live exclusion
- Fixes not being able to delete last exclusion
- Fixes collection list search
- Refactors exclusion form event name
2024-12-02 17:04:40 -08:00
Ilya Kreymer
99115473e5
Docs: Add API Reference as top-level nav (#2180)
can either link to redoc hosted elsewhere or make a local copy:
- for local frontend build, just redirect to
http://localhost:30870/api/redoc
- for deployment, make local copy: run copy-api-docs.sh, copy locally
from prod and serve at /api/
- copy-api-docs.sh copies openapi.json, redoc and logo to /api/ dir
- if analytics enabled, also injects analytics scripts
- for local testing, run copy-api-docs.sh and then run mkdocs serve
- ci: copy from prod server
- fixes #1582
2024-11-27 17:00:54 -08:00
Tessa Walsh
661e5d9fae
Fix issue with failed background job emails not being sent (#2187)
Fixes #2186 

Background job emails will no longer fail to send for jobs unrelated to
file replication or replica deletion.

Also uses `AnyJob` for paginated background job response model, to fix
typing being out of data following addition of other types of background
jobs and lower overhead for adding new ones moving forward.
2024-11-27 17:00:35 -08:00
sua yoo
292176da2c
feat: Update subscription strings (#2185)
- Separates translatable html strings into parts to make them easier to
translate
- Updates copy regarding subscription
- Updates plan feature list to match website
2024-11-27 14:27:05 -08:00
Ilya Kreymer
50dac7dc50
1.12.2 release -> main (#2181)
Merge 1.12.2 release changes into main, includes:
- Collection replay full refresh on metadata / archived items (#2176)
- Fix for self-registration default org (#2178)
- Prepend missing https in start URL (#2177)
- Updated billing to support free trial messaging (#2179)

---------

Co-authored-by: sua yoo <sua@webrecorder.org>
Co-authored-by: Henry Wilkinson <henry@wilkinson.graphics>
Co-authored-by: sua yoo <sua@suayoo.com>
Co-authored-by: SuaYoo <SuaYoo@users.noreply.github.com>
2024-11-26 11:17:07 -08:00
sua yoo
37c0b06622
feat: Localize dates, bytes, and numbers (#2146)
- Defaults to user's browser language preference when displaying dates,
bytes, and numbers (with caveats.) This fixes an issue where numbers
were always formatted in English.
- Shows user's browser language preferences in language dropdown
- Fixes timezone not displayed in archived item detail start and finish
times
- Standardizes number formatting
- Sets timezone that unit tests run in

---------

Co-authored-by: SuaYoo <SuaYoo@users.noreply.github.com>
Co-authored-by: Emma Segal-Grossman <hi@emma.cafe>
Co-authored-by: emma-sg <emma-sg@users.noreply.github.com>
2024-11-19 21:49:02 -08:00
sua yoo
189a86d98d
Merge pull request #2140 from weblate/weblate-browsertrix-browsertrix-ui
Translations update from Hosted Weblate
2024-11-19 21:15:55 -08:00
sua yoo
8fb37c821a
Merge branch 'main' into weblate-browsertrix-browsertrix-ui 2024-11-19 21:15:34 -08:00
Tessa Walsh
ba5ca3fdd9
Move org storage recalculation into background job (#2138)
Fixes #2112 

- Moves org storage recalculation to background job, modify endpoint to
return job id as part of response
- Updates crawl + QA backend tests that broke due to
https://webrecorder.net website changes

---------

Co-authored-by: Ilya Kreymer <ikreymer@users.noreply.github.com>
2024-11-19 17:32:57 -05:00
sua yoo
333ab6d9e9
fix: Check password strength on password auto-fill (#2148)
Fixes password strength not being checked when new passwords are
auto-filled, resulting in submit buttons remaining disabled.

---------

Co-authored-by: SuaYoo <SuaYoo@users.noreply.github.com>
Co-authored-by: emma <hi@emma.cafe>
2024-11-19 13:47:24 -08:00
sua yoo
2f3dff3de5
fix: Fix app not loading for browsers without adoptedStyleSheets support (#2163)
Adds polyfill for `replaceSync` and `adoptedStyleSheets` support.
2024-11-19 13:46:52 -08:00
Emma Segal-Grossman
8ba18f2360
[Docs]: Only enable Plausible on deployment builds (#2162)
Tested locally.
2024-11-19 12:55:10 -05:00
Emma Segal-Grossman
0cbc279773
[Docs]: Fix edit URLs and update instructions for running docs locally (#2161)
- Adds a missing `/docs` to the docs edit urls
- Adds instructions for installing `mkdocs-material` with pipx & uvx,
and describes correct place to run `mkdocs serve` from
- Fixes edit url, opens in a new tab
- Adds Plausible

---------

Co-authored-by: Henry Wilkinson <henry@wilkinson.graphics>
2024-11-19 00:43:22 -05:00
sua yoo
2cf75bd3f0
v1.12.1 release changes (#2155)
- Fix collection dialog visibility (#2147) and button (#2154)
2024-11-18 10:38:26 -08:00
sua yoo
ab9edfa064
feat: Add details on translation status (#2139)
languages specified in `translatedLocales`
- Updates user language preference beta badge text
- Adds link to translation contribution docs
- Refactors component name

---------

Co-authored-by: SuaYoo <SuaYoo@users.noreply.github.com>
Co-authored-by: Henry Wilkinson <henry@wilkinson.graphics>
Co-authored-by: emma <hi@emma.cafe>
2024-11-12 13:59:34 -08:00
sua yoo
0fb6571990
refactor: Migrate LiteElements (#2145)
- Migrates the following `LiteElement`s to `BtrixElement`:
  - `App` (`<browsetrix-home>`)
  - `Admin` (`<btrix-home`)
  - `Dashboard` (`<btrix-dashboard>`)
  - `LogInPage` (`<btrix-log-in>`)
- Replaces custom light DOM `btrix-input` with `sl-input` since password
managers should work now.
2024-11-12 13:56:37 -08:00
sua yoo
6aaf9c985e
refactor: Implement brand colors (#2141)
- Pull colors from hickory tailwind theme
- Minor updates to buttons to match website branded buttons
2024-11-12 08:54:11 -08:00
Webrecorder Dev
cbcdd299bb
Translated using Weblate (Spanish)
Currently translated at 1.2% (15 of 1216 strings)

Translation: Browsertrix/Browsertrix UI
Translate-URL: https://hosted.weblate.org/projects/browsertrix/browsertrix-ui/es/
2024-11-12 16:43:41 +00:00
Henry Wilkinson
d1dbbbe53c
Add missing navigation button icons (#2144)
- Adds navigation button icons to the workflow details and org settings
2024-11-12 11:43:37 -05:00
sua yoo
c35dc7dd3e
gh: remove localization build workflow 2024-11-11 16:04:55 -08:00
sua yoo
3493067d92
gh: run localization build on merge to main 2024-11-11 14:12:45 -08:00
sua yoo
e4b5173fdc
gh: add workflow dispatch to localization build 2024-11-11 14:02:56 -08:00
sua yoo
19afb2f38f
gh: remove localization build condition 2024-11-11 14:01:54 -08:00
sua yoo
60fb874912
chore: Automatically output translation files on weblate PR (#2137)
Runs `lit-localize build` when a Weblate PR is approved.
2024-11-11 13:53:01 -08:00
sua yoo
5062ec11c9
feat: Allow users to specify language preference (#2129)
- Shows language selector on log in page
- Adds tabs to account settings
- Adds language preference selector on account settings
- Adds issue template for new language
- Updates dev docs for frontend localization

---------

Co-authored-by: SuaYoo <SuaYoo@users.noreply.github.com>
Co-authored-by: Henry Wilkinson <henry@wilkinson.graphics>
Co-authored-by: Tessa Walsh <tessa@bitarchivist.net>
2024-11-11 09:30:20 -08:00
sua yoo
59dff89614
chore: Update PR template headings (#2132) 2024-11-05 19:11:58 -08:00
Henry Wilkinson
43ebc1c94c
Update Readme to add Weblate information (#2109)
- Updates README file with a link to our Weblate project
- Fixes minor out of date text bits

Co-authored-by: Emma Segal-Grossman <hi@emma.cafe>
2024-10-31 16:36:12 -04:00
Henry Wilkinson
74161f8477
Update Webrecorder.net links (#2120)
- Updates documentation links to point to new Browsertrix landing page
- Updates redoc links
2024-10-31 16:33:54 -04:00
Tessa Walsh
55a758f342
Consolidate ops class initialization (#2117)
Fixes #2111

The background job and operator entrypoints now use a shared function
that initalizes and returns the ops classes. This is not applied in the
main entrypoint as that also initializes the backend API, which we don't
want in the other entrypoints.
2024-10-30 15:33:22 -04:00
Tessa Walsh
0dc025e9fd
Update nightly org deletion tests to account for bg job (#2118)
Follow-up to https://github.com/webrecorder/browsertrix/pull/2098

Updates I missed to nightly org deletion tests following the shift to
deleting orgs in a background job. I think this should be the last thing
to get nightly tests passing consistently again.
2024-10-30 15:31:33 -04:00
Tessa Walsh
3ea20e538d
Fix nightly tests: Add boto3 as test requirement (#2116) 2024-10-23 13:41:22 -07:00
Tessa Walsh
f7426cc46a
Fix nightly tests: modify kubectl exec syntax for creating new minio bucket (#2097)
Fixes #2096

For example failing test run, see:
https://github.com/webrecorder/browsertrix/actions/runs/11121185534/job/30899729448

---------
Co-authored-by: Ilya Kreymer <ikreymer@users.noreply.github.com>
2024-10-21 17:41:19 -07:00
Tessa Walsh
1b1819ba5a
Move org deletion to background job with access to backend ops classes (#2098)
This PR introduces background jobs that have full access to the backend
ops classes and moves the delete org job to a background job.
2024-10-10 14:41:05 -04:00
Ilya Kreymer
84a74c43a4 version: bump to 1.13.0-beta.0 2024-10-10 11:38:13 -07:00
Ilya Kreymer
6032e28231
fix: firstOrgAdmin being set to true even if invite was not for an admin (#2110)
Non-admin users should not be given option to rename org when invited to
a new org:
- set firstOrgAdmin to true only when invite is for an admin
- default to false instead of null
- update tests to check
2024-10-08 16:42:30 -07:00
Ilya Kreymer
c33f749515
Frontend hosted-docs (#2107)
Fixes #2106 

Docs are now hosted as part of the frontend at `/docs` by default.

- If `docs_url` is set in the helm chart, the `/docs` endpoint will
redirect to that endpoint instead
- Use multi-stage python image to build mkdocs as part of frontend, then
copy static output
- Dir layout: mkdocs.yml and docs into frontend/docs
- CI: Update docs build GH action to use new path
- Update all frontend paths to use `/docs/` instead of
`https://docs.browsertrix.com/`

---------
Co-authored-by: Henry Wilkinson <henry@wilkinson.graphics>
2024-10-08 14:56:34 -07:00
Ilya Kreymer
d12ce9a591
sidebar setup guide fixes: (#2105)
- ensure user-guide iframe is always visible if not fading in when
'Setup Guide' button is clicked
- Clicking 'Setup Guide' scrolls to relevant section of guide (scope,
limits, browser settings, scheduling, metadata) based on current
workflow editor tab via hashtag

---------

Co-authored-by: sua yoo <sua@webrecorder.org>
2024-10-07 22:14:46 -07:00
Ilya Kreymer
dde5056242
quickfix: add a flag to avoid clearing primarySeedUrl when switching scope types (#2104)
otherwise, triggers a partial state update, which causes a form to be
reset.
2024-10-07 13:05:23 -07:00
Ilya Kreymer
406879f2f4
ui: fix missing click handler on QA review 'cancel' button (#2103)
quick fix: add a handler to close the dialog as expected
2024-10-04 17:35:26 -07:00
Ilya Kreymer
8192e5bed6 version: bump to 1.12.0 2024-10-03 16:45:54 -07:00
Ilya Kreymer
104ea097c4
switch to simpler streaming download + multiwacz metadata improvements: (#1982)
- download via presigned URLs via requests instead of boto APIs, remove boto
- follow-up to #1933 for streaming download improvements
- fixes datapackage.json in multi-wacz to contain the same resources
objects with: `name`, `path`, `hash`, `bytes` to match single WACZ.
- Add additional metadata to multi-wacz datapackage.json, including `type`
(`crawl`, `upload`, `collection`, `qaRun`), `id` (unique id for the
object), `title` / `description` if available (for
crawl/upload/collection), and `crawlId` for `qaRun`
2024-10-03 16:13:31 -07:00
Henry Wilkinson
2429bb620c
Docs: Proxy docs copy editing (#2102)
### Changes
- Minor copy edits and sentence restructures
- Markdown formatting

---------

Co-authored-by: Tessa Walsh <tessa@bitarchivist.net>
2024-10-03 12:18:05 -04:00
Ilya Kreymer
00efb3615b
Stopped crawls should not show stop/cancel buttons (#2101)
- crawler isActive() should only look at running states, not 'stopping',
since stopping may not be reset to false after crawl is stopped
(probably should reset, but also a record that the crawl ended as being
stopped). crawl is guaranteed to remain in one of the active states
while stopping on the backend
- fixes #2100
2024-10-02 23:28:04 -07:00
Emma Segal-Grossman
87cc38b737
[Chore] Webpack: Migrate from onBeforeSetupMiddleware to setupMiddlewares (#2080)
Resolves the big red
`[DEP_WEBPACK_DEV_SERVER_ON_BEFORE_SETUP_MIDDLEWARE] DeprecationWarning:
'onBeforeSetupMiddleware' option is deprecated. Please use the
'setupMiddlewares' option.` warnings when starting Webpack.

---------

Co-authored-by: Ilya Kreymer <ikreymer@gmail.com>
2024-10-02 19:35:32 -07:00
Emma Segal-Grossman
adec41bd70
[Chore] Update browserlist db (#2081)
Co-authored-by: Ilya Kreymer <ikreymer@gmail.com>
2024-10-02 19:28:37 -07:00