@clickview/ship-it 0.0.52 → 0.0.53

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/Dockerfile CHANGED
@@ -1,4 +1,4 @@
1
- FROM node:18.11.0
1
+ FROM node:22.14.0
2
2
 
3
3
  WORKDIR /app
4
4
 
@@ -18,8 +18,6 @@ ENV cliOptions=""
18
18
 
19
19
  RUN npm config set '//registry.npmjs.org/:_authToken' $npm_token
20
20
  RUN npm config set save-exact=true
21
- # Note: As of writing, NPM versions beyond 8.5.5 cannot run `npm ci` without failing. Once this is fixed, the line below should be deleted
22
- RUN npm install -g npm@8.5.5
23
21
 
24
22
  # Install NPM packages
25
23
  RUN npm install
@@ -85,20 +85,15 @@ var SlackApiClient = /** @class */ (function () {
85
85
  };
86
86
  SlackApiClient.prototype.uploadFileToChannel = function (message, fileName, threadTs) {
87
87
  return __awaiter(this, void 0, void 0, function () {
88
- var uploadResponse, error_2;
88
+ var error_2;
89
89
  return __generator(this, function (_a) {
90
90
  switch (_a.label) {
91
91
  case 0:
92
92
  _a.trys.push([0, 2, , 3]);
93
- return [4 /*yield*/, this.client.files.uploadV2({
94
- channel_id: this.config.channelId,
95
- content: message,
96
- filename: fileName,
97
- thread_ts: threadTs,
98
- })];
99
- case 1:
100
- uploadResponse = _a.sent();
101
- return [2 /*return*/, uploadResponse];
93
+ return [4 /*yield*/, this.uploadFile(message, fileName, threadTs)];
94
+ case 1:
95
+ // If the message is too long, upload it as a file
96
+ return [2 /*return*/, _a.sent()];
102
97
  case 2:
103
98
  error_2 = _a.sent();
104
99
  utils_1.Logger.logError('Error uploading message:', error_2.message);
@@ -110,7 +105,7 @@ var SlackApiClient = /** @class */ (function () {
110
105
  };
111
106
  SlackApiClient.prototype.replyInThread = function (message, threadTs, sendAsFile) {
112
107
  return __awaiter(this, void 0, void 0, function () {
113
- var formatedMessage, response, uploadResponse, error_3;
108
+ var formatedMessage, response, error_3;
114
109
  return __generator(this, function (_a) {
115
110
  switch (_a.label) {
116
111
  case 0:
@@ -125,15 +120,10 @@ var SlackApiClient = /** @class */ (function () {
125
120
  case 1:
126
121
  response = _a.sent();
127
122
  return [2 /*return*/, response];
128
- case 2: return [4 /*yield*/, this.client.files.uploadV2({
129
- channel_id: this.config.channelId,
130
- content: message,
131
- filename: 'releaseData.md',
132
- thread_ts: threadTs,
133
- })];
134
- case 3:
135
- uploadResponse = _a.sent();
136
- return [2 /*return*/, uploadResponse];
123
+ case 2: return [4 /*yield*/, this.uploadFile(message, 'releaseData.md', threadTs)];
124
+ case 3:
125
+ // If the message is too long, upload it as a file
126
+ return [2 /*return*/, _a.sent()];
137
127
  case 4:
138
128
  error_3 = _a.sent();
139
129
  utils_1.Logger.logError('Error uploading message:', error_3.message);
@@ -198,6 +188,12 @@ var SlackApiClient = /** @class */ (function () {
198
188
  SlackApiClient.prototype.createTextFileMessage = function (fileContent) {
199
189
  return "```\n".concat(fileContent, "\n```");
200
190
  };
191
+ SlackApiClient.prototype.uploadFile = function (content, filename, threadTs) {
192
+ var channel_id = this.config.channelId;
193
+ return threadTs
194
+ ? this.client.files.uploadV2({ channel_id: channel_id, content: content, filename: filename, thread_ts: threadTs })
195
+ : this.client.files.uploadV2({ channel_id: channel_id, content: content, filename: filename });
196
+ };
201
197
  SlackApiClient = __decorate([
202
198
  (0, inversify_1.injectable)(),
203
199
  __param(0, (0, inversify_1.inject)(types_1.MISC.SlackConfig)),
@@ -47,45 +47,59 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
47
47
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
48
48
  }
49
49
  };
50
- var __importDefault = (this && this.__importDefault) || function (mod) {
51
- return (mod && mod.__esModule) ? mod : { "default": mod };
52
- };
53
50
  Object.defineProperty(exports, "__esModule", { value: true });
54
51
  exports.TeamCityApiClient = void 0;
55
52
  require("reflect-metadata");
56
- var teamcity_rest_api_1 = __importDefault(require("teamcity-rest-api"));
57
53
  var inversify_1 = require("inversify");
58
54
  var types_1 = require("../../types");
59
55
  var TeamCityApiClient = /** @class */ (function () {
60
56
  function TeamCityApiClient(config) {
61
- this.client = teamcity_rest_api_1.default.create(config);
57
+ // config.url may carry a trailing slash (e.g. "http://build.cvinternal.net/")
58
+ this.baseUrl = "".concat(config.url.replace(/\/+$/, ''), "/httpAuth/app/rest");
59
+ this.authHeader = "Basic ".concat(Buffer.from("".concat(config.username, ":").concat(config.password)).toString('base64'));
62
60
  }
63
61
  TeamCityApiClient.prototype.startBuild = function (buildId, branchName) {
64
62
  return __awaiter(this, void 0, void 0, function () {
65
- var buildXml, build;
63
+ var buildXml;
66
64
  return __generator(this, function (_a) {
67
- switch (_a.label) {
68
- case 0:
69
- buildXml = "\n <build branchName=\"".concat(branchName, "\">\n <buildType id=\"").concat(buildId, "\" />\n </build>\n ");
70
- return [4 /*yield*/, this.client.builds.startBuild(buildXml)];
71
- case 1:
72
- build = _a.sent();
73
- return [2 /*return*/, build];
74
- }
65
+ buildXml = "\n <build branchName=\"".concat(branchName, "\">\n <buildType id=\"").concat(buildId, "\" />\n </build>\n ");
66
+ return [2 /*return*/, this.queueBuild(buildXml)];
75
67
  });
76
68
  });
77
69
  };
78
70
  TeamCityApiClient.prototype.startCustomBuild = function (buildId, branchName, pList) {
79
71
  return __awaiter(this, void 0, void 0, function () {
80
- var buildXml, build;
72
+ var buildXml;
81
73
  return __generator(this, function (_a) {
82
- switch (_a.label) {
83
- case 0:
84
- buildXml = "\n <build branchName=\"".concat(branchName, "\">\n <buildType id=\"").concat(buildId, "\" />\n <properties>\n <property name=\"ProjectList\" value=\"").concat(pList, "\"/>\n <property name=\"ReleaseEnvironment\" value=\"rc\"/>\n <property name=\"TriggerProjectBuilds\" value=\"all\"/>\n </properties>\n </build>\n ");
85
- return [4 /*yield*/, this.client.builds.startBuild(buildXml)];
74
+ buildXml = "\n <build branchName=\"".concat(branchName, "\">\n <buildType id=\"").concat(buildId, "\" />\n <properties>\n <property name=\"ProjectList\" value=\"").concat(pList, "\"/>\n <property name=\"ReleaseEnvironment\" value=\"rc\"/>\n <property name=\"TriggerProjectBuilds\" value=\"all\"/>\n </properties>\n </build>\n ");
75
+ return [2 /*return*/, this.queueBuild(buildXml)];
76
+ });
77
+ });
78
+ };
79
+ TeamCityApiClient.prototype.queueBuild = function (buildXml) {
80
+ return __awaiter(this, void 0, void 0, function () {
81
+ var res, _a, _b, _c;
82
+ return __generator(this, function (_d) {
83
+ switch (_d.label) {
84
+ case 0: return [4 /*yield*/, fetch("".concat(this.baseUrl, "/buildQueue"), {
85
+ method: 'POST',
86
+ headers: {
87
+ 'Authorization': this.authHeader,
88
+ 'Content-Type': 'application/xml',
89
+ 'Accept': 'application/json',
90
+ },
91
+ body: buildXml,
92
+ signal: AbortSignal.timeout(20000)
93
+ })];
86
94
  case 1:
87
- build = _a.sent();
88
- return [2 /*return*/, build];
95
+ res = _d.sent();
96
+ if (!!res.ok) return [3 /*break*/, 3];
97
+ _a = Error.bind;
98
+ _c = (_b = "TeamCity buildQueue request failed: ".concat(res.status, " ").concat(res.statusText, " - ")).concat;
99
+ return [4 /*yield*/, res.text()];
100
+ case 2: throw new (_a.apply(Error, [void 0, _c.apply(_b, [_d.sent()])]))();
101
+ case 3: return [4 /*yield*/, res.json()];
102
+ case 4: return [2 /*return*/, (_d.sent())];
89
103
  }
90
104
  });
91
105
  });
package/lib/src/index.js CHANGED
File without changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clickview/ship-it",
3
- "version": "0.0.52",
3
+ "version": "0.0.53",
4
4
  "description": "Release Manager",
5
5
  "main": "./lib/index.js",
6
6
  "bin": {
@@ -19,25 +19,23 @@
19
19
  "license": "ISC",
20
20
  "dependencies": {
21
21
  "@gitbeaker/node": "35.6.0",
22
- "@slack/web-api": "6.11.2",
23
- "@slack/webhook": "7.0.2",
22
+ "@slack/web-api": "7.9.0",
24
23
  "chalk": "4.1.2",
25
24
  "commander": "9.1.0",
26
25
  "fast-csv": "4.3.6",
27
26
  "fs-extra": "10.0.1",
28
27
  "inversify": "6.0.1",
29
28
  "jira.js": "5.3.1",
30
- "lodash": "4.17.21",
29
+ "lodash": "4.18.1",
31
30
  "reflect-metadata": "0.1.13",
32
31
  "semver": "7.3.5",
33
- "teamcity-rest-api": "0.0.8",
34
32
  "trello": "0.11.0"
35
33
  },
36
34
  "devDependencies": {
37
35
  "@clickview/eslint-config": "1.0.3",
38
36
  "@types/fs-extra": "9.0.13",
39
37
  "@types/lodash": "4.14.181",
40
- "@types/node": "17.0.23",
38
+ "@types/node": "22.14.0",
41
39
  "@types/semver": "7.3.9",
42
40
  "@typescript-eslint/eslint-plugin": "6.21.0",
43
41
  "@typescript-eslint/parser": "6.21.0",
@@ -48,4 +46,4 @@
48
46
  "tsconfig-paths": "3.14.1",
49
47
  "typescript": "5.3.3"
50
48
  }
51
- }
49
+ }
@@ -1,10 +0,0 @@
1
- {
2
- "permissions": {
3
- "allow": [
4
- "Bash(grep -r release /Users/varun.singh/Desktop/cv-projects/ship-it --include=*.ts --include=*.js)",
5
- "Bash(ls /Users/varun.singh/Desktop/cv-projects/ship-it/config*)",
6
- "Bash(ls /Users/varun.singh/Desktop/cv-projects/ship-it/*.json)",
7
- "Bash(grep -E \"^\\(axios|node-fetch|got|undici\\)$\")"
8
- ]
9
- }
10
- }
@@ -1,49 +0,0 @@
1
- projectName,mrTitle,mrAuthor,mrAssignee,mrUrl,notes
2
- clickview,Lite: Incremental exports for Marc,Shale Kuzmanovski,Nischal Shrestha,https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/5708,"# Lite
3
- - Added a link to our KB article about exporting libraries to the export libraries settings page.
4
- - When selecting the `MARC 21 V2` or `MARC XML` library export formats. Admins can now additionally select from which date they would like the export to start from. Implements INBOX-9351.
5
-
6
- ![image](/uploads/c2a21befd2de8a2dd44e73a59a5a81e3/image.png)"
7
- clickview,Lite: SearchV2 - Enable public access,Nischal Shrestha,Shale Kuzmanovski,https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/5699,"# Lite
8
- * Enable new search for public access."
9
- clickview,Player: Fix captions bug with theatre mode,Shale Kuzmanovski,Nan Chen,https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/5690,"# Player
10
- - Fixed a bug where captions wouldn't reposition when toggling between theatre mode and default mode. Fixes INBOX-9276."
11
- clickview,User man - Super admin support,Nan Chen,Joshua Taylor,https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/5687,"# Lite
12
- - In the Curator user manager, a super admin account can be created and edited:
13
-
14
- ![Screenshot_2025-06-19_at_8.52.00_am](/uploads/17b00c4d068880871d9b51d37509f076/Screenshot_2025-06-19_at_8.52.00_am.png)
15
-
16
- ![image](/uploads/ac959cb3cf188747ba2a2c97c353ad1b/image.png)
17
- - For a Super Admin account, they can create/edit another Super Admin staff account:
18
- ![image](/uploads/9f8cc51ec6f3fe707c804be1b73ca19a/image.png)
19
- - For an ordinary Admin, they cannot create/edit a Super Admin staff:
20
- ![image](/uploads/0ca0a42ca33357e65bdecd55ccad1f4b/image.png)
21
- - In Lite, a non-super admin cannot update a super admin account (edit, deactivate, remove etc.)
22
- ![image](/uploads/3c5ff12844f1adc13ae6288b13bbf4ba/image.png)"
23
- clickview,User man - Support superAdmin badge,Nan Chen,Joshua Taylor,https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/5671,"# Lite
24
- * If a user is a Super Admin, it should display a badge to differentiate from an Admin. For AU/UK it's called `Org Admin`, for US it's `District Admin`.
25
- ![Screenshot 2025-06-17 at 1.21.43 pm.png](/uploads/fecf7e3c85fe2ef60b7f65125899728c/Screenshot_2025-06-17_at_1.21.43_pm.png)
26
- ![image.png](/uploads/88184f5bb5396dd4b87938780c9d1aba/image.png)
27
-
28
- # Curator
29
- * If a user is a Super Admin, it should display a badge to differentiate from an Admin. For AU/UK it's called `Org Admin`, for US it's `District Admin`.
30
- ![Screenshot 2025-06-17 at 1.21.43 pm.png](/uploads/fecf7e3c85fe2ef60b7f65125899728c/Screenshot_2025-06-17_at_1.21.43_pm.png)
31
- ![image.png](/uploads/88184f5bb5396dd4b87938780c9d1aba/image.png)"
32
- clickview,Player: Allow looping videos,Shale Kuzmanovski,Boris Berak,https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/5666,"# Player
33
- - The player now provides the option for the video to be looped. Note: Turning on play next video will turn off loop video, and vice versa. Implements PLAY-243.
34
-
35
- ![image](/uploads/a3302899794ec21a1fd5d924c7b9a4d8/image.png)
36
- - Fix the casing of the player's menu items."
37
- clickview,Curator: POI form safeguard,Joshua Taylor,Shale Kuzmanovski,https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/5665,"# Curator
38
- - In the Points of Interest form in the content pipeline, if you manually add/edit a POI and accidentally click on the ""X"", you are shown a warning then asked to click X again before actually closing the form."
39
- clickview,Player: Captions indicator,Shale Kuzmanovski,Boris Berak,https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/5663,"# Player
40
- - The player will now indicate if captions and theatre mode are switched on. Implements INBOX-8757.
41
-
42
- ![image](/uploads/7a3b9cd1fa69ee27723e153d8ea5c3cc/image.png)"
43
- clickview,Shared - Fix img overflow issue,Nan Chen,Nischal Shrestha,https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/5661,"# Lite
44
- - Fix an issue where the images start to overflow the containers on the login page.
45
- ![image](/uploads/497a18019f0c54853c51c8d5ce7b1cf4/image.png)"
46
- File.Api,Support utf8 file name,Ryan Wang,Prad Nepal,https://gitlab.cvinternal.net/clickview/back-end/File.Api/-/merge_requests/65,* Fixed an issue where file uploaded with UTF-8 characters file name have these characters stripped when downloading them. Closes INBOX-9210
47
- Tv.Web,"Add 7twoHd Perth small channel logo, partially implements INBOX-9165",Wei Zong,Ryan Wang,https://gitlab.cvinternal.net/clickview/back-end/tv/Tv.Web/-/merge_requests/255,"* Customer shoud see the new 7twoHD channels in 5 AU resions. The old `7two` channel should be disabled
48
- * Rename `ABC Entertains` to `ABC Entertains HD`
49
- * Rename `ABC News 24` to `ABC News HD`"
@@ -1,117 +0,0 @@
1
- projectName,mrTitle,mrAuthor,mrAssignee,mrUrl,notes
2
- ClickView.Curator,Remove audience validation,Jorge Arai,Prad Nepal,https://gitlab.cvinternal.net/clickview/front-end/ClickView.Curator/-/merge_requests/1757,- Audiences shouldn't be validated anymore as this would be auto-synced in Subjects.Api
3
- Master.Auth,IP Auth,Cameron Hill,Ryan Wang,https://gitlab.cvinternal.net/clickview/back-end/Master.Auth/-/merge_requests/760,- Added new IP Authentication feature
4
- Image.Api,Updating the no website image placeholder,Shale Kuzmanovski,Kevin Wellalagodage,https://gitlab.cvinternal.net/clickview/back-end/Image.Api/-/merge_requests/157,"- Updating the placeholder image for a website. Partially implements INBOX-9665.
5
-
6
- ![image](/uploads/cfb07628dce7b3c0c6f1f79c39a2c6f4/image.png)"
7
- clickview,Auth: Adding basic support for logging in as guests,Boris Berak,Shale Kuzmanovski,https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/5837,"# Auth
8
- - When users are logging into the product from a school that has been configured with IP Auth, they will have to option to quickly sign-in as a guest. This means staff and students will have the option to bypass logging in with a username and password. **Note: this feature is currently not even in Early Access, so most customers will not see it yet. We also want to do a proper go to market before giving this to actual customers.**
9
- - ![CleanShot_2025-09-05_at_09.46.29](/uploads/7f3612d7921408e1b0f05313cb6a5889/CleanShot_2025-09-05_at_09.46.29.png)"
10
- clickview,Curator - Add a warning for ai dashboard creation modal,Nan Chen,Michael McDonnell,https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/5836,"# Curator
11
- - Added a warning in creating an AI-generated dashboard modal if a topic has more than 30 videos.
12
- - ![image](/uploads/c1c2ac48df66911b3eb396582282ff2c/image.png)"
13
- clickview,Shared: Basic IP Auth Support,Boris Berak,Shale Kuzmanovski,https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/5833,"# Shared
14
- - Schools that have been configured with IP authentication will now allow staff and students to log into ClickView as ""guests"".
15
- - Guest accounts are easy to use because they don't require a username or password to log in and watch content. However, the experience is limited compared to regular accounts.
16
- - Specifically - guests will not be able to upload content; create clips or interactives; use playlists; favourite videos; share videos; access classrooms; access settings. The experience is very-much read only.
17
- - Note: this is an early preview of the IP Auth feature which will require a proper GTM before being rolled out to customers.
18
- - How the product looks when signed in as a guest: ![CleanShot_2025-09-05_at_10.14.06](/uploads/84ad6b47b45b12a2b68611965fb0b239/CleanShot_2025-09-05_at_10.14.06.png)
19
- - How the play page looks with a guest account: ![CleanShot_2025-09-05_at_10.14.47](/uploads/0f2a03a5c8b0fa0638162c4f049a0bb8/CleanShot_2025-09-05_at_10.14.47.png)
20
- - The user drop-down menu is quite limited for guests: ![CleanShot_2025-09-05_at_10.15.51](/uploads/7f1c30eb20b5c0999924bb381b9be0b0/CleanShot_2025-09-05_at_10.15.51.png)"
21
- clickview,Lite: New _canBeConsumed error code for students,Shale Kuzmanovski,Boris Berak,https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/5832,"# Lite
22
- - Added a new error for students who directly visit the url of a video they cannot access (For example exchange video urls). Implements INBOX-9610.
23
-
24
- ![image](/uploads/0296098bf3f2660e01721ff133bc12c2/image.png)"
25
- clickview,Curator - Update video curated toics table,Nan Chen,Nan Chen,https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/5831,"# Curator
26
- - Moved the video curated topics table to a new tab. A presentation filter dropdown was added.
27
- - ![image](/uploads/c915ead95f1c3a8f12a911c2aa18e981/image.png){width=""1201"" height=""529""}"
28
- clickview,Lite: Sign up improvements,Shale Kuzmanovski,Nischal Shrestha,https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/5830,"# Lite
29
- - Adding ""Business Manager"" as a job title for AU sign ups. Partially implements INBOX-9628.
30
- - Fixed a bug where clicking ""Update email address"" in the confirmation step of a sign up could send a student back to the start of the sign up flow, but as a teacher.
31
- - Increased the cut off age for sign ups to 16 years of age. This change is being made to adhere with requests from ERA."
32
- clickview,Lite: Share 2.0 Feedback,Shale Kuzmanovski,Boris Berak,https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/5829,"# Lite
33
- - When viewing student results for share links and assignments, students names are now split into First name and Last name, and can be sorted independently. This is both in the interactive student list, and in the heatmap.
34
-
35
- ![image](/uploads/46a7f4ca3481c182e11f8029458c56fc/image.png)
36
-
37
- ![image](/uploads/b6760c30451188de58e6fd1e0caa2d34/image.png)
38
- - When viewing an open classroom, the ClickView logo in the top left is disabled, so that younger learners do not navigate away from their shared video and start browsing M+TV.
39
- - Reworked the status indicators at the top of the insights pages, based on feedback that the previous version looked clickable.
40
-
41
- ![image](/uploads/563027d8a909cba4a9f1bab71d60e7bb/image.png)
42
- - Added the ability to assign a video to another classroom in the success popup when assigning. This change comes from feedback that some teachers assign the same video to multiple classrooms.
43
-
44
- ![image](/uploads/a11ee5b94a9c9dd57600cc9ee54ae520/image.png)
45
- - Updated the breadcrumbs for classroom assignment insights, which will now show the classroom the assignment is assigned to.
46
-
47
- ![image](/uploads/24461d7e5533d2341e53e6c450f07c27/image.png)
48
- - Added the ability to see other assignments created for a video directly from the insights page. Again this comes from feedback that some teachers assign the same video to multiple classrooms.
49
-
50
- ![image](/uploads/679babea52a3ae5d98100e8c77ceaabe/image.png)
51
-
52
- ![image](/uploads/09f66157c014671f69c5e6f6029fc94d/image.png)
53
- - Shares and assignments will now be sorted by the date that they were last shared. Sharing includes
54
- - Creating a new share link or assign
55
- - Copying a share link or embed code
56
- - Embedding a share into a plugin
57
- - Copying a join code or presenting a join code in full screen
58
- - Printing, downloading or presenting a QR code in full screen
59
- - All teachers that are assigned to a classroom can now view all assignments and results for that classroom, previously only the teacher who assigned to video could see them.
60
- - The status tooltip text has been updated when there is no usage on the share or assignment yet.
61
-
62
- ![image](/uploads/1b3e9f8bbde2cf799e204ccecdda81d8/image.png)
63
- - The empty state for shares and assignments has been updated:
64
- - The CTA now matches the button in the header
65
- - There is now a link to a KB article
66
- - Fixed an issue where the status tooltip was not correctly identifying shares and assignments that require marking.
67
-
68
- ![image](/uploads/14e814a71c0b2fd0af2d72cc6c222e7f/image.png)
69
- - Fixed an issue where the ""marking required"" status indicator would should incorrectly if you shared the same interactive multiple times"
70
- clickview,Crm studio - Support editing org rostering school mappings,Nan Chen,Michael McDonnell,https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/5827,"# Curator
71
- * Implemented the `Edit school mapping` feature. When there's no running sync job, the rostering mapping can be edited.
72
- ![Screenshot 2025-08-29 at 4.19.08 PM.png](/uploads/0de690fdab346de4ee383a67e22a1835/Screenshot_2025-08-29_at_4.19.08_PM.png)"
73
- clickview,Content pipeline - Leaf topic only in the edit topic form,Nan Chen,Shale Kuzmanovski,https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/5822,"# Curator
74
- * Only show the leaf topic path in the content pipeline 'Topics' form.
75
- *
76
- | Before | After |
77
- |--------|-------|
78
- | ![image.png](/uploads/7c0add6339314c50bab707e26c1dcb41/image.png) | ![image.png](/uploads/7a24dadd57469b5e5df47f353ea09377/image.png) |"
79
- clickview,Curator - Allow publishing top level topic dashboard outside content pipeline,Nan Chen,Shale Kuzmanovski,https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/5820,"# Curator
80
- * Allow publishing the top-level topic dashboard outside the content pipeline.
81
- | Before | After |
82
- |--------|-------|
83
- | ![image.png](/uploads/c0fba64ee81f2f061e91397d781ce492/image.png) | ![image.png](/uploads/bfc14cc48d0fd3e69d3cbc330c87d44e/image.png) |"
84
- clickview,Content pipeline - Make audiences column read-only,Nan Chen,Shale Kuzmanovski,https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/5819,"# Curator
85
- * As the backend will automatically populate audiences for video, manual input is not required, so we make the column read-only.
86
- * ![image.png](/uploads/ec7e1f6a8623fb791ba30b49edbbf1e6/image.png)
87
- * When a video is attached to a topic, the audience will be automatically added."
88
- clickview,Curator - Bulk remove videos from classification,Nan Chen,Michael McDonnell,https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/5816,"# Curator
89
- - In the classification videos tab, you can bulk select videos to remove them from the classification.
90
- - ![Screenshot_2025-08-21_at_4.31.36_PM](/uploads/1ed6220082e86f72300a07019d4cff81/Screenshot_2025-08-21_at_4.31.36_PM.png)"
91
- clickview,Content pipeline - Publish dashboard bypassing resources & thumbnail stage validation,Nan Chen,Michael McDonnell,https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/5811,"# Curator
92
- * We allow the curator team to publish the dashboard when some of the videos fail to pass validation in tags, resources, curated_thumbnail, thumbnail_review, and the glance and tags stages.
93
- * ![Screenshot_2025-09-04_at_2.15.31_PM](/uploads/57a11335abc99991d15e51d559d73499/Screenshot_2025-09-04_at_2.15.31_PM.png)"
94
- clickview,Lite: Resource image fallback,Shale Kuzmanovski,Nischal Shrestha,https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/5806,"# Lite
95
- - Updating the way the fallback image for resources looks. Partially implements INBOX-9665.
96
-
97
- ![image](/uploads/beba249487b15ff7d97b67764a702f8e/image.png)"
98
- clickview,Shared - Update badge style,Nan Chen,Michael McDonnell,https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/5804,"# Lite
99
- - Updated year group and admin badge in user manager to match our DS.
100
- - ![image](/uploads/5aa4b4f66a0b8d529a7478a00b26dc07/image.png)
101
- - ![image](/uploads/8f4700f1a0c1110b398ccb70047797a9/image.png)
102
-
103
- # Exchange
104
- - Updated TV program time badge style to match our DS.
105
- - ![image](/uploads/e498b21112227f1a05a785d46612d584/image.png)"
106
- Share.Api,Adding date shared to shares,Shale Kuzmanovski,Prad Nepal,https://gitlab.cvinternal.net/clickview/back-end/share.api/-/merge_requests/161,"- Shares will now be sorted by the date that they were last shared. Sharing includes
107
- - Crating a new share link or assign
108
- - Copying a share link or embed code
109
- - Embedding a share into a plugin
110
- - Copying a join code or presenting a join code in full screen
111
- - Printing, downloading or presenting a QR code in full screen"
112
- Share.Api,Allow classroom teachers to see all shares.,Shale Kuzmanovski,Prad Nepal,https://gitlab.cvinternal.net/clickview/back-end/share.api/-/merge_requests/160,"- Teachers can now see all shares made to a classroom.
113
- - Fixed a bug that was preventing teachers from accessing My Videos content shared to their classroom by other teachers.
114
- - Allow classroom teachers to delete shares"
115
- VideoProcessorService,Update logic for GetAvailableConversionProfiles to fix vertical videos,Cameron Hill,Ryan Wang,https://gitlab.cvinternal.net/clickview/back-end/VideoProcessorService/-/merge_requests/124,- Fix vertical videos not processing to the correct resolutions. Fixes INBOX-9762
116
- Braze Client,Data fixes,Nischal Shrestha,Shale Kuzmanovski,https://gitlab.cvinternal.net/clickview/front-end/braze-client/-/merge_requests/47,"* Throw if `source` is not provided in custom user attributes.
117
- * Validate `account_address` field before appending it to custom user attributes."
@@ -1,13 +0,0 @@
1
- projectName,mrTitle,mrAuthor,mrAssignee,mrUrl,notes
2
- Discover.Api,Use objects.api GetCollectionVideos in curated series,Jorge Arai,Prad Nepal,https://gitlab.cvinternal.net/clickview/back-end/discover.api/-/merge_requests/425,- N/A
3
- ClickView.Curator,Fix region flag is not shown in Content page,Nan Chen,Shale Kuzmanovski,https://gitlab.cvinternal.net/clickview/front-end/ClickView.Curator/-/merge_requests/1790,"- Fix an issue where the Curator region flag is not shown.
4
- - ![image](/uploads/dac5041ef65c3c48d7dc05b14a34ed93/image.png)"
5
- clickview,Curator - Show exchange & LE based on cft info,Nan Chen,Michael McDonnell,https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/5914,"# Curator
6
- * Display available products for a customer based on the current customer's CFT in CRM studio Customer \> Products page.
7
- * ![image.png](/uploads/316e4d61d45bf5847908909cccc6a736/image.png){width=491 height=343}"
8
- clickview,Curator - Fix clip resource saving infinite spinner,Nan Chen,Michael McDonnell,https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/5913,"# Curator
9
- * Fix an issue when saving resources for a clip, where an infinite loading spinner appears."
10
- clickview,Lite: Updating copy around join codes,Shale Kuzmanovski,Nischal Shrestha,https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/5901,"# Lite
11
- - Improving copy around join codes in Share 2.0. Implements INBOX-10282."
12
- Integrations.Api,stop sending activation email for rostered users without sso setup,Ryan Wang,Cameron Hill,https://gitlab.cvinternal.net/clickview/front-end/integrations.api/-/merge_requests/273,* Stop sending the activation email for rostered users even if they don't have SSO setup. Closes INBOX-10048
13
- Integrations.Api,Improve points of interesting generation for longer videos,Jorge Arai,Prad Nepal,https://gitlab.cvinternal.net/clickview/front-end/integrations.api/-/merge_requests/272,- AI-generated points of interest should consider the entire length of the video
@@ -1,57 +0,0 @@
1
- projectName,mrTitle,mrAuthor,mrAssignee,mrUrl,notes
2
- clickview,Lite: Fix classroom avatars in the insights heatmap,Shale Kuzmanovski,Boris Berak,https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/6273,"# Lite
3
- - Fix classroom avatars in the insights heatmap. Partially addresses INBOX-11438."
4
- clickview,Player: Fix missing qualities,Shale Kuzmanovski,Cameron Hill,https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/6271,"# Player
5
- - Fixed a bug that was preventing the last quality level from showing. Fixes TEST-357."
6
- clickview,Lite - Temporary use hardcoded presentation cover,Nan Chen,Nischal Shrestha,https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/6262,"# Lite
7
- - Update cover for US High presentation to use photo-style cover when the customer has the preferred theme set to be `photo`.
8
- - ![Screenshot_2026-04-29_at_3.31.50_PM](/uploads/4811491aea5423b3ae1528ee8d81a759/Screenshot_2026-04-29_at_3.31.50_PM.png)
9
- - ![image](/uploads/8ef383f6aebef326f323a2fc4fa1c630/image.png)"
10
- clickview,Curator: Displays presentation last updated information,Nischal Shrestha,Nan Chen,https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/6258,"# Curator
11
- * Displays the last updated time for presentations in the list view, providing users with a clear indicator of a presentation's freshness. Hovering over the time will show the exact date. Implements CC-1351."
12
- clickview,Fix - Update video status OGQL when fetching playlist,Nan Chen,Nischal Shrestha,https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/6256,"# Lite
13
- * Fix an issue when the count on the playlist tile on `/playlists` does not match the number of videos on the playlist page. Fixes INBOX-11120"
14
- clickview,Lite: Search - Fixes search-in tags flakey visibility,Nischal Shrestha,Nan Chen,https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/6244,"# Lite
15
- * Users will experience more reliable display of the ""Search in X"" tag when navigating to scoped search results, preventing instances where the tag might incorrectly disappear."
16
- clickview,Curator - Support remove video banner for a content partner,Nan Chen,Nischal Shrestha,https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/6240,"# Curator
17
- - Now you can remove the video banner for a content partner. And the Replace video button icon is replaced with an upload icon.
18
- - ![ScreenRecording2026-04-22at3.56.26PM-ezgif.com-video-to-gif-converter](/uploads/5ac25bebeed4639d5c34e593c90bad25/ScreenRecording2026-04-22at3.56.26PM-ezgif.com-video-to-gif-converter.gif)"
19
- clickview,Curator: Channels - Videos view,Nischal Shrestha,Nan Chen,https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/6238,"# Curator
20
- * Add a tab in manage channels where users can view all videos for that channel. Implements CC-1358.
21
- * Ability to add new videos to the channel
22
- * Ability to delete video(s) in the channel"
23
- clickview,Lite: Tutorial Videos,Vincent Sit,Shale Kuzmanovski,https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/6237,"# Lite
24
- This change should only be visible to users who are new to ClickView (accounts created less than 14 days ago). They will see an additional bar in the dashboard page that features a series of tutorial videos from ClickView. Implements LTE-3240
25
- Before: ![image](/uploads/d1def3f01d43d9296f45f423d2985db2/image.png)
26
- After: ↵ ↵ ![image.png](/uploads/6e392e736c60d26a59aaa953e03b68ef/image.png)
27
- The user can dismiss the tutorial video panel through the 'Hide' text button on the top right hand corner. Otherwise, once 14 days have lapsed since account creation, the panel will not be displayed."
28
- clickview,Shared - Fix visible svg icon id collision issue,Nan Chen,Nischal Shrestha,https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/6229,"# Curator
29
- - Fixed the visible-on and visible-off icons are not being shown correctly. Fixes INBOX-11338"
30
- clickview,Lite - Fix playlist member count not matching issue,Nan Chen,Nischal Shrestha,https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/6228,"# Lite
31
- - Fix an issue when the count on the playlist tile on `/playlists` does not match the number of videos on the playlist page. Fixes INBOX-11120"
32
- clickview,Improve the names generated from the anonymise name function,Cameron Hill,Boris Berak,https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/6227,"# Shared
33
- - Improve the names used for ""anonymise names"". Closes INBOX-10122"
34
- clickview,Player - Extend volume slider hit area to cover the full hover zone,Nan Chen,Shale Kuzmanovski,https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/6226,"# Player
35
- - Increase the hit area for the player volume bar."
36
- clickview,Lite: aligns classroom staff role pill design,Nischal Shrestha,Shale Kuzmanovski,https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/6224,"# Lite
37
- * Updates the visual design of the ""Admin"" and ""Owner"" role pills displayed next to teacher names in the classroom management view. Fixes INBOX-9615.
38
- | Before | After |
39
- |--------|-------|
40
- | ![image.png](/uploads/22e2f2dac34fc34d5b5d1188b5ee303a/image.png){width=1113 height=368} | ![image.png](/uploads/d4da6b2e47cbcf734168043b59001b19/image.png){width=1142 height=367} |"
41
- clickview,Lite - Add theme setting,Nan Chen,Nischal Shrestha,https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/6219,"# Lite
42
- - Added new Appearance setting for admin and it's only for customer who has US high presentation.
43
- - ![Screenshot 2026-04-15 at 3.49.28 PM.png](/uploads/e4b66779feb57ad252fcdc59de0710b8/Screenshot_2026-04-15_at_3.49.28_PM.png)
44
- - Admin can toggle theme for topic assets in the Appearance setting page:
45
- - ![Screenshot_2026-04-15_at_10.31.20_AM](/uploads/d677edda97011e72a2cb61b0b8f08900/Screenshot_2026-04-15_at_10.31.20_AM.png)"
46
- clickview,Curator: Channels - Enables delete for read-only 'all videos' widget,Nischal Shrestha,Nan Chen,https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/6218,"# Curator
47
- * Users can now delete specific read-only widgets, such as 'all videos' widgets in channels, from their dashboards. Implements CC-1357."
48
- clickview,Crm studio - IDP form update,Nan Chen,Boris Berak,https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/6216,"# Curator
49
- - Now in the IDP details section in the create IDP form, only the IDP name is required:
50
- - ![image](/uploads/6f6b63caa5359e3be5d01cc3cd85352a/image.png)
51
- - Removed the default value for the displayed name for Microsoft.
52
- - ![image](/uploads/d17c0eee9dbcee01ae8c3cb47616fd6e/image.png)"
53
- clickview,Lite - Fix player is rendered in hover mode on play page,Nan Chen,Shale Kuzmanovski,https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/6214,"# Lite
54
- * Fixes an issue when hovering on a pop-up video to preview the video, then clicking on the title in the pop-up card to go to the video play page. The play page is showing a non-interactive player. (no control bar)."
55
- clickview,Lite: Channels - Enables parent editing for channels,Nischal Shrestha,Nan Chen,https://gitlab.cvinternal.net/clickview/front-end/clickview/-/merge_requests/6211,"# Curator
56
- * Users can now update the parent of an existing content partner, as the selection field is no longer disabled during the editing process. Implements CC-1356."
57
- Master.Auth,Legacy saml check fixes,Cameron Hill,Kevin Wellalagodage,https://gitlab.cvinternal.net/clickview/back-end/Master.Auth/-/merge_requests/842,- Fix some SSO setups redirecting to the wrong SAML IDP on login. Fixes INBOX-11324