Skip to content

feat: add a feedback banner to the trampoline - #105

Merged
jrosskopf merged 2 commits into
masterfrom
feat/feedback-banner
Aug 7, 2026
Merged

feat: add a feedback banner to the trampoline#105
jrosskopf merged 2 commits into
masterfrom
feat/feedback-banner

Conversation

@jrosskopf

@jrosskopf jrosskopf commented Aug 6, 2026

Copy link
Copy Markdown
Collaborator

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-banner submodule, 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 erpl is what a user types. erpl_rfc, erpl_bics and erpl_odp are implementation details this extension extracts and loads on their behalf — a banner in each would stack four on a single LOAD. The trampoline already prints at load today, which makes it the natural home.

┌──────────────────────────────────────────────────────────────────┐
│ erpl 2026.07.24                                                  │
│ Hit a bug or something unexpected? Please tell us --             │
│   https://github.com/DataZooDE/erpl/issues                       │
│ ★ If it saved you time, a star helps others find it.             │
│ (silence this: SET datazoo_banner=false, or DATAZOO_NO_BANNER=1) │
└──────────────────────────────────────────────────────────────────┘

One thing worth knowing

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: 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_rfc and friends, which are separate concerns.

Verified against the built artifact

  • Banner appears on an interactive LOAD, absent when output is piped
  • duckdb submodule pin untouched
  • 24-line diff

One 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.


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

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.
@jrosskopf
jrosskopf merged commit dc8613b into master Aug 7, 2026
49 checks passed
@jrosskopf
jrosskopf deleted the feat/feedback-banner branch August 7, 2026 11:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant