Commit Graph

369 Commits

Author SHA1 Message Date
Henry Wilkinson
23e398d327 Icon updates
- Changes `trash` for `trash3` which I believe wasn't originally available in the version of bootstrap-icons we were using but now it is and I like the tapered edges better :P
- Makes browser profiles action button small to fit with the rest of the dropdown components used elswhere
- Changes previous file-earmark delete icon to trash icons used everywhere else for delete actions
2023-05-01 03:26:34 -04:00
Henry Wilkinson
e04a6a7825 Improves icon button aria labels
- Adds some labels to missing icon buttons
- Fixes metadata `aria-label` usage → `label` so it actually gets added to the rendered `button`
- Changes the "More" label to a (hopefully) more descriptive "Actions" label for dropdown actions menus
2023-05-01 02:57:32 -04:00
Henry Wilkinson
1d7518af07 Ensure that button returns to its default state
uses the .blur() method to set the icon button back to its unfocused state after the set time
2023-04-29 17:17:49 -04:00
Henry Wilkinson
228e2187e3 Copy button text → icon
- Converts to icon button
- Adds accessibility label field
2023-04-28 14:53:11 -04:00
Henry Wilkinson
45826f8d70 Show only mine unification
Same styling as the finished crawls page
2023-04-28 13:38:23 -04:00
Henry Wilkinson
577942805b Moves dropdown beside search bar
- Improves responsiveness for top two items
2023-04-27 02:03:09 -04:00
Henry Wilkinson
81aeba6e92 Changes logout icon
- It's a door now instead of the box arrow
2023-04-27 00:46:42 -04:00
Henry Wilkinson
c359589024 Adds additional styling to the file picker
- Half aligned with current mockup!
2023-04-27 00:12:06 -04:00
Henry Wilkinson
c03bb1923b Removes extra padding around replay window
- Adds a check before the block of HTML that adds 16px of padding and tells it not to add that if it's the replay page.
2023-04-26 23:50:02 -04:00
sua yoo
e6e46b522a
hotfix: prevent polling during workflow edit 2023-04-26 13:41:41 -07:00
sua yoo
937ad4fe08
fix: navigate to watch on new crawl work
follows #720
2023-04-25 14:30:41 -07:00
sua yoo
7888c4fde3
Frontend crawl workflows rework (#775) 2023-04-25 14:16:07 -07:00
sua yoo
1458e2cdd9
hotfix: delete crawl workflow without crawls 2023-04-24 15:18:20 -07:00
Ilya Kreymer
85b6a05419
Upgrade to mongo 6 and use sortArray for workflow crawls (#764) (#765)
fixes from 1.4.1:
* Upgrade to mongo 6 and use  for workflow crawls

* update readiness probe with timeouts doubled, and failure threshold increased for slower 'mongosh' readiness check

update versions to 1.5.0-beta.0 in backend and frontend

Co-authored-by: Tessa Walsh <tessa@bitarchivist.net>
2023-04-11 18:22:07 -07:00
Ilya Kreymer
631c84e488 version: bump to 1.4.0! 2023-04-06 10:12:43 -07:00
Henry Wilkinson
ba3daf326d
Adds inputmode attributes to workflow config fields (#755)
- Now the appropriate virtual keyboards are shown! :)
- Also adjusts type weight for workflow config headers to match mockups
2023-04-06 09:16:48 -07:00
Henry Wilkinson
c6aec84af4
Changes the autoscroll setting to true by default (#756)
As per my note on #745, currently all our other check boxes turn features on when enabled.  For consistency I have reversed the states of the autoscroll checkbox so the page autoscrolls when it is checked and does not run the behavior when it is unchecked.  Checked is also now the default state.

- Updates help text accordingly
- Renames `disableAutoscrollBehavior` → autoscrollBehavior
2023-04-06 09:06:55 -07:00
Ilya Kreymer
3ab62547a9 version: bump to 1.4.0-beta.2 2023-04-06 02:45:20 -07:00
sua yoo
80bc4a3eb9
Fix additional URLs (#752) 2023-04-05 20:11:09 -07:00
sua yoo
91c2c1ad62
Allow users to set additional page time limits (#744) 2023-04-05 20:06:46 -07:00
sua yoo
72967a0381
Frontend Docker build improvements (#749) 2023-04-05 20:05:45 -07:00
sua yoo
c60dc5d086
Crawls list backend pagination (#735) 2023-04-05 10:55:42 -07:00
Ilya Kreymer
88497d2a64
text: rename workflowuration -> workflow (#741) 2023-04-04 08:48:06 -07:00
sua yoo
370b8cbd4d
Set max pages to API default (#739) 2023-04-04 08:47:37 -07:00
Ilya Kreymer
2b0d5ff8b3
misc frontend build fixes: playwright version + chunking (#740)
* misc frontend build fixes:
- fix playwright version to be consistent to fix playwright test
- chunking: set max number of chunks generated

* lock playwright version

* remove intl polyfill

---------

Co-authored-by: sua yoo <sua@suayoo.com>
2023-04-03 21:27:44 -07:00
Sara Tavares
948cce3d30
Add README.md related to run playwright tests locally (#722) 2023-03-28 16:08:28 -07:00
Tessa Walsh
4724754efc
Filter and sort crawl and workflow list API endpoints in backend (#724)
* Re-implement pagination and paginate crawlconfig revs

First step toward simplifying pagination to set us up for sorting
and filtering of list endpoints. This commit removes fastapi-pagination
as a dependency.

* Migrate all HttpUrl seeds to Seeds

This commit also updates the frontend to always use Seeds and to
fix display issues resulting from the change.

* Filter and sort crawls and workflows

Crawls:
- Filter by createdBy (via userid param)
- Filter by state (comma-separated string for multiple values)
- Filter by first_seed, name, description
- Sort by started, finished, fileSize, firstSeed
- Sort descending by default to match frontend

Workflows:
- Filter by createdBy (formerly userid) and modifiedBy
- Filter by first_seed, name, description
- Sort by created, modified, firstSeed, lastCrawlTime

* Add crawlconfigs search-values API endpoint and test
2023-03-28 17:55:40 -04:00
Sara Tavares
36cfb2591f
ci: fix version related to @playwright/test (#729)
* fix version, add resolutions to have fixed playwright version
2023-03-28 14:30:36 -07:00
sua yoo
25e4da2522
fix: enable semibold variable 2023-03-28 12:17:34 -07:00
sua yoo
8033061540
Leave trailing slash in seed URLs (#731) 2023-03-27 14:46:59 -07:00
sua yoo
bca67c74e2
chore: format frontend files with prettier 2023-03-27 11:05:19 -07:00
Sara Tavares
48163db5d3
ci: fix version playwright version for tests (#725) 2023-03-26 21:57:06 -07:00
Sara Tavares
b61592b5ed
CI: Add Playwright UI e2e tests + CI (#614)
Adds Playwright for UI tests.
Basic Playwright test to login.
Playwright Github Action.

---------

Co-authored-by: sua yoo <sua@suayoo.com>
2023-03-22 16:23:22 -07:00
sua yoo
5f5bb5ea6e
Allow users to set workflow description (#708) 2023-03-21 13:40:23 -07:00
Ilya Kreymer
ba70d3227e version: update to 1.4.0-beta.1 2023-03-17 21:14:42 -07:00
sua yoo
b9a24fa5e2
Combine watch crawl with crawl queue (#710)
- crawl queue and watch page are now part of single view
- exclusions can be edited via 'Edit Exclusions' popup
2023-03-17 21:04:08 -07:00
sua yoo
03e9b2aba5
Disable copy tags menu item if no tags (#709) 2023-03-16 19:45:04 -07:00
sua yoo
0009ce8bf6
fix limit fields (#704) 2023-03-14 18:28:13 -07:00
Ilya Kreymer
de9212eec7
exclusions editor fix: (#692)
- backend: fix updating model after exclusions change
- frontend: don't check for new_cid, just success
- fixes #691
2023-03-10 22:36:10 -08:00
sua yoo
8ca4276c57
Migrate crawl config frontend -> workflow (#686) 2023-03-10 11:39:42 -08:00
sua yoo
fecdc6229d
Improve crawl queue pagination UX (#680)
* switches to infinite scroll for crawl queue
2023-03-09 12:18:26 -08:00
sua yoo
666c28f420
Limit organization name length (#671) 2023-03-08 09:21:48 -08:00
Ilya Kreymer
544346d1d4
backend: make crawlconfigs mutable! (#656) (#662)
* backend: make crawlconfigs mutable! (#656)
- crawlconfig PATCH /{id} can now receive a new JSON config to replace the old one (in addition to scale, schedule, tags)
- exclusions: add / remove APIs mutate the current crawlconfig, do not result in a new crawlconfig created
- exclusions: ensure crawl job 'config' is updated when exclusions are added/removed, unify add/remove exclusions on crawl
- k8s: crawlconfig json is updated along with scale
- k8s: stateful set is restarted by updating annotation, instead of changing template
- crawl object: now has 'config', as well as 'profileid', 'schedule', 'crawlTimeout', 'jobType' properties to ensure anything that is changeable is stored on the crawl
- crawlconfigcore: store share properties between crawl and crawlconfig in new crawlconfigcore (includes 'schedule', 'jobType', 'config', 'profileid', 'schedule', 'crawlTimeout', 'tags', 'oid')
- crawlconfig object: remove 'oldId', 'newId', disallow deactivating/deleting while crawl is running
- rename 'userid' -> 'createdBy'
- remove unused 'completions' field
- add missing return to fix /run response
- crawlout: ensure 'profileName' is resolved on CrawlOut from profileid
- crawlout: return 'name' instead of 'configName' for consistent response
- update: 'modified', 'modifiedBy' fields to set modification date and user modifying config
- update: ensure PROFILE_FILENAME is updated in configmap is profileid provided, clear if profileid==""
- update: return 'settings_changed' and 'metadata_changed' if either crawl settings or metadata changed
- tests: update tests to check settings_changed/metadata_changed return values

add revision tracking to crawlconfig:
- store each revision separate mongo db collection
- revisions accessible via /crawlconfigs/{cid}/revs
- store 'rev' int in crawlconfig and in crawljob
- only add revision history if crawl config changed

migration:
- update to db v3
- copy fields from crawlconfig -> crawl
- rename userid -> createdBy
- copy userid -> modifiedBy, created -> modified
- skip invalid crawls (missing config), make createdBy optional (just in case)

frontend: Update crawl config keys with new API (#681), update frontend to use new PATCH endpoint, load config from crawl object in details view

---------

Co-authored-by: Tessa Walsh <tessa@bitarchivist.net>
Co-authored-by: sua yoo <sua@webrecorder.org>
Co-authored-by: sua yoo <sua@suayoo.com>
2023-03-07 20:36:50 -08:00
sua yoo
d3bb524971
Fix missing crawl config name (#683) 2023-03-07 19:13:56 -08:00
sua yoo
ebce2ec384
fix: show crawl start date in local time 2023-03-07 16:05:00 -08:00
sua yoo
91e415fac2
Hide file size when crawl is running (#648) 2023-03-07 16:02:19 -08:00
sua yoo
85416e2ca2
Fix crawl config name in "run now" alert (#673) 2023-03-06 15:11:04 -08:00
Tessa Walsh
e98c7172a9
Paginate API list endpoints (#659)
* Paginate API list endpoints

fastapi-pagination is pinned to 0.9.3, the latest release that plays
nicely with pinned versions of fastapi and fastapi-users.

* Increase page size via overriden Params and Page classes

* update api resource list keys

---------

Co-authored-by: sua yoo <sua@suayoo.com>
2023-03-06 14:41:25 -05:00
Ilya Kreymer
ace4e79e3f version: bump version to 1.4.0-beta.0 2023-03-06 10:20:56 -08:00
sua yoo
a112f467b3
Update frontend/src/pages/org/crawl-detail.ts 2023-03-06 08:37:18 -08:00
Henry Wilkinson
7e1276fd0d
Remove duplicate gap value 2023-03-03 16:27:16 -05:00
Henry Wilkinson
e4a178ff74 Updates crawl details navigation
- Adds icons to details nav items
- Adds replay glyph icon
- Hides "Replay" & "Files" pages if the crawl is running
- Updates border radius 3px → 4px
- Updates colour values, aligns with mockups
- Replaces `margin` from menu items with `gap` values
- Removes animation

Prettier made some spacing adjustments, I also moved some lines around so they're all in the same spot now. 😬
2023-03-02 16:23:37 -05:00
Henry Wilkinson
70d7d2f304 Adds icon to invite new member button 2023-03-02 15:09:58 -05:00
Ilya Kreymer
df9a7eccf3 version: bump to 1.3.1 2023-02-28 18:40:15 -08:00
sua yoo
dc62d4b874
Persist "show only mine" across page refresh (#661)
* turn off filter by default

* store in session storage

* update keys
2023-02-28 18:37:20 -08:00
sua yoo
f2b7946960
Improve crawl list rendering (#645)
* add load more button

* adjust height

* refactor to improve performance

* remove unused observable component

* contain status

* update dropdown animation
2023-02-28 18:36:23 -08:00
sua yoo
a1f939ad29
Improve tag input keyboard navigation (#650) 2023-02-28 15:52:31 -08:00
sua yoo
d0182a3e13
Hide file size when crawl is running (#648) 2023-02-28 15:52:06 -08:00
sua yoo
23795ec5fd
Compute name from seed URLs in UI (#644) 2023-02-28 15:51:43 -08:00
sua yoo
de8a5f1c00
fix: tag input target in chrome 2023-02-25 19:54:58 -08:00
Ilya Kreymer
4901fc2fe9 version: bump to 1.3.0 2023-02-24 18:07:56 -08:00
Ilya Kreymer
0d2a2de66e
rename Information -> Metadata, rebuild localization strings list (#642) 2023-02-24 18:01:33 -08:00
sua yoo
1dea7ecdf9
Update crawls list styles (#630)
- Improves crawls list UI for UX and visual consistency
- Enables editing crawl metadata from the crawls list
- Upgraded Tailwind CSS
2023-02-24 17:36:34 -08:00
Henry Wilkinson
d36d22fea3 Run prettier on crawl-configs-list.ts 2023-02-24 16:20:32 -05:00
Henry Wilkinson
5df0808c39 Merge branch 'main' into frontend-update-page-headers 2023-02-24 16:19:56 -05:00
sua yoo
5b2e101d20
chore: add editorconfig in frontend
Matches indent style and size to prettier formatter
2023-02-24 13:04:11 -08:00
Henry Wilkinson
133d8b10ab Removes H1 from nav bar
Accessibility improvement, better for screen readers to have h1 be the content of the page as opposed to the application / brand name.  Rest of the nav bar to be dealt with at a later date.
2023-02-24 00:25:16 -05:00
Henry Wilkinson
d0abf2b324 Fix crawl config grid on sm
- Improves grid breakpoints on md
2023-02-24 00:10:16 -05:00
Henry Wilkinson
7f3cdad5b9 Adds page titles, edits heading hierarchy
### Main Pages + General
- Adds H1 page titles for all main pages
- Moves the New Crawl Config action into the title row from the search controls box
- Gives the Crawl Config search controls box the same style as the Crawls search controls box
- Adds +8px of padding to the search controls box to match mockups
- Search box: medium → small
- Title row control buttons: medium → small

### Details Pages
- h2 → h1 for crawl config and crawl detail pages
- h3 → h2 for crawl config and crawl detail pages
- Removes crawl title margin bottom at medium breakpoint on crawl details page
- Aligns crawl config details title row controls with end of flexbox on mobile to match crawl details controls in the same spot
2023-02-24 00:02:49 -05:00
sua yoo
e8b835df34
Disable editing crawl config of running crawls (#620) 2023-02-22 21:46:45 -08:00
sua yoo
974aeb5e93
Update crawls list control bar UI (#611) 2023-02-22 11:14:44 -06:00
sua yoo
c309b809da
Edit crawl notes from crawl detail view (#595) 2023-02-21 12:26:38 -06:00
Ilya Kreymer
0fd18ed3dd version: bump to 1.3.0-beta.0
CHANGES: add upcoming release, link to release changelist for 1.2.0
2023-02-21 10:14:08 -08:00
sua yoo
dae98e1865
Allow user to delete individual crawls (#609) 2023-02-21 10:52:29 -06:00
sua yoo
9532f48515
Fix app not rendering with bad auth storage states (#597)
* render even if session store throws

* handle after timeout

* remove localstorage key

* update tests
2023-02-14 18:35:21 -08:00
Tessa Walsh
14b349443f
Make pending invites expire via TTL index (#568)
* Make invites expire after configurable window

The value can be set in EXPIRE_AFTER_SECONDS env var and via
helm chart values, and defaults to 7 days.

* Create nightly test CI and add invite expiration test to it

* Update 404 error message for missing or expired invite

---------

Co-authored-by: sua yoo <sua@suayoo.com>
2023-02-14 16:07:14 -05:00
sua yoo
baa2214c9f
Make all config form help text localizable (#593) 2023-02-13 16:53:33 -08:00
Henry Wilkinson
fea30d23ee
Merge pull request #589 from webrecorder/crawl-scale-to-instances 2023-02-13 15:08:14 -05:00
Henry Wilkinson
7da732331b
Update frontend/src/pages/org/crawl-detail.ts
Co-authored-by: sua yoo <sua@webrecorder.org>
2023-02-12 13:26:27 -05:00
sua yoo
a180b92f4a
Improve superadmin invite UI (#581) 2023-02-12 10:12:53 -08:00
Henry Wilkinson
b84a70b394 Adds help text
Matches crawl config help text
2023-02-09 01:00:14 -05:00
Henry Wilkinson
b7a9d811a0 "Crawl Scale" → "Crawler Instances"
- Changes name to match crawl config label
- Makes the buttons small
2023-02-09 00:41:34 -05:00
sua yoo
7463becdff
Manage org member roles and invites (#558)
- View and delete pending invites
- Update user roles for members
- Remove members
2023-02-08 18:32:40 -08:00
sua yoo
a7a5b7fd63
test: add shoelace form utility to import map
Temporarily fixes test build error, see FIXME
2023-02-07 13:58:14 -08:00
sua yoo
ac947421c0
Allow URL list to have URLs containing commas (#572) 2023-02-07 10:52:34 -08:00
Henry Wilkinson
56d331ab78
Fix text overflow problem on crawl details page (#570)
* Fixes text overflow problem on crawl details page

- Crawl title length is now unlimited
- Flex items in that row are aligned to the bottom of the box (details bar) instead of the top
- Mirrors changes on config detail page

* Shrinks action button size on config detail page: Matches crawl detail page
* Margin fix: Added 0.5rem, aligned with mockups
2023-02-06 19:43:22 -08:00
sua yoo
d128525e4e
Run unit tests in frontend PR check (#569) 2023-02-06 17:47:15 -08:00
Ilya Kreymer
21745fb6f8
health readiness check: add /healthz endpoint for nginx readiness check, set failure threshold to 3 (similar to ingress) (#562) 2023-02-06 15:08:05 -08:00
sua yoo
17e1628d2d
Allow superadmins to create org from UI (#563) 2023-02-06 14:58:28 -08:00
sua yoo
4875d7727d
Fix invite accept in UI (#560) 2023-02-06 12:18:24 -08:00
Henry Wilkinson
28d39121d7
Merge pull request #551 from webrecorder/css-fixes 2023-02-05 22:00:09 -05:00
Ilya Kreymer
67df783885 bump version to 1.2.1-beta.0 2023-02-05 12:27:45 -08:00
Henry Wilkinson
58971d6b32 switch font-mediumfont-semibold for titles
This should resolve to `font-weight: 600` but currently does not. :(
2023-02-03 03:35:07 -05:00
Henry Wilkinson
a2a8d283ff Fixes url word breaking
Would probably ideally be break-word for all the non URL related things in the form but I don't think it will have any effect on anything that's not URLs in practice?
2023-02-03 03:10:28 -05:00
Henry Wilkinson
8e65edc6f8 Fix org settings label font weight 2023-02-03 03:01:41 -05:00
Ilya Kreymer
af7ba4c90a version: update to 1.2.0 2023-02-02 23:46:23 -08:00
Henry Wilkinson
a7cd15c4f8 Removes "crawl of" beside crawl name 2023-02-03 02:41:22 -05:00
Henry Wilkinson
629b3dea6a Align details nav with window instead of window title 2023-02-03 02:37:46 -05:00
sua yoo
10c96ed2ae
Update tab access by user role (#549)
* update types

* update user org type

* update tabs
2023-02-02 22:26:22 -08:00
sua yoo
16ca8ecefd
Support additional seed URLs and custom scope type (#543) 2023-02-02 21:39:29 -08:00