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
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
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
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
Per the comment, this is pretty straightforward: just embed it in an
iframe
Tested in Firefox and Chromium.
Fixes#795
Change-Id: Ic9620ae974a4c6c562c769db4f2c0f76f22a4041
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
Specifically:
* Update references to `camtool`, which has been renamed to just `pk`.
* Fix a couple of nearby grammar mistakes.
Change-Id: I60af05879c09d59f7136466dfc1f88d95e4eb919
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
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
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
I mistakenly added the files directly in vendor/go4.org instead of
vendor/go4.org/rollsum in 2a85cb7142
Neither running 'go run make.go', nor running 'go test' (in e.g.
pkg/schema) caught that the package was missing in vendor, because i
happened to also have the package in my GOPATH.
Iirc, before modules existed it would have been enough to run 'go run
make.go' to catch that, whereas now 'go run make.go' ran happily for me,
even with GO111MODULE=off, which is somewhat annoying.
Change-Id: I97805c924700fa159a14fd33014dabc423a4fc60
I'm getting reminders from Let's Encrypt that perkeep.org is using a
cert obtained with TLS-SNI-01, which is now deprecated.
I think this change would be enough to switch to TLS-ALPN-01.
Change tested on the staging instance at https://staging.camlistore.net
Change-Id: I19dc51171228e6598846a778aadb8497d3406446
A working importer for the Instapaper service. The importer imports
bookmarks, full text articles, and highlights. A blob item handler for
Instapaper highlight permanodes is included to show summarized highlight
content from the server UI.
Also, this CL updates github.com/garyburd.com/go-auth to rev
bca2e7f09a178fd36b034107a00e2323bca6a82e in order to get support for
XAuth requests.
Fixes#1208
Change-Id: I72e0c40b245c7eec4a44bb475fcaa96a0ee9a1c5
The javascript code was taking into account the OmitAuthToken signal
that there should be no auth, but it hadn't been done in the gopherjs
code yet as well.
Fixes#1221
Change-Id: I3eda0cc12c99664739d6073cc1aeba1aeed8a88a