~pounce

Low level programming and open source enthusiast

~pounce/tokio-walltime

Last active 5 months ago

~pounce/public-inbox

Last active 7 months ago
View more

Recent activity

[PATCH v3 6/6] add emoji keyboard 8 days ago

From Calvin Lee to ~emersion/goguma-dev

---
 lib/page/buffer.dart                         |  43 ++++---
 lib/widget/composer.dart                     | 120 ++++++++++++++++---
 lib/widget/message_item.dart                 | 114 ++++++++++--------
 lib/widget/message_sheet.dart                |  15 ++-
 linux/flutter/generated_plugin_registrant.cc |   4 +
 linux/flutter/generated_plugins.cmake        |   1 +
 pubspec.lock                                 |   8 ++
 pubspec.yaml                                 |   1 +
 8 files changed, 217 insertions(+), 89 deletions(-)

diff --git a/lib/page/buffer.dart b/lib/page/buffer.dart
index 59839d9..6e63f2f 100644
--- a/lib/page/buffer.dart
[message trimmed]

[PATCH v3 5/6] send reactions 8 days ago

From Calvin Lee to ~emersion/goguma-dev

This commit allows the user to select one of several existing reactions
to reply to a message. It does not allow for selecting reactions from an
emoji list, or similar.
---
 lib/client.dart              | 158 +++++++++++++----------
 lib/client_controller.dart   |  12 +-
 lib/database.dart            |   6 +
 lib/models.dart              |   7 +-
 lib/widget/composer.dart     |  37 +++---
 lib/widget/message_item.dart | 235 ++++++++++++++++++++++++++---------
 6 files changed, 298 insertions(+), 157 deletions(-)

diff --git a/lib/client.dart b/lib/client.dart
index fe2ad7c..4db07be 100644
[message trimmed]

[PATCH v3 4/6] view: add reactions 8 days ago

From Calvin Lee to ~emersion/goguma-dev

This commit adds a minimal reaction UI to the view. Each reaction is
rendered as a chip underneath the message with unread count.
---
 lib/models.dart              |  9 +++++++
 lib/widget/message_item.dart | 52 +++++++++++++++++++++++++++++++++++-
 2 files changed, 60 insertions(+), 1 deletion(-)

diff --git a/lib/models.dart b/lib/models.dart
index a5fae6b..c13f81a 100644
--- a/lib/models.dart
+++ b/lib/models.dart
@@ -598,6 +598,15 @@ class MessageModel {
	final MessageEntry? replyTo;
	final List<ReactionEntry> reactions;
[message trimmed]

[PATCH v3 3/6] refactor view 8 days ago

From Calvin Lee to ~emersion/goguma-dev

This commit refactors the buffer view so that it uses semantic widgets
for its message items, instead of bundling them into one helper class.
The hierarchy is as follows: Each element in the buffer list is a
`_BufferItem`, which contains decorations (such as unread counts) and a
single `MessageItemContainer`. A `MessageItemContainer` contains at
one `ConcreteMessageItem` which renders a single message, and perhaps a
link preview. There are several posibilities for `ConcreteMessageItem`.

This commit retains as much code sharing as possible, while retaining a
separation of concerns for different kinds of Message views.

This refactor fixes several bugs, including:
* Unread counter and date flashes with the following message
* CTCP messages have different link preview behaviour in compact and
[message trimmed]

[PATCH v3 2/6] irc: add support for reactions 8 days ago

From Calvin Lee to ~emersion/goguma-dev

This commit adds support for reactions in the IRC client, and routes
them into the model. This commit does not yet allow for viewing
reactions, but it should store them correctly in the model for doing so.

This commit also fixes a bug where TAGMSGs (and other non-
PRIVMSG/NOTICE) commands were stored in the model. Instead, the model
now only accepts `PrivmsgLike` objects, which contain a PRIVMSG or
NOTICE. This should stop related bugs from happening in the future.

We allow PRIVMSG-based reacts, and assume that they are a fallback for
clients which do not support reactions. Thus we do not show the PRIVMSG,
only the reaction.

Test: sent the following message
[message trimmed]

[PATCH v3 1/6] model: add support for reactions 8 days ago

From Calvin Lee to ~emersion/goguma-dev

This commit adds reactions to the model and database.
---
 lib/client_controller.dart |  28 +++++---
 lib/database.dart          | 128 +++++++++++++++++++++++++++++++++++++
 lib/models.dart            |   9 ++-
 pubspec.lock               |  26 ++++----
 4 files changed, 165 insertions(+), 26 deletions(-)

diff --git a/lib/client_controller.dart b/lib/client_controller.dart
index bcadf11..025abea 100644
--- a/lib/client_controller.dart
+++ b/lib/client_controller.dart
@@ -1096,22 +1096,30 @@ Future<Iterable<MessageModel>> buildMessageModelList(DB db, List<MessageEntry> e
		return [];
[message trimmed]

[PATCH v3] Add emoji reactions 8 days ago

From Calvin Lee to ~emersion/goguma-dev

This patch includes a few improvements over v2. In particular
indentation has been fixed in various places, and changes in adjacent
commits have been combined in order to reduce the amount of code that
has to be reviewed per commit.

PRIVMSG-based reactions are now supported as well.

One new commit has been added since v2 which allows for selecting an
emoji through a keyboard picker.

[PATCH v2 5/5] send reactions 16 days ago

From Calvin Lee to ~emersion/goguma-dev

This commit allows the user to select one of several existing reactions
to reply to a message. It does not allow for selecting reactions from an
emoji list, or similar.
---
 lib/client.dart              | 220 ++++++++++++++++++++-------------
 lib/client_controller.dart   |  14 +--
 lib/database.dart            |   6 +
 lib/models.dart              |   7 +-
 lib/widget/composer.dart     |  37 +++---
 lib/widget/message_item.dart | 228 +++++++++++++++++++++++++----------
 6 files changed, 336 insertions(+), 176 deletions(-)

diff --git a/lib/client.dart b/lib/client.dart
index 212d54e..1b670c2 100644
[message trimmed]

[PATCH v2 4/5] view: add reactions 16 days ago

From Calvin Lee to ~emersion/goguma-dev

This commit adds a minimal reaction UI to the view. Each reaction is
rendered as a chip underneath the message with unread count.
---
 lib/models.dart              |  9 +++++++
 lib/widget/message_item.dart | 52 +++++++++++++++++++++++++++++++++++-
 2 files changed, 60 insertions(+), 1 deletion(-)

diff --git a/lib/models.dart b/lib/models.dart
index 473411d..8b14da8 100644
--- a/lib/models.dart
+++ b/lib/models.dart
@@ -598,6 +598,15 @@ class MessageModel {
	final MessageEntry? replyTo;
	final List<ReactionEntry> reactions;
[message trimmed]

[PATCH v2 3/5] refactor view 16 days ago

From Calvin Lee to ~emersion/goguma-dev

This commit refactors the buffer view so that it uses semantic widgets
for its message items, instead of bundling them into one helper class.
The hierarchy is as follows: Each element in the buffer list is a
`_BufferItem`, which contains decorations (such as unread counts) and a
single `MessageItemContainer`. A `MessageItemContainer` contains at
one `ConcreteMessageItem` which renders a single message, and perhaps a
link preview. There are several posibilities for `ConcreteMessageItem`.

This commit retains as much code sharing as possible, while retaining a
separation of concerns for different kinds of Message views.

This refactor fixes several bugs, including:
* Unread counter and date flashes with the following message
* CTCP messages have different link preview behaviour in compact and
[message trimmed]