feat: add a feedback banner to the trampoline - #105
Merged
Conversation
ERPL fails against SAP systems, gateways and network setups we cannot reproduce here, so the users who hit a problem are the only ones who can tell us what it was -- and almost none of them do. A once-a-day banner on interactive load, from the shared DataZooDE/duckdb-extension-banner submodule. DuckDB has no notice channel, so it can only go to stderr, which makes the gating the load-bearing part: stderr must be a terminal, no CI marker set, DATAZOO_NO_BANNER unset, SET datazoo_banner not false, and the ~/.duckdb stamp over a day old. Piped output, notebooks, CI and the test suites therefore see nothing. The banner lives in the trampoline and nowhere else. `LOAD erpl` is what a user types; erpl_rfc, erpl_bics and erpl_odp are implementation details this extension extracts and loads on their behalf, so putting a banner in each would stack four on a single LOAD. The trampoline already prints at load today, which makes it the natural home. Note for reviewers: erpl_tunnel ships its own banner from its own repo and is loaded by this trampoline, so a user who loads erpl may see two -- one per product, each pointing at its own tracker. That is intended; they are separate repos with separate issue lists. Verified against the built artifact: the banner appears on an interactive LOAD and is absent when output is piped.
On MinGW the 'struct _stat64' tag hides the function of the same name in C++, so the banner's _stat64 call parsed as a constructor and every rtools/MinGW Windows job failed to compile. The shared library now uses plain stat() everywhere except MSVC. Caught by anofox-similarity CI, which builds windows_amd64_rtools.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
ERPL fails against SAP systems, gateways and network setups we cannot reproduce here, so the users who hit a problem are the only ones who can tell us what it was — and almost none of them do.
This is the last of a fleet-wide rollout using the shared
DataZooDE/duckdb-extension-bannersubmodule, alongside erpl-adt (released), erpl-rev (released), erpl-tunnel#2, erpl-idoc#7, erpl-web#56 and the anofox extensions.Banner in the trampoline only
LOAD erplis what a user types.erpl_rfc,erpl_bicsanderpl_odpare implementation details this extension extracts and loads on their behalf — a banner in each would stack four on a singleLOAD. The trampoline already prints at load today, which makes it the natural home.One thing worth knowing
erpl_tunnelships its own banner from its own repo and is loaded by this trampoline, so a user who loadserplmay see two — one per product, each pointing at its own tracker. That is intended: separate repos, separate issue lists. Both are rate-limited independently to once a day.No error guards here — the trampoline only extracts and loads; the errors users actually hit come from
erpl_rfcand friends, which are separate concerns.Verified against the built artifact
LOAD, absent when output is pipedduckdbsubmodule pin untouchedOne fix worth flagging for reviewers of the other PRs: the banner include initially landed inside
#elif __APPLE__, so the Linux build could not see it. Auditing all 14 repos for the same fault found two more (anofox-scenario, anofox-forecast, both inside#ifdef HAS_POSTHOG_TELEMETRY), now fixed.Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.