Migration & Upgrade Guide
This page highlights the important API and integration changes in the current frontend surface.
Widget Attribute Changes
config-url → config-base-url
diff
- <asc-comment-widget config-url="https://app.example.com">
+ <asc-comment-widget config-base-url="https://app.example.com">Feature flags moved into tenant config
The widget no longer accepts product toggles like show-voting or max-depth as direct HTML attributes.
diff
- <asc-comment-widget show-voting="false" max-depth="2">
+ <asc-comment-widget tenant-id="welt" api-base-url="https://api.example.com">ts
widget.tenantConfig = {
id: 'welt',
api: { baseUrl: 'https://api.example.com', tenantId: 'welt' },
branding: { displayName: 'WELT' },
features: { votingEnabled: false },
behavior: { maxReplyDepth: 2 },
};Tenant Config Renames
diff
{
"features": {
- "editingEnabled": true,
- "deletionEnabled": true
+ "editEnabled": true,
+ "deleteEnabled": true
},
"behavior": {
- "defaultSort": "new",
- "replyDepthLimit": 3
+ "defaultSortMode": "new",
+ "maxReplyDepth": 3
}
}Widget Event Expectations
Older examples sometimes treated <asc-comment-widget> as if it forwarded comment submit/edit/delete events to the host page. The current widget owns those flows internally.
If you need to intercept comment lifecycle events directly:
- use lower-level components such as
asc-comment-formandasc-comment-item - or switch to
@as-community/weband render your own UI
The widget only emits inspection events in inspect-mode.
SDK Notes
- SDK methods return result objects instead of throwing for expected API failures
listModerationArticles()is now available for moderation frontendstenantConfigUrlnow eagerly loads and stores the tenant config on the client instance