From 905fbafa5af3de6ffffb435e06b33d274104fdc8 Mon Sep 17 00:00:00 2001
From: Brad Arant
Date: Sun, 13 Sep 2026 15:14:11 +0000
Subject: [PATCH] Fix silent-failure bug; split /vst into overview +
subpage; misc site fixes
- __mysql.cpp: never checked mysql_real_query's own return code,
so a genuine query failure was indistinguishable from "ran fine, zero
rows" - / around a failing never actually caught
anything anywhere. Now throws on a real failure.
- spa.js: dynamically re-injected scripts now run in true sequential
order (wait for each external script's load event before running the
next), fixing checkout's Square card field never building on the
first client-side navigation to /checkout (only after a refresh) -
async=false alone only orders multiple external scripts relative to
each other, it doesn't delay a plain inline sibling.
- /vst split into a real overview + /vst/modular1 subpage with a left
menu, reusing opensource.page's existing subpage-tier pattern
(opensource.menu/main.css's submenuitem-active highlighting, and
several other subpage-tier retirements, were already finished earlier
this session but never committed - included here too).
Co-Authored-By: Claude Sonnet 5
---
__mysql.cpp | 12 ++
jetc/barant-site/assets/images/main.css | 18 +++
jetc/barant-site/assets/images/spa.js | 40 ++++--
...s.page.retired-into-admin-subpage-20260906 | 14 ++
...e.retired-into-opensource-subpage-20260903 | 52 +++++++
...e.retired-into-opensource-subpage-20260903 | 23 ++++
...l.page.retired-into-admin-subpage-20260905 | 128 ++++++++++++++++++
...e.retired-into-opensource-subpage-20260903 | 13 ++
jetc/barant-site/src/mainpagetemplate.jet | 4 +-
...r1.page.retired-into-vst-subpage-20260913} | 0
jetc/barant-site/src/opensource-git.subpage | 4 +
jetc/barant-site/src/opensource.menu | 41 +++++-
...e.retired-into-opensource-subpage-20260903 | 44 ++++++
jetc/barant-site/src/vst-modular1.subpage | 47 +++++++
jetc/barant-site/src/vst-overview.subpage | 27 ++++
jetc/barant-site/src/vst.menu | 12 ++
jetc/barant-site/src/vst.page | 58 ++------
17 files changed, 474 insertions(+), 63 deletions(-)
create mode 100755 jetc/barant-site/src/admin_invoices.page.retired-into-admin-subpage-20260906
create mode 100755 jetc/barant-site/src/asm1802.page.retired-into-opensource-subpage-20260903
create mode 100755 jetc/barant-site/src/barantmail.page.retired-into-opensource-subpage-20260903
create mode 100644 jetc/barant-site/src/email.page.retired-into-admin-subpage-20260905
create mode 100755 jetc/barant-site/src/jet.page.retired-into-opensource-subpage-20260903
rename jetc/barant-site/src/{modular1.page => modular1.page.retired-into-vst-subpage-20260913} (100%)
create mode 100644 jetc/barant-site/src/opensource-git.subpage
create mode 100755 jetc/barant-site/src/serverframework.page.retired-into-opensource-subpage-20260903
create mode 100644 jetc/barant-site/src/vst-modular1.subpage
create mode 100644 jetc/barant-site/src/vst-overview.subpage
create mode 100644 jetc/barant-site/src/vst.menu
diff --git a/__mysql.cpp b/__mysql.cpp
index b1bda60..e458823 100644
--- a/__mysql.cpp
+++ b/__mysql.cpp
@@ -157,6 +157,18 @@ namespace jet {
void __mysql::query(coreutils::MString query) {
int rc = mysql_real_query(mysql, query.getData(), query.getLength());
+ // rc was captured but never checked - a genuinely failed query
+ // (syntax error, constraint violation, etc.) fell straight into
+ // the result==NULL branch below, which is ALSO the normal path
+ // for a successful non-SELECT statement (INSERT/UPDATE/DELETE
+ // have no result set to store either). That made every SQL error
+ // in the whole codebase silently indistinguishable from "ran fine,
+ // no rows" - / around a failing never caught
+ // anything, since no exception was ever thrown in the first place.
+ // Only rc (mysql_real_query's own success/failure signal) can
+ // actually tell the two cases apart; result's nullness can't.
+ if(rc != 0)
+ throw coreutils::Exception(std::string("mysql query failed: ") + mysql_error(mysql));
result = mysql_store_result(mysql);
if(result) {
row = mysql_fetch_row(result);
diff --git a/jetc/barant-site/assets/images/main.css b/jetc/barant-site/assets/images/main.css
index 9fb8447..b31d418 100644
--- a/jetc/barant-site/assets/images/main.css
+++ b/jetc/barant-site/assets/images/main.css
@@ -365,6 +365,24 @@ textarea.fieldinputerror {
transition: color 0.2s ease, border-color 0.2s ease;
}
+/* The currently-active entry in a page's own sidebar submenu (e.g.
+ opensource.menu's list of subpages) - a background highlight rather
+ than baritemselected's "raised tab" treatment, since these are plain
+ inline links stacked in a list, not tabs sitting on a bar edge.
+ Applied server-side (see opensource.menu) by comparing each
+ linkbutton's own subpage against $[SUBPAGE] - spa.js already
+ re-renders and swaps this menu's markup on every client-side
+ navigation (see its #_spa_panelmenu handling), so this stays correct
+ without any script of its own. */
+.submenuitem-active {
+ background: var(--bond-panel-2);
+ color: var(--bond-gold-bright) !important;
+ padding: 2px 6px;
+ margin: -2px -6px;
+ border-radius: 3px;
+ box-shadow: inset 0 0 0 1px var(--bond-gold);
+ }
+
.panel {
background: var(--bond-panel);
margin: 10px;
diff --git a/jetc/barant-site/assets/images/spa.js b/jetc/barant-site/assets/images/spa.js
index 098a0b0..9778162 100644
--- a/jetc/barant-site/assets/images/spa.js
+++ b/jetc/barant-site/assets/images/spa.js
@@ -127,19 +127,43 @@
// a client-side SPA swap (e.g. clicking "Check Out") instead of a
// full reload; only worked by accident on a fresh /checkout load.
// Re-creating each script element makes the browser actually run
- // it. async=false on src="" ones preserves normal in-order
- // execution (dynamically-inserted external scripts default to
- // async otherwise), matching how a real page load would run them.
+ // it. A prior fix set async=false on src="" ones, but that only
+ // orders MULTIPLE external scripts relative to each other - it
+ // does nothing to delay a plain inline script sitting right after
+ // one, which still runs immediately on insertion regardless of a
+ // sibling's in-flight fetch. checkout.page is exactly that shape
+ // (an external Square SDK
+
+
diff --git a/jetc/barant-site/src/jet.page.retired-into-opensource-subpage-20260903 b/jetc/barant-site/src/jet.page.retired-into-opensource-subpage-20260903
new file mode 100755
index 0000000..9ca78f2
--- /dev/null
+++ b/jetc/barant-site/src/jet.page.retired-into-opensource-subpage-20260903
@@ -0,0 +1,13 @@
+
+barant.com - JET Extension Tags
+
+
+
+
+
+
+
+
+
+
+
diff --git a/jetc/barant-site/src/mainpagetemplate.jet b/jetc/barant-site/src/mainpagetemplate.jet
index 9998d10..4f7c2f4 100644
--- a/jetc/barant-site/src/mainpagetemplate.jet
+++ b/jetc/barant-site/src/mainpagetemplate.jet
@@ -72,7 +72,7 @@ $[_BODY]
BARANT Technology Group
-
+
@@ -131,7 +131,7 @@ $[_BODY]
It is finally here! The Server Core Framework is now available. The
+framework offers support for just about any server you can devise.
+
+
Now why would I want to go and build a server when there are all
+sorts of frameworks out there for supporting server activity? All I
+can say is top notch performance. The Server Core is all C++ and is
+built on the epoll structure of the Linux operating system.
+
+
+
TCP and/or UDP server capabilities.
+
Straight socket or TLS connections.
+
+
+
Using the Server Core you can build out server elements for
+embedded systems or massively publicly accessible servers with simple
+code. Use the Server Core for:
+
+
Micro-services engine for code generators.
+
Game servers of all types.
+
E-Mail services (checkout barantmail project).
+
SIP telephony server.
+
HTTP/HTTPS for embedded web sites.
+
Streaming server for online radio stations.
+
Any other TCP or UDP based server.
+
+
+
For the game server we will be offering client modules for both
+Unty 3D and for the Unreal Engine 4 with drop in and play options that
+can be heavily modified to support unique game features. Offers
+support for mySQL backends.
+
+
+
+
+git clone https://barant.com/git@ServerCore.git
+
+
+
+
+
\ No newline at end of file
diff --git a/jetc/barant-site/src/vst-modular1.subpage b/jetc/barant-site/src/vst-modular1.subpage
new file mode 100644
index 0000000..0b704b6
--- /dev/null
+++ b/jetc/barant-site/src/vst-modular1.subpage
@@ -0,0 +1,47 @@
+
+
+ select * from products where sku='MODULAR1'
+
+
$[description]
+
+
$[text]
+
+ $19.95
+
+
+
+
+
+ Precision modular synthesizer with fully automatic patching and
+ polyphony in one VST instrument. 12 module types provide a rich
+synthesis structural capability providing FM, additive and subtractive
+methods of creating musical instrumentation using traditional modular
+synthsis methods. 2 filter types provide both a Korg sound as well as
+the old popular Moog Filter sound.
+
+
6 full spectrum voltage controlled oscillators with sine,
+ triangle, saw, pulse with modulation, pink noise, white noise. Sync
+ and phase modulation for DX7 style FM synthesis. Wide range from
+.2Hz to 20kHz.
+
6 ADSR envelope generators with voltage controlled parameters.
+
4 delay units up to 10 seconds each.
+
2 combination filters offering low pass, high pass, band pass
+and notch filtering modes.
+
4 Moog style low pass filters offering a rich analog sound.
+
MIDI input with velocity and aftertouch provides sensitivity
+for more expressive sounds.
+
Monophonic and polyphonic modes with 128 voices.
+
Many many presets with more being added regularly.
VST (Virtual Studio Technology) is an industry-standard plugin format
+that lets a software instrument or effect run directly inside a digital
+audio workstation (DAW) - Ableton Live, Cubase, Reaper, FL Studio, and
+most others all support it. A VST instrument behaves like a piece of
+outboard synthesizer hardware, but lives entirely in software: you play
+it from a MIDI keyboard or a piano-roll in your DAW, and it renders
+audio in real time alongside every other track in your session.
+
+
We build VST instruments in-house, focused on real synthesis
+architectures rather than sample playback - the kind of thing you'd
+patch together on a real modular rack, but without the cabling.
+
+
Available Instruments
+
+
MODULAR1 - a
+ precision modular synthesizer with fully automatic patching and
+ polyphony in one VST instrument. 12 module types (6 oscillators, 6
+ envelope generators, delays, and both Korg- and Moog-style filters)
+ give it the structural depth of a real modular rack in a single
+ plugin.
+
+
+
More instruments are in development and will appear here as they're
+released.
- Precision modular synthesizer with fully automatic patching and
- polyphony in one VST instrument. 12 module types provide a rich
-synthesis structural capability providing FM, additive and subtractive
-methods of creating musical instrumentation using traditional modular
-synthsis methods. 2 filter types provide both a Korg sound as well as
-the old popular Moog Filter sound.
-
-
6 full spectrum voltage controlled oscillators with sine,
- triangle, saw, pulse with modulation, pink noise, white noise. Sync
- and phase modulation for DX7 style FM synthesis. Wide range from
-.2Hz to 20kHz.
-
6 ADSR envelope generators with voltage controlled parameters.
-
4 delay units up to 10 seconds each.
-
2 combination filters offering low pass, high pass, band pass
-and notch filtering modes.
-
4 Moog style low pass filters offering a rich analog sound.
-
MIDI input with velocity and aftertouch provides sensitivity
-for more expressive sounds.
-
Monophonic and polyphonic modes with 128 voices.
-
Many many presets with more being added regularly.