forgot to throw update on read

This commit is contained in:
Green Sky 2024-03-01 12:18:06 +01:00
parent 0e0e81720b
commit 5bf4640d61
No known key found for this signature in database
3 changed files with 11 additions and 2 deletions

View File

@ -389,6 +389,9 @@ float ChatGui4::render(float time_delta) {
msg_reg.emplace_or_replace<Message::Components::Read>(e, ts_now); msg_reg.emplace_or_replace<Message::Components::Read>(e, ts_now);
msg_reg.remove<Message::Components::TagUnread>(e); msg_reg.remove<Message::Components::TagUnread>(e);
msg_reg.emplace_or_replace<Components::UnreadFade>(e, 1.f); msg_reg.emplace_or_replace<Components::UnreadFade>(e, 1.f);
// we remove the unread tag here
_rmm.throwEventUpdate(msg_reg, e);
} }
// track view // track view

View File

@ -95,6 +95,7 @@ void MessageFragmentStore::handleMessage(const Message3Handle& m) {
return; return;
} }
// TODO: use fid, seving full fuid for every message consumes alot of memory (and heap frag)
if (!m.all_of<Message::Components::FUID>()) { if (!m.all_of<Message::Components::FUID>()) {
std::cout << "MFS: new msg missing FUID\n"; std::cout << "MFS: new msg missing FUID\n";
if (!m.registry()->ctx().contains<Message::Components::OpenFragments>()) { if (!m.registry()->ctx().contains<Message::Components::OpenFragments>()) {
@ -268,7 +269,9 @@ void MessageFragmentStore::handleMessage(const Message3Handle& m) {
_fuid_save_queue.push({Message::getTimeMS(), fragment_uid, m.registry()}); _fuid_save_queue.push({Message::getTimeMS(), fragment_uid, m.registry()});
} }
// TODO: do we use fid? // TODO: save updates, and not only new messages (read state etc)
// new fragment?, since we dont write to others fragments?
// on new message: assign fuid // on new message: assign fuid
// on new and update: mark as fragment dirty // on new and update: mark as fragment dirty

View File

@ -29,7 +29,7 @@ namespace Message::Components {
// points to the front/newer message // points to the front/newer message
// together they define a range that is, // together they define a range that is,
// eg the first(end) and last(begin) message being rendered // eg the first(end) and last(begin) message being rendered
// MFS requires there to be atleast one other message after/before, // MFS requires there to be atleast one other fragment after/before,
// if not loaded fragment with fitting tsrange(direction) available // if not loaded fragment with fitting tsrange(direction) available
// uses fragmentAfter/Before() // uses fragmentAfter/Before()
// they can exist standalone // they can exist standalone
@ -42,6 +42,9 @@ namespace Message::Components {
Message3 curser_begin{entt::null}; Message3 curser_begin{entt::null};
}; };
// TODO: add adjacency range comp or inside curser
// TODO: unused
// mfs will only load a limited number of fragments per tick (1), // mfs will only load a limited number of fragments per tick (1),
// so this tag will be set if we loaded a fragment and // so this tag will be set if we loaded a fragment and
// every tick we check all cursers for this tag and continue // every tick we check all cursers for this tag and continue