Commit Graph

7295 Commits

Author SHA1 Message Date
aviau 678a9f910b
deps.go: add build flag
We never really want to build this, but it makes `go get ./...`
complain because it imports programs (and not modules), so add
a build flag.

FYI this is known as the "tools.go" pattern, as discussed here:
 - https://github.com/golang/go/issues/25922
2021-01-14 12:39:23 -05:00
aviau 7730b62281
Merge branch 'fix-windows' of https://github.com/willnorris/perkeep into willnorris-fix-windows
- Revert the permissions verifications on Windows, we can
  implement it in some other way later.
2021-01-14 11:34:57 -05:00
aviau 1700b5be5f downloadbutton: migrate from goui to JS 2021-01-14 09:51:42 -05:00
aviau 39bc87d273 cmd/pk/list: filter by type 2021-01-14 09:41:02 -05:00
aviau b66d1d9a38 server-config: packRelated doesn't need blobPath 2021-01-14 09:39:59 -05:00
Alexandre Viau abb21e3312 storage-examples: grant permissions on the bucket 2021-01-14 09:39:01 -05:00
aviau 966a271e98 docs: standardize on <=1MB schema blobs 2021-01-14 09:20:39 -05:00
aviau e21691a42b bytes.md: document size-only parts 2021-01-14 09:20:06 -05:00
aviau b2983caad4 encrypt.go: check keyFile permissions 2021-01-14 09:12:57 -05:00
Alexandre Viau a3190be204
Merge pull request #1349 from aviau/aviau/goplusjs
move to goplusjs
2021-01-14 09:00:48 -05:00
aviau 3843432ec6
nuke vendor/ 2021-01-13 21:56:37 -05:00
aviau 5d8a9e87f7
gopherjs -> goplusjs
github.com/gopherjs/gopherjs no longer supports new Go versions and
doing a full perkeep build currently requires go 1.12.

This moves to github.com/goplusjs/gopherjs which supports new Go
version. Building perkeep no longer requires go 1.12.

- Support building webui with just go 1.15
- Before this PR, reactGen was built from the vendor directory.
  Now, it is built with gomodules. We can't run it with `go run`
  because it breaks myitcv.io/gogenerate which they use to determine
  what file to compile.
- go.mod: require go 1.15
- goplusjs/gopherjs is built and ran with gomodules. We run it
  with go run github.com/goplusjs/gopherjs
- Add test-tidy workflow to ensure that go.mod can't drift.
- We use go run -mod=readonly so packages are not sneakily updated.
  Any update in go.mod should be voluntary.
2021-01-13 21:55:21 -05:00
aviau 5e87fb05e9 blobserver/encrypt: document low-level config 2021-01-12 12:47:40 -08:00
aviau aa0ef5a550 index: based on sorted.KeyValue 2021-01-11 15:07:20 -08:00
Niklas Merz 4b2ae52842 go.mod: update "x/crypto" to support latest acme API
Let's encrypt doesn't work with the old acme API anymore. The latest version of "x/crypto" fixes that.

Error messages:
acme/autocert: missing certificate
403 urn:acme:error:unauthorized: Error creating new authz :: Validations for new domains are disabled in the V1 API (https://community.letsencrypt.org/t/end-of-life-plan-for-acmev1/88430)

See:https://go-review.googlesource.com/c/crypto/+/200638
2020-12-05 19:21:43 -08:00
mpl b470765c15 website: make 0.11 visible
Fixes #1307
2020-11-20 17:00:01 +01:00
mpl 0e2a6c0256 0.11 release notes 2020-11-13 14:49:07 +01:00
mpl cb96bb8bd3
all: update to Go 1.15 2020-11-02 14:44:01 +01:00
Will Norris 8a4e816811 blobserver: use MkdirAll from sftp library
the perkeep MkdirAll never worked on Windows anyway, since it was calling
path.Dir rather than filepath.Dir.  But now that the sftp client supports
MkdirAll, let's use it.
2020-09-24 16:31:40 -07:00
Will Norris 8d01945f09 tests: further exclude windows from symlink tests
os.Symlink returns a nil error in some cases (when permissions allow), but
still does not behave as expected.  Skip Windows altogether from some of these
tests for the time being.
2020-09-24 16:31:40 -07:00
Will Norris a53d9d364e test: use filepath.Join for filenames 2020-09-24 16:31:40 -07:00
Will Norris 73f29186a0 update dependencies
update github.com/bradfitz/latlong in order to include
https://github.com/bradfitz/latlong/commit/afb97c1f9 which updates the
import path of freetype-go.  The old path no longer exists and was
causing problems with go mod.

update github.com/pkg/sftp to include
https://github.com/pkg/sftp/pull/382 which resolves CI test failures for
Windows.
2020-09-24 16:31:39 -07:00
Will Norris 37c1998f27 add windows implementation for cleanSysStat
this allows pk-put's havecache to properly function on Windows, fixing
the camput integration test failure.
2020-09-24 16:31:39 -07:00
Will Norris f2e7add71b
Ci: move continuous integration tests to GitHub Actions
And remove the Travis CI ones.
2020-09-18 00:44:58 +02:00
mpl 53b60fb65a
misc: update release tools
Various fixes to bring them up to date, and to make them work on MacOS.
2020-09-16 14:54:40 +02:00
mpl 16af01dfcc
doc/todo: fix link, now on github
Fixes #1298
2020-09-15 10:43:32 +02:00
Niklas Merz dab9bb3419
doc: remove cloud launcher mentions
Cloud launcher was removed in c9f78d02ad

Signed-off-by: Niklas Merz <niklasmerz@linux.com>
2020-09-15 10:41:15 +02:00
Chirag Sukhala 7321b90b6e
doc/readme: Updated Link (#1310)
#Issue: 
The link pointing to "camlistore.org" will redirect back to "perkeep.org" anyways, so updated with relative link.
#Change:
Updated "Contributing" link from "https://camlistore.org/doc/contributing" to "/code#contributing".
2020-07-01 16:06:24 +02:00
Omer Davutoglu c2e31370dd
doc: fix terms.md link (#1306) 2020-03-11 14:29:25 +01:00
Attila Tajti 9a1336816a app/publisher/js: support for sha224 hashes (#1293)
Fixes #1292
2019-12-27 21:59:25 +01:00
mpl 67333e3a9c
make.go: add -offline flag (#1290)
Also update to Go1.13.5

Fixes #1286
2019-12-20 11:47:20 +01:00
Ian Denhardt d9e34b748c Web UI: viewer for plain text files
This just generalizes PdfDetail to also recognize text/plain. It has
been renamed BrowserViewDetail to reflect its more general nature.

Adding more formats will now be trivial: just add entries to the
`supportedMimeTypes` array.
2019-12-03 16:22:03 +01:00
mpl d342b0e266
make.go: upgrade to go 1.13 (#1278)
Also modify sftp's TempFile file opening flags (in particular drop
O_APPEND) so they're not incompatible with WriteAt.

Fixes #1280
2019-09-26 20:45:43 +02:00
Brad Fitzpatrick c9f78d02ad Disable the Cloud Launcher. Too expensive for how underused (3 people?) it is. 2019-07-29 11:15:21 -07:00
Ian Denhardt 6db9cb8a08 docs: remove references to SPDY (#1269)
* docs: remove references to SPDY, change them to HTTP/2.0

Co-Authored-By: mpl <mathieu.lonjaret@gmail.com>
2019-07-11 01:29:46 +02:00
Ian Denhardt 8e630505c8 pkg/sorted: add read transactions.
This is in relation to #580; we will need something like it to hook
Bleve up to the index. Currently only the SQL backends are implemented;
the rest is still TODO.

This also updates the version of the postgres library that we're using;
the old one didn't support setting the isolation level in TxOptions.

Change-Id: I14fdf74832e088d164b757417bfbb500a752d216
2019-06-24 10:06:28 -07:00
mpl 39fde2e25b
Merge pull request #1267 from zenhack/diskpacked-docs
docs/server-config: mention diskpacked perf trade-off.
2019-06-24 00:21:30 +02:00
Ian Denhardt 6e34797d02 docs/server-config: mention diskpacked perf trade-off.
This hadn't been clear to me as a user getting started.
2019-06-22 01:06:40 -04:00
mpl 1625019561
Merge pull request #1260 from omarchehab98/uiaudio
server/perkeepd/ui: Implement blob audio
2019-06-16 01:13:32 +02:00
Omar Chehab 5c043c6311 server/perkeepd/ui: Fix blob item video play button styling
Closes #776

Change-Id: I85c17f5478b476c06de611f759f618e608120976
2019-06-12 09:53:06 -07:00
Omar Chehab 99f2e2dcb4 server/perkeepd/ui: Implement blob detail audio
Summary:

Implement audio player using web ui.

Add new blob aspect for audio files.

Test Plan:

1. Upload browser compatible audio to perkeep
2. Navigate to web UI
3. Open the audio blob's detail page
4. Play audio

Before:

Audio cannot be played using web ui

After:

Compatible audio can be played and paused from the detail page

Audio title and artist are shown if available

Issue: #202
Change-Id: Icd450aaa16e9e622a677c23f4f1f699784453dbc
2019-06-11 19:21:12 -07:00
Omar Chehab a838f6e15a server/perkeepd/ui: Implement blob item audio
Summary:

Implement audio preview using web ui.

Add new blob handler for audio files.

Test Plan:

1. Upload browser compatible audio to perkeep
2. Navigate to web UI
3. Play audio without leaving perkeep ui
4. Pause audio

Before:

Audio cannot be played using web ui

After:

Compatible audio can be visually identified by the volume icon instead of the default file icon.

Hovering over the audio blob shows a play button.

Click the play button to start playing the audio.

Click the pause button to stop playing the audio.

Issue: #202

Change-Id: Iab8ee4a339f44178992e11e02232d480cd534b3e
2019-06-11 19:21:04 -07:00
mpl 249ea1f220 test/dockertest: allow the <repository:tag> syntax for images 2019-06-06 15:03:15 -07:00
Brad Fitzpatrick 41f5d4a190 Stop using Gerrit (googlesource.com), switch to just GitHub & PRs
Discussed at https://groups.google.com/d/msg/perkeep/terI3u9hfqg/-TWI0dOyCQAJ
2019-06-05 09:50:11 -07:00
Brad Fitzpatrick 8e42f0ff3b Merge "blobserver/google/cloudstorage: allow service accounts w/o GCE" 2019-06-04 17:36:50 +00:00
Ian Lewis b94dc9149c blobserver/google/cloudstorage: allow service accounts w/o GCE
This change allows the use of the default GCS client when not on GCE. It
simply removes the GCE metadata server check. GCS users should set the
GOOGLE_APPLICATION_CREDENTIALS environment variable to point to a
service account JSON key.

Change-Id: I49d68c17f535185b96196309bab926e810d4fd43
2019-06-04 17:36:40 +00:00
Brad Fitzpatrick 236c56cbc9 Merge "Skip app.TestQuit on windows as windows does not support interrupt." 2019-06-04 17:10:13 +00:00
Brad Fitzpatrick fbcc3ee30e Merge "Reduce dependency on OS in determining if file is video." 2019-06-04 17:10:08 +00:00
mpl 9417938aa3 vendor: update a bunch of dependencies, and clean some things up
This change:

1) makes perkeep.org/server/perkeepd/ui/goui a module on its own, so that it
gets ignored by go mod with respect to perkeep.org. Because there's no reason it
should appear in perkeep.org/go.mod, as it is only used by gopherjs to rebuild
the web UI code.
2) updates a few of our dependencies to keep up with upstream changes (go get
-u, go mod tidy, go mod vendor).
3) readds manually (since go mod vendor removes them)
vendor/github.com/gopherjs/gopherjs (and its deps) as well as vendor/myitcv.io
because they are needed when one wants to rebuild the web UI.

As a result I think we can now drop dep, so it is done in this change as
well.

Change-Id: I155819163e15e214a6ba44bab2c19ae171d83d1b
2019-05-30 02:03:30 +02:00
Nick Loadholtes e01b0c2067 doc/uses.md: Correcting link to pk-put
Fixes #1258

Change-Id: I03250242b6d87d50bfe948965e0051611e5bfddc
2019-05-06 22:30:51 -04:00