feat: link official news to Ubisoft
Validate and deploy production / validate (push) Successful in 23s
Validate and deploy staging / validate (push) Successful in 28s
Validate and deploy production / deploy (push) Successful in 49s
Validate and deploy staging / deploy (push) Successful in 28s

This commit is contained in:
jb
2026-08-01 22:26:52 -04:00
parent bc40a737a8
commit dc08eefce6
13 changed files with 618 additions and 42 deletions
+5
View File
@@ -606,6 +606,11 @@ editorial group, and Recommended Guides carry a textual badge and filter. Search
relevance is not overridden by curation. Guide cards pair a cover or
field-manual fallback with title, deck, author, publication date, tags, and the
rating count. Unlisted and private articles never enter discovery or search.
Official Ubisoft News cards use the validated source thumbnail through the
same-origin image proxy and link their cover and headline to the canonical
Ubisoft article. The `BY UBISOFT` metadata identifies the external destination
before activation. Internal News and all Guides continue to use SHD.build
article routes.
Profile conversations begin with a collapsed `LEAVE A MESSAGE` action. A reply
opens the same editor beneath the selected message, and only one editor remains
+15 -10
View File
@@ -123,25 +123,30 @@ comments still use community moderation.
The Ubisoft News importer reads the English-language Division Resurgence feed
from Ubisoft Nimbus. It stores each Nimbus item ID as the stable external ID and
publishes only the source title, excerpt, and canonical Ubisoft link. It does
not copy the source article body or images. Imported articles use Ubisoft's
original publication timestamp rather than the import time.
publishes the source title, excerpt, canonical Ubisoft link, and validated
Ubisoft-hosted thumbnail. SHD.build does not copy the article body or image
file. A bounded same-origin endpoint proxies each thumbnail so opening the News
listing does not send visitor metadata to Ubisoft. News cards link to the
canonical Ubisoft article. Imported articles use Ubisoft's original publication
timestamp rather than the import time.
`external_news_sources` maps each Nimbus ID to one SHD.build article. A SHA-256
content hash covers the normalized title, excerpt, canonical URL, and source
publication timestamp. An unchanged hash updates `last_seen_at` without creating
a revision. A changed hash creates and publishes an immutable revision. The
importer does not delete or unpublish an article when Nimbus omits it from a
later feed, and it does not restore an article that an editor deleted. The
Newsroom treats source-linked articles as read-only so local edits cannot retain
Ubisoft attribution. The importer defers future-dated items until their source
publication time.
a revision. Thumbnail changes update the audited source metadata without
creating an article revision. A changed content hash creates and publishes an
immutable revision. The importer does not delete or unpublish an article when
Nimbus omits it from a later feed, and it does not restore an article that an
editor deleted. The Newsroom treats source-linked articles as read-only so local
edits cannot retain Ubisoft attribution. The importer defers future-dated items
until their source publication time.
The seeded, non-public `Ubisoft Official News` service identity owns imported
articles and acts on their audit events. A first import records
`editorial_content / news.imported`; a later content sync records
`editorial_content / news.import_synced`. Audit snapshots identify the provider,
Nimbus ID, canonical URL, source timestamp, and resulting revision.
Nimbus ID, canonical URL, thumbnail metadata, source timestamp, and resulting
revision.
The existing bearer-authenticated scheduler endpoint invokes the importer. A
successful run sets the next check one hour later. The importer stores the last