Best posts made by jezek
-
RE: The MMS lost story
Failed MMS redownload progress report:
There are now 3 drafts on github:
- https://github.com/ubports/nuntium/pull/8
- https://github.com/ubports/telephony-service/pull/20
- https://github.com/ubports/messaging-app/pull/260
This is the first working version, where you can initiate re-download of failed MMS by clicking a button in messaging-app. This version is quirky and will be improved further.
What needs to be done?
- make it possible to report failed message using status, not an empty message.
- refactoring, tests, documentation, changelogs, etc...
Will report again on any noticable progress.
-
RE: The MMS lost story
Failed MMS redownload progress report:
This week only nuntium PR got updated.
There was a problem with redownload after nuntium got restarted. After nunium restarted (on crash, or phone reboot), the redownload button from messaging-app didn't work. This was because of the button sends the redownload request to nuntium through dbus. And after nuntium restart, there was no one listening on dbus for the redownload signal. I've fixed this by spawning listeners for messages on modem identification. So the redownload now works even after phone restart.
Also the nuntium-inject-pust testing tool got update. It can now autodetect the end-point flag from nuntium logs using grep & sed commands.
-
RE: Where is Firefox?
@krogoth I like @dobey 's answer. Cause it's not a simple 'no'. It is accompanied by some hints, how you can try to approach the problem, if you want to solve it. Keep going @dobey , excellent work.
-
RE: The MMS lost story
Failed MMS re-download progress report:
Number of drafts on github is now 5:
- https://github.com/ubports/nuntium/pull/8 - saves info about failed download, adds error & delete-event parameters (if needed) into dbus message for thelepathy-ofono and incoming re-download request.
- https://github.com/ubports/telepathy-ofono/pull/20 - for received mms (from nuntium), parses additional parameters ("Error", "DeleteEvent") and sets Telepathy message headers accordingly ("x-ubports-error", "supersedes").
The "supersedes" header indicates, that the current message replaces the one stored in the header and is currently handled by history-service without any change. (Note: during injection testing, history service fails to delete the supersedes message, if it is in another conversation)
The "x-ubports-error" header should indicate an error message when message propagates through telepathy-qt to history-service. Maybe the error propagation could be done via "delivery-status", "delivery-error", "delivery-error-message" headers and no changes in history-service will be needed (theory needs testing). - https://github.com/ubports/history-service/pull/35 - the code here does nothing new yet, just adds some logging. The idea is to change status if "x-ubports-error" is set. It's possible, that this PR will be unnecessary.
- https://github.com/ubports/telephony-service/pull/20 - adds methods to propagate re-download request to nuntium.
- https://github.com/ubports/messaging-app/pull/260 - adds re-download button to error message.
The redownload should work after these PRs. The new thing is, that after hitting redownload the old error message bubble should be deleted when the new message arrives (as successfully received message or new error message).
What needs to be done:
- improve error mms logic (currently: when delivered message is empty, without attachments). The idea is, that a delivered message is an error message when message is empty (historical reasons) or status is one of MessageStatusPermanentlyFailed, MessageStatusTemporaryFailed or MessageStatusPending. The message, which can be re-downloaded will have temporaryFailed status and will show the re-download button. Upon re-download clicked the state will be changed to pending (the re-download button is disabled). When re-download is not possible (expired, some other error) the status will be permanentlyFailed or empty message (current).
- set status in history-service (if needed)
- refactoring, tests, documentation, changelogs, etc...
I'm sorry, I'm so slow with progress, have only cca a hour a day for coding/testing. And building, deploying, phone restarting and log/code studying takes too much time. I hope it'll get faster.
@lduboeuf said in The MMS lost story:
How do you manage to propagate error or deferred status as Telepathy Message object to Telephony-service and History-service ?. By using the messageType , e.g: ChannelTextMessageTypeNotice ?
I'm afraid, that propagating via messageType (declaring new type) could break some other logic, which handles message type. So I decided to go with custom header "x-ubports-error". Or maybe using other headers (see above).
Questions, ideas or critics are welcome.
Edit: https://github.com/ubports/telepathy-ofono/pull/20 and https://github.com/ubports/history-service/pull/35 fail to pass checks. Does anyone know why?
-
RE: Happy holidays 2021 and PF 2022
...the old French inscription pour féliciter, or "P.F.", together with the number of an upcoming year, standing for "wishing you all the happiness in the new year".
-
RE: The MMS lost story
Failed MMS re-download progress report:
The progress is slow, but steady. Two PR drafts got updated:
- https://github.com/ubports/telephony-service/pull/20
- https://github.com/ubports/messaging-app/pull/260
What was updated:
- Some refactoring was done in telephony-service in redownloadMesage pathway (the function now needs 3 string parameters instead of a string map).
- The redownload (in telephony-service) changes message status to pending before sending a redownload request to nuntium.
- The redownload (in telephony-service) sends redownload request to nuntium only if message status is unknown (later it will be other status) to not request redownload more times than needed (if function is called more times)
- Redownload buton gets disabled if message status is other than unknown (will be other status later), to indicate hat redowload is in progress.
-
RE: The MMS lost story
Failed MMS redownload progress report:
Because of unsafe
apt
operations, which makescrossbuilder
&ubports-qa
unsafe too, I've redirected my attention tonuntium
, resulting in some commits to https://github.com/ubports/nuntium/pull/8. (Note: I can easily deploynuntuim
to phone withoutapt
)What was done?
My operator (and other?) resends multimedia message notifications ever 10 minutes, if notification is not marked as received. This resulted in new error message (when download fails) and notification sound every time. These new commits prevents this behavior.
Every notification comes with transaction-id, which is stored on download error and if new notification comes with the same transaction-id and there was a download error again, the error message will not be sent to telepathy again.
The only caveat is, that if the second download fails on another error as the first, then the second error will not be communicated (however no error description is communicated now, this will be added in future). I'll see, if this will need attention later.
To test these changes easier, I've added an
transaction-id
flag tonuntium-inject-push
testing tool.That's all for this week, see ya next time.
-
Crossbuilder with ssh deployment
For those who use
crossbuilder
for development, the ssh deployment pull request has just been issued. It allows you to deploy your code to device via ssh (wi-fi) instead of adb (cable), using the--ssh
option.Feel free to test, complain and/or enjoy.
-
RE: SearX search engine for Morph, please
@thrill_seeker Quick search on github.com/ubports found a folder for morph search engines implementation. The code in SearchEngines.qml scans through the dir for
*.xml
and uses them. So to add new search engine, add a new XML to the dir. You can look on the other to figure out how to write a new one. Good luck. -
Messaging-app as click(able)
Hello there.
I made a pull request, to be able to build messaging-app with clickable tool. This can be usefull for develpoing and testing purposes. And who knows, maybe sometimes all apps come as clickable (snap, ...) packages and can be uninstalled to make UT more flexible.
I'm writing this, to bring a little bit of attention to the PR, to do some testing, if it can be accepted. Feel free to ask any questions.
-
RE: The MMS lost story
Failed MMS redownload progress report:
This week these PR's got updated:
- nuntium - send
Received
(uint - unix time) message parameter to telepathy-ofono, to ensure right place in message history. AndError
(bool) andErrorMessage
(string) parameter got merged into oneError
(string). - telepathy-ofono - on added message signal, fill
message-received
header withReceived
parameter (if found). Check and fill error message text fromError
parameter. - history-service - no changes needed.
- messaging-app - no changes, just rebased to
xenial
which changed upstream. - telephony-service - Just the MMS error text got truncated. Note: The PR wont build only for
arm64
due to test fail. Seems not my fault, but needs to be fixed.
That's all this week. This projects is nearing it's end. If nothing goes wrong I'd say 2 weeks (without . documentation, tests and changelogs changes) and we are ready to test on dev, not only through ubports-qa.
Have a nice day.
- nuntium - send
-
RE: Ubuntu Touch OTA-8 Is Here !!
I the banner. Also kudos to everyone who participated and made this possible.
-
RE: Call for maintainers
@hummlbach Ok. I've decided. I'm ready to maintain the messaging app, if there isn't anybody else. I think I can read/write code, but I'm not familiar with the workflow of maintaining an app on UT. So what do I need to do/know for starters?
-
RE: The MMS lost story
Failed MMS redownload progress report:
This week nuntium and messaging-app pull request drafts got update. @lduboeuf added code to messaging-app to not be able to initiate redownload of expired messages. And I fixed a bug in nuntium, wich I previously introduced. I've also made more work on nuntium localy, got rid of some TODOs, but I haven't fully tested the added code yet, so I'm not confident to push into PR draft right now. Will continue to work on this, see ya next time.
-
RE: The MMS lost story
Failed MMS redownload progress report:
During cleanup I found a small issue. During nuntium initialization I start dbus listeners to listen to redownload or read/delete requests for messages in storage, but telepathy didn't spawn listeners for these. It's not a big issue, redownload still works, but read/delete requests from messaging-app don't come through to nuntium and that leads to polluted storage. I've tried to fix it, but today I broke something, so no new commits until I fix and test. I hope this is the last issue, that needs to be solved before reviews starts.
-
RE: The MMS lost story
Failed MMS redownload progress report:
I've fixed the issue I found last week, but haven't tested it fully yet (so no commits). I will continue the cleanup, to start review process and inform you here on any progress.