Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
f94925b
attribution pipeline: Phase 0 (TDD) — API skeleton + red tests
shikokuchuo May 11, 2026
40f2f41
attribution plan: mark Phase 0 checklist items complete
shikokuchuo May 12, 2026
16fcf64
attribution pipeline: Phase 1 — canonical types live
shikokuchuo May 12, 2026
7d77f2c
attribution pipeline: Phase 2 — generate transform live
shikokuchuo May 12, 2026
fe83bb7
attribution pipeline: Phase 3 — providers + CLI flag live
shikokuchuo May 12, 2026
750bc44
attribution pipeline: Phase 4 — render transform + HTML data-attr emi…
shikokuchuo May 12, 2026
662b06c
attribution pipeline: Phase 5a — q2-debug JSON wire shape + TS palett…
shikokuchuo May 12, 2026
f55702d
attribution pipeline: Phase 5b — TS producer + ReactPreview wire-up
shikokuchuo May 12, 2026
1e7c378
attribution pipeline: Phase 6 — producer-invariant tests + user docs
shikokuchuo May 12, 2026
f68fd57
attribution pipeline: Phase 7 — verification + deviation log
shikokuchuo May 12, 2026
ff41885
attribution pipeline: Phase 4b — HTML prose coalescing
shikokuchuo May 12, 2026
91cfe94
fix(hub-client): usePreference cross-instance reactivity + declare at…
shikokuchuo May 12, 2026
b61104b
changelog: usePreference cross-instance reactivity fix
shikokuchuo May 12, 2026
b4fea95
attribution pipeline: regenerate data-flow SVG (v2) to match shipped …
shikokuchuo May 12, 2026
7efb84d
fix(quarto-core): default new JsonConfig attribution fields at q2-pre…
shikokuchuo May 12, 2026
10dd3cf
feat(hub-client): port Phase 5c Authorship renderer colouring to fram…
shikokuchuo May 12, 2026
8cf443c
feat(hub-client): attributionEnabled preference + Authorship toggle +…
shikokuchuo May 12, 2026
df20065
changelog: Authorship toggle + renderer port for 10dd3cfc + 8cf443c1
shikokuchuo May 12, 2026
7ceb42c
fix(hub-client): serialize iframe UPDATE_AST through shared load promise
shikokuchuo May 12, 2026
d992d04
changelog: iframe message-dispatch race fix for 7ceb42c0
shikokuchuo May 12, 2026
f4f31b1
feat(quarto-core): wire attribution data through q2-preview pipeline
shikokuchuo May 13, 2026
5194cc5
feat(hub-client): call render_page_in_project_with_attribution from q…
shikokuchuo May 13, 2026
3827348
feat(hub-client): port Phase 5c Authorship renderer colouring to q2-p…
shikokuchuo May 13, 2026
46be15e
changelog: q2-preview Authorship wiring for 5194cc59 + 38273485
shikokuchuo May 13, 2026
b5baec4
refactor(quarto-core): centralize attribution writer-config translation
shikokuchuo May 13, 2026
b6b03dd
refactor(hub-client): consolidate attribution wrap + hover wiring
shikokuchuo May 13, 2026
a322e93
docs(hub-client): changelog for b6b03dde
shikokuchuo May 13, 2026
2ed023b
refactor(quarto): derive ValueEnum on AttributionMode
shikokuchuo May 13, 2026
1243fdf
refactor(quarto-core): rename from_config_value to identity_map_from_…
shikokuchuo May 13, 2026
2686203
refactor(hub-client): move actor palette helpers into utils/
shikokuchuo May 13, 2026
925ac57
docs(hub-client): changelog for 26862035; escape tilde in b6b03dde entry
shikokuchuo May 13, 2026
a728f99
refactor(quarto-core): tighten AttributionDataBuilder API
shikokuchuo May 13, 2026
f15e0bd
attribution pipeline: docs for static viewer overlay
shikokuchuo May 14, 2026
28f523b
attribution pipeline: tighten --attribution=git e2e regression test
shikokuchuo May 14, 2026
00bc014
attribution pipeline: unit test for formatRelativeTime
shikokuchuo May 14, 2026
4462555
attribution pipeline: unit test for buildAttributionPayload
shikokuchuo May 14, 2026
8b8349c
feat(attribution): auto-inject default viewer CSS/JS for HTML renders
shikokuchuo May 14, 2026
006ee4b
docs(hub-client): changelog for 8b8349c8
shikokuchuo May 14, 2026
f7e8c5c
fix(attribution): use committer-time, not author-time, for viewer fre…
shikokuchuo May 14, 2026
30d4692
refactor(attribution): move identity to render-time CSS variables
shikokuchuo May 15, 2026
7001629
feat(attribution): swap HSL palette for Tol Muted (10-colour CBS)
shikokuchuo May 15, 2026
3aa8a80
docs(hub-client): changelog for 70016298
shikokuchuo May 15, 2026
af7b21e
docs(attribution): update for CSS-variable wire shape and Tol Muted
shikokuchuo May 15, 2026
8203fac
docs(hub-client): scope the palette-change entry to CLI rendering
shikokuchuo May 15, 2026
6440445
refactor(hub-client): move attribution identity to render-time CSS
shikokuchuo May 15, 2026
6edcb28
docs(hub-client): changelog for 64404459
shikokuchuo May 15, 2026
00a6f6f
fix(attribution): scope dotted underline + help cursor to the CLI
shikokuchuo May 15, 2026
5228165
refactor(hub-client): move Authorship toggle to replay bar, drop pers…
shikokuchuo May 15, 2026
4b50afa
changelog: Authorship toggle relocation for 52281655
shikokuchuo May 15, 2026
f9fbc30
Update tooltip
shikokuchuo May 15, 2026
e939909
feat(hub-client): animate Authorship pill while attribution builds
shikokuchuo May 15, 2026
61c6c0a
changelog: Authorship pill animation for e9399093
shikokuchuo May 15, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
refactor(quarto-core): rename from_config_value to identity_map_from_…
…meta

The free function in `attribution/types.rs` parses
`meta.attribution.identities` into an `IdentityMap`. The old name
read as a generic "from any ConfigValue" converter and collided in
search results with the unrelated `Navbar::from_config_value` /
`Sidebar::from_config_value` / `PageNavigation::from_config_value`
methods elsewhere in the crate. The new name says what the function
actually returns and what it reads from.
  • Loading branch information
shikokuchuo committed May 13, 2026
commit 1243fdf30ff4e22ed7810201bd73c66b3b2c547f
2 changes: 1 addition & 1 deletion crates/quarto-core/src/attribution/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -53,5 +53,5 @@ pub use source::{AttributionSource, AttributionSourceProvider};
pub use types::{
AttributionData, AttributionHit, AttributionMap, AttributionRecord, AttributionRun, Identity,
IdentityMap, TransportAttributionData, TransportAttributionRun, format_supports_attribution,
from_config_value,
identity_map_from_meta,
};
2 changes: 1 addition & 1 deletion crates/quarto-core/src/attribution/types.rs
Original file line number Diff line number Diff line change
Expand Up @@ -193,7 +193,7 @@ pub fn format_supports_attribution(format: &Format) -> bool {
/// uses them only as lookup keys and preserves the provider's
/// pointer-equal key on collision, so the writer-side
/// `Arc::ptr_eq` interning invariant is not weakened.
pub fn from_config_value(meta: &quarto_pandoc_types::ConfigValue) -> IdentityMap {
pub fn identity_map_from_meta(meta: &quarto_pandoc_types::ConfigValue) -> IdentityMap {
let Some(identities) = meta.get("attribution").and_then(|v| v.get("identities")) else {
return IdentityMap::new();
};
Expand Down
4 changes: 2 additions & 2 deletions crates/quarto-core/src/transforms/attribution_generate.rs
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ use std::sync::Arc;
use quarto_pandoc_types::pandoc::Pandoc;

use crate::Result;
use crate::attribution::{AttributionData, format_supports_attribution, from_config_value};
use crate::attribution::{AttributionData, format_supports_attribution, identity_map_from_meta};
use crate::render::RenderContext;
use crate::transform::AstTransform;
use crate::transforms::is_feature_disabled;
Expand Down Expand Up @@ -97,7 +97,7 @@ impl AstTransform for AttributionGenerateTransform {
// non-colliding user keys (an actor named in YAML but with
// no runs in this document is invisible at the writer and
// would be dead weight in the map).
for (user_key, user_id) in from_config_value(&ast.meta) {
for (user_key, user_id) in identity_map_from_meta(&ast.meta) {
if let Some(slot) = identities.get_mut(&user_key) {
*slot = user_id;
}
Expand Down