Merge with browser fixes from RossMods

f897a4ab1a0ca87e4afa50dfb3e926de057ec6ea

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

3 files changed, +29 -26Showing whitespace changes
public/script.js+2 -3
@@ -1,4 +1,4 @@
1import { humanizedDateTime, favsToHotswap, getMessageTimeStamp, dragElement, isMobile, initRossMods, shouldSendOnEnter, addSafariPatch } from './scripts/RossAscends-mods.js';1import { humanizedDateTime, favsToHotswap, getMessageTimeStamp, dragElement, isMobile, initRossMods, shouldSendOnEnter } from './scripts/RossAscends-mods.js';
2import { userStatsHandler, statMesProcess, initStats } from './scripts/stats.js';2import { userStatsHandler, statMesProcess, initStats } from './scripts/stats.js';
3import {3import {
4 generateKoboldWithStreaming,4 generateKoboldWithStreaming,
@@ -273,7 +273,6 @@ await new Promise((resolve) => {
273});273});
274274
275showLoader();275showLoader();
276applyBrowserFixes();
277276
278// Configure toast library:277// Configure toast library:
279toastr.options.escapeHtml = true; // Prevent raw HTML inserts278toastr.options.escapeHtml = true; // Prevent raw HTML inserts
@@ -940,7 +939,7 @@ async function firstLoadInit() {
940 throw new Error('Initialization failed');939 throw new Error('Initialization failed');
941 }940 }
942941
943 addSafariPatch();942 applyBrowserFixes();
944 await getClientVersion();943 await getClientVersion();
945 await readSecretState();944 await readSecretState();
946 await initLocales();945 await initLocales();
public/scripts/RossAscends-mods.js+1 -23
@@ -121,7 +121,7 @@ export function humanizeGenTime(total_gen_time) {
121 */121 */
122var parsedUA = null;122var parsedUA = null;
123123
124function getParsedUA() {124export function getParsedUA() {
125 if (!parsedUA) {125 if (!parsedUA) {
126 try {126 try {
127 parsedUA = Bowser.parse(navigator.userAgent);127 parsedUA = Bowser.parse(navigator.userAgent);
@@ -717,18 +717,6 @@ export const autoFitSendTextAreaDebounced = debounce(autoFitSendTextArea, deboun
717717
718// ---------------------------------------------------718// ---------------------------------------------------
719719
720export 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
732export function initRossMods() {720export function initRossMods() {
733 // initial status check721 // initial status check
734 checkStatusDebounced();722 checkStatusDebounced();
@@ -741,16 +729,6 @@ export function initRossMods() {
741 RA_autoconnect();729 RA_autoconnect();
742 }730 }
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
754 $('#main_api').change(function () {732 $('#main_api').change(function () {
755 var PrevAPI = main_api;733 var PrevAPI = main_api;
756 setTimeout(() => RA_autoconnect(PrevAPI), 100);734 setTimeout(() => RA_autoconnect(PrevAPI), 100);
public/scripts/browser-fixes.js+26 -0
@@ -1,3 +1,5 @@
1import { getParsedUA, isMobile } from './RossAscends-mods.js';
2
1const isFirefox = () => /firefox/i.test(navigator.userAgent);3const isFirefox = () => /firefox/i.test(navigator.userAgent);
24
3function sanitizeInlineQuotationOnCopy() {5function sanitizeInlineQuotationOnCopy() {
@@ -43,10 +45,34 @@ function sanitizeInlineQuotationOnCopy() {
43 });45 });
44}46}
4547
48function 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
46function applyBrowserFixes() {60function applyBrowserFixes() {
47 if (isFirefox()) {61 if (isFirefox()) {
48 sanitizeInlineQuotationOnCopy();62 sanitizeInlineQuotationOnCopy();
49 }63 }
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();
50}76}
5177
52export { isFirefox, applyBrowserFixes };78export { isFirefox, applyBrowserFixes };