To rev 99ff426eb706cffe92ff3d058e168b278cabf7c7
To support the new default authentication plugin in MySQL 8.
Interestingly, the update also revealed an error unseen so far.
Each of the pkg/sorted/mysql test uses a docker container. If we did not
kill the container at the end of a test, docker would use a new,
different, IP address for each mysql container (which would dodge the
error I'm about to mention). But since we do clean up and remove the
container for each test, then each test gets a container with the same
(first in the range) IP address, because docker "thinks" everything
about the previous container was properly removed.
However, it turns out that since we had forgotten to tell the client
code to close the connection to the mysql server, then the server-side
IP:port is still seen as occupied (even though the server is gone). And
since the second (or nth) test client tries connecting to the same
IP:port, the connection fails.
TL;DR: we also need to close the connection to the DB on the client
side, even though the server in container goes away after each test.
Fixes#1114
Change-Id: I76ce4ac2ee7703f92a9431116cd82ab75da541f7
Tagging images depending on the selected arch allows us to preserve
docker caching even when switching arches.
Also, since the first build stage was not tagged, it was considered as
dangling, so it was getting removed by 'docker rmi'. So we now tag it as
well to keep it cached.
Change-Id: I0c36c625e7bd459192f97052d26d76084a03bea7
As well as the rectangle which was drawn to show the area corresponding
to the requested location.
The initial zoom is now only based on the location of the search
results.
As (the intended) side-effect, geocoding requests are not needed
anymore, since the map aspect does not need to know the coordinates of a
loc: request anymore. Which allowed to trim down the
server/perkeepd/ui/goui/geo pkg.
Updates #1115
Change-Id: I22983661fd482b652d8bf34a63fa88d7b7695d5e
vendor: add github.com/aws/aws-sdk-go at rev bc3f534c19ffdf835e524e11f0f825b3eaf541c3
This changes all uses of the s3 client to be the official aws-sdk-go. As
such, it also deletes the previous client maintained in internal.
There are a few notable changes that come with this:
1. An 'aws_region' key is added to the low-level config. The
'get-bucket-location' call is used to identify the correct region
rather than using the redirect returned to determine it.
2. Deleting multiple objects at once is much faster (batches of up to
1000 vs 1 at a time).
3. Retriable errors are retried automatically (see #1184).
4. Newer APIs are used for some operations (v2 / batch apis).
An unfortunate result of 4 is that this is technically a backwards
incompatible change. An IAM policy which used to be sufficient for
perkeep may no longer permit some of the new api calls (even if they're
not doing anything different really).
Fixes#1184, #911
Change-Id: I077fe88def18b7e9a14267820773245e7003634c
Calling 'GetPermanodesWithAttr', as currently written, will return an
empty list for any unindexed parameters.
Rather than always returning an empty list if the user asks for a
unindexed attribute, error out.
Also add documentation of this potential foot-gun for users of the
client.
Change-Id: Iadc1b5a00aa709584affb89a1397e82aaffb692f
to c126467f60eb25f8f27e5a981f32a87e3965053f
For acme tls-alpn-01 support.
And enable it in perkeepd.
Remove http-01 challenge support.
Fixes#1078 (by making it obsolote)
Change-Id: I45220b6269024a2ff7a181f69cf708869705dca7
to bf2c84553c7827a1cb6cecf19424fdb93b887d5b.
This is required per the change mentioned in
https://github.com/myitcv/react/issues/116#issuecomment-405631245.
Without this change, 'dep ensure' can't be run, unless the upstream
myitcv.io html is reverted/updated or dep fixes a few issues allowing
project-root calculations to be overridden.
Change-Id: I63ab98b8701dcea753d4e67828f47227801638be
The confusion of users regarding files VS permanodes and the related
questions comes back very often on IRC or on the mailing-lists.
Therefore, this small explanation that we can point them to should help
alleviate that confusion.
Change-Id: I02acd38754f866acb4fe91c4dfa7e93ef80ac8ea
The Mastodon importer uses the Mastodon API (implemented by Mastodon and
Pleroma) to import posts into Perkeep. The webui also now recognizes
Mastodon posts, and displays their text.
The importer does some things differently than most other Perkeep
importers, since it needs to be able to import from arbitrary URLs. It
does not share any credentials globally between all accounts, to enable
use of multiple accounts on multiple servers.
This also introduces new dependencies of go-mastodon and linkheader
(both under the MIT license).
Resolves#1183
Change-Id: I9a532bbd5720992482fc758f14286c11d5bf6ef0
The s3 blobserver's endpoint handling is complex enough it makes sense
to record some of its constraints in a unit test.
Change-Id: Ife1637a33ba5c3265b3fdfd75307d7784e7c9524
We were still pushing to the camlistore repository. That worked, thanks to the
redirect, but we might as well push directly to the correct one now.
Change-Id: Ide4668ee587568cba928cb360289000aa106e955
-busy/munching pudgy is replaced with a "dancing" keepy
-sad pudgy replaced by a sad keepy
-everywhere else is normal keepy (which is one sprite of the dancing
keepy animation)
-we still need an "interested" keepy for when the user is about to drop
something on the d&d area
-glitch embedy directory has not been removed yet, to keep the pudgy
animations technique as a reference for future work.
We also need to update the animation in the GCE launcher.
Updates #1177
Change-Id: I95fe53cb51f93b8f498c8f026eddc07285c20db7
In 877eafa49b , pkg/server started
importing pkg/client , since the server has to be able to fetch blobs
from a share claim of another server. This introduced a circular
dependency in tests, as pkg/client/upload_test.go instantiates a server.
As the test uses both a client and a server, and tests uploading between
the two, it seems fitting to move it to pkg/test/integration, which
breaks the circular dep.
Change-Id: I2458ffd72912ff6e9c1a0f67e187d54cc895c2e9
It happens somewhat regularly that pk-web stops syncing commits to
github, and sending e-mails about it, because any docker run process
seems to get stucked. Invariably, restarting the docker service
(systemctl restart docker), seems to fix the problem.
This change adds a timeout mechanism for functions running a docker run
exec, so that after the timeout, we get notified by e-mail about what
function is blocked.
Change-Id: I16bd4f5abc7864ceb176a0e69c5300165194b18f
This change:
-on startup, makes perkeepd log instruction about the Google geocoding
key, if it is not found in Perkeep configuration directory.
-in the web UI, makes search query errors from the search session show
up in a dialog, instead of just being logged in the javascript console.
Among other things, it will allow users to be more readily informed
that their loc: queries are failing because they don't have a geocode
key setup.
According to the Google geocoding team, we should not share a geocoding
API key (too risky/expensive), and using an API key is the only way to
make geocoding requests. So we have to let users deal with it themselves
unfortunately.
Updates #1115Fixes#1116
Change-Id: I461e7f06a04ffd874678ab8233185999024cb3d8
Older git versions (prior to 2.13 / commit
859b7f1d0e)
required a more explicit pattern.
This also reorders the gofmt one to put the positive before the negative
match for consistency.
Fixes#1191
Change-Id: Ie74e3c3d434f667d76d5ebbb76811b4f304800c8
This change adds an 'Import share' entry in the main menu bar. This
entry creates a dialog that allows the user to enter the URL of a share
claim (the "shareURL" in the following).
That shareURL is sent to the server, which takes care of importing all
the blobs transitively reachable (directory children, and files
contents) through the share claim.
The web UI also keeps on polling the server to update the dialog on the
state of the importing process.
To handle the posted shareURL, and the polling, the server now has a new
HTTP handler: the shareImporter, installed at /ui/importshare.
In a future CL, another approach would be to integrate this handler as
yet another importer. But it would probably be better to do so once we have
a way for importers to report on their progress at any time. For now this
importer has its own dialog to do so, similar to the one for uploads.
Change-Id: I94cd03f834d7d1e9f4ec5c016ffdf16d911856c5
The storage test for s3 have been broken since
https://perkeep-review.googlesource.com/c/perkeep/+/15846.
The introduction of a proxycache made a type assertion in the test
panic, and thus the tests reliably failed when run.
The simplest fix for now is to get them back to their previous passing
state by disabling the proxycache for tests.
Change-Id: Ib75b5eabd36decebd8785ba50d4b979a7a0db653