Skip to main content

Desktop app

De offlineviewer aka Maglr desktop app is geschreven in Electron.

API debug

Met de volgende URL maak je een API call. Hierin staat het overzicht met alle functies:

https://dashboard.maglr.io/api/app/show/overview?app_identifier=C39E6173646661736420C3A9C3A4C2A8&device_id=5D189DC6217E528702E4D61BEE8D17C5&login_token=IETu1J32leRAwxGhT4AzivtXZuYDWvEs

Om deze waarden nu op te halen, en de API te debuggen, kan je de volgende handelingen uitvoeren:

  • Inloggen in de electron app. Dan in debug in het iFrame de volgende code ophalen: IETu1J32leRAwxGhT4AzivtXZuYDWvEs
  • Deze code kan je vervolgens terugvinden in de DB -> app_session
  • In het tabel app_app_human -> kan je de app_identifier vinden
  • Device_id is terug te vinden in app_device_human

App_session Login token in iframe

App_identifier app_app_human -> app identifier

DeviceID app_device_human

Offline viewer of maglr

Er worden files in de map van maglr applicatie gezet om app de debuggen of te herinstalleren.

maglr-debug.txt: Het debuggen van de applicatie developer tools openen

maglr-fresh-install.txt: Een clean install

C:\Users\[username]\AppData\Roaming

Powershell command:

New-Item -Path 'AppData\Roaming\maglr-debug.txt' -ItemType File

Voor iOS offline viewer moet je clean install draaien (preinstall.sh)

rm -Rf ~/Library/Application\ Support/maglr_offline_viewer/* && cd ~/Library/Application\ Support && touch maglr-fresh-install.txt

Voor het debuggen in IOS kan je dit commando draaien:

cd ~/Library/Application\ Support && touch maglr-debug.txt

Bump versie in package.json door npm build te draaien.

Protocols:

  • offline://

    Files die worden gedownload door de webserver van de offlineviewer

  • local://

    Files die in de offlineviewer worden toegevoegd / native

BUILDS

Development

Zorg ervoor dat je alle benodigde node_modules:

npm install

Start de applicatie normaal

npm start

Start en verwijder alle files

npm start delete

Start maar verwijder de local database(sessie) ook te combineren met delete

npm start clean

Topbar

In de topbar kan je ook de devtools na het opstarten nog openen of files deleten.

m19.png

m19.png

Certificate

Create if expired

Use

  • Haal het p12 certificate van bluestorage en zet hem in de Certificaten map (mac mini stefano staan ze al)

    Offline_viewer/Certificaten/CertOfflineViewer2020(KeyPassWW).p12

Het wachtwoord mag je leeg laten.

Production

Alle build en certificaten staan op mac-mini van stefano

LINUX

npm run lin
set CSC_KEY_PASSWORD=[PASSWORDKEYPASS] && set CSC_LINK=[PATHTO.p12] && electron-builder --config ./config/production.json --lin

MAC

Mac mini( Stefano ) which also has keychain for Ipad.

npm run mac
set CSC_KEY_PASSWORD=[PASSWORDKEYPASS] && set CSC_LINK=[PATHTO.p12] && electron-builder --config ./config/production.json --mac
WARN MACOS > 10.15 needs to notarize before we can install

Kijk of het signen van de app is gelukt:

spctl --assess --type install --context context:primary-signature -vvv Maglr.app

Als correct is :

Maglr.app: accepted
source=Developer ID
origin=Developer ID Application: BlueBerry Media (FFVEFTLW2P)

Hou er rekening mee dat je met Developer ID bent ingelogd origin=Apple Distribution: BlueBerry Media (FFVEFTLW2P) is niet de goede je moet de Developer in je keychain hebben.

in build dir hebben we een notarize.js deze zorgt voor notarization voor apple.

WIN

Mac mini( Stefano ) which also has keychain for Ipad, contains a VirtualBox windows10 which you can sign the new bundle.

  • Start VirtualBox en open de Windows 10. Uit hibernation heeft hij soms geen internet opnieuw opstarten lost dit op
  • Start Git Bash op en navigeer naar ~/projects/offline-viewer
npm run win
set CSC_KEY_PASSWORD=[PASSWORDKEYPASS] && set CSC_LINK=[PATHTO.p12] && electron-builder --config ./config/production.json --win

Als de app met de verkeerde wordt gesigned kan je hem handmatig overschrijven:

security find-identity -v -p codesigning
codesign --deep --force --verbose --sign "1984603AC3EXAMPLE0910578FA2A795" dist/mac/Maglr.app

APPLE ARM64

Helaas gebruiken we electron 4.2.12 en valt er met apple-silicon niet te debuggen https://www.electronjs.org/blog/apple-silicon

Xcode >=12.2.0
node-gyp >=7.1.0
electron-rebuild >=1.12.0
electron-packager >=15.1.0