presence information mode的一些理解

本文介绍了在线状态信息(presence information)的模型,包括Presentity、PresenceServer和Watcher三个关键角色的作用及交互过程。Presentity负责发布状态信息,PresenceServer进行接收、存储与分发,而Watcher则请求并更新状态。

      presence information,一些很重要的部分是状态信息,如online ,busy,away,offline等等。在学习这部分的时候,如果先对presence information mode有所了解,那么会对以后深入研究这部分内容有很大的帮助。

     这个模型定义了三个角色:Presentity, Presence Server, Watcher.

      Presentity:是发布presence information的user agent ,通常是一个client. 这里要注意的是,根据我的理解,在同一台机用同种client登同一账号,或者是不同机上用同种client相同账号,这两种情况算两个presentity.  

       Presence Server:用于接收,存储,分发presence information的agent,通常是有此功能的服务器担任,如OCP。

       Watcher:向presence Server请求某账号的presence information的agent.

       

       presentity改变状态,会发一个带有相关presence information的publish请求给presence server;presense server 会把改变的状态值代替原先相应值,并根据该账号的观察者信息,构造一个携带有最新presence information的notify请求给每一个授权的watcher;watcher收到并提取相关的presence information值来取代原先的值,从而正确显示该presentity的状态。

 

 

PS:在此,要强调一点的是,对于presence information,一般是以xml形式出现,每个prsentity只对应一个tuple,tuple的id值是唯一的。如果同机或者是不同机上登录同一账号,那么该账号的xml中应该有相应多个tuple值;person节点中的值,对应最晚登入的那个prensentity.

[root@yfw ~]# cd /www/wwwroot/szrengjing.com/jsxc/jsxc-master [root@yfw jsxc-master]# cd /www/wwwroot/szrengjing.com/jsxc/jsxc-master [root@yfw jsxc-master]# [root@yfw jsxc-master]# # 初始化 git 仓库 [root@yfw jsxc-master]# sudo -u www git init Initialized empty Git repository in /www/wwwroot/szrengjing.com/jsxc/jsxc-master/.git/ [root@yfw jsxc-master]# sudo -u www git add . [root@yfw jsxc-master]# sudo -u www git commit -m "Initial commit for build" *** Please tell me who you are. Run git config --global user.email "you@example.com" git config --global user.name "Your Name" to set your account's default identity. Omit --global to set the identity only in this repository. fatal: empty ident name (for <www@yfw.szrengjing.com>) not allowed [root@yfw jsxc-master]# npm list git-revision-webpack-plugin @jsxc/jsxc@4.4.0 /www/wwwroot/szrengjing.com/jsxc/jsxc-master └── git-revision-webpack-plugin@3.0.6 [root@yfw jsxc-master]# sudo -u www yarn build yarn run v1.22.22 warning ../../package.json: No license field $ webpack --progress --config webpack.config.js --mode production fatal: Not a valid object name HEAD [webpack-cli] Failed to load '/www/wwwroot/szrengjing.com/jsxc/jsxc-master/webpack.config.js' config [webpack-cli] Error: Command failed: git describe --always fatal: Not a valid object name HEAD at checkExecSyncError (child_process.js:635:11) at execSync (child_process.js:671:15) at module.exports (/www/wwwroot/szrengjing.com/jsxc/jsxc-master/node_modules/git-revision-webpack-plugin/lib/helpers/run-git-command.js:25:34) at GitRevisionPlugin.version (/www/wwwroot/szrengjing.com/jsxc/jsxc-master/node_modules/git-revision-webpack-plugin/lib/index.js:65:10) at Object.<anonymous> (/www/wwwroot/szrengjing.com/jsxc/jsxc-master/webpack.config.js:52:85) at Module._compile (internal/modules/cjs/loader.js:999:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10) at Module.load (internal/modules/cjs/loader.js:863:32) at Function.Module._load (internal/modules/cjs/loader.js:708:14) at Module.require (internal/modules/cjs/loader.js:887:19) { status: 128, signal: null, output: [ null, <Buffer >, <Buffer 66 61 74 61 6c 3a 20 4e 6f 74 20 61 20 76 61 6c 69 64 20 6f 62 6a 65 63 74 20 6e 61 6d 65 20 48 45 41 44 0a> ], pid: 647253, stdout: <Buffer >, stderr: <Buffer 66 61 74 61 6c 3a 20 4e 6f 74 20 61 20 76 61 6c 69 64 20 6f 62 6a 65 63 74 20 6e 61 6d 65 20 48 45 41 44 0a> } error Command failed with exit code 2. info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command. [root@yfw jsxc-master]# sudo -u www yarn build --bundleAnalyzer yarn run v1.22.22 warning ../../package.json: No license field $ webpack --progress --config webpack.config.js --mode production --bundleAnalyzer [webpack-cli] Error: Unknown option '--bundleAnalyzer' [webpack-cli] Run 'webpack --help' to see available commands and options error Command failed with exit code 2. info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command. [root@yfw jsxc-master]# # 为 www 用户设置 Git 身份(局部设置,仅对当前项目) [root@yfw jsxc-master]# sudo -u www git config user.name "JSXC Builder" [root@yfw jsxc-master]# sudo -u www git config user.email "builder@localhost" [root@yfw jsxc-master]# sudo -u www git commit -m "Initial commit for build" [master (root-commit) ad2386e] Initial commit for build 510 files changed, 61602 insertions(+) create mode 100755 .commitlintrc.json create mode 100755 .editorconfig create mode 100755 .eslintrc.js create mode 100755 .fantasticonrc.js create mode 100755 .github/FUNDING.yml create mode 100755 .github/ISSUE_TEMPLATE/bug_report.md create mode 100755 .github/ISSUE_TEMPLATE/feature-request.md create mode 100755 .github/workflows/commitlint.yml create mode 100755 .github/workflows/wti.yml create mode 100755 .github/workflows/yarn.yml create mode 100755 .gitignore create mode 100755 .lgtm.yml create mode 100755 .npmignore create mode 100755 .prettierrc.json create mode 100755 .stylelintrc create mode 100755 .vscode/settings.json create mode 100755 CHANGELOG.md create mode 100755 CODE_OF_CONDUCT.md create mode 100755 CONTRIBUTING.md create mode 100755 LICENSE create mode 100755 README.md create mode 100755 custom.d.ts create mode 100755 example/ajax/getturncredentials.json create mode 100755 example/css/bootstrap.min.css create mode 100755 example/css/example.css create mode 100755 example/css/images/ui-icons_444444_256x240.png create mode 100755 example/css/images/ui-icons_555555_256x240.png create mode 100755 example/css/images/ui-icons_777620_256x240.png create mode 100755 example/css/images/ui-icons_777777_256x240.png create mode 100755 example/css/images/ui-icons_cc0000_256x240.png create mode 100755 example/css/images/ui-icons_ffffff_256x240.png create mode 100755 example/favicon.ico create mode 100755 example/fonts/glyphicons-halflings-regular.eot create mode 100755 example/fonts/glyphicons-halflings-regular.svg create mode 100755 example/fonts/glyphicons-halflings-regular.ttf create mode 100755 example/fonts/glyphicons-halflings-regular.woff create mode 100755 example/fonts/glyphicons-halflings-regular.woff2 create mode 100755 example/index.html create mode 100755 example/js/example.js create mode 100755 example/js/helper.js create mode 100755 example/js/jquery.min.js create mode 100755 example/login.html create mode 100755 fonts/jsxc-icons.eot create mode 100755 fonts/jsxc-icons.scss create mode 100755 fonts/jsxc-icons.woff create mode 100755 fonts/jsxc-icons.woff2 create mode 100755 images/XMPP_logo.png create mode 100755 images/camera_disabled_icon_white.svg create mode 100755 images/download_icon_black.svg create mode 100755 images/dragover_white.svg create mode 100755 images/drop_white.svg create mode 100755 images/emoticons/jabber.svg create mode 100755 images/emoticons/jsxc.svg create mode 100755 images/emoticons/klaus.svg create mode 100755 images/emoticons/nextcloud.svg create mode 100755 images/emoticons/owncloud.svg create mode 100755 images/emoticons/xmpp.svg create mode 100755 images/filetypes/application-pdf.png create mode 100755 images/filetypes/application-pdf.svg create mode 100755 images/filetypes/application.png create mode 100755 images/filetypes/application.svg create mode 100755 images/filetypes/audio.png create mode 100755 images/filetypes/audio.svg create mode 100755 images/filetypes/file.png create mode 100755 images/filetypes/file.svg create mode 100755 images/filetypes/folder-drag-accept.png create mode 100755 images/filetypes/folder-drag-accept.svg create mode 100755 images/filetypes/folder-external.png create mode 100755 images/filetypes/folder-external.svg create mode 100755 images/filetypes/folder-public.png create mode 100755 images/filetypes/folder-public.svg create mode 100755 images/filetypes/folder-shared.png create mode 100755 images/filetypes/folder-shared.svg create mode 100755 images/filetypes/folder-starred.png create mode 100755 images/filetypes/folder-starred.svg create mode 100755 images/filetypes/folder.png create mode 100755 images/filetypes/folder.svg create mode 100755 images/filetypes/image.png create mode 100755 images/filetypes/image.svg create mode 100755 images/filetypes/package-x-generic.png create mode 100755 images/filetypes/package-x-generic.svg create mode 100755 images/filetypes/text-calendar.png create mode 100755 images/filetypes/text-calendar.svg create mode 100755 images/filetypes/text-code.png create mode 100755 images/filetypes/text-code.svg create mode 100755 images/filetypes/text-vcard.png create mode 100755 images/filetypes/text-vcard.svg create mode 100755 images/filetypes/text.png create mode 100755 images/filetypes/text.svg create mode 100755 images/filetypes/video.png create mode 100755 images/filetypes/video.svg create mode 100755 images/filetypes/x-office-document.png create mode 100755 images/filetypes/x-office-document.svg create mode 100755 images/filetypes/x-office-presentation.png create mode 100755 images/filetypes/x-office-presentation.svg create mode 100755 images/filetypes/x-office-spreadsheet.png create mode 100755 images/filetypes/x-office-spreadsheet.svg create mode 100755 images/group_white.svg create mode 100755 images/icons/attachment.svg create mode 100755 images/icons/bell.svg create mode 100755 images/icons/bookmark.svg create mode 100755 images/icons/camera-disabled.svg create mode 100755 images/icons/camera.svg create mode 100755 images/icons/channel.svg create mode 100755 images/icons/close.svg create mode 100755 images/icons/contact.svg create mode 100755 images/icons/delete.svg create mode 100755 images/icons/download.svg create mode 100755 images/icons/dragover.svg create mode 100755 images/icons/drop.svg create mode 100755 images/icons/edit.svg create mode 100755 images/icons/fullscreen.svg create mode 100755 images/icons/gear.svg create mode 100755 images/icons/group.svg create mode 100755 images/icons/groupcontact.svg create mode 100755 images/icons/hang-up.svg create mode 100755 images/icons/help.svg create mode 100755 images/icons/info.svg create mode 100755 images/icons/jsxc.svg create mode 100755 images/icons/location.svg create mode 100755 images/icons/maximize.svg create mode 100755 images/icons/megaphone.svg create mode 100755 images/icons/menu.svg create mode 100755 images/icons/microphone-disabled.svg create mode 100755 images/icons/microphone.svg create mode 100755 images/icons/minimize.svg create mode 100755 images/icons/more.svg create mode 100755 images/icons/mute.svg create mode 100755 images/icons/nonanonymous-group.svg create mode 100755 images/icons/padlock-close.svg create mode 100755 images/icons/padlock-open-disabled.svg create mode 100755 images/icons/padlock-open.svg create mode 100755 images/icons/pick-up-disabled.svg create mode 100755 images/icons/pick-up.svg create mode 100755 images/icons/placeholder.svg create mode 100755 images/icons/quotation.svg create mode 100755 images/icons/resize.svg create mode 100755 images/icons/search.svg create mode 100755 images/icons/smiley.svg create mode 100755 images/icons/speech-balloon.svg create mode 100755 images/jsxc_white.svg create mode 100755 images/loading.gif create mode 100755 images/location_icon.svg create mode 100755 images/placeholder_image.svg create mode 100755 images/presence/away.svg create mode 100755 images/presence/chat.svg create mode 100755 images/presence/dnd.svg create mode 100755 images/presence/online.svg create mode 100755 images/presence/xa.svg create mode 100755 images/resize_gray.svg create mode 100755 karma.conf.js create mode 100755 locales/ar.json create mode 100755 locales/bg.json create mode 100755 locales/bn-BD.json create mode 100755 locales/cs.json create mode 100755 locales/de.json create mode 100755 locales/el.json create mode 100755 locales/en.json create mode 100755 locales/es.json create mode 100755 locales/fa-AF.json create mode 100755 locales/fi.json create mode 100755 locales/fr.json create mode 100755 locales/hu-HU.json create mode 100755 locales/it.json create mode 100755 locales/ja.json create mode 100755 locales/ko.json create mode 100755 locales/nds.json create mode 100755 locales/nl-NL.json create mode 100755 locales/pl.json create mode 100755 locales/pt-BR.json create mode 100755 locales/ro.json create mode 100755 locales/ru.json create mode 100755 locales/sk.json create mode 100755 locales/sq.json create mode 100755 locales/sv-SE.json create mode 100755 locales/th.json create mode 100755 locales/tr-TR.json create mode 100755 locales/uk-UA.json create mode 100755 locales/vi-VN.json create mode 100755 locales/zh-TW.json create mode 100755 locales/zh.json create mode 100755 package.json create mode 100755 scripts/build-release.js create mode 100755 scripts/prepare-commit-msg.js create mode 100755 scripts/publish-release.js create mode 100755 scss/main.scss create mode 100755 scss/modules/_all.scss create mode 100755 scss/modules/_animation.scss create mode 100755 scss/modules/_colors.scss create mode 100755 scss/modules/_muc.scss create mode 100755 scss/modules/_presence.scss create mode 100755 scss/modules/_scrollbar.scss create mode 100755 scss/modules/_webrtc.scss create mode 100755 scss/partials/_avatar.scss create mode 100755 scss/partials/_bar.scss create mode 100755 scss/partials/_button.scss create mode 100755 scss/partials/_dialog.scss create mode 100755 scss/partials/_emoticons.scss create mode 100755 scss/partials/_icon.scss create mode 100755 scss/partials/_jsxc.scss create mode 100755 scss/partials/_layout.scss create mode 100755 scss/partials/_menu.scss create mode 100755 scss/partials/_muc.scss create mode 100755 scss/partials/_roster.scss create mode 100755 scss/partials/_webrtc.scss create mode 100755 scss/partials/_window-list.scss create mode 100755 scss/partials/_window.scss create mode 100755 scss/vendor/_all.scss create mode 100755 sound/credential create mode 100755 sound/incoming-call.mp3 create mode 100755 sound/notification.mp3 create mode 100755 sound/ping.mp3 create mode 100755 src/Account.ts create mode 100755 src/AccountManager.ts create mode 100755 src/Attachment.ts create mode 100755 src/Avatar.interface.ts create mode 100755 src/Avatar.ts create mode 100755 src/CONST.ts create mode 100755 src/Call.ts create mode 100755 src/CallManager.ts create mode 100755 src/ChatWindowController.ts create mode 100755 src/Client.interface.ts create mode 100755 src/Client.ts create mode 100755 src/ClientAvatar.ts create mode 100755 src/CommandRepository.ts create mode 100755 src/Contact.interface.ts create mode 100755 src/Contact.ts create mode 100755 src/ContactManager.ts create mode 100755 src/ContactProvider.ts create mode 100755 src/DiscoInfo.interface.ts create mode 100755 src/DiscoInfo.ts create mode 100755 src/DiscoInfoChangeable.ts create mode 100755 src/DiscoInfoRepository.interface.ts create mode 100755 src/DiscoInfoRepository.ts create mode 100755 src/DiscoInfoVersion.ts create mode 100755 src/Emoticons.ts create mode 100755 src/FallbackContactProvider.ts create mode 100755 src/FormWatcher.ts create mode 100755 src/IceServers.ts create mode 100755 src/Identifiable.interface.ts create mode 100755 src/JID.interface.ts create mode 100755 src/JID.ts create mode 100755 src/JingleAbstractSession.ts create mode 100755 src/JingleCallFactory.ts create mode 100755 src/JingleCallSession.ts create mode 100755 src/JingleMediaSession.ts create mode 100755 src/JingleSessionFactory.ts create mode 100755 src/JingleStreamSession.ts create mode 100755 src/LinkHandler.interface.ts create mode 100755 src/LinkHandlerGeo.ts create mode 100755 src/LinkHandlerXMPP.ts create mode 100755 src/Menu.ts create mode 100755 src/MenuChatMessage.ts create mode 100755 src/MenuItemFactory.interface.ts create mode 100755 src/MenuItemStaticFactory.ts create mode 100755 src/Message.interface.ts create mode 100755 src/Message.ts create mode 100755 src/Migration.ts create mode 100755 src/MultiUserContact.ts create mode 100755 src/Notice.ts create mode 100755 src/NoticeManager.ts create mode 100755 src/Notification.ts create mode 100755 src/Options.ts create mode 100755 src/OptionsDefault.ts create mode 100755 src/PageVisibility.ts create mode 100755 src/PresenceController.ts create mode 100755 src/RoleAllocator.ts create mode 100755 src/RosterContactProvider.ts create mode 100755 src/StateMachine.ts create mode 100755 src/StorableAbstract.ts create mode 100755 src/Storage.interface.ts create mode 100755 src/Storage.ts create mode 100755 src/Transcript.ts create mode 100755 src/UserMedia.ts create mode 100755 src/api/index.ts create mode 100755 src/api/v1/Account.ts create mode 100755 src/api/v1/debug.ts create mode 100755 src/api/v1/disconnect.ts create mode 100755 src/api/v1/index.ts create mode 100755 src/api/v1/register.ts create mode 100755 src/api/v1/start.ts create mode 100755 src/api/v1/testBOSHServer.ts create mode 100755 src/bootstrap/plugins.ts create mode 100755 src/bootstrap/webpackPublicPath.ts create mode 100755 src/connection/AbstractConnection.ts create mode 100755 src/connection/Connection.interface.ts create mode 100755 src/connection/Form.ts create mode 100755 src/connection/FormField.ts create mode 100755 src/connection/FormItemField.ts create mode 100755 src/connection/FormReportedField.ts create mode 100755 src/connection/JingleHandler.ts create mode 100755 src/connection/services/AbstractService.ts create mode 100755 src/connection/services/Disco.ts create mode 100755 src/connection/services/MUC.ts create mode 100755 src/connection/services/PEP.ts create mode 100755 src/connection/services/PubSub.ts create mode 100755 src/connection/services/Roster.ts create mode 100755 src/connection/services/Search.ts create mode 100755 src/connection/services/Vcard.ts create mode 100755 src/connection/storage/Connection.ts create mode 100755 src/connection/xmpp/AbstractHandler.ts create mode 100755 src/connection/xmpp/ConnectHelper.ts create mode 100755 src/connection/xmpp/Connection.ts create mode 100755 src/connection/xmpp/Connector.ts create mode 100755 src/connection/xmpp/JingleHandler.ts create mode 100755 src/connection/xmpp/MessageElement.ts create mode 100755 src/connection/xmpp/handler.ts create mode 100755 src/connection/xmpp/handlers/caps.ts create mode 100755 src/connection/xmpp/handlers/chatMessage.ts create mode 100755 src/connection/xmpp/handlers/disco.ts create mode 100755 src/connection/xmpp/handlers/errorMessage.ts create mode 100755 src/connection/xmpp/handlers/headlineMessage.ts create mode 100755 src/connection/xmpp/handlers/jingle.ts create mode 100755 src/connection/xmpp/handlers/multiUser/DirectInvitation.ts create mode 100755 src/connection/xmpp/handlers/multiUser/Presence.ts create mode 100755 src/connection/xmpp/handlers/multiUser/PresenceProcessor.ts create mode 100755 src/connection/xmpp/handlers/multiUser/StatusCodeHandler.ts create mode 100755 src/connection/xmpp/handlers/multiUser/XMessage.ts create mode 100755 src/connection/xmpp/handlers/multiUser/groupChatMessage.ts create mode 100755 src/connection/xmpp/handlers/presence.ts create mode 100755 src/connection/xmpp/namespace.ts create mode 100755 src/errors/AuthenticationError.ts create mode 100755 src/errors/BaseError.ts create mode 100755 src/errors/ConnectionError.ts create mode 100755 src/errors/InvalidParameterError.ts create mode 100755 src/errors/ParsingError.ts create mode 100755 src/index.ts create mode 100755 src/plugin/AbstractPlugin.ts create mode 100755 src/plugin/EncryptionPlugin.ts create mode 100755 src/plugin/PluginAPI.interface.ts create mode 100755 src/plugin/PluginAPI.ts create mode 100755 src/plugin/PluginRepository.ts create mode 100755 src/plugins/AvatarPEPPlugin.ts create mode 100755 src/plugins/AvatarVCardPlugin.ts create mode 100755 src/plugins/BlockingCommandPlugin.ts create mode 100755 src/plugins/CommandPlugin.ts create mode 100755 src/plugins/JingleMessageInitiationPlugin.ts create mode 100755 src/plugins/LastMessageCorrectionPlugin.ts create mode 100755 src/plugins/MeCommandPlugin.ts create mode 100755 src/plugins/MessageCarbonsPlugin.ts create mode 100755 src/plugins/MessageDeliveryReceiptsPlugin.ts create mode 100755 src/plugins/NotificationPlugin.ts create mode 100755 src/plugins/PingPlugin.ts create mode 100755 src/plugins/TimePlugin.ts create mode 100755 src/plugins/VersionPlugin.ts create mode 100755 src/plugins/bookmarks/BookmarkProvider.ts create mode 100755 src/plugins/bookmarks/BookmarksPlugin.ts create mode 100755 src/plugins/bookmarks/RoomBookmark.ts create mode 100755 src/plugins/bookmarks/services/AbstractService.ts create mode 100755 src/plugins/bookmarks/services/LocalService.ts create mode 100755 src/plugins/bookmarks/services/PubSubService.ts create mode 100755 src/plugins/chatMarkers/ChatMarkersPlugin.ts create mode 100755 src/plugins/chatState/ChatStateConnection.ts create mode 100755 src/plugins/chatState/ChatStateMachine.ts create mode 100755 src/plugins/chatState/ChatStatePlugin.ts create mode 100755 src/plugins/chatState/State.ts create mode 100755 src/plugins/httpUpload/HttpUploadPlugin.ts create mode 100755 src/plugins/httpUpload/HttpUploadService.ts create mode 100755 src/plugins/mam/Archive.ts create mode 100755 src/plugins/mam/Plugin.ts create mode 100755 src/plugins/omemo/AttachmentHandler.ts create mode 100755 src/plugins/omemo/Plugin.ts create mode 100755 src/plugins/omemo/lib/Bootstrap.ts create mode 100755 src/plugins/omemo/lib/Bundle.ts create mode 100755 src/plugins/omemo/lib/BundleManager.ts create mode 100755 src/plugins/omemo/lib/Device.ts create mode 100755 src/plugins/omemo/lib/IdentityManager.ts create mode 100755 src/plugins/omemo/lib/Omemo.ts create mode 100755 src/plugins/omemo/lib/Peer.ts create mode 100755 src/plugins/omemo/lib/Session.ts create mode 100755 src/plugins/omemo/lib/Store.ts create mode 100755 src/plugins/omemo/model/EncryptedDeviceMessage.ts create mode 100755 src/plugins/omemo/model/Exportable.ts create mode 100755 src/plugins/omemo/model/IdentityKey.ts create mode 100755 src/plugins/omemo/model/PreKey.ts create mode 100755 src/plugins/omemo/model/RegistrationId.ts create mode 100755 src/plugins/omemo/model/SignedPreKey.ts create mode 100755 src/plugins/omemo/util/AES.ts create mode 100755 src/plugins/omemo/util/ArrayBuffer.ts create mode 100755 src/plugins/omemo/util/Const.ts create mode 100755 src/plugins/omemo/util/Formatter.ts create mode 100755 src/plugins/omemo/util/Stanza.ts create mode 100755 src/plugins/omemo/vendor/Address.ts create mode 100755 src/plugins/omemo/vendor/KeyHelper.ts create mode 100755 src/plugins/omemo/vendor/SessionBuilder.ts create mode 100755 src/plugins/omemo/vendor/SessionCipher.ts create mode 100755 src/plugins/omemo/vendor/Signal.ts create mode 100755 src/plugins/omemo/vendor/SignalStore.interface.ts create mode 100755 src/plugins/omemo/vendor/SignalStore.ts create mode 100755 src/plugins/otr/Plugin.ts create mode 100755 src/plugins/otr/Session.ts create mode 100755 src/ui/AvatarSet.ts create mode 100755 src/ui/ChatWindow.ts create mode 100755 src/ui/ChatWindowFileTransferHandler.ts create mode 100755 src/ui/ChatWindowList.ts create mode 100755 src/ui/ChatWindowMessage.ts create mode 100755 src/ui/Dialog.ts create mode 100755 src/ui/DialogList.ts create mode 100755 src/ui/DialogListItem.ts create mode 100755 src/ui/DialogNavigation.ts create mode 100755 src/ui/DialogPage.ts create mode 100755 src/ui/DialogSection.ts create mode 100755 src/ui/MenuComponent.ts create mode 100755 src/ui/MultiUserChatWindow.ts create mode 100755 src/ui/Overlay.ts create mode 100755 src/ui/Roster.ts create mode 100755 src/ui/RosterItem.ts create mode 100755 src/ui/VideoDialog.ts create mode 100755 src/ui/VideoWindow.ts create mode 100755 src/ui/actions/call.ts create mode 100755 src/ui/dialogs/about.ts create mode 100755 src/ui/dialogs/avatarupload.ts create mode 100755 src/ui/dialogs/commandHelp.ts create mode 100755 src/ui/dialogs/confirm.ts create mode 100755 src/ui/dialogs/contact.ts create mode 100755 src/ui/dialogs/contactBlock.ts create mode 100755 src/ui/dialogs/contactsearch.ts create mode 100755 src/ui/dialogs/debugLog.ts create mode 100755 src/ui/dialogs/exstatus.ts create mode 100755 src/ui/dialogs/fingerprints.ts create mode 100755 src/ui/dialogs/loginBox.ts create mode 100755 src/ui/dialogs/messageHistory.ts create mode 100755 src/ui/dialogs/multiUserInvitation.ts create mode 100755 src/ui/dialogs/multiUserInvite.ts create mode 100755 src/ui/dialogs/multiUserJoin.ts create mode 100755 src/ui/dialogs/multiUserMemberlist.ts create mode 100755 src/ui/dialogs/multiUserRoomConfiguration.ts create mode 100755 src/ui/dialogs/notification.ts create mode 100755 src/ui/dialogs/omemoDevices.ts create mode 100755 src/ui/dialogs/selection.ts create mode 100755 src/ui/dialogs/settings.ts create mode 100755 src/ui/dialogs/unknownSender.ts create mode 100755 src/ui/dialogs/vcard.ts create mode 100755 src/ui/dialogs/verification.ts create mode 100755 src/ui/util/ByteBeautifier.ts create mode 100755 src/ui/util/DateTime.ts create mode 100755 src/ui/util/ElementHandler.ts create mode 100755 src/ui/util/LongPress.ts create mode 100755 src/ui/util/Menu.ts create mode 100755 src/ui/util/TableElement.ts create mode 100755 src/ui/web.ts create mode 100755 src/util/Color.ts create mode 100755 src/util/FileHelper.ts create mode 100755 src/util/Hash.ts create mode 100755 src/util/HookRepository.ts create mode 100755 src/util/ImageHelper.ts create mode 100755 src/util/Location.ts create mode 100755 src/util/Log.interface.ts create mode 100755 src/util/Log.ts create mode 100755 src/util/PersistentArray.ts create mode 100755 src/util/PersistentMap.ts create mode 100755 src/util/Pipe.ts create mode 100755 src/util/Random.ts create mode 100755 src/util/SortedPersistentMap.ts create mode 100755 src/util/Translation.ts create mode 100755 src/util/UUID.ts create mode 100755 src/util/Utils.ts create mode 100755 src/vendor/Jingle.interface.ts create mode 100755 src/vendor/Strophe.ts create mode 100755 template/about.hbs create mode 100755 template/avatarUploadTemplate.hbs create mode 100755 template/bookmark.hbs create mode 100755 template/chat-window-message.hbs create mode 100755 template/chatWindow.hbs create mode 100755 template/chatWindowList.hbs create mode 100755 template/commandHelpDialog.hbs create mode 100755 template/confirm.hbs create mode 100755 template/contact.hbs create mode 100755 template/contactBlock.hbs create mode 100755 template/contactsearch.hbs create mode 100755 template/debugLog.hbs create mode 100755 template/dialog.hbs create mode 100755 template/dialogOmemoDeviceItem.hbs create mode 100755 template/dialogOmemoDeviceList.hbs create mode 100755 template/extensiveStatus.hbs create mode 100755 template/fingerprints.hbs create mode 100755 template/helpers/breaklines.js create mode 100755 template/helpers/t.js create mode 100755 template/helpers/tr.js create mode 100755 template/loginBox.hbs create mode 100755 template/menu.hbs create mode 100755 template/messageHistory.hbs create mode 100755 template/multiUserInvitation.hbs create mode 100755 template/multiUserInvite.hbs create mode 100755 template/multiUserJoin.hbs create mode 100755 template/multiUserMemberlist.hbs create mode 100755 template/notification.hbs create mode 100755 template/partials/menu.hbs create mode 100755 template/roster-form.hbs create mode 100755 template/roster-item.hbs create mode 100755 template/roster.hbs create mode 100755 template/selection.hbs create mode 100755 template/vcard-body.hbs create mode 100755 template/vcard.hbs create mode 100755 template/verification.hbs create mode 100755 template/videoDialog.hbs create mode 100755 test/AccountStub.ts create mode 100755 test/Client.ts create mode 100755 test/DiscoInfoVersion.spec.ts create mode 100755 test/JID.spec.ts create mode 100755 test/Options.spec.ts create mode 100755 test/Storage.spec.ts create mode 100755 test/connection/Form.spec.ts create mode 100755 test/connection/xmpp/handlers/presence.spec.ts create mode 100755 test/util/HookRepository.spec.ts create mode 100755 test/util/Pipe.spec.ts create mode 100755 test/util/Utils.spec.ts create mode 100755 tsconfig.json create mode 100755 webpack.config.js create mode 100755 yarn.lock [root@yfw jsxc-master]# sudo -u www yarn build yarn run v1.22.22 warning ../../package.json: No license field $ webpack --progress --config webpack.config.js --mode production 10% building 0/2 entries 2/2 dependencies 0/2 modulesDeprecation Warning: Using / for division outside of calc() is deprecated and will be removed in Dart Sass 2.0.0. Recommendation: math.div($grid-gutter-width, 2) or calc($grid-gutter-width / 2) More info and automated migrator: https://sass-lang.com/d/slash-div ╷ 368 │ $navbar-padding-horizontal: floor(($grid-gutter-width / 2)) !default; │ ^^^^^^^^^^^^^^^^^^^^^^ ╵ node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_variables.scss 368:43 @import scss/vendor/_all.scss 25:9 @import scss/main.scss 13:9 root stylesheet Deprecation Warning: Using / for division outside of calc() is deprecated and will be removed in Dart Sass 2.0.0. Recommendation: math.div($navbar-height - $line-height-computed, 2) or calc(($navbar-height - $line-height-computed) / 2) More info and automated migrator: https://sass-lang.com/d/slash-div ╷ 369 │ $navbar-padding-vertical: (($navbar-height - $line-height-computed) / 2) !default; │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ╵ node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_variables.scss 369:37 @import scss/vendor/_all.scss 25:9 @import scss/main.scss 13:9 root stylesheet Deprecation Warning: Using / for division outside of calc() is deprecated and will be removed in Dart Sass 2.0.0. Recommendation: math.div($line-height-computed - 1, 2) or calc(($line-height-computed - 1) / 2) More info and automated migrator: https://sass-lang.com/d/slash-div ╷ 43 │ padding: (($line-height-computed - 1) / 2); │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ╵ node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_code.scss 43:13 @import scss/vendor/_all.scss 51:11 @import scss/main.scss 13:9 root stylesheet Deprecation Warning: Using / for division outside of calc() is deprecated and will be removed in Dart Sass 2.0.0. Recommendation: math.div($line-height-computed, 2) or calc($line-height-computed / 2) More info and automated migrator: https://sass-lang.com/d/slash-div ╷ 44 │ margin: 0 0 ($line-height-computed / 2); │ ^^^^^^^^^^^^^^^^^^^^^^^^^ ╵ node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_code.scss 44:16 @import scss/vendor/_all.scss 51:11 @import scss/main.scss 13:9 root stylesheet Deprecation Warning: Using / for division outside of calc() is deprecated and will be removed in Dart Sass 2.0.0. Recommendation: math.div($gutter, 2) or calc($gutter / 2) More info and automated migrator: https://sass-lang.com/d/slash-div ╷ 7 │ padding-right: ceil(($gutter / 2)); │ ^^^^^^^^^^^ ╵ node_modules/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_grid.scss 7:24 container-fixed() node_modules/bootstrap-sass/assets/stylesheets/bootstrap/_grid.scss 11:3 @import scss/vendor/_all.scss 52:11 @import scss/main.scss 13:9 root stylesheet Warning: 10 repetitive deprecation warnings omitted. assets by path images/emojione/*.svg 3.05 MiB 1832 assets assets by path images/icons/*.svg 95.1 KiB 42 assets assets by path images/filetypes/ 29.9 KiB 40 assets assets by path images/*.svg 14.8 KiB 9 assets assets by path assets/ 145 KiB 6 assets assets by path images/emoticons/*.svg 36.7 KiB 6 assets assets by path images/presence/*.svg 9.21 KiB 5 assets assets by path fonts/ 28 KiB 4 assets assets by chunk 2.7 MiB (name: main) asset jsxc.bundle.js 2.44 MiB [emitted] [minimized] (name: main) 1 related asset asset styles/jsxc.bundle.css 264 KiB [emitted] (name: main) asset images/XMPP_logo.png 9.35 KiB [emitted] [from: images/XMPP_logo.png] [copied] asset images/loading.gif 2.7 KiB [emitted] [from: images/loading.gif] [copied] asset LICENSE 1.08 KiB [emitted] [from: LICENSE] [copied] Entrypoint main 2.7 MiB (145 KiB) = styles/jsxc.bundle.css 264 KiB jsxc.bundle.js 2.44 MiB 6 auxiliary assets orphan modules 139 KiB [orphan] 27 modules runtime modules 1.65 KiB 9 modules javascript modules 4.35 MiB modules by path ./node_modules/ 3.14 MiB 268 modules modules by path ./src/ 1.11 MiB 226 modules modules by path ./template/ 95.6 KiB modules by path ./template/*.hbs 95.1 KiB 30 modules modules by path ./template/helpers/*.js 535 bytes 2 modules modules by path ./sound/*.mp3 239 bytes 3 modules modules by path ./images/ 168 bytes ./images/XMPP_logo.png 80 bytes [built] [code generated] ./images/icons/placeholder.svg 88 bytes [built] [code generated] json modules 461 KiB 30 modules css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!./node_modules/sass-loader/dist/cjs.js!./scss/main.scss 263 KiB [built] [code generated] WARNING in ./node_modules/strophe.js/dist/strophe.umd.js 66:44-71 Module not found: Error: Can't resolve 'xmldom' in '/www/wwwroot/szrengjing.com/jsxc/jsxc-master/node_modules/strophe.js/dist' @ ./src/vendor/Strophe.ts 4:17-38 @ ./src/plugins/MessageDeliveryReceiptsPlugin.ts 22:16-44 @ ./src/bootstrap/plugins.ts 5:38-89 @ ./src/index.ts 3:0-30 1 warning has detailed information that is not shown. Use 'stats.errorDetails: true' resp. '--stats-error-details' to show it. webpack 5.65.0 compiled with 1 warning in 38502 ms Done in 40.43s. [root@yfw jsxc-master]# yarn build --bundleAnalyzer yarn run v1.22.22 warning ../../package.json: No license field $ webpack --progress --config webpack.config.js --mode production --bundleAnalyzer [webpack-cli] Error: Unknown option '--bundleAnalyzer' [webpack-cli] Run 'webpack --help' to see available commands and options error Command failed with exit code 2. info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command. [root@yfw jsxc-master]# sudo -u www yarn build -- --bundleAnalyzer yarn run v1.22.22 warning ../../package.json: No license field warning From Yarn 1.0 onwards, scripts don't require "--" for options to be forwarded. In a future version, any explicit "--" will be forwarded as-is to the scripts. $ webpack --progress --config webpack.config.js --mode production --bundleAnalyzer [webpack-cli] Error: Unknown option '--bundleAnalyzer' [webpack-cli] Run 'webpack --help' to see available commands and options error Command failed with exit code 2. info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command. [root@yfw jsxc-master]# sudo -u www yarn build:analyze yarn run v1.22.22 warning ../../package.json: No license field error Command "build:analyze" not found. info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command. [root@yfw jsxc-master]#
11-11
tFblResult ApplFblBmIsValidBlock(tFblBmHdrTargetHandle targetHandle, const V_MEMRAM1 tBlockDescriptor V_MEMRAM2 V_MEMRAM3 * pLogicalBlock) { tFblResult result; # if defined( FBL_ENABLE_PRESENCE_PATTERN ) || defined( FBLBM_ENABLE_STANDALONE_MODE ) vuint8 device; # endif /* FBL_ENABLE_PRESENCE_PATTERN || FBLBM_ENABLE_STANDALONE_MODE */ # if !defined( FBL_ENABLE_PRESENCE_PATTERN ) vuint8 validityFlags[kEepSizeValidityFlags]; vuint8 validityMask; vuint8 byteIdx; # endif /* !FBL_ENABLE_PRESENCE_PATTERN */ # if (!defined( FBLBM_ENABLE_STANDALONE_MODE ) || defined( FBL_ENABLE_PRESENCE_PATTERN )) # if defined( V_ENABLE_USE_DUMMY_STATEMENT ) (void)targetHandle; # endif /* V_ENABLE_USE_DUMMY_STATEMENT */ # endif /* ( !FBLBM_ENABLE_STANDALONE_MODE || FBL_ENABLE_PRESENCE_PATTERN ) */ result = kFblFailed; # if defined( FBLBM_ENABLE_STANDALONE_MODE ) && !defined( FBL_ENABLE_PRESENCE_PATTERN) # error "If presence pattern is disabled special handling must be configured for the FBL because \ validity flags are not available for the FBL." /* Perform presence pattern check only for FBL, use NV validity flags for other blocks */ if (targetHandle == FBLBMHDR_TARGET_FBL) # endif /* FBLBM_ENABLE_STANDALONE_MODE && !FBL_ENABLE_PRESENCE_PATTERN */ # if defined( FBL_ENABLE_PRESENCE_PATTERN ) || defined( FBLBM_ENABLE_STANDALONE_MODE ) { /* Check the presence pattern value */ if (kFblOk == FblMemGetDeviceByRange(pLogicalBlock->blockStartAddress, pLogicalBlock->blockLength, &device)) { # if defined( kMioDeviceProtected ) /* Do not check the presence pattern for RAM */ if (device != kMioDeviceProtected) # endif /* kMioDeviceProtected */ { result = FblNvPatternGetByBlockDescriptor(pLogicalBlock, kFblNvPatternId_BlockValidity ); } } } # endif /* FBL_ENABLE_PRESENCE_PATTERN || FBLBM_ENABLE_STANDALONE_MODE */ # if !defined( FBL_ENABLE_PRESENCE_PATTERN ) # if defined( FBLBM_ENABLE_STANDALONE_MODE ) /* Check NV validity flags if block other than FBL is checked */ else # endif /* FBLBM_ENABLE_STANDALONE_MODE */ { /* Calculate index and mask for validity bit of logical block */ byteIdx = (pLogicalBlock->blockNr >> 0x03u); validityMask = (vuint8)(0x01u << (pLogicalBlock->blockNr & 0x07u)); /* Read validity information from non-volatile memory */ if (ApplFblNvReadValidityFlags(validityFlags) == kFblOk) { if ((validityFlags[byteIdx] & validityMask) == 0u) { /* Block is valid */ result = kFblOk; } } } # endif /* !FBL_ENABLE_PRESENCE_PATTERN */ return result; } #endif /* FBLBM_AP_CALLOUT_IS_VALIDBLOCK */代码解释
03-08
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值