Erweiterung media.windows-media-foundation.enabled

  • langsam verzweifle ich. Jetzt wollte ich Version 0.3.2 hoch laden (gestern auch schon) und dauernd wird sie von Mozilla deaktiviert. Was mache ich nur falsch? :-?? Leider finde ich nicht den Grund warum die Datei deaktiviert wurde :roll:

    Vor der Überprüfung wurde mir das angezeigt: https://addons.mozilla.org/de/developers/…atibility-tests Leider verstehe ich da nur Bahnhof. Nach der Überprüfung gibts leider nur die Meldung

    Zitat

    Erstellt am August 27, 2015 und geändert auf wurde von Mozilla deaktiviert am August 27, 2015


    Mein aktueller Code sieht momentan so aus:


    Ich hänge hier auch nochmal die xpi an, welche ich hochgeladen habe (lediglich .xpi in .zip geändert, damit ich sie im Forum hochladen kann)
    Bitte helft mir :traurig:

  • in der main.js: nur der Pfad zum Bild welches bei aktiv/inaktiv angezeigt wird sowie die Beschreibung dazu sowie die Hinzufügung
    || 'disable' === reason
    Ich verstehs echt nicht. Ich werde mal im IRC nach fragen.

    Hilfe auch im deutschsprachigen Matrix-Chat möglich oder im IRC-Chat
    Meine Anleitungstexte dürfen gerne "geklaut" und weiter verwendet/kopiert werden ;)

  • gestern wurde die Datei geblockt wegen einer unbekannten SDK Version. Heute wurde geblockt, weil ich mit der gleichen Versionsnummer erneut hoch geladen habe. Zu meiner Schade muss ich gestehen, dass man über die Gründe per Mail informiert wird :roll:

    Aber der Tipp im IRC mal nach zu fragen war super. Ich wurde nach #amo-editors geschickt und dort traf ich zum Glück einen bekannten deutschsprachigen Helfer, ohne den ich das alles nicht geschafft hätte.
    Er begleitete mich per PN durch das ganze Prozedere mit dem neuen Anwendung node.js Vielen Dank an dieser Stelle an Andreas W. [Blockierte Grafik: http://i.imgur.com/2ljqaVs.gif]

    Um das Ganze nicht wieder zu vergessen habe ich nachträglich die Anleitung aufgeschrieben und Bilder dazu gemacht. Vielleicht hilft es ja jemandem, der genauso wenig Ahnung von der Materie hat wie ich. :oops:
    _____________________________________________________________________________________________________

    ● node.js herunterladen von https://nodejs.org/download/release/latest/ (ich habe den Windows installer.msi genommen für mein 64bit System)
    ● node.js installieren
    ● Über das Windows-Startmenü geht man in den Ordner node.js und öffnet "node.js command promt"
    im Konsolenfenster steht nun C:\Users\Myname>
    ● Dort gibt man folgendes ein: npm install jpm -gAchtung: diesen Befehl muss man nur einmalig machen, da damit jpm installiert wird und weiterhin erhalten bleibt.
    Es dauert eine Weile und sieht dann in der Konsole etwa so aus:
    [attachment=2]jpm1.png[/attachment]
    dort wechselt man erst einmal auf den Desktop mit dem Befehl:
    cd Desktop
    und erstellt dort einen neuen Ordner (zb. mit dem Namen testaddon) und wechselt gleich in diesen Ordner mit dem Befehl:
    mkdir testaddon && cd testaddon
    Um das Grundgerüst für das Addon zu bauen, folgendes eingeben:
    jpm init
    Danach wird man in mehreren Zeilen aufgefordert die notwendigen Daten für das Addon einzugeben.
    ● Zum Schluss bestätigt man das Ganze mit yes
    [attachment=1]jpm2.png[/attachment]
    Nun ist das Grundgerüst vorhanden im Ordner "testaddon"
    [attachment=0]jpm3.png[/attachment]
    Man bearbeitet die Datei index.js (früher main.js)
    Zudem erstellt man einen neuen Ordner mit Namen "data" und legt dort seine Icons/weitere Daten ab.
    Das Icon, welches direkt unter Add-Ons--> Erweiterungen in Firefox angezeigt werden soll legt man direkt als icon.png sowie icon64.png im Hauptordner (testaddon) ab.
    In der package.json fügt man per Hand noch seine eindeutige ID hinzu. Für mich war es die Zeile

    Code
    "id": "quick-media-codec@jetpack",


    [Blockierte Grafik: http://i.imgur.com/tmrP3V5.png]
    Nun kann man sein Addon direkt, in einem neu angelegte temporären Firefox Profil, testen mit dem Befehl
    jpm run
    Wenn alles funktioniert kann man diese Firefox Instanz wieder schließen und ist in der Konsole wieder im Hauptordner.
    Dann kann man die xpi erstellen mit dem Befehl
    jpm xpi
    Diese wird dann auch im Hauptordner abgelegt und kann dann zu AMO hochgeladen werden
    _____________________________________________________________________________________________________

    Jetzt funktioniert wirklich alles. Auch die alten about:config Einträge von alten Versionen werden nun durch die Aktualisierung auf die default Einstellung zurück gesetzt. :klasse:

    Jetzt möchte ich es aber doch ganz perfekt haben. Und zwar wird bei den Überprüfungsergebnissen bei Erweiterungstests
    eine Warnung angezeigt.


    Was hat es damit auf sich? Was müsste ich da ändern, damit diese weg ist?

  • Danke für diese ausführliche Rückmeldung und auch das Tutorial. Schön, dass du damit auch direkt den Wechsel zu JPM vollzogen hast, was ich ja auch schon in einem meiner vorherigen Beiträge angedeutet hatte. Bei meinen eigenen Add-ons bin ich selbst noch nicht dazu bekommen. ;)

    Was die Warnung betrifft, ich vermute fast, dass du die nicht beheben kannst, die Datei bootstrap.js müsste eine generierte Datei sein, sprich darauf hast du nicht wirklich Einfluss.

    Ich hab mal danach gesucht:
    https://bugzilla.mozilla.org/show_bug.cgi?id=1165658

    Das hat sogar für Mozilla so geringe Priorität, dass das Ticket ein WONTFIX erhalten hat.

  • ok. Dann mache ich mir keine weiteren Gedanken darum.
    Ja, die Andeutungen hatte ich zwar durchaus wahr genommen aber nicht kommentiert. Trotzdem hatte ich mich vorher schon mit dem node.js beschäftigt und es dann aber frustriert fallen gelassen. Der Fehler war dass ich immer die "node.js.exe" anstatt "node.js command promt"gestartet hatte und damit völlig auf dem Holzweg war. Wenn ich dann händisch irgendwelche Ordner in der Konsole öffnete hats halt auch nicht die Entwicklungsumgebung von node.js geladen. Dann hatte ich vor Tagen irgendwann genervt aufgegeben. Auch mein Helfer stöhnte heute als wir erst einmal irgendwelche Windows Umgebungsvariablen ändern mussten damit es irgendwie ging

    Zitat

    auf windows ist das echt ein krampf

    Aber nachträglich habe ich dann gemerkt dass das alles nicht nötig ist/war wenn man es von Anfang an so macht, wie ich es jetzt auch dokumentiert habe. Damit ist es eigentlich sogar einfacher (wenn man weiß wie), als mit phyton und addon-sdk. Schade dass auf der Mozilla Seite keine wirkliche große Hilfe gibt für so Noobs wie ich es bin.
    Dir Sören auch ein großes Danke. :D

    Hilfe auch im deutschsprachigen Matrix-Chat möglich oder im IRC-Chat
    Meine Anleitungstexte dürfen gerne "geklaut" und weiter verwendet/kopiert werden ;)

  • Sören, kannst du mir helfen? Ich blick mal wieder nicht durch. Habe gerade eine Mail bekommen, die mich verunsichert


    Was muss ich denn jetzt wieder neues machen, damit alles kompatibel bleibt für die nächsten Versionen? (https://addons.mozilla.org/de/firefox/add…ck-media-codec/) :oops:

    Hilfe auch im deutschsprachigen Matrix-Chat möglich oder im IRC-Chat
    Meine Anleitungstexte dürfen gerne "geklaut" und weiter verwendet/kopiert werden ;)

  • Die E-Mail hat jeder bekommen, der mindestens ein Add-on auf AMO hochgeladen hat. Da geht es nur darum, dass du dein Add-on mit e10s testen sollst und wo du weiterführende Informationen findest. Außerdem wirst du darüber informiert, dass es nun "Sprechstunden" im IRC gibt (Link 10), wo Mitarbeiter von Mozilla dabei unterstützen, Add-ons kompatibel zu machen. Also möglicherweise musst du gar nichts machen. Starte am besten mal eine Nightly-Version von Firefox, stelle sicher, dass e10s aktiviert ist (ist Standard in der Nightly-Version) und schau, ob dein Add-on funktioniert. Wenn ja, musst du nichts tun. Nach einem Überfliegen des Quellcodes würde es mich wundern, wenn das mit e10s nicht funktioniert.

  • Ergänze folgendes in der Datei package.json und lade eine neue Version auf AMO hoch:
    https://git.agenedia.com/firefox-add-on…aeb7671e4895771

    Das ist zwingend notwendig ab Firefox 50, wenn du nicht willst, dass dein Add-on die Aktivierung von e10s verhindert. Ab Firefox 50 soll e10s nämlich für Nutzer mit Add-ons aktiviert werden, sofern alle aktivierten Add-ons das entsprechende Flag gesetzt haben. Plus WebExtensions, die sind bereits in Firefox 49 in Ordnung. Ein einziges Add-on, welches das Flag nicht setzt, und in Firefox 50 gibt es noch kein e10s für den Nutzer. Ausnahme: Tab Mix Plus wird in Firefox 50 trotz gesetzten Flags die Aktivierung von e10s verhindern, das wird von Mozilla auf Grund bekannter Probleme blockiert.

    Wenn du eh schon eine neue Version erstellst, JPM ist mittlerweile in Version 1.1.4 verfügbar (Changelog: https://github.com/mozilla-jetpack/jpm/releases).

  • mit "jpm run" wollte ich nun das neue Addon testen, aber funktioniert nicht, da deaktiviert

    Zitat

    JPM [info] Starting jpm run on Quick Media Codec
    JPM [info] Creating a new profile
    1474370290138 addons.xpi WARN Add-on quick-media-codec@jetpack is not
    correctly signed.
    1474370290139 addons.xpi WARN Add-on quick-media-codec@jetpack is not
    correctly signed.


    Gibts da einen Trick, denn vorher testen wäre schon gut, manchmal fallen mir da noch Fehler auf.

    Hilfe auch im deutschsprachigen Matrix-Chat möglich oder im IRC-Chat
    Meine Anleitungstexte dürfen gerne "geklaut" und weiter verwendet/kopiert werden ;)

  • Das Add-on ist nicht signiert. Du könntest es vorher signieren, das geht auch über die Kommandozeile mit jpm, du könntest in einer Nightly-Version, einer Version der Developer Edition oder in einem Build mit deaktivierbarer Signaturpflicht die Signaturpflicht deaktivieren oder du machst es wie ich: ich nutze about:debugging. Im Reiter "Add-ons" kann die xpi-Datei einfach ausgewählt werden, dazu muss das Add-on nicht signiert sein. Das funktioniert auch in finalen Firefox-Versionen mit Signaturpflicht.

  • Hätte mal noch eine kleine Frage: Beim SafeMode von Firefox werden ja Erweiterungen deaktiviert, aber die, durch die Erweiterung getätigten Einträge, werden nicht unbedingt zurück gesetzt. In diesem Fall bleibt "media.play-stand-alone" auch im SafeMode auf false (wenn vorher so umgestellt wurde).

    Es wäre doch bestimmt sinnvoll, dass die Einträge im SafeMode auch zurück gestellt würden, oder?
    Falls ja, wie müsste der Eintrag heißen?

    Beim Deinstallieren, Update, Deaktivieren wird ja schon auf den Default Wert umgestellt.
    Auszug aus der index.js

    Code
    exports.onUnload = function (reason) {
                if ('disable' === reason || 'uninstall' === reason || 'upgrade' === reason || 'disable' === reason) {
                    prefs.reset('media.windows-media-foundation.enabled');
                    prefs.reset('media.directshow.enabled');
                    prefs.reset('media.gstreamer.enabled');
                    prefs.reset('media.apple.mp3.enabled');
                    prefs.reset('media.play-stand-alone');
                };
            }


    Freue mich auf Antworten.

    Hilfe auch im deutschsprachigen Matrix-Chat möglich oder im IRC-Chat
    Meine Anleitungstexte dürfen gerne "geklaut" und weiter verwendet/kopiert werden ;)

  • Wenn disable nicht greift, gibt es dafür vermutlich keine Lösung. Das ist zwar nicht optimal, andererseits wäre es ansonsten auch nicht wirklich optimal, weil der Safe Mode damit einen Datenverlust bezüglich der Add-on-Einstellungen bedeuten würde. Ohne es genauer untersucht zu haben, stelle ich mir das so vor, dass Firefox im Abgesicherten Modus die Erweiterungen überhaupt nicht erst lädt und es damit dann auch kein "onUnload-reason" gibt.

    Mir fällt an dem Code aber auf, dass du die Einstellungen auch beim "upgrade"-Ereignis alle zurücksetzt. Ist das wirklich so gewünscht?

  • Danke für die Erklärung, gut dann ist das eben so dass der Wert im SafeModus verändert bleibt.

    Wahrscheinlich ist das gar nicht mehr nötig, dass beim "upgrade" Ereignis alle zurück gesetzt werden. Das war aber mal nötig als es vor der Einführung des Wertes "media.play-stand-alone" je nach Betriebssystem , in einer vorherigen Version meiner Erweiterung eben diese anderen Werte umgestellt wurden.
    Ich denke es wird jetzt eh niemand mehr diese alte Version nutzen und wahrscheinlich könnte ich sowohl

    Code
    'upgrade' === reason


    als auch

    Code
    prefs.reset('media.windows-media-foundation.enabled');
                    prefs.reset('media.directshow.enabled');
                    prefs.reset('media.gstreamer.enabled');
                    prefs.reset('media.apple.mp3.enabled');


    ganz heraus nehmen, oder was meinst du?

    Hilfe auch im deutschsprachigen Matrix-Chat möglich oder im IRC-Chat
    Meine Anleitungstexte dürfen gerne "geklaut" und weiter verwendet/kopiert werden ;)