Commit Graph

40 Commits

Author SHA1 Message Date
Jarek Kowalski
b71e551fd5 app: changed releaseType to release to fix publishing artifacts to GitHub, 2nd try 2020-09-13 18:47:05 -07:00
Jarek Kowalski
a5f275b2f5 app: changed releaseType to release to fix publishing artifacts to GitHub 2020-09-13 18:26:45 -07:00
Jarek Kowalski
3b87902433 Kopia UI improvements for repository management (#592)
* cli: added --tls-print-server-cert flag

This prints complete server certificate that is base64 and PEM-encoded.

It is needed for Electron to securely connect to the server outside of
the browser, since there's no way to trust certificate by fingerprint.

* server: added repo/exists API

* server: added ClientOptions to create and connect API

* server: exposed current-user API

* server: API to change description of a repository

* htmlui: refactored connect/create flow

This cleaned up the code a lot and made UX more obvious.

* kopia-ui: simplified repository management UX

Removed repository configuration window which was confusing due to
the notion of 'server'.

Now KopiaUI will automatically launch 'kopia server --ui' for each
config found in the kopia config directory and shut it down every
time repository is disconnected.

See https://youtu.be/P4Ll_LR4UVM for a quick demo.

Fixes #583
2020-09-07 08:00:19 -07:00
Jarek Kowalski
b4f28fb18f kopia-ui: added license ID and description 2020-08-14 16:25:08 -07:00
Jarek Kowalski
b73db25e78 kopia-ui: roll back electron to v7.1.14 (upgraded in cfa30f2) since it's crashing on Ubuntu (#530) 2020-08-12 18:33:23 -07:00
Jarek Kowalski
04254b68db Upgrade build-time dependencies (#510)
* goreleaser: upgraded to v1.140.1
* site: upgrade to latest Hugo, fixed deprecation warnings
* app: upgraded NPM dependencies to latest version to address some low-severity vulnerabilities
2020-08-04 15:54:05 -07:00
Jarek Kowalski
bc0df1e58e app: removed extra 'v' from KopiaUI window captions 2020-07-31 22:35:20 -07:00
Jarek Kowalski
cfa30f2e45 switched back to using v-prefixed tag names.
KOPIA_VERSION will now always be v-prefixed and we will strip the
prefix before embedding it in KopiaUI manifest.

Also upgraded Node and app NPM dependencies to latest versions.
2020-07-25 17:22:35 -07:00
Jarek Kowalski
52e763158b kopia-ui: fixed missing 'log' when clicking 'Launch At Startup' 2020-07-21 22:12:52 -07:00
Jarek Kowalski
a544e0c32b kopia-ui: Added logging when waiting for notarization response from Apple.
Fixed #488
2020-07-18 15:49:15 -07:00
Jarek Kowalski
73ed5adb01 kopia-ui: cleaned up console logging 2020-07-18 14:11:33 -07:00
Jarek Kowalski
0b2d12dfac kopia-ui: build deb and rpm packages
Fixes #478
2020-07-17 20:03:37 -07:00
Jarek Kowalski
200ef57cf7 app: portability fixes (#431)
- create default config in portable mode
- override userData to make sure cached data is written outside of
%APPDATA%
2020-05-03 12:20:29 -07:00
Jarek Kowalski
057c2789d8 Kopia UI: support for multiple repositories + portability (#398)
* server: when serving HTML UI, prefix the title with string from KOPIA_UI_TITLE_PREFIX envar

* kopia-ui: support for multiple repositories + portability

This is a major rewrite of the app/ codebase which changes
how configuration for repositories is maintained and how it flows
through the component hierarchy.

Portable mode is enabled by creating 'repositories' subdirectory before
launching the app.

on macOS:
  <parent>/KopiaUI.app
  <parent>/repositories/

On Windows, option #1 - nested directory
  <parent>\KopiaUI.exe
  <parent>\repositories\

On Windows, option #2 - parallel directory
  <parent>\some-dir\KopiaUI.exe
  <parent>\repositories\

In portable mode, repositories will have 'cache' and 'logs' nested
in it.
2020-04-04 17:18:37 -07:00
Jarek Kowalski
e0984641ba improved logging for sign.js 2020-03-31 21:21:32 -07:00
Jarek Kowalski
6ad927384b travis: setup tools to support signing Windows binaries 2020-03-31 19:41:55 -07:00
badrelmers
73e21e0129 correct a typo in kopia UI
solve https://github.com/kopia/kopia/issues/366
2020-03-19 07:44:32 -07:00
Jarek Kowalski
272b657508 upgrade all dependencies to latest versions 2020-03-15 23:40:58 -07:00
Jarek Kowalski
a8ef0b2b79 kopia-ui: fixed auto-update 2020-03-14 18:56:32 -07:00
Jarek Kowalski
6fa7da5a5f app: use KOPIA_VERSION computed in tools.mk 2020-03-05 18:40:03 -08:00
Jarek Kowalski
e6fe1aa7f3 kopia-ui: misc
- launch server on a randomized port
- added support for connecting to remote server
- embedded version info in the app and htmlui
2020-03-05 18:40:03 -08:00
Jarek Kowalski
38862a7bf9 kopia-ui: fixed redirection to /repo not working (404) 2020-02-29 21:55:06 -08:00
Jarek Kowalski
f9359a6788 kopia-ui: disable linux snap build 2020-02-26 21:42:15 -08:00
Jarek Kowalski
9079418c7c kopia-ui: simplified handling of Mac menu bar 2020-02-26 21:42:15 -08:00
Jarek Kowalski
5412d75f79 htmlui: approaching usability by mere mortals
- added ability to make new snapshots from the UI
- added directory picker
- hide/show macOS dock icon automatically
- fixed copy/paste on Mac (apparently if you don't have 'Edit' menu
  in your app, copy/paste and many other shortcut keys simply don't
  work)
- added smart time formatting ("X minutes ago", etc.) in lists
  using 'moment' library
- added progress information to snapshots
2020-02-22 20:03:57 -08:00
Jarek Kowalski
22a00452b0 travis: added macOS app notarization 2020-02-22 18:34:34 -08:00
Jarek Kowalski
1e3100a88b Misc Kopia UI changes:
- disabled MacOS dock icon
- cleaned up MacOS menu bar
- added retry when opening main window, which is unavailable shortly
  after starting up server
- open main window on first run
- retry checking for updates every 24h
- fixed bug preventing Repository tab from finishing loading
- updated to latest package versions
2020-02-20 22:53:34 -08:00
Jarek Kowalski
dd788ce087 kopia-ui: publish snap to github 2020-02-20 00:28:22 -08:00
Jarek Kowalski
28aab656fc kopia-ui: more version number tweaks, enable snapcraft on travis 2020-02-19 23:59:03 -08:00
Jarek Kowalski
ffb31b62d1 kopia-ui: adjusted build version format 2020-02-19 23:36:28 -08:00
Jarek Kowalski
ff5abd5639 kopia-ui: don't package linux app yet, fix version numbering 2020-02-19 23:27:19 -08:00
Jarek Kowalski
98f1b26f39 kopia-ui: support for auto-update and publishing prerelease binaries from Travis to kopia/kopia-ui-release 2020-02-19 23:08:12 -08:00
Jarek Kowalski
7f79c77d73 Makefile: refactored tools to be installable on Windows with only minimal deps (make/curl/unzip)
This allows full kopia and kopia-ui to be built on Windows along with
running lint and integration tests.
2020-02-17 18:45:08 -08:00
Jarek Kowalski
758dbccd01 kopia-ui: UI/API server security (TLS & base auth)
This automatically launches Kopia CLI with new flags:

`--tls-generate-cert` which generates in-memory TLS certs for the server
and prints its fingerprint to stderr.

`--random-password` which sets up random base auth password

KopiaUI will then listen to the stderr messages and parse the cert
fingerprint and password and automatically provide them in the browser
it opens to show the UI.

This ensures that any local process (or script in a browser, etc.)
other than KopiaUI itself won't have access to the server API nor
UI because they won't know the ephemeral random password and won't
be able to intercept it due to TLS protection.
2020-02-05 17:08:47 -08:00
Jarek Kowalski
d2360327f8 travis: caching 2020-02-03 19:08:38 -08:00
Jarek Kowalski
2b07045ef9 travis: refactored release to be easier to understand
There's now one target, `travis-release` that can be run
locally, or on Travis CI except for:

- code signing (Travis on non-PR runs)
- publishing artifacts to GH releases (Travis on tagged releases)
- creating long-term repository for testing (Travis on tagged releases)
2020-02-02 22:23:08 -08:00
Jarek Kowalski
a454f04d75 travis: fixed docker variable filtering which was breaking kopia-ui 2020-02-01 16:59:13 -08:00
Jarek Kowalski
1e054554a3 kopia-ui: pass missing environment variables to Electron build on Travis 2020-02-01 13:20:18 -08:00
Jarek Kowalski
bc4f1f76fe kopia-ui: pass missing environment variables to Electron build on Travis 2020-02-01 12:55:51 -08:00
Jarek Kowalski
c3ead4bc3e Kopia UI: added desktop app shell based on Electron that runs in the tray (#183)
* app: added desktop app shell based on Electron that runs in the tray, starts a background kopia server and allows access to the UI

* icons: updated icons for the app

* htmlui: flexible containers
2020-02-01 11:58:22 -08:00