Comments (5)
Interesting. _redactedBecause
is a unique pointer, and nobody else does anything lifecycle-related to it. Basically, it is never deleted apart from the event that contains it. Are you sure that m_event
is valid?
from libquotient.
I have a suspicion that we indeed have invalid events on the neochat side, see e.g. https://bugs.kde.org/show_bug.cgi?id=488066
from libquotient.
If that's any help, I remember fighting a very nasty race between updating a room pointer in the event model and accessing the model items, in Quaternion. The problem was that the moment you change the room pointer, all those bindings in QML get triggered and some of them may very well concern events from the old room because endModelReset()
hasn't been called yet, so the view assumes the old items are still valid (beginModelReset()
doesn't invalidate anything, as one would expect). I ended up having not one but two model resets for that reason - first to neutral (nullptr
) state, and then to the new room - to make sure QML doesn't have any leftovers from the old room.
from libquotient.
I created https://invent.kde.org/network/neochat/-/merge_requests/1790 copying Quaternion, lets see if it helps
from libquotient.
I think what's happening here is not a bug in libQuotient but rather:
- NeoChat stores pointer to event
- Event is replaced
- libQuotient deletes the event and notifies us that the event changes
- We're accessing the event
- Boom
from libquotient.
Related Issues (20)
- Release 0.8.0
- Wrong required library name libQuotientQt60_8 HOT 7
- NetworkAccessManager doesn't work with authenticating media servers
- Event types registered twice QT6 HOT 8
- Release 0.8.1
- ABI break in patch version 0.8.1 HOT 1
- The library emits no signal when allHistoryLoaded() becomes apparent
- Release 0.8.1.2
- Release 0.8.2
- Message edits lost after restarts HOT 1
- Thoughts about a matrix-rust-sdk connection
- Quotient::NAM doesn't retry on errors
- Update to Matrix 1.10
- Add toJson() for events and get rid of CreateRoomJob::StateEvent
- Room State Cache saved too often HOT 2
- Database is inconsistent about QString and QByteArray, causing a high risk of bugs HOT 1
- Release 0.9 alpha
- libolm deprecation and possible security vulnerablity HOT 2
- Batteries-included Account / Connection management HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from libquotient.