On 2026-01-28 09:01, Dirk Hohndel via subsurface wrote:
On Jan 27, 2026, at 13:10, Michael Keller <[email protected]> wrote:
Of course. The current state was just pushed to the webUI branch.
It's actually been there from the very start of this adventure :)
Nice! I like the idea of repurposing the existing application codebase
in the form of a CLI. But I think we'll also have to make sure we have
good test coverage that is run in an automated way to ensure that
changes to the application do not inadvertently break the web UI.
No argument there. Writing tests for this is actually not all that
hard, I think.
And I think I am indeed currently in the process of Inadvertently
breaking it. :)
Not seriously, just some minor but necessary refactoring of the start up
sequence to ensure things like locale and font are always properly
initialised before other things start to use them and commit to values
that we may be about to change.
So if there's a new main() using much the same sequence as the existing
ones, which is looks like there is, I'll need to tweak it once this is
merged and I rebase my new work on yours.
And just to be clear - I assume this means that export-html.cpp is going
to go away completely once this is ready for production? I had been
updating its main(), but if it's going to die very soon, I'll just
ignore it now.
As for organisation, I am not sure if we'd want to move the flask app
and the web UI styling to a separate repository that consumes the
subsurface repository as a submodule or by checking it out, in a
similar way to how this is already done for our website in
https://github.com/subsurface/new-website/ (or maybe even combine the
two?).
Anything that isn't in the main repo is far more likely to go stale and
bitrot.
Also, please note that the webUI has nothing to do with the website, it
would
be the completely wrong place for it. The website is NOT hosted on the
cloud
servers - these are completely different properties and I really don't
want to
mix them. Life is hard enough as it is.
So while I'm of course open to people saying "this is different", I
would claim
that this is simply a third UI. We have the QtWidgets UI (desktop), the
QML
UI (mobile), and now the HTML UI that for technical reasons uses the
CLI
to integrate with the Qt/C++ core of Subsurface.
I really like this, and agree with that interpretation. When I first
started
using the planner, and really wished I could have it available when
traveling
without always carting a laptop around, one of the options I pondered
was
making a HTML UI for it - and this opens up some interesting new
possibilities
because once you have remote access to an instance, you also have the
option
of collaborative access to an instance.
So you could do things like plan a dive, then have everyone on the team
review
it and be able to tweak it, without everyone needing to manually enter
the same
data into their own devices or to crowd around a single device looking
over
someone's shoulder.
Or share what you logged about a set of dives on a trip (especially
things like
site names and location pins) with the other people who where there on
the trip.
Which I guess might make one of my first pie in the sky wishlist things
a simple
way to transfer just a selected group of dives from one subsurface
instance to
another. So I could spin up a 'group instance' for a given trip and
transfer
things to and from it from my 'primary' device.
Exciting stuff! Good Work :)
Ron
_______________________________________________
subsurface mailing list -- [email protected]
To unsubscribe send an email to [email protected]