Commit Graph

7274 Commits

Author SHA1 Message Date
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 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
Mathieu Lonjaret fdf97e5f0f Merge "C+A: add Ian Denhardt (Individual CLA)" 2019-05-05 01:49:03 +00:00
Mathieu Lonjaret f21cd8eb49 Merge "Web UI: Render PDFs in detail view." 2019-05-04 13:01:05 +00:00
Ian Denhardt 9601cf75f8 Web UI: Render PDFs in detail view.
Per the comment, this is pretty straightforward: just embed it in an
iframe

Tested in Firefox and Chromium.

Fixes #795

Change-Id: Ic9620ae974a4c6c562c769db4f2c0f76f22a4041
2019-05-04 01:27:21 -04:00
Mathieu Lonjaret e28bbbd158 Merge "app/publisher/js: make it ignored by tests, with build tag" 2019-05-01 12:04:53 +00:00
Ian Denhardt 0d32c4c002 C+A: add Ian Denhardt (Individual CLA)
Change-Id: Ie2dec6d788ed8fe8edda17f6fb31a253b0862e42
2019-04-30 20:23:22 -04:00
Mathieu Lonjaret cb12c9ca72 Merge "Fix some bitrot & grammar in CONTRIBUTING.md" 2019-04-30 21:57:52 +00:00
mpl 40657f8271 app/publisher/js: make it ignored by tests, with build tag
Since we do not systematically regenerate app/publisher/js/zsearch.go
anymore (because it's part of building the web UI process),
go test ./app/publisher/js
would fail. But we want go test ./... to succeed, so we add build tags
in ./app/publisher/js so that it gets ignored by default.

Change-Id: Ia77689ed937411a628e903189433b70be659e941
2019-04-30 23:50:40 +02:00
Ian Denhardt 64efc6e21b Fix some bitrot & grammar in CONTRIBUTING.md
Specifically:

* Update references to `camtool`, which has been renamed to just `pk`.
* Fix a couple of nearby grammar mistakes.

Change-Id: I60af05879c09d59f7136466dfc1f88d95e4eb919
2019-04-30 13:09:35 -04:00
Mathieu Lonjaret b4c7be3210 Merge "pkg/test: fix usage of make.go" 2019-04-30 11:59:53 +00:00
mpl 0ce51e6618 pkg/test: fix usage of make.go
Because --skip_gopherjs does not exist anymore

Change-Id: I537f9bc2efacd00fc09a7d3e3d72be85154e8684
2019-04-30 13:58:26 +02:00
mpl d728a6abce Dockerfile: bump Go to 1.12.4
Change-Id: I2a9a9edad1b7a991f8cb02c77b9114e15e4a3ebe
2019-04-30 13:43:56 +02:00
mpl 9ed22c3f39 make.go: fix paths for windows
And fix initial stat argument

Change-Id: I35a0aeb0756e283462437beee18a31d860b96dec
2019-04-30 10:13:43 +02:00
mpl 84771358d3 Travis: bump Go to 1.12
Change-Id: Icfcd729420822bb5cb57a3462baf24f5e322be5c
2019-04-30 09:53:28 +02:00
mpl f127d47ec2 make.go: bump Go version to Go 1.12
And vendor in a compatible GopherJS version
(bd77b112433e999447bf4bc599e36214ba494a99).

In addition, since GopherJS:

1) Still does not support Go modules for now
2) Seems to be dying (https://github.com/gopherjs/gopherjs/issues/894)
3) Has been hard to maintain for Perkeep

we decided to gradually move away from it, and to remove it from go.mod. As a
result, in this PR, we repurposed the skipGopherJS option into buildWebUI,
which, in combination with the GO111MODULE env value gives the 4 following
possible behaviours (GO111MODULE=auto omitted on purpose).

1) GO111MODULE=off, -buildWebUI=true:
-old behaviour, i.e. use vendored in gopherjs to rebuild (gophejs itself and then)
the web UI
2) GO111MODULE=off, -buildWebUI=false:
-fetch the JS code for the web UI and the publisher from the Google Cloud bucket
of the Perkeep project. That code was previously built by the scenario 1) and
uploaded there.
3) GO111MODULE=on, -buildWebUI=false:
-same as 2)
4) GO111MODULE=on, -buildWebUI=true:
-forces GO111MODULE=off behind the scenes when rebuilding GopherJS and the
web UI code with it.

Finally, we also modified the checks regarding where we are (i.e.
whether in $GOPATH/src/perkeep.org). Because even though go modules will
in theory allow to build from anywhere, since we disable modules when
the Web UI is rebuilt, we can therefore only do it from within the
GOPATH.

Change-Id: Iee66d7ee882c6d408b5996fd26178bcd7426e3f8
2019-04-28 23:57:14 +02:00
U-GINA-PC\gina 81a528d2c0 Skip app.TestQuit on windows as windows does not support interrupt.
Change-Id: I4ff0858ff312375dd697643a90b1043504d3a92b
2019-04-03 09:08:23 -07:00
U-GINA-PC\gina 8e56f1b305 Reduce dependency on OS in determining if file is video.
Introduce magic.IsVideoFileName, add test for it.

Fixes this error:

--- FAIL: TestIsVideo (0.08s)
    search_test.go:41: IsVideo failed video=true filename=movie.mkv mimetype=application/octet-stream
FAIL
FAIL	perkeep.org/pkg/types/camtypes	0.399s

Discussion about this problem is here:
https://groups.google.com/forum/#!topic/perkeep/Wdb_0Os6ZkY

Change-Id: I14f54bd60c9495d6aa665036b83c813673608ad7
2019-04-02 09:56:09 -07:00
Brad Fitzpatrick 7c03aef51f internal/magic: add mkv as a known video extension
Change-Id: Ifb868a26e7f1f6a9a5603b9ffb791282a19a34b1
2019-03-28 15:13:02 -07:00
Mathieu Lonjaret d7cbec361c Merge "website: record version with buildinfo" 2019-03-28 12:51:29 +00:00
mpl 52e4df095d website: record version with buildinfo
So now when we get the e-mail on a website restart, we'll actually
know what version of it is running.

Also,
make.go: skip gopherjs checks when we only build the website or
camnetdns.

Change-Id: I3f6985afc8931fe478cc4f7caba2b1fc31bc815b
2019-03-27 23:09:54 +01:00
U-GINA-PC\gina 8f087578df Update documented required version of go to 1.11
To bring it inline with changes from 3f24764.

Change-Id: If33740ae9fe3c539196b399b80267c0dd998640d
2019-03-26 09:50:27 -07:00
Brad Fitzpatrick 9bafcb9592 pkg/client: remove old debug print
Change-Id: I984b537f71a31eeb184a28713e27a79fdfaa69b6
2019-03-25 15:36:39 -07:00