Skip to content

Commit fa348fa

Browse files
committed
Oct 14-17 release notes
1 parent 6847739 commit fa348fa

File tree

6 files changed

+251
-5
lines changed

6 files changed

+251
-5
lines changed
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
Version Range: v4.5.6-beta.15 to v4.5.6-beta.17
2+
3+
Comments:
4+
- Added `markAsRead()` and `markAsUnread()` methods to programmatically manage read status for comment annotations
5+
- Added `viewedBy` and `reactionAnnotations` fields to [Get Comment Annotations](/api-reference/rest-apis/v2/comments-feature/comment-annotations/get-comment-annotations-v2) and [Get Comments](/api-reference/rest-apis/v2/comments-feature/comments/get-comments) REST API responses for tracking engagement and reactions
6+
- Released v2 improved comment anchoring with enhanced element detection and dynamic positioning for pin, text, and area comments
7+
8+
Recorder:
9+
- Added system sound capture when recording browser tabs to capture complete audio from web applications
10+
11+
Access Control:
12+
- Fixed organization access permissions not being set correctly during user login via permission provider
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
Version Range: v4.5.6-beta.15 to v4.5.6-beta.17
2+
3+
## New Features
4+
5+
- [**Comments**]: Added `markAsRead()` and `markAsUnread()` methods to mark comment annotations as read or unread for the current user.
6+
7+
```jsx
8+
// Using Hooks
9+
const commentElement = useCommentUtils();
10+
11+
commentElement.markAsUnread("eUgq6G6zXxJmOT9eBXtT");
12+
commentElement.markAsRead("eUgq6G6zXxJmOT9eBXtT");
13+
14+
// Using API methods
15+
const commentElement = client.getCommentElement();
16+
17+
commentElement.markAsUnread("eUgq6G6zXxJmOT9eBXtT");
18+
commentElement.markAsRead("eUgq6G6zXxJmOT9eBXtT");
19+
```
20+
21+
```jsx
22+
const commentElement = Velt.getCommentElement();
23+
24+
commentElement.markAsUnread("eUgq6G6zXxJmOT9eBXtT");
25+
commentElement.markAsRead("eUgq6G6zXxJmOT9eBXtT");
26+
```
27+
28+
## Improvements
29+
30+
- [**Recorder**]: Added system sound capture when recording a browser tab.
31+
32+
- [**Comments**]: You can now tag users by copy-pasting their email address. Previously, only manually typed emails worked for tagging users not on the contact list.
33+
34+
- [**Comments**]: Added `viewedBy` and `reactionAnnotations` fields to comment annotation objects returned via REST APIs including [Get Comment Annotations](/api-reference/rest-apis/v2/comments-feature/comment-annotations/get-comment-annotations-v2) and [Get Comments](/api-reference/rest-apis/v2/comments-feature/comments/get-comments). These fields provide enhanced visibility into user engagement and reactions.
35+
36+
**`viewedBy`**: An array of User objects representing who has seen and read the comment annotation. Use this to track engagement, identify which stakeholders have reviewed feedback, or build custom read receipt indicators.
37+
38+
**`reactionAnnotations`**: An array of complete ReactionAnnotation objects containing the full reaction data for each comment. Each object includes the reaction ID, icon, user information, and metadata. Use this to display reaction counts, show who reacted with what emoji, or build custom reaction analytics.
39+
40+
```typescript
41+
// Comment Annotation Object
42+
{
43+
...
44+
comments: [
45+
{
46+
...
47+
reactionAnnotations?: ReactionAnnotation[]; // Complete reaction objects with full details
48+
}
49+
],
50+
viewedBy?: User[]; // Users who have seen and read this annotation
51+
}
52+
```
53+
54+
- [**Comments**]: Released v2 improved version of comment anchoring that makes comment positioning more dynamic and robust on more dynamic websites. This includes enhanced element detection for pin, text, and area comments, improved cursor display based on DOM element visibility, and better handling of image tag positioning with conditional relative positioning for container elements.
55+
56+
## Bug Fixes
57+
58+
- [**Recorder**]: Fixed an issue in the video editor where the playhead position was ignored after playback ended. When seeking or dragging the playhead after video completion, playback now correctly starts from the new position instead of always starting from the beginning.
59+
60+
- [**Comments**]: Fixed an issue where draft comments with resolvers were incorrectly submitted before being finalized, causing data inconsistencies. Draft comments with resolvers now work properly and are only saved when explicitly published.
61+
62+
- [**Access Control**]: Fixed an issue where organization access permissions were not being set correctly when using the permission provider. When users logged in, their organization-level permissions were failing to initialize properly. Organization access now gets assigned correctly during the identification process.
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
Hey Velt Developers!
2+
3+
Here's what shipped from `v4.5.6-beta.15` until `v4.5.6-beta.17` across Comments and Recorder.
4+
5+
:speech_balloon: **Comments**
6+
7+
* Added `markAsRead()` and `markAsUnread()` methods to programmatically manage read status for comment annotations. [See here](https://docs.velt.dev/async-collaboration/comments/customize-behavior#markasread)
8+
* Added `viewedBy` and `reactionAnnotations` fields to [Get Comment Annotations](https://docs.velt.dev/api-reference/rest-apis/v2/comments-feature/comment-annotations/get-comment-annotations-v2) and [Get Comments](https://docs.velt.dev/api-reference/rest-apis/v2/comments-feature/comments/get-comments) REST API responses for tracking engagement and reactions.
9+
* Released v2 improved comment anchoring with enhanced element detection and dynamic positioning for pin, text, and area comments.
10+
11+
:movie_camera: **Recorder**
12+
13+
* Added system sound capture when recording browser tabs to capture complete audio from web applications.
14+
15+
For full API examples and details, check the [Velt SDK Changelog](https://docs.velt.dev/release-notes/version-4/sdk-changelog).
16+
17+
Happy shipping! :rocket:

api-reference/rest-apis/v2/comments-feature/comment-annotations/get-comment-annotations-v2.mdx

Lines changed: 51 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -266,7 +266,19 @@ Prior to using this API, you must:
266266
"name": "John Doe",
267267
"email": "john.doe@example.com"
268268
},
269-
"lastUpdated": "2023-06-15T10:30:00Z"
269+
"lastUpdated": "2023-06-15T10:30:00Z",
270+
"reactionAnnotations": [
271+
{
272+
"reactionId": "reaction_001",
273+
"emoji": "👍",
274+
"from": {
275+
"userId": "user456",
276+
"name": "Jane Smith",
277+
"email": "jane.smith@example.com"
278+
},
279+
"createdAt": "2023-06-15T10:35:00Z"
280+
}
281+
]
270282
}
271283
],
272284
"from": {
@@ -282,7 +294,19 @@ Prior to using this API, you must:
282294
"name": "Open",
283295
"color": "#0000FF",
284296
"type": "default"
285-
}
297+
},
298+
"viewedBy": [
299+
{
300+
"userId": "user123",
301+
"name": "John Doe",
302+
"email": "john.doe@example.com"
303+
},
304+
{
305+
"userId": "user456",
306+
"name": "Jane Smith",
307+
"email": "jane.smith@example.com"
308+
}
309+
]
286310
},
287311
null // null is returned only if you provided an annotationId that doesn't exist
288312
],
@@ -410,6 +434,18 @@ Prior to using this API, you must:
410434
},
411435
"lastUpdated": "2023-06-15T10:30:00Z",
412436
"type": "text",
437+
"reactionAnnotations": [
438+
{
439+
"reactionId": "reaction_001",
440+
"emoji": "👍",
441+
"from": {
442+
"userId": "user456",
443+
"name": "Jane Smith",
444+
"email": "jane.smith@example.com"
445+
},
446+
"createdAt": "2023-06-15T10:35:00Z"
447+
}
448+
]
413449
}
414450
],
415451
"from": {
@@ -425,7 +461,19 @@ Prior to using this API, you must:
425461
"name": "Open",
426462
"color": "#0000FF",
427463
"type": "default"
428-
}
464+
},
465+
"viewedBy": [
466+
{
467+
"userId": "user123",
468+
"name": "John Doe",
469+
"email": "john.doe@example.com"
470+
},
471+
{
472+
"userId": "user456",
473+
"name": "Jane Smith",
474+
"email": "jane.smith@example.com"
475+
}
476+
]
429477
},
430478
null // null is returned only if you provided an annotationId that doesn't exist
431479
],

api-reference/rest-apis/v2/comments-feature/comments/get-comments.mdx

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,19 @@ Prior to using this API, you must:
105105
},
106106
"lastUpdated": "2024-06-20T09:53:42.258Z",
107107
"status": "added",
108-
"type": "text"
108+
"type": "text",
109+
"reactionAnnotations": [
110+
{
111+
"reactionId": "reaction_001",
112+
"emoji": "👍",
113+
"from": {
114+
"userId": "user456",
115+
"name": "Jane Smith",
116+
"email": "jane.smith@example.com"
117+
},
118+
"createdAt": "2024-06-20T09:55:00Z"
119+
}
120+
]
109121
},
110122
null // If comment not found
111123
]
@@ -131,7 +143,19 @@ Prior to using this API, you must:
131143
},
132144
"lastUpdated": "2024-06-20T09:53:42.258Z",
133145
"status": "added",
134-
"type": "text"
146+
"type": "text",
147+
"reactionAnnotations": [
148+
{
149+
"reactionId": "reaction_001",
150+
"emoji": "👍",
151+
"from": {
152+
"userId": "user456",
153+
"name": "Jane Smith",
154+
"email": "jane.smith@example.com"
155+
},
156+
"createdAt": "2024-06-20T09:55:00Z"
157+
}
158+
]
135159
}
136160
]
137161
}

temp-release-notes.mdx

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
<Update label="4.5.6-beta.17" description="October 17, 2025">
2+
3+
### New Features
4+
5+
- [**Comments**]: Added `markAsRead()` and `markAsUnread()` methods to mark comment annotations as read or unread for the current user.
6+
7+
<Tabs>
8+
<Tab title="React / Next.js">
9+
```jsx
10+
// Using Hooks
11+
const commentElement = useCommentUtils();
12+
13+
commentElement.markAsUnread("eUgq6G6zXxJmOT9eBXtT");
14+
commentElement.markAsRead("eUgq6G6zXxJmOT9eBXtT");
15+
16+
// Using API methods
17+
const commentElement = client.getCommentElement();
18+
19+
commentElement.markAsUnread("eUgq6G6zXxJmOT9eBXtT");
20+
commentElement.markAsRead("eUgq6G6zXxJmOT9eBXtT");
21+
```
22+
</Tab>
23+
<Tab title="Other Frameworks">
24+
```jsx
25+
const commentElement = Velt.getCommentElement();
26+
27+
commentElement.markAsUnread("eUgq6G6zXxJmOT9eBXtT");
28+
commentElement.markAsRead("eUgq6G6zXxJmOT9eBXtT");
29+
```
30+
</Tab>
31+
</Tabs>
32+
33+
### Improvements
34+
35+
- [**Recorder**]: Added system sound capture when recording a browser tab.
36+
37+
- [**Comments**]: You can now tag users by copy-pasting their email address. Previously, only manually typed emails worked for tagging users not on the contact list.
38+
39+
- [**Comments**]: Added `viewedBy` and `reactionAnnotations` fields to comment annotation objects returned via REST APIs including [Get Comment Annotations](/api-reference/rest-apis/v2/comments-feature/comment-annotations/get-comment-annotations-v2) and [Get Comments](/api-reference/rest-apis/v2/comments-feature/comments/get-comments). These fields provide enhanced visibility into user engagement and reactions.
40+
41+
**`viewedBy`**: An array of User objects representing who has seen and read the comment annotation. Use this to track engagement, identify which stakeholders have reviewed feedback, or build custom read receipt indicators.
42+
43+
**`reactionAnnotations`**: An array of complete ReactionAnnotation objects containing the full reaction data for each comment. Each object includes the reaction ID, icon, user information, and metadata. Use this to display reaction counts, show who reacted with what emoji, or build custom reaction analytics.
44+
45+
```typescript
46+
// Comment Annotation Object
47+
{
48+
...
49+
comments: [
50+
{
51+
...
52+
reactionAnnotations?: ReactionAnnotation[]; // Complete reaction objects with full details
53+
}
54+
],
55+
viewedBy?: User[]; // Users who have seen and read this annotation
56+
}
57+
```
58+
59+
### Bug Fixes
60+
61+
- [**Recorder**]: Fixed an issue in the video editor where the playhead position was ignored after playback ended. When seeking or dragging the playhead after video completion, playback now correctly starts from the new position instead of always starting from the beginning.
62+
63+
</Update>
64+
65+
66+
<Update label="4.5.6-beta.16" description="October 17, 2025">
67+
68+
### Improvements
69+
70+
- [**Comments**]: Released v2 improved version of comment anchoring that makes comment positioning more dynamic and robust on more dynamic websites. This includes enhanced element detection for pin, text, and area comments, improved cursor display based on DOM element visibility, and better handling of image tag positioning with conditional relative positioning for container elements.
71+
72+
</Update>
73+
74+
75+
<Update label="4.5.6-beta.15" description="October 16, 2025">
76+
77+
### Bug Fixes
78+
79+
- [**Comments**]: Fixed an issue where draft comments with resolvers were incorrectly submitted before being finalized, causing data inconsistencies. Draft comments with resolvers now work properly and are only saved when explicitly published.
80+
81+
- [**Access Control**]: Fixed an issue where organization access permissions were not being set correctly when using the permission provider. When users logged in, their organization-level permissions were failing to initialize properly. Organization access now gets assigned correctly during the identification process.
82+
83+
</Update>

0 commit comments

Comments
 (0)