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]

Reply via email to