Resonite-Issues icon indicating copy to clipboard operation
Resonite-Issues copied to clipboard

[API] Message `sendTime` timestamps are generated locally, instead of determined server-side

Open ShadowJonathan opened this issue 3 months ago • 4 comments

Describe the bug?

This is something I encountered (or was revealed by) ReCon; when someone is messaging me while their computer clock was a few messages behind, the messages appeared "earlier" in the timeline, with a different timestamp.

Considering this is a third-party app, this isn't strictly about resonite, but its still worth pointing out, as depending on how resonite will arrange/has arranged its messaging code, this could lead to further bugs, or possible message forgery and other shenanigans, such as eternally-stuck messages on the bottom of the screen with timestamps in the far future.

To Reproduce

  1. Have person A (on a computer) set the time back a few minutes.
  2. Have person B (on ReCon, or possibly another computer with resonite) start chatting.
  3. Have person A message/chat back.
  4. Observe timeline / timestamp discrepancy.

Reproduction Item/World

N/A

Expected behavior

For the messages to order nicely by arrival to the server, and not be able to arrive "earlier" while responding to or already having seen a "later" message; that breaks the laws of causality :p

Screenshots

No response

Resonite Version Number

2025.8.20.1298

What Platforms does this occur on?

Windows

What headset if any do you use?

N/A

Log Files

N/A

Additional Context

I know this is primarily about a third-party app, but this feels like code smell on resonite's side, and thats why i'm reporting it.

Reporters

@jo.wtf, using @Nutcake's (same discord username) app.

ShadowJonathan avatar Nov 23 '25 12:11 ShadowJonathan

Hi! Thank you for reporting this bug on the Resonite issue tracker.

We noticed you haven't attached a proper log file in your report. Including a log helps us pinpoint the exact issue which is why it is required during the report process.

If you do not know where to find log files, please see this tutorial on the Resonite Wiki to see where to find them.

Thank you!

github-actions[bot] avatar Nov 23 '25 12:11 github-actions[bot]

(Log file not required)

ShadowJonathan avatar Nov 23 '25 12:11 ShadowJonathan

I should mention that the other person was on Linux, Arch Linux specifically

ShadowJonathan avatar Nov 23 '25 12:11 ShadowJonathan

@nutcake figured out that sendTime is generated locally, but lastUpdateTime is used by Resonite to order the messages, which ReCon will also be using.

Updated the title to clarify this.

I still believe this is a bug worth fixing, because if resonite wants to add editing features into its messaging into the future, then lastUpdateTime would get updated (or supposedly so), and bump the edited message forwards, or the likes.

ShadowJonathan avatar Nov 23 '25 13:11 ShadowJonathan