HUP frissítés - 1.0.7

Címkék

Ma este a HUP műkösésében átmeneti kiesés várható, mivel frissitést hajtunk végre.

Pontosabb részletekkel ebben a cikkben fogunk jelentkezni, az esetleges kellemetlenségekért elnézést kérünk.

  • Általános frissítések
  • momentjs -> luxon átállás
  • A twitter és flickr widgetek mérete nem romlik el AJAX-os esemény (pl. szavazás) után (kösz sbela)
  • Csak a saját hozzászólások fejléce kap egyedi háttérszínt, új hozzászólások megjelenése visszaállítva
  • RSS-nél a bejegyzés törzséből felesleges elemek törlése
  • Szülő hozzászólásának mutatása az oldalsávban javítása

Következő lépés: Számlálók, új hozzászólások problémájának javítása.

Hozzászólások

Nevergone give you up

Nevergone let you down

Nevergone run around and desert you

Nevergone make you cry

Nevergone say goodbye

Nevergone tell a lie and hurt you

 

Volt már?

Multkor neztem pont egy youtube-os videot, ami nagyon passzolt ehhez a hup-os szamlalos mizeriahoz.

Lehet segit: https://www.youtube.com/watch?v=dQw4w9WgXcQ

 

szerk: nem ide.

Saying a programming language is good because it works on all platforms is like saying anal sex is good because it works on all genders....

Mot mi fog ezzel elcsesződni? Vagy kivételesen valami javulni (is) fog?

mar joparszor kerdeztuk hogy miert hetpecsetes titok az itteni drupal forraskodja... biztos van itt jopar szakember aki vmben/dockerben ki tudna debugolni ezt a szamlalo hibat. vagy barmilyen masik hibat egy PR-el javitani, stb

A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!

új hozzászólások megjelenése visszaállítva

engem itt már megvett, tovább nem is olvastam :)

Ajjaj, te használsz egy régebbi böngészőt, ugye? https://moment.github.io/luxon/docs/manual/matrix.html

Be tudod írni ide azt, ami a Javascript böngészőkonzolba belekerül?

A magyar ember jelképe a hátrafelé nyilazás. Vakon rohanunk a semmibe, miközben a múltunkat támadjuk.

Annyira tudtam... Már meg sem kérdezem, hogy minek kell ezt JS-ből odarenderelni...

A hivatkozott szkript nincs betöltve
Uncaught exception: TypeError: 'Object.assign' is not a function

Error thrown at line 7240, column 2 in (e) in https://hup.hu/sites/default/files/js/js_1w6G1PGos-X24O-MhLqhbVsSQCYFzcsqu4Mxejt-YKI.js:
    var Bt = {
called from line 5559, column 0 in https://hup.hu/sites/default/files/js/js_1w6G1PGos-X24O-MhLqhbVsSQCYFzcsqu4Mxejt-YKI.js:
    var luxon = function(e) {

Vagy talán inkább nem kéne egyre több mindennel a klienst terhelni feleslegesen, csak mert ez a divat. Ezért egyre szarabb és használhatatlanabb az egész web. Ennek megfelelően a "modern" browsereket meghagyom a webkettő hívőknek, én nem vagyok vallásos. Egyébként is mire váltanék? Mely másik browser hozza a Classic Opera featurelistáját? Tekintve, hogy a mainstream browsereket egyre jobban szénnébutítják, semmi. Úgyhogy maradok annál, ami sokkal kevesebbért tud sokkal többet (az utána született HTML/CSS/JS cuccokat leszámítva).
Apropó, miféle szabványról beszélsz? A W3C ajánlások (recommendations) nem szabványok. Szabvány az, amit az ISO és az IEC annak nyilvánít. HTML-ből az utolsó, ami szabványnak lett minősítve, az a HTML 4.01-ből derivált 15445:2000(E) TC1, JavaScriptből pedig az ECMAScript 5.1-tel ekvivalens 16262:2011. Ezeket az Opera 12 is tudja. Szóval max. az újabb ajánlásokat támogató browserről lehetne szó.

Opera 12 itten.

Javaslom, ágyazzunk bitcoin-minert a hup JS-ei közé, akkor már nemhogy ingyér lesz szerveroldalról nézve, hanem egyenesen rentábilis.
Most ugyan mondhatnám (ismét), hogy mi az már, hogy a szerver egyszeri terhelése helyett a klienseket terheljük minden betöltésnél, de inkább azt mondom, hogy a szerver folyamatos JS-felőli bombázása a szervert is jobban terheli, mint ha többet kéne cache-elnie, vagy generálnia.

Sajnálom. Tudom, hogy ez neked nyomasztó és nem akarlak terhelni ezzel, de ez valóban elmaradott böngésző a tudását tekintve. Szerver-oldalról pedig nem fogom odatenni, mert ez egy folyamatosan változó érték (aktuális időbélyeg - legutolsó beküldés időbélyege), ezért lehetetlen gyorstárazni. Közben meg kliens-oldalról könnyen kezelhető. Ha sok embernek szívfájdalma lenne, akkor menne vissza a momentjs (sőt, akkor nem is váltottam volna róla), de a luxon gyorsabb, ez más projektekben is kijött már.

Valamikor megnézem, hogy tudom-e polyfill-ezni, de könnyen lehet, hogy neked kell választanod: funkció vagy böngésző.

A magyar ember jelképe a hátrafelé nyilazás. Vakon rohanunk a semmibe, miközben a múltunkat támadjuk.

> Tudom, hogy ez neked nyomasztó és nem akarlak terhelni ezzel, de ez valóban elmaradott böngésző a tudását tekintve.

Ilyet csak az állít, aki nem tudja mire képes a Classic Opera. Az utána született HTML/JS/CSS cuccokat nyilván nem tudja, de a featurelistáját a mai napig nem közelíti meg egyetlen browser sem. Egyszer már szemezgettem belőle.

> Szerver-oldalról pedig nem fogom odatenni, mert ez egy folyamatosan változó érték (aktuális időbélyeg - legutolsó beküldés időbélyege), ezért lehetetlen gyorstárazni.

Egyfelől a fenét lehetetlen gyorstárazni. Többféle módon is lehet. Mondok kettőt is. Vagy tart az ember egy referenciatáblát, hogy mely tartalmak változásakor mely cache-itemeket kell invalidálni és újrahúzni, vagy pedig a cache-itemekben markerekkel jelöli azokat a részeket, amik változhatnak és cseréli őket, ha kell. A kettőt akár kombinálni is lehet.
Másfelől, itt nem is a gyorsítótárazás hiányáról volt szó, hanem arról, hogy ha szerver oldalon rendereli le, akkor ott belepakolhatja ezt is, zéró JS included. A követett tartalmak aloldalak legtöbbször csak a saját felhasználóiktól kapnak hit-et (nem hitet :P ) és mivel ezek pársoros lapokra vannak tördelve, nem nagy terhelés legenerálni őket ama pár alkalom esetén, amikor valaki lekéri. Nem az 1500-posztos hup8bug topicról van szó.

> Közben meg kliens-oldalról könnyen kezelhető.

Értem én, a kisebbik ellenállás felé kell mozdulni, a többlet átfolyó áramért meg fizessen a júzer. A JS a web pestise.

> Ha sok embernek szívfájdalma lenne, akkor menne vissza a momentjs (sőt, akkor nem is váltottam volna róla), de a luxon gyorsabb, ez más projektekben is kijött már.

Megnéztem ezt a híres Luxont: "Luxon officially supports the last two versions of the major browsers, with some caveats." Ezt minősíteni sem szeretném. A major browsers még hagyján (nem, az sem az), de, hogy csak az utolsó kettő verziót, úgy, hogy manapság kétnaponta jön ki új verzió? Hogy van ez megírva? Én már nem is mondok erre semmit, majd habazer mond "egy-két szavat", ha idetéved...

> Valamikor megnézem, hogy tudom-e polyfill-ezni, de könnyen lehet, hogy neked kell választanod: funkció vagy böngésző.

Fals dilemma. Az Opera a legflexibilisebb böngésző, úgy bővítem ki bármelyik oldalt vele, ahogy akarom és ha valami nem működik, meg tudom kerülni, tudok rá írni alternatívát.

Adott ez az pár sornyi gyorsan összedobott JS:

function _ds(diff)
{
	var d = Math.floor(diff / 86400);
	diff = diff % 86400;
	var h = Math.floor(diff / 3600);
	diff = diff % 3600;
	return d + 'd ' + h + 'h ' + Math.floor(diff / 60) + 'm ' + (diff % 60) + 's ago.';
}

function fuck_luxon()
{
	var t = new Date();
	var kecske = document.getElementsByClassName('formattimeago');
	for (var i = 0; i < kecske.length; ++i)
	{
		kecske[i].parentNode.insertAdjacentHTML('afterbegin', _ds(Math.round((t.getTime() + 3600000 - (new Date(kecske[i].innerHTML.substring(0, 19))).getTime()) / 1000)));
	}
}

fuck_luxon();

Ezt el kell URL-encode-olni, majd betenni ebbe a stringbe, a PLACEHOLDER helyére:

opera:/button/Go to page, "javascript:PLACEHOLDER",1,Fuck luxon

Ezt Operában URL-ből meg kell hívni, mondjuk így: http://oscomp.hu/depot/fuck_luxon.html (Belinkeltem volna nagyon szívesen közvetlenül ide is, de a nagyonokos drupálmotor úgy döntött, hogy olyan URL nincs, hogy opera:akármi és leharapta az elejét...)
Az eredmény egy Opera toolkit gomb, amit kiszórhatunk a böngésző felszínére, bárhova és ha a követett tartalmak oldalon rábökünk, akkor meg is vagyunk: http://oscomp.hu/depot/opera12_fuck_luxon.png De betehető user-js-be is, mert az Opera 12 OOB támogatja az user-js-t és user-css-t is, nem kell hozzá mindenféle monkey, meg nem tudom milyen kiegészítő, mert ugye ez egy elmaradott böngésző...

Hát kb. ennyire elmaradott. Melyik másik browser tudja ezt, hogy megfogod a kódot, amit valahol futtatni akarsz, belerakod egy URL-be és kidobod vele a browser felszínére? Hol van még lehetőség OOB csak úgy codesnippeteket futtatni egy definiálható gomb lenyomásával? Maximum valami extensionnel, akár Chrome, akár Firefox...
A régi XUL alapú böngészőkben ugyan volt lehetőség "mini" extension-t csinálni erre a célra és csinálni hozzá toolbar buttont, de az is egy több fájlból álló extension, nem URL-be dobható codesnippet. És ugye az az "elavult" XUL volt, a WebEngine-vel ugyanezt már nem csinálod meg. Írhatsz rá egy teljes extension-t, digitális aláírással, minden lópikulával, hogy aztán, ha a Mozilla oldalán megint lejár valami cert, akkor a te saját extension-öd se működjön tovább. "Modern" browser. Ami kevesebbet tud, mint előtte! Fejlődés! Innováció! Bazmeg...

Arról meg, hogy mit lehet megoldani a régi browserekben, meg mit nem, arról itt ez a tanulságos kis strip: https://www.commitstrip.com/wp-content/uploads/2016/07/Strip-Les-Prerolls-650-finalenglish-2.jpg
Csak akarni kell.

Akkor ez a probléma megoldódott, úgy látom.

A visszafelé kompatibilitásnak is van határa, amíg nem megy az előrehaladás rovására. Plusz tőlem várod, hogy hobbiból támogassak egy technikailag elmaradott böngészőt, de az nem merül fel, hogy talán neked kellene megfelelő megoldást vagy böngészőt választanod.

Nagyra tartom a HUP-ba fektetett eddigi erőfeszítésedet, de valószínűleg nekem nem lesz most erőforrásom kb. teljesen láthatatlan részesedéssel bíró böngészők támogatására.

A magyar ember jelképe a hátrafelé nyilazás. Vakon rohanunk a semmibe, miközben a múltunkat támadjuk.

> Akkor ez a probléma megoldódott, úgy látom.

Meg. Megint a júzer oldotta meg.

> amíg nem megy az előrehaladás rovására

Előrehaladás? Egy raklap dolog nem működik, minden sokkal lassabb lett, mint volt a D5-ben; ez hol előrehaladás? Vagy mi neked az előrehaladás? Az, amerre a web megy? Az közönséges degeneráció. "Progress Without Progress"

> hobbiból támogassak

Hobbiból? Én azt hittem, te ezért fizetést kapsz...

> egy technikailag elmaradott böngészőt

Mondd, te elolvastad, amit leírtam? Hol tud olyat a többi browser, mint amit most mutattam? A folyamatosan butított "modern" böngészőid azok, amik technikailag el vannak maradva. Nemhogy a Classic Operától, de a tíz évvel ezelőtti önmagukhoz képest is. A múltkori firefoxos topicban elég keményen ki volt vesézve, hogy mekkora visszalépés volt a XUL-hoz képest a WebExtension.

> de az nem merül fel, hogy talán neked kellene megfelelő megoldást vagy böngészőt választanod.

Talán pont az eddig részletezett okok miatt. Esetleg.

> Nagyra tartom a HUP-ba fektetett eddigi erőfeszítésedet, de valószínűleg nekem nem lesz most erőforrásom kb. teljesen láthatatlan részesedéssel bíró böngészők támogatására.

Sebaj. Eddig is megoldottam nélküled, ami problémákat okoztál nekem a "modernizálással". Ha már teljesen használhatatlan lesz a hup Operából, akkor sem browsert fogok váltani, hanem írok a hupra is egy frontendet magamnak, ahogy tettem a tönkrevágott youtube esetében is...

Ezt nem tudom miért gondolod, de cáfolnám: amikor a tecső még nem volt full kliensoldalon renderelt, akkor egyszerűen megnéztem, hogy hol vannak a HTML-ben elhelyezve az adatok, ill. URL-ek, írtam egy HTML parsert, ami felépítette a node-fát, aztán csak kiszedtem a megfelelő helyről, amit kellett; amióta viszont full JS, azóta jelentős visszafejtő munka is van mögötte, ugyanis a tecső ad egy darab batár nagy JSON tömböt és abban kellett kitalálni, hogy melyik eleme mit csinál és hova való, hova fogja tenni a JS, amihez vagy visszafejted a fragmentált, űbertakony és egyébként is obfuszkált JS kódot, vagy lerenderelteted egy browserrel, aztán megpróbálod megkeresni...hogy aztán belefuss abba, hogy az adatok többször szerepelnek, több helyen, baromi hasonló nevekkel, a struktúrában pedig egyre kevésbé látja az ember a koncepciót, ahogy egyre mélyebbre ás benne...

BTW, amikor még nem full kliensoldali renderelt volt, akkor még volt lapozó is, amivel arra az oldalra ugrottál, amelyikre akartál, most már csak "több találat betöltése" van; mi, hogy neked a 17. oldal kellene, hát kit érdekel büdös júzer: nyomd meg a gombot, várd meg amíg betölt, scrollozz le a következő betöltőgombig, aztán GOTO 10, 16x... Kényelmes és intuitív! És főleg modern és innovatív! Jó ég...
Ez persze nem a kliensoldali render miatt van, át lehetett volna a régi lapozót is írni; a tendenciára célzok, hogy kiszerveznek mindent kliensoldalra, hogy ne a szervernek kelljen cache-lnie, meg renderelnie, szopjon csak az összes júzer gépe, viszont a kliensoldali rendert meg egyre bloatabb és bloatabb módon oldják meg, miközben egyre butább és butább lesz a felület... web2 sucks.

Ha esetleg arra céloztál, hogy maga a backend tartalmaz olyan access point-eket (URL-ben ofcoz), ahonnan saját célra lekérhetsz tisztán adatot, akkor az úgy igaz, hogy megkönnyíti az ember dolgát, de annak viszont semmi köze a JS-hez, azt bármiből lehet hívogatni és az még nem teszi szükségszerűvé a kliensoldali rendert. Ilyen pontokat szerveroldali render mellett is lehet biztosítani a júzereknek.

Mas betutipus lett? Vagy csak haluzok?

Saying a programming language is good because it works on all platforms is like saying anal sex is good because it works on all genders....

  • momentjs -> luxon átállás

Ennek mi az oka? 
Azért érdekelne, mert a momentjs-t számtalan helyen használom, a másikról meg még nem is hallottam eddig. Most, hogy felnéztem az oldalára, úgy tűnik, mint ha kb. ugyan az lenne. De gondolom van valami mögöttes ok, ami miatt cserére kerül.

Nagy Péter

> Csak a saját hozzászólások fejléce kap egyedi háttérszínt, új hozzászólások megjelenése visszaállítva

Csodás :(

Nekem még egy első új hozzászólás link hiányzik továbbra is.

"Sose a gép a hülye."

Nekem gyorsabbnak is tűnik. Másnak?

trey @ gépház

nem zavaró még a gyorsasága

$ date ; for X in {1..10}; do URL="https://hup.hu/forumok/hup8bug?$(date +%s.%3N)#new"; S=$(curl -o /dev/null -w "%{time_total}" -qs "${URL}"); printf "%8s. %s: %6.2fs\n" "${X}" "${URL}" "${S}"; done
2020. nov. 16., hétfő, 09:04:42 CET
       1. https://hup.hu/forumok/hup8bug?1605513882.873#new:  12,93s
       2. https://hup.hu/forumok/hup8bug?1605513895.824#new:   8,58s
       3. https://hup.hu/forumok/hup8bug?1605513904.422#new:  10,63s
       4. https://hup.hu/forumok/hup8bug?1605513915.070#new:  13,29s
       5. https://hup.hu/forumok/hup8bug?1605513928.383#new:  15,24s
       6. https://hup.hu/forumok/hup8bug?1605513943.639#new:   9,92s
       7. https://hup.hu/forumok/hup8bug?1605513953.569#new:   8,49s
       8. https://hup.hu/forumok/hup8bug?1605513962.070#new:   9,40s
       9. https://hup.hu/forumok/hup8bug?1605513971.492#new:  10,84s
      10. https://hup.hu/forumok/hup8bug?1605513982.349#new:  11,02s
$ date ; for X in {1..10}; do URL="https://hup.hu/forumok/hup8bug?$(date +%s.%3N)#new"; S=$(curl -o /dev/null -w "%{time_total}" -qs "${URL}"); printf "%8s. %s: %6.2fs\n" "${X}" "${URL}" "${S}"; done
Mon 16 Nov 2020 10:14:29 AM CET
       1. https://hup.hu/forumok/hup8bug?1605518069.577#new:   8.28s
       2. https://hup.hu/forumok/hup8bug?1605518077.871#new:   8.03s
       3. https://hup.hu/forumok/hup8bug?1605518085.917#new:   7.91s
       4. https://hup.hu/forumok/hup8bug?1605518093.838#new:   8.50s
       5. https://hup.hu/forumok/hup8bug?1605518102.350#new:   8.20s
       6. https://hup.hu/forumok/hup8bug?1605518110.556#new:   8.58s
       7. https://hup.hu/forumok/hup8bug?1605518119.145#new:   7.83s
       8. https://hup.hu/forumok/hup8bug?1605518126.989#new:   7.91s
       9. https://hup.hu/forumok/hup8bug?1605518134.910#new:   8.12s
      10. https://hup.hu/forumok/hup8bug?1605518143.047#new:   7.89s
  • A twitter és flickr widgetek mérete nem romlik el AJAX-os esemény (pl. szavazás) után (kösz sbela)

Ellenben a HUP tweetjei box megnő és kiürül... (szavazás adásánál, visszavonásánál, +1 esetén stb.)

Nem, ugyanaz a hiba, megy ki a javítás.

A tartalmakban lévő tweetre ráugrik az iframe[src*="twitter.com"] CSS selektor, de az oldalsáv idővonalára nem. Kösz a jelzést, nálam ezek alapból rejtve vannak, ezért nem tűnt fel.

A magyar ember jelképe a hátrafelé nyilazás. Vakon rohanunk a semmibe, miközben a múltunkat támadjuk.

Semmi ellentmondás nincs, az oldalsávban külön nem ellenőriztem. Fel sem merült bennem, hogy az a CSS szelektor, ami a tartalmakon belül működik, az az oldalsáv idővonalára nem ugrik rá. De már szerencsére javítottam azt is.

A magyar ember jelképe a hátrafelé nyilazás. Vakon rohanunk a semmibe, miközben a múltunkat támadjuk.

  • Szülő hozzászólásának mutatása az oldalsávban javítása

Ez pontosan mit jelent? Mit kellene látnom?

A "legutóbbi beküldés" oszlopokban angol nyelvű a szöveg.

:)

Szerkesztve: 2020. 11. 21., szo – 11:42

Az alábbiakkal kéne még valamit kezdeni.

  • Egyre növekvő függőleges padding a topiklistáknál. Felesleges helypazarlás, olyan megjelenítőkön, amiknél amúgy is a függőleges tér a szűk keresztmetszet a 16:9 miatt.
  • Rövidítés (...) hiánya a topiklistáknál, hosszú topikcímek több sorosra tördelik az egyes listaelemeket /boot-nál és mindenhol, ahol topiklista van. Ez nem mutat valami jól és az inkonzisztens felület érzését kelti.
  • Ha angol nyelvű böngészőből használom a HUP-ot, akkor "10 seconds ago" és hasonlók jelennek meg, magyar szövegkörnyezetben, a Legutóbbi beküldés oszlopban. Ez szintén az inkonzisztens UI érzését kelti.

Egyébként tetszik az az irány, amerre haladnak a frissítések és nagyon örülök, hogy ebből nem egy lebutított, eltabletesített, material designos, csiligány, animációbuzi, színtelen, szagtalan, használhatatlan steril szutyok lett. Köszönet érte. Továbbá elnézést, ha esetleg rossz helyre küldtem az észrevételeket.

Ez fura, mert előtte teszteltem és direkt force-oltam a magyar nyelvet. De akkor tesztelem megint. Vagy a környezetem nem állt át teljesen angolra, vagy valami egyedi dologra ugrik. A napokban kinyomozom.

A magyar ember jelképe a hátrafelé nyilazás. Vakon rohanunk a semmibe, miközben a múltunkat támadjuk.

$ set | grep LC
LC_ADDRESS=en_US.UTF-8
LC_COLLATE=en_US.UTF-8
LC_IDENTIFICATION=en_US.UTF-8
LC_MEASUREMENT=en_US.UTF-8
LC_MONETARY=en_US.UTF-8
LC_NAME=en_US.UTF-8
LC_NUMERIC=en_US.UTF-8
LC_PAPER=en_US.UTF-8
LC_TELEPHONE=en_US.UTF-8
LC_TIME=en_US.UTF-8

$ set | grep LANG
LANG=en_US.UTF-8

Firefox böngésző, az alapértelmezett angol nyelven kívül nincs más telepítve. És magyar nyelvűek a szövegek anonként és belépve is. Ez most így elég wtf.

Ez csak egy átlagos tesztuser nevergone-nak.

Nem nagyon akarok beleszólni, de ez a probléma újabb Firefox verziókat már nem érinti. Gondolom a DateTime.toRelative metódust használod, ami angolra fallback-el ha a böngésző nem támogatja a relatív formázást. A jelenlegi support matrix már nem mutatja, de egy korábbi verzióban még látszik, hogy az 56-os verzióból még hiányzik ennek a támogatása. Vagyis ez a probléma magától meg fog oldódni, amint bolond hajlandó újabb verzióra frissíteni, ami már támogatja ezt az API-t.

Akkor egyezzünk ki abban, hogy az angol nyelvre formázott relatív idő nem kritikus probléma, miután a HUP-pal kapcsolatba már lejjebb adtad az elvárásaid.

Továbbra is igaz, hogy a probléma magától meg fog oldódni, csak rajtad múlik, hogy ehhez mennyi idő kell.

Szerkesztve: 2020. 12. 01., k – 18:18

Már másnál is előjött. Pár témánál észrevettem, hogy más felhasználó hozzászólásait színezi a saját hozzászólás színével. Jelenleg kettőt tudok mutatni, a többit nem jegyeztem meg. Elég a képernyőkép, vagy milyen infó kell még róla? Szívesen segítek a nyomozásban, hogy jobban működjön az oldal és ne csak ugasson mindenki.