Firefox android - Törlődő tabok

 ( prion | 2018. október 12., péntek - 9:19 )

Tapasztal más is ilyet, hogy mobilon időnként elveszik az összes nyitott tab? Nem tudom új verzióra váltáskor vagy mikor, de nagyon zavaró, mert nincs session restore sem, és hitory-ból sem tudom őket visszaszedni, de még a syncből sem, mert ott is felülvágja az üressel.

Van esetleg erre megoldásotok? Valahogy vissza lehet ilyenkor állítani a korábbi állapotot? (persze az ideális az lenne, ha el se vesznének)

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

Hülye kérdés: a history törlésénél van ilyen lehetőség, hogy a nyitott tabokat is törölje, nem használod azt véletlen? Máskor én nem tapasztaltam a jelenséget. Illetve még esetleg azzal tudok segíteni, hogy van egy firefox extension-öm, ami log-olja a nyitott tabokat (x időnként elküldi a nevüket és url-jüket), hasonló céllal, elvileg megy mobilon is.

Ez is fontos info, hogy nálad nem! De nem is a history tuti. Van, amikor olyan, hogy még meg vannak a tabok, de nincs oldal csak az url. Lehet valahogy a tabok külön processek és a teló kivágja őket alóla? És utána amikor meg az egész ff zárva van egyszer akkor meg el is tűnnek egészen? csak egy kétségbeesett ötlet. xiaomi os-e amúgy miui.

Az a kiegészítő nagyon hasznos lenne. Tudnád linkelni?

Kiegészítőből forráskódot tudok csak adni, nincs publikálva. Annyi kell hozzá, hogy regisztrálj egy fiókot a mozilla developer részlegén és telepíts egy "web-ext"-et, azzal tudod az extension-t csomagolni. A kód .js, manifest fájl és build script alább. Jelenleg fájlba nem írok vele, csak elküldöm egy webcímre. "..."-okat helyettesíts.

Másik irány: nem lehet valamilyen kiegészítő a hibás?

(kódban tabulálást törlésre került a megjelenítéskor, hup mágusok, hogy kell ezt?)

- - - - -

___build.sh


#!/bin/bash
web-ext sign --api-key=user:...:... --api-secret=...

manifest.json


{

"manifest_version": 2,

"name": "...",
"version": "1.0",

"permissions": [
"tabs"
],

"background": {
"scripts": [
"tabs.js"
]
}

}

tabs.js


const logtabs_post_address = "https://...";
const logtabs_time = 1000;

function logtabs(tabs){
var data = new FormData();
data.append( "json", JSON.stringify( tabs ) );
var options = {
method: "POST",
body: data
};
fetch(logtabs_post_address, options).then(function (response){
if (!response.status === 200){
// error
}
});
}
function logtabs_error(error){
// error
}

var logtabs_timer = setInterval(function(){
var tabs = browser.tabs.query({});
tabs.then(logtabs, logtabs_err);
},logtabs_time);

Bocs, csak most jutottam ide, részben mert elsőre nem volt világos gyorsan mit, hogyan is kell tennem és gondoltam majd visszatérek és átgondolom :D. Szóval először is nagyon köszönöm ezt is, hogy megosztottad velem.

Mobilon csak egy ublock origint használok. Nem hiszem, hogy az csinálná. Meg nehezen tudnám tesztelni, mert ritkán van ez. És addig is kerülném a hirdetéseket.

A kódhoz tudnál egy kis segítséget adni még, hogy hogyan lesz ebből extention a mobilra? :) hogyan kellene feltöltenem az egyes ...-okat? És ezt a hármat berakom három fileba az adott neveken, egy könyvtárba? És aztán futtatom a build.sh-t? Nem vagyok otthon js-ben jah. És akkor buildnek lesz egy eredménye és azt csomagolom majd a web-ext által? És azt letöltöm a mobilra és valahogy onnan telepítem? Vagy a mozzila developer accountból valahogy?

Csak remélem, hogy nem bánod, hogy még kérdek az idődből. Megértem, ha már sok, már így is bőven adtál.

Lépések:

- web-ext install, emlékeim szerint ubuntu repo-ban benne van
- ___build.sh futtathatóvá tétele
- mozilla developer account létrehozása, ott egy api key és api user létrehozása
- ezeket megadod a ___build.sh-ban
- a manifest.json-ban csak az extension nevet kell megadnod
- tabs.js-ben a https:// résznél kéne megadnod egy webcímet, ahova post-olhatja az extension a tartalmat
- a szerveren egy "json" nevű mezőben lesz egy json struktúrájú adatot, amiben benne lesz a tab-ok listája, title és url mellett más is
- az "// error"-ok helyére lehet érdemes egy "alert('hiba 1');" kódot rakni, első a post-olás sikertelenségéről jelez (nem http 200-as kód jött vissza), második a tab-ok lekérésének hibáját mutatja
- ha kész a program, akkor a __build.sh-t futtasd, elkészíti a csomagot, egy .xpi fájlt, az egy jó kérdés, hogy telefonon ezt hogy lehet telepíteni, emlékeim szerint webre felrakod, onnan a firefox képes telepíteni, csak majd persze kérdezi, hogy bizti bizti-e
- azt nem tudom, hogy mennyire lesz életképes a produktum, desktop-on hibátlanul fut, mobilon nem teszteltem

Ha kérdés van nyugodtan írd még, megpróbálok segíteni.

(Ha nem nézném a topic-ot jelezd nyugodtan levélben, hogy mi a helyzet, csak most is spam-be került a levél, onnan véletlen látva szedtem csak ki. Majd szólj trey-nek :). )

Kiegészítés: lehet nem is kell web-re raknod a kiegészítőt, firefox android is tud file:// protokolt kezelni, és lehet a post-oláson kívül fájlba is lehetne menteni a naplókat, ezt nem ismerem viszont firefox kiegészítőknél hogy működik (ha ez segít a firefox web-ext-je elvileg google chrome kompatibilis standardokat követ, van fájl írás.)

web-ext talán sikerült. Itt akadtam el:
- mozilla developer account létrehozása, ott egy api key és api user létrehozása

Csináltam accountot, de ezt az api key-t és api usert hogy szerzem ott be?

Itt?

https://addons.mozilla.org/hu/developers/

Mármint itt csináltál account-ot?

nem eredetileg itt: developer.mozilla.org/en

De most ez a rész siker.

Viszont most itt buktam:
tabs.js-ben a https:// résznél kéne megadnod egy webcímet, ahova post-olhatja az extension a tartalmat

Ez, hogy tudnám egyszerűen megoldani? (jah fogalmam sincs az egészről :D)

Ingyen tárhely, rajta egy php fájl, ami elkapja a post-ot? A cím bármi lehet, de javaslok valamit, előtte próbáld ki a web-ext-el, hogy lefordul-e a csomag, ha a post-ot kiveszed, fentebb írtam debug-olásról, mielőtt nekiesnél webszervert összerakni :).

Egyébként kb. az alábbit berakod egy php fájlba, és megvan a rögzítés: (mappa írhatóvá tételéről, biztonságról nem írtam, hogy hát nem oda kéne írni, ahol a .php fut, ilyesmik, és a json fájlok megnyitásáról sem, biztos van egy rakás json viewer erre, és így a hely is egyszer el fog fogyni)

- - - - -

<?php

if ( isset($_REQUEST['json']) ){
file_put_contents( date('Ymd-His-').rand(100000,999999).'.json' , $_REQUEST['json'] );
}

Hú, nagyon köszi, hogy ennyi energiát raktál belém, de asszem ezt mégsem fogom megugrani. Elején egyszerűbbnek tűnt :D