Commit Graph

41 Commits

Author SHA1 Message Date
Eric Mastro f4f5dc42e0 build: remove nim-stew
We are using `nim-stew` from `nim-waku/vendor`
2021-08-03 19:29:36 +10:00
Eric Mastro 7efda29028 build: Remove nim-result
We are currently using nim-stew/results, which comes from nim-waku/vendor.
2021-08-03 19:29:36 +10:00
Michael Bradley, Jr 66ffd48fd4 build: bump vendor/nimbus-build-system 2021-07-29 19:05:24 -05:00
Michael Bradley, Jr 754d78e920 build: bump vendor/nim-sqlcipher 2021-07-29 19:05:24 -05:00
Michael Bradley, Jr 73922446a2 build: bump vendor/nim-web3 2021-07-29 19:05:24 -05:00
Michael Bradley, Jr 64340cf0e1 build: bump vendor/nim-waku 2021-07-29 19:05:24 -05:00
Michael Bradley, Jr 8a97ba3ad0 build: bump vendor/nim-task-runner 2021-07-29 19:05:24 -05:00
Michael Bradley, Jr a583204253 build: bump vendor/nim-chronos 2021-07-29 19:05:24 -05:00
Michael Bradley, Jr 3c4af4d9f3
feat: en/decode Status payloads when sending/receiving messages (first steps)
Copy protobuf specs from status-go, make necessary adjustments for use via
nim-protobuf-serialization. Many thanks to @richard-ramos for his help with
this aspect and others!

Implement "first steps" towards encoding and decoding Status payloads when
sending and receiving messages.

That consists of using an incomplete
`ProtocolMessage(ApplicationMetadataMessage(ChatMessage)))` wrapping of
messages, assuming all messages currently being sent correspond to public
chats. It's incomplete because there are many fields for which values are not
being derived, and there is no encryption performed.

A series of future pull requests will fill in the missing pieces and expand our
usage of the protobuf specs, i.e. allow nim-status to send and receive more
kinds of Status messages.

Note that the waku v2 content topics are not yet using a hash of the
user-supplied topic name; that will also be addressed in a future pull request.

It's also important to note that a refactor is pending re: moving the import
and usage of nim-waku inside the `nim_status` library, as well refactorings re:
exception handling, imports and exports, and other aspects that have been
commented upon in other recent pull requests. This commit builds on the work
done to date in the same way as before, but there is already awareness of what
should be changed and can be improved.

Ensure that joined waku v2 content topics (whether joined in the TUI or
specified on the command-line) conform to the recommendations in
[23/WAKU2-TOPICS](https://rfc.vac.dev/spec/23/).

Unrelated to the main focus of this commit: use a fixed-length array instead of
a sequence for collecting bytes of user input (keyboard and mouse) in the
`input` worker thread. It's more efficient to do it that way: less allocation
and garbage collection.

---

Closes #217.
2021-07-29 12:27:06 +03:00
Michael Bradley, Jr 075b205aad build: bump vendor/nim-task-runner to HEAD of its impl/beta2 branch 2021-07-18 23:19:15 -05:00
Michael Bradley, Jr bbf25d7873 feat: add join, leave, and topics commands to example client 2021-07-15 15:27:37 +10:00
Michael Bradley, Jr 78ba4759e5 feat: example client 2021-06-28 17:50:19 -04:00
Michael Bradley, Jr 21aebe41be refactor: remove status-go and shim/related modules in nim_status
Also adjust Makefile, GitHub Actions workflow, etc.
2021-03-18 10:36:21 -05:00
Michael Bradley, Jr b1a567708b build: remove unneeded nim-nat-traversal in top-level vendor
Also, clarify comment and pwd usage re: nat-libs-sub target in Makefile.
2021-02-16 14:36:09 -06:00
Eric Mastro 2b60b0f914 feat: add support for sqlite boolean literals
Bump nim-sqlcipher to a version (currently a branch) that supports boolean literals in SQL syntax.
2021-02-15 12:20:01 -06:00
Michael Bradley, Jr bbe3857b0c build: bump vendor/nim-waku 2021-02-05 12:08:09 -06:00
Michael Bradley, Jr 5f5220a442 build: bump vendor/nim-waku 2021-01-19 17:16:07 -06:00
Michael Bradley, Jr 363857461e ci: revise cache key so that a bump in any submodule will cause a cache miss 2021-01-05 15:43:46 -06:00
Richard Ramos 7d553b6338
fix: missing migrations and bump status-go 2021-01-05 11:49:01 -04:00
emizzle 2bf3001894
feat: Add EnsVerificationRetries as a column in the DB 2021-01-05 11:49:00 -04:00
Richard Ramos 6605a5e608
feat: contacts
Contacts CRUD

fix: code review pt1
2021-01-05 11:48:55 -04:00
Richard Ramos 2fff052482
fix: add missing module 2021-01-05 10:21:45 -04:00
Richard Ramos 2ba3c35b96
feat: bip32 keys 2021-01-05 09:41:21 -04:00
RichΛrd 5a5e7532d6
feat: migrations (#83)
* feat: migrations
* Verify if there are more migrations executed in the db than in the code
* fix - code review
* fix: missing text
* test: cat content of sql_scripts.nim
* fix: unwanted stdout/stderr in sql_scripts.nim

Co-authored-by: Michael Bradley, Jr <michaelsbradleyjr@gmail.com>
2020-12-22 16:24:58 -04:00
emizzle 5e36681002 fix: Change networks to seq[Network]
- Support serialization
- Add unit tests
2020-12-20 17:48:55 -06:00
Michael Bradley, Jr 6802ff99cc build: bump nim-sqlcipher to version with updated apis 2020-12-20 17:48:55 -06:00
Michael Bradley, Jr a35c48e33d chore: bump nim-waku in vendor/ and adjust imports 2020-12-18 13:46:20 -06:00
Michael Bradley, Jr ac3c013078 ci: refactor GitHub Actions workflow in same manner as nim-sqlcipher's refactored workflow
See:
* https://github.com/status-im/nim-sqlcipher/pull/12
* https://github.com/status-im/nim-sqlcipher/pull/22

It is now assumed (and effectively required) that builds of nim-status (and
nim-sqlcipher) on Windows will be done in an msys2 environment.
2020-12-16 12:58:36 -06:00
emizzle 08e5f38664 chore: bump nim-sqlcipher 2020-11-26 12:31:35 +11:00
emizzle 76379b4125 feat: support column names
Support getting row data by column name.

fix: change intVal of 0 to false, combine bool type tests

fix: try forcing val to be read through toOption

feat: handle bool option conversion

feat: switch from using a custom `toOption` proc to using the `fromDbValue` procs defined in nim-sqlcipher. The `fromDbValue` overload that creates `Option[T]` was changed so that we can handle cases when we have null values for `sqliteText` and `sqliteInteger`.

Support typecasting a row (seq[DbColumn]) in to an object type.

Update to execQuery, remove need to cast row

chore: bump nim-sqlcipher
2020-11-26 12:05:28 +11:00
Richard Ramos a727016068 feat: createSettings and getSettings 2020-11-26 11:49:43 +11:00
Michael Bradley, Jr 156b376f79 build: bump vendor/nim-sqlcipher 2020-11-19 10:11:43 -06:00
Michael Bradley, Jr e9785f0386 refactor: upgrade to waku v2, impl/test minimum viable usage 2020-11-18 14:18:37 -06:00
Michael Bradley, Jr b88f736a32 feat: integrate nim-sqlcipher 2020-11-18 13:34:24 -06:00
Richard Ramos d1f4fa39d7 feat: implement saveAccountAndLogin using nim-waku in nim_status/lib
For now don't export it at the top-level nor in lib/shim. Implement a basic
test for subscribe and send with waku.
2020-09-15 14:41:57 -05:00
Michael Bradley, Jr 92826e958c test: refactor login test into an asyncTest
The original intention was to use `newFuture` of nim-chronos but mixing use of
futures and `setSignalEventCallback` proved problematic so use a while/sleep
loop instead.
2020-09-15 12:07:38 -05:00
Michael Bradley, Jr 4927affd16 build: bump vendor/nimbus-build-system 2020-09-04 09:33:45 -05:00
Michael Bradley, Jr 46ffc74a1f feat: introduce Nim impl of identicon
Closes #33
2020-09-03 08:41:52 -05:00
Michael Bradley, Jr 6c2265f8c9 feat: introduce Nim impl of generateAlias
Closes #32
2020-08-31 14:05:29 -05:00
Richard Ramos a550df769b
feat: adds some utils functions to create/import accounts and login 2020-07-13 14:07:17 -04:00
Richard Ramos 3dda55a8a3
feat: include nimbus-build-system and initial version of the Makefile to generate a static library 2020-07-02 09:20:16 -04:00