| author | Stephen Paul Weber
<singpolyma@singpolyma.net> 2025-09-29 16:09:50 UTC |
| committer | Stephen Paul Weber
<singpolyma@singpolyma.net> 2025-09-29 16:09:50 UTC |
| parent | 85d8cb3c6bc51fefd072470c0500120c50c6aeb9 |
| .builds/alpine.yml | +5 | -5 |
| .github/workflows/build.yml | +4 | -4 |
| .gitignore | +6 | -6 |
| HaxeCBridge.hx | +8 | -8 |
| Makefile | +41 | -41 |
| README.md | +4 | -4 |
| {snikket => borogove}/AttachmentSource.cpp.hx | +2 | -2 |
| {snikket => borogove}/AttachmentSource.js.hx | +1 | -1 |
| {snikket => borogove}/Autolink.hx | +2 | -2 |
| {snikket => borogove}/Caps.hx | +4 | -4 |
| {snikket => borogove}/Chat.hx | +49 | -49 |
| {snikket => borogove}/ChatMessage.hx | +26 | -26 |
| {snikket => borogove}/ChatMessageBuilder.hx | +22 | -22 |
| {snikket => borogove}/Client.hx | +49 | -49 |
| {snikket => borogove}/Color.hx | +1 | -1 |
| {snikket => borogove}/Config.hx | +2 | -2 |
| {snikket => borogove}/Date.hx | +1 | -1 |
| {snikket => borogove}/EmojiUtil.hx | +1 | -1 |
| {snikket => borogove}/EncryptedMessage.hx | +1 | -1 |
| {snikket => borogove}/EncryptionInfo.hx | +2 | -2 |
| {snikket => borogove}/EncryptionPolicy.hx | +1 | -1 |
| {snikket => borogove}/EventEmitter.hx | +3 | -3 |
| {snikket => borogove}/EventHandler.hx | +1 | -1 |
| {snikket => borogove}/FSM.hx | +1 | -1 |
| {snikket => borogove}/GenericStream.hx | +3 | -3 |
| {snikket => borogove}/Hash.hx | +8 | -8 |
| {snikket => borogove}/ID.hx | +1 | -1 |
| {snikket => borogove}/Identicon.hx | +2 | -2 |
| {snikket => borogove}/JID.hx | +1 | -1 |
| {snikket => borogove}/JsonPrinter.hx | +1 | -1 |
| {snikket => borogove}/Map.js.hx | +1 | -1 |
| {snikket => borogove}/Message.hx | +2 | -2 |
| {snikket => borogove}/MessageSync.hx | +7 | -7 |
| {snikket => borogove}/ModerationAction.hx | +1 | -1 |
| {snikket => borogove}/NS.hx | +1 | -1 |
| {snikket => borogove}/Notification.hx | +7 | -7 |
| {snikket => borogove}/OMEMO.hx | +6 | -6 |
| {snikket => borogove}/Participant.hx | +2 | -2 |
| {snikket => borogove}/PeerConnection.js.hx | +0 | -0 |
| {snikket => borogove}/Persistence.hx | +6 | -6 |
| {snikket => borogove}/Presence.hx | +1 | -1 |
| {snikket => borogove}/PubsubEvent.hx | +1 | -1 |
| {snikket => borogove}/Push.hx | +6 | -6 |
| {snikket => borogove}/Reaction.hx | +5 | -5 |
| {snikket => borogove}/ReactionUpdate.hx | +4 | -4 |
| {snikket => borogove}/ResultSet.hx | +1 | -1 |
| {snikket => borogove}/SignalProtocol.hx | +1 | -1 |
| {snikket => borogove}/Stanza.hx | +5 | -5 |
| borogove/Stream.cpp.hx | +5 | -0 |
| borogove/Stream.js.hx | +5 | -0 |
| {snikket => borogove}/StringUtil.hx | +1 | -1 |
| {snikket => borogove}/Util.hx | +1 | -1 |
| {snikket => borogove}/Version.hx | +2 | -2 |
| {snikket => borogove}/XEP0393.hx | +3 | -3 |
| {snikket/jingle => borogove/calls}/Group.hx | +1 | -1 |
| {snikket/jingle => borogove/calls}/IceServer.hx | +1 | -1 |
| {snikket/jingle => borogove/calls}/PeerConnection.cpp.hx | +13 | -13 |
| {snikket/jingle => borogove/calls}/PeerConnection.js.hx | +1 | -1 |
| {snikket/jingle => borogove/calls}/Session.hx | +21 | -21 |
| {snikket/jingle => borogove/calls}/SessionDescription.hx | +1 | -1 |
| {snikket/jingle => borogove/calls}/Stream.cpp.hx | +0 | -0 |
| {snikket => borogove}/persistence/Custom.hx | +5 | -5 |
| {snikket => borogove}/persistence/Dummy.hx | +6 | -6 |
| {snikket => borogove}/persistence/IDB.js | +20 | -20 |
| {snikket => borogove}/persistence/KeyValueStore.hx | +1 | -1 |
| {snikket => borogove}/persistence/MediaStore.hx | +2 | -2 |
| {snikket => borogove}/persistence/MediaStoreCache.js | +0 | -0 |
| {snikket => borogove}/persistence/MediaStoreFS.hx | +2 | -2 |
| {snikket => borogove}/persistence/Sqlite.hx | +8 | -8 |
| {snikket => borogove}/persistence/SqliteDriver.hx | +1 | -1 |
| {snikket => borogove}/persistence/SqliteDriver.js.hx | +1 | -1 |
| {snikket => borogove}/persistence/sqlite-worker1.mjs | +0 | -0 |
| {snikket => borogove}/queries/BlocklistGet.hx | +6 | -6 |
| {snikket => borogove}/queries/BoB.hx | +1 | -1 |
| {snikket => borogove}/queries/DiscoInfoGet.hx | +7 | -7 |
| {snikket => borogove}/queries/DiscoItemsGet.hx | +7 | -7 |
| {snikket => borogove}/queries/ExtDiscoGet.hx | +7 | -7 |
| {snikket => borogove}/queries/GenericQuery.hx | +2 | -2 |
| {snikket => borogove}/queries/HttpUploadSlot.hx | +7 | -7 |
| {snikket => borogove}/queries/JabberIqGatewayGet.hx | +7 | -7 |
| {snikket => borogove}/queries/MAMQuery.hx | +6 | -6 |
| {snikket => borogove}/queries/PubsubGet.hx | +6 | -6 |
| {snikket => borogove}/queries/PubsubPublish.hx | +6 | -6 |
| {snikket => borogove}/queries/Push2Disable.hx | +4 | -4 |
| {snikket => borogove}/queries/Push2Enable.hx | +4 | -4 |
| {snikket => borogove}/queries/RosterGet.hx | +6 | -6 |
| {snikket => borogove}/queries/VcardTempGet.hx | +6 | -6 |
| {snikket => borogove}/streams/XmppJsStream.hx | +4 | -4 |
| {snikket => borogove}/streams/XmppStropheStream.hx | +6 | -6 |
| browserjs.hxml | +5 | -5 |
| build-misc/Containerfile.image | +7 | -7 |
| cpp.hxml | +6 | -6 |
| nodejs.hxml | +5 | -5 |
| npm/index.ts | +26 | -26 |
| npm/package.json | +2 | -2 |
| snikket/Stream.cpp.hx | +0 | -5 |
| snikket/Stream.js.hx | +0 | -5 |
| test/TestChatMessageBuilder.hx | +1 | -1 |
| test/TestSessionDescription.hx | +2 | -2 |
| test/TestStanza.hx | +1 | -1 |
diff --git a/.builds/alpine.yml b/.builds/alpine.yml index fb8adf6..2b45dd6 100644 --- a/.builds/alpine.yml +++ b/.builds/alpine.yml @@ -7,12 +7,12 @@ packages: - libc++-dev - musl-dev sources: -- https://git.sr.ht/~singpolyma/snikket-sdk +- https://borogove.dev/src/r/sdk artifacts: -- snikket-sdk/libsnikket.so +- sdk/libborogove.so tasks: - haxelib: | - cd snikket-sdk + cd sdk haxelib setup . haxelib git jsImport https://github.com/back2dos/jsImport haxelib install datetime @@ -31,5 +31,5 @@ tasks: cd - patch -p1 -i xlocale.patch - make: | - cd snikket-sdk - make libsnikket.so + cd sdk + make libborogove.so diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 04aeda5..8107db2 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -65,13 +65,13 @@ jobs: - name: Build run: make - - name: libsnikket Artifact + - name: libborogove Artifact uses: actions/upload-artifact@v4 with: - name: libsnikket + name: libborogove path: | - libsnikket.so - cpp/snikket.h + libborogove.so + cpp/borogove.h - name: NPM Tarball run: tar -cjf npm.tar.gz npm/ diff --git a/.gitignore b/.gitignore index 3f28a3a..d163a82 100644 --- a/.gitignore +++ b/.gitignore @@ -3,11 +3,11 @@ npm/*.d.ts npm/MediaStoreCache.js npm/sqlite-worker1.mjs npm/IDB.js -npm/snikket.js -npm/snikket-enums.ts -npm/snikket-enums.js -npm/snikket-browser.js -npm/snikket-browser-enums.ts -npm/snikket-browser-enums.js +npm/borogove.js +npm/borogove-enums.ts +npm/borogove-enums.js +npm/borogove-browser.js +npm/borogove-browser-enums.ts +npm/borogove-browser-enums.js npm/index.js node_modules diff --git a/HaxeCBridge.hx b/HaxeCBridge.hx index 94dbcbe..5a8b2a4 100644 --- a/HaxeCBridge.hx +++ b/HaxeCBridge.hx @@ -622,11 +622,11 @@ class HaxeCBridge { return code(' /** - * \\file snikket.h the Snikket SDK for C + * \\file borogove.h the Borogove SDK for C * * Everything returned from an SDK procedure or passed to a function * pointer, both strings and opaque types, must be passed to - * snikket_release when you are done with it. + * borogove_release when you are done with it. */ #ifndef __${hx.strings.Strings.toUpperUnderscore(namespace)}_H @@ -650,7 +650,7 @@ class HaxeCBridge { '); } else '') - + '#endif\n\ntypedef void (*snikket_panic_callback) (const char *info);\n\n' + + '#endif\n\ntypedef void (*borogove_panic_callback) (const char *info);\n\n' + (if (ctx.supportTypeDeclarations.length > 0) ctx.supportTypeDeclarations.map(d -> CPrinter.printDeclaration(d, true)).join(';\n\n') + ';\n\n'; else '') + (if (ctx.typeDeclarations.length > 0) ctx.typeDeclarations.map(d -> CPrinter.printDeclaration(d, true)).join(';\n\n') + ';\n'; else '') @@ -668,7 +668,7 @@ class HaxeCBridge { * @param panicCallback a callback to execute if the SDK panics. The SDK will continue processing events after a panic and you may want to stop it after receiving this callback. Use `NULL` for no callback * @returns `NULL` if the thread initializes successfully or a null-terminated C string if an error occurs during initialization */ - $prefix const char *${namespace}_setup(snikket_panic_callback panic_callback); + $prefix const char *${namespace}_setup(borogove_panic_callback panic_callback); /** * Stops the SDK, blocking until the main thread has completed. Once ended, it cannot be restarted (this is because static variable state will be retained from the last run). @@ -774,7 +774,7 @@ class HaxeCBridge { std::atomic<bool> staticsInitialized = { false }; struct HaxeThreadData { - snikket_panic_callback haxeExceptionCallback; + borogove_panic_callback haxeExceptionCallback; const char* initExceptionInfo; }; @@ -833,7 +833,7 @@ class HaxeCBridge { threadData->initExceptionInfo = nullptr; // copy out callback - snikket_panic_callback haxeExceptionCallback = threadData->haxeExceptionCallback; + borogove_panic_callback haxeExceptionCallback = threadData->haxeExceptionCallback; bool firstRun = !HaxeCBridgeInternal::staticsInitialized; @@ -868,7 +868,7 @@ class HaxeCBridge { } HAXE_C_BRIDGE_LINKAGE - const char* ${namespace}_setup(snikket_panic_callback unhandledExceptionCallback) { + const char* ${namespace}_setup(borogove_panic_callback unhandledExceptionCallback) { HaxeCBridgeInternal::HaxeThreadData threadData; threadData.haxeExceptionCallback = unhandledExceptionCallback == nullptr ? HaxeCBridgeInternal::defaultExceptionHandler : unhandledExceptionCallback; threadData.initExceptionInfo = nullptr; @@ -1865,7 +1865,7 @@ class CConverterContext { "auto", "double", "int", "struct", "break", "else", "long", "switch", "case", "enum", "register", "typedef", "char", "extern", "return", "union", "const", "float", "short", "unsigned", "continue", "for", "signed", "void", "default", "goto", "sizeof", "volatile", "do", "if", "static", "while", "size_t", "int64_t", "uint64_t", // HaxeCBridge types - "HaxeObject", "snikket_panic_callback", + "HaxeObject", "borogove_panic_callback", // hxcpp "Int", "String", "Float", "Dynamic", "Bool", ]; diff --git a/Makefile b/Makefile index 3b10147..1e30ec1 100644 --- a/Makefile +++ b/Makefile @@ -1,8 +1,8 @@ HAXE_PATH=$$HOME/Software/haxe-4.3.1/hxnodejs/12,1,0/src -.PHONY: all test hx-build-dep cpp/output.dso npm/snikket-browser.js npm/snikket.js +.PHONY: all test hx-build-dep cpp/output.dso npm/borogove-browser.js npm/borogove.js -all: npm libsnikket.so +all: npm libborogove.so test: haxe test.hxml @@ -22,53 +22,53 @@ hx-build-dep: haxelib --quiet git hxcpp https://github.com/HaxeFoundation/hxcpp -npm/snikket-browser.js: +npm/borogove-browser.js: haxe browserjs.hxml - sed -i 's/import { snikket }/import { snikket as enums }/' npm/snikket-browser.d.ts - sed -i 's/snikket\.UiState/enums.UiState/g' npm/snikket-browser.d.ts - sed -i 's/snikket\.MessageStatus/enums.MessageStatus/g' npm/snikket-browser.d.ts - sed -i 's/snikket\.MessageDirection/enums.MessageDirection/g' npm/snikket-browser.d.ts - sed -i 's/snikket\.MessageType/enums.MessageType/g' npm/snikket-browser.d.ts - sed -i 's/snikket\.UserState/enums.UserState/g' npm/snikket-browser.d.ts - sed -i 's/snikket\.ChatMessageEvent/enums.ChatMessageEvent/g' npm/snikket-browser.d.ts - sed -i 's/snikket\.ReactionUpdateKind/enums.ReactionUpdateKind/g' npm/snikket-browser.d.ts - sed -i 's/snikket\.jingle\.CallStatus/enums.jingle.CallStatus/g' npm/snikket-browser.d.ts - sed -i 's/snikket\.EncryptionMode/enums.EncryptionMode/g' npm/snikket-browser.d.ts - sed -i 's/snikket\.EncryptionStatus/enums.EncryptionStatus/g' npm/snikket-browser.d.ts - sed -i '1ivar exports = {};' npm/snikket-browser.js - echo "export const snikket = exports.snikket;" >> npm/snikket-browser.js + sed -i 's/import { borogove }/import { borogove as enums }/' npm/borogove-browser.d.ts + sed -i 's/borogove\.UiState/enums.UiState/g' npm/borogove-browser.d.ts + sed -i 's/borogove\.MessageStatus/enums.MessageStatus/g' npm/borogove-browser.d.ts + sed -i 's/borogove\.MessageDirection/enums.MessageDirection/g' npm/borogove-browser.d.ts + sed -i 's/borogove\.MessageType/enums.MessageType/g' npm/borogove-browser.d.ts + sed -i 's/borogove\.UserState/enums.UserState/g' npm/borogove-browser.d.ts + sed -i 's/borogove\.ChatMessageEvent/enums.ChatMessageEvent/g' npm/borogove-browser.d.ts + sed -i 's/borogove\.ReactionUpdateKind/enums.ReactionUpdateKind/g' npm/borogove-browser.d.ts + sed -i 's/borogove\.calls\.CallStatus/enums.calls.CallStatus/g' npm/borogove-browser.d.ts + sed -i 's/borogove\.EncryptionMode/enums.EncryptionMode/g' npm/borogove-browser.d.ts + sed -i 's/borogove\.EncryptionStatus/enums.EncryptionStatus/g' npm/borogove-browser.d.ts + sed -i '1ivar exports = {};' npm/borogove-browser.js + echo "export const borogove = exports.borogove;" >> npm/borogove-browser.js -npm/snikket.js: +npm/borogove.js: haxe nodejs.hxml - sed -i 's/import { snikket }/import { snikket as enums }/' npm/snikket.d.ts - sed -i 's/snikket\.UiState/enums.UiState/g' npm/snikket.d.ts - sed -i 's/snikket\.MessageStatus/enums.MessageStatus/g' npm/snikket.d.ts - sed -i 's/snikket\.MessageDirection/enums.MessageDirection/g' npm/snikket.d.ts - sed -i 's/snikket\.MessageType/enums.MessageType/g' npm/snikket.d.ts - sed -i 's/snikket\.UserState/enums.UserState/g' npm/snikket.d.ts - sed -i 's/snikket\.ChatMessageEvent/enums.ChatMessageEvent/g' npm/snikket.d.ts - sed -i 's/snikket\.ReactionUpdateKind/enums.ReactionUpdateKind/g' npm/snikket.d.ts - sed -i 's/snikket\.jingle\.CallStatus/enums.jingle.CallStatus/g' npm/snikket.d.ts - sed -i 's/snikket\.EncryptionMode/enums.EncryptionMode/g' npm/snikket.d.ts - sed -i 's/snikket\.EncryptionStatus/enums.EncryptionStatus/g' npm/snikket.d.ts - sed -i '1iimport { createRequire } from "module";' npm/snikket.js - sed -i '1iglobal.require = createRequire(import.meta.url);' npm/snikket.js - sed -i '1ivar exports = {};' npm/snikket.js - echo "export const snikket = exports.snikket;" >> npm/snikket.js + sed -i 's/import { borogove }/import { borogove as enums }/' npm/borogove.d.ts + sed -i 's/borogove\.UiState/enums.UiState/g' npm/borogove.d.ts + sed -i 's/borogove\.MessageStatus/enums.MessageStatus/g' npm/borogove.d.ts + sed -i 's/borogove\.MessageDirection/enums.MessageDirection/g' npm/borogove.d.ts + sed -i 's/borogove\.MessageType/enums.MessageType/g' npm/borogove.d.ts + sed -i 's/borogove\.UserState/enums.UserState/g' npm/borogove.d.ts + sed -i 's/borogove\.ChatMessageEvent/enums.ChatMessageEvent/g' npm/borogove.d.ts + sed -i 's/borogove\.ReactionUpdateKind/enums.ReactionUpdateKind/g' npm/borogove.d.ts + sed -i 's/borogove\.calls\.CallStatus/enums.calls.CallStatus/g' npm/borogove.d.ts + sed -i 's/borogove\.EncryptionMode/enums.EncryptionMode/g' npm/borogove.d.ts + sed -i 's/borogove\.EncryptionStatus/enums.EncryptionStatus/g' npm/borogove.d.ts + sed -i '1iimport { createRequire } from "module";' npm/borogove.js + sed -i '1iglobal.require = createRequire(import.meta.url);' npm/borogove.js + sed -i '1ivar exports = {};' npm/borogove.js + echo "export const borogove = exports.borogove;" >> npm/borogove.js -npm: npm/snikket-browser.js npm/snikket.js snikket/persistence/IDB.js snikket/persistence/MediaStoreCache.js snikket/persistence/sqlite-worker1.mjs - cp snikket/persistence/IDB.js npm - cp snikket/persistence/MediaStoreCache.js npm - cp snikket/persistence/sqlite-worker1.mjs npm +npm: npm/borogove-browser.js npm/borogove.js borogove/persistence/IDB.js borogove/persistence/MediaStoreCache.js borogove/persistence/sqlite-worker1.mjs + cp borogove/persistence/IDB.js npm + cp borogove/persistence/MediaStoreCache.js npm + cp borogove/persistence/sqlite-worker1.mjs npm cd npm && npx tsc --esModuleInterop --lib esnext,dom --target esnext --preserveConstEnums -d index.ts - sed -i '1iimport { snikket as enums } from "./snikket-enums.js";' npm/index.js + sed -i '1iimport { borogove as enums } from "./borogove-enums.js";' npm/index.js cpp/output.dso: haxe cpp.hxml -libsnikket.so: cpp/output.dso - cp cpp/output.dso libsnikket.so +libborogove.so: cpp/output.dso + cp cpp/output.dso libborogove.so clean: - rm -f npm/browser.js npm/index.js npm/snikket.js npm/snikket-enums.js - rm -f npm/index.d.ts npm/snikket.d.ts npm/snikket-enums.d.ts npm/snikket-enums.ts + rm -f npm/browser.js npm/index.js npm/borogove.js npm/borogove-enums.js + rm -f npm/index.d.ts npm/borogove.d.ts npm/borogove-enums.d.ts npm/borogove-enums.ts diff --git a/README.md b/README.md index a8bcc5b..6c981c7 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -# Snikket SDK +# Borogove -https://github.com/snikket-im/snikket-sdk +https://borogove.dev Working towards simplicity in developing Snikket-compatible apps. @@ -30,7 +30,7 @@ Also some typings are generated which include documenation comments. # C -libsnikket.so and cpp/snikket.h, the latter has documentation comments +libborogove.so and cpp/borogove.h, the latter has documentation comments ## Alpine Linux @@ -38,4 +38,4 @@ See snikket-sdk build recipe: https://pkgs.alpinelinux.org/package/edge/testing/ # Swift -libsnikket.so and cpp/snikket.h are wrapped by cpp/Snikket.swift +libborogove.so and cpp/borogove.h are wrapped by cpp/Borogove.swift diff --git a/snikket/AttachmentSource.cpp.hx b/borogove/AttachmentSource.cpp.hx similarity index 94% rename from snikket/AttachmentSource.cpp.hx rename to borogove/AttachmentSource.cpp.hx index 168a484..4f4e5c3 100644 --- a/snikket/AttachmentSource.cpp.hx +++ b/borogove/AttachmentSource.cpp.hx @@ -1,4 +1,4 @@ -package snikket; +package borogove; #if cpp import HaxeCBridge; @@ -22,7 +22,7 @@ class AttachmentSource { this.type = mime; } - @:allow(snikket) + @:allow(borogove) private inline function tinkSource() { return tink.io.Source.ofInput(this.name, sys.io.File.read(path)); } diff --git a/snikket/AttachmentSource.js.hx b/borogove/AttachmentSource.js.hx similarity index 89% rename from snikket/AttachmentSource.js.hx rename to borogove/AttachmentSource.js.hx index 3842799..cd7754d 100644 --- a/snikket/AttachmentSource.js.hx +++ b/borogove/AttachmentSource.js.hx @@ -1,4 +1,4 @@ -package snikket; +package borogove; @:forward abstract AttachmentSource(js.html.File) { diff --git a/snikket/Autolink.hx b/borogove/Autolink.hx similarity index 99% rename from snikket/Autolink.hx rename to borogove/Autolink.hx index a277dcf..2f7b985 100644 --- a/snikket/Autolink.hx +++ b/borogove/Autolink.hx @@ -20,9 +20,9 @@ * * */ -package snikket; +package borogove; -import snikket.Stanza; +import borogove.Stanza; using Lambda; class Autolink { diff --git a/snikket/Caps.hx b/borogove/Caps.hx similarity index 97% rename from snikket/Caps.hx rename to borogove/Caps.hx index 234cb1f..ad79b12 100644 --- a/snikket/Caps.hx +++ b/borogove/Caps.hx @@ -1,11 +1,11 @@ -package snikket; +package borogove; import haxe.crypto.Base64; import haxe.io.Bytes; import haxe.io.BytesData; using Lambda; -import snikket.Hash; +import borogove.Hash; @:expose class Caps { @@ -15,7 +15,7 @@ class Caps { private var _ver : Null<Hash> = null; // TODO: data forms - @:allow(snikket) + @:allow(borogove) private static function withIdentity(caps:KeyValueIterator<String, Null<Caps>>, category:Null<String>, type:Null<String>):Array<String> { final result = []; for (cap in caps) { @@ -30,7 +30,7 @@ class Caps { return result; } - @:allow(snikket) + @:allow(borogove) private static function withFeature(caps:KeyValueIterator<String, Null<Caps>>, feature:String):Array<String> { final result = []; for (cap in caps) { diff --git a/snikket/Chat.hx b/borogove/Chat.hx similarity index 98% rename from snikket/Chat.hx rename to borogove/Chat.hx index 0048613..8828e79 100644 --- a/snikket/Chat.hx +++ b/borogove/Chat.hx @@ -1,23 +1,23 @@ -package snikket; +package borogove; import haxe.DynamicAccess; import haxe.io.Bytes; import haxe.io.BytesData; import thenshim.Promise; -import snikket.Chat; -import snikket.ChatMessage; -import snikket.Color; -import snikket.GenericStream; -import snikket.ID; -import snikket.Message; -import snikket.MessageSync; -import snikket.Reaction; +import borogove.Chat; +import borogove.ChatMessage; +import borogove.Color; +import borogove.GenericStream; +import borogove.ID; +import borogove.Message; +import borogove.MessageSync; +import borogove.Reaction; #if !NO_JINGLE -import snikket.jingle.PeerConnection; -import snikket.jingle.Session; +import borogove.calls.PeerConnection; +import borogove.calls.Session; #end -import snikket.queries.DiscoInfoGet; -import snikket.queries.MAMQuery; +import borogove.queries.DiscoInfoGet; +import borogove.queries.MAMQuery; using Lambda; using StringTools; @@ -57,9 +57,9 @@ abstract class Chat { private var client:Client; private var stream:GenericStream; private var persistence:Persistence; - @:allow(snikket) + @:allow(borogove) private var avatarSha1:Null<BytesData> = null; - @:allow(snikket) + @:allow(borogove) private var presence:Map<String, Presence> = []; private var trusted:Bool = false; /** @@ -67,23 +67,23 @@ abstract class Chat { **/ public var chatId(default, null):String; #if !NO_JINGLE - @:allow(snikket) - private var jingleSessions: Map<String, snikket.jingle.Session> = []; + @:allow(borogove) + private var jingleSessions: Map<String, Session> = []; #end - @:allow(snikket) + @:allow(borogove) private var displayName:String; /** Current state of this chat **/ - @:allow(snikket) + @:allow(borogove) public var uiState(default, null): UiState = Open; public var isBlocked(default, null): Bool = false; - @:allow(snikket) + @:allow(borogove) private var extensions: Stanza; private var _unreadCount = 0; private var lastMessage: Null<ChatMessage>; private var readUpToId: Null<String>; - @:allow(snikket) + @:allow(borogove) private var readUpToBy: Null<String>; private var isTyping = false; private var typingThread: Null<String> = null; @@ -94,10 +94,10 @@ abstract class Chat { private var _encryptionMode: EncryptionMode = Unencrypted; - @:allow(snikket) + @:allow(borogove) private var omemoContactDeviceIDs: Null<Array<Int>> = null; - @:allow(snikket) + @:allow(borogove) private function new(client:Client, stream:GenericStream, persistence:Persistence, chatId:String, uiState = Open, isBlocked = false, extensions: Null<Stanza> = null, readUpToId: Null<String> = null, readUpToBy: Null<String> = null, omemoContactDeviceIDs: Array<Int> = null) { this.client = client; this.stream = stream; @@ -112,7 +112,7 @@ abstract class Chat { this.omemoContactDeviceIDs = omemoContactDeviceIDs; } - @:allow(snikket) + @:allow(borogove) abstract private function prepareIncomingMessage(message:ChatMessageBuilder, stanza:Stanza):ChatMessageBuilder; /** @@ -363,7 +363,7 @@ abstract class Chat { } } - @:allow(snikket) + @:allow(borogove) private function setNotificationsInternal(filtered: Bool, mention: Bool, reply: Bool) { if (filtered) { notificationSettings = { mention: mention, reply: reply }; @@ -415,7 +415,7 @@ abstract class Chat { return lastMessage?.timestamp; } - @:allow(snikket) + @:allow(borogove) private function updateFromBookmark(item: Stanza) { final conf = item.getChild("conference", "urn:xmpp:bookmarks:1"); final fn = conf.attr.get("name"); @@ -424,7 +424,7 @@ abstract class Chat { extensions = conf.getChild("extensions") ?? new Stanza("extensions", { xmlns: "urn:xmpp:bookmarks:1" }); } - @:allow(snikket) + @:allow(borogove) private function updateFromRoster(item: { fn: Null<String>, subscription: String }) { setTrusted(item.subscription == "both" || item.subscription == "from"); if (item.fn != null && item.fn != "") displayName = item.fn; @@ -459,7 +459,7 @@ abstract class Chat { return _unreadCount; } - @:allow(snikket) + @:allow(borogove) private function setUnreadCount(count:Int) { _unreadCount = count; } @@ -478,7 +478,7 @@ abstract class Chat { } } - @:allow(snikket) + @:allow(borogove) private function setLastMessage(message:Null<ChatMessage>) { lastMessage = message; } @@ -507,12 +507,12 @@ abstract class Chat { return this.displayName; } - @:allow(snikket) + @:allow(borogove) private function setPresence(resource:String, presence:Presence) { this.presence.set(resource, presence); } - @:allow(snikket) + @:allow(borogove) private function setCaps(resource:String, caps:Caps) { final presence = presence.get(resource); if (presence != null) { @@ -523,12 +523,12 @@ abstract class Chat { } } - @:allow(snikket) + @:allow(borogove) private function removePresence(resource:String) { presence.remove(resource); } - @:allow(snikket) + @:allow(borogove) private function getCaps():KeyValueIterator<String, Caps> { final iter = presence.keyValueIterator(); return { @@ -540,12 +540,12 @@ abstract class Chat { }; } - @:allow(snikket) + @:allow(borogove) private function getResourceCaps(resource:String):Caps { return presence[resource]?.caps ?? new Caps("", [], []); } - @:allow(snikket) + @:allow(borogove) private function setAvatarSha1(sha1: BytesData) { this.avatarSha1 = sha1; } @@ -561,7 +561,7 @@ abstract class Chat { return this.trusted; } - @:allow(snikket) + @:allow(borogove) private function livePresence() { return true; } @@ -674,7 +674,7 @@ abstract class Chat { } } - @:allow(snikket) + @:allow(borogove) private function markReadUpToId(upTo: String, upToBy: String, ?callback: ()->Void) { if (upTo == null) return; if (readUpTo() == upTo) return; @@ -760,7 +760,7 @@ abstract class Chat { @:build(HaxeSwiftBridge.expose()) #end class DirectChat extends Chat { - @:allow(snikket) + @:allow(borogove) private function new(client:Client, stream:GenericStream, persistence:Persistence, chatId:String, uiState = Open, isBlocked = false, extensions: Null<Stanza> = null, readUpToId: Null<String> = null, readUpToBy: Null<String> = null, omemoContactDeviceIDs: Array<Int> = null) { super(client, stream, persistence, chatId, uiState, isBlocked, extensions, readUpToId, readUpToBy, omemoContactDeviceIDs); } @@ -830,7 +830,7 @@ class DirectChat extends Chat { return persistence.getMessagesAround(client.accountId(), chatId, aroundId, aroundTime); } - @:allow(snikket) + @:allow(borogove) private function prepareIncomingMessage(message:ChatMessageBuilder, stanza:Stanza) { message.syncPoint = !syncing(); return message; @@ -1026,14 +1026,14 @@ class DirectChat extends Chat { @:build(HaxeSwiftBridge.expose()) #end class Channel extends Chat { - @:allow(snikket) + @:allow(borogove) private var disco: Caps = new Caps("", [], ["http://jabber.org/protocol/muc"]); private var inSync = true; private var sync = null; private var forceLive = false; private var _nickInUse = null; - @:allow(snikket) + @:allow(borogove) private function new(client:Client, stream:GenericStream, persistence:Persistence, chatId:String, uiState = Open, isBlocked = false, extensions = null, readUpToId = null, readUpToBy = null, ?disco: Caps) { super(client, stream, persistence, chatId, uiState, isBlocked, extensions, readUpToId, readUpToBy); if (disco != null) { @@ -1045,7 +1045,7 @@ class Channel extends Chat { } } - @:allow(snikket) + @:allow(borogove) private function selfPing(refresh: Bool) { if (uiState == Closed){ client.sendPresence( @@ -1083,7 +1083,7 @@ class Channel extends Chat { }); } - @:allow(snikket) + @:allow(borogove) private function join() { presence = []; // About to ask for a fresh set _nickInUse = null; @@ -1114,7 +1114,7 @@ class Channel extends Chat { persistence.lastId(client.accountId(), chatId).then(doSync); } - @:allow(snikket) + @:allow(borogove) override private function getCaps():KeyValueIterator<String, Caps> { return { hasNext: () -> false, @@ -1251,7 +1251,7 @@ class Channel extends Chat { return disco.features.contains("muc_membersonly"); } - @:allow(snikket) + @:allow(borogove) private function refreshDisco(?callback: ()->Void) { final discoGet = new DiscoInfoGet(chatId); discoGet.onFinished(() -> { @@ -1273,7 +1273,7 @@ class Channel extends Chat { return getParticipantDetails(lastMessage.senderId).displayName + ": " + super.preview(); } - @:allow(snikket) + @:allow(borogove) override private function livePresence() { if (forceLive) return true; @@ -1365,7 +1365,7 @@ class Channel extends Chat { return persistence.getMessagesAround(client.accountId(), chatId, aroundId, aroundTime); } - @:allow(snikket) + @:allow(borogove) private function prepareIncomingMessage(message:ChatMessageBuilder, stanza:Stanza) { message.syncPoint = !syncing(); if (message.type == MessageChat) message.type = MessageChannelPrivate; @@ -1586,7 +1586,7 @@ class AvailableChat { A human-readable note associated with this search result **/ public final note: String; - @:allow(snikket) + @:allow(borogove) private final caps: Caps; /** @@ -1596,7 +1596,7 @@ class AvailableChat { return caps.isChannel(chatId); } - @:allow(snikket) + @:allow(borogove) private function new(chatId: String, displayName: Null<String>, note: String, caps: Caps) { this.chatId = chatId; this.displayName = displayName; diff --git a/snikket/ChatMessage.hx b/borogove/ChatMessage.hx similarity index 96% rename from snikket/ChatMessage.hx rename to borogove/ChatMessage.hx index c638bc9..5a14895 100644 --- a/snikket/ChatMessage.hx +++ b/borogove/ChatMessage.hx @@ -1,4 +1,4 @@ -package snikket; +package borogove; import datetime.DateTime; import haxe.Exception; @@ -13,15 +13,15 @@ using StringTools; import HaxeCBridge; #end -import snikket.Hash; -import snikket.JID; -import snikket.Identicon; -import snikket.StringUtil; -import snikket.XEP0393; -import snikket.EmojiUtil; -import snikket.Message; -import snikket.Stanza; -import snikket.Util; +import borogove.Hash; +import borogove.JID; +import borogove.Identicon; +import borogove.StringUtil; +import borogove.XEP0393; +import borogove.EmojiUtil; +import borogove.Message; +import borogove.Stanza; +import borogove.Util; @:expose @:nullSafety(StrictThreaded) @@ -37,7 +37,7 @@ class ChatAttachment { public final hashes: ReadOnlyArray<Hash>; #if cpp - @:allow(snikket) + @:allow(borogove) private #else public @@ -84,10 +84,10 @@ class ChatMessage { **/ public final type: MessageType; - @:allow(snikket) + @:allow(borogove) private final syncPoint : Bool; - @:allow(snikket) + @:allow(borogove) private final replyId : Null<String>; /** @@ -95,13 +95,13 @@ class ChatMessage { **/ public final timestamp: String; - @:allow(snikket) + @:allow(borogove) private final to: JID; - @:allow(snikket) + @:allow(borogove) private final from: JID; - @:allow(snikket) + @:allow(borogove) private final recipients: ReadOnlyArray<JID>; - @:allow(snikket) + @:allow(borogove) private final replyTo: ReadOnlyArray<JID>; /** @@ -172,10 +172,10 @@ class ChatMessage { /** Array of past versions of this message, if it has been edited **/ - @:allow(snikket) + @:allow(borogove) public final versions: ReadOnlyArray<ChatMessage>; - @:allow(snikket, test) + @:allow(borogove, test) private final payloads: ReadOnlyArray<Stanza>; /** @@ -184,10 +184,10 @@ class ChatMessage { **/ public var encryption: Null<EncryptionInfo>; - @:allow(snikket) + @:allow(borogove) private final stanza: Null<Stanza>; - @:allow(snikket) + @:allow(borogove) private function new(params: { ?localId: Null<String>, ?serverId: Null<String>, @@ -240,7 +240,7 @@ class ChatMessage { this.stanza = params.stanza; } - @:allow(snikket) + @:allow(borogove) private static function fromStanza(stanza:Stanza, localJid:JID, ?addContext: (ChatMessageBuilder, Stanza)->ChatMessageBuilder):Null<ChatMessage> { switch Message.fromStanza(stanza, localJid, addContext).parsed { case ChatMessageStanza(message): @@ -266,7 +266,7 @@ class ChatMessage { return type == MessageChannel || type == MessageChannelPrivate ? serverId : localId; } - @:allow(snikket) + @:allow(borogove) private function set_replyToMessage(m: ChatMessage) { final rtm = replyToMessage; if (rtm == null) throw "Cannot hydrate null replyToMessage"; @@ -275,13 +275,13 @@ class ChatMessage { return replyToMessage = m; } - @:allow(snikket) + @:allow(borogove) private function set_reactions(r: Map<String, Array<Reaction>>) { if (reactions != null && !{ iterator: () -> reactions.keys() }.empty()) throw "Reactions already hydrated"; return reactions = r; } - @:allow(snikket) + @:allow(borogove) private function inlineHashReferences(): Array<Hash> { final result = []; final htmlBody = payloads.find((p) -> p.attr.get("xmlns") == "http://jabber.org/protocol/xhtml-im" && p.name == "html")?.getChild("body", "http://www.w3.org/1999/xhtml"); @@ -416,7 +416,7 @@ class ChatMessage { } } - @:allow(snikket) + @:allow(borogove) private function asStanza():Stanza { if (stanza != null) return stanza; diff --git a/snikket/ChatMessageBuilder.hx b/borogove/ChatMessageBuilder.hx similarity index 95% rename from snikket/ChatMessageBuilder.hx rename to borogove/ChatMessageBuilder.hx index 5034c24..73b5a5c 100644 --- a/snikket/ChatMessageBuilder.hx +++ b/borogove/ChatMessageBuilder.hx @@ -1,4 +1,4 @@ -package snikket; +package borogove; import datetime.DateTime; import haxe.crypto.Base64; @@ -12,16 +12,16 @@ using StringTools; import HaxeCBridge; #end -import snikket.Hash; -import snikket.JID; -import snikket.Identicon; -import snikket.StringUtil; -import snikket.XEP0393; -import snikket.EmojiUtil; -import snikket.Message; -import snikket.Stanza; -import snikket.Util; -import snikket.ChatMessage; +import borogove.Hash; +import borogove.JID; +import borogove.Identicon; +import borogove.StringUtil; +import borogove.XEP0393; +import borogove.EmojiUtil; +import borogove.Message; +import borogove.Stanza; +import borogove.Util; +import borogove.ChatMessage; @:expose @:nullSafety(StrictThreaded) @@ -50,10 +50,10 @@ class ChatMessageBuilder { **/ public var type: MessageType = MessageChat; - @:allow(snikket) + @:allow(borogove) private var syncPoint: Bool = false; - @:allow(snikket) + @:allow(borogove) private var replyId: Null<String> = null; /** @@ -61,15 +61,15 @@ class ChatMessageBuilder { **/ public var timestamp: Null<String> = null; - @:allow(snikket) + @:allow(borogove) private var to: Null<JID> = null; - @:allow(snikket) + @:allow(borogove) private var from: Null<JID> = null; - @:allow(snikket) + @:allow(borogove) private var sender: Null<JID> = null; // DEPRECATED - @:allow(snikket) + @:allow(borogove) private var recipients: Array<JID> = []; - @:allow(snikket) + @:allow(borogove) private var replyTo: Array<JID> = []; public var senderId (get, default): Null<String> = null; @@ -120,7 +120,7 @@ class ChatMessageBuilder { **/ public var versions: Array<ChatMessage> = []; - @:allow(snikket, test) + @:allow(borogove, test) private var payloads: Array<Stanza> = []; /** @@ -132,7 +132,7 @@ class ChatMessageBuilder { /** WARNING: if you set this, you promise all the attributes of this builder match it **/ - @:allow(snikket) + @:allow(borogove) private var stanza: Null<Stanza> = null; /** @@ -187,7 +187,7 @@ class ChatMessageBuilder { } #end - @:allow(snikket) + @:allow(borogove) private static function makeModerated(m: ChatMessage, timestamp: String, moderatorId: Null<String>, reason: Null<String>) { final builder = new ChatMessageBuilder(); builder.localId = m.localId; @@ -218,7 +218,7 @@ class ChatMessageBuilder { return builder.build(); } - @:allow(snikket) + @:allow(borogove) private function attachSims(sims: Stanza) { var mime = sims.findText("{urn:xmpp:jingle:apps:file-transfer:5}/media-type#"); if (mime == null) mime = sims.findText("{urn:xmpp:jingle:apps:file-transfer:3}/media-type#"); diff --git a/snikket/Client.hx b/borogove/Client.hx similarity index 97% rename from snikket/Client.hx rename to borogove/Client.hx index 53c5fba..ae3b363 100644 --- a/snikket/Client.hx +++ b/borogove/Client.hx @@ -1,4 +1,4 @@ -package snikket; +package borogove; import sha.SHA256; @@ -6,36 +6,36 @@ import haxe.crypto.Base64; import haxe.io.Bytes; import haxe.io.BytesData; import thenshim.Promise; -import snikket.Caps; -import snikket.Chat; -import snikket.ChatMessage; -import snikket.Message; -import snikket.EventEmitter; -import snikket.EventHandler; -import snikket.EncryptionPolicy; +import borogove.Caps; +import borogove.Chat; +import borogove.ChatMessage; +import borogove.Message; +import borogove.EventEmitter; +import borogove.EventHandler; +import borogove.EncryptionPolicy; #if !NO_OMEMO -import snikket.OMEMO; +import borogove.OMEMO; #end -import snikket.PubsubEvent; -import snikket.Stream; +import borogove.PubsubEvent; +import borogove.Stream; #if !NO_JINGLE -import snikket.jingle.IceServer; -import snikket.jingle.PeerConnection; -import snikket.jingle.Session; +import borogove.calls.IceServer; +import borogove.calls.PeerConnection; +import borogove.calls.Session; #end -import snikket.queries.BlocklistGet; -import snikket.queries.BoB; -import snikket.queries.DiscoInfoGet; -import snikket.queries.DiscoItemsGet; -import snikket.queries.ExtDiscoGet; -import snikket.queries.GenericQuery; -import snikket.queries.HttpUploadSlot; -import snikket.queries.JabberIqGatewayGet; -import snikket.queries.PubsubGet; -import snikket.queries.Push2Disable; -import snikket.queries.Push2Enable; -import snikket.queries.RosterGet; -import snikket.queries.VcardTempGet; +import borogove.queries.BlocklistGet; +import borogove.queries.BoB; +import borogove.queries.DiscoInfoGet; +import borogove.queries.DiscoItemsGet; +import borogove.queries.ExtDiscoGet; +import borogove.queries.GenericQuery; +import borogove.queries.HttpUploadSlot; +import borogove.queries.JabberIqGatewayGet; +import borogove.queries.PubsubGet; +import borogove.queries.Push2Disable; +import borogove.queries.Push2Enable; +import borogove.queries.RosterGet; +import borogove.queries.VcardTempGet; using Lambda; using StringTools; @@ -64,12 +64,12 @@ class Client extends EventEmitter { private var chatMessageHandlers: Array<(ChatMessage, ChatMessageEvent)->Void> = []; private var syncMessageHandlers: Array<(ChatMessage)->Void> = []; private var chatStateHandlers: Array<(String,String,Null<String>,UserState)->Void> = []; - @:allow(snikket) + @:allow(borogove) private var jid(default,null):JID; private var chats: Array<Chat> = []; private var persistence: Persistence; private final caps = new Caps( - "https://sdk.snikket.org", + "https://borogove.dev", [], [ "http://jabber.org/protocol/disco#info", @@ -97,7 +97,7 @@ class Client extends EventEmitter { private var token: Null<String> = null; private var fastCount: Null<Int> = null; private final pendingCaps: Map<String, Array<(Null<Caps>)->Chat>> = []; - @:allow(snikket) + @:allow(borogove) private final encryptionPolicy:EncryptionPolicy = { allowUnencryptedOutgoing: true, allowUnencryptedIncoming: true, @@ -105,11 +105,11 @@ class Client extends EventEmitter { }; #if !NO_OMEMO - @:allow(snikket) + @:allow(borogove) private final omemo: OMEMO; #end - @:allow(snikket) + @:allow(borogove) private var inSync(default, null) = false; /** @@ -211,7 +211,7 @@ class Client extends EventEmitter { chat.jingleSessions.remove(session.sid); } } else { - final newSession = snikket.jingle.InitiatedSession.fromSessionInitiate(this, stanza); + final newSession = borogove.calls.InitiatedSession.fromSessionInitiate(this, stanza); chat.jingleSessions.set(newSession.sid, newSession); chatActivity(chat); newSession.ring(); @@ -407,7 +407,7 @@ class Client extends EventEmitter { }); } - @:allow(snikket) + @:allow(borogove) private function processLiveMessage(stanza:Stanza, fwd:Null<Stanza>, ?encryptionInfo:EncryptionInfo):Void { final from = stanza.attr.get("from") == null ? null : JID.parse(stanza.attr.get("from")); @@ -992,7 +992,7 @@ class Client extends EventEmitter { return Util.findFast(chats, (chat) -> chat.chatId == chatId); } - @:allow(snikket) + @:allow(borogove) private function moderateMessage(action: ModerationAction): Promise<Null<ChatMessage>> { return new thenshim.Promise((resolve, reject) -> persistence.getMessage(accountId(), action.chatId, action.moderateServerId, null).then((moderateMessage) -> { @@ -1009,7 +1009,7 @@ class Client extends EventEmitter { ); } - @:allow(snikket) + @:allow(borogove) private function getDirectChat(chatId:String, triggerIfNew:Bool = true):DirectChat { for (chat in chats) { if (Std.isOfType(chat, DirectChat) && chat.chatId == chatId) { @@ -1094,7 +1094,7 @@ class Client extends EventEmitter { )); } - @:allow(snikket) + @:allow(borogove) private function updatePushIfEnabled() { if (enabledPushData == null) return; enablePush(enabledPushData.push_service, enabledPushData.endpoint, enabledPushData.p256dh, enabledPushData.auth, enabledPushData.grace, enabledPushData.vapid_private_pkcs8, enabledPushData.claims); @@ -1300,7 +1300,7 @@ class Client extends EventEmitter { stream.sendStanza(new Stanza("inactive", { xmlns: "urn:xmpp:csi:0" })); } - @:allow(snikket) + @:allow(borogove) private function fetchMediaByHash(hashes: Array<Hash>, counterparts: Array<JID>) { // TODO: only for counterparts who can infer our presence // So MUCs, roster entires, anyone we've sent a message to in the past (from this client?) @@ -1329,7 +1329,7 @@ class Client extends EventEmitter { }); } - @:allow(snikket) + @:allow(borogove) private function chatActivity(chat: Chat, trigger = true) { if (chat.isBlocked) return; // Don't notify blocked chats if (chat.uiState == Closed) { @@ -1345,7 +1345,7 @@ class Client extends EventEmitter { if (trigger) this.trigger("chats/update", [chat]); } - @:allow(snikket) + @:allow(borogove) private function sortChats() { chats.sort((a, b) -> { if (a.uiState == Pinned && b.uiState != Pinned) return -1; @@ -1354,23 +1354,23 @@ class Client extends EventEmitter { }); } - @:allow(snikket) + @:allow(borogove) private function storeMessages(messages: Array<ChatMessage>): Promise<Null<Array<ChatMessage>>> { return persistence.storeMessages(accountId(), messages); } - @:allow(snikket) + @:allow(borogove) private function sendQuery(query:GenericQuery) { this.stream.sendIq(query.getQueryStanza(), query.handleResponse); } - @:allow(snikket) + @:allow(borogove) private function sendStanza(stanza:Stanza) { if (stanza.attr.get("id") == null) stanza.attr.set("id", ID.long()); stream.sendStanza(stanza); } - @:allow(snikket) + @:allow(borogove) private function sendPresence(?to: String, ?augment: (Stanza)->Stanza) { sendStanza( (augment ?? (s)->s)( @@ -1381,7 +1381,7 @@ class Client extends EventEmitter { } #if !NO_JINGLE - @:allow(snikket) + @:allow(borogove) private function getIceServers(callback: (Array<IceServer>)->Void) { final extDiscoGet = new ExtDiscoGet(jid.domain); extDiscoGet.onFinished(() -> { @@ -1410,7 +1410,7 @@ class Client extends EventEmitter { } #end - @:allow(snikket) + @:allow(borogove) private function discoverServices(target: JID, ?node: String, callback: ({ jid: JID, name: Null<String>, node: Null<String> }, Caps)->Void) { final itemsGet = new DiscoItemsGet(target.asString(), node); itemsGet.onFinished(()-> { @@ -1425,7 +1425,7 @@ class Client extends EventEmitter { sendQuery(itemsGet); } - @:allow(snikket) + @:allow(borogove) private function notifyMessageHandlers(message: ChatMessage, event: ChatMessageEvent) { final chat = getChat(message.chatId()); if (chat != null && chat.isBlocked) return; // Don't notify blocked chats @@ -1434,7 +1434,7 @@ class Client extends EventEmitter { } } - @:allow(snikket) + @:allow(borogove) private function notifySyncMessageHandlers(message: ChatMessage) { if (message == null || message.versions.length > 1) return; final chat = getChat(message.chatId()); @@ -1559,7 +1559,7 @@ class Client extends EventEmitter { } private function sync(?callback: (Bool)->Void) { - if (Std.isOfType(persistence, snikket.persistence.Dummy)) { + if (Std.isOfType(persistence, borogove.persistence.Dummy)) { callback(true); // No reason to sync if we're not storing anyway } else { persistence.lastId(accountId(), null).then((lastId) -> doSync(callback, lastId)); diff --git a/snikket/Color.hx b/borogove/Color.hx similarity index 98% rename from snikket/Color.hx rename to borogove/Color.hx index 1d498b4..3993bbc 100644 --- a/snikket/Color.hx +++ b/borogove/Color.hx @@ -1,4 +1,4 @@ -package snikket; +package borogove; import hsluv.Hsluv; import haxe.io.Bytes; diff --git a/snikket/Config.hx b/borogove/Config.hx similarity index 94% rename from snikket/Config.hx rename to borogove/Config.hx index c3a4e17..5156803 100644 --- a/snikket/Config.hx +++ b/borogove/Config.hx @@ -1,4 +1,4 @@ -package snikket; +package borogove; #if cpp import HaxeCBridge; @@ -19,7 +19,7 @@ class Config { **/ public static var relativeHashUri = false; - @:allow(snikket) + @:allow(borogove) private static var constrainedMemoryMode = false; #if cpp diff --git a/snikket/Date.hx b/borogove/Date.hx similarity index 97% rename from snikket/Date.hx rename to borogove/Date.hx index 5a31a21..cef5161 100644 --- a/snikket/Date.hx +++ b/borogove/Date.hx @@ -1,4 +1,4 @@ -package snikket; +package borogove; class Date { public static function format(d: std.Date):String { diff --git a/snikket/EmojiUtil.hx b/borogove/EmojiUtil.hx similarity index 99% rename from snikket/EmojiUtil.hx rename to borogove/EmojiUtil.hx index c7a3a86..451f376 100644 --- a/snikket/EmojiUtil.hx +++ b/borogove/EmojiUtil.hx @@ -27,7 +27,7 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -package snikket; +package borogove; class EmojiUtil { diff --git a/snikket/EncryptedMessage.hx b/borogove/EncryptedMessage.hx similarity index 88% rename from snikket/EncryptedMessage.hx rename to borogove/EncryptedMessage.hx index 978e900..450d702 100644 --- a/snikket/EncryptedMessage.hx +++ b/borogove/EncryptedMessage.hx @@ -1,4 +1,4 @@ -package snikket; +package borogove; import thenshim.Promise; diff --git a/snikket/EncryptionInfo.hx b/borogove/EncryptionInfo.hx similarity index 97% rename from snikket/EncryptionInfo.hx rename to borogove/EncryptionInfo.hx index d80ba97..1e235bc 100644 --- a/snikket/EncryptionInfo.hx +++ b/borogove/EncryptionInfo.hx @@ -1,4 +1,4 @@ -package snikket; +package borogove; enum abstract EncryptionStatus(Int) { var DecryptionSuccess; // Message was encrypted, and we decrypted it @@ -33,7 +33,7 @@ class EncryptionInfo { public function toXml():Stanza { final el = new Stanza("decryption-status", { - xmlns: "https://snikket.org/protocol/sdk", + xmlns: "https://borogove.dev/protocol/sdk", encryption: this.method, result: status == DecryptionSuccess?"success":"failure", }); diff --git a/snikket/EncryptionPolicy.hx b/borogove/EncryptionPolicy.hx similarity index 96% rename from snikket/EncryptionPolicy.hx rename to borogove/EncryptionPolicy.hx index 8f5b030..9f0a9b0 100644 --- a/snikket/EncryptionPolicy.hx +++ b/borogove/EncryptionPolicy.hx @@ -1,4 +1,4 @@ -package snikket; +package borogove; @:structInit class EncryptionPolicy { diff --git a/snikket/EventEmitter.hx b/borogove/EventEmitter.hx similarity index 94% rename from snikket/EventEmitter.hx rename to borogove/EventEmitter.hx index 653ec25..8cfce0d 100644 --- a/snikket/EventEmitter.hx +++ b/borogove/EventEmitter.hx @@ -1,13 +1,13 @@ -package snikket; +package borogove; -import snikket.EventHandler; +import borogove.EventHandler; class EventEmitter { private var eventHandlers:Map<String,Array<EventHandler>> = []; private function new() { } - @:allow(snikket) + @:allow(borogove) private function on(eventName:String, callback:EventCallback):EventHandler { var handlers = eventHandlers.get(eventName); if(handlers == null) { diff --git a/snikket/EventHandler.hx b/borogove/EventHandler.hx similarity index 97% rename from snikket/EventHandler.hx rename to borogove/EventHandler.hx index 16f69d9..352c806 100644 --- a/snikket/EventHandler.hx +++ b/borogove/EventHandler.hx @@ -1,4 +1,4 @@ -package snikket; +package borogove; enum EventResult { EventHandled; diff --git a/snikket/FSM.hx b/borogove/FSM.hx similarity index 99% rename from snikket/FSM.hx rename to borogove/FSM.hx index 2bb3cf7..8ac4574 100644 --- a/snikket/FSM.hx +++ b/borogove/FSM.hx @@ -1,4 +1,4 @@ -package snikket; +package borogove; import haxe.Exception; diff --git a/snikket/GenericStream.hx b/borogove/GenericStream.hx similarity index 95% rename from snikket/GenericStream.hx rename to borogove/GenericStream.hx index cb11984..95f9793 100644 --- a/snikket/GenericStream.hx +++ b/borogove/GenericStream.hx @@ -1,8 +1,8 @@ -package snikket; +package borogove; import haxe.io.BytesData; -import snikket.Stanza; -import snikket.EventEmitter; +import borogove.Stanza; +import borogove.EventEmitter; enum IqResult { IqResultElement(element:Stanza); diff --git a/snikket/Hash.hx b/borogove/Hash.hx similarity index 93% rename from snikket/Hash.hx rename to borogove/Hash.hx index 60f2b4c..27c6c37 100644 --- a/snikket/Hash.hx +++ b/borogove/Hash.hx @@ -1,4 +1,4 @@ -package snikket; +package borogove; import haxe.crypto.Sha1; import haxe.crypto.Sha256; @@ -7,7 +7,7 @@ import haxe.io.Bytes; import haxe.io.BytesData; using StringTools; -import snikket.Config; +import borogove.Config; #if cpp import HaxeCBridge; @@ -21,10 +21,10 @@ import HaxeCBridge; #end class Hash { public final algorithm: String; - @:allow(snikket) + @:allow(borogove) private final hash: BytesData; - @:allow(snikket) + @:allow(borogove) private function new(algorithm: String, hash: BytesData) { this.algorithm = algorithm; this.hash = hash; @@ -54,12 +54,12 @@ class Hash { return null; } - @:allow(snikket) + @:allow(borogove) private static function sha1(bytes: Bytes) { return new Hash("sha-1", Sha1.make(bytes).getData()); } - @:allow(snikket) + @:allow(borogove) private static function sha256(bytes: Bytes) { return new Hash("sha-256", Sha256.make(bytes).getData()); } @@ -72,12 +72,12 @@ class Hash { } } - @:allow(snikket) + @:allow(borogove) private function bobUri() { return "cid:" + (algorithm == "sha-1" ? "sha1" : algorithm.urlEncode()) + "+" + toHex() + "@bob.xmpp.org"; } - @:allow(snikket) + @:allow(borogove) private function serializeUri() { return "ni:///" + algorithm.urlEncode() + ";" + toBase64Url(); } diff --git a/snikket/ID.hx b/borogove/ID.hx similarity index 95% rename from snikket/ID.hx rename to borogove/ID.hx index 42d29c5..5f14454 100644 --- a/snikket/ID.hx +++ b/borogove/ID.hx @@ -1,4 +1,4 @@ -package snikket; +package borogove; import hx.strings.RandomStrings; diff --git a/snikket/Identicon.hx b/borogove/Identicon.hx similarity index 96% rename from snikket/Identicon.hx rename to borogove/Identicon.hx index 95e466b..b65a332 100644 --- a/snikket/Identicon.hx +++ b/borogove/Identicon.hx @@ -1,6 +1,6 @@ -package snikket; +package borogove; -import snikket.Color; +import borogove.Color; import haxe.crypto.Sha1; import haxe.io.Bytes; import haxe.io.BytesInput; diff --git a/snikket/JID.hx b/borogove/JID.hx similarity index 99% rename from snikket/JID.hx rename to borogove/JID.hx index f8850e0..54f32c3 100644 --- a/snikket/JID.hx +++ b/borogove/JID.hx @@ -1,4 +1,4 @@ -package snikket; +package borogove; @:expose class JID { diff --git a/snikket/JsonPrinter.hx b/borogove/JsonPrinter.hx similarity index 99% rename from snikket/JsonPrinter.hx rename to borogove/JsonPrinter.hx index 8fef1c1..83a4452 100644 --- a/snikket/JsonPrinter.hx +++ b/borogove/JsonPrinter.hx @@ -20,7 +20,7 @@ * DEALINGS IN THE SOFTWARE. */ -package snikket; +package borogove; /** An implementation of JSON printer in Haxe. diff --git a/snikket/Map.js.hx b/borogove/Map.js.hx similarity index 99% rename from snikket/Map.js.hx rename to borogove/Map.js.hx index 6f03b83..2d36b3e 100644 --- a/snikket/Map.js.hx +++ b/borogove/Map.js.hx @@ -1,4 +1,4 @@ -package snikket; +package borogove; import haxe.Constraints.IMap; import js.lib.HaxeIterator; diff --git a/snikket/Message.hx b/borogove/Message.hx similarity index 99% rename from snikket/Message.hx rename to borogove/Message.hx index 361ed38..423a071 100644 --- a/snikket/Message.hx +++ b/borogove/Message.hx @@ -1,6 +1,6 @@ -package snikket; +package borogove; -import snikket.Reaction; +import borogove.Reaction; using Lambda; using StringTools; diff --git a/snikket/MessageSync.hx b/borogove/MessageSync.hx similarity index 96% rename from snikket/MessageSync.hx rename to borogove/MessageSync.hx index 52360b5..c0951e9 100644 --- a/snikket/MessageSync.hx +++ b/borogove/MessageSync.hx @@ -1,17 +1,17 @@ -package snikket; +package borogove; import haxe.Exception; -import snikket.Client; -import snikket.Message; -import snikket.GenericStream; -import snikket.ResultSet; -import snikket.queries.MAMQuery; +import borogove.Client; +import borogove.Message; +import borogove.GenericStream; +import borogove.ResultSet; +import borogove.queries.MAMQuery; import thenshim.Promise; import thenshim.PromiseTools; #if !NO_OMEMO -import snikket.OMEMO; +import borogove.OMEMO; #end typedef MessageList = { diff --git a/snikket/ModerationAction.hx b/borogove/ModerationAction.hx similarity index 96% rename from snikket/ModerationAction.hx rename to borogove/ModerationAction.hx index 5c5e89f..18b438f 100644 --- a/snikket/ModerationAction.hx +++ b/borogove/ModerationAction.hx @@ -1,4 +1,4 @@ -package snikket; +package borogove; class ModerationAction { public final chatId: String; diff --git a/snikket/NS.hx b/borogove/NS.hx similarity index 81% rename from snikket/NS.hx rename to borogove/NS.hx index 1dbb977..147185b 100644 --- a/snikket/NS.hx +++ b/borogove/NS.hx @@ -1,4 +1,4 @@ -package snikket; +package borogove; class NS { static public final OMEMO = "eu.siacs.conversations.axolotl"; diff --git a/snikket/Notification.hx b/borogove/Notification.hx similarity index 93% rename from snikket/Notification.hx rename to borogove/Notification.hx index 6c030bb..d0dc567 100644 --- a/snikket/Notification.hx +++ b/borogove/Notification.hx @@ -1,8 +1,8 @@ -package snikket; +package borogove; -import snikket.ChatMessage; -import snikket.JID; -import snikket.Message; +import borogove.ChatMessage; +import borogove.JID; +import borogove.Message; #if cpp import HaxeCBridge; @@ -27,7 +27,7 @@ class Notification { public final lang: Null<String>; public final timestamp: Null<String>; - @:allow(snikket) + @:allow(borogove) private function new(title: String, body: String, accountId: String, chatId: String, senderId: String, messageId: String, type: MessageType, callStatus: Null<String>, callSid: Null<String>, imageUri: Null<String>, lang: Null<String>, timestamp: Null<String>) { this.title = title; this.body = body; @@ -43,7 +43,7 @@ class Notification { this.timestamp = timestamp; } - @:allow(snikket) + @:allow(borogove) private static function fromChatMessage(m: ChatMessage) { var imageUri = null; final attachment = m.attachments[0]; @@ -68,7 +68,7 @@ class Notification { // Sometimes a stanza has not much in it, so make something generic // Assume it is an incoming message of some kind - @:allow(snikket) + @:allow(borogove) private static function fromThinStanza(stanza: Stanza) { return new Notification( "New Message", diff --git a/snikket/OMEMO.hx b/borogove/OMEMO.hx similarity index 99% rename from snikket/OMEMO.hx rename to borogove/OMEMO.hx index e4a7d55..588b653 100644 --- a/snikket/OMEMO.hx +++ b/borogove/OMEMO.hx @@ -1,11 +1,11 @@ -package snikket; +package borogove; import haxe.io.BytesBuffer; -import snikket.EncryptedMessage; -import snikket.Message; +import borogove.EncryptedMessage; +import borogove.Message; -import snikket.queries.PubsubGet; -import snikket.queries.PubsubPublish; +import borogove.queries.PubsubGet; +import borogove.queries.PubsubPublish; import haxe.crypto.Base64; import haxe.io.Bytes; @@ -14,7 +14,7 @@ import haxe.io.BytesData; import thenshim.Promise; import thenshim.PromiseTools; -using snikket.SignalProtocol; +using borogove.SignalProtocol; #if js import js.Browser; diff --git a/snikket/Participant.hx b/borogove/Participant.hx similarity index 93% rename from snikket/Participant.hx rename to borogove/Participant.hx index 3e7cb86..a68ff86 100644 --- a/snikket/Participant.hx +++ b/borogove/Participant.hx @@ -1,4 +1,4 @@ -package snikket; +package borogove; #if cpp import HaxeCBridge; @@ -16,7 +16,7 @@ class Participant { public final placeholderUri: String; public final isSelf: Bool; - @:allow(snikket) + @:allow(borogove) private function new(displayName: String, photoUri: Null<String>, placeholderUri: String, isSelf: Bool) { this.displayName = displayName; this.photoUri = photoUri; diff --git a/snikket/PeerConnection.js.hx b/borogove/PeerConnection.js.hx similarity index 100% rename from snikket/PeerConnection.js.hx rename to borogove/PeerConnection.js.hx diff --git a/snikket/Persistence.hx b/borogove/Persistence.hx similarity index 96% rename from snikket/Persistence.hx rename to borogove/Persistence.hx index 6def8fa..205da7c 100644 --- a/snikket/Persistence.hx +++ b/borogove/Persistence.hx @@ -1,14 +1,14 @@ -package snikket; +package borogove; import haxe.io.BytesData; -import snikket.Chat; -import snikket.ChatMessage; -import snikket.Message; +import borogove.Chat; +import borogove.ChatMessage; +import borogove.Message; import thenshim.Promise; #if !NO_OMEMO -import snikket.OMEMO; -using snikket.SignalProtocol; +import borogove.OMEMO; +using borogove.SignalProtocol; #end #if cpp diff --git a/snikket/Presence.hx b/borogove/Presence.hx similarity index 92% rename from snikket/Presence.hx rename to borogove/Presence.hx index d516124..cb45e4a 100644 --- a/snikket/Presence.hx +++ b/borogove/Presence.hx @@ -1,4 +1,4 @@ -package snikket; +package borogove; @:expose class Presence { diff --git a/snikket/PubsubEvent.hx b/borogove/PubsubEvent.hx similarity index 98% rename from snikket/PubsubEvent.hx rename to borogove/PubsubEvent.hx index b5de0d3..0bb09be 100644 --- a/snikket/PubsubEvent.hx +++ b/borogove/PubsubEvent.hx @@ -1,4 +1,4 @@ -package snikket; +package borogove; class PubsubEvent { private var from:Null<String>; diff --git a/snikket/Push.hx b/borogove/Push.hx similarity index 87% rename from snikket/Push.hx rename to borogove/Push.hx index f416100..fcacbe6 100644 --- a/snikket/Push.hx +++ b/borogove/Push.hx @@ -1,10 +1,10 @@ -package snikket; +package borogove; -import snikket.ChatMessage; -import snikket.JID; -import snikket.Notification; -import snikket.Persistence; -import snikket.Stanza; +import borogove.ChatMessage; +import borogove.JID; +import borogove.Notification; +import borogove.Persistence; +import borogove.Stanza; #if cpp import HaxeCBridge; diff --git a/snikket/Reaction.hx b/borogove/Reaction.hx similarity index 94% rename from snikket/Reaction.hx rename to borogove/Reaction.hx index 08bc70b..d8bc0e9 100644 --- a/snikket/Reaction.hx +++ b/borogove/Reaction.hx @@ -1,4 +1,4 @@ -package snikket; +package borogove; using StringTools; @@ -19,7 +19,7 @@ class Reaction { public final key: String; public final envelopeId: Null<String>; - @:allow(snikket) + @:allow(borogove) public function new(senderId: String, timestamp: String, text: String, envelopeId: Null<String> = null, key: Null<String> = null) { this.senderId = senderId; this.timestamp = timestamp; @@ -37,7 +37,7 @@ class Reaction { return new Reaction("", "", unicode); } - @:allow(snikket) + @:allow(borogove) private function render<T>(forText: (String) -> T, forImage: (String, String) -> T) { return forText(text + "\u{fe0f}"); } @@ -51,7 +51,7 @@ class Reaction { class CustomEmojiReaction extends Reaction { public final uri: String; - @:allow(snikket) + @:allow(borogove) private function new(senderId: String, timestamp: String, text: String, uri: String, envelopeId: Null<String> = null) { super(senderId, timestamp, text, envelopeId, uri); this.uri = uri; @@ -67,7 +67,7 @@ class CustomEmojiReaction extends Reaction { return new CustomEmojiReaction("", "", text, uri); } - @:allow(snikket) + @:allow(borogove) override public function render<T>(forText: (String) -> T, forImage: (String, String) -> T) { final hash = Hash.fromUri(uri); return forImage(text, hash?.toUri() ?? uri); diff --git a/snikket/ReactionUpdate.hx b/borogove/ReactionUpdate.hx similarity index 97% rename from snikket/ReactionUpdate.hx rename to borogove/ReactionUpdate.hx index becf330..292b57b 100644 --- a/snikket/ReactionUpdate.hx +++ b/borogove/ReactionUpdate.hx @@ -1,6 +1,6 @@ -package snikket; +package borogove; -import snikket.Reaction; +import borogove.Reaction; using Lambda; enum abstract ReactionUpdateKind(Int) { @@ -63,7 +63,7 @@ class ReactionUpdate { throw "Unknown kind of reaction update"; } - @:allow(snikket) + @:allow(borogove) private function inlineHashReferences() { final hashes = []; for (r in reactions) { @@ -78,7 +78,7 @@ class ReactionUpdate { // Note that using this version means you don't get any fallbacks! // It also won't update any custom emoji reactions at all - @:allow(snikket) + @:allow(borogove) private function asStanza():Stanza { if (kind != EmojiReactions) throw "Cannot make a reaction XEP stanza for this kind"; diff --git a/snikket/ResultSet.hx b/borogove/ResultSet.hx similarity index 97% rename from snikket/ResultSet.hx rename to borogove/ResultSet.hx index 5a95481..8f9d0c2 100644 --- a/snikket/ResultSet.hx +++ b/borogove/ResultSet.hx @@ -1,4 +1,4 @@ -package snikket; +package borogove; typedef ResultSetPageRequest = { var ?before : String; // Set to request the page before a given id (or empty string to request the very last page) diff --git a/snikket/SignalProtocol.hx b/borogove/SignalProtocol.hx similarity index 99% rename from snikket/SignalProtocol.hx rename to borogove/SignalProtocol.hx index 3ecea69..fe91b23 100644 --- a/snikket/SignalProtocol.hx +++ b/borogove/SignalProtocol.hx @@ -1,4 +1,4 @@ -package snikket; +package borogove; import haxe.io.BytesData; diff --git a/snikket/Stanza.hx b/borogove/Stanza.hx similarity index 98% rename from snikket/Stanza.hx rename to borogove/Stanza.hx index d480965..91e68be 100644 --- a/snikket/Stanza.hx +++ b/borogove/Stanza.hx @@ -1,4 +1,4 @@ -package snikket; +package borogove; import haxe.DynamicAccess; import haxe.Exception; @@ -126,13 +126,13 @@ class Stanza implements NodeInterface { public static function parse(s:String):Stanza { #if cpp - return snikket.streams.XmppStropheStream.parseStanza(s); + return borogove.streams.XmppStropheStream.parseStanza(s); #else return fromXml(Xml.parse(s)); #end } - @:allow(snikket) + @:allow(borogove) @:allow(test) private static function fromXml(el:Xml):Stanza { if(el.nodeType == XmlType.Document) { @@ -186,7 +186,7 @@ class Stanza implements NodeInterface { return this; } - @:allow(snikket) + @:allow(borogove) private function addChildren(children:Iterable<Stanza>) { for (child in children) { addChild(child); @@ -194,7 +194,7 @@ class Stanza implements NodeInterface { return this; } - @:allow(snikket) + @:allow(borogove) private function addChildNodes(children:Iterable<Node>) { for (child in children) { addDirectChild(child); diff --git a/borogove/Stream.cpp.hx b/borogove/Stream.cpp.hx new file mode 100644 index 0000000..6b1c32d --- /dev/null +++ b/borogove/Stream.cpp.hx @@ -0,0 +1,5 @@ +package borogove; + +import borogove.streams.XmppStropheStream; + +typedef Stream = borogove.streams.XmppStropheStream; diff --git a/borogove/Stream.js.hx b/borogove/Stream.js.hx new file mode 100644 index 0000000..24dbdba --- /dev/null +++ b/borogove/Stream.js.hx @@ -0,0 +1,5 @@ +package borogove; + +import borogove.streams.XmppJsStream; + +typedef Stream = borogove.streams.XmppJsStream; diff --git a/snikket/StringUtil.hx b/borogove/StringUtil.hx similarity index 98% rename from snikket/StringUtil.hx rename to borogove/StringUtil.hx index 030c751..7de8d30 100644 --- a/snikket/StringUtil.hx +++ b/borogove/StringUtil.hx @@ -1,4 +1,4 @@ -package snikket; +package borogove; class StringUtil { @:access(StringTools) diff --git a/snikket/Util.hx b/borogove/Util.hx similarity index 99% rename from snikket/Util.hx rename to borogove/Util.hx index 7227e9c..6d87e08 100644 --- a/snikket/Util.hx +++ b/borogove/Util.hx @@ -1,4 +1,4 @@ -package snikket; +package borogove; function setupTrace() { #if js diff --git a/snikket/Version.hx b/borogove/Version.hx similarity index 72% rename from snikket/Version.hx rename to borogove/Version.hx index c01a954..a1b58b6 100644 --- a/snikket/Version.hx +++ b/borogove/Version.hx @@ -1,6 +1,6 @@ -package snikket; +package borogove; -import snikket.Util; +import borogove.Util; @:expose class Version { diff --git a/snikket/XEP0393.hx b/borogove/XEP0393.hx similarity index 98% rename from snikket/XEP0393.hx rename to borogove/XEP0393.hx index 9972a06..e8fc076 100644 --- a/snikket/XEP0393.hx +++ b/borogove/XEP0393.hx @@ -1,7 +1,7 @@ -package snikket; +package borogove; -import snikket.Autolink; -import snikket.Stanza; +import borogove.Autolink; +import borogove.Stanza; class XEP0393 { public static function parse(styled: UnicodeString) { diff --git a/snikket/jingle/Group.hx b/borogove/calls/Group.hx similarity index 97% rename from snikket/jingle/Group.hx rename to borogove/calls/Group.hx index 2f940fa..54920e0 100644 --- a/snikket/jingle/Group.hx +++ b/borogove/calls/Group.hx @@ -1,4 +1,4 @@ -package snikket.jingle; +package borogove.calls; class Group { public var semantics (default, null): String; diff --git a/snikket/jingle/IceServer.hx b/borogove/calls/IceServer.hx similarity index 89% rename from snikket/jingle/IceServer.hx rename to borogove/calls/IceServer.hx index dc789e4..028f646 100644 --- a/snikket/jingle/IceServer.hx +++ b/borogove/calls/IceServer.hx @@ -1,4 +1,4 @@ -package snikket.jingle; +package borogove.calls; // from js.html.rtc but cross platform typedef IceServer = { diff --git a/snikket/jingle/PeerConnection.cpp.hx b/borogove/calls/PeerConnection.cpp.hx similarity index 99% rename from snikket/jingle/PeerConnection.cpp.hx rename to borogove/calls/PeerConnection.cpp.hx index 14d8866..a5168b7 100644 --- a/snikket/jingle/PeerConnection.cpp.hx +++ b/borogove/calls/PeerConnection.cpp.hx @@ -1,7 +1,7 @@ -package snikket.jingle; +package borogove.calls; import thenshim.Promise; -import snikket.ID; +import borogove.ID; import HaxeCBridge; using Lambda; @@ -240,7 +240,7 @@ class DTMFSender { private var timer: haxe.Timer; private final tones: Array<cpp.UInt8> = []; - @:allow(snikket) + @:allow(borogove) private function new(track: MediaStreamTrack) { this.track = track; track.onAudioLoop(() -> { @@ -319,9 +319,9 @@ class DTMFSender { @:build(HaxeCBridge.expose()) @:build(HaxeSwiftBridge.expose()) class AudioFormat { - @:allow(snikket) + @:allow(borogove) private final format: String; - @:allow(snikket) + @:allow(borogove) private final payloadType: cpp.UInt8; public final clockRate: Int; public final channels: Int; @@ -353,20 +353,20 @@ class MediaStreamTrack { private var bufferSizeInSeconds = 0.0; private var mutex = new sys.thread.Mutex(); - @:allow(snikket) + @:allow(borogove) private var media(get, default): StdOptional<DescriptionMedia>; - @:allow(snikket) + @:allow(borogove) private var track(default, set): SharedPtr<Track>; - @:allow(snikket) + @:allow(borogove) private static function fromTrack(t: SharedPtr<Track>): MediaStreamTrack { final media = new MediaStreamTrack(); media.track = t; return media; } - @:allow(snikket) + @:allow(borogove) private function new() { eventLoop = sys.thread.Thread.createWithEventLoop(() -> { while(alive) { sys.thread.Thread.processEvents(); sys.thread.Thread.current().events.wait(); } @@ -606,12 +606,12 @@ class MediaStreamTrack { }); } - @:allow(snikket) + @:allow(borogove) private function onAudioLoop(callback: ()->Void) { eventLoop.run(callback); } - @:allow(snikket) + @:allow(borogove) private function write(payload: Array<cpp.UInt8>, payloadType: cpp.UInt8, clockRate: Int) { if (untyped __cpp__("!track") || !track.ref.isOpen()) return; @@ -622,7 +622,7 @@ class MediaStreamTrack { // some payloads all occur at the same timestamp, so this is up to the caller } - @:allow(snikket) + @:allow(borogove) private function advanceTimestamp(samples: Int) { rtpPacketizationConfig.ref.timestamp = rtpPacketizationConfig.ref.timestamp + samples; } @@ -802,7 +802,7 @@ class PeerConnection { var pendingTracks: Array<MediaStreamTrack> = []; public function new(?configuration : Configuration, ?constraints : Dynamic) { - if (Sys.getEnv("SNIKKET_WEBRTC_DEBUG") != null) { + if (Sys.getEnv("BOROGOVE_WEBRTC_DEBUG") != null) { untyped __cpp__("rtc::InitLogger(rtc::LogLevel::Verbose);"); } mainLoop = sys.thread.Thread.current().events; diff --git a/snikket/jingle/PeerConnection.js.hx b/borogove/calls/PeerConnection.js.hx similarity index 93% rename from snikket/jingle/PeerConnection.js.hx rename to borogove/calls/PeerConnection.js.hx index dd5f3d1..77757c1 100644 --- a/snikket/jingle/PeerConnection.js.hx +++ b/borogove/calls/PeerConnection.js.hx @@ -1,4 +1,4 @@ -package snikket.jingle; +package borogove.calls; import js.html.rtc.PeerConnection; diff --git a/snikket/jingle/Session.hx b/borogove/calls/Session.hx similarity index 97% rename from snikket/jingle/Session.hx rename to borogove/calls/Session.hx index 2371c59..ed0ffd0 100644 --- a/snikket/jingle/Session.hx +++ b/borogove/calls/Session.hx @@ -1,11 +1,11 @@ -package snikket.jingle; +package borogove.calls; import thenshim.Promise; -import snikket.ChatMessage; -import snikket.Message; -import snikket.ID; -import snikket.jingle.PeerConnection; -import snikket.jingle.SessionDescription; +import borogove.ChatMessage; +import borogove.Message; +import borogove.ID; +import borogove.calls.PeerConnection; +import borogove.calls.SessionDescription; using Lambda; using thenshim.PromiseTools; @@ -28,19 +28,19 @@ enum abstract CallStatus(Int) { interface Session { public var sid (get, null): String; public var chatId (get, null): String; - @:allow(snikket) + @:allow(borogove) private function initiate(stanza: Stanza): InitiatedSession; public function accept(): Void; public function hangup(): Void; - @:allow(snikket) + @:allow(borogove) private function retract(): Void; - @:allow(snikket) + @:allow(borogove) private function terminate(): Void; - @:allow(snikket) + @:allow(borogove) private function contentAdd(stanza: Stanza): Void; - @:allow(snikket) + @:allow(borogove) private function contentAccept(stanza: Stanza): Void; - @:allow(snikket) + @:allow(borogove) private function transportInfo(stanza: Stanza): Promise<Any>; public function addMedia(streams: Array<MediaStream>): Void; public function callStatus():CallStatus; @@ -315,7 +315,7 @@ class InitiatedSession implements Session { private final initiator: Bool; private var candidatesDone: Null<()->Void> = null; - @:allow(snikket) + @:allow(borogove) private function new(client: Client, counterpart: JID, sid: String, remoteDescription: Null<SessionDescription>) { this.client = client; this.counterpart = counterpart; @@ -324,7 +324,7 @@ class InitiatedSession implements Session { this.initiator = remoteDescription == null; } - @:allow(snikket) + @:allow(borogove) private static function fromSessionInitiate(client: Client, stanza: Stanza): InitiatedSession { final jingle = stanza.getChild("jingle", "urn:xmpp:jingle:1"); final session = new InitiatedSession( @@ -345,12 +345,12 @@ class InitiatedSession implements Session { return counterpart.asBare().asString(); } - @:allow(snikket) + @:allow(borogove) private function ring() { client.trigger("call/ring", { session: this }); } - @:allow(snikket) + @:allow(borogove) private function retract() { trace("Tried to retract session in wrong state: " + sid, this); } @@ -373,13 +373,13 @@ class InitiatedSession implements Session { terminate(); } - @:allow(snikket) + @:allow(borogove) private function initiate(stanza: Stanza) { trace("Trying to initiate already initiated session: " + sid); return throw "already initiated"; } - @:allow(snikket) + @:allow(borogove) private function terminate() { if (pc == null) return; pc.close(); @@ -403,7 +403,7 @@ class InitiatedSession implements Session { }); } - @:allow(snikket) + @:allow(borogove) private function contentAdd(stanza: Stanza) { if (remoteDescription == null) throw "Got content-add before session-accept"; @@ -442,7 +442,7 @@ class InitiatedSession implements Session { }); } - @:allow(snikket) + @:allow(borogove) private function contentAccept(stanza: Stanza) { if (remoteDescription == null) throw "Got content-accept before session-accept"; // TODO: check if matches a content-add we sent? @@ -455,7 +455,7 @@ class InitiatedSession implements Session { pc.setRemoteDescription({ type: SdpType.ANSWER, sdp: remoteDescription.toSdp() }); } - @:allow(snikket) + @:allow(borogove) private function transportInfo(stanza: Stanza) { if (pc == null || remoteDescription == null) { queuedInboundTransportInfo.push(stanza); diff --git a/snikket/jingle/SessionDescription.hx b/borogove/calls/SessionDescription.hx similarity index 99% rename from snikket/jingle/SessionDescription.hx rename to borogove/calls/SessionDescription.hx index 58cdc83..5da2555 100644 --- a/snikket/jingle/SessionDescription.hx +++ b/borogove/calls/SessionDescription.hx @@ -1,4 +1,4 @@ -package snikket.jingle; +package borogove.calls; import haxe.DynamicAccess; using Lambda; diff --git a/snikket/jingle/Stream.cpp.hx b/borogove/calls/Stream.cpp.hx similarity index 100% rename from snikket/jingle/Stream.cpp.hx rename to borogove/calls/Stream.cpp.hx diff --git a/snikket/persistence/Custom.hx b/borogove/persistence/Custom.hx similarity index 98% rename from snikket/persistence/Custom.hx rename to borogove/persistence/Custom.hx index ed1f1c6..c19c5dc 100644 --- a/snikket/persistence/Custom.hx +++ b/borogove/persistence/Custom.hx @@ -1,12 +1,12 @@ -package snikket.persistence; +package borogove.persistence; #if cpp import HaxeCBridge; #end import haxe.io.BytesData; -import snikket.Caps; -import snikket.Chat; -import snikket.Message; +import borogove.Caps; +import borogove.Chat; +import borogove.Message; @:expose #if cpp @@ -190,7 +190,7 @@ class Custom implements Persistence { class Callback<T> { private final f: T->Void; - @:allow(snikket) + @:allow(borogove) private function new(f: T->Void) { this.f = f; } diff --git a/snikket/persistence/Dummy.hx b/borogove/persistence/Dummy.hx similarity index 97% rename from snikket/persistence/Dummy.hx rename to borogove/persistence/Dummy.hx index 3a36acb..48d6f8f 100644 --- a/snikket/persistence/Dummy.hx +++ b/borogove/persistence/Dummy.hx @@ -1,16 +1,16 @@ -package snikket.persistence; +package borogove.persistence; #if cpp import HaxeCBridge; #end import haxe.io.BytesData; -import snikket.Caps; -import snikket.Chat; -import snikket.Message; +import borogove.Caps; +import borogove.Chat; +import borogove.Message; import thenshim.Promise; #if !NO_OMEMO -import snikket.OMEMO; -using snikket.SignalProtocol; +import borogove.OMEMO; +using borogove.SignalProtocol; #end diff --git a/snikket/persistence/IDB.js b/borogove/persistence/IDB.js similarity index 95% rename from snikket/persistence/IDB.js rename to borogove/persistence/IDB.js index 8e95739..e1a4556 100644 --- a/snikket/persistence/IDB.js +++ b/borogove/persistence/IDB.js @@ -1,8 +1,8 @@ // This example persistence driver is written in JavaScript // so that SDK users can easily see how to write their own -import { snikket as enums } from "./snikket-enums.js"; -import { snikket } from "./snikket.js"; +import { borogove as enums } from "./borogove-enums.js"; +import { borogove } from "./borogove.js"; export default (dbname, media, tokenize, stemmer) => { if (!tokenize) tokenize = function(s) { return s.split(" "); } @@ -96,17 +96,17 @@ export default (dbname, media, tokenize, stemmer) => { function hydrateStringReaction(r, senderId, timestamp) { if (r.startsWith("ni://")){ - return new snikket.CustomEmojiReaction(senderId, timestamp, "", r); + return new borogove.CustomEmojiReaction(senderId, timestamp, "", r); } else { - return new snikket.Reaction(senderId, timestamp, r); + return new borogove.Reaction(senderId, timestamp, r); } } function hydrateObjectReaction(r) { if (r.uri) { - return new snikket.CustomEmojiReaction(r.senderId, r.timestamp, r.text, r.uri, r.envelopeId); + return new borogove.CustomEmojiReaction(r.senderId, r.timestamp, r.text, r.uri, r.envelopeId); } else { - return new snikket.Reaction(r.senderId, r.timestamp, r.text, r.envelopeId, r.key); + return new borogove.Reaction(r.senderId, r.timestamp, r.text, r.envelopeId, r.key); } } @@ -130,7 +130,7 @@ export default (dbname, media, tokenize, stemmer) => { const tx = db.transaction(["messages"], "readonly"); const store = tx.objectStore("messages"); - const message = new snikket.ChatMessageBuilder(); + const message = new borogove.ChatMessageBuilder(); message.localId = value.localId ? value.localId : null; message.serverId = value.serverId ? value.serverId : null; message.serverIdBy = value.serverIdBy ? value.serverIdBy : null; @@ -139,20 +139,20 @@ export default (dbname, media, tokenize, stemmer) => { message.direction = value.direction; message.status = value.status; message.timestamp = value.timestamp && value.timestamp.toISOString(); - message.from = value.from && snikket.JID.parse(value.from); - message.sender = value.sender && snikket.JID.parse(value.sender); + message.from = value.from && borogove.JID.parse(value.from); + message.sender = value.sender && borogove.JID.parse(value.sender); message.senderId = value.senderId; - message.recipients = value.recipients.map((r) => snikket.JID.parse(r)); - message.to = value.to ? snikket.JID.parse(value.to) : message.recipients[0]; - message.replyTo = value.replyTo.map((r) => snikket.JID.parse(r)); + message.recipients = value.recipients.map((r) => borogove.JID.parse(r)); + message.to = value.to ? borogove.JID.parse(value.to) : message.recipients[0]; + message.replyTo = value.replyTo.map((r) => borogove.JID.parse(r)); message.threadId = value.threadId; message.attachments = value.attachments; message.reactions = hydrateReactions(value.reactions, message.timestamp); message.text = value.text; message.lang = value.lang; message.type = value.type || (value.isGroupchat || value.groupchat ? enums.MessageType.Channel : enums.MessageType.Chat); - message.payloads = (value.payloads || []).map(snikket.Stanza.parse); - message.stanza = value.stanza && snikket.Stanza.parse(value.stanza); + message.payloads = (value.payloads || []).map(borogove.Stanza.parse); + message.stanza = value.stanza && borogove.Stanza.parse(value.stanza); if (!message.localId && !message.serverId) message.localId = "NO_ID"; // bad data return message.build(); } @@ -281,7 +281,7 @@ export default (dbname, media, tokenize, stemmer) => { notificationSettings: chat.notificationsFiltered() ? { mention: chat.notifyMention(), reply: chat.notifyReply() } : null, disco: chat.disco, omemoDevices: chat.omemoContactDeviceIDs, - class: chat instanceof snikket.DirectChat ? "DirectChat" : (chat instanceof snikket.Channel ? "Channel" : "Chat") + class: chat instanceof borogove.DirectChat ? "DirectChat" : (chat instanceof borogove.Channel ? "Channel" : "Chat") }); } }, @@ -291,12 +291,12 @@ export default (dbname, media, tokenize, stemmer) => { const store = tx.objectStore("chats"); const range = IDBKeyRange.bound([account], [account, []]); const result = await promisifyRequest(store.getAll(range)); - return await Promise.all(result.map(async (r) => new snikket.SerializedChat( + return await Promise.all(result.map(async (r) => new borogove.SerializedChat( r.chatId, r.trusted, r.avatarSha1, new Map(await Promise.all((r.presence instanceof Map ? [...r.presence.entries()] : Object.entries(r.presence)).map( - async ([k, p]) => [k, new snikket.Presence(p.caps && await this.getCaps(p.caps), p.mucUser && snikket.Stanza.parse(p.mucUser))] + async ([k, p]) => [k, new borogove.Presence(p.caps && await this.getCaps(p.caps), p.mucUser && borogove.Stanza.parse(p.mucUser))] ))), r.displayName, r.uiState, @@ -307,7 +307,7 @@ export default (dbname, media, tokenize, stemmer) => { r.notificationSettings === undefined ? null : r.notificationSettings != null, r.notificationSettings?.mention, r.notificationSettings?.reply, - r.disco ? new snikket.Caps(r.disco.node, r.disco.identities, r.disco.features) : null, + r.disco ? new borogove.Caps(r.disco.node, r.disco.identities, r.disco.features) : null, r.omemoDevices || [], r.class ))); @@ -426,7 +426,7 @@ export default (dbname, media, tokenize, stemmer) => { if (react.senderId === message.senderId && !previouslyAppended.includes(k)) reactions.push(react); } } - this.storeReaction(account, new snikket.ReactionUpdate(message.localId, reactionResult.value.serverId, reactionResult.value.serverIdBy, reactionResult.value.localId, message.chatId(), message.senderId, message.timestamp, reactions, enums.ReactionUpdateKind.CompleteReactions), callback); + this.storeReaction(account, new borogove.ReactionUpdate(message.localId, reactionResult.value.serverId, reactionResult.value.serverIdBy, reactionResult.value.localId, message.chatId(), message.senderId, message.timestamp, reactions, enums.ReactionUpdateKind.CompleteReactions), callback); }); return true; } else if (result?.value && !message.isIncoming() && result?.value.direction === enums.MessageDirection.MessageSent && message.versions.length < 1) { @@ -611,7 +611,7 @@ export default (dbname, media, tokenize, stemmer) => { const store = tx.objectStore("keyvaluepairs"); const raw = await promisifyRequest(store.get("caps:" + ver)); if (raw) { - return new snikket.Caps(raw.node, raw.identities.map((identity) => new snikket.Identity(identity.category, identity.type, identity.name)), raw.features); + return new borogove.Caps(raw.node, raw.identities.map((identity) => new borogove.Identity(identity.category, identity.type, identity.name)), raw.features); } return null; diff --git a/snikket/persistence/KeyValueStore.hx b/borogove/persistence/KeyValueStore.hx similarity index 88% rename from snikket/persistence/KeyValueStore.hx rename to borogove/persistence/KeyValueStore.hx index e134e1f..84bd59c 100644 --- a/snikket/persistence/KeyValueStore.hx +++ b/borogove/persistence/KeyValueStore.hx @@ -1,4 +1,4 @@ -package snikket.persistence; +package borogove.persistence; import thenshim.Promise; diff --git a/snikket/persistence/MediaStore.hx b/borogove/persistence/MediaStore.hx similarity index 89% rename from snikket/persistence/MediaStore.hx rename to borogove/persistence/MediaStore.hx index 9f1bec8..368020d 100644 --- a/snikket/persistence/MediaStore.hx +++ b/borogove/persistence/MediaStore.hx @@ -1,4 +1,4 @@ -package snikket.persistence; +package borogove.persistence; import thenshim.Promise; import haxe.io.BytesData; @@ -10,6 +10,6 @@ interface MediaStore { public function hasMedia(hashAlgorithm:String, hash:BytesData): Promise<Bool>; public function removeMedia(hashAlgorithm:String, hash:BytesData):Void; public function storeMedia(mime:String, bytes:BytesData): Promise<Bool>; - @:allow(snikket) + @:allow(borogove) private function setKV(kv: KeyValueStore):Void; } diff --git a/snikket/persistence/MediaStoreCache.js b/borogove/persistence/MediaStoreCache.js similarity index 100% rename from snikket/persistence/MediaStoreCache.js rename to borogove/persistence/MediaStoreCache.js diff --git a/snikket/persistence/MediaStoreFS.hx b/borogove/persistence/MediaStoreFS.hx similarity index 97% rename from snikket/persistence/MediaStoreFS.hx rename to borogove/persistence/MediaStoreFS.hx index 2f3c8da..ef2300e 100644 --- a/snikket/persistence/MediaStoreFS.hx +++ b/borogove/persistence/MediaStoreFS.hx @@ -1,4 +1,4 @@ -package snikket.persistence; +package borogove.persistence; #if cpp import HaxeCBridge; @@ -21,7 +21,7 @@ class MediaStoreFS implements MediaStore { blobpath = path; } - @:allow(snikket) + @:allow(borogove) private function setKV(kv: KeyValueStore) { this.kv = kv; } diff --git a/snikket/persistence/Sqlite.hx b/borogove/persistence/Sqlite.hx similarity index 99% rename from snikket/persistence/Sqlite.hx rename to borogove/persistence/Sqlite.hx index a92a9c3..8d38c27 100644 --- a/snikket/persistence/Sqlite.hx +++ b/borogove/persistence/Sqlite.hx @@ -1,4 +1,4 @@ -package snikket.persistence; +package borogove.persistence; #if cpp import HaxeCBridge; @@ -9,14 +9,14 @@ import haxe.crypto.Base64; import haxe.io.Bytes; import haxe.io.BytesData; import thenshim.Promise; -import snikket.Caps; -import snikket.Chat; -import snikket.Message; -import snikket.Reaction; -import snikket.ReactionUpdate; +import borogove.Caps; +import borogove.Chat; +import borogove.Message; +import borogove.Reaction; +import borogove.ReactionUpdate; #if !NO_OMEMO -import snikket.OMEMO; -using snikket.SignalProtocol; +import borogove.OMEMO; +using borogove.SignalProtocol; #end using Lambda; diff --git a/snikket/persistence/SqliteDriver.hx b/borogove/persistence/SqliteDriver.hx similarity index 98% rename from snikket/persistence/SqliteDriver.hx rename to borogove/persistence/SqliteDriver.hx index b63c912..3d8bc8e 100644 --- a/snikket/persistence/SqliteDriver.hx +++ b/borogove/persistence/SqliteDriver.hx @@ -1,4 +1,4 @@ -package snikket.persistence; +package borogove.persistence; import haxe.io.Bytes; import thenshim.Promise; diff --git a/snikket/persistence/SqliteDriver.js.hx b/borogove/persistence/SqliteDriver.js.hx similarity index 98% rename from snikket/persistence/SqliteDriver.js.hx rename to borogove/persistence/SqliteDriver.js.hx index 5346302..55e9421 100644 --- a/snikket/persistence/SqliteDriver.js.hx +++ b/borogove/persistence/SqliteDriver.js.hx @@ -1,4 +1,4 @@ -package snikket.persistence; +package borogove.persistence; import haxe.io.Bytes; import thenshim.Promise; diff --git a/snikket/persistence/sqlite-worker1.mjs b/borogove/persistence/sqlite-worker1.mjs similarity index 100% rename from snikket/persistence/sqlite-worker1.mjs rename to borogove/persistence/sqlite-worker1.mjs diff --git a/snikket/queries/BlocklistGet.hx b/borogove/queries/BlocklistGet.hx similarity index 85% rename from snikket/queries/BlocklistGet.hx rename to borogove/queries/BlocklistGet.hx index a4a54f0..156de6e 100644 --- a/snikket/queries/BlocklistGet.hx +++ b/borogove/queries/BlocklistGet.hx @@ -1,13 +1,13 @@ -package snikket.queries; +package borogove.queries; import haxe.DynamicAccess; import haxe.Exception; -import snikket.ID; -import snikket.ResultSet; -import snikket.Stanza; -import snikket.Stream; -import snikket.queries.GenericQuery; +import borogove.ID; +import borogove.ResultSet; +import borogove.Stanza; +import borogove.Stream; +import borogove.queries.GenericQuery; class BlocklistGet extends GenericQuery { public var xmlns(default, null) = "urn:xmpp:blocking"; diff --git a/snikket/queries/BoB.hx b/borogove/queries/BoB.hx similarity index 98% rename from snikket/queries/BoB.hx rename to borogove/queries/BoB.hx index 96ce1c2..a5515f4 100644 --- a/snikket/queries/BoB.hx +++ b/borogove/queries/BoB.hx @@ -1,4 +1,4 @@ -package snikket.queries; +package borogove.queries; import haxe.crypto.Base64; import haxe.io.Bytes; diff --git a/snikket/queries/DiscoInfoGet.hx b/borogove/queries/DiscoInfoGet.hx similarity index 87% rename from snikket/queries/DiscoInfoGet.hx rename to borogove/queries/DiscoInfoGet.hx index b1521bc..4eeff2d 100644 --- a/snikket/queries/DiscoInfoGet.hx +++ b/borogove/queries/DiscoInfoGet.hx @@ -1,14 +1,14 @@ -package snikket.queries; +package borogove.queries; import haxe.DynamicAccess; import haxe.Exception; -import snikket.ID; -import snikket.ResultSet; -import snikket.Stanza; -import snikket.Stream; -import snikket.queries.GenericQuery; -import snikket.Caps; +import borogove.ID; +import borogove.ResultSet; +import borogove.Stanza; +import borogove.Stream; +import borogove.queries.GenericQuery; +import borogove.Caps; class DiscoInfoGet extends GenericQuery { public var xmlns(default, null) = "http://jabber.org/protocol/disco#info"; diff --git a/snikket/queries/DiscoItemsGet.hx b/borogove/queries/DiscoItemsGet.hx similarity index 86% rename from snikket/queries/DiscoItemsGet.hx rename to borogove/queries/DiscoItemsGet.hx index 0c28d8f..0f6394c 100644 --- a/snikket/queries/DiscoItemsGet.hx +++ b/borogove/queries/DiscoItemsGet.hx @@ -1,14 +1,14 @@ -package snikket.queries; +package borogove.queries; import haxe.DynamicAccess; import haxe.Exception; -import snikket.ID; -import snikket.JID; -import snikket.ResultSet; -import snikket.Stanza; -import snikket.Stream; -import snikket.queries.GenericQuery; +import borogove.ID; +import borogove.JID; +import borogove.ResultSet; +import borogove.Stanza; +import borogove.Stream; +import borogove.queries.GenericQuery; class DiscoItemsGet extends GenericQuery { public var xmlns(default, null) = "http://jabber.org/protocol/disco#items"; diff --git a/snikket/queries/ExtDiscoGet.hx b/borogove/queries/ExtDiscoGet.hx similarity index 82% rename from snikket/queries/ExtDiscoGet.hx rename to borogove/queries/ExtDiscoGet.hx index 6a06228..3288511 100644 --- a/snikket/queries/ExtDiscoGet.hx +++ b/borogove/queries/ExtDiscoGet.hx @@ -1,14 +1,14 @@ -package snikket.queries; +package borogove.queries; import haxe.DynamicAccess; import haxe.Exception; -import snikket.ID; -import snikket.ResultSet; -import snikket.Stanza; -import snikket.Stream; -import snikket.queries.GenericQuery; -import snikket.Caps; +import borogove.ID; +import borogove.ResultSet; +import borogove.Stanza; +import borogove.Stream; +import borogove.queries.GenericQuery; +import borogove.Caps; class ExtDiscoGet extends GenericQuery { public var xmlns(default, null) = "urn:xmpp:extdisco:2"; diff --git a/snikket/queries/GenericQuery.hx b/borogove/queries/GenericQuery.hx similarity index 92% rename from snikket/queries/GenericQuery.hx rename to borogove/queries/GenericQuery.hx index f32c5b1..a22ce55 100644 --- a/snikket/queries/GenericQuery.hx +++ b/borogove/queries/GenericQuery.hx @@ -1,8 +1,8 @@ -package snikket.queries; +package borogove.queries; import haxe.Exception; -import snikket.Stanza; +import borogove.Stanza; abstract class GenericQuery { private var queryStanza:Stanza; diff --git a/snikket/queries/HttpUploadSlot.hx b/borogove/queries/HttpUploadSlot.hx similarity index 90% rename from snikket/queries/HttpUploadSlot.hx rename to borogove/queries/HttpUploadSlot.hx index 4cc8e7e..b1d4ead 100644 --- a/snikket/queries/HttpUploadSlot.hx +++ b/borogove/queries/HttpUploadSlot.hx @@ -1,4 +1,4 @@ -package snikket.queries; +package borogove.queries; import haxe.DynamicAccess; import haxe.Exception; @@ -6,12 +6,12 @@ import haxe.crypto.Base64; import haxe.io.Bytes; import haxe.io.BytesData; -import snikket.ID; -import snikket.JID; -import snikket.ResultSet; -import snikket.Stanza; -import snikket.Stream; -import snikket.queries.GenericQuery; +import borogove.ID; +import borogove.JID; +import borogove.ResultSet; +import borogove.Stanza; +import borogove.Stream; +import borogove.queries.GenericQuery; class HttpUploadSlot extends GenericQuery { public var xmlns(default, null) = "urn:xmpp:http:upload:0"; diff --git a/snikket/queries/JabberIqGatewayGet.hx b/borogove/queries/JabberIqGatewayGet.hx similarity index 89% rename from snikket/queries/JabberIqGatewayGet.hx rename to borogove/queries/JabberIqGatewayGet.hx index b598633..d6edc8e 100644 --- a/snikket/queries/JabberIqGatewayGet.hx +++ b/borogove/queries/JabberIqGatewayGet.hx @@ -1,15 +1,15 @@ -package snikket.queries; +package borogove.queries; import haxe.DynamicAccess; import haxe.Exception; import haxe.ds.Either; -import snikket.ID; -import snikket.ResultSet; -import snikket.Stanza; -import snikket.Stream; -import snikket.queries.GenericQuery; -import snikket.Caps; +import borogove.ID; +import borogove.ResultSet; +import borogove.Stanza; +import borogove.Stream; +import borogove.queries.GenericQuery; +import borogove.Caps; class JabberIqGatewayGet extends GenericQuery { public var xmlns(default, null) = "jabber:iq:gateway"; diff --git a/snikket/queries/MAMQuery.hx b/borogove/queries/MAMQuery.hx similarity index 95% rename from snikket/queries/MAMQuery.hx rename to borogove/queries/MAMQuery.hx index 6a37ec4..c31d390 100644 --- a/snikket/queries/MAMQuery.hx +++ b/borogove/queries/MAMQuery.hx @@ -1,12 +1,12 @@ -package snikket.queries; +package borogove.queries; import haxe.Exception; -import snikket.ID; -import snikket.ResultSet; -import snikket.Stanza; -import snikket.Stream; -import snikket.queries.GenericQuery; +import borogove.ID; +import borogove.ResultSet; +import borogove.Stanza; +import borogove.Stream; +import borogove.queries.GenericQuery; typedef MAMQueryParams = { var ?startTime : String; diff --git a/snikket/queries/PubsubGet.hx b/borogove/queries/PubsubGet.hx similarity index 89% rename from snikket/queries/PubsubGet.hx rename to borogove/queries/PubsubGet.hx index 83a2cb8..c59600b 100644 --- a/snikket/queries/PubsubGet.hx +++ b/borogove/queries/PubsubGet.hx @@ -1,13 +1,13 @@ -package snikket.queries; +package borogove.queries; import haxe.DynamicAccess; import haxe.Exception; -import snikket.ID; -import snikket.ResultSet; -import snikket.Stanza; -import snikket.Stream; -import snikket.queries.GenericQuery; +import borogove.ID; +import borogove.ResultSet; +import borogove.Stanza; +import borogove.Stream; +import borogove.queries.GenericQuery; class PubsubGet extends GenericQuery { public var xmlns(default, null) = "http://jabber.org/protocol/pubsub"; diff --git a/snikket/queries/PubsubPublish.hx b/borogove/queries/PubsubPublish.hx similarity index 94% rename from snikket/queries/PubsubPublish.hx rename to borogove/queries/PubsubPublish.hx index 6f9fc2f..9f089d3 100644 --- a/snikket/queries/PubsubPublish.hx +++ b/borogove/queries/PubsubPublish.hx @@ -1,13 +1,13 @@ -package snikket.queries; +package borogove.queries; import haxe.DynamicAccess; import haxe.Exception; -import snikket.ID; -import snikket.ResultSet; -import snikket.Stanza; -import snikket.Stream; -import snikket.queries.GenericQuery; +import borogove.ID; +import borogove.ResultSet; +import borogove.Stanza; +import borogove.Stream; +import borogove.queries.GenericQuery; @:structInit class PubsubConfig { diff --git a/snikket/queries/Push2Disable.hx b/borogove/queries/Push2Disable.hx similarity index 86% rename from snikket/queries/Push2Disable.hx rename to borogove/queries/Push2Disable.hx index cff4808..9f5311c 100644 --- a/snikket/queries/Push2Disable.hx +++ b/borogove/queries/Push2Disable.hx @@ -1,11 +1,11 @@ -package snikket.queries; +package borogove.queries; import haxe.io.Bytes; import haxe.crypto.Base64; -import snikket.ID; -import snikket.Stanza; -import snikket.queries.GenericQuery; +import borogove.ID; +import borogove.Stanza; +import borogove.queries.GenericQuery; class Push2Disable extends GenericQuery { public var xmlns(default, null) = "urn:xmpp:push2:0"; diff --git a/snikket/queries/Push2Enable.hx b/borogove/queries/Push2Enable.hx similarity index 94% rename from snikket/queries/Push2Enable.hx rename to borogove/queries/Push2Enable.hx index 351d9d1..cce915b 100644 --- a/snikket/queries/Push2Enable.hx +++ b/borogove/queries/Push2Enable.hx @@ -1,11 +1,11 @@ -package snikket.queries; +package borogove.queries; import haxe.io.Bytes; import haxe.crypto.Base64; -import snikket.ID; -import snikket.Stanza; -import snikket.queries.GenericQuery; +import borogove.ID; +import borogove.Stanza; +import borogove.queries.GenericQuery; class Push2Enable extends GenericQuery { public var xmlns(default, null) = "urn:xmpp:push2:0"; diff --git a/snikket/queries/RosterGet.hx b/borogove/queries/RosterGet.hx similarity index 88% rename from snikket/queries/RosterGet.hx rename to borogove/queries/RosterGet.hx index 7bcabdd..9932a9f 100644 --- a/snikket/queries/RosterGet.hx +++ b/borogove/queries/RosterGet.hx @@ -1,13 +1,13 @@ -package snikket.queries; +package borogove.queries; import haxe.DynamicAccess; import haxe.Exception; -import snikket.ID; -import snikket.ResultSet; -import snikket.Stanza; -import snikket.Stream; -import snikket.queries.GenericQuery; +import borogove.ID; +import borogove.ResultSet; +import borogove.Stanza; +import borogove.Stream; +import borogove.queries.GenericQuery; class RosterGet extends GenericQuery { public var xmlns(default, null) = "jabber:iq:roster"; diff --git a/snikket/queries/VcardTempGet.hx b/borogove/queries/VcardTempGet.hx similarity index 88% rename from snikket/queries/VcardTempGet.hx rename to borogove/queries/VcardTempGet.hx index 736ab35..2e31d9a 100644 --- a/snikket/queries/VcardTempGet.hx +++ b/borogove/queries/VcardTempGet.hx @@ -1,15 +1,15 @@ -package snikket.queries; +package borogove.queries; import haxe.DynamicAccess; import haxe.Exception; import haxe.crypto.Base64; import haxe.io.Bytes; -import snikket.ID; -import snikket.ResultSet; -import snikket.Stanza; -import snikket.Stream; -import snikket.queries.GenericQuery; +import borogove.ID; +import borogove.ResultSet; +import borogove.Stanza; +import borogove.Stream; +import borogove.queries.GenericQuery; class VcardTempGet extends GenericQuery { public var xmlns(default, null) = "vcard-temp"; diff --git a/snikket/streams/XmppJsStream.hx b/borogove/streams/XmppJsStream.hx similarity index 99% rename from snikket/streams/XmppJsStream.hx rename to borogove/streams/XmppJsStream.hx index 7f2149f..2df63a0 100644 --- a/snikket/streams/XmppJsStream.hx +++ b/borogove/streams/XmppJsStream.hx @@ -1,4 +1,4 @@ -package snikket.streams; +package borogove.streams; import haxe.Http; import haxe.Json; @@ -7,9 +7,9 @@ import haxe.io.BytesData; import js.lib.Promise; using Lambda; -import snikket.FSM; -import snikket.GenericStream; -import snikket.Stanza; +import borogove.FSM; +import borogove.GenericStream; +import borogove.Stanza; @:js.import(@default "@xmpp/sasl-scram-sha-1") extern class XmppJsScramSha1 { diff --git a/snikket/streams/XmppStropheStream.hx b/borogove/streams/XmppStropheStream.hx similarity index 97% rename from snikket/streams/XmppStropheStream.hx rename to borogove/streams/XmppStropheStream.hx index 52ad562..0fc4fef 100644 --- a/snikket/streams/XmppStropheStream.hx +++ b/borogove/streams/XmppStropheStream.hx @@ -1,4 +1,4 @@ -package snikket.streams; +package borogove.streams; import haxe.DynamicAccess; import haxe.io.Bytes; @@ -13,9 +13,9 @@ import cpp.NativeString; import cpp.RawConstPointer; import cpp.RawPointer; -import snikket.GenericStream; -import snikket.ID; -import snikket.Stanza; +import borogove.GenericStream; +import borogove.ID; +import borogove.Stanza; @:include("strophe.h") @:native("xmpp_mem_t*") @@ -178,8 +178,8 @@ extern class StropheStanza { private: xmpp_conn_t *conn; ") @:cppFileCode(" -xmpp_log_t *logger = getenv(\"SNIKKET_XMPP_DEBUG\") ? xmpp_get_default_logger(XMPP_LEVEL_DEBUG) : 0; -xmpp_ctx_t* snikket::streams::XmppStropheStream_obj::ctx = xmpp_ctx_new(0,logger); +xmpp_log_t *logger = getenv(\"BOROGOVE_XMPP_DEBUG\") ? xmpp_get_default_logger(XMPP_LEVEL_DEBUG) : 0; +xmpp_ctx_t* borogove::streams::XmppStropheStream_obj::ctx = xmpp_ctx_new(0,logger); ") class XmppStropheStream extends GenericStream { extern private static var ctx:StropheCtx; diff --git a/browserjs.hxml b/browserjs.hxml index 08dad6f..aa664ab 100644 --- a/browserjs.hxml +++ b/browserjs.hxml @@ -8,13 +8,13 @@ --library thenshim --library tink_http -snikket.Client -snikket.Push -snikket.Version -snikket.persistence.Sqlite +borogove.Client +borogove.Push +borogove.Version +borogove.persistence.Sqlite -D js-es=6 -D hxtsdgen_enums_ts -D hxtsdgen_namespaced -D NO_OMEMO ---js npm/snikket-browser.js +--js npm/borogove-browser.js diff --git a/build-misc/Containerfile.image b/build-misc/Containerfile.image index 27fc7a2..b6a875e 100644 --- a/build-misc/Containerfile.image +++ b/build-misc/Containerfile.image @@ -1,6 +1,6 @@ FROM docker.io/debian:testing-slim AS build -WORKDIR /usr/src/snikket-sdk +WORKDIR /usr/src/sdk ARG HAXE_VERSION=4.3.4 @@ -62,9 +62,9 @@ RUN haxelib setup /opt/haxe ENV HAXE_STD_PATH=/opt/haxe/std -COPY Makefile *.hxml /usr/src/snikket-sdk/ +COPY Makefile *.hxml /usr/src/sdk/ -COPY . /usr/src/snikket-sdk/ +COPY . /usr/src/sdk/ RUN make hx-build-dep @@ -76,9 +76,9 @@ RUN haxe test.hxml FROM docker.io/debian:bookworm-slim -WORKDIR /opt/snikket-sdk +WORKDIR /opt/sdk -COPY --from=build /usr/src/snikket-sdk/cpp ./cpp -COPY --from=build /usr/src/snikket-sdk/npm ./npm +COPY --from=build /usr/src/sdk/cpp ./cpp +COPY --from=build /usr/src/sdk/npm ./npm -CMD ["cp", "-R", "/opt/snikket-sdk", "/output"] +CMD ["cp", "-R", "/opt/sdk", "/output"] diff --git a/cpp.hxml b/cpp.hxml index 025c9ae..e88bc4d 100644 --- a/cpp.hxml +++ b/cpp.hxml @@ -9,15 +9,15 @@ --library HtmlParser HaxeCBridge -snikket.Client -snikket.Push -snikket.persistence.Dummy -snikket.persistence.Sqlite -snikket.persistence.MediaStoreFS +borogove.Client +borogove.Push +borogove.persistence.Dummy +borogove.persistence.Sqlite +borogove.persistence.MediaStoreFS --cpp cpp -D NO_OMEMO -D HXCPP_ALIGN_ALLOC -D HXCPP_CPP17 --D HaxeCBridge.name=snikket +-D HaxeCBridge.name=borogove -D dll_link diff --git a/nodejs.hxml b/nodejs.hxml index e355d5d..86f5891 100644 --- a/nodejs.hxml +++ b/nodejs.hxml @@ -9,13 +9,13 @@ --library thenshim --library tink_http -snikket.Client -snikket.Push -snikket.Version -snikket.persistence.Sqlite +borogove.Client +borogove.Push +borogove.Version +borogove.persistence.Sqlite -D js-es=6 -D hxtsdgen_enums_ts -D hxtsdgen_namespaced -D NO_OMEMO ---js npm/snikket.js +--js npm/borogove.js diff --git a/npm/index.ts b/npm/index.ts index c66e491..c7b097e 100644 --- a/npm/index.ts +++ b/npm/index.ts @@ -1,32 +1,32 @@ import IDBjs from "./IDB.js"; import MediaStoreCachejs from "./MediaStoreCache.js"; -import { snikket as enums } from "./snikket-enums.js"; -import { snikket } from "./snikket.js"; +import { borogove as enums } from "./borogove-enums.js"; +import { borogove } from "./borogove.js"; // TODO: should we autogenerate this? -export import AvailableChat = snikket.AvailableChat; -export import Caps = snikket.Caps; -export import Channel = snikket.Channel; -export import Chat = snikket.Chat; -export import ChatAttachment = snikket.ChatAttachment; -export import ChatMessage = snikket.ChatMessage; -export import ChatMessageBuilder = snikket.ChatMessageBuilder; -export import Client = snikket.Client; -export import Config = snikket.Config; -export import CustomEmojiReaction = snikket.CustomEmojiReaction; -export import DirectChat = snikket.DirectChat; -export import Hash = snikket.Hash; -export import Identicon = snikket.Identicon; -export import Identity = snikket.Identity; -export import Notification = snikket.Notification; -export import Participant = snikket.Participant; -export import Push = snikket.Push; -export import Reaction = snikket.Reaction; -export import SerializedChat = snikket.SerializedChat; -export const VERSION = snikket.Version.HUMAN; -export import jingle = snikket.jingle; +export import AvailableChat = borogove.AvailableChat; +export import Caps = borogove.Caps; +export import Channel = borogove.Channel; +export import Chat = borogove.Chat; +export import ChatAttachment = borogove.ChatAttachment; +export import ChatMessage = borogove.ChatMessage; +export import ChatMessageBuilder = borogove.ChatMessageBuilder; +export import Client = borogove.Client; +export import Config = borogove.Config; +export import CustomEmojiReaction = borogove.CustomEmojiReaction; +export import DirectChat = borogove.DirectChat; +export import Hash = borogove.Hash; +export import Identicon = borogove.Identicon; +export import Identity = borogove.Identity; +export import Notification = borogove.Notification; +export import Participant = borogove.Participant; +export import Push = borogove.Push; +export import Reaction = borogove.Reaction; +export import SerializedChat = borogove.SerializedChat; +export const VERSION = borogove.Version.HUMAN; +export import calls = borogove.calls; -export import CallStatus = enums.jingle.CallStatus; +export import CallStatus = enums.calls.CallStatus; export import ChatMessageEvent = enums.ChatMessageEvent; export import MessageDirection = enums.MessageDirection; export import MessageStatus = enums.MessageStatus; @@ -38,6 +38,6 @@ export import UserState = enums.UserState; export namespace persistence { export import IDB = IDBjs; export import MediaStoreCache = MediaStoreCachejs; - export import Dummy = snikket.persistence.Dummy; - export import Sqlite = snikket.persistence.Sqlite; + export import Dummy = borogove.persistence.Dummy; + export import Sqlite = borogove.persistence.Sqlite; } diff --git a/npm/package.json b/npm/package.json index 7baf45f..b4789bf 100644 --- a/npm/package.json +++ b/npm/package.json @@ -1,5 +1,5 @@ { - "name": "snikket-sdk", + "name": "borogove", "version": "0.0.0", "description": "Chat SDK", "main": "index.js", @@ -10,7 +10,7 @@ "*.ts" ], "browser": { - "./snikket.js": "./snikket-browser.js" + "./borogove.js": "./borogove-browser.js" }, "scripts": { "test": "echo \"Error: no test specified\" && exit 1" diff --git a/snikket/Stream.cpp.hx b/snikket/Stream.cpp.hx deleted file mode 100644 index f8b19ca..0000000 --- a/snikket/Stream.cpp.hx +++ /dev/null @@ -1,5 +0,0 @@ -package snikket; - -import snikket.streams.XmppStropheStream; - -typedef Stream = snikket.streams.XmppStropheStream; diff --git a/snikket/Stream.js.hx b/snikket/Stream.js.hx deleted file mode 100644 index f48d74d..0000000 --- a/snikket/Stream.js.hx +++ /dev/null @@ -1,5 +0,0 @@ -package snikket; - -import snikket.streams.XmppJsStream; - -typedef Stream = snikket.streams.XmppJsStream; diff --git a/test/TestChatMessageBuilder.hx b/test/TestChatMessageBuilder.hx index c8e3603..c605b67 100644 --- a/test/TestChatMessageBuilder.hx +++ b/test/TestChatMessageBuilder.hx @@ -2,7 +2,7 @@ package test; import utest.Assert; import utest.Async; -import snikket.ChatMessageBuilder; +import borogove.ChatMessageBuilder; class TestChatMessageBuilder extends utest.Test { public function testConvertHtmlToXHTML() { diff --git a/test/TestSessionDescription.hx b/test/TestSessionDescription.hx index df36fad..62ea256 100644 --- a/test/TestSessionDescription.hx +++ b/test/TestSessionDescription.hx @@ -2,8 +2,8 @@ package test; import utest.Assert; import utest.Async; -import snikket.Stanza; -import snikket.jingle.SessionDescription; +import borogove.Stanza; +import borogove.calls.SessionDescription; class TestSessionDescription extends utest.Test { final stanzaSource = '<iq type="set"><jingle sid="kxcebFwaWUQTQQO5sUoJJA" action="session-initiate" xmlns="urn:xmpp:jingle:1"><group semantics="BUNDLE" xmlns="urn:xmpp:jingle:apps:grouping:0"><content name="0"/></group><content name="0" creator="initiator" xmlns="urn:xmpp:jingle:1"><description media="audio" xmlns="urn:xmpp:jingle:apps:rtp:1"><payload-type channels="2" name="opus" clockrate="48000" id="111" xmlns="urn:xmpp:jingle:apps:rtp:1"><parameter name="minptime" value="10" xmlns="urn:xmpp:jingle:apps:rtp:1"/><parameter name="useinbandfec" value="1" xmlns="urn:xmpp:jingle:apps:rtp:1"/><rtcp-fb type="transport-cc" xmlns="urn:xmpp:jingle:apps:rtp:rtcp-fb:0"/></payload-type><payload-type channels="2" name="red" clockrate="48000" id="63" xmlns="urn:xmpp:jingle:apps:rtp:1"/><payload-type name="ISAC" clockrate="16000" id="103" xmlns="urn:xmpp:jingle:apps:rtp:1"/><payload-type name="ISAC" clockrate="32000" id="104" xmlns="urn:xmpp:jingle:apps:rtp:1"/><payload-type name="G722" clockrate="8000" id="9" xmlns="urn:xmpp:jingle:apps:rtp:1"/><payload-type name="ILBC" clockrate="8000" id="102" xmlns="urn:xmpp:jingle:apps:rtp:1"/><payload-type name="PCMU" clockrate="8000" id="0" xmlns="urn:xmpp:jingle:apps:rtp:1"/><payload-type name="PCMA" clockrate="8000" id="8" xmlns="urn:xmpp:jingle:apps:rtp:1"/><payload-type name="CN" clockrate="32000" id="106" xmlns="urn:xmpp:jingle:apps:rtp:1"/><payload-type name="CN" clockrate="16000" id="105" xmlns="urn:xmpp:jingle:apps:rtp:1"/><payload-type name="CN" clockrate="8000" id="13" xmlns="urn:xmpp:jingle:apps:rtp:1"/><payload-type name="telephone-event" clockrate="48000" id="110" xmlns="urn:xmpp:jingle:apps:rtp:1"/><payload-type name="telephone-event" clockrate="32000" id="112" xmlns="urn:xmpp:jingle:apps:rtp:1"/><payload-type name="telephone-event" clockrate="16000" id="113" xmlns="urn:xmpp:jingle:apps:rtp:1"/><payload-type name="telephone-event" clockrate="8000" id="126" xmlns="urn:xmpp:jingle:apps:rtp:1"/><rtp-hdrext uri="urn:ietf:params:rtp-hdrext:ssrc-audio-level" id="1" xmlns="urn:xmpp:jingle:apps:rtp:rtp-hdrext:0"/><rtp-hdrext uri="http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time" id="2" xmlns="urn:xmpp:jingle:apps:rtp:rtp-hdrext:0"/><rtp-hdrext uri="http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01" id="3" xmlns="urn:xmpp:jingle:apps:rtp:rtp-hdrext:0"/><rtp-hdrext uri="urn:ietf:params:rtp-hdrext:sdes:mid" id="4" xmlns="urn:xmpp:jingle:apps:rtp:rtp-hdrext:0"/><extmap-allow-mixed xmlns="urn:xmpp:jingle:apps:rtp:rtp-hdrext:0"/><source ssrc="3713170236" xmlns="urn:xmpp:jingle:apps:rtp:ssma:0"><parameter name="cname" value="KP3+b0QvXtga40Uo"/><parameter name="msid" value="- audio-track-76673976-daf1-4afa-bed8-1277ddc1c7f7"/></source><rtcp-mux/></description><transport pwd="88yXZajgGS00ziBDQ0yLtr9t" ufrag="r8tL" xmlns="urn:xmpp:jingle:transports:ice-udp:1"><fingerprint setup="actpass" hash="sha-256" xmlns="urn:xmpp:jingle:apps:dtls:0">26:58:C5:C5:68:7A:BA:C9:11:2D:6D:A3:C5:57:16:4C:E0:A0:46:06:FA:49:62:1B:54:E4:A5:F1:CB:89:18:43</fingerprint></transport></content></jingle></iq>'; diff --git a/test/TestStanza.hx b/test/TestStanza.hx index a9970dd..7ca0289 100644 --- a/test/TestStanza.hx +++ b/test/TestStanza.hx @@ -3,7 +3,7 @@ package test; import utest.Assert; import utest.Async; -import snikket.Stanza; +import borogove.Stanza; class TestStanza extends utest.Test { public function testRemoveChildren() {