Hi, Here I am again with Mapiah. Now I believe we have an already usable version of Mapiah. You can find it at https://github.com/rsevero/mapiah Currently there is a Linux flatpak and a web release: - Linux: flatpak install io.github.rsevero.mapiah; flatpak run io.github.rsevero.mapiah - Web: https://mapiah.org/webapp If someone is interested in creating a Windows, MacOS or another flavor of Linux package and want help, please contact me. Some interesting characteristics of Mapiah: - Visually distinguish all point, line, and area types supported by Therion. - Graphical interface for editing all supported options of points, lines, and areas supported by Therion. - Multiple mouse and keyboard pan and zoom options. - On save, original file lines are only changed if an actual edit modified them, which facilitates version control management. - Uses Therion as the source of truth regarding supported features; i.e., if Therion supports it, Mapiah should support it as well. - As a secondary effect, tries to update and detail the Therion Book so it better reflects Therion features. - Equivalent versions for Linux, Windows, MacOS, and web. - Unlimited undo/redo. - Redos available after some undos and new actions merged in the undo queue. Please try it and let me know what you think about it. Regards, Rodrigo
Sounds exciting. I’m still on Windows I’m afraid, so would like to try the web app while there is no Windows install. I’m missing something – all I get on Brave, Chrome and Edge Browsers is a blank white screen. Too simple a problem for a bug report :) How to get started? Bruce From: Therion <therion-bounces@speleo.sk> On Behalf Of Rodrigo Severo via Therion Sent: Thursday, 12 June 2025 07:06 To: therion <therion@speleo.sk> Cc: Rodrigo Severo <rsev@pm.me> Subject: [Therion] Mapiah, again Hi, Here I am again with Mapiah. Now I believe we have an already usable version of Mapiah. You can find it at https://github.com/rsevero/mapiah Currently there is a Linux flatpak and a web release: * Linux: flatpak install io.github.rsevero.mapiah; flatpak run io.github.rsevero.mapiah * Web: https://mapiah.org/webapp If someone is interested in creating a Windows, MacOS or another flavor of Linux package and want help, please contact me. Some interesting characteristics of Mapiah: * Visually distinguish all point, line, and area types supported by Therion. * Graphical interface for editing all supported options of points, lines, and areas supported by Therion. * Multiple mouse and keyboard pan and zoom options. * On save, original file lines are only changed if an actual edit modified them, which facilitates version control management. * Uses Therion as the source of truth regarding supported features; i.e., if Therion supports it, Mapiah should support it as well. * As a secondary effect, tries to update and detail the Therion Book so it better reflects Therion features. * Equivalent versions for Linux, Windows, MacOS, and web. * Unlimited undo/redo. * Redos available after some undos and new actions merged in the undo queue. Please try it and let me know what you think about it. Regards, Rodrigo
On 12/06/2025 09:11, Bruce Mutton wrote:
Sounds exciting. I’m still on Windows I’m afraid, so would like to try the web app while there is no Windows install.
I’m missing something – all I get on Brave, Chrome and Edge Browsers is a blank white screen.
Uncaught ReferenceError: _flutter is not defined at webapp/:51:7 <script src="flutter.js" defer></script> ... <script> window.addEventListener('load', function (ev) { // Download main.dart.js _flutter.loader... <--------- Error happens here _flutter does not exist in the global scope. I have not looked too far into why, because the flutter code has been minified, and is very difficult to read as a result. You do not need to minify code. Your server will support gzipping and other compression anyway, and that can do a better job than a minifier - your server sends things compressed using brotli already, which is extremely efficient at compression. The bonus is that other people will then be able to read the code and help you with it. I don't know if this is the problem, but in flutter.js, the very first line performs a sniff that is bound to go wrong in some browsers, since it thinks Google and "Edg/" are the only browser vendors using Chromium, which is absolutely not the case. There are several other vendors using Chromium, and they have a right to use their own vendor string. Sniffing like that is very bad form, since it requires browser vendors to falsify information in order to make your app work correctly. (I work for one of those browser vendors, and we are forced to pretend our product is made by Google, which it isn't. However, many other vendors quite rightfully want to identify themselves correctly.) Use object detection instead. The subsequent code uses object detection with its typeof checks - a more normal method would be: if( window.ImageDecoder ) { //do a thing that uses it.
Enviado via Proton Mail para Android -------- Mensagem original -------- Em 12/06/2025 05:59, Tarquin Wilton-Jones via Therion <therion@speleo.sk> escreveu:
On 12/06/2025 09:11, Bruce Mutton wrote:
Sounds exciting. I’m still on Windows I’m afraid, so would like to try the web app while there is no Windows install.
I’m missing something – all I get on Brave, Chrome and Edge Browsers is a blank white screen.
Uncaught ReferenceError: _flutter is not defined at webapp/:51:7
<script src="flutter.js" defer></script> ... <script> window.addEventListener('load', function (ev) { // Download main.dart.js _flutter.loader... <--------- Error happens here
_flutter does not exist in the global scope. I have not looked too far into why, because the flutter code has been minified, and is very difficult to read as a result. You do not need to minify code. Your server will support gzipping and other compression anyway, and that can do a better job than a minifier - your server sends things compressed using brotli already, which is extremely efficient at compression. The bonus is that other people will then be able to read the code and help you with it.
That is a great suggestion but I didn't ask to minify the code, it was done automatically by Flutter web release code. I will see if this is configurable.
I don't know if this is the problem, but in flutter.js, the very first line performs a sniff that is bound to go wrong in some browsers, since it thinks Google and "Edg/" are the only browser vendors using Chromium, which is absolutely not the case. There are several other vendors using Chromium, and they have a right to use their own vendor string. Sniffing like that is very bad form, since it requires browser vendors to falsify information in order to make your app work correctly. (I work for one of those browser vendors, and we are forced to pretend our product is made by Google, which it isn't. However, many other vendors quite rightfully want to identify themselves correctly.)
Use object detection instead. The subsequent code uses object detection with its typeof checks - a more normal method would be:
if( window.ImageDecoder ) { //do a thing that uses it.
Again, that's not something I did. It's Flutter magic. Flutter web apps are expected to run on a list of browsers available at https://docs.flutter.dev/platform-integration/web/faq#which-web-browsers-are... Let's see if the fixed href solves your issue too. _______________________________________________
Therion mailing list Therion@speleo.sk https://mailman.speleo.sk/listinfo/therion
Flutter web apps are expected to run on a list of browsers available at https://docs.flutter.dev/platform-integration/web/faq#which-web-browsers-are...
I had a feeling this would be their fault not yours. Aside; It strikes me as ludicrous that in this day and age, people still go with the idea that they have to support a browser make/version instead of supporting an engine. Unless there is something extremely browser centric that they are relying on (such as demanding that the browser build behavioural profiles about the user for advertising purposes, which should be internationally banned), there is absolutely no reason to "support a browser". Just follow a spec. If a browser engine fails to follow a spec, detect that difference and code for that in a branch. Don't detect one vendor and assume you can predict the future. Anyone who makes a project that "supports Chrome" but needlessly sniffs and disables itself or does something stupid in other browsers that use the same engine, should not be writing code for public consumption. They are stuck in the 1990s browser wars, and need to learn how to code properly. Vivaldi, Opera, Brave, Edge, and well over 100 other browser apps, all use Chromium. They would all work perfectly well with something like this, if they were allowed to do so. /rant
On Thursday, June 12th, 2025 at 8:51 AM, Tarquin Wilton-Jones via Therion <therion@speleo.sk> wrote:
Flutter web apps are expected to run on a list of browsers available at https://docs.flutter.dev/platform-integration/web/faq#which-web-browsers-are...
I had a feeling this would be their fault not yours.
Aside;
It strikes me as ludicrous that in this day and age, people still go with the idea that they have to support a browser make/version instead of supporting an engine. Unless there is something extremely browser centric that they are relying on (such as demanding that the browser build behavioural profiles about the user for advertising purposes, which should be internationally banned), there is absolutely no reason to "support a browser". Just follow a spec. If a browser engine fails to follow a spec, detect that difference and code for that in a branch. Don't detect one vendor and assume you can predict the future.
Anyone who makes a project that "supports Chrome" but needlessly sniffs and disables itself or does something stupid in other browsers that use the same engine, should not be writing code for public consumption. They are stuck in the 1990s browser wars, and need to learn how to code properly. Vivaldi, Opera, Brave, Edge, and well over 100 other browser apps, all use Chromium. They would all work perfectly well with something like this, if they were allowed to do so.
/rant
I feel your pain. I will see if there already is an issue open in Flutter about it and will open it otherwise.
It strikes me as ludicrous that in this day and age, people still go with the idea that they have to support a browser make/version instead of supporting an engine
Flutter is a Google project, I’m neither shocked nor surprised (only disappointed) that they do this. Flutter even got forked Flutter devs, see [1][2]. I don’t know how far the two codebases have drifted or if Flock (the fork) even supports other browsers. [1] https://getflocked.dev/blog/posts/we-are-forking-flutter-this-is-why/ [2] https://github.com/join-the-flock/flock Eoghan
On 12 Jun 2025, at 05:50, Tarquin Wilton-Jones via Therion <therion@speleo.sk> wrote:
Flutter web apps are expected to run on a list of browsers available at https://docs.flutter.dev/platform-integration/web/faq#which-web-browsers-are...
I had a feeling this would be their fault not yours.
Aside;
It strikes me as ludicrous that in this day and age, people still go with the idea that they have to support a browser make/version instead of supporting an engine. Unless there is something extremely browser centric that they are relying on (such as demanding that the browser build behavioural profiles about the user for advertising purposes, which should be internationally banned), there is absolutely no reason to "support a browser". Just follow a spec. If a browser engine fails to follow a spec, detect that difference and code for that in a branch. Don't detect one vendor and assume you can predict the future.
Anyone who makes a project that "supports Chrome" but needlessly sniffs and disables itself or does something stupid in other browsers that use the same engine, should not be writing code for public consumption. They are stuck in the 1990s browser wars, and need to learn how to code properly. Vivaldi, Opera, Brave, Edge, and well over 100 other browser apps, all use Chromium. They would all work perfectly well with something like this, if they were allowed to do so.
/rant _______________________________________________ Therion mailing list Therion@speleo.sk https://mailman.speleo.sk/listinfo/therion
I had a wrong href in the main index.html that certainly wasn't helping. I will push an updated release later today. -------- Mensagem original -------- Em 12/06/2025 05:11, Bruce Mutton escreveu:
Sounds exciting. I’m still on Windows I’m afraid, so would like to try the web app while there is no Windows install.
I’m missing something – all I get on Brave, Chrome and Edge Browsers is a blank white screen.
Too simple a problem for a bug report :)
How to get started?
Bruce
From: Therion <therion-bounces@speleo.sk> On Behalf Of Rodrigo Severo via Therion Sent: Thursday, 12 June 2025 07:06 To: therion <therion@speleo.sk> Cc: Rodrigo Severo <rsev@pm.me> Subject: [Therion] Mapiah, again
Hi,
Here I am again with Mapiah. Now I believe we have an already usable version of Mapiah. You can find it at https://github.com/rsevero/mapiah
Currently there is a Linux flatpak and a web release:
- Linux: flatpak install io.github.rsevero.mapiah; flatpak run io.github.rsevero.mapiah
- Web: https://mapiah.org/webapp
If someone is interested in creating a Windows, MacOS or another flavor of Linux package and want help, please contact me.
Some interesting characteristics of Mapiah:
- Visually distinguish all point, line, and area types supported by Therion.
- Graphical interface for editing all supported options of points, lines, and areas supported by Therion.
- Multiple mouse and keyboard pan and zoom options.
- On save, original file lines are only changed if an actual edit modified them, which facilitates version control management.
- Uses Therion as the source of truth regarding supported features; i.e., if Therion supports it, Mapiah should support it as well.
- As a secondary effect, tries to update and detail the Therion Book so it better reflects Therion features.
- Equivalent versions for Linux, Windows, MacOS, and web.
- Unlimited undo/redo.
- Redos available after some undos and new actions merged in the undo queue.
Please try it and let me know what you think about it.
Regards,
Rodrigo
On Thursday, June 12th, 2025 at 5:11 AM, Bruce Mutton <bruce@tomo.co.nz> wrote:
Sounds exciting. I’m still on Windows I’m afraid, so would like to try the web app while there is no Windows install.
I’m missing something – all I get on Brave, Chrome and Edge Browsers is a blank white screen.
Too simple a problem for a bug report :)
How to get started?
There was an error on the main index.html file. I created a WASM web version also. You can try it at https://mapiah.org/webappwasm
Bruce
From: Therion <therion-bounces@speleo.sk> On Behalf Of Rodrigo Severo via Therion Sent: Thursday, 12 June 2025 07:06 To: therion <therion@speleo.sk> Cc: Rodrigo Severo <rsev@pm.me> Subject: [Therion] Mapiah, again
Hi,
Here I am again with Mapiah. Now I believe we have an already usable version of Mapiah. You can find it at https://github.com/rsevero/mapiah
Currently there is a Linux flatpak and a web release:
- Linux: flatpak install io.github.rsevero.mapiah; flatpak run io.github.rsevero.mapiah - Web: https://mapiah.org/webapp
If someone is interested in creating a Windows, MacOS or another flavor of Linux package and want help, please contact me.
Some interesting characteristics of Mapiah:
- Visually distinguish all point, line, and area types supported by Therion. - Graphical interface for editing all supported options of points, lines, and areas supported by Therion. - Multiple mouse and keyboard pan and zoom options. - On save, original file lines are only changed if an actual edit modified them, which facilitates version control management. - Uses Therion as the source of truth regarding supported features; i.e., if Therion supports it, Mapiah should support it as well.
- As a secondary effect, tries to update and detail the Therion Book so it better reflects Therion features.
- Equivalent versions for Linux, Windows, MacOS, and web. - Unlimited undo/redo. - Redos available after some undos and new actions merged in the undo queue.
Please try it and let me know what you think about it.
Regards,
Rodrigo
On 2025-06-13 00:43 +0000, Rodrigo Severo via Therion wrote:
- Web: https://mapiah.org/webapp I created a WASM web version also. You can try it at https://mapiah.org/webappwasm
Both of these work the same for me (on Firefox). They appear to be working correctly, but I'm not yet sure what that looks like :-) A random plan I picked failed to import: http://www.cave-registry.org.uk/svn/FermanaghAndCavan/therion/prughlisk/unde... 'petitparser returned a "Failure"' at '_injectContents()' with 'Line being parsed: "point 501.75 54.75 section -scrap "urSX19""' local info 'petitparser returned a "Failure"' at '_injectContents()' with 'Line being parsed: "point 2246.0 396.75 section -scrap "urSX11""' local info. 'petitparser returned a "Failure"' at '_injectContents()' with 'Line being parsed: "point 2762.0 167.0 section -scrap "urSX8""' local info. Not sure what this is grumbling about. It certainly seems easy to get started with. I'll have a more in-depth go. Wookey -- Principal hats: Debian, Wookware http://wookware.org/
On Thursday, June 12th, 2025 at 10:30 PM, Wookey <wookey@wookware.org> wrote:
On 2025-06-13 00:43 +0000, Rodrigo Severo via Therion wrote:
- Web: https://mapiah.org/webapp I created a WASM web version also. You can try it at https://mapiah.org/webappwasm
Both of these work the same for me (on Firefox). They appear to be working correctly, but I'm not yet sure what that looks like :-)
A random plan I picked failed to import: http://www.cave-registry.org.uk/svn/FermanaghAndCavan/therion/prughlisk/unde...
'petitparser returned a "Failure"' at '_injectContents()' with 'Line being parsed: "point 501.75 54.75 section -scrap "urSX19""' local info 'petitparser returned a "Failure"' at '_injectContents()' with 'Line being parsed: "point 2246.0 396.75 section -scrap "urSX11""' local info. 'petitparser returned a "Failure"' at '_injectContents()' with 'Line being parsed: "point 2762.0 167.0 section -scrap "urSX8""' local info.
Not sure what this is grumbling about.
Can you send me the failing file? Rodrigo
Just released Mapiah v0.2.3: - Flutter upgraded to 3.32.4; pub upgrade - Windows release creation available at https://mapiah.org/downloads - Fixing 'Failure to parse -scrap option with quoted value' (reported by Wookey) The Linux Flatpak updated version will be available in 1 to 2 hours (this is the time Flathub takes to process its queue of build requests). Rodrigo On Thursday, June 12th, 2025 at 10:30 PM, Wookey <wookey@wookware.org> wrote:
On 2025-06-13 00:43 +0000, Rodrigo Severo via Therion wrote:
- Web: https://mapiah.org/webapp I created a WASM web version also. You can try it at https://mapiah.org/webappwasm
Both of these work the same for me (on Firefox). They appear to be working correctly, but I'm not yet sure what that looks like :-)
A random plan I picked failed to import: http://www.cave-registry.org.uk/svn/FermanaghAndCavan/therion/prughlisk/unde...
'petitparser returned a "Failure"' at '_injectContents()' with 'Line being parsed: "point 501.75 54.75 section -scrap "urSX19""' local info 'petitparser returned a "Failure"' at '_injectContents()' with 'Line being parsed: "point 2246.0 396.75 section -scrap "urSX11""' local info. 'petitparser returned a "Failure"' at '_injectContents()' with 'Line being parsed: "point 2762.0 167.0 section -scrap "urSX8""' local info.
Not sure what this is grumbling about.
It certainly seems easy to get started with. I'll have a more in-depth go.
Wookey -- Principal hats: Debian, Wookware http://wookware.org/ _______________________________________________ Therion mailing list Therion@speleo.sk https://mailman.speleo.sk/listinfo/therion
Rodrigo
- Windows release creation available at <https://mapiah.org/downloads> https://mapiah.org/downloads
Windows flags this as a trojan Bearfoos.B!ml and has locked it away. Should I be trying to bypass that? I've tried again to access the web version at https://mapiah.org/webappjs/ So far most of the th2 files I try to open crash. Those I can open are missing their xvi background images - compare the Mapiah and XTherion snips below. When, I think, a scrap is selected, there are a lot of options that seem to be irrelevant to scraps, and if I try to set them to a value, they do not 'stick'. Some of the files that will not open give errors like this. 'petitparser returned a "Failure"' at '_injectContents()' with 'Line being parsed: "point 16235.0 903.25 date -value "2024.06.08" -scale xs -align br"' local info 'petitparser returned a "Failure"' at '_injectContents()' with 'Line being parsed: "point 16333.25 1415.75 date -value "2024.05.26" -scale xs -align l"' local info Is the error message sufficient for you to identify the problems like this, or should I attach the files themselves as issue(s) on https://github.com/rsevero/mapiah/issues ? Otherwise, the interface looks promising. Thanks Bruce
On Saturday, June 14th, 2025 at 8:00 AM, Bruce Mutton <bruce@tomo.co.nz> wrote:
Rodrigo
- Windows release creation available at https://mapiah.org/downloads
Windows flags this as a trojan Bearfoos.B!ml and has locked it away. Should I be trying to bypass that?
I just sent MapiahSetup_0.2.3.exe to several online virus scanners: all marked the file as clean. Made to kinds of scan on my Windows virtual box (just used to these rare things that actually needs a Windows environment like creating a Windwos release of Mapiah) and no malware was found. Also found on the web some posts reporting Bearfoos.B!ml and others as false positives for unknwon .exe files: https://answers.microsoft.com/en-us/windows/forum/all/bearfoosaml-false-alar..., https://www.reddit.com/r/antivirus/comments/v4ac41/trojanwin32bearfoosbml/. Considering all that I would say that Mapiah has no malware.
I've tried again to access the web version at https://mapiah.org/webappjs/
So far most of the th2 files I try to open crash.
Can you send me an example of a crashing file?
Those I can open are missing their xvi background images – compare the Mapiah and XTherion snips below.
XVI images aren´t yet supported by Mapiah. Just included on the TODO list for version 0.3.0.
When, I think, a scrap is selected, there are a lot of options that seem to be irrelevant to scraps, and if I try to set them to a value, they do not ‘stick’.
This options overlay window should record default options for new elements created. I forgot to disable it as its not yet functional. It is already disabled for version 0.2.4 (not yet released). To edit scrap options, right click on: * the scrap select button on the right bottom corner in case there is only one scrap in the file, or* the scrap name in the scrap select dialog box presented when clicking on the scrap select button in case there are multiple scraps in the file.
Some of the files that will not open give errors like this…
'petitparser returned a "Failure"' at '_injectContents()' with 'Line being parsed: "point 16235.0 903.25 date -value "2024.06.08" -scale xs -align br"' local info
'petitparser returned a "Failure"' at '_injectContents()' with 'Line being parsed: "point 16333.25 1415.75 date -value "2024.05.26" -scale xs -align l"' local info
Is the error message sufficient for you to identify the problems like this, or should I attach the files themselves as issue(s) on https://github.com/rsevero/mapiah/issues ?
Please attach a problematic file on a issue.
Otherwise, the interface looks promising.
Thanks. Rodrigo
Thanks
Bruce
On 2025-06-11 19:05 +0000, Rodrigo Severo via Therion wrote:
If someone is interested in creating a Windows, MacOS or another flavor of Linux package and want help, please contact me.
I will package it for Debian. I'm planning a load of caving software updates at debconf in July, so will take a look at this.
Please try it and let me know what you think about it.
Will do. Wookey -- Principal hats: Debian, Wookware http://wookware.org/
participants (5)
-
Bruce Mutton -
Eoghan -
Rodrigo Severo -
Tarquin Wilton-Jones -
Wookey