berty icon indicating copy to clipboard operation
berty copied to clipboard

[META] Ideas 💡

Open moul opened this issue 5 years ago • 11 comments

This meta issue contains various ideas that may never be implemented, it's a good place to put things that could create useless noise in the issues section

Misc

  • [x] add a way to configure the CLI and apps to have two loggers, a full one in JSON in a file + a filtered one formatted for console on stdout
  • [ ] add i18n support on CLI help messages
  • [ ] add i18n support on error messages
  • [ ] add i18n for berty services
  • [ ] support dns-backed invite links berty://dns/testbot.berty.io
  • [ ] embed changelog in the app (mobile & CLI)

Tyber

  • [ ] tyber.berty.io service for when a staff team member is testing Messenger on their phone
  • [ ] colorize/iconize the main verbs (Sending,Received,Interract,Initializing)
  • [ ] odd/even colorization alternate on method names (uncamelize)

Doc

  • [ ] add various demonstration gifs in README.md files (#2080)
  • [ ] add graphs (flow, DAG) to explain some particular parts
  • [x] start sharing our architecture decision resources in docs/
  • [x] add a big-picture of the architecture with high-level components interaction

Quality/CI

  • [x] remove Lerna monorepo in JS
  • [ ] switch moment.js usage to day.js and remove moment.js (#2174)
  • [ ] send integration's benchmark results on datadog
  • [x] add a way of skipping CI tests right away from a commit/PR (DONE. GitHub actions now support this.)
  • [ ] Test sending very very long messages
  • [ ] Test against DBs with various states (account testdatas)
  • [x] Switch to buf.build
  • [ ] Switch to protopatch
  • [ ] Optimize self-hosted CIs with local cache (https://github.com/MasterworksIO/action-local-cache)

Bots

  • [x] testbot, a bot dedicated to unittest and integration tests that allow testing the app in real conditions (without mocks)
  • [ ] devbot, a bot dedicated to berty developers (staff and external), similar to betabot, without the onboarding scenario and with more advanced debugging helpers
  • [ ] bertybot go library, a library improving berty bots' development in go

Misc

  • [ ] Proximity relay device (raspi with BLE and relay node) (A possible Weshnet project)

moul avatar Oct 01 '20 11:10 moul

I vote for the following ideas:

  • clear chat history
  • remove individual messages
  • self-destructing message timer
  • password lock

All of the above features work as in Signal by cleaning up local history from user's device. I've read the FAQ about BOR messages (https://berty.tech/faq#will-it-have-features-such-as-self-destructing-messages-and-bor) but there is an example when it's needed: a friend of mine is visiting BY or KZ where people are protesting on streets. I'm sure that he uses the official client so there's no fear of modified client. But there is a fear of friend being caught by the bad guys. Some remediation measures are needed: self-destructing message timer allows us to set 'retention policy' on chat messages reducing the amount of messages being read in the worst-case scenario when a bad guy seizes the phone. Ability to remove the chat or individual messages from the chat allows the friend to clean up history when he gets suspicious that the bad guys can arrest him. The password lock further increases the security by preventing the bad guys from accessing the messenger until the friend tells them the password. He may wait for retention period to expire before telling the password and also, most of the bad guys are not technical experts so they need time to find an expert.

theosaveliev avatar Jan 13 '22 05:01 theosaveliev

Will ask @gfanton if we have really implemented "support encrypted invite links (berty ID) berty://enc/..."

jefft0 avatar Mar 01 '24 15:03 jefft0

At one point, "betabot, a bot dedicated to onboard people discovering the app" was implemented, but we removed it because Apple App Store doesn't like "beta" in the product code.

jefft0 avatar Mar 01 '24 15:03 jefft0

@jefft0 this is the Miro board with the HL Berty Messenger components' interaction. https://miro.com/app/board/uXjVPNg94dw=/?share_link_id=223566906154

miro.com

@costinberty to put the diagram in the GitHub Berty README.

costinberty avatar Mar 01 '24 15:03 costinberty

Ask @moul how we're using (and paying for) Datadog (or other such services).

jefft0 avatar Mar 01 '24 15:03 jefft0

support encrypted invite links (berty ID) berty://enc/... is at least partially implemented on back-end but not front-end. Here are some tests writte for this: https://github.com/berty/berty/blob/master/go/pkg/bertylinks/links_test.go#L243

We need to investigate a bit to see what is missing.

costinberty avatar Mar 04 '24 10:03 costinberty

Removed item "find a way to sync or at least backup our Datadog configuration somewhere in a git repo". We're not using the Datadog service now.

jefft0 avatar Mar 15 '24 09:03 jefft0

Opened https://github.com/berty/berty/pull/4820 to add the Berty Messenger High Level Architecture to the repo

costinberty avatar Mar 20 '24 17:03 costinberty

Opened #4820 to add the Berty Messenger High Level Architecture to the repo

The PR is merged. Marked "add a big-picture of the architecture with high-level components interaction" as done.

jefft0 avatar Mar 21 '24 09:03 jefft0

support encrypted invite links (berty ID) berty://enc/... is at least partially implemented on back-end but not front-end. Here are some tests writte for this: https://github.com/berty/berty/blob/master/go/pkg/bertylinks/links_test.go#L243

We need to investigate a bit to see what is missing.

@moul says that the back end code for encrypted links is already implemented. We just need a UI to prompt for passwords. This item is moved to a separate issue https://github.com/berty/berty/issues/4822 .

jefft0 avatar Mar 22 '24 10:03 jefft0

All the items in the description have been reviewed. We addressed some of them, and we split off issues like #4822. Put this in backlog and revisit occasionally when we have resources.

jefft0 avatar Apr 05 '24 14:04 jefft0