Commit Graph

651 Commits

Author SHA1 Message Date
Martin Kleinschrodt ddce639b57 Replace @padloc/core/util/equalCT with true timing-safe comparison method as part of CryptoProvider. 2022-04-08 10:16:36 +02:00
Bruno Bernardino 8ef09eb7be
Security Audit v1 (#414)
This adds a security audit page with automatic checks for:

- Reused passwords
- Weak passwords
- Compromised passwords

Storing the audit information in the items themselves.

Co-authored-by: Martin Kleinschrodt <martin@maklesoft.com>
2022-04-06 07:18:50 +01:00
Martin Kleinschrodt 2f8c900a3e
Implement Stripe Integration for v4 (#417)
Add a proper implementation of StripeProvisioner, which builds on BasicProvisioner and derives provisioning profiles from Stripe subscriptions. There's been some refactoring of the core provisioning logic as well.
2022-04-01 14:08:25 +02:00
Martin Kleinschrodt e0bb56cd9a Update tauri and other dependencies 2022-03-22 08:01:48 +01:00
Bruno Bernardino 8088e70f75
It's possible to skip columns now, and the code was slightly refactored/cleaned up. 2022-03-17 16:16:22 +00:00
Bruno Bernardino a4bbd20d6d
Many misc fixes and improvements
- Fix importing empty rows
- Fix not importing first row (was being skipped too early)
- Fix sample values including column row
- Better type default (other instead of username)
- Add new `matchPattern` to use for matching, make it stricter, and leave `pattern` for validation, looser.
2022-03-15 16:57:32 +00:00
Martin Kleinschrodt 7e732cba3a Fix setting values for name and tag selects; some improvements to inferring column types and names if first column does not contain field names 2022-03-12 11:10:34 +01:00
Bruno Bernardino 477ab826a4
Rename checkbox, move to toggle button.
Also rename variables, improve RegExp for 2fa, and reset the dialog.

The attempt to properly select the first values didn't work, unfortunately. That, coupled with the "shadow import" of one empty item, is still the main problem before final cleanup refactoring.
2022-03-11 16:43:57 +00:00
Bruno Bernardino 9235543838
Improve and use `guessFieldType`.
Enforce restrictions on `itemColumns`.

Tweak UX for the dropdowns and added checkbox for no columns row.

Still has the two modal bugs, referenced in the code comments.
2022-03-09 21:00:42 +00:00
Bruno Bernardino 0b03fd0990
Improve UX and functionally follow the mapped columns and field names.
Still buggy and the dialog seems to keep state, strangely. Still missing a checkbox to signal if the first row has data.
2022-03-08 17:28:23 +00:00
Bruno Bernardino 2ba1a590d2
Functionally working, now. 2022-03-04 18:19:35 +00:00
Bruno Bernardino 229c0860da
Advanced CSV Import UI
This is only starting some logic, very bare bones and with some notes in the code.

Related to #348
2022-03-02 20:32:44 +00:00
Martin Kleinschrodt 6bae11d55a Display attachments section even if no attachments have been added yet; Use more subtle indicator when file is being dragged over 2022-02-26 16:15:52 +01:00
Bruno Bernardino a6ea1b83c4
Add always-visible (when there are attachments) attachment helper indicator.
Also tweak code as per PR review requests.
2022-02-26 11:29:50 +00:00
Bruno Bernardino 7d7ec5b36a
Allow drag & drop for attachments
Enables adding an attachment to an item via drag & drop. An item needs to be selected/visible.

Works for electron, but not for Tauri (#386).

Fixes #379
2022-02-25 15:21:58 +00:00
Martin Kleinschrodt 41c7c127b7 Implement v3 compatibility layer as mixin on Controller class 2022-02-10 12:51:16 +01:00
Bruno Bernardino cdc21f8d95
Create Item end-to-end test
This adds a test for creating an item.

It also caught another problem with a timeout that wasn't safety-checked, and I refactored a couple of items.
2022-02-02 15:46:41 +00:00
Martin Kleinschrodt 2d1547038f Add warning in case someone uses the wrong email address when logging in to accept an invite 2022-01-31 13:08:06 +01:00
Martin Kleinschrodt 5ca16be2fa Insert url into TOS link 2022-01-31 12:08:05 +01:00
Martin Kleinschrodt 2bbe7c0770 Add a little pizzazz 🎉 2022-01-30 16:35:58 +01:00
Martin Kleinschrodt df86788672 Display invite preview in signup/login/unlock view; add final "success" step to singup flow 2022-01-30 15:57:00 +01:00
Martin Kleinschrodt 21f6e480a3 Add additional signup step for choosing name and agreeing to TOS 2022-01-29 17:26:39 +01:00
Martin Kleinschrodt 42583684c4 Make sure to replace current history entry instead of pushing new one 2022-01-17 17:42:17 +01:00
Martin Kleinschrodt 42850e23a5 If item with the current id is not found, redirect to list view 2022-01-17 17:34:50 +01:00
Martin Kleinschrodt 96ccb569ec Navigate to new item location after moving to new vault 2022-01-17 17:23:49 +01:00
Martin Kleinschrodt f2aad09fcf Remember search context when leaving search input; restore when navigating back to items 2022-01-16 14:06:50 +01:00
Martin Kleinschrodt 3535215bc8 Only force-navigate to maching items list if there are new matching items since last time the popup was opened of if we're on the list view already 2022-01-16 13:29:35 +01:00
Martin Kleinschrodt 720a56d902 Put window.matchMedia(...).addEventListener(...) into try ... catch block for those browsers that don't support that api yet (looking at you, Safari) 2022-01-14 16:23:26 +01:00
Martin Kleinschrodt 9e37ee565d Fix prettier complaint 2022-01-13 08:53:52 +01:00
Martin Kleinschrodt f14c4f2ac1 Make sure popover menus near the viewport edge aren't cut off
Fix tags indicating group/vault/member count on group/vault/member items
Other visual consistency improvements
2022-01-13 08:48:46 +01:00
Martin Kleinschrodt e0384194ab Fix prettier complaint 2022-01-11 17:22:45 +01:00
Martin Kleinschrodt 832e3aafef Hide favicon in item view on narrow screens 2022-01-11 17:08:50 +01:00
Martin Kleinschrodt 43a6e16cf7 Consistently handle top and bottom inset; Add proper inset to attachment dialog. 2022-01-11 17:03:20 +01:00
Martin Kleinschrodt 40f1e77d51 Add ios device orientation settings to config.xml; use more appropriate statusbar-spacing on devices with notch 2022-01-11 10:04:47 +01:00
Martin Kleinschrodt 8a0dce51a2 Fix syntax error 2022-01-11 08:07:01 +01:00
Martin Kleinschrodt 508817c703 Replace some left-over hardcoded user-visible mentions of "Padloc" 2022-01-11 08:03:01 +01:00
Martin Kleinschrodt 25e833a210 Fix prettier check 2022-01-04 17:36:44 +01:00
Martin Kleinschrodt 64de7ad941 Upgrade lit dependency to v2.0.2 2022-01-04 17:30:16 +01:00
Martin Kleinschrodt cbb13c0d51 Fix unused import 2021-12-26 11:45:57 +01:00
Martin Kleinschrodt a624c43040 Add setting for disabling/enabling badge on extension icon 2021-12-26 11:41:50 +01:00
Martin Kleinschrodt fbafbfb028 Add option to enable/disable favicons feature 2021-12-24 16:16:00 +01:00
Martin Kleinschrodt b48029ddcb Fix broken function call 2021-12-24 15:20:40 +01:00
Martin Kleinschrodt 82a8458c99 Give active search preference over tab context 2021-12-24 15:20:40 +01:00
Martin Kleinschrodt a0dd9f60ef Add (optional) icons to vault items 2021-12-24 15:20:40 +01:00
Martin Kleinschrodt eb9f60e95d More style tweaks 2021-12-24 15:20:40 +01:00
Martin Kleinschrodt 7b1e7c68ad Agressively cache favicons fetched via icons.duckduckgo.com; Fall back to regular icon if image can't be loaded at all 2021-12-24 15:20:40 +01:00
Martin Kleinschrodt 0d8a6fc7aa More styling tweaks 2021-12-24 15:20:40 +01:00
Martin Kleinschrodt 0a72ff948c First pass at implementing favicons 2021-12-24 15:20:40 +01:00
Martin Kleinschrodt 8a61b3111f various styling tweaks 2021-12-24 15:20:40 +01:00
Martin Kleinschrodt 963bee65ab Add workaround for drag&drop issue on chrome 2021-12-24 15:20:40 +01:00
Bruno Bernardino 50ae105b45
A few improvements, requested from the review:
- File reading is now happening later in the process;
- File reading now reuses methods from `core/attachment`;
- Errors thrown in the import now include an error message;
- Adds prettier command to "prettify" all files;
- Adds prettier command to check for files not conforming to prettier's config;
- Makes CI run the prettier:check command;
- Changes `export const method = () => {};` to `export function method() {}` in the `1pux-parser` file;
- Other minor consistency changes/fixes/improvements;
- Actually ran prettier on every file, and it had a lot of things to tweak.
2021-12-20 15:01:25 +00:00
Bruno Bernardino db18adf7fd
Addresses review requests
- Brings 1pux-to-csv important types and functions inline
- Doesn't try to parse 1pux file unless it matches the extension
- Move reading of file to a bit later
- Improves "add dependency" command
- Adds "remove dependency" command
2021-12-18 10:56:28 +00:00
Bruno Bernardino 7c6c66ceff
Make 2fa work by extracting and using just the secret. 2021-12-16 16:50:58 +00:00
Bruno Bernardino 81343a6188
Import works now, except for 2FA codes which show as invalid.
Other tweaks made to dependencies and types
2021-12-16 16:20:51 +00:00
Bruno Bernardino 88e2c41d6b
Merge branch 'v4' into feature/1pux-import 2021-12-16 13:16:58 +00:00
Bruno Bernardino 5d0d688968 Lock dependencies' versions
This implements `.nvmrc` and `.npmrc` files, as well as locking `package.json` versions, in order to get us closer to reproducible builds and more stable environment.

Closes #320
2021-12-16 09:01:59 +01:00
Bruno Bernardino 2b00ede565
WIP: Feature: 1pux file import
This allows importing 1pux files from 1Password.

It also has some other fixes for dependencies and types that were preventing `npm run start` and `npm run dev` from running. Unfortunately, it's still failing, though.
2021-12-15 20:14:35 +00:00
Bruno Bernardino 9b5f8e3d1e
Lock dependencies' versions
This implements `.nvmrc` and `.npmrc` files, as well as locking `package.json` versions, in order to get us closer to reproducible builds and more stable environment.

Closes #320
2021-12-15 16:16:37 +00:00
Martin Kleinschrodt 54d247882b Add workaround for drag&drop issue on chrome 2021-12-15 12:42:13 +01:00
Martin Kleinschrodt 914c98e38b Use more subtle gutter background for custom scrollbar if scroller is not hovered 2021-12-09 09:17:50 +01:00
Martin Kleinschrodt 7fe9601d52 Add ctrl+f shortcut for search 2021-12-09 09:17:04 +01:00
Martin Kleinschrodt d14519fe9b Only trigger biometric unlock on initial load and only if the window has focus 2021-12-08 11:08:46 +01:00
Martin Kleinschrodt 3e7b6af40c Remove animation from item-view to fix popover issue (but also because it gets kinda annoying) 2021-12-06 11:31:22 +01:00
Martin Kleinschrodt acbc931b51 Add back workbox-window dependency 2021-12-02 13:27:08 +01:00
Martin Kleinschrodt 28597e1ea1 Fix workbox dependency in @padloc/app package 2021-12-02 13:07:39 +01:00
Martin Kleinschrodt 9855c3342e When changing password, warn user if chose password is weak 2021-11-19 15:58:40 +01:00
Martin Kleinschrodt 2ae64a57ab Display header with back button in invite recipient view if invite is not found 2021-11-19 10:31:01 +01:00
Martin Kleinschrodt 6cc8641e7a Fix "[Hover to Reveal]" text on signup page not being legible in dark mode 2021-11-19 10:21:26 +01:00
Martin Kleinschrodt 9205cd00ea Fix problem with move items dialog; don't wait for vault sync when moving items 2021-11-19 10:16:07 +01:00
Martin Kleinschrodt 6c5c0d034c Remove remaining direct references to Padloc from UI 2021-11-17 13:59:37 +01:00
Martin Kleinschrodt 0dc758d197 Fix trusted devices header getting rendered for each trusted device 2021-11-17 09:36:21 +01:00
Martin Kleinschrodt e9acfb16dd Fix theme dropdown not displaying correct value 2021-11-17 09:30:18 +01:00
Martin Kleinschrodt 8e2cd8518b Add support for disabling certain features through provisioning module 2021-11-15 10:59:56 +01:00
Martin Kleinschrodt ebcf5e6c46 Fix layout issue in create invites dialog 2021-11-09 10:23:51 +01:00
Martin Kleinschrodt 08586a1c71 Fix duplicate email in username suggestions 2021-11-06 17:00:29 +01:00
Martin Kleinschrodt 7280a2468a Include browser version in device info 2021-11-06 11:59:36 +01:00
Martin Kleinschrodt f25f722c4c Fix typos in css var references 2021-11-05 17:02:30 +01:00
Martin Kleinschrodt e16d58e6e2 Always include padloc username in username suggestions 2021-11-05 16:47:11 +01:00
Martin Kleinschrodt 971b437154 Make field name weight in list view customizable 2021-11-05 16:46:51 +01:00
Martin Kleinschrodt 6675826f83 Adjust section header styling 2021-11-05 16:37:39 +01:00
Martin Kleinschrodt 39a3dc1956 Use consistent styling for placeholders 2021-11-05 16:37:19 +01:00
Martin Kleinschrodt 4c2bdf78db Automatically log out use if account is suspended - don't allow logging in 2021-11-04 16:08:18 +01:00
Martin Kleinschrodt c9ba8b2370 Close all dialogs on auto lock 2021-11-04 15:25:54 +01:00
Martin Kleinschrodt 31d631be71 Use postMessage only on openers with same origin as current window 2021-11-02 17:05:15 +01:00
Martin Kleinschrodt 8c58062160 Upgrade various dependencies to fix dependabot warnings 2021-10-30 16:26:26 +02:00
Martin Kleinschrodt 19f49c6a9a Fix problem with app state propagation 2021-10-27 11:24:28 +02:00
Martin Kleinschrodt 8b4ed857c2 Some styling tweaks 2021-10-26 15:59:41 +02:00
Martin Kleinschrodt 99ef014db3 Display email subject and time when email was sent in email verification prompt dialog 2021-10-26 12:50:02 +02:00
Martin Kleinschrodt 4f4a18db1d Add popovers with additional info for menu footer buttons:
Sync: display time since last sync
Theme: display current theme
2021-10-26 09:40:39 +02:00
Martin Kleinschrodt 33d1b6ef71 Require item name to be filled out when saving 2021-10-25 16:24:37 +02:00
Martin Kleinschrodt fc515ec0e9 Display placeholder value for empty fields 2021-10-25 16:22:19 +02:00
Martin Kleinschrodt 27deabe419 Fix textarea not inheriting text color 2021-10-25 16:16:49 +02:00
Martin Kleinschrodt 5b6a440f96 Make sure items are marked as recently used when opened 2021-10-25 13:16:03 +02:00
Martin Kleinschrodt d0e5924953 Some house keeping / cleanup 2021-10-21 13:32:08 +02:00
Martin Kleinschrodt a5ebd4177b Make sure links in markdown content are opened in external browser 2021-10-20 10:28:52 +02:00
Martin Kleinschrodt 70c230395b Add custom scrollbar to pl-scroller component as well 2021-10-19 09:50:49 +02:00
Martin Kleinschrodt adb1ff7213 Some styling fixes 2021-10-19 09:37:03 +02:00
Martin Kleinschrodt 9e94dc27d3 Customize scrollbar appearance 2021-10-19 09:01:29 +02:00
Martin Kleinschrodt 649ed1284c Add separate vendor version property 2021-10-17 13:47:33 +02:00
Martin Kleinschrodt 96c0e69cee WIP 2021-10-16 14:58:10 +02:00