ugly-app 0.1.580 → 0.1.582

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,2 +1,2 @@
1
- export declare const CLI_VERSION = "0.1.580";
1
+ export declare const CLI_VERSION = "0.1.582";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -1,3 +1,3 @@
1
1
  // Auto-generated by prebuild — do not edit manually
2
- export const CLI_VERSION = "0.1.580";
2
+ export const CLI_VERSION = "0.1.582";
3
3
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"KeyboardProvider.d.ts","sourceRoot":"","sources":["../../../src/client/components/KeyboardProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,SAAS,EAOf,MAAM,OAAO,CAAC;AAGf,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,2DAA2D;IAC3D,OAAO,EAAE,OAAO,CAAC;IACjB;;;;;;;;OAQG;IACH,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAe,SAAQ,UAAU;IAChD,yEAAyE;IACzE,QAAQ,EAAE,YAAY,CAAC;CACxB;AAUD;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,QAAO,cAEpC,CAAC;AAEF,eAAO,MAAM,iBAAiB,QAAO,OAEpC,CAAC;AA4CF,wBAAgB,gBAAgB,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,CAAC,EAAE,SAAS,CAAA;CAAE,+BAybtE;AAID,wBAAgB,cAAc,CAAC,EAAE,cAAc,EAAE,EAAE;IAAE,cAAc,CAAC,EAAE,OAAO,CAAA;CAAE,+BAM9E"}
1
+ {"version":3,"file":"KeyboardProvider.d.ts","sourceRoot":"","sources":["../../../src/client/components/KeyboardProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,SAAS,EAOf,MAAM,OAAO,CAAC;AAGf,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,2DAA2D;IAC3D,OAAO,EAAE,OAAO,CAAC;IACjB;;;;;;;;OAQG;IACH,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAe,SAAQ,UAAU;IAChD,yEAAyE;IACzE,QAAQ,EAAE,YAAY,CAAC;CACxB;AAUD;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,QAAO,cAEpC,CAAC;AAEF,eAAO,MAAM,iBAAiB,QAAO,OAEpC,CAAC;AA4CF,wBAAgB,gBAAgB,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,CAAC,EAAE,SAAS,CAAA;CAAE,+BAyZtE;AAID,wBAAgB,cAAc,CAAC,EAAE,cAAc,EAAE,EAAE;IAAE,cAAc,CAAC,EAAE,OAAO,CAAA;CAAE,+BAM9E"}
@@ -157,51 +157,28 @@ export function KeyboardProvider({ children }) {
157
157
  const body = new MutationObserver(() => {
158
158
  update();
159
159
  });
160
- const onVisualViewportResize = () => {
161
- update();
162
- // Detect keyboard from visualViewport when no native keyboard height events.
163
- // This is needed on Android (browser, PWA, and native WebView) where
164
- // update() may return early and no native keyboard-height event is sent.
165
- // Skip when the VirtualKeyboard API owns the height (else the two fight).
166
- if (!hasNativeOverrideRef.current &&
167
- !hasVirtualKeyboardAPI() &&
168
- window.visualViewport) {
169
- const diff = window.innerHeight - window.visualViewport.height;
170
- // Subtract the CSS safe area bottom to avoid double-counting
171
- // (the page layout already adds safe area padding)
172
- const cssBottom = parseInt(window
173
- .getComputedStyle(document.documentElement)
174
- .getPropertyValue('--safe-area-inset-bottom') || '0');
175
- const newHeight = diff > 100 ? Math.max(0, Math.round(diff) - cssBottom) : 0;
176
- console.debug('[KeyboardProvider] visualViewport resize', {
177
- innerHeight: window.innerHeight,
178
- viewportHeight: window.visualViewport.height,
179
- diff,
180
- cssBottom,
181
- newHeight,
182
- currentKeyboardHeight: keyboardHeightRef.current,
183
- hasNativeOverride: hasNativeOverrideRef.current,
184
- });
185
- if (newHeight !== keyboardHeightRef.current) {
186
- setKeyboardHeight(newHeight);
187
- }
188
- }
189
- // Corrective for the VirtualKeyboard path: the native→web geometrychange
190
- // can be dropped/reordered on rapid open/close (the JS bridge is async),
191
- // leaving keyboardHeight stuck > 0 after the keyboard is already gone. The
192
- // visual viewport is authoritative for "keyboard gone" (it returns to full
193
- // height), so use it to CLEAR a stuck height — downward only, so it never
194
- // re-introduces the fight with the VK API on the way up.
195
- if (hasVirtualKeyboardAPI() &&
196
- window.visualViewport &&
197
- keyboardHeightRef.current > 0) {
198
- const diff = window.innerHeight - window.visualViewport.height;
199
- if (diff < 100) {
200
- setKeyboardHeight(0);
201
- update();
202
- }
160
+ // Derive the keyboard height from the ACTUAL visual-viewport occlusion — the
161
+ // single source of truth. Native VirtualKeyboard `geometrychange` events
162
+ // (which the async JS bridge can drop or REORDER) only trigger a re-sync;
163
+ // their reported value is ignored. So a stale "shown" event arriving after
164
+ // the keyboard already hid computes occlusion=0 from the now-full viewport
165
+ // and is correctly ignored no more stuck-open safe area. (Android native,
166
+ // which sends explicit insets, keeps its own path via hasNativeOverride.)
167
+ const syncKeyboardFromViewport = () => {
168
+ const vv = window.visualViewport;
169
+ if (!vv || hasNativeOverrideRef.current)
170
+ return;
171
+ const occlusion = Math.max(0, Math.round(window.innerHeight - vv.height));
172
+ const kbHeight = occlusion > 100 ? occlusion : 0;
173
+ if (kbHeight !== keyboardHeightRef.current) {
174
+ setKeyboardHeight(kbHeight);
175
+ update();
203
176
  }
204
177
  };
178
+ const onVisualViewportResize = () => {
179
+ update(); // env / orientation changes
180
+ syncKeyboardFromViewport(); // keyboard occlusion
181
+ };
205
182
  if (window.visualViewport)
206
183
  window.visualViewport.addEventListener('resize', onVisualViewportResize);
207
184
  window.addEventListener('orientationchange', update);
@@ -280,29 +257,28 @@ export function KeyboardProvider({ children }) {
280
257
  const nav = navigator;
281
258
  if (nav.virtualKeyboard) {
282
259
  const onVKGeometryChange = (e) => {
283
- const kbHeight = e.target.boundingRect.height;
260
+ const reported = e.target.boundingRect.height;
284
261
  console.debug('[KeyboardProvider] VirtualKeyboard geometrychange', {
285
- height: kbHeight,
262
+ height: reported,
286
263
  });
287
- if (kbHeight !== keyboardHeightRef.current) {
288
- setKeyboardHeight(kbHeight);
289
- if (hasNativeOverrideRef.current) {
290
- // Native override active → update() returns early, so recompute the
291
- // bottom directly against the native inset (Android path).
264
+ if (hasNativeOverrideRef.current) {
265
+ // Android native (when it polyfills VK): trust the reported value and
266
+ // fold it against the native inset.
267
+ if (reported !== keyboardHeightRef.current) {
268
+ setKeyboardHeight(reported);
292
269
  setSafeArea((prev) => {
293
- const newBottom = Math.max(nativeSafeAreaRef.current.bottom, kbHeight);
270
+ const newBottom = Math.max(nativeSafeAreaRef.current.bottom, reported);
294
271
  if (prev.bottom !== newBottom)
295
272
  return { ...prev, bottom: newBottom };
296
273
  return prev;
297
274
  });
298
275
  }
299
- else {
300
- // iOS / WKWebView: getOffsets() takes the env-based device inset as
301
- // the floor and folds in keyboardHeightRef. Going through update()
302
- // (instead of max(nativeSafeArea.bottom, …), which is 0 on iOS)
303
- // preserves the home-indicator inset when the keyboard closes.
304
- update();
305
- }
276
+ }
277
+ else {
278
+ // iOS / WKWebView: the reported height can arrive stale or reordered
279
+ // (a late "shown" after a hide leaves the bar stuck up). Ignore the
280
+ // value re-sync from the authoritative visual-viewport occlusion.
281
+ syncKeyboardFromViewport();
306
282
  }
307
283
  };
308
284
  nav.virtualKeyboard.addEventListener('geometrychange', onVKGeometryChange);
@@ -1 +1 @@
1
- {"version":3,"file":"KeyboardProvider.js","sourceRoot":"","sources":["../../../src/client/components/KeyboardProvider.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"KeyboardProvider.js","sourceRoot":"","sources":["../../../src/client/components/KeyboardProvider.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ugly-app",
3
- "version": "0.1.580",
3
+ "version": "0.1.582",
4
4
  "type": "module",
5
5
  "main": "./dist/server/index.js",
6
6
  "exports": {
@@ -1,2 +1,2 @@
1
1
  // Auto-generated by prebuild — do not edit manually
2
- export const CLI_VERSION = "0.1.580";
2
+ export const CLI_VERSION = "0.1.582";
@@ -244,58 +244,27 @@ export function KeyboardProvider({ children }: { children?: ReactNode }) {
244
244
  update();
245
245
  });
246
246
 
247
- const onVisualViewportResize = () => {
248
- update();
249
- // Detect keyboard from visualViewport when no native keyboard height events.
250
- // This is needed on Android (browser, PWA, and native WebView) where
251
- // update() may return early and no native keyboard-height event is sent.
252
- // Skip when the VirtualKeyboard API owns the height (else the two fight).
253
- if (
254
- !hasNativeOverrideRef.current &&
255
- !hasVirtualKeyboardAPI() &&
256
- window.visualViewport
257
- ) {
258
- const diff = window.innerHeight - window.visualViewport.height;
259
- // Subtract the CSS safe area bottom to avoid double-counting
260
- // (the page layout already adds safe area padding)
261
- const cssBottom = parseInt(
262
- window
263
- .getComputedStyle(document.documentElement)
264
- .getPropertyValue('--safe-area-inset-bottom') || '0',
265
- );
266
- const newHeight =
267
- diff > 100 ? Math.max(0, Math.round(diff) - cssBottom) : 0;
268
- console.debug('[KeyboardProvider] visualViewport resize', {
269
- innerHeight: window.innerHeight,
270
- viewportHeight: window.visualViewport.height,
271
- diff,
272
- cssBottom,
273
- newHeight,
274
- currentKeyboardHeight: keyboardHeightRef.current,
275
- hasNativeOverride: hasNativeOverrideRef.current,
276
- });
277
- if (newHeight !== keyboardHeightRef.current) {
278
- setKeyboardHeight(newHeight);
279
- }
247
+ // Derive the keyboard height from the ACTUAL visual-viewport occlusion — the
248
+ // single source of truth. Native VirtualKeyboard `geometrychange` events
249
+ // (which the async JS bridge can drop or REORDER) only trigger a re-sync;
250
+ // their reported value is ignored. So a stale "shown" event arriving after
251
+ // the keyboard already hid computes occlusion=0 from the now-full viewport
252
+ // and is correctly ignored no more stuck-open safe area. (Android native,
253
+ // which sends explicit insets, keeps its own path via hasNativeOverride.)
254
+ const syncKeyboardFromViewport = () => {
255
+ const vv = window.visualViewport;
256
+ if (!vv || hasNativeOverrideRef.current) return;
257
+ const occlusion = Math.max(0, Math.round(window.innerHeight - vv.height));
258
+ const kbHeight = occlusion > 100 ? occlusion : 0;
259
+ if (kbHeight !== keyboardHeightRef.current) {
260
+ setKeyboardHeight(kbHeight);
261
+ update();
280
262
  }
263
+ };
281
264
 
282
- // Corrective for the VirtualKeyboard path: the native→web geometrychange
283
- // can be dropped/reordered on rapid open/close (the JS bridge is async),
284
- // leaving keyboardHeight stuck > 0 after the keyboard is already gone. The
285
- // visual viewport is authoritative for "keyboard gone" (it returns to full
286
- // height), so use it to CLEAR a stuck height — downward only, so it never
287
- // re-introduces the fight with the VK API on the way up.
288
- if (
289
- hasVirtualKeyboardAPI() &&
290
- window.visualViewport &&
291
- keyboardHeightRef.current > 0
292
- ) {
293
- const diff = window.innerHeight - window.visualViewport.height;
294
- if (diff < 100) {
295
- setKeyboardHeight(0);
296
- update();
297
- }
298
- }
265
+ const onVisualViewportResize = () => {
266
+ update(); // env / orientation changes
267
+ syncKeyboardFromViewport(); // keyboard occlusion
299
268
  };
300
269
 
301
270
  if (window.visualViewport)
@@ -399,31 +368,30 @@ export function KeyboardProvider({ children }: { children?: ReactNode }) {
399
368
  const onVKGeometryChange = (e: {
400
369
  target: { boundingRect: { height: number } };
401
370
  }) => {
402
- const kbHeight = e.target.boundingRect.height;
371
+ const reported = e.target.boundingRect.height;
403
372
  console.debug('[KeyboardProvider] VirtualKeyboard geometrychange', {
404
- height: kbHeight,
373
+ height: reported,
405
374
  });
406
- if (kbHeight !== keyboardHeightRef.current) {
407
- setKeyboardHeight(kbHeight);
408
- if (hasNativeOverrideRef.current) {
409
- // Native override active → update() returns early, so recompute the
410
- // bottom directly against the native inset (Android path).
375
+ if (hasNativeOverrideRef.current) {
376
+ // Android native (when it polyfills VK): trust the reported value and
377
+ // fold it against the native inset.
378
+ if (reported !== keyboardHeightRef.current) {
379
+ setKeyboardHeight(reported);
411
380
  setSafeArea((prev) => {
412
381
  const newBottom = Math.max(
413
382
  nativeSafeAreaRef.current.bottom,
414
- kbHeight,
383
+ reported,
415
384
  );
416
385
  if (prev.bottom !== newBottom)
417
386
  return { ...prev, bottom: newBottom };
418
387
  return prev;
419
388
  });
420
- } else {
421
- // iOS / WKWebView: getOffsets() takes the env-based device inset as
422
- // the floor and folds in keyboardHeightRef. Going through update()
423
- // (instead of max(nativeSafeArea.bottom, …), which is 0 on iOS)
424
- // preserves the home-indicator inset when the keyboard closes.
425
- update();
426
389
  }
390
+ } else {
391
+ // iOS / WKWebView: the reported height can arrive stale or reordered
392
+ // (a late "shown" after a hide leaves the bar stuck up). Ignore the
393
+ // value — re-sync from the authoritative visual-viewport occlusion.
394
+ syncKeyboardFromViewport();
427
395
  }
428
396
  };
429
397
  nav.virtualKeyboard.addEventListener(