From 6bb8d8027decf03bb9b89943c2d363193ce8b6f8 Mon Sep 17 00:00:00 2001 From: x01dc Date: Tue, 18 Aug 2026 13:24:54 +0200 Subject: [PATCH 1/3] feat(flomni,lamni): mirror status-page uploads to omny.psi.ch Add omny.psi.ch as a third upload target alongside production and the omny-test.psi.ch trial mirror. Co-Authored-By: Claude Sonnet 5 --- csaxs_bec/bec_ipython_client/plugins/LamNI/lamni.py | 1 + csaxs_bec/bec_ipython_client/plugins/flomni/flomni.py | 1 + 2 files changed, 2 insertions(+) diff --git a/csaxs_bec/bec_ipython_client/plugins/LamNI/lamni.py b/csaxs_bec/bec_ipython_client/plugins/LamNI/lamni.py index 7f8c6640..942ef136 100644 --- a/csaxs_bec/bec_ipython_client/plugins/LamNI/lamni.py +++ b/csaxs_bec/bec_ipython_client/plugins/LamNI/lamni.py @@ -256,6 +256,7 @@ class LamNI(TomoQueueMixin, LamNIAlignmentMixin, LamNIOpticsMixin, LamniGuiTools # TEMP: mirroring to the test server while it's evaluated -- # drop this line once omny-test.psi.ch is confirmed or the trial ends. "https://omny-test.psi.ch/upload.php", + "https://omny.psi.ch/upload.php", ], local_port=8080, ) diff --git a/csaxs_bec/bec_ipython_client/plugins/flomni/flomni.py b/csaxs_bec/bec_ipython_client/plugins/flomni/flomni.py index 062631f4..3b2c05ba 100644 --- a/csaxs_bec/bec_ipython_client/plugins/flomni/flomni.py +++ b/csaxs_bec/bec_ipython_client/plugins/flomni/flomni.py @@ -1646,6 +1646,7 @@ class Flomni( # TEMP: mirroring to the test server while it's evaluated -- # drop this line once omny-test.psi.ch is confirmed or the trial ends. "https://omny-test.psi.ch/upload.php", + "https://omny.psi.ch/upload.php", ], local_port=8080, ) -- 2.54.0 From 50d4f8e42595af5f5aa063a834c2a5a01919f2bc Mon Sep 17 00:00:00 2001 From: x01dc Date: Tue, 18 Aug 2026 14:42:10 +0200 Subject: [PATCH 2/3] feat(flomni,lamni): repoint all omny endpoints from myfritz/omny-test to omny.psi.ch Cuts over the webpage status-page mirror, TomoIDManager's sample-counter registration, and the samples-folder PDF upload to omny.psi.ch exclusively, replacing v1p0zyg2w9n2k9c1.myfritz.net and omny-test.psi.ch everywhere. Note: omny.psi.ch currently has known server-side issues (a permission error on /upload.php, and a WAF blocking /samples/* outright) tracked separately with PSI admins -- this switch is expected to be broken until those are fixed. Co-Authored-By: Claude Sonnet 5 --- csaxs_bec/bec_ipython_client/plugins/LamNI/lamni.py | 8 +------- .../plugins/OMNY_shared/omny_general_tools.py | 4 ++-- .../plugins/OMNY_shared/tomo_queue_mixin.py | 10 ++++------ csaxs_bec/bec_ipython_client/plugins/flomni/flomni.py | 9 +-------- 4 files changed, 8 insertions(+), 23 deletions(-) diff --git a/csaxs_bec/bec_ipython_client/plugins/LamNI/lamni.py b/csaxs_bec/bec_ipython_client/plugins/LamNI/lamni.py index 942ef136..7a88df3e 100644 --- a/csaxs_bec/bec_ipython_client/plugins/LamNI/lamni.py +++ b/csaxs_bec/bec_ipython_client/plugins/LamNI/lamni.py @@ -251,13 +251,7 @@ class LamNI(TomoQueueMixin, LamNIAlignmentMixin, LamNIOpticsMixin, LamniGuiTools self._webpage_gen = LamniWebpageGenerator( bec_client=client, output_dir="~/data/raw/webpage/", - upload_url=[ - "https://v1p0zyg2w9n2k9c1.myfritz.net/upload.php", - # TEMP: mirroring to the test server while it's evaluated -- - # drop this line once omny-test.psi.ch is confirmed or the trial ends. - "https://omny-test.psi.ch/upload.php", - "https://omny.psi.ch/upload.php", - ], + upload_url="https://omny.psi.ch/upload.php", local_port=8080, ) self._webpage_gen.start() diff --git a/csaxs_bec/bec_ipython_client/plugins/OMNY_shared/omny_general_tools.py b/csaxs_bec/bec_ipython_client/plugins/OMNY_shared/omny_general_tools.py index a93600da..218105fa 100644 --- a/csaxs_bec/bec_ipython_client/plugins/OMNY_shared/omny_general_tools.py +++ b/csaxs_bec/bec_ipython_client/plugins/OMNY_shared/omny_general_tools.py @@ -347,8 +347,8 @@ class TomoIDManager: ) """ - OMNY_URL = "https://v1p0zyg2w9n2k9c1.myfritz.net/samples/newmeasurement.php" - TEST_OMNY_URL = "https://omny-test.psi.ch/samples/newmeasurement.php" + OMNY_URL = "https://omny.psi.ch/samples/newmeasurement.php" + TEST_OMNY_URL = "https://omny.psi.ch/samples/newmeasurement.php" FALLBACK_TOMO_ID = 0 @staticmethod diff --git a/csaxs_bec/bec_ipython_client/plugins/OMNY_shared/tomo_queue_mixin.py b/csaxs_bec/bec_ipython_client/plugins/OMNY_shared/tomo_queue_mixin.py index 6a0f9cb5..927c546a 100644 --- a/csaxs_bec/bec_ipython_client/plugins/OMNY_shared/tomo_queue_mixin.py +++ b/csaxs_bec/bec_ipython_client/plugins/OMNY_shared/tomo_queue_mixin.py @@ -392,12 +392,10 @@ class TomoQueueMixin: user=user, ) - # Only omny-test.psi.ch, not v1p0zyg2w9n2k9c1.myfritz.net (the host - # TomoIDManager.OMNY_URL registers measurements against, and the - # webpage generators mirror their own content to): only - # omny-test.psi.ch has the sample counter that actually matches - # self.tomo_id. - _SAMPLES_UPLOAD_HOSTS = ("https://omny-test.psi.ch",) + # Must match whatever host TomoIDManager.OMNY_URL/TEST_OMNY_URL + # registered against, since that host's sample counter is what + # self.tomo_id came from. + _SAMPLES_UPLOAD_HOSTS = ("https://omny.psi.ch",) def _upload_pdf_report_to_samples(self, pdf_path: str) -> None: """Upload a just-written PDF report to the OMNY samples web folder diff --git a/csaxs_bec/bec_ipython_client/plugins/flomni/flomni.py b/csaxs_bec/bec_ipython_client/plugins/flomni/flomni.py index 3b2c05ba..86c2499c 100644 --- a/csaxs_bec/bec_ipython_client/plugins/flomni/flomni.py +++ b/csaxs_bec/bec_ipython_client/plugins/flomni/flomni.py @@ -1640,14 +1640,7 @@ class Flomni( self._webpage_gen = FlomniWebpageGenerator( bec_client=client, output_dir="~/data/raw/webpage/", - # upload_url="http://s1090968537.online.de/upload.php", # optional - upload_url=[ - "https://v1p0zyg2w9n2k9c1.myfritz.net/upload.php", - # TEMP: mirroring to the test server while it's evaluated -- - # drop this line once omny-test.psi.ch is confirmed or the trial ends. - "https://omny-test.psi.ch/upload.php", - "https://omny.psi.ch/upload.php", - ], + upload_url="https://omny.psi.ch/upload.php", local_port=8080, ) self._webpage_gen.start() -- 2.54.0 From 0a2c6a429c8f3b24e82051f3b482fda549a919c0 Mon Sep 17 00:00:00 2001 From: x01dc Date: Tue, 18 Aug 2026 14:54:57 +0200 Subject: [PATCH 3/3] docs(omny_shared): update webpage-upload doc for omny.psi.ch cutover Reflects the single-URL omny.psi.ch config (myfritz/omny-test list retired) and replaces the omny-test.psi.ch-specific .svg note with the known permission and intermittent-WAF issues on omny.psi.ch. Co-Authored-By: Claude Sonnet 5 --- .../AI_docs/WEBPAGE_UPLOAD_MECHANISM.md | 35 +++++++++++-------- 1 file changed, 20 insertions(+), 15 deletions(-) diff --git a/csaxs_bec/bec_ipython_client/plugins/OMNY_shared/AI_docs/WEBPAGE_UPLOAD_MECHANISM.md b/csaxs_bec/bec_ipython_client/plugins/OMNY_shared/AI_docs/WEBPAGE_UPLOAD_MECHANISM.md index 268a6cc0..6cef21de 100644 --- a/csaxs_bec/bec_ipython_client/plugins/OMNY_shared/AI_docs/WEBPAGE_UPLOAD_MECHANISM.md +++ b/csaxs_bec/bec_ipython_client/plugins/OMNY_shared/AI_docs/WEBPAGE_UPLOAD_MECHANISM.md @@ -74,10 +74,10 @@ are derived only from the *first/primary* URL, even when `upload_url` is a list govern access control for the production page and have no meaning for a secondary/test mirror. -As of 2026-07, both `flomni.py` and `lamni.py` pass a two-element list -- production -(`https://v1p0zyg2w9n2k9c1.myfritz.net/upload.php`) plus a temporary evaluation target -(`https://omny-test.psi.ch/upload.php`) -- marked with a `# TEMP` comment at the call -site. Drop the second entry once the trial ends. +As of 2026-08, both `flomni.py` and `lamni.py` pass a single URL, +`https://omny.psi.ch/upload.php` -- the earlier two-element list (production +`v1p0zyg2w9n2k9c1.myfritz.net` plus the `omny-test.psi.ch` evaluation mirror) has been +retired; omny.psi.ch is now the only webpage-mirror target. ## Call-site map (`webpage_generator_base.py`) @@ -96,15 +96,20 @@ site. Drop the second entry once the trial ends. `force=True`) suppresses **all** uploads regardless of how many URLs are configured -- it's a binary "upload at all vs. not" switch, orthogonal to how many mirrors exist. -## Known issue: `.svg` upload failing on `omny-test.psi.ch` +## Known issues on `omny.psi.ch` (as of 2026-08) -Both the live `HttpUploader._UPLOAD_SUFFIXES` and the in-repo reference -`OMNY_shared/server_side/webserver/upload.php` already allow `.svg`. Manual testing -against `omny-test.psi.ch` showed `.json`/`.html` status updates succeeding but `.svg` -(the EPS synoptic image, generated by `OMNY_shared/eps/eps_synoptic_svg.py`) failing. -Since nothing in this repo's client or reference server code excludes `.svg`, the most -likely cause is whatever `upload.php`/WAF is actually deployed on the test box differing -from the reference copy here (a stricter filename regex, or a WAF rule flagging SVG's -potential for embedded `