Daniel Brötzmann pushed to branch master at gajim / gajim
Commits:
fb0a92a9 by wurstsalat at 2024-07-08T22:24:59+02:00
fix: Fix nickname completion in group chats
Fixes #11895
- - - - -
2 changed files:
- gajim/common/storage/archive/storage.py
- test/gui/test_nick_completion.py
Changes:
=====================================
gajim/common/storage/archive/storage.py
=====================================
@@ -870,11 +870,11 @@ def get_first_message_meta_for_date(
@timeit
def get_recent_muc_nicks(
self, session: Session, account: str, jid: JID
- ) -> set[str]:
+ ) -> list[str]:
fk_account_pk = self._get_account_pk(session, account)
fk_remote_pk = self._get_jid_pk(session, jid)
- recent = datetime.now(timezone.utc) - timedelta(days=90)
+ recent = datetime.now(timezone.utc) - timedelta(days=30)
stmt = (
select(Message.resource)
@@ -886,10 +886,11 @@ def get_recent_muc_nicks(
Message.resource.isnot(None),
Message.correction_id.is_(None),
)
+ .order_by(sa.desc(Message.timestamp))
)
self._explain(session, stmt)
- return set(session.scalars(stmt))
+ return list(session.scalars(stmt))
@with_session
@timeit
=====================================
test/gui/test_nick_completion.py
=====================================
@@ -10,10 +10,12 @@ class Test(unittest.TestCase):
def test_generate_suggestions(self):
participant_names = [
- 'aaaa',
- 'xaaaz',
- 'xxx',
- 'xxxxz'
+ 'Hugo',
+ 'Herbert',
+ 'Robert',
+ 'Daisy',
+ 'xavier',
+ '7user',
]
participants: list[MagicMock] = []
@@ -26,7 +28,7 @@ def test_generate_suggestions(self):
app.storage.archive = MagicMock()
app.storage.archive.get_recent_muc_nicks = MagicMock(
- return_value=['fooo'])
+ return_value=['Daisy', 'Robert'])
gen = GroupChatNickCompletion()
contact = MagicMock()
@@ -34,13 +36,13 @@ def test_generate_suggestions(self):
gen.switch_contact(contact)
- r = gen._generate_suggestions(prefix='x')
- self.assertEqual(r, ['xaaaz', 'xxx', 'xxxxz'])
+ r = gen._generate_suggestions(prefix='h') # type: ignore
+ self.assertEqual(r, ['Herbert', 'Hugo'])
- r = gen._generate_suggestions(prefix='')
- self.assertEqual(r, ['fooo', 'aaaa', 'xaaaz', 'xxx', 'xxxxz'])
+ r = gen._generate_suggestions(prefix='') # type: ignore
+ self.assertEqual(r, ['Daisy', 'Robert', '7user', 'Herbert', 'Hugo',
'xavier'])
- r = gen._generate_suggestions(prefix='m')
+ r = gen._generate_suggestions(prefix='m') # type: ignore
self.assertEqual(r, [])
View it on GitLab:
https://dev.gajim.org/gajim/gajim/-/commit/fb0a92a94f6602de42f84e88d2206f550e46d6fb
--
View it on GitLab:
https://dev.gajim.org/gajim/gajim/-/commit/fb0a92a94f6602de42f84e88d2206f550e46d6fb
You're receiving this email because of your account on dev.gajim.org.
_______________________________________________
Commits mailing list -- [email protected]
To unsubscribe send an email to [email protected]