Verifies the integrety of the projects, as builds are executed immediately after a code change was detected. This plan provides no artifiacts (use a nightly build instead).

Build: #1963 was successful

Job: Build was successful

Stages & jobs

  1. Default Stage

Code commits

Openfire (master)

  • Guus der Kinderen

    Guus der Kinderen f60dc60f576df5e07855f14bd6ce74c17031e9df

    Renamed PubSubPersistenceManager -> DefaultPubSubPersistenceProvider
    With the introduction of a 'pluggable' provider mechanism for PubSub persistence, the only implementation that was available up until now will get siblings.

    To prepare for this, the original implementation has been renamed according to the convention used by similar mechanisms.

    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/DefaultPubSubPersistenceProvider.java (version f60dc60f576df5e07855f14bd6ce74c17031e9df)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/PubSubPersistenceProviderManager.java (version f60dc60f576df5e07855f14bd6ce74c17031e9df)
  • Guus der Kinderen

    Guus der Kinderen 41a43bf0fa0dd43abbf1cf2d742d09f6f1a71f4a

    UniqueIdentifiers of PubSubService, Node and Item should not inherit
    Inheritance implies that the instances are comparable, while they are not (an identifier of a Node never equals one of an Item).

    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/CachingPubsubPersistenceProvider.java (version 41a43bf0fa0dd43abbf1cf2d742d09f6f1a71f4a)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/Node.java (version 41a43bf0fa0dd43abbf1cf2d742d09f6f1a71f4a)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/PubSubService.java (version 41a43bf0fa0dd43abbf1cf2d742d09f6f1a71f4a)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/PublishedItem.java (version 41a43bf0fa0dd43abbf1cf2d742d09f6f1a71f4a)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/cluster/FlushTask.java (version 41a43bf0fa0dd43abbf1cf2d742d09f6f1a71f4a)
  • Guus der Kinderen

    Guus der Kinderen 69ca758aced91a790bbe04f5cb5178766c6c78a5

    Do not use Cached provider when running in cluster.
    The cache implementation is not compatible with clustering. This commit defaults to the cached provider only when not running in a cluster.

    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/PubSubPersistenceProviderManager.java (version 69ca758aced91a790bbe04f5cb5178766c6c78a5)
  • Guus der Kinderen

    Guus der Kinderen 1edb3b9906cd50154ba440000e7fde6c7d7229d6

    OF-1989: Make in-memory pubsub implementation compatible with clustering.
    This commit primarily adds Serialization to various pubsub implementations, and utilizes that to make state of the new in-memory pubsub provider shareable in a cluster.

    To facilite this, a 'unique identifier' class was added to each of the three primary pubsub entities: service, node and item.

    The in-memory implementation makes use of multi-valued caches. To properly process thier modification, the CacheUtil class that was originally implemented as part of OF-1700 is added to this commit.

    • xmppserver/src/main/java/org/jivesoftware/openfire/pep/IQPEPHandler.java (version 1edb3b9906cd50154ba440000e7fde6c7d7229d6)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pep/PEPServiceManager.java (version 1edb3b9906cd50154ba440000e7fde6c7d7229d6)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/CollectionNode.java (version 1edb3b9906cd50154ba440000e7fde6c7d7229d6)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/DefaultPubSubPersistenceProvider.java (version 1edb3b9906cd50154ba440000e7fde6c7d7229d6)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/InMemoryPubSubPersistenceProvider.java (version 1edb3b9906cd50154ba440000e7fde6c7d7229d6)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/LeafNode.java (version 1edb3b9906cd50154ba440000e7fde6c7d7229d6)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/Node.java (version 1edb3b9906cd50154ba440000e7fde6c7d7229d6)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/NodeAffiliate.java (version 1edb3b9906cd50154ba440000e7fde6c7d7229d6)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/PubSubPersistenceProvider.java (version 1edb3b9906cd50154ba440000e7fde6c7d7229d6)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/PubSubService.java (version 1edb3b9906cd50154ba440000e7fde6c7d7229d6)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/PublishedItem.java (version 1edb3b9906cd50154ba440000e7fde6c7d7229d6)
  • Guus der Kinderen

    Guus der Kinderen 9c7f4693887814c911d357a59ca179c941efea56

    fix typo

    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/PubSubService.java (version 9c7f4693887814c911d357a59ca179c941efea56)
  • Guus der Kinderen

    Guus der Kinderen 9db3b2abed7c0dc970e662f01db74e650783802e

    OF-1869: Announce PEP features via Service Discovery

    • xmppserver/src/main/java/org/jivesoftware/openfire/pep/IQPEPHandler.java (version 9db3b2abed7c0dc970e662f01db74e650783802e)
  • Guus der Kinderen

    Guus der Kinderen caa83a7020cd67afb0cff485b336d905187c035a

    OF-1985: PubSubService should not be a member of Node
    By having a (non-transient) PubSubService field, Node instances are tightly tied, making serialization (clustering) hard to realize.

    • xmppserver/src/main/java/org/jivesoftware/openfire/pep/IQPEPHandler.java (version caa83a7020cd67afb0cff485b336d905187c035a)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pep/PEPService.java (version caa83a7020cd67afb0cff485b336d905187c035a)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pep/PEPServiceManager.java (version caa83a7020cd67afb0cff485b336d905187c035a)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/CollectionNode.java (version caa83a7020cd67afb0cff485b336d905187c035a)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/DefaultPubSubPersistenceProvider.java (version caa83a7020cd67afb0cff485b336d905187c035a)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/LeafNode.java (version caa83a7020cd67afb0cff485b336d905187c035a)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/Node.java (version caa83a7020cd67afb0cff485b336d905187c035a)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/PubSubEngine.java (version caa83a7020cd67afb0cff485b336d905187c035a)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/PubSubModule.java (version caa83a7020cd67afb0cff485b336d905187c035a)
  • Guus der Kinderen

    Guus der Kinderen 2df54784e66935e998ab2a4886a7dfea6443af47

    OF-1989: Add in-memory pubsub persistence provider.
    A new persistence provider for pubsub data that operates in-memory only. This is intended to be a high-performance provider, but data won't survive JVM restarts.

    Note that this implementation needs additional work to make it function properly in a cluster.

    • src/java/org/jivesoftware/openfire/pubsub/InMemoryPubSubPersistenceProvider.java (version 2df54784e66935e998ab2a4886a7dfea6443af47)
  • Guus der Kinderen

    Guus der Kinderen 8d2326c905b7c908b95f99d56e9dc2a25dd0a96d

    Prevent NPE when auto-creating PEP service

    • xmppserver/src/main/java/org/jivesoftware/openfire/pep/PEPServiceManager.java (version 8d2326c905b7c908b95f99d56e9dc2a25dd0a96d)
  • Guus der Kinderen

    Guus der Kinderen 0bc6f52bbe850a31842c738518dce8bede7ce39a

    Use more of the type-safe UniqueIdentifier types where practical.

    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/CachingPubsubPersistenceProvider.java (version 0bc6f52bbe850a31842c738518dce8bede7ce39a)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/DefaultPubSubPersistenceProvider.java (version 0bc6f52bbe850a31842c738518dce8bede7ce39a)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/InMemoryPubSubPersistenceProvider.java (version 0bc6f52bbe850a31842c738518dce8bede7ce39a)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/LeafNode.java (version 0bc6f52bbe850a31842c738518dce8bede7ce39a)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/Node.java (version 0bc6f52bbe850a31842c738518dce8bede7ce39a)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/PubSubPersistenceProvider.java (version 0bc6f52bbe850a31842c738518dce8bede7ce39a)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/PublishedItem.java (version 0bc6f52bbe850a31842c738518dce8bede7ce39a)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/cluster/RefreshNodeTask.java (version 0bc6f52bbe850a31842c738518dce8bede7ce39a)
  • Guus der Kinderen

    Guus der Kinderen f7a870b05824ce2335a76736e9ecb4b69b42d321

    OF-1988: Introduce pluggable 'provider' mechanism for PubSub perisistency.
    This commit replaces the static methods that store PubSub data in the database with a provider for such data-peristency functionality. This is not unlike the provider mechanism that is available for things like Users, Groups and Admins.

    Additionally, bug fixes / improvements have been applied to earlier work. Notably, the identification of Node instances now no longer is based solely on the Node ID field (which is only unique in context of one service). Instead, an "unique identifier" is used, that combines server ID and node ID.

    • xmppserver/src/main/java/org/jivesoftware/openfire/pep/PEPService.java (version f7a870b05824ce2335a76736e9ecb4b69b42d321)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/DefaultNodeConfiguration.java (version f7a870b05824ce2335a76736e9ecb4b69b42d321)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/LeafNode.java (version f7a870b05824ce2335a76736e9ecb4b69b42d321)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/Node.java (version f7a870b05824ce2335a76736e9ecb4b69b42d321)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/NodeSubscription.java (version f7a870b05824ce2335a76736e9ecb4b69b42d321)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/PubSubEngine.java (version f7a870b05824ce2335a76736e9ecb4b69b42d321)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/PubSubModule.java (version f7a870b05824ce2335a76736e9ecb4b69b42d321)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/PubSubPersistenceManager.java (version f7a870b05824ce2335a76736e9ecb4b69b42d321)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/PubSubPersistenceProvider.java (version f7a870b05824ce2335a76736e9ecb4b69b42d321)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/PubSubPersistenceProviderManager.java (version f7a870b05824ce2335a76736e9ecb4b69b42d321)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/cluster/FlushTask.java (version f7a870b05824ce2335a76736e9ecb4b69b42d321)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/cluster/ModifySubscriptionTask.java (version f7a870b05824ce2335a76736e9ecb4b69b42d321)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/cluster/RefreshNodeTask.java (version f7a870b05824ce2335a76736e9ecb4b69b42d321)
  • Guus der Kinderen

    Guus der Kinderen 12bc4f66c9be8f36703771562facaebd6a79a2e0

    OF-1985: Pubsub Node decoupling
    Instead of doing Service-based lookups in the constructor of Node, do these lookups before calling the constructor. This aims to decouple Node from Service. There should not be any functional change, although API changes are introduced by this commit.

    • xmppserver/src/main/java/org/jivesoftware/openfire/pep/IQPEPHandler.java (version 12bc4f66c9be8f36703771562facaebd6a79a2e0)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pep/PEPService.java (version 12bc4f66c9be8f36703771562facaebd6a79a2e0)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/CollectionNode.java (version 12bc4f66c9be8f36703771562facaebd6a79a2e0)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/DefaultPubSubPersistenceProvider.java (version 12bc4f66c9be8f36703771562facaebd6a79a2e0)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/LeafNode.java (version 12bc4f66c9be8f36703771562facaebd6a79a2e0)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/Node.java (version 12bc4f66c9be8f36703771562facaebd6a79a2e0)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/PubSubEngine.java (version 12bc4f66c9be8f36703771562facaebd6a79a2e0)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/PubSubModule.java (version 12bc4f66c9be8f36703771562facaebd6a79a2e0)
  • Guus der Kinderen

    Guus der Kinderen cc16c6f2538b7928a81bd026f791dcf49cecaae7

    OF-1985: Refactoring: split 'save' operations in distinct 'create' and 'update'
    The PubSubPersistenceManager had two 'upsert'-style methods. This commit replaces those with distinct 'insert' and 'update' alternatives, which helps to separate concerns.

    The existing methods are retained, now marked as deprecated.

    This commit should not have introduced a functional change.

    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/Node.java (version cc16c6f2538b7928a81bd026f791dcf49cecaae7)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/NodeSubscription.java (version cc16c6f2538b7928a81bd026f791dcf49cecaae7)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/PubSubPersistenceManager.java (version cc16c6f2538b7928a81bd026f791dcf49cecaae7)
  • Guus der Kinderen

    Guus der Kinderen 6b06e597a8dfb845d4ba4074ca9c1f635ab30e55

    OF-1985: Split complex method in distinct parts

    • xmppserver/src/main/java/org/jivesoftware/openfire/pep/IQPEPHandler.java (version 6b06e597a8dfb845d4ba4074ca9c1f635ab30e55)
  • Guus der Kinderen

    Guus der Kinderen dc59d70439554666dedfe067250dd956152ba2ee

    OF-1990: pubsub: split cache from persistence
    Historically, the database-based Pubsub persistence provider relies on heavy caching. This mechanism is complex and therefor error prone. It's also not needed for light usage.

    This commit splits off the caching implementation from the database-based pubsub persistence provider, into a provider that can be used as a proxy to other providers (to add a layer of caching to the delegated provider). This reduces the code complexity of the database-based implementation, and, by isolating caching code in a dedicated class, allows for easier maintenance of that code too.

    This brings these additional changes:
    - the 'retry' functionality (where failed database writes are retried a configurable amount of time) has been removed.
    - 'flush' functionality, that only exists to the state of persistent storage in line with caches, has been moved out of the interface definition (it now lives solely in the CachingPubsubPersistenceProvider)

    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/CachingPubsubPersistenceProvider.java (version dc59d70439554666dedfe067250dd956152ba2ee)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/DefaultPubSubPersistenceProvider.java (version dc59d70439554666dedfe067250dd956152ba2ee)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/InMemoryPubSubPersistenceProvider.java (version dc59d70439554666dedfe067250dd956152ba2ee)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/PubSubPersistenceProvider.java (version dc59d70439554666dedfe067250dd956152ba2ee)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/PubSubPersistenceProviderManager.java (version dc59d70439554666dedfe067250dd956152ba2ee)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/cluster/FlushTask.java (version dc59d70439554666dedfe067250dd956152ba2ee)
  • Guus der Kinderen

    Guus der Kinderen 8052928a78d3088f2595587563ebc2d91a73a0a9

    OF-1696: Prevent Exceptions on first show of 'Personal Eventing'
    When auto-creating a PEP service, ensure that the service is persisted, before being modified. Also ensure that the handler that manages them is started.

    • xmppserver/src/main/java/org/jivesoftware/openfire/pep/PEPService.java (version 8052928a78d3088f2595587563ebc2d91a73a0a9)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/InMemoryPubSubPersistenceProvider.java (version 8052928a78d3088f2595587563ebc2d91a73a0a9)
    • xmppserver/src/main/webapp/pubsub-node-summary.jsp (version 8052928a78d3088f2595587563ebc2d91a73a0a9)
  • Guus der Kinderen

    Guus der Kinderen b0046ee1d4ee4c6189569ec808793060ee068f6d

    OF-1989: Improve serializability of pubsub entities.

    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/Node.java (version b0046ee1d4ee4c6189569ec808793060ee068f6d)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/models/AccessModel.java (version b0046ee1d4ee4c6189569ec808793060ee068f6d)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/models/PublisherModel.java (version b0046ee1d4ee4c6189569ec808793060ee068f6d)
  • Guus der Kinderen

    Guus der Kinderen 8c27e0d6cb2a3b343cca04a4dbab3659fd7219df

    Add unit test that verify Node serialization.

    • xmppserver/src/test/java/org/jivesoftware/openfire/pubsub/CollectionNodeTest.java (version 8c27e0d6cb2a3b343cca04a4dbab3659fd7219df)
    • xmppserver/src/test/java/org/jivesoftware/openfire/pubsub/LeafNodeTest.java (version 8c27e0d6cb2a3b343cca04a4dbab3659fd7219df)
  • Guus der Kinderen

    Guus der Kinderen 12344718d177171065814e3858f7748c11f3be3f

    OF-1986: Do not auto-create a PEPService if it's not needed.

    • xmppserver/src/main/java/org/jivesoftware/openfire/pep/IQPEPHandler.java (version 12344718d177171065814e3858f7748c11f3be3f)
    • xmppserver/src/main/webapp/pubsub-node-summary.jsp (version 12344718d177171065814e3858f7748c11f3be3f)
  • Guus der Kinderen

    Guus der Kinderen e07dffc7a8007c36b7f591ed639052d94cb33087

    OF-1990: Use SystemProperty instead of JiveGlobals

    • i18n/src/main/resources/openfire_i18n.properties (version e07dffc7a8007c36b7f591ed639052d94cb33087)
    • i18n/src/main/resources/openfire_i18n_nl.properties (version e07dffc7a8007c36b7f591ed639052d94cb33087)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/CachingPubsubPersistenceProvider.java (version e07dffc7a8007c36b7f591ed639052d94cb33087)
  • Guus der Kinderen

    Guus der Kinderen 0ae3a1a7518cf6efb06cc48ceee12c27bf2b2d8c

    OF-1987: Pubsub: add database caching mechanism.
    This commit is the foundation of work that adds (more) database caching to Pubsub. The objective is to depend less on database IO before an IQ result on a pubsub request can be made.

    The existing implementation already included some of this, but this was applied only to items being published/removed.

    This commit adds a similar concept to the acts of:
    - creation, update and removal of a node;
    - creation, update and removal of a node affiliation;
    - creation, update and removal of a node subscription;
    - creation, update and removal of (default) service configuration.

    Flushing of pending work is tied into the pre-existing flush mechanism for pending items. This mechanism was extended to allow for flushes of items of a certain node only (the original code always required everyting to be flushed to the database).

    An API change was introduced: deletion of a node returned a success indication (a boolean). As the implementation now is asynchronous, that indication is no longer available.

    TODOs:
    - Functional testing. None has been done at the time of writing this commit message.
    - The additions made in this commit are not thread safe, but should be. In particular with regards to the 'nodesToProcess' work list.
    - Flushing of a single node might not have the desired effect. What if that node was part of a hierarchy? Shouldn't that entire tree be flushed? Maybe a sensible middle-ground between 'flush everything' and 'flush only one node' is: 'flush all nodes from a particular service'.
    - When doing a cluster-wide flush, determine if it's sensible to first ensure that all cluster nodes have processed all (pubsub) nodes, before allowing every node to start process pending items.
    - database actions that create or update node affiliations are combined in one method. That should be split into two. Same for node subscriptions.
    - split off the 'caching' code from the persistent manager, to reduce the complexity of this class. One way of doing this would be to create a PubSubPersistentManager interface, and a provider that makes it pluggable (just like what's done for other data providers in Openfire). The cache-based one could be one that delegates to the default one, or maybe even be configured to use any other provider. An added bonus of this approach is that the functionality added in this commit need not be mandatory - being able to _not_ use it, in case of bugs, is good.
    - Not related to changes in this commit (OF-1870): Code that's flushing data to the database makes items to be added available to the clustered cache, before the database write is done. This does not seem to take into account that these items might also be present in the delete work-queue. There appears to be room for error here.
    - Not related to changes in this commit (OF-1871): itemsToAdd and itemsToDelete are two distinct lists. When one node is added to both, the existing code will always result in the node being added. That might not reflect the order in which these events were added to the queue, originally.
    - Not related to changes in this commit (OF-1872): if a database transaction fails, the item 'add' list is rolled back, but the 'delete' list is not. This is suspicious.

    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/Node.java (version 0ae3a1a7518cf6efb06cc48ceee12c27bf2b2d8c)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/PubSubEngine.java (version 0ae3a1a7518cf6efb06cc48ceee12c27bf2b2d8c)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/PubSubPersistenceManager.java (version 0ae3a1a7518cf6efb06cc48ceee12c27bf2b2d8c)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/cluster/FlushTask.java (version 0ae3a1a7518cf6efb06cc48ceee12c27bf2b2d8c)
  • Guus der Kinderen

    Guus der Kinderen 26c6af35d9ae3d9f97cceb2681abc923bedf1cd2

    OF-1988: Use SystemProperty instead of JiveGlobals

    • i18n/src/main/resources/openfire_i18n.properties (version 26c6af35d9ae3d9f97cceb2681abc923bedf1cd2)
    • i18n/src/main/resources/openfire_i18n_nl.properties (version 26c6af35d9ae3d9f97cceb2681abc923bedf1cd2)
    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/PubSubPersistenceProviderManager.java (version 26c6af35d9ae3d9f97cceb2681abc923bedf1cd2)
  • Guus der Kinderen

    Guus der Kinderen 18594e198288cf0b2258d195a081d77c1f0fb29b

    OF-1992: Interpret a 'to' value that matches the XMPP domain as 'addressed to service'

    • xmppserver/src/main/java/org/jivesoftware/openfire/pep/IQPEPHandler.java (version 18594e198288cf0b2258d195a081d77c1f0fb29b)
  • Guus der Kinderen

    Guus der Kinderen b4c5478d6511f7950f21057bf12835a6a1121f9c

    OF-1993: Ensure that databae resource is closed

    • xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/DefaultPubSubPersistenceProvider.java (version b4c5478d6511f7950f21057bf12835a6a1121f9c)
  • Guus der Kinderen

    Guus der Kinderen 62c3677b5938232e42781e976b709b7961e8a3cb

    OF-1968: Add vCard (avatar) support for MUC rooms.
    This largely follows the specification as defined by ProcessOne: https://docs.ejabberd.im/tutorials/muc-vcard, with an addition to make things work with Converse.

    The change herein stores a room vCard into the same database table that's used for regular users (but using the JID for the room, as opposed to the username that's used for users).

    A downside of this approach is that setting avatars for MUC rooms likely does not work in AD/LDAP setups (or other setups where the vCardProvider is read-only).

    This commit lacks an admin console change (it would be nice to also be able to specify a vCard or avatar for a room through the admin console).

    • xmppserver/src/main/java/org/jivesoftware/openfire/muc/MultiUserChatService.java (version 62c3677b5938232e42781e976b709b7961e8a3cb)
    • xmppserver/src/main/java/org/jivesoftware/openfire/muc/cluster/BroadcastPresenceRequest.java (version 62c3677b5938232e42781e976b709b7961e8a3cb)
    • xmppserver/src/main/java/org/jivesoftware/openfire/muc/spi/IQMUCvCardHandler.java (version 62c3677b5938232e42781e976b709b7961e8a3cb)
    • xmppserver/src/main/java/org/jivesoftware/openfire/muc/spi/MultiUserChatServiceImpl.java (version 62c3677b5938232e42781e976b709b7961e8a3cb)