Commit Graph

170 Commits

Author SHA1 Message Date
Bruno Bernardino 6de33c115b
Fix critical vulnerabilities in dependencies
Mostly `ejs` via `workbox` and `parse-url` via `lerna`.
2022-07-20 08:43:05 +01:00
Bruno Bernardino b1c6ea39ad
Add snap and flatpak options to electron publishing and release
Also adds `deb` and tweaks the v3 compatibility test a bit more since it has failed a couple of times in the last week.

Fixes #201
2022-07-04 12:22:12 +01:00
Bruno Bernardino 0f1489f1da
Upgrade Lerna
Upgrades to the latest 5.1.4. I tried most commands (did not try adding or removing dependencies), and everything seemed to work fine!

Fixes #470
2022-06-22 12:13:33 +01:00
Bruno Bernardino 0ccb1b45f3
Update rust dependencies and fix build script 2022-06-20 11:01:57 +01:00
Bruno Bernardino 0a18dd1382
Switch tauri build commands 2022-02-26 11:49:10 +00:00
Bruno Bernardino 69a39257c8
Fix problems with tauri and running tests 2022-02-26 11:47:20 +00:00
Bruno Bernardino 5cca0109da
Merge branch 'v4' into feature/drag-and-drop-attachments 2022-02-26 11:01:59 +00:00
Martin Kleinschrodt 0061056398 Use "production" build as default. Debug builds are now done via `npm run tauri:build:debug` 2022-02-25 16:25:33 +01:00
Martin Kleinschrodt 589ffeaf49 Update main readme; Add AGPL license; add shorter/better aliases for some commands 2022-02-25 16:25:33 +01: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 b4b44f9d08 Use custom fork of maildev without the vulnerable dependencies and with proper html sanitiation 2022-02-19 17:40:50 +01:00
Martin Kleinschrodt 675dfca3b7 Use helper command to more reliably type stuff into pl-input elements; Use randomized email for signup tests to allow for better replayability 2022-02-19 09:24:52 +01:00
Martin Kleinschrodt 70903968e3 Add missing smtp host and port configuration 2022-02-18 12:46:31 +01:00
Martin Kleinschrodt c4e67381ee Use maildev for catching and parsing verification emails in e2e tests 2022-02-18 12:28:36 +01:00
Bruno Bernardino 5aa2d19865
Add v3 compatibility end-to-end test
This is still a WIP. It adds the basic skeleton for the tests and is going through the signup, but currently unable to finish.
2022-02-09 17:15:08 +00:00
Bruno Bernardino 81ba6ebbc8
Remove unnecessary things 2022-01-27 10:33:03 +00:00
Bruno Bernardino 905c703368
Signup test is working all the time, now.
I added a few more commands, but the login is still throwing somewhere, and I haven't investigated that fully just yet.
2022-01-26 18:01:40 +00:00
Bruno Bernardino 8ecb82c395
Finished setting up the signup and login tests.
There's still a problem of not being able to reproduce from a clean slate because the `packages/server/data` folder is always being used, and the browser appears to keep some state, somehow.
2022-01-24 18:13:10 +00:00
Bruno Bernardino 9e684c2cb7
Switch around because it's the order of closing, not starting, that matters. 2022-01-21 19:08:35 +00:00
Bruno Bernardino 8d26a77e97
Fix exit code for test 2022-01-21 19:04:22 +00:00
Bruno Bernardino f905ab77c6
First e2e test (via cypress)
This adds the first e2e test via [cypress](https://cypress.io). It's still incomplete, but it was a bit of a pain to figure out the shadow dom stuff.

The next step is to force a specific verification code when running via tests so the test can progress.
2022-01-21 18:51:27 +00:00
Bruno Bernardino 1589b05baa
CI: Full Release (#376)
* CI: Full Release

This implements a full release action that takes care of creating a tag, release, then building and uploading builds for all targets.
2022-01-17 17:32:21 +00:00
Bruno Bernardino ebb479a4b2
CI: Cordova - Build iOS
This implements building the iOS package + uploading the artifact.

It builds successfully though I was unable to get past the loading screen, even locally (not sure what's wrong, might need help).

The QRScanner problem was a journey. It started with trying to install the package via url, from https://github.com/padloc/cordova-plugin-qrscanner and I ran into https://github.com/lerna/lerna/issues/2674 then I tried to simply publish a new package name (`padloc-cordova-plugin-qrscanner`), but as I was replacing the plugin name in the code, it started blowing up in a few different places, and it just felt wrong. Finally, I just created a patch command in `npm`, which can later evolve into a bash script or whatever we need. It's not pretty, but that worked!

The signed command doesn't run yet for iOS because building for the app store will be a separate PR, for publishing, like the other targets.

This will close the development/CI/CD part of #330
2021-12-29 20:58:35 +00:00
Bruno Bernardino c3e4b1c298
Fix CORS issues in Tauri
Also, build with --debug (console) for non-prod environments
2021-12-28 19:41:17 +00:00
Bruno Bernardino f72e848e65
Fix Tauri build
This isn't working, but has some attempts. It's currently blocked, because the built app just has many `ReferenceError: Can't find variable: process`. Something with Webpack isn't building properly, as even trying to just run `webpack serve` from inside yields the same result (I updated webpack, but the problem is in the setup/config, really). I also tried setting `resolve.fallback.process: require.resolve('process/browser')` ([among other things](https://pretagteam.com/question/webpack-5-uncaught-referenceerror-process-is-not-defined)), but the executed code comes from `@padloc/app`, so I'd have to add that package there, and it feels wrong. I'm positive I'm just doing something wrong with the setup, but already spent quite some time on it.

To test, pull this down, run `npm install`, and `npm run tauri:dev` (runs with `webpack` instead of `tauri`, just because the console errors are more useful).

In the process of trying to get this to work, I migrated the icons to the assets directory and updated them. I also tweaked the initial HTML to match the new v4 theme.

Related to #281
2021-12-27 10:43:39 +00:00
Bruno Bernardino 9b5b8f0529
Tweak building 2021-12-26 09:38:28 +00:00
Bruno Bernardino 6c30eae65f
CI: Build Electron
This has the setup for building for Linux, macOS, and Windows, but still likely needs some more setup.

Related to #330
2021-12-24 19:59:07 +00:00
Bruno Bernardino e01366923f
Fix script 2021-12-23 20:44:01 +00:00
Bruno Bernardino ad32254846
CI: Build Cordova
Initial work to build Android APK, via Cordova. Still largely untested because I haven't been able to get it to build locally, over Android SDK issues.
2021-12-23 12:24:16 +00:00
Bruno Bernardino faac6f15f0
CI: Build Web Extension
This PR/branch implements the automatic building + archiving of the Web Extension (for Firefox and Chrome).

It won't publish to the stores just yet, and for now Firefox is disabled, until we have the secrets set in GitHub.

Related to #330
2021-12-21 14:01:06 +00: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 5aaa01355e
Merge branch 'v4' into feature/1pux-import 2021-12-16 16:51:32 +00:00
Martin Kleinschrodt 39a80d1d14 Add github action to test initializing zero-config server 2021-12-16 16:10:44 +01: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
Bruno Bernardino 1e9db8028c
Add CI - Run Tests (v4)
This makes it so that on every push (includes PRs), dependencies and tests run on GitHub Actions.

It also adds a small badge reporting the latest push/run on the `v4` branch.

Fixes #321
2021-12-15 15:07:38 +00:00
Martin Kleinschrodt ff0b4d3c40 Resolve assets dir relative to root dir, not current file 2021-11-19 15:58:09 +01:00
Martin Kleinschrodt 649ed1284c Add separate vendor version property 2021-10-17 13:47:33 +02:00
Martin Kleinschrodt 7dfdd3a27b Upgrade typescript version 2021-09-25 10:06:45 +02:00
Martin Kleinschrodt 63076556d8 Bump npm version to 4.0.0; clean up/fix some dependencies 2021-08-06 15:07:25 +02:00
Martin Kleinschrodt 238b53ad97 Add tauri:dev command 2021-06-28 18:08:34 +02:00
Martin Kleinschrodt 3444dc9e7f WIP 35 2021-05-30 15:53:51 +02:00
Martin Kleinschrodt cf888a4276 some dependency updates 2020-10-25 14:05:58 +01:00
Martin Kleinschrodt 87e0f52a3f Upgrade various dependencies 2020-07-19 17:44:11 +02:00
Martin Kleinschrodt 2bd3188b11 Bump the rest of the package files to v3.1.1 that were missed before 2020-07-04 16:24:20 +02:00
Martin Kleinschrodt 82cb762f1f bump version to 3.1.0 2020-05-27 18:47:53 +02:00
Martin Kleinschrodt 80d96ef4f7 Add word lists for spanish, portuguese and french 2019-12-05 12:57:16 +01:00
Martin Kleinschrodt 4bde082799 Set up docker and docker-compose configs for use with logging and repl 2019-11-29 17:08:25 +01:00