Refactor: BitchatMessage (#610)

* Extract BitchatMessage into a separate file

* Convert `fromBinaryPayload` to `convenience init?`

* Extract message dedup into an extension

* Remove dead `formatMessageContent`

* Minor refactor of timestamp and username formatting

* Remove dead `getSenderColor`
This commit is contained in:
Islam
2025-09-15 15:00:12 +02:00
committed by GitHub
parent 347ce5ece4
commit ea8d51a36b
11 changed files with 392 additions and 449 deletions
@@ -197,7 +197,7 @@ final class BinaryProtocolTests: XCTestCase {
return
}
guard let decodedMessage = BitchatMessage.fromBinaryPayload(payload) else {
guard let decodedMessage = BitchatMessage(payload) else {
XCTFail("Failed to decode message from binary")
return
}
@@ -219,7 +219,7 @@ final class BinaryProtocolTests: XCTestCase {
)
guard let payload = message.toBinaryPayload(),
let decodedMessage = BitchatMessage.fromBinaryPayload(payload) else {
let decodedMessage = BitchatMessage(payload) else {
XCTFail("Failed to encode/decode private message")
return
}
@@ -233,7 +233,7 @@ final class BinaryProtocolTests: XCTestCase {
let message = TestHelpers.createTestMessage(mentions: mentions)
guard let payload = message.toBinaryPayload(),
let decodedMessage = BitchatMessage.fromBinaryPayload(payload) else {
let decodedMessage = BitchatMessage(payload) else {
XCTFail("Failed to encode/decode message with mentions")
return
}
@@ -256,7 +256,7 @@ final class BinaryProtocolTests: XCTestCase {
)
guard let payload = message.toBinaryPayload(),
let decodedMessage = BitchatMessage.fromBinaryPayload(payload) else {
let decodedMessage = BitchatMessage(payload) else {
XCTFail("Failed to encode/decode relay message")
return
}
@@ -294,7 +294,7 @@ final class BinaryProtocolTests: XCTestCase {
let message = TestHelpers.createTestMessage(content: largeContent)
guard let payload = message.toBinaryPayload(),
let decodedMessage = BitchatMessage.fromBinaryPayload(payload) else {
let decodedMessage = BitchatMessage(payload) else {
XCTFail("Failed to handle large message")
return
}
@@ -307,7 +307,7 @@ final class BinaryProtocolTests: XCTestCase {
let emptyMessage = TestHelpers.createTestMessage(content: "")
guard let payload = emptyMessage.toBinaryPayload(),
let decodedMessage = BitchatMessage.fromBinaryPayload(payload) else {
let decodedMessage = BitchatMessage(payload) else {
XCTFail("Failed to handle empty message")
return
}