kingkont 0.20.37 → 0.20.39

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kingkont",
3
- "version": "0.20.37",
3
+ "version": "0.20.39",
4
4
  "description": "KingKont \u00b7 Chatium \u2014 \u043d\u043e\u0434-\u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440 \u0441\u0446\u0435\u043d \u0441 AI-\u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0435\u0439 (\u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438/\u0432\u0438\u0434\u0435\u043e/\u0433\u043e\u043b\u043e\u0441/SFX/\u043c\u0443\u0437\u044b\u043a\u0430/\u0442\u0435\u043a\u0441\u0442)",
5
5
  "main": "main.js",
6
6
  "bin": {
@@ -423,9 +423,20 @@
423
423
  // полноэкранного просмотра. Маленькие thumbs (320x) — отдельной
424
424
  // картой не требуются, scene-card сам ресайзит через CSS.
425
425
  const cdnByBoard = {};
426
+ // R2 public bucket `pub-<id>.r2.dev` rate-limited Cloudflare'ом (503 при
427
+ // batch-загрузке из браузера, ~30 одновременных img-fetch'ей). Переписываем
428
+ // на Worker GET endpoint (Worker не лимитирован так агрессивно, +CORS).
429
+ // Старые manifests на чатиуме могут содержать pub-…r2.dev URL'ы — этот
430
+ // rewrite их чинит без серверной миграции.
431
+ const R2_PUB_PREFIX = 'https://pub-cd4114af9f7d44c9bf8c9442bc7dddc2.r2.dev/';
432
+ const R2_WORKER_GET = 'https://kingkont-r2-upload.timur-dd5.workers.dev/get/';
426
433
  for (const board of boards) {
427
434
  const map = {};
428
- for (const [relPath, cdnUrl] of Object.entries(board.files || {})) {
435
+ for (const [relPath, cdnUrlRaw] of Object.entries(board.files || {})) {
436
+ let cdnUrl = cdnUrlRaw;
437
+ if (cdnUrl && cdnUrl.startsWith(R2_PUB_PREFIX)) {
438
+ cdnUrl = R2_WORKER_GET + cdnUrl.slice(R2_PUB_PREFIX.length);
439
+ }
429
440
  const thumbUrl = cdnUrl.includes('fs.chatium.ru/get/')
430
441
  ? cdnUrl.replace('/get/', '/thumbnail/') + '/1024x'
431
442
  : cdnUrl;
package/renderer/media.js CHANGED
@@ -1108,8 +1108,13 @@ document.addEventListener('paste', async e => {
1108
1108
  }
1109
1109
  if (all.length) {
1110
1110
  e.preventDefault();
1111
- const cx = canvasWrap.scrollLeft / state.zoom + 200;
1112
- const cy = canvasWrap.scrollTop / state.zoom + 100;
1111
+ // Конвертация frame-coord canvas-content-coord: вычитаем padX/padY.
1112
+ // Юзер: «когда я вставляю картинку она не добавляется в видимой зоне,
1113
+ // а добавляется куда-то в центр». Раньше `scrollLeft / zoom + 200`
1114
+ // улетало на ≈(padX/zoom+200, padY/zoom+100), т.е. в самый центр canvas'а.
1115
+ const _pad = (typeof _getFramePadding === 'function') ? _getFramePadding() : { padX: 0, padY: 0 };
1116
+ const cx = (canvasWrap.scrollLeft - _pad.padX) / state.zoom + 80;
1117
+ const cy = (canvasWrap.scrollTop - _pad.padY) / state.zoom + 80;
1113
1118
  let i = 0;
1114
1119
  for (const f of all) {
1115
1120
  const type = getFileType(f);