Działanie nowego edytora na seamonkey

0

Hej! Dało by radę sprawić, by forum i strona działały poprawnie pod SeaMonkey? Obecnie to jakaś kaszanka, a jakiś czas temu śmigało dobrze.

screenshot-20220131104719.png

3

Zobaczy w konsoli przeglądarki jaki jest komunikat błędu? Na 100% przeglądarka nie obsługuje jakiegoś JavaScript.

1

Pewnie tak, pytanie, czy jesteście wstanie wyciąć ten JS dla tej przeglądarki by było to czytelne? screenshot-20220131114907.png

3

Widzę że problem leży w bibliotece zewnętrznej. Być może jest to związane z nowym edytorem, ale nie jestem pewien na 100%. Jak wejdziesz na stronę https://danon.github.io/4play.demo/ to również masz ten błąd?

2

Tak, też się sypie. screenshot-20220131120451.png

3

@Adam Boduch: tak, edytor używa regexpow do matchowania usernameów. Pewnie ta przeglądarka się czymś różni kapkę od standardu. Albo też ja coś zepsułem.

Już ściągam ten Sead Monkey i się przyjrzę.

@pieczarek dzięki za dobre zgłoszenie.

1

@TomRiddle: To ja dziękuję za zainteresowanie i chęć wsparcia tego muzeum, które jednak służy mi od lat.

1

No własnie, pytanie jaka to wersja przeglądarki? Bo wygląda na jakąś starszą i zapewne niektóre rzeczy mogą tam być niewspierane.

0
Adam Boduch napisał(a):

No własnie, pytanie jaka to wersja przeglądarki? Bo wygląda na jakąś starszą i zapewne niektóre rzeczy mogą tam być niewspierane.

Najnowsza SeaMonkey to 2.53.10, i ona tak wygląda właśnie. Ale zabawne, bo też jest na chromium.

Pytanie jaką ma @pieczarek

1

Wersja świeża jak bułeczki ;) Miałem 2.53.11, ale zrobiłem downgrade do 2.53.10 i nadal jest ten problem. O ile się nie mylę to bazuje to na Firefoxie bo to przedłużenie Mozilla Suite.

"Under the hood, SeaMonkey uses much of the same Mozilla Firefox source code" - no czyli Firefox, ale oni bazują na wersji ESR.

0
pieczarek napisał(a):

"Under the hood, SeaMonkey uses much of the same Mozilla Firefox source code" - no czyli Firefox, ale oni bazują na wersji ESR.

No to jest spora szansa że na tym FireFox'ie o którym mówisz też nie będzie działać, prawda? Móglbyś to jakoś sprawdzić?

4

Przyczyna znaleziona. Opisywane zachowanie jest najpewniej przez ten kawałek kodu:

/[\p{Pc}|\p{Pd}|\p{Pe}|\p{Pf}|\p{Pi}|\p{Po}|\p{Ps}]/u;

Jest to regexp służący do rozpoznawania punktuacji. Nie jest napisany przeze mnie ani przez edytor, ani nawet przez bibliotekę CodeMirror, tylko przez jedną z jej zależności, parser markdownu.

Wyjaśnienie

Otóż parsowanie regexpów w przeglądarkach działa dwojako, są one najczęściej parsowane przez silnik JS'a, i SyntaxError leci przy parsowaniu samego JS'a (compile time), a nie przy uruchamianiu, dlatego niektóre przeglądarki nie są w stanie go złapać. Inne środowiska, jak np node.js rzuca wyjątek w runtime, i dlatego teraz np nie jestem w stanie napisać testu jednostkowego pod ten błąd, bo on na node'zie się nigdy nie zdarzy.

@pieczarek: Uruchom sobie taki kod w swojej SeaMonkey:

try {
  /\pL/u;
}
catch (e) {
  console.log("catch", e);
}

I zobaczysz że go nie złapie :) To samo można by zobaczyć na Chrome, tylko że chrome wspiera \p w Unicode, więc wyjątek nigdy nie leci.

To co możemy zaproponować na teraz to:

  • @pieczarek: tokeny \p są wspierane od Ecma2018, czyli już całkiem długo. Może mógłbyś się zainteresować przeglądarką które je wspiera? Wtedy problem zniknie. Zrób prosty test, wpisz w konsoli taki kod /\pL/u;. Jeśli nie poleci wyjątek, wszystko gra :)
  • Możemy złożyć PR'a do parsera Markdown, z prośbą o zapis regexpa nie tak /\p/ tylko tak new RegExp('\\p'), wtedy parsowanie będzie w runtime, i Twoja przeglądarka złapie wyjątek. Możliwe że merge pójdzie szybko, i za kilka dni/tydzień już będzie działać.

PS: Issue w parserze złożone. Czekamy na odpowiedź.

0

@pieczarek: Nie wiem co oprócz tego możemy zrobić; po jeśli Twoja przeglądarka faktycznie parsuje regexpy razem z JS'em w compieltime'ie, to jakiego zaawansowanego try/catcha byśmy nie napisali w coyote, to Twoja przeglądarka i tak nie złapie tego wyjątku :/

0

Jal bede przy PC to sprawdzę. Dzięki

1

Niestety podany try-catch też wali takim wyjątkiem SyntaxError: invalid identity escape in regular expression Szkoda, że w profilu nie można wybierać edytora. Może zagadnę ekipę od przeglądarki, by zaczęli to wspierać.

2
pieczarek napisał(a):

Niestety podany try-catch też wali takim wyjątkiem SyntaxError: invalid identity escape in regular expression

No, czyli tak jak myślałem. Twoja przeglądarka nie łapie wyjątków należycie.

Szkoda, że w profilu nie można wybierać edytora.

Dlatego że korzystasz z przeglądarki która nie wspiera ecma2018? no szkoda.

Może zagadnę ekipę od przeglądarki, by zaczęli to wspierać.

Ogarnąłem już issue do parsera markdown, i mam już odpowiedź od autorów. Powinni wypuścić wersję na dniach, i wtedy my szybko cyk; i będzie Ci działało normalnie forum.

1

@pieczarek: Wrzuciłem wersję 1.9.6 z zaktualizowanym parserem. Wejdź proszę na https://danon.github.io/4play.demo/ i zobacz czy biblioteka już dla Ciebie działa.

0

Nadal nie działa, ale teraz inne problemy są:

screenshot-20220202115543.png

1

@pieczarek:
screenshot-20220202120442.png

1

Jasność widzę, jasność !

screenshot-20220202120555.png

0

Okej, na 99% zależność się nie napisała, tzn zaktualizowałem wersję parsera ale (chędożony) npm i tak zainstalował tą która code mirror ma.
Dam update dzisiaj.

2

@pieczarek: Weszła poprawka z edytorem 1.9.7. Daj znać czy teraz Ci działa forum.

2

No teraz elegancko działa. Dzięki!

1
pieczarek napisał(a):

No teraz elegancko działa. Dzięki!

Mówiłem że dwa dni i naprawimy ;)

PS: @pieczarek a tak serio gościu, to czemu używasz takiej przeglądarki? Czemu nie Chrome, Edge albo FireFox?

1

Lepsze jest wrogiem dobrego ;) Używam tego od ponad dekady. Kiedyś to był wygodny pakiet - przeglądarka, klient maila, kalendarz CalDAV/CarDAV, klient IRC, Usenet, RSS. Bazuje to na FF, ale wygląda klasycznie - czyli tak jak za czasów kiedy jeszcze projektowali interfejsy z głową. Można też szybko pochować wszystkie panele, nie marnuje miejsca na odstępy i pustą przestrzeń. Używałem też Vivaldiego, ale gość lubi wejść na 100% CPU ostatnio i tak mieli... nie wiem, bitcoiny czy Etherium... ale trzeba ubijać mu wszystkie procesy. Jak coś działa... no właśnie ;)

0

@pieczarek: Poza tym edytor dobrze działa na SeaMonkey?

1

@TomRiddle: raczej tak, nie widzę innych anomalii.

1 użytkowników online, w tym zalogowanych: 0, gości: 1