@proteinjs/user-server 1.9.0 → 1.10.0

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.
@@ -1,7 +1,13 @@
1
- import { UpdatePasswordResponse, UpdatedUser, UpdateUserInfoService } from '@proteinjs/user';
1
+ import { UpdatePasswordResponse, UpdatedUser, UpdateUserInfoService, AvatarCrop } from '@proteinjs/user';
2
2
  export declare class UpdateUserInfo implements UpdateUserInfoService {
3
- /** Stored avatar photos are exactly this: cover-cropped square JPEG. */
4
- private static readonly AVATAR_SIZE;
3
+ /**
4
+ * Stored avatar photos are square JPEGs capped at this edge — and never ENLARGED to it: a
5
+ * source (or crop) smaller than the cap keeps its honest pixel count. Upscaling a small photo
6
+ * to a fixed 512 invents pixels that read as permanent blur on every chip that renders it
7
+ * (the founder's fuzzy-avatar defect); the display layer downscales crisply from whatever
8
+ * honest size is stored.
9
+ */
10
+ private static readonly AVATAR_MAX_SIZE;
5
11
  private static readonly AVATAR_JPEG_QUALITY;
6
12
  private static readonly MAX_AVATAR_PHOTO_BYTES;
7
13
  private static readonly ACCEPTED_AVATAR_MIME_TYPES;
@@ -16,7 +22,7 @@ export declare class UpdateUserInfo implements UpdateUserInfoService {
16
22
  };
17
23
  updateName(name: string): Promise<UpdatedUser>;
18
24
  updatePassword(currentPassword: string, newPassword: string): Promise<UpdatePasswordResponse>;
19
- updateAvatarPhoto(fileData: string, mimeType: string): Promise<UpdatedUser>;
25
+ updateAvatarPhoto(fileData: string, mimeType: string, crop?: AvatarCrop): Promise<UpdatedUser>;
20
26
  updateAvatarEmoji(emoji: string): Promise<UpdatedUser>;
21
27
  clearAvatar(): Promise<UpdatedUser>;
22
28
  /**
@@ -36,7 +42,11 @@ export declare class UpdateUserInfo implements UpdateUserInfoService {
36
42
  */
37
43
  private saveUserInfo;
38
44
  /**
39
- * Minimal avatar pipeline: decode, auto-orient from EXIF, cover-crop square, re-encode JPEG.
45
+ * THE avatar image pipeline — the only place avatar pixels are ever resampled: decode,
46
+ * auto-orient from EXIF, extract the crop frame (client-framed, or the centered square),
47
+ * one high-quality resize down to at most AVATAR_MAX_SIZE (never up), re-encode JPEG.
48
+ * Clients send ORIGINAL bytes; a client-side canvas export would resample a second time
49
+ * (and with the browser's low-default smoothing), baking blur into the stored master.
40
50
  * sharp drops metadata (EXIF orientation/GPS) on re-encode by default — the stored avatar
41
51
  * carries no camera metadata. HEIC/HEIF (default iPhone camera format) is decoded with WASM
42
52
  * libheif (`heic-decode`) because sharp's prebuilt libvips has no HEVC decoder. NOTE: this
@@ -44,6 +54,18 @@ export declare class UpdateUserInfo implements UpdateUserInfoService {
44
54
  * package cannot import (layering) — future extraction target: a shared image-transform seam.
45
55
  */
46
56
  private toAvatarJpeg;
57
+ /**
58
+ * The decoded image's dimensions in DISPLAYED (EXIF-oriented) pixel space — the space the
59
+ * client framed its crop in, and the space `.rotate()` makes `.extract` operate in.
60
+ * Orientations 5-8 transpose the encoded axes.
61
+ */
62
+ private orientedDimensions;
63
+ /**
64
+ * Resolve the crop request against the real image: round to whole pixels and clamp fully
65
+ * inside the oriented bounds, staying square. Absent crop = the centered square (identical
66
+ * to the old `fit: cover` center-crop, so no-crop clients keep byte-equivalent behavior).
67
+ */
68
+ private clampCrop;
47
69
  private decodeHeic;
48
70
  }
49
71
  //# sourceMappingURL=UpdateUserInfo.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"UpdateUserInfo.d.ts","sourceRoot":"","sources":["../../../src/services/UpdateUserInfo.ts"],"names":[],"mappings":"AAIA,OAAO,EAA0B,sBAAsB,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAIrH,qBAAa,cAAe,YAAW,qBAAqB;IAC1D,wEAAwE;IACxE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAO;IAC1C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAM;IACjD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAoB;IAClE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,0BAA0B,CAMhD;IACF,mGAAmG;IACnG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAAM;IACrD,mGAAmG;IACnG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAiF;IAE/G,eAAe;;;;MAIpB;IAEI,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAI9C,cAAc,CAAC,eAAe,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAkD7F,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAoB3E,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IActD,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC;IAIzC;;;;;OAKG;YACW,SAAS;IAWvB;;;;;;;OAOG;YACW,YAAY;IAW1B;;;;;;;OAOG;YACW,YAAY;YAWZ,UAAU;CAMzB"}
1
+ {"version":3,"file":"UpdateUserInfo.d.ts","sourceRoot":"","sources":["../../../src/services/UpdateUserInfo.ts"],"names":[],"mappings":"AAIA,OAAO,EAIL,sBAAsB,EACtB,WAAW,EACX,qBAAqB,EACrB,UAAU,EACX,MAAM,iBAAiB,CAAC;AAIzB,qBAAa,cAAe,YAAW,qBAAqB;IAC1D;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAO;IAC9C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAM;IACjD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAoB;IAClE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,0BAA0B,CAMhD;IACF,mGAAmG;IACnG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAAM;IACrD,mGAAmG;IACnG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAiF;IAE/G,eAAe;;;;MAIpB;IAEI,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAI9C,cAAc,CAAC,eAAe,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAkD7F,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC;IAoB9F,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IActD,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC;IAIzC;;;;;OAKG;YACW,SAAS;IAWvB;;;;;;;OAOG;YACW,YAAY;IAW1B;;;;;;;;;;;OAWG;YACW,YAAY;IAe1B;;;;OAIG;YACW,kBAAkB;IAahC;;;;OAIG;IACH,OAAO,CAAC,SAAS;YAmBH,UAAU;CAMzB"}
@@ -136,7 +136,7 @@ var UpdateUserInfo = /** @class */ (function () {
136
136
  });
137
137
  });
138
138
  };
139
- UpdateUserInfo.prototype.updateAvatarPhoto = function (fileData, mimeType) {
139
+ UpdateUserInfo.prototype.updateAvatarPhoto = function (fileData, mimeType, crop) {
140
140
  return __awaiter(this, void 0, void 0, function () {
141
141
  var imageBytes, jpeg, file;
142
142
  return __generator(this, function (_a) {
@@ -149,7 +149,7 @@ var UpdateUserInfo = /** @class */ (function () {
149
149
  if (imageBytes.length > UpdateUserInfo.MAX_AVATAR_PHOTO_BYTES) {
150
150
  throw new Error("Avatar photo is too large (max 10MB)");
151
151
  }
152
- return [4 /*yield*/, this.toAvatarJpeg(imageBytes, mimeType)];
152
+ return [4 /*yield*/, this.toAvatarJpeg(imageBytes, mimeType, crop)];
153
153
  case 1:
154
154
  jpeg = _a.sent();
155
155
  return [4 /*yield*/, new db_file_1.FileStorage().createFile({ name: 'avatar.jpg', type: 'image/jpeg', size: jpeg.length }, jpeg.toString('base64'))];
@@ -250,38 +250,91 @@ var UpdateUserInfo = /** @class */ (function () {
250
250
  });
251
251
  };
252
252
  /**
253
- * Minimal avatar pipeline: decode, auto-orient from EXIF, cover-crop square, re-encode JPEG.
253
+ * THE avatar image pipeline — the only place avatar pixels are ever resampled: decode,
254
+ * auto-orient from EXIF, extract the crop frame (client-framed, or the centered square),
255
+ * one high-quality resize down to at most AVATAR_MAX_SIZE (never up), re-encode JPEG.
256
+ * Clients send ORIGINAL bytes; a client-side canvas export would resample a second time
257
+ * (and with the browser's low-default smoothing), baking blur into the stored master.
254
258
  * sharp drops metadata (EXIF orientation/GPS) on re-encode by default — the stored avatar
255
259
  * carries no camera metadata. HEIC/HEIF (default iPhone camera format) is decoded with WASM
256
260
  * libheif (`heic-decode`) because sharp's prebuilt libvips has no HEVC decoder. NOTE: this
257
261
  * duplicates the HEIC-normalization approach of chat-server's FileTransformer, which this
258
262
  * package cannot import (layering) — future extraction target: a shared image-transform seam.
259
263
  */
260
- UpdateUserInfo.prototype.toAvatarJpeg = function (imageBytes, mimeType) {
264
+ UpdateUserInfo.prototype.toAvatarJpeg = function (imageBytes, mimeType, crop) {
261
265
  return __awaiter(this, void 0, void 0, function () {
262
- var pipeline, _a;
263
- return __generator(this, function (_b) {
264
- switch (_b.label) {
266
+ var pipeline, _a, _b, width, height, frame, target;
267
+ return __generator(this, function (_c) {
268
+ switch (_c.label) {
265
269
  case 0:
266
270
  if (!(mimeType === 'image/heic' || mimeType === 'image/heif')) return [3 /*break*/, 2];
267
271
  return [4 /*yield*/, this.decodeHeic(imageBytes)];
268
272
  case 1:
269
- _a = _b.sent();
273
+ _a = _c.sent();
270
274
  return [3 /*break*/, 3];
271
275
  case 2:
272
276
  _a = (0, sharp_1.default)(imageBytes).rotate();
273
- _b.label = 3;
277
+ _c.label = 3;
274
278
  case 3:
275
279
  pipeline = _a;
280
+ return [4 /*yield*/, this.orientedDimensions(pipeline)];
281
+ case 4:
282
+ _b = _c.sent(), width = _b.width, height = _b.height;
283
+ frame = this.clampCrop(crop, width, height);
284
+ target = Math.min(UpdateUserInfo.AVATAR_MAX_SIZE, frame.size);
276
285
  return [4 /*yield*/, pipeline
277
- .resize(UpdateUserInfo.AVATAR_SIZE, UpdateUserInfo.AVATAR_SIZE, { fit: 'cover' })
286
+ .extract({ left: frame.left, top: frame.top, width: frame.size, height: frame.size })
287
+ .resize(target, target, { fit: 'cover' })
278
288
  .jpeg({ quality: UpdateUserInfo.AVATAR_JPEG_QUALITY })
279
289
  .toBuffer()];
280
- case 4: return [2 /*return*/, _b.sent()];
290
+ case 5: return [2 /*return*/, _c.sent()];
281
291
  }
282
292
  });
283
293
  });
284
294
  };
295
+ /**
296
+ * The decoded image's dimensions in DISPLAYED (EXIF-oriented) pixel space — the space the
297
+ * client framed its crop in, and the space `.rotate()` makes `.extract` operate in.
298
+ * Orientations 5-8 transpose the encoded axes.
299
+ */
300
+ UpdateUserInfo.prototype.orientedDimensions = function (pipeline) {
301
+ var _a;
302
+ return __awaiter(this, void 0, void 0, function () {
303
+ var metadata, transposed;
304
+ return __generator(this, function (_b) {
305
+ switch (_b.label) {
306
+ case 0: return [4 /*yield*/, pipeline.metadata()];
307
+ case 1:
308
+ metadata = _b.sent();
309
+ if (!metadata.width || !metadata.height) {
310
+ throw new Error("Could not read avatar image dimensions");
311
+ }
312
+ transposed = ((_a = metadata.orientation) !== null && _a !== void 0 ? _a : 1) >= 5;
313
+ return [2 /*return*/, {
314
+ width: transposed ? metadata.height : metadata.width,
315
+ height: transposed ? metadata.width : metadata.height,
316
+ }];
317
+ }
318
+ });
319
+ });
320
+ };
321
+ /**
322
+ * Resolve the crop request against the real image: round to whole pixels and clamp fully
323
+ * inside the oriented bounds, staying square. Absent crop = the centered square (identical
324
+ * to the old `fit: cover` center-crop, so no-crop clients keep byte-equivalent behavior).
325
+ */
326
+ UpdateUserInfo.prototype.clampCrop = function (crop, width, height) {
327
+ var maxSize = Math.min(width, height);
328
+ if (!crop) {
329
+ return { left: Math.floor((width - maxSize) / 2), top: Math.floor((height - maxSize) / 2), size: maxSize };
330
+ }
331
+ if (![crop.sx, crop.sy, crop.size].every(Number.isFinite)) {
332
+ throw new Error("Avatar crop must be numeric");
333
+ }
334
+ var size = Math.min(Math.max(1, Math.round(crop.size)), maxSize);
335
+ var clampOffset = function (value, max) { return Math.min(Math.max(0, Math.round(value)), max); };
336
+ return { left: clampOffset(crop.sx, width - size), top: clampOffset(crop.sy, height - size), size: size };
337
+ };
285
338
  UpdateUserInfo.prototype.decodeHeic = function (imageBytes) {
286
339
  return __awaiter(this, void 0, void 0, function () {
287
340
  var _a, width, height, data;
@@ -297,8 +350,14 @@ var UpdateUserInfo = /** @class */ (function () {
297
350
  });
298
351
  });
299
352
  };
300
- /** Stored avatar photos are exactly this: cover-cropped square JPEG. */
301
- UpdateUserInfo.AVATAR_SIZE = 512;
353
+ /**
354
+ * Stored avatar photos are square JPEGs capped at this edge — and never ENLARGED to it: a
355
+ * source (or crop) smaller than the cap keeps its honest pixel count. Upscaling a small photo
356
+ * to a fixed 512 invents pixels that read as permanent blur on every chip that renders it
357
+ * (the founder's fuzzy-avatar defect); the display layer downscales crisply from whatever
358
+ * honest size is stored.
359
+ */
360
+ UpdateUserInfo.AVATAR_MAX_SIZE = 512;
302
361
  UpdateUserInfo.AVATAR_JPEG_QUALITY = 85;
303
362
  UpdateUserInfo.MAX_AVATAR_PHOTO_BYTES = 10 * 1024 * 1024;
304
363
  UpdateUserInfo.ACCEPTED_AVATAR_MIME_TYPES = [
@@ -1 +1 @@
1
- {"version":3,"file":"UpdateUserInfo.js","sourceRoot":"","sources":["../../../src/services/UpdateUserInfo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UpdateUserInfo.js","sourceRoot":"","sources":["../../../src/services/UpdateUserInfo.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=AvatarPhotoFidelity.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AvatarPhotoFidelity.test.d.ts","sourceRoot":"","sources":["../../test/AvatarPhotoFidelity.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,221 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ var __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
40
+ };
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ var fs_1 = __importDefault(require("fs"));
43
+ var path_1 = __importDefault(require("path"));
44
+ var sharp_1 = __importDefault(require("sharp"));
45
+ var UpdateUserInfo_1 = require("../src/services/UpdateUserInfo");
46
+ var pipeline = function () { return new UpdateUserInfo_1.UpdateUserInfo(); };
47
+ var solidPng = function (width, height, rgb) { return __awaiter(void 0, void 0, void 0, function () {
48
+ return __generator(this, function (_a) {
49
+ switch (_a.label) {
50
+ case 0: return [4 /*yield*/, (0, sharp_1.default)({ create: { width: width, height: height, channels: 3, background: rgb } })
51
+ .png()
52
+ .toBuffer()];
53
+ case 1: return [2 /*return*/, _a.sent()];
54
+ }
55
+ });
56
+ }); };
57
+ var dimensionsOf = function (jpeg) { return __awaiter(void 0, void 0, void 0, function () {
58
+ var metadata;
59
+ return __generator(this, function (_a) {
60
+ switch (_a.label) {
61
+ case 0: return [4 /*yield*/, (0, sharp_1.default)(jpeg).metadata()];
62
+ case 1:
63
+ metadata = _a.sent();
64
+ return [2 /*return*/, { width: metadata.width, height: metadata.height, format: metadata.format }];
65
+ }
66
+ });
67
+ }); };
68
+ /** Average color of the whole output — crop-mapping assertions read regions, not single pixels. */
69
+ var averageColor = function (jpeg) { return __awaiter(void 0, void 0, void 0, function () {
70
+ var stats, _a, r, g, b;
71
+ return __generator(this, function (_b) {
72
+ switch (_b.label) {
73
+ case 0: return [4 /*yield*/, (0, sharp_1.default)(jpeg).stats()];
74
+ case 1:
75
+ stats = _b.sent();
76
+ _a = stats.channels.map(function (channel) { return channel.mean; }), r = _a[0], g = _a[1], b = _a[2];
77
+ return [2 /*return*/, { r: r, g: g, b: b }];
78
+ }
79
+ });
80
+ }); };
81
+ describe('avatar photo pixel fidelity', function () {
82
+ it('keeps a small source at its honest pixel count — never enlarged to the 512 cap', function () { return __awaiter(void 0, void 0, void 0, function () {
83
+ var png, jpeg, _a;
84
+ return __generator(this, function (_b) {
85
+ switch (_b.label) {
86
+ case 0: return [4 /*yield*/, solidPng(96, 96, { r: 200, g: 80, b: 40 })];
87
+ case 1:
88
+ png = _b.sent();
89
+ return [4 /*yield*/, pipeline().toAvatarJpeg(png, 'image/png')];
90
+ case 2:
91
+ jpeg = _b.sent();
92
+ // The defect: the old pipeline resized EVERYTHING to a fixed 512 square, inventing 5x the
93
+ // pixels for a 96px source — permanent blur baked into the master.
94
+ _a = expect;
95
+ return [4 /*yield*/, dimensionsOf(jpeg)];
96
+ case 3:
97
+ // The defect: the old pipeline resized EVERYTHING to a fixed 512 square, inventing 5x the
98
+ // pixels for a 96px source — permanent blur baked into the master.
99
+ _a.apply(void 0, [_b.sent()]).toEqual({ width: 96, height: 96, format: 'jpeg' });
100
+ return [2 /*return*/];
101
+ }
102
+ });
103
+ }); });
104
+ it('center-crops a small non-square source to its honest square (no enlargement)', function () { return __awaiter(void 0, void 0, void 0, function () {
105
+ var png, jpeg, _a;
106
+ return __generator(this, function (_b) {
107
+ switch (_b.label) {
108
+ case 0: return [4 /*yield*/, solidPng(300, 200, { r: 10, g: 120, b: 210 })];
109
+ case 1:
110
+ png = _b.sent();
111
+ return [4 /*yield*/, pipeline().toAvatarJpeg(png, 'image/png')];
112
+ case 2:
113
+ jpeg = _b.sent();
114
+ _a = expect;
115
+ return [4 /*yield*/, dimensionsOf(jpeg)];
116
+ case 3:
117
+ _a.apply(void 0, [_b.sent()]).toEqual({ width: 200, height: 200, format: 'jpeg' });
118
+ return [2 /*return*/];
119
+ }
120
+ });
121
+ }); });
122
+ it('extracts exactly the client-framed crop square', function () { return __awaiter(void 0, void 0, void 0, function () {
123
+ var left, source, jpeg, _a, color;
124
+ return __generator(this, function (_b) {
125
+ switch (_b.label) {
126
+ case 0: return [4 /*yield*/, solidPng(100, 100, { r: 20, g: 40, b: 220 })];
127
+ case 1:
128
+ left = _b.sent();
129
+ return [4 /*yield*/, (0, sharp_1.default)({
130
+ create: { width: 200, height: 100, channels: 3, background: { r: 220, g: 30, b: 30 } },
131
+ })
132
+ .composite([{ input: left, left: 0, top: 0 }])
133
+ .png()
134
+ .toBuffer()];
135
+ case 2:
136
+ source = _b.sent();
137
+ return [4 /*yield*/, pipeline().toAvatarJpeg(source, 'image/png', { sx: 100, sy: 0, size: 100 })];
138
+ case 3:
139
+ jpeg = _b.sent();
140
+ _a = expect;
141
+ return [4 /*yield*/, dimensionsOf(jpeg)];
142
+ case 4:
143
+ _a.apply(void 0, [_b.sent()]).toEqual({ width: 100, height: 100, format: 'jpeg' });
144
+ return [4 /*yield*/, averageColor(jpeg)];
145
+ case 5:
146
+ color = _b.sent();
147
+ expect(color.r).toBeGreaterThan(180);
148
+ expect(color.b).toBeLessThan(80);
149
+ return [2 /*return*/];
150
+ }
151
+ });
152
+ }); });
153
+ it('clamps an out-of-bounds crop inside the image, staying square', function () { return __awaiter(void 0, void 0, void 0, function () {
154
+ var png, jpeg, _a;
155
+ return __generator(this, function (_b) {
156
+ switch (_b.label) {
157
+ case 0: return [4 /*yield*/, solidPng(300, 200, { r: 90, g: 90, b: 90 })];
158
+ case 1:
159
+ png = _b.sent();
160
+ return [4 /*yield*/, pipeline().toAvatarJpeg(png, 'image/png', { sx: 250, sy: 150, size: 120 })];
161
+ case 2:
162
+ jpeg = _b.sent();
163
+ _a = expect;
164
+ return [4 /*yield*/, dimensionsOf(jpeg)];
165
+ case 3:
166
+ _a.apply(void 0, [_b.sent()]).toEqual({ width: 120, height: 120, format: 'jpeg' });
167
+ return [2 /*return*/];
168
+ }
169
+ });
170
+ }); });
171
+ it('still lands a large source at the 512 cap', function () { return __awaiter(void 0, void 0, void 0, function () {
172
+ var png, jpeg, _a;
173
+ return __generator(this, function (_b) {
174
+ switch (_b.label) {
175
+ case 0: return [4 /*yield*/, solidPng(1024, 768, { r: 40, g: 160, b: 90 })];
176
+ case 1:
177
+ png = _b.sent();
178
+ return [4 /*yield*/, pipeline().toAvatarJpeg(png, 'image/png')];
179
+ case 2:
180
+ jpeg = _b.sent();
181
+ _a = expect;
182
+ return [4 /*yield*/, dimensionsOf(jpeg)];
183
+ case 3:
184
+ _a.apply(void 0, [_b.sent()]).toEqual({ width: 512, height: 512, format: 'jpeg' });
185
+ return [2 /*return*/];
186
+ }
187
+ });
188
+ }); });
189
+ it('keeps a small HEIC source at its honest centered square (the WASM decode path)', function () { return __awaiter(void 0, void 0, void 0, function () {
190
+ var heic, jpeg, _a;
191
+ return __generator(this, function (_b) {
192
+ switch (_b.label) {
193
+ case 0:
194
+ heic = fs_1.default.readFileSync(path_1.default.join(__dirname, 'fixtures', 'fixture.heic'));
195
+ return [4 /*yield*/, pipeline().toAvatarJpeg(heic, 'image/heic')];
196
+ case 1:
197
+ jpeg = _b.sent();
198
+ _a = expect;
199
+ return [4 /*yield*/, dimensionsOf(jpeg)];
200
+ case 2:
201
+ _a.apply(void 0, [_b.sent()]).toEqual({ width: 64, height: 64, format: 'jpeg' });
202
+ return [2 /*return*/];
203
+ }
204
+ });
205
+ }); });
206
+ it('rejects a non-numeric crop in plain words', function () { return __awaiter(void 0, void 0, void 0, function () {
207
+ var png;
208
+ return __generator(this, function (_a) {
209
+ switch (_a.label) {
210
+ case 0: return [4 /*yield*/, solidPng(64, 64, { r: 10, g: 10, b: 10 })];
211
+ case 1:
212
+ png = _a.sent();
213
+ return [4 /*yield*/, expect(pipeline().toAvatarJpeg(png, 'image/png', { sx: NaN, sy: 0, size: 32 })).rejects.toThrow('Avatar crop must be numeric')];
214
+ case 2:
215
+ _a.sent();
216
+ return [2 /*return*/];
217
+ }
218
+ });
219
+ }); });
220
+ });
221
+ //# sourceMappingURL=AvatarPhotoFidelity.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AvatarPhotoFidelity.test.js","sourceRoot":"","sources":["../../test/AvatarPhotoFidelity.test.ts"],"names":[],"mappings":"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"}
@@ -57,7 +57,8 @@ var getFileRow = function (fileId) { return __awaiter(void 0, void 0, void 0, fu
57
57
  }
58
58
  }); }); };
59
59
  /**
60
- * Avatars are photo OR emoji — exactly one active — stored as 512x512 JPEG, previous photo file
60
+ * Avatars are photo OR emoji — exactly one active — stored as a square JPEG capped at 512px
61
+ * (never enlarged past the source's honest pixels; see AvatarPhotoFidelity.test.ts), previous photo file
61
62
  * deleted on every change, and the server session cache refreshed in the same stroke (the same
62
63
  * helper that fixes the updateName rename-staleness wart). All assertions are outcomes: rows,
63
64
  * bytes, cache reads.
@@ -173,7 +174,7 @@ describe('UpdateUserInfo avatar mutations', function () {
173
174
  }
174
175
  });
175
176
  }); });
176
- it('updateAvatarPhoto normalizes HEIC (default iPhone camera format) to JPEG', function () { return __awaiter(void 0, void 0, void 0, function () {
177
+ it('updateAvatarPhoto normalizes HEIC (default iPhone camera format) to JPEG at its honest size', function () { return __awaiter(void 0, void 0, void 0, function () {
177
178
  var user, heic, updated, bytes, _a, _b, metadata;
178
179
  return __generator(this, function (_c) {
179
180
  switch (_c.label) {
@@ -193,8 +194,8 @@ describe('UpdateUserInfo avatar mutations', function () {
193
194
  return [4 /*yield*/, (0, sharp_1.default)(bytes).metadata()];
194
195
  case 4:
195
196
  metadata = _c.sent();
196
- expect(metadata.width).toBe(512);
197
- expect(metadata.height).toBe(512);
197
+ expect(metadata.width).toBe(64);
198
+ expect(metadata.height).toBe(64);
198
199
  return [2 /*return*/];
199
200
  }
200
201
  });
@@ -1 +1 @@
1
- {"version":3,"file":"UpdateUserInfoAvatar.test.js","sourceRoot":"","sources":["../../test/UpdateUserInfoAvatar.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UpdateUserInfoAvatar.test.js","sourceRoot":"","sources":["../../test/UpdateUserInfoAvatar.test.ts"],"names":[],"mappings":"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"}
@@ -137,8 +137,10 @@ describe('GET /avatar/:userId', function () {
137
137
  return [4 /*yield*/, (0, sharp_1.default)(bytes).metadata()];
138
138
  case 6:
139
139
  metadata = _a.sent();
140
- expect(metadata.width).toBe(512);
141
- expect(metadata.height).toBe(512);
140
+ // The 100px source stays its honest 100px square — masters are capped at 512, never
141
+ // enlarged to it (AvatarPhotoFidelity.test.ts owns the pipeline contract).
142
+ expect(metadata.width).toBe(100);
143
+ expect(metadata.height).toBe(100);
142
144
  // The client-side URL contract carries the cache-buster.
143
145
  expect(user_1.avatarRoute.path(owner.id, updated.avatarFileId)).toBe("/avatar/".concat(owner.id, "?v=").concat(updated.avatarFileId));
144
146
  return [2 /*return*/];
@@ -1 +1 @@
1
- {"version":3,"file":"avatarRoute.test.js","sourceRoot":"","sources":["../../test/avatarRoute.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"avatarRoute.test.js","sourceRoot":"","sources":["../../test/avatarRoute.test.ts"],"names":[],"mappings":"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"}