Merge with browser fixes from RossMods

f897a4ab1a0ca87e4afa50dfb3e926de057ec6ea

Cohee <18619528+Cohee1207@users.noreply.github.com>

3 files changed, +29 -26Ignore whitespace
public/script.js+2 -3
@@ -1,4 +1,4 @@
11import { humanizedDateTime, favsToHotswap, getMessageTimeStamp, dragElement, isMobile, initRossMods, shouldSendOnEnter, addSafariPatch } from './scripts/RossAscends-mods.js';
22import { userStatsHandler, statMesProcess, initStats } from './scripts/stats.js';
33import {
44 generateKoboldWithStreaming,
@@ -273,7 +273,6 @@ await new Promise((resolve) => {
273273});
274274
275275showLoader();
276-applyBrowserFixes();
277276
278277// Configure toast library:
279278toastr.options.escapeHtml = true; // Prevent raw HTML inserts
@@ -940,7 +939,7 @@ async function firstLoadInit() {
940939 throw new Error('Initialization failed');
941940 }
942941
943942 addSafariPatchapplyBrowserFixes();
944943 await getClientVersion();
945944 await readSecretState();
946945 await initLocales();
public/scripts/RossAscends-mods.js+1 -23
@@ -121,7 +121,7 @@ export function humanizeGenTime(total_gen_time) {
121121 */
122122var parsedUA = null;
123123
124124export function getParsedUA() {
125125 if (!parsedUA) {
126126 try {
127127 parsedUA = Bowser.parse(navigator.userAgent);
@@ -717,18 +717,6 @@ export const autoFitSendTextAreaDebounced = debounce(autoFitSendTextArea, deboun
717717
718718// ---------------------------------------------------
719719
720-export function addSafariPatch() {
721- const userAgent = getParsedUA();
722- console.debug('User Agent', userAgent);
723- const isMobileSafari = /iPad|iPhone|iPod/.test(navigator.platform) || (navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1);
724- const isDesktopSafari = userAgent?.browser?.name === 'Safari' && userAgent?.platform?.type === 'desktop';
725- const isIOS = userAgent?.os?.name === 'iOS';
726-
727- if (isIOS || isMobileSafari || isDesktopSafari) {
728- document.body.classList.add('safari');
729- }
730-}
731-
732720export function initRossMods() {
733721 // initial status check
734722 checkStatusDebounced();
@@ -741,16 +729,6 @@ export function initRossMods() {
741729 RA_autoconnect();
742730 }
743731
744- if (isMobile()) {
745- const fixFunkyPositioning = () => {
746- console.debug('[Mobile] Device viewport change detected.');
747- document.documentElement.style.position = 'fixed';
748- requestAnimationFrame(() => document.documentElement.style.position = '');
749- };
750- window.addEventListener('resize', fixFunkyPositioning);
751- window.addEventListener('orientationchange', fixFunkyPositioning);
752- }
753-
754732 $('#main_api').change(function () {
755733 var PrevAPI = main_api;
756734 setTimeout(() => RA_autoconnect(PrevAPI), 100);
public/scripts/browser-fixes.js+26 -0
@@ -1,3 +1,5 @@
1+import { getParsedUA, isMobile } from './RossAscends-mods.js';
2+
13const isFirefox = () => /firefox/i.test(navigator.userAgent);
24
35function sanitizeInlineQuotationOnCopy() {
@@ -43,10 +45,34 @@ function sanitizeInlineQuotationOnCopy() {
4345 });
4446}
4547
48+function addSafariPatch() {
49+ const userAgent = getParsedUA();
50+ console.debug('User Agent', userAgent);
51+ const isMobileSafari = /iPad|iPhone|iPod/.test(navigator.platform) || (navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1);
52+ const isDesktopSafari = userAgent?.browser?.name === 'Safari' && userAgent?.platform?.type === 'desktop';
53+ const isIOS = userAgent?.os?.name === 'iOS';
54+
55+ if (isIOS || isMobileSafari || isDesktopSafari) {
56+ document.body.classList.add('safari');
57+ }
58+}
59+
4660function applyBrowserFixes() {
4761 if (isFirefox()) {
4862 sanitizeInlineQuotationOnCopy();
4963 }
64+
65+ if (isMobile()) {
66+ const fixFunkyPositioning = () => {
67+ console.debug('[Mobile] Device viewport change detected.');
68+ document.documentElement.style.position = 'fixed';
69+ requestAnimationFrame(() => document.documentElement.style.position = '');
70+ };
71+ window.addEventListener('resize', fixFunkyPositioning);
72+ window.addEventListener('orientationchange', fixFunkyPositioning);
73+ }
74+
75+ addSafariPatch();
5076}
5177
5278export { isFirefox, applyBrowserFixes };