mirror of
https://github.com/lancedb/lancedb.git
synced 2026-11-15 15:16:53 +00:00
feat: add UTM-tagged docs links to SDK warnings and enterprise-only errors (#4797)
Add a central documentation link registry (`lancedb::docs::DocLink`) in the Rust core that builds `docs.lancedb.com` URLs with UTM parameters (`utm_source=lancedb_sdk`, `utm_medium=warning|error`, `utm_campaign=<id>`, `utm_content=<sdk>-<version>`) placed before any `#anchor` fragment and without user-identifying data. - Initialize `utm_content` per language binding (`python`, `nodejs`, `cli`, defaulting to `rust`) and expose the link builder to Python so `DBConnection` and `Job` stubs reuse the core definitions. - Append published documentation links to Enterprise-only `NotSupported` / `NotImplementedError` errors across database, job, catalog, and table operations. - Emit rate-limited maintenance warnings (once per table per process when `warn` logging is enabled) when opening a native table with at least 100 small fragments (`< 100k` physical rows each) or at least 1,000,000 unindexed rows on an optimizable user index, reading only manifest metadata without opening data or `_indices/` files, and document the thresholds in the compaction and reindexing guides. - Verify published/in-repo `docs/web/` targets and `#anchor` fragments in unit tests and include extracted SDK links in the scheduled `docs-link-check` workflow. Linear: OSS-2772
This commit is contained in:
@@ -9,6 +9,7 @@ on:
|
||||
- python/pyproject.toml
|
||||
- ci/check_cargo_lock.py
|
||||
- ci/check_sdist.py
|
||||
- ci/extract_sdk_doc_links.py
|
||||
- ci/build_cli_linux.sh
|
||||
- ci/package_cli.py
|
||||
- .bumpversion.toml
|
||||
@@ -22,6 +23,7 @@ on:
|
||||
- python/pyproject.toml
|
||||
- ci/check_cargo_lock.py
|
||||
- ci/check_sdist.py
|
||||
- ci/extract_sdk_doc_links.py
|
||||
- ci/build_cli_linux.sh
|
||||
- ci/package_cli.py
|
||||
- .bumpversion.toml
|
||||
|
||||
@@ -50,6 +50,10 @@ jobs:
|
||||
ref: ${{ github.event.repository.default_branch }}
|
||||
persist-credentials: false
|
||||
|
||||
- name: Extract SDK documentation links
|
||||
run: |
|
||||
python3 ci/extract_sdk_doc_links.py --output ./lychee-inputs/sdk-doc-links.md
|
||||
|
||||
- name: Check links
|
||||
id: lychee
|
||||
continue-on-error: true
|
||||
@@ -64,10 +68,12 @@ jobs:
|
||||
args: >-
|
||||
--scheme https
|
||||
--scheme http
|
||||
--include-fragments
|
||||
--no-progress
|
||||
--max-retries 3
|
||||
--timeout 20
|
||||
'docs/src/**/*.md'
|
||||
'./lychee-inputs/sdk-doc-links.md'
|
||||
format: json
|
||||
output: ./lychee/out.json
|
||||
jobSummary: false
|
||||
|
||||
Reference in New Issue
Block a user