<feed xmlns='http://www.w3.org/2005/Atom'>
<title>subsurface.git, branch v4.9.6</title>
<subtitle>forked from https://github.com/subsurface/subsurface</subtitle>
<id>https://git.tsegers.com/subsurface.git/atom?h=v4.9.6</id>
<link rel='self' href='https://git.tsegers.com/subsurface.git/atom?h=v4.9.6'/>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/'/>
<updated>2020-06-20T17:52:32Z</updated>
<entry>
<title>pull latest translations from Transifex</title>
<updated>2020-06-20T17:52:32Z</updated>
<author>
<name>Dirk Hohndel</name>
<email>dirk@hohndel.org</email>
</author>
<published>2020-06-20T17:52:32Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=edc1499e9153907c2901611516a0592db3f56e56'/>
<id>urn:sha1:edc1499e9153907c2901611516a0592db3f56e56</id>
<content type='text'>
Signed-off-by: Dirk Hohndel &lt;dirk@hohndel.org&gt;
</content>
</entry>
<entry>
<title>update README and ReleaseNotes for 4.9,6</title>
<updated>2020-06-20T17:51:48Z</updated>
<author>
<name>Dirk Hohndel</name>
<email>dirk@hohndel.org</email>
</author>
<published>2020-06-20T17:51:48Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=2f460277f4276e5de953dd2d03319cb653527999'/>
<id>urn:sha1:2f460277f4276e5de953dd2d03319cb653527999</id>
<content type='text'>
Signed-off-by: Dirk Hohndel &lt;dirk@hohndel.org&gt;
</content>
</entry>
<entry>
<title>core: fix compile issue with older g++</title>
<updated>2020-06-18T16:05:13Z</updated>
<author>
<name>Dirk Hohndel</name>
<email>dirk@hohndel.org</email>
</author>
<published>2020-06-18T00:02:46Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=ce1582581b881e67626fc6081def04533c9a9d37'/>
<id>urn:sha1:ce1582581b881e67626fc6081def04533c9a9d37</id>
<content type='text'>
Having the full list of all members in the exact order should be enough to get
g++ to accept the named initializers.

Signed-off-by: Dirk Hohndel &lt;dirk@hohndel.org&gt;
</content>
</entry>
<entry>
<title>core: fix libdivecomputer dc_custom callbacks structures</title>
<updated>2020-06-18T16:05:13Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2020-06-17T19:00:07Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=7f0ee3d8e2ae99ae21305c647cd501565846cf8f'/>
<id>urn:sha1:7f0ee3d8e2ae99ae21305c647cd501565846cf8f</id>
<content type='text'>
The last time those changed, we forgot to update serial_ftdi. In that change
set_latency had been removed from libdivecomputer and poll and ioctl had been
added. This caused the callbacks to no longer be aligned correctly and the
functions were called with the wrong arguments through the wrong function
pointers, leading to crashes.

Instead of the fragile assumptions about order and type of function pointers,
use named initializers. And while we are at it, fix that for the bluetooth
implementation as well.

Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: Dirk Hohndel &lt;dirk@hohndel.org&gt;
</content>
</entry>
<entry>
<title>cleanup: remove indirection when passing arguments to parser functions</title>
<updated>2020-06-16T15:20:53Z</updated>
<author>
<name>Berthold Stoeger</name>
<email>bstoeger@mail.tuwien.ac.at</email>
</author>
<published>2020-06-15T21:13:29Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=14c37ba7337da108f23dd8cba98c2a9d52bd4099'/>
<id>urn:sha1:14c37ba7337da108f23dd8cba98c2a9d52bd4099</id>
<content type='text'>
For unknown reasons, the dive site and trip to be parsed into were
passed as pointers to pointers. A simple pointer seems to be enough,
since the object is not allocated by the function.

Signed-off-by: Berthold Stoeger &lt;bstoeger@mail.tuwien.ac.at&gt;
</content>
</entry>
<entry>
<title>Update CHANGELOG</title>
<updated>2020-06-14T20:35:33Z</updated>
<author>
<name>Dirk Hohndel</name>
<email>dirk@hohndel.org</email>
</author>
<published>2020-06-13T20:59:26Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=b01361170770a1cd263c57e856437e5f22c794df'/>
<id>urn:sha1:b01361170770a1cd263c57e856437e5f22c794df</id>
<content type='text'>
Signed-off-by: Dirk Hohndel &lt;dirk@hohndel.org&gt;
</content>
</entry>
<entry>
<title>mobile: show sync state in menu plate</title>
<updated>2020-06-14T20:35:33Z</updated>
<author>
<name>Dirk Hohndel</name>
<email>dirk@hohndel.org</email>
</author>
<published>2020-06-13T20:58:32Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=5ff08598ca252b5caf05d3ad83b31ef21929708c'/>
<id>urn:sha1:5ff08598ca252b5caf05d3ad83b31ef21929708c</id>
<content type='text'>
This seems like the easiest way to show the state without disrupting the UI
elsewhere. Directly below the email address used for cloud storage.

Signed-off-by: Dirk Hohndel &lt;dirk@hohndel.org&gt;
</content>
</entry>
<entry>
<title>mobile: add status text for cloud sync state</title>
<updated>2020-06-14T20:35:33Z</updated>
<author>
<name>Dirk Hohndel</name>
<email>dirk@hohndel.org</email>
</author>
<published>2020-06-13T20:52:04Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=3a409c51ea2aaec5077e6ba4367390fbd286145b'/>
<id>urn:sha1:3a409c51ea2aaec5077e6ba4367390fbd286145b</id>
<content type='text'>
This allows the mobile UI to reflect the three states that the dive list can be
in:
- changes that haven't been written to local storage
- there potentially are changes in local storage that were not synced with the cloud
- dive list is in sync with cloud storage

The last state could be misleading if the user access the cloud from a
different device and makes changes to the cloud storage from there, but from
the point of view of this device, the states are consistent.

Signed-off-by: Dirk Hohndel &lt;dirk@hohndel.org&gt;
</content>
</entry>
<entry>
<title>mobile: track if we have changes that aren't synced to cloud</title>
<updated>2020-06-14T20:35:33Z</updated>
<author>
<name>Dirk Hohndel</name>
<email>dirk@hohndel.org</email>
</author>
<published>2020-06-13T20:45:06Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=01de67a5a6f62f0c7d0b5b381c053e6db16f4e96'/>
<id>urn:sha1:01de67a5a6f62f0c7d0b5b381c053e6db16f4e96</id>
<content type='text'>
If we haven't connected at all to the cloud server we assume that there are
local changes. And whenever we save changes only locally, we also set that
flag.

Signed-off-by: Dirk Hohndel &lt;dirk@hohndel.org&gt;
</content>
</entry>
<entry>
<title>git-storage: add global flag to indicate successful cloud sync</title>
<updated>2020-06-14T20:35:33Z</updated>
<author>
<name>Dirk Hohndel</name>
<email>dirk@hohndel.org</email>
</author>
<published>2020-06-13T20:41:09Z</published>
<link rel='alternate' type='text/html' href='https://git.tsegers.com/subsurface.git/commit/?id=8b478a969dbd10b3f07affd2f614886d27211c2a'/>
<id>urn:sha1:8b478a969dbd10b3f07affd2f614886d27211c2a</id>
<content type='text'>
This may seem like a bit heavy handed as it adds more global state, but given
the number of ways in which attempts to sync with the cloud can fail it seems
much more reliable to claim success in the spots where we actually know that we
have successfully synced with the remote server. Transporting that information
back through the various call chains turned out to be very disruptive and ugly,
so I went with global state instead.

Whenever we access cloud storage (or any git repo), we always first check if it
actually is a git repo by calling is_git_repository() - so this is the perfect
spot to initialize the variable to false.

And there are only two spots where we either clone the remote repo
(create_local_repo()) or update the remote with the (potentially merged) local
changes (check_remote_status()). So those are the two places where we set the
variable to true.

Signed-off-by: Dirk Hohndel &lt;dirk@hohndel.org&gt;
</content>
</entry>
</feed>
