profile
viewpoint
Gregor MacLennan gmaclennan @digidem San Francisco, CA http://ddem.us/ Technology Director at Digital Democracy. Open source and peer-to-peer advocate.

digidem/mapeo-desktop 191

Local-first mapping and monitoring in remote environments

digidem/leaflet-bing-layer 58

Bing Maps Layer for Leaflet v1.0.0

gmaclennan/browser-cache-blob-store 2

abstract-blob-store compatible that stores blobs using the browser Cache interface

digidem/mapeo-webmaps 1

Web maps for Mapeo

digidem/mapeo-webmaps-public 1

Publicly shared webmaps from Mapeo

corpiaa/test-data 0

Test form data for Veeduria Forestal project

digidem/mapeo-webmaps-example 0

Example data for https://maps.mapeo.world/

PR opened digidem/mapeo-desktop

New Crowdin updates
+134 -28

0 comment

8 changed files

pr created time in an hour

push eventdigidem/mapeo-desktop

Gregor MacLennan

commit sha 4c2209d7486aec2c8759e84373cdff993518ae54

New translations en.json (Lao)

view details

push time in an hour

push eventdigidem/mapeo-desktop

Gregor MacLennan

commit sha b401cc3d67da94a55ad40842285d2ac2cae14594

New translations en.json (Burmese)

view details

push time in an hour

push eventdigidem/mapeo-desktop

Gregor MacLennan

commit sha e4b8c80fefb2040fb07de278b70bb5eb46f2939a

New translations en.json (Thai)

view details

push time in an hour

push eventdigidem/mapeo-desktop

Gregor MacLennan

commit sha ba7ad608ecc71c9b877cdb10f74b2b7ca6b5a7b6

New translations en.json (Khmer)

view details

push time in an hour

push eventdigidem/mapeo-desktop

Gregor MacLennan

commit sha 648534e3748e941e45ec90887269a2193e1961e6

New translations en.json (Vietnamese)

view details

push time in an hour

push eventdigidem/mapeo-desktop

Gregor MacLennan

commit sha 5ffb4de54a695278baefc9f05b359c04e54b3d6a

New translations en.json (Spanish)

view details

push time in an hour

push eventdigidem/mapeo-desktop

Gregor MacLennan

commit sha c867ae1e3c66ad1f8b2b4c78890b49f41bdf049b

New translations en.json (French)

view details

push time in an hour

push eventdigidem/mapeo-desktop

Gregor MacLennan

commit sha a8d80bda0837801dc7a1df41ee1317c06229f625

New translations en.json (Portuguese, Brazilian)

view details

push time in an hour

release digidem/mapeo-desktop

v5.3.0-beta.1

released time in an hour

push eventdigidem/mapeo-desktop

Gregor MacLennan

commit sha 0333177fedeb67f9d9316fd99150a4ba2c0a805e

Extract other bits of MapFilter

view details

Gregor MacLennan

commit sha 634a56df395af3d5ca74e308603a0c1d2bcd4e9f

Turn on package-lock

view details

Gregor MacLennan

commit sha 72e6bf15b7083438d9db62c44d1110df1366b8a6

Add PDF viewer

view details

push time in 12 hours

push eventdigidem/mapeo-mobile

Gregor MacLennan

commit sha 9748298a3691dbbef43a3a416a65dc54a4c611de

feat: Add Brazilian Portuguese translations (#412)

view details

push time in 20 hours

delete branch digidem/mapeo-mobile

delete branch : l10n_release/v5.0.0

delete time in 20 hours

push eventdigidem/mapeo-mobile

Gregor MacLennan

commit sha 34707750e6c3443c3154e083f87df834bcf0ef5c

New translations en.json (Portuguese, Brazilian) (#412)

view details

push time in 20 hours

push eventdigidem/mapeo-mobile

Gregor MacLennan

commit sha d1f7f652d45f3456a38568c8d462c7fb4b7bcb80

feat: Brazilian Portuguese translations (#394)

view details

push time in 20 hours

delete branch digidem/mapeo-mobile

delete branch : l10n/develop

delete time in 20 hours

push eventdigidem/mapeo-mobile

Gregor MacLennan

commit sha 3533042f93e29e05fc648b0196ac4fe28337aea9

chore: Adjust when CI runs PRs on Bitrise do not have access to secret variables, so we do not run the release candidate workflow based on PR, instead on the branch push.

view details

Gregor MacLennan

commit sha 6701efe20206a2618a060a8b085f38612f133bb5

chore: Fix e2e tests

view details

Gregor MacLennan

commit sha eb07da97ee2055d6caaed1ddde0ef5a577f68432

fix: Move attribution (i) to bottom-right (avoid overlap with scale bar)

view details

Gregor MacLennan

commit sha 699b280fcbb2c8fb9febac9fbbca7e9cac369f02

fix: Fix crash during sync progress (updates progress circle library)

view details

Gregor MacLennan

commit sha 470ad04794673925dedff22fbcf5a5f00b58a057

chore: Update to react-native v0.62 (#371) * chore: Upgrade to react-native v0.62.2 (apart from .xcodeproj) * Update ios project to RN62 * Update XCode project settings * Add Swift bridging header for iOS * Add library search paths for ios * Update deps (apart from expo-unimodules) * Update expo-unimodules * chore: Update to detox 16.2.0 (fixes test failing)

view details

Gregor MacLennan

commit sha 9125e0feeb98c6b5066aeb2466ef39042c044933

chore: fix typo in .gitattributes

view details

Gregor MacLennan

commit sha 6ece61f3a1c73c359b9c9cf00e85c76c4df68a2d

chore: Update to react-navigation v4 (#373) * chore: fix typo in .gitattributes * chore: Upgrade to react-navigation@4 * chore: Update react-navigation stack and tabs to v2 * chore: Update flow typedefs

view details

Gregor MacLennan

commit sha f6dbfa43423c3d8a9963bc0a1eef56bbc9d560c0

feat: Device name remains the same across app restarts (#369)

view details

Gregor MacLennan

commit sha 353372846ab5ccaf3c02315c9bb5901c6b5447f5

chore: Do not name internal versions with version number The version number in package.json is not updated when we release internal builds, so it does not make sense to use it as a version name

view details

Gregor MacLennan

commit sha 54fda5f138650f99ebc30641c349fa0a55e48ba8

feat: Update ICCA intro screens and presets (#377) * feat: Update ICCA intro screens and presets * Add internal build for ICCA * fix: Update intro screens for react-navigation v4 * fix: Fix background color for additional info screens in intro * Add script to start ICCA variant in debug mode * Update icca intro screens * Update to latest ICCA presets

view details

Gregor MacLennan

commit sha 8154a0d4b7d252ce03e666242f2a27d694fad6b9

Merge branch 'develop' into l10n/develop

view details

push time in 21 hours

PR merged digidem/osm-p2p-syncfile

chore: Run tests on Node versions used in apps

Mapeo Mobile currently runs on Node v10.13.0 Mapeo Desktop (electron v6.1.7) runs on Node v12.4.0 Latest electron is Node v12.14.1

+3 -1

0 comment

1 changed file

gmaclennan

pr closed time in 2 days

push eventdigidem/osm-p2p-syncfile

Gregor MacLennan

commit sha 9091622cec044acd2c14ff012bf3ac81e28f7680

chore: Run tests on Node versions used in apps (#21) Mapeo Mobile currently runs on Node v10.13.0 Mapeo Desktop (electron v6.1.7) runs on Node v12.4.0 Latest electron is Node v12.14.1

view details

push time in 2 days

push eventdigidem/osm-p2p-server

Gregor MacLennan

commit sha 1155f49d2d22582b3fc6b7ff76825275108982fe

chore: Run tests on Node versions used in apps (#50) Mapeo Mobile currently runs on Node v10.13.0 Mapeo Desktop (electron v6.1.7) runs on Node v12.4.0 Latest electron is Node v12.14.1

view details

push time in 2 days

PR merged digidem/osm-p2p-server

chore: Run tests on Node versions used in apps

Mapeo Mobile currently runs on Node v10.13.0 Mapeo Desktop (electron v6.1.7) runs on Node v12.4.0 Latest electron is Node v12.14.1

+3 -2

0 comment

1 changed file

gmaclennan

pr closed time in 2 days

push eventdigidem/kappa-osm

Gregor MacLennan

commit sha 70b9dc47fdc29a6d518e798af1a3cafef6201843

chore: Run tests on Node versions used in apps (#16) Mapeo Mobile currently runs on Node v10.13.0 Mapeo Desktop (electron v6.1.7) runs on Node v12.4.0 Latest electron is Node v12.14.1

view details

push time in 2 days

PR merged digidem/kappa-osm

chore: Run tests on Node versions used in apps

Mapeo Mobile currently runs on Node v10.13.0 Mapeo Desktop (electron v6.1.7) runs on Node v12.4.0 Latest electron is Node v12.14.1

+3 -1

0 comment

1 changed file

gmaclennan

pr closed time in 2 days

PR opened digidem/osm-p2p-server

chore: Run tests on Node versions used in apps

Mapeo Mobile currently runs on Node v10.13.0 Mapeo Desktop (electron v6.1.7) runs on Node v12.4.0 Latest electron is Node v12.14.1

+3 -2

0 comment

1 changed file

pr created time in 2 days

create barnchdigidem/osm-p2p-server

branch : test-node-versions

created branch time in 2 days

PR opened digidem/osm-p2p-syncfile

chore: Run tests on Node versions used in apps

Mapeo Mobile currently runs on Node v10.13.0 Mapeo Desktop (electron v6.1.7) runs on Node v12.4.0 Latest electron is Node v12.14.1

+3 -1

0 comment

1 changed file

pr created time in 2 days

create barnchdigidem/osm-p2p-syncfile

branch : test-node-versions

created branch time in 2 days

PR opened digidem/kappa-osm

chore: Run tests on Node versions used in apps

Mapeo Mobile currently runs on Node v10.13.0 Mapeo Desktop (electron v6.1.7) runs on Node v12.4.0 Latest electron is Node v12.14.1

+3 -1

0 comment

1 changed file

pr created time in 2 days

create barnchdigidem/kappa-osm

branch : test-node-versions

created branch time in 2 days

PR opened digidem/mapeo-server

chore: Run tests on Node versions used in apps

Mapeo Mobile currently runs on Node v10.13.0 Mapeo Desktop (electron v6.1.7) runs on Node v12.4.0 Latest electron is Node v12.14.1

+3 -1

0 comment

1 changed file

pr created time in 2 days

create barnchdigidem/mapeo-server

branch : test-node-versions

created branch time in 2 days

issue openeddigidem/mapeo-mobile

Update nodejs-mobile-react-native to v0.6.1

We currently use `nodejs-mobile-react-native v0.5.0 which uses Node v10 under the hood. The v0.6.1 update uses Node v12. We should make sure all of our tests for the dependencies used by mapeo-core are running on Node v12 before switching.

created time in 3 days

issue openeddigidem/mapeo-mobile

Switch to Hermes for JS engine

Hermes is an alternative JavaScript engine for React Native. Currently we use V8 (the default for React Native used to be JSC, but it is switching to Hermes). React Native allows switching of JS engines fairly easily.

Hermes will theoretically improve performance: it reduces the APK size by about 20Mb, memory usage should go down by 50Mb, and the initial load should be about twice as fast. This would be beneficial for low-end devices such as Android Go.

The one limitation right now is lack of support for Intl (which is used by react-intl for translations) but that could be solved by Intl Polyfills. Polyfills add to APK size and memory usage, but overall switching to Hermes would be beneficial.

It would be good to profile the app before a switch, so we could measure the gain.

created time in 3 days

Pull request review commentdigidem/mapeo-desktop

chore(deps): Update @mapeo/core to v8.2.2

 const m = defineMessages({   // Button when sync is complete   complete: 'Complete',   // Button to retry sync after error-  retry: 'Retry'+  retry: 'Retry',+  // Disconnected+  disconnected: 'Disconnected'

Is this intended to be shown as a button label?

okdistribute

comment created time in 3 days

Pull request review commentdigidem/mapeo-core

fix: sync bugs with new v8 connected and started properties

 class SyncState {     }   } +  activePeers () {+    return this.peers().filter(this._isactive)+  }++  _isactive (peer) {

This and _isclosed don't need to be methods (they don't reference this, and aren't public methods) so they could be standalone functions. But that's just a stylistic thing.

okdistribute

comment created time in 3 days

Pull request review commentdigidem/mapeo-core

fix: sync bugs with new v8 connected and started properties

 language: node_js node_js:-- '8'-- '10'+- '12'

@okdistribute the mobile app is running on Node 10 (I assume you mean the Node version it is running mapeo-core on, vs. the Node version used to build the app?). The latest nodejs-mobile is using Node v12.6.3 and we should be able to update to that without issues, I had only been holding off until we are sure that the stack runs ok on Node v12 (I remember that we had issues with level etc. not supporting Node v10 before). If we know the mapeo-core stack works with Node v12 then I can update MM.

okdistribute

comment created time in 3 days

issue openeddigidem/mapeo-mobile

Error in MainActivity

Error in Mapeo Mobile

Error in MainActivity Server Timeout

View on Bugsnag

Stacktrace

node_modules/core-js/internals/to-primitive.js:13 - exports

View full stacktrace

Created automatically via Bugsnag

created time in 5 days

push eventdigidem/digital-democracy.org

Gregor MacLennan

commit sha 6d68911c13f8c9c9e621f10e7c34b89512b36de0

Added new files assets/dinesh3.png: [RESIZE-WEBHOOK] Updating file assets/dinesh3.png

view details

push time in 5 days

push eventdigidem/digital-democracy.org

Gregor MacLennan

commit sha 0226b5bb0220b946b8a7576b9509394ee9da57e0

Added new files assets/dinesh2.png: [RESIZE-WEBHOOK] Updating file assets/dinesh2.png

view details

push time in 5 days

push eventdigidem/digital-democracy.org

Gregor MacLennan

commit sha 8b6a80b698eec78de0201023c8b6f8e4ca904723

Added new files assets/dinesh6.jpeg: [RESIZE-WEBHOOK] Updating file assets/dinesh6.jpeg assets/dinesh5.jpeg: [RESIZE-WEBHOOK] Updating file assets/dinesh5.jpeg

view details

push time in 5 days

push eventdigidem/digital-democracy.org

Gregor MacLennan

commit sha 1e228b9d45493c093bcf155fa67d452d897c7756

Added new files assets/dinesh4.jpeg: [RESIZE-WEBHOOK] Updating file assets/dinesh4.jpeg assets/dinesh8.jpeg: [RESIZE-WEBHOOK] Updating file assets/dinesh8.jpeg assets/dinesh1.jpg: [RESIZE-WEBHOOK] Updating file assets/dinesh1.jpg assets/dinesh7.jpeg: [RESIZE-WEBHOOK] Updating file assets/dinesh7.jpeg

view details

push time in 5 days

push eventdigidem/digital-democracy.org

Gregor MacLennan

commit sha 602fe9b84973d268f0c33a65da91696fd7a8d33b

[RESIZE-WEBHOOK] Updating file assets/dinesh9.png

view details

push time in 5 days

create barnchdigidem/mapeo-desktop

branch : l10n_master

created branch time in 6 days

push eventdigidem/mapeo-desktop

Gregor MacLennan

commit sha 3066d2a8fe6cb433fb567f9d597d10039de304a6

New translations en.json (Portuguese, Brazilian)

view details

push time in 6 days

push eventdigidem/mapeo-desktop

Gregor MacLennan

commit sha 115935c8349aa818ebb31c338247f2dc122081d9

New translations en.json (Portuguese, Brazilian)

view details

push time in 6 days

push eventdigidem/mapeo-desktop

Gregor MacLennan

commit sha c5fbf6e6ea85ea75be39ee7b0d1e9dedcce25815

New translations en.json (Portuguese, Brazilian)

view details

push time in 6 days

push eventdigidem/mapeo-desktop

Gregor MacLennan

commit sha 09fb42057d61d2ed9b37dc6cc07bba48c5a904eb

New translations en.json (Portuguese, Brazilian)

view details

push time in 6 days

push eventdigidem/mapeo-desktop

Gregor MacLennan

commit sha ae968a7d88fd09d5396586f7c774a557ab539985

New translations en.json (Portuguese, Brazilian)

view details

push time in 6 days

push eventdigidem/mapeo-desktop

Gregor MacLennan

commit sha 9de32cd03a81c92dce09ed8f069a73ef7d9c76e2

New translations en.json (Portuguese, Brazilian)

view details

push time in 6 days

push eventdigidem/mapeo-desktop

Gregor MacLennan

commit sha 65c35899bb25a76e0238d0bc5e7ea2d96c5665e8

New translations en.json (Portuguese, Brazilian)

view details

push time in 7 days

push eventdigidem/mapeo-desktop

Gregor MacLennan

commit sha f3cf5a23a157343fe0349ce3632758c8bb482ff8

New translations en.json (Portuguese, Brazilian)

view details

push time in 7 days

push eventdigidem/mapeo-desktop

Gregor MacLennan

commit sha ef6d40428fc14f885479fba10b1d7cc8f04b1700

New translations en.json (Portuguese, Brazilian)

view details

push time in 7 days

push eventdigidem/mapeo-desktop

Gregor MacLennan

commit sha c2c9dfe1369e73d62c8f046d7a350e35cbe36309

New translations en.json (Portuguese, Brazilian)

view details

push time in 7 days

push eventdigidem/mapeo-desktop

Gregor MacLennan

commit sha be83f5eb76a9dbac2920d335569ac425f9c2f493

New translations en.json (Portuguese, Brazilian)

view details

push time in 7 days

PR opened digidem/mapeo-desktop

New Crowdin updates
+4 -4

0 comment

1 changed file

pr created time in 7 days

push eventdigidem/digital-democracy.org

Gregor MacLennan

commit sha 1a3b0ea52c45ca33cb2ab4cc67310eeb04836b4d

[RESIZE-WEBHOOK] Updating file assets/0-bcfbqusdtz8sdykt.png

view details

push time in 7 days

push eventdigidem/digital-democracy.org

Gregor MacLennan

commit sha b53fe1753c7f6bac02e0b188f55ee6e023473b94

[RESIZE-WEBHOOK] Updating file assets/0-gusmwbmgs9rcdjhh.png

view details

push time in 7 days

push eventdigidem/digital-democracy.org

Gregor MacLennan

commit sha c10b8cdfe61df576c0169af948009abbaa3f919d

[RESIZE-WEBHOOK] Updating file assets/0-g7n47kczyvjzcvgr.png

view details

push time in 7 days

push eventdigidem/digital-democracy.org

Gregor MacLennan

commit sha 530042d643ea63e1a4e4becdfce3e8337f193562

Added new files assets/0-gfazbnhacuqmagta.png: [RESIZE-WEBHOOK] Updating file assets/0-gfazbnhacuqmagta.png

view details

push time in 7 days

push eventdigidem/digital-democracy.org

Gregor MacLennan

commit sha d8d4a6ea1610b9cb548151999fec6e0b30f488bd

[RESIZE-WEBHOOK] Updating file assets/0-bdgq4rkdlkl-9qwy.png

view details

push time in 7 days

push eventdigidem/digital-democracy.org

Gregor MacLennan

commit sha 85fbe5de95349a37e1f1c672f3ee3d9b14b7c6f6

[RESIZE-WEBHOOK] Updating file assets/0-z8oe4rkodfegrg3f.png

view details

push time in 7 days

push eventdigidem/digital-democracy.org

Gregor MacLennan

commit sha 8939c6780aeae856cd55110f59a170144738bf9b

[RESIZE-WEBHOOK] Updating file assets/0-_am93ywhmouc4atu.png

view details

push time in 7 days

push eventdigidem/digital-democracy.org

Gregor MacLennan

commit sha a1598d544b844654496f3b4d938969758adb8b87

[RESIZE-WEBHOOK] Updating file assets/0-n18m3zwhj0zjltlv.png

view details

push time in 7 days

push eventdigidem/digital-democracy.org

Gregor MacLennan

commit sha a557e60aaf3f3765adf30b6861c68481f9671647

Added new files assets/0-zhf0dssv_x-zwck2.jpeg: [RESIZE-WEBHOOK] Updating file assets/0-zhf0dssv_x-zwck2.jpeg

view details

push time in 7 days

push eventdigidem/digital-democracy.org

Gregor MacLennan

commit sha 1206b2e668e33a1eac29d12d51ec32020123ff57

[RESIZE-WEBHOOK] Updating file assets/1-3-jos1ncsvst6juinzhqkq.jpeg

view details

push time in 7 days

push eventdigidem/digital-democracy.org

Gregor MacLennan

commit sha 30dcf754a2ce22fd9a18611243bc625d422662f2

[RESIZE-WEBHOOK] Updating file assets/screen-shot-2020-06-12-at-10.55.25-am.png

view details

push time in 7 days

push eventdigidem/digital-democracy.org

Gregor MacLennan

commit sha 67e20862f5ff8d09f869bc37eeab1dd0e1a236cb

Added new files assets/tech-4-respect.png: [RESIZE-WEBHOOK] Updating file assets/tech-4-respect.png

view details

push time in 7 days

push eventdigidem/digital-democracy.org

Gregor MacLennan

commit sha f2cbcbed61888f1a0fd1171b44f33ee64156ab7a

[RESIZE-WEBHOOK] Updating file assets/screen-shot-2020-06-12-at-10.57.36-am.png

view details

push time in 7 days

push eventdigidem/digital-democracy.org

Gregor MacLennan

commit sha 90abc8b45c88e65c6df6798b3f89c46470380d8a

[RESIZE-WEBHOOK] Updating file assets/opendevmekong.png

view details

push time in 7 days

push eventdigidem/digital-democracy.org

Gregor MacLennan

commit sha 52f5582ed43630a317967c667dc06e3c0ea8750f

[RESIZE-WEBHOOK] Updating file assets/profilepic_pchung.jpg

view details

push time in 7 days

create barnchdigidem/mapeo-desktop

branch : l10n_master

created branch time in 8 days

push eventdigidem/mapeo-desktop

Gregor MacLennan

commit sha eb3101e0fdd53118cb6481f18a02590f3e26c05a

New translations en.json (Lao)

view details

push time in 8 days

push eventdigidem/mapeo-desktop

Gregor MacLennan

commit sha 75112577fe18a96cbbbfd569eeedbd3935e6b45d

New translations en.json (Burmese)

view details

push time in 8 days

push eventdigidem/mapeo-desktop

Gregor MacLennan

commit sha 2e56bed5b57ee15b6aa836d7a211b3b7dcb102ec

New translations en.json (Thai)

view details

push time in 8 days

push eventdigidem/mapeo-desktop

Gregor MacLennan

commit sha 88ad8cc7e2a4dc4086d65f2cbf2bd52c5060f558

New translations en.json (Khmer)

view details

push time in 8 days

push eventdigidem/mapeo-desktop

Gregor MacLennan

commit sha 140d0f5e04c6c688ca46c82671fe6c51090bc476

New translations en.json (Vietnamese)

view details

push time in 8 days

push eventdigidem/mapeo-desktop

Gregor MacLennan

commit sha 9bb06908b7edbb85cc948a4057c355265f328b94

New translations en.json (Spanish)

view details

push time in 8 days

push eventdigidem/mapeo-desktop

Gregor MacLennan

commit sha cf4631aaf6fb1cbe111a7a23bcbe9102f320b1ac

New translations en.json (French)

view details

push time in 8 days

push eventdigidem/mapeo-desktop

Gregor MacLennan

commit sha 31c2bfd7c46024ef5fa67f96eb6bc84e48b09926

New translations en.json (Portuguese, Brazilian)

view details

push time in 8 days

push eventdigidem/mapeo-desktop

Gregor MacLennan

commit sha 8fa466621dc778a8a2b0065ad472e5e3fc0af2ab

New translations en.json (Portuguese, Brazilian)

view details

push time in 9 days

push eventdigidem/mapeo-desktop

Gregor MacLennan

commit sha 5b93e41f4279d23b85be5e8b541c9a58200ef110

New translations en.json (Portuguese, Brazilian)

view details

push time in 12 days

push eventdigidem/mapeo-desktop

Gregor MacLennan

commit sha 46919fd569e76b6289889b6258a2989c526f6d7f

New translations en.json (Portuguese, Brazilian)

view details

push time in 12 days

push eventdigidem/mapeo-desktop

Gregor MacLennan

commit sha dd3eff0f69a98e21f6ff935edc23fd99805ed10e

New translations en.json (Portuguese, Brazilian)

view details

push time in 12 days

push eventdigidem/mapeo-desktop

Gregor MacLennan

commit sha 974fc1afc77921c03cc2f8b9b827e2bc9a7f2439

New translations en.json (Portuguese, Brazilian)

view details

push time in 12 days

push eventdigidem/mapeo-mobile

Gregor MacLennan

commit sha f80e94080e027c470796a14a421a134dfa675d7e

New translations en.json (Portuguese, Brazilian)

view details

push time in 12 days

pull request commentdigidem/mapeo-desktop

Better logging, and log files written to disk

This is really fantastic @okdistribute, super happy to have this integrated. A couple of small things to improve Bugsnag integration:

  1. Manually set releaseStage because it will default to development (because we use localhost). I got a lot of noise in Bugsnag for mobile from errors that came from local dev. We can set the release stage to development when in local dev, then turn off sending data to bugsnag in that release stage with the option enabledReleaseStages
  2. Leave breadcrumbs for log events. Normally Bugsnag would hook into console.log but I'm not sure if logging goes through console.log now? We need to check if bugsnag.leaveBreadcrumb is a function, because it is not supported in Node, only the browser.
  3. This one can be added later (after this PR merges): Add the react plugin to bugsnag, which will offer more detailed error reporting for react errors.
  4. Which Bugsnag project is this linked to? I only currently see the Mapeo Mobile project under the Digital Democracy Bugsnag account.
okdistribute

comment created time in 13 days

issue openeddigidem/mapeo-mobile

SIGSEGV in /system/vendor/lib64/egl/libGLESv2_adreno.so:1097120

Error in Mapeo Mobile

SIGSEGV in /system/vendor/lib64/egl/libGLESv2_adreno.so:1097120 Segmentation violation (invalid memory reference)

View on Bugsnag

Stacktrace

/system/vendor/lib64/egl/libGLESv2_adreno.so:1097120 - EsxFramebufferObject::DetachAll(EsxContext*)

View full stacktrace

Created automatically via Bugsnag

created time in 13 days

startedkylebarron/dem-tiler

started time in 13 days

push eventdigidem/mapeo-desktop

Gregor MacLennan

commit sha 6a2d77abf7a229eb11929c2a1e757fd57dbca479

New translations en.json (Portuguese, Brazilian)

view details

push time in 14 days

push eventdigidem/mapeo-desktop

Gregor MacLennan

commit sha c8c3fc669d6a2cd83e66e7213d0e442cbec9e384

New translations en.json (Portuguese, Brazilian)

view details

push time in 14 days

issue commentdigidem/mapeo-mobile

Sharing an observation does not work in all apps

From @jencastrodoesstuff: Sharing via Telegram shares photo but not text

gmaclennan

comment created time in 14 days

push eventdigidem/digital-democracy.org

Gregor MacLennan

commit sha b100cd4e44dbcc5b2721773683f4505ceeba92c4

[RESIZE-WEBHOOK] Updating file assets/rameshhighresspeakingpic-800x533.jpg

view details

push time in 14 days

pull request commentdigidem/mapeo-desktop

Better logging, and log files written to disk

To be clear I'm not even sure how important the debug part is. But if really want to get to the bottom of something if might be useful to be able to turn on "really detailed logs" and call debug.enable('*') and capture debug messages from all required modules in addition to Mapeo.

okdistribute

comment created time in 14 days

issue commentdigidem/mapeo-rfc

rename to mapeo-specs

if that is what we want to limit this too. I had been thinking that this was a place to share ideas about how to implement a particular feature and get feedback, particularly features that don't clearly belong in a particular module issues. I'm happy to keep this to specs, as long as we agree where to put other discussions, e.g. we come up with an idea about how to implement user access control, and want to share and collect comments, where should it go?

okdistribute

comment created time in 14 days

pull request commentdigidem/mapeo-desktop

Kill zombie processes always in production mode

PS. I agree with Kira's nitpick, but I prefer a PR title that includes "Kill zombies".

okdistribute

comment created time in 16 days

pull request commentdigidem/mapeo-desktop

Better logging, and log files written to disk

Would also be cool to integrate the debug module into this, e.g. so that messages from modules that use debug could be captured to the same log file. This might require overriding console.log globally though, since I'm not sure if debug has an option to override the log stream globally (only per-module).

okdistribute

comment created time in 16 days

pull request commentdigidem/mapeo-desktop

Better logging, and log files written to disk

Thanks for taking this on Karissa, I've had this on my list of things to do for a while. A few thoughts on this:

  1. I would like to integrate bugsnag into a logging module, basically so we do not need to worry about bugsnag in the code, and the logging module decides what to send to bugsnag. Bugsnag has the concept of "breadcrumbs" which I think in JS are automatically captured from console.log() but might not be if we log to a file. In React Native I manually set breadcrumbs in random places. The breadcrumbs are super useful for understanding crash reports which reach Bugsnag.

  2. I agree with Kira about all logs being written to the same file, this would be much easier to parse.

  3. I think writing debug logs to a file is also very useful. There have been countless times when remote troubleshooting Mapeo when it would be very useful to have a way to record a debug log from an error in production, and for the user to be able to send that log to us to review.

  4. I think it would be ideal if a logging library can accept "levels" as a config, so that the user can turn on "debug" logs if we need to troubleshoot. We would have this off as default for performance and disk space reasons (I once troubleshooted a laptop that had no disk space, and most of it was due to Skype debug logging being turned on and a multi-gigabyte log). Best if it turned itself off after a while (because users forget to disable it).

  5. I think logging performance is an important consideration. As you have seen with the sync screen it can have surprising impacts on performance. A little while back I watched Matteo Collina's video on logging: https://www.youtube.com/watch?v=Dnx2SPdcDSU and Pino seems like the fastest option out there, although not necessarily the best API. Most of the perf discussions are about servers, but I think in our case and running on low-power devices, sometimes with slow disk writes, the perf issues are also relevant to Mapeo

  6. We should (non-urgent) review code for costly log operations. This includes things like logging the result of sync.on('peer') which includes a socket.Response object and is costly to write to the console.

It would be great if the work done on this could also be used for Mapeo Mobile. I have found Bugsnag integration to be really helpful, but I would love to remove all the bugsnag code from Mapeo and keep it all in one module (e.g. a mapeo-logger module) so it is easy to swap it out if needed.

Re. electron-timber I don't feel particularly strongly about it. I have found it handy to have all the logs in one place, it's easy to forget to open the hidden window for the ipc process and open the chrome debugger there. I also do like the nice formatting, I find it easier to parse the logs, but I could do without it.

okdistribute

comment created time in 16 days

more