Implement sender realname/avatarurl storage
authorJanne Koschinski <janne@kuschku.de>
Tue, 8 May 2018 20:17:38 +0000 (15:17 -0500)
committerManuel Nickschas <sputnick@quassel-irc.org>
Wed, 23 May 2018 22:33:28 +0000 (00:33 +0200)
commit20f446a492d8e681156423f0dc3637db78c45bae
treec86903e93cd7d095f467bc5a010fa295b05e9514
parent458c3278a4b9102bcc470d48816fac379492a588
Implement sender realname/avatarurl storage

- Store sender realname and avatarurl in database
- Guard protocol changes behind feature flag 'RichMessages'
- Avatar URLs are not actually stored yet, as we do not implement
  METADATA yet.

This is not yet used in Quassel itself, but third-party clients
including QuasselDroid use this to provide more context in messages
and allow for realname-based fallback avatar fetching to work in the
chat message backlog.

Incorporates suggestions from @mamarley.

Closes GH-351.
38 files changed:
src/common/message.cpp
src/common/message.h
src/common/quassel.h
src/core/SQL/PostgreSQL/insert_sender.sql
src/core/SQL/PostgreSQL/migrate_write_sender.sql
src/core/SQL/PostgreSQL/select_messagesAll.sql
src/core/SQL/PostgreSQL/select_messagesAllNew.sql
src/core/SQL/PostgreSQL/select_messagesNewerThan.sql
src/core/SQL/PostgreSQL/select_messagesNewestK.sql
src/core/SQL/PostgreSQL/select_messagesRange.sql
src/core/SQL/PostgreSQL/select_senderid.sql
src/core/SQL/PostgreSQL/setup_010_sender.sql
src/core/SQL/PostgreSQL/setup_140_sender_idx.sql [new file with mode: 0644]
src/core/SQL/PostgreSQL/version/27/upgrade_000_update_sender_add_realname.sql [new file with mode: 0644]
src/core/SQL/PostgreSQL/version/27/upgrade_010_update_sender_add_avatarurl.sql [new file with mode: 0644]
src/core/SQL/PostgreSQL/version/27/upgrade_020_update_sender_add_new_constraint.sql [new file with mode: 0644]
src/core/SQL/PostgreSQL/version/27/upgrade_030_upgrade_sender_drop_old_constraint.sql [new file with mode: 0644]
src/core/SQL/SQLite/insert_sender.sql
src/core/SQL/SQLite/migrate_read_sender.sql
src/core/SQL/SQLite/select_messagesAll.sql
src/core/SQL/SQLite/select_messagesAllNew.sql
src/core/SQL/SQLite/select_messagesNewerThan.sql
src/core/SQL/SQLite/select_messagesNewestK.sql
src/core/SQL/SQLite/select_messagesRange.sql
src/core/SQL/SQLite/setup_010_sender.sql
src/core/SQL/SQLite/setup_150_sender_idx.sql [new file with mode: 0644]
src/core/SQL/SQLite/version/29/upgrade_000_create_sender_tmp.sql [new file with mode: 0644]
src/core/SQL/SQLite/version/29/upgrade_010_copy_sender_sender_tmp.sql [new file with mode: 0644]
src/core/SQL/SQLite/version/29/upgrade_020_drop_sender.sql [new file with mode: 0644]
src/core/SQL/SQLite/version/29/upgrade_030_rename_sender_tmp_sender.sql [new file with mode: 0644]
src/core/SQL/SQLite/version/29/upgrade_040_update_sender_add_realname_avatarurl.sql [new file with mode: 0644]
src/core/abstractsqlstorage.cpp
src/core/abstractsqlstorage.h
src/core/coresession.cpp
src/core/coresession.h
src/core/postgresqlstorage.cpp
src/core/sql.qrc
src/core/sqlitestorage.cpp