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 +1 -1
- package/renderer/cloudProjects.js +12 -1
- package/renderer/media.js +7 -2
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "kingkont",
|
|
3
|
-
"version": "0.20.
|
|
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,
|
|
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
|
-
|
|
1112
|
-
|
|
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);
|