From 17a103f7d8e260645181fd90451d59367e51193d Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Tue, 11 Oct 2022 18:01:22 +0200
Subject: [PATCH 001/145] Release of 6.3 from 6.3-build221011 (commit
 51b4b778f9ade04bda886585d37a284f1d287762)

---
 Jenkinsfile                  | 2 +-
 mobile-configuration/pom.xml | 2 +-
 mobile-war/pom.xml           | 2 +-
 pom.xml                      | 4 ++--
 4 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/Jenkinsfile b/Jenkinsfile
index 4ffe65e24..0d0d293c8 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -8,7 +8,7 @@ pipeline {
   }
   agent {
     docker {
-      image 'silverpeas/silverbuild'
+      image 'silverpeas/silverbuild:6.3'
       args '-v $HOME/.m2:/home/silverbuild/.m2 -v $HOME/.gitconfig:/home/silverbuild/.gitconfig -v $HOME/.ssh:/home/silverbuild/.ssh -v $HOME/.gnupg:/home/silverbuild/.gnupg'
     }
   }
diff --git a/mobile-configuration/pom.xml b/mobile-configuration/pom.xml
index 37b798771..f81a53dd3 100644
--- a/mobile-configuration/pom.xml
+++ b/mobile-configuration/pom.xml
@@ -28,7 +28,7 @@
   <parent>
     <groupId>org.silverpeas.components</groupId>
     <artifactId>mobile</artifactId>
-    <version>6.3-SNAPSHOT</version>
+    <version>6.3</version>
   </parent>
 
   <groupId>org.silverpeas.components.mobile</groupId>
diff --git a/mobile-war/pom.xml b/mobile-war/pom.xml
index 95a547512..99f9805c6 100644
--- a/mobile-war/pom.xml
+++ b/mobile-war/pom.xml
@@ -30,7 +30,7 @@
   <parent>
     <groupId>org.silverpeas.components</groupId>
     <artifactId>mobile</artifactId>
-    <version>6.3-SNAPSHOT</version>
+    <version>6.3</version>
   </parent>
 
   <groupId>org.silverpeas.components.mobile</groupId>
diff --git a/pom.xml b/pom.xml
index 33bb0fcc6..77b8676ec 100644
--- a/pom.xml
+++ b/pom.xml
@@ -35,11 +35,11 @@
   <groupId>org.silverpeas.components</groupId>
   <artifactId>mobile</artifactId>
   <packaging>pom</packaging>
-  <version>6.3-SNAPSHOT</version>
+  <version>6.3</version>
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3-build221011</silverpeas.version>
+    <silverpeas.version>6.3</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3</next.release>

From 13e06c5edee73065f47d490aa43f74ff7c924242 Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Tue, 11 Oct 2022 18:02:48 +0200
Subject: [PATCH 002/145] Prepare branch 6.3.x for bug fixes

---
 mobile-configuration/pom.xml | 2 +-
 mobile-war/pom.xml           | 2 +-
 pom.xml                      | 6 +++---
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/mobile-configuration/pom.xml b/mobile-configuration/pom.xml
index f81a53dd3..eb12c01d1 100644
--- a/mobile-configuration/pom.xml
+++ b/mobile-configuration/pom.xml
@@ -28,7 +28,7 @@
   <parent>
     <groupId>org.silverpeas.components</groupId>
     <artifactId>mobile</artifactId>
-    <version>6.3</version>
+    <version>6.3.1-SNAPSHOT</version>
   </parent>
 
   <groupId>org.silverpeas.components.mobile</groupId>
diff --git a/mobile-war/pom.xml b/mobile-war/pom.xml
index 99f9805c6..84efde9f9 100644
--- a/mobile-war/pom.xml
+++ b/mobile-war/pom.xml
@@ -30,7 +30,7 @@
   <parent>
     <groupId>org.silverpeas.components</groupId>
     <artifactId>mobile</artifactId>
-    <version>6.3</version>
+    <version>6.3.1-SNAPSHOT</version>
   </parent>
 
   <groupId>org.silverpeas.components.mobile</groupId>
diff --git a/pom.xml b/pom.xml
index 77b8676ec..265898a91 100644
--- a/pom.xml
+++ b/pom.xml
@@ -35,14 +35,14 @@
   <groupId>org.silverpeas.components</groupId>
   <artifactId>mobile</artifactId>
   <packaging>pom</packaging>
-  <version>6.3</version>
+  <version>6.3.1-SNAPSHOT</version>
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3</silverpeas.version>
+    <silverpeas.version>6.3.1-SNAPSHOT</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
-     <next.release>6.3</next.release>
+     <next.release>6.3.1</next.release>
   </properties>
 
   <repositories>

From f6950828fbce9bf6fb086cdd36f4740f8981ae78 Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Sat, 15 Oct 2022 10:36:28 +0200
Subject: [PATCH 003/145] Update dependency on Silverpeas to version
 6.3.1-build221015

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 265898a91..fa9b87f1f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.1-SNAPSHOT</silverpeas.version>
+    <silverpeas.version>6.3.1-build221015</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.1</next.release>

From 54580b57e2bc09c985e89e51f69279afb945030f Mon Sep 17 00:00:00 2001
From: svuillet <svu@silvepeas.com>
Date: Fri, 21 Oct 2022 15:17:51 +0200
Subject: [PATCH 004/145] Fix #13280

---
 .../silverpeas/mobile/server/services/ServiceHyperLink.java   | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/server/services/ServiceHyperLink.java b/mobile-war/src/main/java/org/silverpeas/mobile/server/services/ServiceHyperLink.java
index 7e2ee9400..416b167ae 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/server/services/ServiceHyperLink.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/server/services/ServiceHyperLink.java
@@ -47,10 +47,10 @@ public class ServiceHyperLink extends AbstractRestWebService {
   @Context
   HttpServletRequest request;
 
-  @PathParam("mobile/appId")
+  @PathParam("appId")
   private String componentId;
 
-  static final String PATH = "hyperlink";
+  static final String PATH = "mobile/hyperlink";
 
   @GET
   @Produces(MediaType.TEXT_PLAIN)

From d69eec2099a868c6cb9c7833986726b23f0c7d89 Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Sat, 22 Oct 2022 10:35:31 +0200
Subject: [PATCH 005/145] Update dependency on Silverpeas to version
 6.3.1-build221022

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index fa9b87f1f..3b5c6b9af 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.1-build221015</silverpeas.version>
+    <silverpeas.version>6.3.1-build221022</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.1</next.release>

From a3563ba90b6b9d65c904887a881bd27001306393 Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Sat, 29 Oct 2022 10:36:35 +0200
Subject: [PATCH 006/145] Update dependency on Silverpeas to version
 6.3.1-build221029

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 3b5c6b9af..0eed3f128 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.1-build221022</silverpeas.version>
+    <silverpeas.version>6.3.1-build221029</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.1</next.release>

From 53fed581538064a95d370fa56fa3db60f6949737 Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Sat, 5 Nov 2022 10:35:26 +0100
Subject: [PATCH 007/145] Update dependency on Silverpeas to version
 6.3.1-build221105

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 0eed3f128..7a66d7db9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.1-build221029</silverpeas.version>
+    <silverpeas.version>6.3.1-build221105</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.1</next.release>

From 4a61226698389d1fc09b70e3ef3b5ca840a76f7d Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Sat, 12 Nov 2022 10:36:19 +0100
Subject: [PATCH 008/145] Update dependency on Silverpeas to version
 6.3.1-build221112

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 7a66d7db9..cb5ad613c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.1-build221105</silverpeas.version>
+    <silverpeas.version>6.3.1-build221112</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.1</next.release>

From c3b1085acac528af1e810f3e0a50d944ef51e5d8 Mon Sep 17 00:00:00 2001
From: svuillet <svu@silvepeas.com>
Date: Mon, 14 Nov 2022 10:26:06 +0100
Subject: [PATCH 009/145] Fix Bug #13310

---
 .../java/org/silverpeas/bridge/MobilFilter.java     |  5 +++++
 .../client/apps/formsonline/FormsOnlineApp.java     | 13 +++++++++++++
 .../mobile/server/services/ServiceFormsOnline.java  |  7 +++++++
 3 files changed, 25 insertions(+)

diff --git a/mobile-war/src/main/java/org/silverpeas/bridge/MobilFilter.java b/mobile-war/src/main/java/org/silverpeas/bridge/MobilFilter.java
index c6504d919..be7d21b01 100644
--- a/mobile-war/src/main/java/org/silverpeas/bridge/MobilFilter.java
+++ b/mobile-war/src/main/java/org/silverpeas/bridge/MobilFilter.java
@@ -113,6 +113,11 @@ public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain)
           String appId = pub.getInstanceId();
           params = "?shortcutContentType=Publication&shortcutContentId=" + id + "&shortcutAppId=" +
               appId;
+        } else if (url.contains("Form")) {
+          // sample : /silverpeas/Form/1?ComponentId=formsOnline1
+          String id = url.substring(url.lastIndexOf("/") + 1);
+          String appId = req.getParameter("ComponentId");
+          params = "?shortcutContentType=Form&shortcutContentId=" + id + "&shortcutAppId=" + appId;
         } else if (url.contains("Media")) {
           String id = url.substring(url.lastIndexOf("/") + 1);
           Media media = getGalleryService().getMedia(new MediaPK(id));
diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/formsonline/FormsOnlineApp.java b/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/formsonline/FormsOnlineApp.java
index 59f4bbfcf..57cfb0235 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/formsonline/FormsOnlineApp.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/formsonline/FormsOnlineApp.java
@@ -367,6 +367,19 @@ public void appInstanceChanged(final NavigationAppInstanceChangedEvent event) {
 
   @Override
   public void showContent(final NavigationShowContentEvent event) {
+    if (event.getContent().getType().equals("Form")) {
+      ApplicationInstanceDTO appInst = new ApplicationInstanceDTO();
+      appInst.setId(event.getContent().getInstanceId());
+      this.setApplicationInstance(appInst);
+
+      String id = event.getContent().getId();
+      FormOnlineLoadEvent ev = new FormOnlineLoadEvent();
+      FormDTO form = new FormDTO();
+      form.setXmlFormName(id);
+      ev.setForm(form);
+      loadFormOnline(ev);
+    }
+
     if (event.getContent().getType().equals("Component") && event.getContent().getInstanceId().startsWith(Apps.formsOnline.name())) {
       ApplicationInstanceDTO appInst = new ApplicationInstanceDTO();
       appInst.setId(event.getContent().getInstanceId());
diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/server/services/ServiceFormsOnline.java b/mobile-war/src/main/java/org/silverpeas/mobile/server/services/ServiceFormsOnline.java
index 162fcd486..38c594f2d 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/server/services/ServiceFormsOnline.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/server/services/ServiceFormsOnline.java
@@ -25,6 +25,7 @@
 package org.silverpeas.mobile.server.services;
 
 import org.apache.commons.fileupload.FileItem;
+import org.apache.commons.lang3.math.NumberUtils;
 import org.silverpeas.components.formsonline.FormsOnlineComponentSettings;
 import org.silverpeas.components.formsonline.model.FormDetail;
 import org.silverpeas.components.formsonline.model.FormInstance;
@@ -352,6 +353,12 @@ public List<FormFieldDTO> getForm(@PathParam("formName") String formName) {
     List<FormFieldDTO> fields = new ArrayList<>();
 
     try {
+      if (NumberUtils.isDigits(formName)) {
+        FormPK pk = new FormPK(formName, componentId);
+        FormDetail fd = FormsOnlineService.get().loadForm(pk);
+        formName = fd.getXmlFormName();
+      }
+
       PublicationTemplate template = getPublicationTemplate(formName, true);
       Form formUpdate = getEmptyForm(template);
 

From 5319887ccf768df503aacaf818ff8d621d702ceb Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Sat, 19 Nov 2022 10:34:38 +0100
Subject: [PATCH 010/145] Update dependency on Silverpeas to version
 6.3.1-build221119

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index cb5ad613c..96bf43dde 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.1-build221112</silverpeas.version>
+    <silverpeas.version>6.3.1-build221119</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.1</next.release>

From 9e770af4d46c291c8f8292d6b989e408cbc9617a Mon Sep 17 00:00:00 2001
From: svuillet <svu@silvepeas.com>
Date: Wed, 30 Nov 2022 16:47:56 +0100
Subject: [PATCH 011/145] Fix #13327

---
 .../common/network/MethodCallbackOnlineOnly.java    |  3 +++
 .../client/resources/ApplicationMessages.java       |  3 +++
 .../resources/ApplicationMessages_en.properties     |  4 +++-
 .../resources/ApplicationMessages_fr.properties     |  4 +++-
 .../mobile/server/services/ServiceNavigation.java   | 13 +++++--------
 5 files changed, 17 insertions(+), 10 deletions(-)

diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/client/common/network/MethodCallbackOnlineOnly.java b/mobile-war/src/main/java/org/silverpeas/mobile/client/common/network/MethodCallbackOnlineOnly.java
index c0faa2217..ec0caf0be 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/client/common/network/MethodCallbackOnlineOnly.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/client/common/network/MethodCallbackOnlineOnly.java
@@ -32,6 +32,7 @@
 import org.silverpeas.mobile.client.common.EventBus;
 import org.silverpeas.mobile.client.common.Notification;
 import org.silverpeas.mobile.client.common.event.ErrorEvent;
+import org.silverpeas.mobile.client.components.Popin;
 import org.silverpeas.mobile.client.resources.ApplicationMessages;
 
 /**
@@ -57,6 +58,8 @@ public void execute() {
           attempt();
         }
       });
+    } else if (method.getResponse().getStatusCode() == 404) {
+      new Popin(msg.notfoundError()).show();
     } else {
       if (NetworkHelper.needToGoOffine(t)) {
         // Lost connexion during requesting
diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/client/resources/ApplicationMessages.java b/mobile-war/src/main/java/org/silverpeas/mobile/client/resources/ApplicationMessages.java
index 138717225..23d041690 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/client/resources/ApplicationMessages.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/client/resources/ApplicationMessages.java
@@ -186,4 +186,7 @@ public interface ApplicationMessages extends Messages {
   @DefaultMessage("Envoyées")
   SafeHtml sended();
 
+  @DefaultMessage("Ressource non trouvée")
+  String notfoundError();
+
 }
diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/client/resources/ApplicationMessages_en.properties b/mobile-war/src/main/java/org/silverpeas/mobile/client/resources/ApplicationMessages_en.properties
index 355e02b4d..a767e209a 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/client/resources/ApplicationMessages_en.properties
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/client/resources/ApplicationMessages_en.properties
@@ -80,4 +80,6 @@ showPwd=Show password
 hidePwd=Hide password
 
 received=Received
-sended=Sended
\ No newline at end of file
+sended=Sended
+
+notfoundError=Ressource not found
\ No newline at end of file
diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/client/resources/ApplicationMessages_fr.properties b/mobile-war/src/main/java/org/silverpeas/mobile/client/resources/ApplicationMessages_fr.properties
index a7b654cf2..f996678fa 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/client/resources/ApplicationMessages_fr.properties
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/client/resources/ApplicationMessages_fr.properties
@@ -83,4 +83,6 @@ showPwd=Afficher le mot de passe
 hidePwd=Masquer le mot de passe
 
 received=Reçues
-sended=Envoyées
\ No newline at end of file
+sended=Envoyées
+
+notfoundError=Ressource non trouv�e
\ No newline at end of file
diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/server/services/ServiceNavigation.java b/mobile-war/src/main/java/org/silverpeas/mobile/server/services/ServiceNavigation.java
index 7f05dc493..12257568e 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/server/services/ServiceNavigation.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/server/services/ServiceNavigation.java
@@ -80,14 +80,7 @@
 import org.silverpeas.mobile.shared.dto.navigation.SpaceDTO;
 
 import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
+import javax.ws.rs.*;
 import javax.ws.rs.core.Context;
 import javax.ws.rs.core.MediaType;
 import java.io.IOException;
@@ -580,18 +573,22 @@ public ApplicationInstanceDTO getApp(@PathParam("instanceId") String instanceId,
     if (instanceId == null) {
       if (contentType.equals(ContentsTypes.Publication.name())) {
         PublicationDetail pub = PublicationService.get().getDetail(new PublicationPK(contentId));
+        if (pub == null) throw new NotFoundException();
         instanceId = pub.getInstanceId();
       } else if (contentType.equals(ContentsTypes.Media.name())) {
         Media media = MediaServiceProvider.getMediaService().getMedia(new MediaPK(contentId));
+        if (media == null) throw new NotFoundException();
         instanceId = media.getInstanceId();
       } else if (contentType.equals(ContentsTypes.Event.name())) {
         ContributionIdentifier contributionId =
             ContributionIdentifier.decode(new String(StringUtil.fromBase64(contentId)));
         localId = contributionId.getLocalId();
         instanceId = contributionId.getComponentInstanceId();
+        if (instanceId.equals("?")) throw new NotFoundException();
       }
     }
     ApplicationInstanceDTO dto = getApplicationInstanceDTO(instanceId);
+    if (dto == null) throw new NotFoundException();
     dto.setExtraId(localId);
     return dto;
   }

From 15027b7a2cfbb1b1b76f16c3bf3ecb8a2f4a05a7 Mon Sep 17 00:00:00 2001
From: svuillet <svu@silvepeas.com>
Date: Thu, 1 Dec 2022 16:19:30 +0100
Subject: [PATCH 012/145] Fix #13328

---
 .../mobile/client/apps/documents/DocumentsApp.java          | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/documents/DocumentsApp.java b/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/documents/DocumentsApp.java
index d04337447..a2adc5335 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/documents/DocumentsApp.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/documents/DocumentsApp.java
@@ -129,6 +129,12 @@ private void displayContent(final ContentDTO content) {
       setMainPage(page);
       page.show();
       EventBus.getInstance().fireEvent(new DocumentsLoadPublicationEvent(content));
+    } else if (content.getType().equals(ContentsTypes.Component.toString())) {
+      ApplicationInstanceDTO data = new ApplicationInstanceDTO();
+      data.setId(content.getInstanceId());
+      data.setType(Apps.kmelia.name());
+      NavigationAppInstanceChangedEvent event = new NavigationAppInstanceChangedEvent(data);
+      appInstanceChanged(event);
     } else if (content.getType().equals(ContentsTypes.Attachment.toString())) {
       final DocumentsApp app = this;
 

From 4751bcccf58365f03d5492a350368f743c2c13a4 Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Sat, 3 Dec 2022 10:33:40 +0100
Subject: [PATCH 013/145] Update dependency on Silverpeas to version
 6.3.1-build221203

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 96bf43dde..3b403bf90 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.1-build221119</silverpeas.version>
+    <silverpeas.version>6.3.1-build221203</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.1</next.release>

From 3eff7ca95cef917f2709f8041b29750810fa4e34 Mon Sep 17 00:00:00 2001
From: svuillet <svu@silvepeas.com>
Date: Fri, 9 Dec 2022 16:12:32 +0100
Subject: [PATCH 014/145] Fix #13335

---
 .../mobile/client/apps/formsonline/FormsOnlineApp.java          | 2 +-
 .../mobile/client/components/forms/FieldEditable.java           | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/formsonline/FormsOnlineApp.java b/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/formsonline/FormsOnlineApp.java
index 57cfb0235..4ebd7e896 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/formsonline/FormsOnlineApp.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/formsonline/FormsOnlineApp.java
@@ -177,7 +177,7 @@ public void saveForm(final FormSaveEvent formSaveEvent) {
   }
 
   private static native void saveForm(FormsOnlineApp app, JavaScriptObject fd, String token, String stkn, String instanceId, String formId) /*-{
-    var url = "/silverpeas/services/formsOnline/"+instanceId+"/saveForm/" + formId;
+    var url = "/silverpeas/services/mobile/formsOnline/"+instanceId+"/saveForm/" + formId;
     var xhr = new XMLHttpRequest();
     xhr.open("POST", url, false);
     xhr.setRequestHeader("X-Silverpeas-Session", token);
diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/client/components/forms/FieldEditable.java b/mobile-war/src/main/java/org/silverpeas/mobile/client/components/forms/FieldEditable.java
index c0bbcb2d7..a5f9c55c8 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/client/components/forms/FieldEditable.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/client/components/forms/FieldEditable.java
@@ -165,7 +165,7 @@ public void setData(FormFieldDTO data) {
       t.setReadOnly(data.isReadOnly());
       t.addChangeHandler(this);
       w = t;
-    }  else if(type.equalsIgnoreCase("text") || type.equalsIgnoreCase("simpletext")) {
+    }  else if(type.equalsIgnoreCase("text") || type.equalsIgnoreCase("simpletext") || type.equalsIgnoreCase("map")) {
       TextBox t = new TextBox();
       t.setText(data.getValue());
       t.setReadOnly(data.isReadOnly());

From ea90cf970f22209177b7e1ad02b26344d4fdc7bb Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Sat, 10 Dec 2022 10:34:39 +0100
Subject: [PATCH 015/145] Update dependency on Silverpeas to version
 6.3.1-build221210

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 3b403bf90..0ee776d34 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.1-build221203</silverpeas.version>
+    <silverpeas.version>6.3.1-build221210</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.1</next.release>

From a416f447110d9bee1db540e710ea9d5b678ffc69 Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Sat, 17 Dec 2022 10:34:33 +0100
Subject: [PATCH 016/145] Update dependency on Silverpeas to version
 6.3.1-build221217

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 0ee776d34..0299e0b55 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.1-build221210</silverpeas.version>
+    <silverpeas.version>6.3.1-build221217</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.1</next.release>

From c2d58da7abd77f007b9b0559a533dc37f0e4e1d5 Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Sat, 31 Dec 2022 10:35:16 +0100
Subject: [PATCH 017/145] Update dependency on Silverpeas to version
 6.3.1-build221231

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 0299e0b55..119307429 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.1-build221217</silverpeas.version>
+    <silverpeas.version>6.3.1-build221231</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.1</next.release>

From e1ba16047408dc2a433c34d2573c5bfcb089b5b5 Mon Sep 17 00:00:00 2001
From: svuillet <svu@silvepeas.com>
Date: Mon, 2 Jan 2023 10:23:05 +0100
Subject: [PATCH 018/145] Feature #13385

---
 .../main/java/org/silverpeas/mobile/client/SpMobil.java   | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/client/SpMobil.java b/mobile-war/src/main/java/org/silverpeas/mobile/client/SpMobil.java
index e38c969c1..f025a171a 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/client/SpMobil.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/client/SpMobil.java
@@ -117,6 +117,8 @@ public class SpMobil implements EntryPoint, AuthenticationEventHandler {
   private static Orientation orientation = null;
   private static List<App> apps = new ArrayList<App>();
 
+  private static int nbRetryLogin = 0;
+
   public static DetailUserDTO getUser() {
     return user;
   }
@@ -308,9 +310,13 @@ public void attempt() {
           super.attempt();
           FullUserDTO u = AuthentificationManager.getInstance().loadUser();
           if (u != null) {
+            nbRetryLogin = 0;
             ServicesLocator.getServiceNavigation().getUser(u.getLogin(), u.getDomainId(), this);
           } else {
-            tryToRelogin(attempt);
+            if (nbRetryLogin < 5) {
+              tryToRelogin(attempt);
+              nbRetryLogin++;
+            }
           }
         }
 

From 6e85404c089cb6ac2557c15b1d88b53dc210bca1 Mon Sep 17 00:00:00 2001
From: svuillet <svu@silvepeas.com>
Date: Tue, 3 Jan 2023 16:32:04 +0100
Subject: [PATCH 019/145] fix forms list height

---
 .../mobile/client/apps/formsonline/pages/FormsOnlinePage.java    | 1 -
 1 file changed, 1 deletion(-)

diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/formsonline/pages/FormsOnlinePage.java b/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/formsonline/pages/FormsOnlinePage.java
index 7c6f4a670..295eedcf7 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/formsonline/pages/FormsOnlinePage.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/formsonline/pages/FormsOnlinePage.java
@@ -112,7 +112,6 @@ public FormsOnlinePage() {
     msg = GWT.create(FormsOnlineMessages.class);
     setPageTitle(msg.title());
     initWidget(uiBinder.createAndBindUi(this));
-    container.getElement().getStyle().setHeight(12, Style.Unit.EM);
     EventBus.getInstance().addHandler(AbstractFormsOnlinePagesEvent.TYPE, this);
     EventBus.getInstance().fireEvent(new FormsOnlineLoadEvent());
   }

From 816e0d1d5b6611d9b5f0a7599ec1660ace16b945 Mon Sep 17 00:00:00 2001
From: svuillet <svu@silvepeas.com>
Date: Tue, 3 Jan 2023 17:09:50 +0100
Subject: [PATCH 020/145] manage null value in form

---
 .../server/services/ServiceFormsOnline.java   | 39 +++++++++++++------
 1 file changed, 28 insertions(+), 11 deletions(-)

diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/server/services/ServiceFormsOnline.java b/mobile-war/src/main/java/org/silverpeas/mobile/server/services/ServiceFormsOnline.java
index 38c594f2d..cd3bc7022 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/server/services/ServiceFormsOnline.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/server/services/ServiceFormsOnline.java
@@ -48,6 +48,7 @@
 import org.silverpeas.core.contribution.content.form.Form;
 import org.silverpeas.core.contribution.content.form.FormException;
 import org.silverpeas.core.contribution.content.form.RecordSet;
+import org.silverpeas.core.contribution.content.form.form.HtmlForm;
 import org.silverpeas.core.contribution.content.form.form.XmlForm;
 import org.silverpeas.core.contribution.content.form.record.GenericFieldTemplate;
 import org.silverpeas.core.contribution.template.publication.PublicationTemplate;
@@ -248,16 +249,30 @@ private FormRequestDTO populate(final FormInstance f)
         dto.setStateLabel(formsOnlineBundle.getString("formsOnline.stateUnread"));
         break;
     }
-    XmlForm formXml = ((XmlForm) f.getFormWithData());
-    if (formXml != null) {
-      DataRecord record = formXml.getData();
-      List<FormFieldDTO> dataForm = new ArrayList<>();
-      for (String name : record.getFieldNames()) {
-        Field field = record.getField(name);
-        FormFieldDTO fieldDTO = populateField(f, field);
-        dataForm.add(fieldDTO);
+    if (f.getFormWithData() instanceof XmlForm) {
+      XmlForm formXml = ((XmlForm) f.getFormWithData());
+      if (formXml != null) {
+        DataRecord record = formXml.getData();
+        List<FormFieldDTO> dataForm = new ArrayList<>();
+        for (String name : record.getFieldNames()) {
+          Field field = record.getField(name);
+          FormFieldDTO fieldDTO = populateField(f, field);
+          dataForm.add(fieldDTO);
+        }
+        dto.setData(dataForm);
+      }
+    } else {
+      HtmlForm formHTML = ((HtmlForm) f.getFormWithData());
+      if (formHTML != null) {
+        DataRecord record = formHTML.getData();
+        List<FormFieldDTO> dataForm = new ArrayList<>();
+        for (String name : record.getFieldNames()) {
+          Field field = record.getField(name);
+          FormFieldDTO fieldDTO = populateField(f, field);
+          dataForm.add(fieldDTO);
+        }
+        dto.setData(dataForm);
       }
-      dto.setData(dataForm);
     }
     return dto;
   }
@@ -282,8 +297,10 @@ private FormFieldDTO populateField(final FormInstance f, final Field field) {
             fieldDTO.setValueId(field.getValue());
           } else {
             int index = Arrays.asList(keys).indexOf(field.getValue());
-            fieldDTO.setValue(values[index]);
-            fieldDTO.setValueId(field.getValue());
+            if (index != -1) {
+              fieldDTO.setValue(values[index]);
+              fieldDTO.setValueId(field.getValue());
+            }
           }
 
         } else {

From 6466cf15ed5e7ad8389819bbc152cd20cb19eb32 Mon Sep 17 00:00:00 2001
From: svuillet <svu@silvepeas.com>
Date: Thu, 5 Jan 2023 17:01:03 +0100
Subject: [PATCH 021/145] Fix #13396

---
 .../client/apps/notificationsbox/NotificationsBoxApp.java       | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/notificationsbox/NotificationsBoxApp.java b/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/notificationsbox/NotificationsBoxApp.java
index 35b07176e..0f9b400a0 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/notificationsbox/NotificationsBoxApp.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/notificationsbox/NotificationsBoxApp.java
@@ -100,7 +100,7 @@ public void onSuccess(final Method method,
             EventBus.getInstance()
                 .fireEvent(new NotificationsLoadedEvent(notificationReceivedDTOS));
             if (notificationReceivedDTOS.getMoreElement()) {
-              loadNotifications(event, nbCall);
+              loadNotifications(event, nbCall+1);
             }
           }
         };

From 23c5d8cbc8b0dd7e82c98f3689dc104d817d746a Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Tue, 10 Jan 2023 18:01:06 +0100
Subject: [PATCH 022/145] Update dependency on Silverpeas to version
 6.3.1-build230110

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 119307429..1b191d325 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.1-build221231</silverpeas.version>
+    <silverpeas.version>6.3.1-build230110</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.1</next.release>

From d8e96c070f9b1622a253311a58719efef4baf9b0 Mon Sep 17 00:00:00 2001
From: svuillet <svu@silvepeas.com>
Date: Wed, 11 Jan 2023 17:04:54 +0100
Subject: [PATCH 023/145] Feature #13401

---
 .../mobile/mobileSettings.properties          |  5 +-
 .../common/AuthentificationManager.java       | 15 ++++--
 .../dto/authentication/UserProfileDTO.java    | 48 ++++++++++---------
 3 files changed, 40 insertions(+), 28 deletions(-)

diff --git a/mobile-configuration/src/main/config/properties/org/silverpeas/mobile/mobileSettings.properties b/mobile-configuration/src/main/config/properties/org/silverpeas/mobile/mobileSettings.properties
index e16ec9889..abd07eb00 100644
--- a/mobile-configuration/src/main/config/properties/org/silverpeas/mobile/mobileSettings.properties
+++ b/mobile-configuration/src/main/config/properties/org/silverpeas/mobile/mobileSettings.properties
@@ -122,4 +122,7 @@ manifest.json.path=
 
 #footer custom buttons
 #customButtonUrl1=
-#customButtonUrl2=
\ No newline at end of file
+#customButtonUrl2=
+
+# maintain http session (store ids in local storage)
+maintain.session=true
\ No newline at end of file
diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/client/common/AuthentificationManager.java b/mobile-war/src/main/java/org/silverpeas/mobile/client/common/AuthentificationManager.java
index bba1bca91..f2f80b4d3 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/client/common/AuthentificationManager.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/client/common/AuthentificationManager.java
@@ -42,6 +42,7 @@
 import org.silverpeas.mobile.client.common.navigation.PageHistory;
 import org.silverpeas.mobile.client.common.network.MethodCallbackOnlineOnly;
 import org.silverpeas.mobile.client.common.network.NetworkHelper;
+import org.silverpeas.mobile.client.common.resources.ResourcesManager;
 import org.silverpeas.mobile.client.common.storage.LocalStorageHelper;
 import org.silverpeas.mobile.client.pages.connexion.ConnexionPage;
 import org.silverpeas.mobile.shared.dto.DetailUserDTO;
@@ -93,8 +94,11 @@ public void storeUser(final DetailUserDTO user, final UserProfileDTO profil, Str
     SpMobil.setUser(user);
 
     FullUserDTO u = new FullUserDTO(login, encryptedPassword, domainId, user);
-    LocalStorageHelper.store(USER_CONNECTED_KEY, u.getAutoBean());
-    LocalStorageHelper.store(USER_PROFIL, profil.getAutoBean());
+    String maintainSession = ResourcesManager.getParam("maintain.session");
+    if (maintainSession.equalsIgnoreCase("true")) {
+      LocalStorageHelper.store(USER_CONNECTED_KEY, u.getAutoBean());
+      LocalStorageHelper.store(USER_PROFIL, profil.getAutoBean());
+    }
   }
 
   public void updateAvatarInCache(final String avatarData) {
@@ -102,8 +106,11 @@ public void updateAvatarInCache(final String avatarData) {
     SpMobil.getUserProfile().setAvatar(avatarData);
     FullUserDTO user = FullUserDTO.getBean(LocalStorageHelper.load(USER_CONNECTED_KEY, IFullUser.class));
     user.setAvatar(avatarData);
-    LocalStorageHelper.store(USER_CONNECTED_KEY, user.getAutoBean());
-    LocalStorageHelper.store(USER_PROFIL, SpMobil.getUserProfile().getAutoBean());
+    String maintainSession = ResourcesManager.getParam("maintain.session");
+    if (maintainSession.equalsIgnoreCase("true")) {
+      LocalStorageHelper.store(USER_CONNECTED_KEY, user.getAutoBean());
+      LocalStorageHelper.store(USER_PROFIL, SpMobil.getUserProfile().getAutoBean());
+    }
   }
 
   /**
diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/shared/dto/authentication/UserProfileDTO.java b/mobile-war/src/main/java/org/silverpeas/mobile/shared/dto/authentication/UserProfileDTO.java
index cc0054f92..08e10e925 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/shared/dto/authentication/UserProfileDTO.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/shared/dto/authentication/UserProfileDTO.java
@@ -249,29 +249,31 @@ public AutoBean<IUserProfile> getAutoBean () {
   }
 
   public static UserProfileDTO getBean (AutoBean<IUserProfile> b) {
-    UserProfileDTO user = new UserProfileDTO();
-    user.setAnonymous(b.as().isAnonymous());
-    user.setAccessLevel(b.as().getAccessLevel());
-    user.setAvatar(b.as().getAvatar());
-    user.setId(b.as().getId());
-    user.setConnected(b.as().isConnected());
-    user.setApiToken(b.as().getApiToken());
-    user.setContactsUri(b.as().getContactsUri());
-    user.setDeletedState(b.as().isDeletedState());
-    user.setDomainId(b.as().getDomainId());
-    user.seteMail(b.as().geteMail());
-    user.setLanguage(b.as().getLanguage());
-    user.setLogin(b.as().getLogin());
-    user.setFirstName(b.as().getFirstName());
-    user.setDomainName(b.as().getDomainName());
-    user.setFullName(b.as().getFullName());
-    user.setStatus(b.as().getStatus());
-    user.setUri(b.as().getUri());
-    user.setLastName(b.as().getLastName());
-    user.setSpecificId(b.as().getSpecificId());
-    user.setWebPage(b.as().getWebPage());
-    user.setDeactivatedState(b.as().isDeactivatedState());
-
+    UserProfileDTO user = null;
+    if (b!= null) {
+      user = new UserProfileDTO();
+      user.setAnonymous(b.as().isAnonymous());
+      user.setAccessLevel(b.as().getAccessLevel());
+      user.setAvatar(b.as().getAvatar());
+      user.setId(b.as().getId());
+      user.setConnected(b.as().isConnected());
+      user.setApiToken(b.as().getApiToken());
+      user.setContactsUri(b.as().getContactsUri());
+      user.setDeletedState(b.as().isDeletedState());
+      user.setDomainId(b.as().getDomainId());
+      user.seteMail(b.as().geteMail());
+      user.setLanguage(b.as().getLanguage());
+      user.setLogin(b.as().getLogin());
+      user.setFirstName(b.as().getFirstName());
+      user.setDomainName(b.as().getDomainName());
+      user.setFullName(b.as().getFullName());
+      user.setStatus(b.as().getStatus());
+      user.setUri(b.as().getUri());
+      user.setLastName(b.as().getLastName());
+      user.setSpecificId(b.as().getSpecificId());
+      user.setWebPage(b.as().getWebPage());
+      user.setDeactivatedState(b.as().isDeactivatedState());
+    }
     return user;
   }
 

From 06237c4ad6529ad1e32807b284e78e96405284c1 Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Sat, 14 Jan 2023 10:33:38 +0100
Subject: [PATCH 024/145] Update dependency on Silverpeas to version
 6.3.1-build230114

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 1b191d325..86e3d8a7a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.1-build230110</silverpeas.version>
+    <silverpeas.version>6.3.1-build230114</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.1</next.release>

From 6f6c83b2955e9b076053ccf19fb1ea9e3542e28d Mon Sep 17 00:00:00 2001
From: svuillet <svu@silvepeas.com>
Date: Thu, 19 Jan 2023 10:04:35 +0100
Subject: [PATCH 025/145] Fix #13310

---
 .../mobile/client/apps/formsonline/FormsOnlineApp.java           | 1 +
 .../mobile/client/apps/formsonline/pages/FormOnlineEditPage.java | 1 +
 2 files changed, 2 insertions(+)

diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/formsonline/FormsOnlineApp.java b/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/formsonline/FormsOnlineApp.java
index 4ebd7e896..9e2d1396e 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/formsonline/FormsOnlineApp.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/formsonline/FormsOnlineApp.java
@@ -377,6 +377,7 @@ public void showContent(final NavigationShowContentEvent event) {
       FormDTO form = new FormDTO();
       form.setXmlFormName(id);
       ev.setForm(form);
+      ev.getForm().setId(id);
       loadFormOnline(ev);
     }
 
diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/formsonline/pages/FormOnlineEditPage.java b/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/formsonline/pages/FormOnlineEditPage.java
index 20227e000..3b97de5bb 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/formsonline/pages/FormOnlineEditPage.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/formsonline/pages/FormOnlineEditPage.java
@@ -98,6 +98,7 @@ public void onFormsOnlineLoad(final FormsOnlineLoadedEvent event) {}
   @Override
   public void onFormLoaded(final FormLoadedEvent formLoadedEvent) {
     data = formLoadedEvent.getFormFields();
+    fields.clear();
       for (FormFieldDTO f : formLoadedEvent.getFormFields()) {
         FieldEditable field = new FieldEditable();
         field.setData(f);

From c5ab3b8eb2b1e2060a5e330e695733ac592d9c88 Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Sat, 21 Jan 2023 10:34:23 +0100
Subject: [PATCH 026/145] Update dependency on Silverpeas to version
 6.3.1-build230121

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 86e3d8a7a..35cd220f0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.1-build230114</silverpeas.version>
+    <silverpeas.version>6.3.1-build230121</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.1</next.release>

From 2d49d294311217a8beab8a669b1994542a547433 Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Sat, 28 Jan 2023 10:35:11 +0100
Subject: [PATCH 027/145] Update dependency on Silverpeas to version
 6.3.1-build230128

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 35cd220f0..3e6eb4df6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.1-build230121</silverpeas.version>
+    <silverpeas.version>6.3.1-build230128</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.1</next.release>

From 39a2de06b163ea4fd82028d915ad94e3fc045587 Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Sat, 4 Feb 2023 10:34:49 +0100
Subject: [PATCH 028/145] Update dependency on Silverpeas to version
 6.3.1-build230204

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 3e6eb4df6..7c9a6d5a3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.1-build230128</silverpeas.version>
+    <silverpeas.version>6.3.1-build230204</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.1</next.release>

From 87d1ec51464085d803014aca8495ce97e3095744 Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Sat, 11 Feb 2023 10:36:06 +0100
Subject: [PATCH 029/145] Update dependency on Silverpeas to version
 6.3.1-build230211

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 7c9a6d5a3..8b4335cf0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.1-build230204</silverpeas.version>
+    <silverpeas.version>6.3.1-build230211</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.1</next.release>

From 0d555af341c4d2a8e6cf1d4587ccbc0b865b30a2 Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Sat, 25 Feb 2023 10:34:23 +0100
Subject: [PATCH 030/145] Update dependency on Silverpeas to version
 6.3.1-build230225

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 8b4335cf0..9222d1a00 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.1-build230211</silverpeas.version>
+    <silverpeas.version>6.3.1-build230225</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.1</next.release>

From 41580c1a802c3cc6d99745aa1f8cacbc55a684d5 Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Sat, 4 Mar 2023 10:34:14 +0100
Subject: [PATCH 031/145] Update dependency on Silverpeas to version
 6.3.1-build230304

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 9222d1a00..a8865f808 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.1-build230225</silverpeas.version>
+    <silverpeas.version>6.3.1-build230304</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.1</next.release>

From d191d3ec4e382a07c92411defaf3976d76b1f2bf Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Sat, 11 Mar 2023 10:35:35 +0100
Subject: [PATCH 032/145] Update dependency on Silverpeas to version
 6.3.1-build230311

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index a8865f808..8932be382 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.1-build230304</silverpeas.version>
+    <silverpeas.version>6.3.1-build230311</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.1</next.release>

From 3784b80e7b5f9d2d3b13fd0327d55b50578cb882 Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Sat, 18 Mar 2023 10:34:44 +0100
Subject: [PATCH 033/145] Update dependency on Silverpeas to version
 6.3.1-build230318

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 8932be382..4fc3dd6f2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.1-build230311</silverpeas.version>
+    <silverpeas.version>6.3.1-build230318</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.1</next.release>

From b0ed3971bf699b33f2f939c4c2b3775760a5ca75 Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Sat, 25 Mar 2023 10:34:26 +0100
Subject: [PATCH 034/145] Update dependency on Silverpeas to version
 6.3.1-build230325

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 4fc3dd6f2..ecbd7ab56 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.1-build230318</silverpeas.version>
+    <silverpeas.version>6.3.1-build230325</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.1</next.release>

From 3cc42687520775a3508e13c66f636f3ea8fa4508 Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Sat, 1 Apr 2023 10:34:35 +0200
Subject: [PATCH 035/145] Update dependency on Silverpeas to version
 6.3.1-build230401

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index ecbd7ab56..69d5476cb 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.1-build230325</silverpeas.version>
+    <silverpeas.version>6.3.1-build230401</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.1</next.release>

From 8d7656631fff425a05bca414aaddc35384566433 Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Sat, 8 Apr 2023 10:34:32 +0200
Subject: [PATCH 036/145] Update dependency on Silverpeas to version
 6.3.1-build230408

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 69d5476cb..944d339bc 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.1-build230401</silverpeas.version>
+    <silverpeas.version>6.3.1-build230408</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.1</next.release>

From 0e9c83aa90a37b70d36cb3c28e0269636bfb453e Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Sat, 15 Apr 2023 10:35:06 +0200
Subject: [PATCH 037/145] Update dependency on Silverpeas to version
 6.3.1-build230415

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 944d339bc..44652ffb6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.1-build230408</silverpeas.version>
+    <silverpeas.version>6.3.1-build230415</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.1</next.release>

From 5ef93f165f15a616a6edab8bb814667f62e5e3c7 Mon Sep 17 00:00:00 2001
From: svuillet <svu@silvepeas.com>
Date: Wed, 19 Apr 2023 17:58:28 +0200
Subject: [PATCH 038/145] Fix Bug #13325

---
 .../src/main/java/org/silverpeas/mobile/client/SpMobil.java | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/client/SpMobil.java b/mobile-war/src/main/java/org/silverpeas/mobile/client/SpMobil.java
index f025a171a..33c2ff64c 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/client/SpMobil.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/client/SpMobil.java
@@ -34,6 +34,7 @@
 import com.google.gwt.event.logical.shared.ResizeEvent;
 import com.google.gwt.event.logical.shared.ResizeHandler;
 import com.google.gwt.user.client.Command;
+import com.google.gwt.user.client.Cookies;
 import com.google.gwt.user.client.Window;
 import com.google.gwt.user.client.ui.RootPanel;
 import com.google.gwt.user.client.ui.Widget;
@@ -313,6 +314,11 @@ public void attempt() {
             nbRetryLogin = 0;
             ServicesLocator.getServiceNavigation().getUser(u.getLogin(), u.getDomainId(), this);
           } else {
+            String login = Cookies.getCookie("svpLogin");
+            String domainId = Cookies.getCookie("defaultDomain");
+            if (login != null && domainId != null && !login.isEmpty() && !domainId.isEmpty()) {
+              ServicesLocator.getServiceNavigation().getUser(login, domainId, this);
+            }
             if (nbRetryLogin < 5) {
               tryToRelogin(attempt);
               nbRetryLogin++;

From 10fc120adf98219b71d7fae603f4791951587ec9 Mon Sep 17 00:00:00 2001
From: svuillet <svu@silvepeas.com>
Date: Fri, 21 Apr 2023 15:06:13 +0200
Subject: [PATCH 039/145] Fix favorite link

---
 .../silverpeas/mobile/client/apps/favorites/FavoritesApp.java | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/favorites/FavoritesApp.java b/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/favorites/FavoritesApp.java
index 0fd34baf3..d8b51d45e 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/favorites/FavoritesApp.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/favorites/FavoritesApp.java
@@ -25,7 +25,6 @@
 package org.silverpeas.mobile.client.apps.favorites;
 
 import com.google.gwt.core.client.GWT;
-import com.google.gwt.user.client.rpc.AsyncCallback;
 import org.fusesource.restygwt.client.Method;
 import org.silverpeas.mobile.client.apps.favorites.events.app.AbstractFavoritesAppEvent;
 import org.silverpeas.mobile.client.apps.favorites.events.app.AddFavoriteEvent;
@@ -39,7 +38,6 @@
 import org.silverpeas.mobile.client.apps.navigation.events.app.external.NavigationEventHandler;
 import org.silverpeas.mobile.client.apps.navigation.events.app.external.NavigationShowContentEvent;
 import org.silverpeas.mobile.client.common.EventBus;
-import org.silverpeas.mobile.client.common.Notification;
 import org.silverpeas.mobile.client.common.ServicesLocator;
 import org.silverpeas.mobile.client.common.app.App;
 import org.silverpeas.mobile.client.common.event.ErrorEvent;
@@ -115,7 +113,6 @@ public void attempt() {
 
   @Override
   public void gotoApp(final GotoAppEvent event) {
-
       MethodCallbackOnlineOnly action = new MethodCallbackOnlineOnly<ApplicationInstanceDTO>() {
         @Override
         public void attempt() {
@@ -136,6 +133,7 @@ public void onSuccess(final Method method,
           EventBus.getInstance().fireEvent(new NavigationAppInstanceChangedEvent(applicationInstanceDTO));
         }
       };
+      action.attempt();
   }
 
   @Override

From 6731f79adbb8600a2106c30240f1e0848d051d70 Mon Sep 17 00:00:00 2001
From: svuillet <svu@silvepeas.com>
Date: Fri, 21 Apr 2023 17:54:25 +0200
Subject: [PATCH 040/145] Fix relogin

---
 .../main/java/org/silverpeas/mobile/client/SpMobil.java  | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/client/SpMobil.java b/mobile-war/src/main/java/org/silverpeas/mobile/client/SpMobil.java
index 33c2ff64c..9897d93aa 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/client/SpMobil.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/client/SpMobil.java
@@ -318,10 +318,11 @@ public void attempt() {
             String domainId = Cookies.getCookie("defaultDomain");
             if (login != null && domainId != null && !login.isEmpty() && !domainId.isEmpty()) {
               ServicesLocator.getServiceNavigation().getUser(login, domainId, this);
-            }
-            if (nbRetryLogin < 5) {
-              tryToRelogin(attempt);
-              nbRetryLogin++;
+            } else {
+              if (nbRetryLogin < 5) {
+                tryToRelogin(attempt);
+                nbRetryLogin++;
+              }
             }
           }
         }

From d6cfd152e792eb04a9cf7baf08f31ba736f5bf04 Mon Sep 17 00:00:00 2001
From: svuillet <svu@silvepeas.com>
Date: Mon, 24 Apr 2023 12:18:25 +0200
Subject: [PATCH 041/145] Fix comment create with SSO session

---
 .../java/org/silverpeas/mobile/client/SpMobil.java    | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/client/SpMobil.java b/mobile-war/src/main/java/org/silverpeas/mobile/client/SpMobil.java
index 9897d93aa..ee0e3321d 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/client/SpMobil.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/client/SpMobil.java
@@ -333,6 +333,17 @@ public void onSuccess(final Method method, final DetailUserDTO detailUserDTO) {
           setUser(detailUserDTO);
           setUserProfile(UserProfileDTO.getBean(
               LocalStorageHelper.load(AuthentificationManager.USER_PROFIL, IUserProfile.class)));
+          if (getUserProfile() == null) {
+            UserProfileDTO p = new UserProfileDTO();
+            p.setFullName(detailUserDTO.getFirstName() + " " + detailUserDTO.getLastName());
+            p.setAvatar(detailUserDTO.getAvatar());
+            p.setFirstName(detailUserDTO.getFirstName());
+            p.setLastName(detailUserDTO.getLastName());
+            p.setLanguage(detailUserDTO.getLanguage());
+            p.setId(detailUserDTO.getId());
+            p.seteMail(detailUserDTO.geteMail());
+            setUserProfile(p);
+          }
 
           ServicesLocator.getServiceTermsOfService().show(new MethodCallback<Boolean>() {
             @Override

From 782331f093cf90ab1a4d4c0e25bd893c29c1dbdb Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Mon, 24 Apr 2023 12:34:07 +0200
Subject: [PATCH 042/145] Update dependency on Silverpeas to version
 6.3.1-build230424

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 44652ffb6..eaa9c4c85 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.1-build230415</silverpeas.version>
+    <silverpeas.version>6.3.1-build230424</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.1</next.release>

From f6a93769c96a5f1c9ed2904e808ac272f04e68bb Mon Sep 17 00:00:00 2001
From: svuillet <svu@silvepeas.com>
Date: Mon, 24 Apr 2023 16:49:35 +0200
Subject: [PATCH 043/145] Prevent recursive relogin

---
 .../org/silverpeas/mobile/client/SpMobil.java  |  1 +
 .../network/MethodCallbackOnlineOnly.java      | 18 ++++++++++++------
 2 files changed, 13 insertions(+), 6 deletions(-)

diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/client/SpMobil.java b/mobile-war/src/main/java/org/silverpeas/mobile/client/SpMobil.java
index ee0e3321d..6460a20dc 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/client/SpMobil.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/client/SpMobil.java
@@ -369,6 +369,7 @@ public void onFailure(final Method method, final Throwable t) {
           tryToRelogin(attempt);
         }
       };
+      action.setRelogin(false);
       action.attempt();
     } else {
       //Login
diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/client/common/network/MethodCallbackOnlineOnly.java b/mobile-war/src/main/java/org/silverpeas/mobile/client/common/network/MethodCallbackOnlineOnly.java
index ec0caf0be..5d0fed4e2 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/client/common/network/MethodCallbackOnlineOnly.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/client/common/network/MethodCallbackOnlineOnly.java
@@ -41,6 +41,7 @@
 public abstract class MethodCallbackOnlineOnly<T> implements MethodCallback<T> {
 
   private static ApplicationMessages msg = GWT.create(ApplicationMessages.class);
+  private boolean relogin = true;
 
   public void attempt() {
     Notification.activityStart();
@@ -52,12 +53,14 @@ public void onFailure(final Method method, final Throwable t) {
     Notification.activityStop();
     if (method.getResponse().getStatusCode() == 403 || method.getResponse().getStatusCode() == 401) {
       // Session expired, need to re-authent
-      SpMobil.getInstance().loadIds(new Command() {
-        @Override
-        public void execute() {
-          attempt();
-        }
-      });
+      if (relogin) {
+        SpMobil.getInstance().loadIds(new Command() {
+          @Override
+          public void execute() {
+            attempt();
+          }
+        });
+      }
     } else if (method.getResponse().getStatusCode() == 404) {
       new Popin(msg.notfoundError()).show();
     } else {
@@ -77,4 +80,7 @@ public void onSuccess(final Method method, final T t) {
   }
 
 
+  public void setRelogin(boolean relogin) {
+    this.relogin = relogin;
+  }
 }

From 48fa98aa5d55cbf88af94e3088ea0958af9362c6 Mon Sep 17 00:00:00 2001
From: svuillet <svu@silvepeas.com>
Date: Thu, 27 Apr 2023 09:54:40 +0200
Subject: [PATCH 044/145] Feature #13584

---
 .../org/silverpeas/mobile/mobileSettings.properties        | 1 +
 .../mobile/client/components/base/NavigationMenu.java      | 7 ++++++-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/mobile-configuration/src/main/config/properties/org/silverpeas/mobile/mobileSettings.properties b/mobile-configuration/src/main/config/properties/org/silverpeas/mobile/mobileSettings.properties
index abd07eb00..ca7a85c37 100644
--- a/mobile-configuration/src/main/config/properties/org/silverpeas/mobile/mobileSettings.properties
+++ b/mobile-configuration/src/main/config/properties/org/silverpeas/mobile/mobileSettings.properties
@@ -102,6 +102,7 @@ chat.enable=false
 
 # external url for help
 help.url=
+help.target=
 
 # specials parameters
 ios.link.open.in.iframe=true
diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/client/components/base/NavigationMenu.java b/mobile-war/src/main/java/org/silverpeas/mobile/client/components/base/NavigationMenu.java
index a0d51b46f..106659320 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/client/components/base/NavigationMenu.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/client/components/base/NavigationMenu.java
@@ -93,8 +93,13 @@ public NavigationMenu() {
     user.getElement().setId("user");
     String url = ResourcesManager.getParam("help.url");
     if (url != null && !url.isEmpty()) {
+      String target = ResourcesManager.getParam("help.target");
       help.setHref(url);
-      help.setTarget("_self");
+      if (target != null && !target.isEmpty()) {
+        help.setTarget(target);
+      } else {
+        help.setTarget("_blank");
+      }
     }
     EventBus.getInstance().addHandler(AbstractPageEvent.TYPE, this);
   }

From 8d472104608029183adbfeace2f122b564a898b2 Mon Sep 17 00:00:00 2001
From: svuillet <svu@silvepeas.com>
Date: Thu, 27 Apr 2023 18:10:39 +0200
Subject: [PATCH 045/145] Fix relogin in sso context

---
 .../org/silverpeas/mobile/client/SpMobil.java  |  7 ++++++-
 .../MethodCallbackOnlineBackground.java        | 18 ++++++++++++------
 .../network/MethodCallbackOnlineOnly.java      | 12 +++++-------
 .../common/network/TextCallbackOnlineOnly.java | 18 ++++++++++++------
 .../common/resources/ResourcesManager.java     |  6 ++++++
 .../src/main/webapp/spmobile/spmobil.jsp       |  6 ++++++
 6 files changed, 47 insertions(+), 20 deletions(-)

diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/client/SpMobil.java b/mobile-war/src/main/java/org/silverpeas/mobile/client/SpMobil.java
index 6460a20dc..b1fe57343 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/client/SpMobil.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/client/SpMobil.java
@@ -119,6 +119,7 @@ public class SpMobil implements EntryPoint, AuthenticationEventHandler {
   private static List<App> apps = new ArrayList<App>();
 
   private static int nbRetryLogin = 0;
+  private static boolean SSO = false;
 
   public static DetailUserDTO getUser() {
     return user;
@@ -369,7 +370,7 @@ public void onFailure(final Method method, final Throwable t) {
           tryToRelogin(attempt);
         }
       };
-      action.setRelogin(false);
+      SSO = true;
       action.attempt();
     } else {
       //Login
@@ -378,6 +379,10 @@ public void onFailure(final Method method, final Throwable t) {
     }
   }
 
+  public static boolean isSSO() {
+      return SSO;
+  }
+
   private void tryToRelogin(final Command attempt) {
     FullUserDTO user = AuthentificationManager.getInstance().loadUser();
     if (user != null) {
diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/client/common/network/MethodCallbackOnlineBackground.java b/mobile-war/src/main/java/org/silverpeas/mobile/client/common/network/MethodCallbackOnlineBackground.java
index 1a87c3704..a6f02643a 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/client/common/network/MethodCallbackOnlineBackground.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/client/common/network/MethodCallbackOnlineBackground.java
@@ -26,12 +26,14 @@
 
 import com.google.gwt.core.client.GWT;
 import com.google.gwt.user.client.Command;
+import com.google.gwt.user.client.Window;
 import org.fusesource.restygwt.client.Method;
 import org.fusesource.restygwt.client.MethodCallback;
 import org.silverpeas.mobile.client.SpMobil;
 import org.silverpeas.mobile.client.common.EventBus;
 import org.silverpeas.mobile.client.common.Notification;
 import org.silverpeas.mobile.client.common.event.ErrorEvent;
+import org.silverpeas.mobile.client.common.resources.ResourcesManager;
 import org.silverpeas.mobile.client.resources.ApplicationMessages;
 
 /**
@@ -49,12 +51,16 @@ public void attempt() {
   public void onFailure(final Method method, final Throwable t) {
     if (method.getResponse().getStatusCode() == 403 || method.getResponse().getStatusCode() == 401) {
       // Session expired, need to re-authent
-      SpMobil.getInstance().loadIds(new Command() {
-        @Override
-        public void execute() {
-          attempt();
-        }
-      });
+      if (SpMobil.isSSO()) {
+        Window.Location.assign(ResourcesManager.getSSOPath());
+      } else {
+        SpMobil.getInstance().loadIds(new Command() {
+          @Override
+          public void execute() {
+            attempt();
+          }
+        });
+      }
     } else {
       if (NetworkHelper.needToGoOffine(t)) {
         // Lost connexion during requesting
diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/client/common/network/MethodCallbackOnlineOnly.java b/mobile-war/src/main/java/org/silverpeas/mobile/client/common/network/MethodCallbackOnlineOnly.java
index 5d0fed4e2..02dc28f59 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/client/common/network/MethodCallbackOnlineOnly.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/client/common/network/MethodCallbackOnlineOnly.java
@@ -26,12 +26,14 @@
 
 import com.google.gwt.core.client.GWT;
 import com.google.gwt.user.client.Command;
+import com.google.gwt.user.client.Window;
 import org.fusesource.restygwt.client.Method;
 import org.fusesource.restygwt.client.MethodCallback;
 import org.silverpeas.mobile.client.SpMobil;
 import org.silverpeas.mobile.client.common.EventBus;
 import org.silverpeas.mobile.client.common.Notification;
 import org.silverpeas.mobile.client.common.event.ErrorEvent;
+import org.silverpeas.mobile.client.common.resources.ResourcesManager;
 import org.silverpeas.mobile.client.components.Popin;
 import org.silverpeas.mobile.client.resources.ApplicationMessages;
 
@@ -41,7 +43,6 @@
 public abstract class MethodCallbackOnlineOnly<T> implements MethodCallback<T> {
 
   private static ApplicationMessages msg = GWT.create(ApplicationMessages.class);
-  private boolean relogin = true;
 
   public void attempt() {
     Notification.activityStart();
@@ -53,7 +54,9 @@ public void onFailure(final Method method, final Throwable t) {
     Notification.activityStop();
     if (method.getResponse().getStatusCode() == 403 || method.getResponse().getStatusCode() == 401) {
       // Session expired, need to re-authent
-      if (relogin) {
+      if (SpMobil.isSSO()) {
+        Window.Location.assign(ResourcesManager.getSSOPath());
+      } else {
         SpMobil.getInstance().loadIds(new Command() {
           @Override
           public void execute() {
@@ -78,9 +81,4 @@ public void execute() {
   public void onSuccess(final Method method, final T t) {
     Notification.activityStop();
   }
-
-
-  public void setRelogin(boolean relogin) {
-    this.relogin = relogin;
-  }
 }
diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/client/common/network/TextCallbackOnlineOnly.java b/mobile-war/src/main/java/org/silverpeas/mobile/client/common/network/TextCallbackOnlineOnly.java
index a0c54a3f0..55164fe1d 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/client/common/network/TextCallbackOnlineOnly.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/client/common/network/TextCallbackOnlineOnly.java
@@ -26,12 +26,14 @@
 
 import com.google.gwt.core.client.GWT;
 import com.google.gwt.user.client.Command;
+import com.google.gwt.user.client.Window;
 import org.fusesource.restygwt.client.Method;
 import org.fusesource.restygwt.client.TextCallback;
 import org.silverpeas.mobile.client.SpMobil;
 import org.silverpeas.mobile.client.common.EventBus;
 import org.silverpeas.mobile.client.common.Notification;
 import org.silverpeas.mobile.client.common.event.ErrorEvent;
+import org.silverpeas.mobile.client.common.resources.ResourcesManager;
 import org.silverpeas.mobile.client.resources.ApplicationMessages;
 
 /**
@@ -56,12 +58,16 @@ public void onFailure(final Method method, final Throwable t) {
     Notification.activityStop();
     if (method.getResponse().getStatusCode() == 403 || method.getResponse().getStatusCode() == 401) {
       // Session expired, need to re-authent
-      SpMobil.getInstance().loadIds(new Command() {
-        @Override
-        public void execute() {
-          attempt();
-        }
-      });
+      if (SpMobil.isSSO()) {
+        Window.Location.assign(ResourcesManager.getSSOPath());
+      } else {
+        SpMobil.getInstance().loadIds(new Command() {
+          @Override
+          public void execute() {
+            attempt();
+          }
+        });
+      }
     } else {
       if (NetworkHelper.needToGoOffine(t)) {
         // Lost connexion during requesting
diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/client/common/resources/ResourcesManager.java b/mobile-war/src/main/java/org/silverpeas/mobile/client/common/resources/ResourcesManager.java
index 154d62fdc..04f25dab2 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/client/common/resources/ResourcesManager.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/client/common/resources/ResourcesManager.java
@@ -26,8 +26,10 @@
 
 import com.google.gwt.core.client.JavaScriptObject;
 import com.google.gwt.core.client.JsonUtils;
+import com.google.gwt.dom.client.Document;
 import com.google.gwt.json.client.JSONObject;
 import com.google.gwt.json.client.JSONParser;
+import org.silverpeas.mobile.client.apps.documents.DocumentsApp;
 
 /**
  * @author: svu
@@ -63,6 +65,10 @@ public static String getParam(String key) {
     return param;
   }
 
+  public static String getSSOPath() {
+    return Document.get().getElementById("ssoPath").getAttribute("value");
+  }
+
   public static native JavaScriptObject getLabels() /*-{
     return $wnd.labels;
   }-*/;
diff --git a/mobile-war/src/main/webapp/spmobile/spmobil.jsp b/mobile-war/src/main/webapp/spmobile/spmobil.jsp
index 232d5219c..63a31ad63 100644
--- a/mobile-war/src/main/webapp/spmobile/spmobil.jsp
+++ b/mobile-war/src/main/webapp/spmobile/spmobil.jsp
@@ -151,6 +151,12 @@
 
 </head>
 <body class="ui-panel-wrapper ui-page-theme-a csspinner traditional" onload="resize();">
+<%
+  String fullSsoPath = request.getRequestURL().toString();
+  fullSsoPath = fullSsoPath.replace("/spmobile/spmobil.jsp","");
+  fullSsoPath = fullSsoPath + ssoPath;
+%>
+<input type="hidden" id="ssoPath" value="<%=fullSsoPath%>">
 <div id="oneinch"
      style="position: absolute;padding: 0;visibility: hidden;width: 1in;height: 1in;"></div>
 

From 025d208b28bea78dd4a5fcfc634a22c988c22c7f Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Sat, 29 Apr 2023 10:43:45 +0200
Subject: [PATCH 046/145] Update dependency on Silverpeas to version
 6.3.1-build230429

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index eaa9c4c85..5891b6c5b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.1-build230424</silverpeas.version>
+    <silverpeas.version>6.3.1-build230429</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.1</next.release>

From 66eacf4d5de1694ff9dc7eec2d0c1952e18135d5 Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Sat, 6 May 2023 10:38:12 +0200
Subject: [PATCH 047/145] Update dependency on Silverpeas to version
 6.3.1-build230506

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 5891b6c5b..3a32a84e6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.1-build230429</silverpeas.version>
+    <silverpeas.version>6.3.1-build230506</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.1</next.release>

From 26ba20c737268a79445d84c2e364b4c798b0120a Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Sat, 20 May 2023 10:37:43 +0200
Subject: [PATCH 048/145] Update dependency on Silverpeas to version
 6.3.1-build230520

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 3a32a84e6..3b7025bb3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.1-build230506</silverpeas.version>
+    <silverpeas.version>6.3.1-build230520</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.1</next.release>

From 546cca2ecc56e55a37a081037c8a55f157f1af87 Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Sat, 27 May 2023 10:37:54 +0200
Subject: [PATCH 049/145] Update dependency on Silverpeas to version
 6.3.1-build230527

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 3b7025bb3..dbc3614d2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.1-build230520</silverpeas.version>
+    <silverpeas.version>6.3.1-build230527</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.1</next.release>

From 4e74175bd444e803deebcdb4a35400c9f61629f4 Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Sat, 3 Jun 2023 10:39:27 +0200
Subject: [PATCH 050/145] Update dependency on Silverpeas to version
 6.3.1-build230603

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index dbc3614d2..d8c3aca22 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.1-build230527</silverpeas.version>
+    <silverpeas.version>6.3.1-build230603</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.1</next.release>

From b97e851dc50f49a8bcc00b1f4584eca228a138fe Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Mon, 12 Jun 2023 11:43:04 +0200
Subject: [PATCH 051/145] Update dependency on Silverpeas to version
 6.3.1-build230612

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index d8c3aca22..5f7af4da4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.1-build230603</silverpeas.version>
+    <silverpeas.version>6.3.1-build230612</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.1</next.release>

From afc8e3d3b24732dab9a3550c5a266733f2b56bfc Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Mon, 19 Jun 2023 19:14:29 +0200
Subject: [PATCH 052/145] Update dependency on Silverpeas to version
 6.3.1-build230619

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 5f7af4da4..079a41b95 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.1-build230612</silverpeas.version>
+    <silverpeas.version>6.3.1-build230619</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.1</next.release>

From 72c2949e287ac76b72b80736632e3c6515176fb2 Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Fri, 23 Jun 2023 12:54:20 +0200
Subject: [PATCH 053/145] Update dependency on Silverpeas to version
 6.3.1-build230623

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 079a41b95..100469307 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.1-build230619</silverpeas.version>
+    <silverpeas.version>6.3.1-build230623</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.1</next.release>

From 0539b9938d9de5947625cf5d1376ff707e5f6415 Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Sat, 24 Jun 2023 10:35:53 +0200
Subject: [PATCH 054/145] Update dependency on Silverpeas to version
 6.3.1-build230624

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 100469307..a13b1380c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.1-build230623</silverpeas.version>
+    <silverpeas.version>6.3.1-build230624</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.1</next.release>

From c056d3e51af70343bfe9d67389795d28a443e967 Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Sat, 1 Jul 2023 10:36:16 +0200
Subject: [PATCH 055/145] Update dependency on Silverpeas to version
 6.3.1-build230701

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index a13b1380c..25e8b1dec 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.1-build230624</silverpeas.version>
+    <silverpeas.version>6.3.1-build230701</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.1</next.release>

From 982765e9204faf65ebc4b130f8e338377e6c2c03 Mon Sep 17 00:00:00 2001
From: SilverYoCha <yohann.chastagnier@silverpeas.com>
Date: Fri, 7 Jul 2023 18:18:21 +0200
Subject: [PATCH 056/145] Bug #13605: fixing the comments that were not
 rendered

---
 .../mobile/client/apps/comments/CommentsApp.java          | 1 -
 .../silverpeas/mobile/shared/dto/comments/CommentDTO.java | 8 ++++----
 2 files changed, 4 insertions(+), 5 deletions(-)

diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/comments/CommentsApp.java b/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/comments/CommentsApp.java
index 4720da6ed..2c03d528f 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/comments/CommentsApp.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/comments/CommentsApp.java
@@ -97,7 +97,6 @@ public void addComment(final AddCommentEvent event) {
       dto.setComponentId(event.getInstanceId());
       dto.setResourceId(event.getContentId());
       dto.setResourceType(event.getContentType());
-      dto.setTextForHtml(event.getMessage());
 
       MethodCallbackOnlineOnly action = new MethodCallbackOnlineOnly<CommentDTO>() {
         @Override
diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/shared/dto/comments/CommentDTO.java b/mobile-war/src/main/java/org/silverpeas/mobile/shared/dto/comments/CommentDTO.java
index b742b9643..59264111a 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/shared/dto/comments/CommentDTO.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/shared/dto/comments/CommentDTO.java
@@ -98,16 +98,16 @@ public String getText() {
 
   public void setText(final String text) {
     this.text = text;
+    this.textForHtml = "";
   }
 
   public String getTextForHtml() {
+    if (textForHtml.isEmpty()) {
+      textForHtml = text;
+    }
     return textForHtml;
   }
 
-  public void setTextForHtml(final String textForHtml) {
-    this.textForHtml = textForHtml;
-  }
-
   public UserProfileDTO getAuthor() {
     return author;
   }

From d619041e27e0db7112935780d45f7af53802692b Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Sat, 8 Jul 2023 10:37:25 +0200
Subject: [PATCH 057/145] Update dependency on Silverpeas to version
 6.3.1-build230708

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 25e8b1dec..fc254d7e3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.1-build230701</silverpeas.version>
+    <silverpeas.version>6.3.1-build230708</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.1</next.release>

From d478bf2f06fc96a3f70ca2aa9ef9fb17bce75d91 Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Sat, 15 Jul 2023 10:36:35 +0200
Subject: [PATCH 058/145] Update dependency on Silverpeas to version
 6.3.1-build230715

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index fc254d7e3..88cdf0f2c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.1-build230708</silverpeas.version>
+    <silverpeas.version>6.3.1-build230715</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.1</next.release>

From 7dbd0bb0614936be6d83f8d2b912b50f13c81d3a Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Mon, 24 Jul 2023 12:30:06 +0200
Subject: [PATCH 059/145] Update dependency on Silverpeas to version
 6.3.1-build230724

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 88cdf0f2c..ff919b91e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.1-build230715</silverpeas.version>
+    <silverpeas.version>6.3.1-build230724</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.1</next.release>

From efdf6d0d9c59efb5a323cc4e209dcc370d8432c1 Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Sat, 29 Jul 2023 10:35:13 +0200
Subject: [PATCH 060/145] Update dependency on Silverpeas to version
 6.3.1-build230729

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index ff919b91e..2077883b9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.1-build230724</silverpeas.version>
+    <silverpeas.version>6.3.1-build230729</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.1</next.release>

From ff3da6e57cfa4f5505b160bc215b8355c9487a69 Mon Sep 17 00:00:00 2001
From: svuillet <svu@silvepeas.com>
Date: Thu, 3 Aug 2023 15:07:32 +0200
Subject: [PATCH 061/145] Feature #13676

---
 .../client/apps/hyperlink/HyperLinkApp.java   | 10 +--
 .../pages/widgets/FavoriteItem.java           |  5 +-
 .../pages/widgets/ShortCutItem.java           |  5 +-
 .../common/navigation/LinksManager.java       | 37 ++++++++---
 .../mobile/client/components/IframePage.java  |  1 +
 .../server/services/ServiceHyperLink.java     | 15 +++--
 .../shared/dto/hyperlink/HyperLinkDTO.java    | 63 +++++++++++++++++++
 .../services/rest/ServiceHyperLink.java       |  5 +-
 8 files changed, 118 insertions(+), 23 deletions(-)
 create mode 100644 mobile-war/src/main/java/org/silverpeas/mobile/shared/dto/hyperlink/HyperLinkDTO.java

diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/hyperlink/HyperLinkApp.java b/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/hyperlink/HyperLinkApp.java
index be4f2a28a..d4a061a0a 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/hyperlink/HyperLinkApp.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/hyperlink/HyperLinkApp.java
@@ -25,6 +25,7 @@
 package org.silverpeas.mobile.client.apps.hyperlink;
 
 import org.fusesource.restygwt.client.Method;
+import org.fusesource.restygwt.client.MethodCallback;
 import org.fusesource.restygwt.client.TextCallback;
 import org.silverpeas.mobile.client.apps.navigation.events.app.external.AbstractNavigationEvent;
 import org.silverpeas.mobile.client.apps.navigation.events.app.external.NavigationAppInstanceChangedEvent;
@@ -37,6 +38,7 @@
 import org.silverpeas.mobile.client.common.event.ErrorEvent;
 import org.silverpeas.mobile.client.common.navigation.LinksManager;
 import org.silverpeas.mobile.client.common.network.NetworkHelper;
+import org.silverpeas.mobile.shared.dto.hyperlink.HyperLinkDTO;
 import org.silverpeas.mobile.shared.dto.navigation.ApplicationInstanceDTO;
 import org.silverpeas.mobile.shared.dto.navigation.Apps;
 
@@ -64,21 +66,21 @@ public void appInstanceChanged(final NavigationAppInstanceChangedEvent event) {
     if (event.getInstance().getType().equals(Apps.hyperlink.name())) {
       this.instance = event.getInstance();
 
-      ServicesLocator.getServiceHyperLink().getUrl(instance.getId(), new TextCallback() {
+      ServicesLocator.getServiceHyperLink().getUrl(instance.getId(), new MethodCallback<HyperLinkDTO>() {
         @Override
         public void onFailure(final Method method, final Throwable t) {
           EventBus.getInstance().fireEvent(new ErrorEvent(t));
         }
 
         @Override
-        public void onSuccess(final Method method, final String url) {
-          openLink(url);
+        public void onSuccess(Method method, HyperLinkDTO hyperLinkDTO) {
+          openLink(hyperLinkDTO);
         }
       });
     }
   }
 
-  private void openLink(String url) {
+  private void openLink(HyperLinkDTO url) {
     Notification.activityStop();
     NetworkHelper.hideOfflineIndicator();
     LinksManager.processLink(url);
diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/navigation/pages/widgets/FavoriteItem.java b/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/navigation/pages/widgets/FavoriteItem.java
index 098d63234..62a5f7cd3 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/navigation/pages/widgets/FavoriteItem.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/navigation/pages/widgets/FavoriteItem.java
@@ -35,6 +35,7 @@
 import org.silverpeas.mobile.client.common.navigation.LinksManager;
 import org.silverpeas.mobile.client.resources.ApplicationMessages;
 import org.silverpeas.mobile.shared.dto.MyLinkDTO;
+import org.silverpeas.mobile.shared.dto.hyperlink.HyperLinkDTO;
 
 public class FavoriteItem extends Composite {
 
@@ -68,7 +69,9 @@ public void setData(MyLinkDTO data) {
 
   @UiHandler("link")
   protected void onClick(ClickEvent event) {
-    LinksManager.processLink(data.getUrl());
+    HyperLinkDTO link = new HyperLinkDTO();
+    link.setUrl(data.getUrl());
+    LinksManager.processLink(link);
   }
 
 }
diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/navigation/pages/widgets/ShortCutItem.java b/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/navigation/pages/widgets/ShortCutItem.java
index cc255de5f..4f453de39 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/navigation/pages/widgets/ShortCutItem.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/navigation/pages/widgets/ShortCutItem.java
@@ -36,6 +36,7 @@
 import org.silverpeas.mobile.client.common.navigation.LinksManager;
 import org.silverpeas.mobile.client.resources.ApplicationMessages;
 import org.silverpeas.mobile.shared.dto.ShortCutLinkDTO;
+import org.silverpeas.mobile.shared.dto.hyperlink.HyperLinkDTO;
 
 public class ShortCutItem extends Composite {
 
@@ -71,7 +72,9 @@ public void setData(ShortCutLinkDTO data) {
 
   @UiHandler("link")
   protected void onClick(ClickEvent event) {
-    LinksManager.processLink(data.getUrl());
+    HyperLinkDTO link = new HyperLinkDTO();
+    link.setUrl(data.getUrl());
+    LinksManager.processLink(link);
   }
 
   public void setCssId(String id) {
diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/client/common/navigation/LinksManager.java b/mobile-war/src/main/java/org/silverpeas/mobile/client/common/navigation/LinksManager.java
index 6de2ed037..9b95eeefe 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/client/common/navigation/LinksManager.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/client/common/navigation/LinksManager.java
@@ -35,6 +35,7 @@
 import org.silverpeas.mobile.client.components.IframePage;
 import org.silverpeas.mobile.shared.dto.ContentsTypes;
 import org.silverpeas.mobile.shared.dto.contact.ContactScope;
+import org.silverpeas.mobile.shared.dto.hyperlink.HyperLinkDTO;
 
 /**
  * @author svu
@@ -43,7 +44,8 @@ public class LinksManager {
 
   private static Boolean iosShowIframe = Boolean.parseBoolean(ResourcesManager.getParam("ios.link.open.in.iframe"));
 
-  public static void processLink(String url) {
+  public static void processLink(HyperLinkDTO hyperLinkDTO) {
+    String url = hyperLinkDTO.getUrl();
     if(sameContext(url)) {
       String shortcutContentType = "";
       String shortcutAppId = null;
@@ -91,7 +93,7 @@ public static void processLink(String url) {
         }
         EventBus.getInstance().fireEvent(new ContactsFilteredLoadEvent(type, filter));
       } else {
-        openExternalLink(url);
+        openExternalLink(url, hyperLinkDTO.getOpenNewWindow(), hyperLinkDTO.getInternalLink());
         return;
       }
 
@@ -99,7 +101,7 @@ public static void processLink(String url) {
           .route(SpMobil.getUser(), shortcutAppId, shortcutContentType, shortcutContentId, null, null);
       return;
     }
-    openExternalLink(url);
+    openExternalLink(url, hyperLinkDTO.getOpenNewWindow(), hyperLinkDTO.getInternalLink());
   }
 
   private static boolean sameContext(String url) {
@@ -113,18 +115,33 @@ private static boolean sameContext(String url) {
     return ((url.startsWith("/") || url.startsWith(context)));
   }
 
-  public static void openExternalLink(String url) {
+  public static void openExternalLink(String url, boolean openNewWindow, boolean internalLink) {
     if (MobilUtils.isIOS()) {
       if (iosShowIframe) {
-        IframePage page = new IframePage(url);
-        page.setPageTitle("");
-        page.show();
+        openIframePage(url);
       } else {
-        //Window.Location.assign(url);
-        Window.open(url, "_self", "");
+        openExternalLinkStandard(url, openNewWindow, internalLink);
       }
     } else {
-      Window.open(url, "_blank", "");
+      openExternalLinkStandard(url, openNewWindow, internalLink);
+    }
+  }
+
+  private static void openIframePage(String url) {
+    IframePage page = new IframePage(url);
+    page.setPageTitle("");
+    page.show();
+  }
+
+  private static void openExternalLinkStandard(String url, boolean openNewWindow, boolean internalLink) {
+    if (internalLink) {
+      openIframePage(url);
+    } else {
+      if (openNewWindow) {
+        Window.open(url, "_blank", "");
+      } else {
+        Window.open(url, "_self", "");
+      }
     }
   }
 
diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/client/components/IframePage.java b/mobile-war/src/main/java/org/silverpeas/mobile/client/components/IframePage.java
index 8acefe203..894b041e9 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/client/components/IframePage.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/client/components/IframePage.java
@@ -55,6 +55,7 @@ private void init() {
     frame.getElement().getStyle().setTop(SpMobil.getMainPage().getHeaderHeight(), Style.Unit.PX);
     setViewport();
     initWidget(frame);
+    setSize("100vw", "100vh");
     EventBus.getInstance().addHandler(AbstractWindowEvent.TYPE, this);
   }
 
diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/server/services/ServiceHyperLink.java b/mobile-war/src/main/java/org/silverpeas/mobile/server/services/ServiceHyperLink.java
index 416b167ae..186e7f6e5 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/server/services/ServiceHyperLink.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/server/services/ServiceHyperLink.java
@@ -29,6 +29,7 @@
 import org.silverpeas.core.admin.service.Administration;
 import org.silverpeas.core.annotation.WebService;
 import org.silverpeas.core.web.rs.annotation.Authorized;
+import org.silverpeas.mobile.shared.dto.hyperlink.HyperLinkDTO;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.ws.rs.GET;
@@ -53,17 +54,21 @@ public class ServiceHyperLink extends AbstractRestWebService {
   static final String PATH = "mobile/hyperlink";
 
   @GET
-  @Produces(MediaType.TEXT_PLAIN)
+  @Produces(MediaType.APPLICATION_JSON)
   @Path("/")
-  public String getUrl() {
-    String url = "";
+  public HyperLinkDTO getUrl() {
+    HyperLinkDTO dto = new HyperLinkDTO();
     try {
       ComponentInstLight app = Administration.get().getComponentInstLight(componentId);
-      url = app.getParameterValue("URL");
+      dto.setUrl(app.getParameterValue("URL"));
+      String v = app.getParameterValue("openNewWindow");
+      dto.setOpenNewWindow(v.equalsIgnoreCase("yes"));
+      v = app.getParameterValue("isInternalLink");
+      dto.setInternalLink(v.equalsIgnoreCase("yes"));
     } catch (AdminException e) {
       throw new WebApplicationException(e);
     }
-    return url;
+    return dto;
   }
 
 
diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/shared/dto/hyperlink/HyperLinkDTO.java b/mobile-war/src/main/java/org/silverpeas/mobile/shared/dto/hyperlink/HyperLinkDTO.java
new file mode 100644
index 000000000..14513eca2
--- /dev/null
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/shared/dto/hyperlink/HyperLinkDTO.java
@@ -0,0 +1,63 @@
+/*
+ * Copyright (C) 2000 - 2022 Silverpeas
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * As a special exception to the terms and conditions of version 3.0 of
+ * the GPL, you may redistribute this Program in connection with Free/Libre
+ * Open Source Software ("FLOSS") applications as described in Silverpeas's
+ * FLOSS exception.  You should have received a copy of the text describing
+ * the FLOSS exception, and it is also available here:
+ * "https://www.silverpeas.org/legal/floss_exception.html"
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+package org.silverpeas.mobile.shared.dto.hyperlink;
+
+import org.silverpeas.mobile.shared.dto.BaseDTO;
+
+import java.io.Serializable;
+
+public class HyperLinkDTO implements Serializable {
+
+  private String url;
+  private boolean openNewWindow;
+  private boolean internalLink;
+
+  public HyperLinkDTO() {
+  }
+
+  public String getUrl() {
+    return url;
+  }
+
+  public void setUrl(String url) {
+    this.url = url;
+  }
+
+  public boolean getOpenNewWindow() {
+    return openNewWindow;
+  }
+
+  public void setOpenNewWindow(boolean openNewWindow) {
+    this.openNewWindow = openNewWindow;
+  }
+
+  public boolean getInternalLink() {
+    return internalLink;
+  }
+
+  public void setInternalLink(boolean internalLink) {
+    this.internalLink = internalLink;
+  }
+}
diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/shared/services/rest/ServiceHyperLink.java b/mobile-war/src/main/java/org/silverpeas/mobile/shared/services/rest/ServiceHyperLink.java
index e08837d6d..1000c1ada 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/shared/services/rest/ServiceHyperLink.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/shared/services/rest/ServiceHyperLink.java
@@ -24,8 +24,9 @@
 
 package org.silverpeas.mobile.shared.services.rest;
 
+import org.fusesource.restygwt.client.MethodCallback;
 import org.fusesource.restygwt.client.RestService;
-import org.fusesource.restygwt.client.TextCallback;
+import org.silverpeas.mobile.shared.dto.hyperlink.HyperLinkDTO;
 
 import javax.ws.rs.GET;
 import javax.ws.rs.Path;
@@ -39,5 +40,5 @@ public interface ServiceHyperLink extends RestService {
 
   @GET
   @Path("{appId}/")
-  public void getUrl(@PathParam("appId") String appId, TextCallback callback);
+  public void getUrl(@PathParam("appId") String appId, MethodCallback<HyperLinkDTO> callback);
 }

From 24369553fdc4685082fcd922d006bab796265cbf Mon Sep 17 00:00:00 2001
From: svuillet <svu@silvepeas.com>
Date: Thu, 3 Aug 2023 17:44:45 +0200
Subject: [PATCH 062/145] Feature #13677

---
 .../org/silverpeas/mobile/mobileSettings.properties      | 2 ++
 .../mobile/server/services/ServiceNavigation.java        | 9 ++++-----
 2 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/mobile-configuration/src/main/config/properties/org/silverpeas/mobile/mobileSettings.properties b/mobile-configuration/src/main/config/properties/org/silverpeas/mobile/mobileSettings.properties
index ca7a85c37..041075639 100644
--- a/mobile-configuration/src/main/config/properties/org/silverpeas/mobile/mobileSettings.properties
+++ b/mobile-configuration/src/main/config/properties/org/silverpeas/mobile/mobileSettings.properties
@@ -34,6 +34,8 @@ spacehomepage.lastpublications=true
 # display last events or not on spaces home page
 spacehomepage.lastevents=true
 
+spacehomepage.displayUrlType=true
+
 # home page zones order
 homepage.zone.changeorder=false
 homepage.spaces.order=2
diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/server/services/ServiceNavigation.java b/mobile-war/src/main/java/org/silverpeas/mobile/server/services/ServiceNavigation.java
index 12257568e..18d160c48 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/server/services/ServiceNavigation.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/server/services/ServiceNavigation.java
@@ -400,12 +400,11 @@ public HomePageDTO getHomePageData(@PathParam("spaceId") String spaceId) {
         }
       } else if (spaceId != null) {
         SpaceInst space = Administration.get().getSpaceInstById(spaceId);
-        if (space.getFirstPageType() == HomePages.URL.getValue()) {
+        if (space.getFirstPageType() == HomePages.URL.getValue() &&
+                getSettings().getBoolean("spacehomepage.displayUrlType")) {
           String html =
-              "<iframe frameborder='0' onLoad='javaScript:this.height = this.contentWindow" +
-                  ".document.body" +
-                  ".scrollHeight ;' style='width:100%;' src='" + space.getFirstPageExtraParam() +
-                  "'></iframe>";
+                  "<iframe frameborder='0' style='width:100vw;height:100vh' src='" + space.getFirstPageExtraParam() +
+                          "'></iframe>";
           data.setHtmlFreeZone(html);
         }
       }

From 0aa03faee2e2253cb0423025f3f514a4236c28d5 Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Sat, 5 Aug 2023 10:35:31 +0200
Subject: [PATCH 063/145] Update dependency on Silverpeas to version
 6.3.1-build230805

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 2077883b9..e8ef9b60b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.1-build230729</silverpeas.version>
+    <silverpeas.version>6.3.1-build230805</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.1</next.release>

From a032f228e3688eab7a3f2e179f8e1148d999ea1b Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Sat, 12 Aug 2023 10:35:16 +0200
Subject: [PATCH 064/145] Update dependency on Silverpeas to version
 6.3.1-build230812

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index e8ef9b60b..90fabd91c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.1-build230805</silverpeas.version>
+    <silverpeas.version>6.3.1-build230812</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.1</next.release>

From dab855224f47bfe53ba494bf9cbaa3b162a66679 Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Sat, 19 Aug 2023 10:36:52 +0200
Subject: [PATCH 065/145] Update dependency on Silverpeas to version
 6.3.1-build230819

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 90fabd91c..6346f8b6d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.1-build230812</silverpeas.version>
+    <silverpeas.version>6.3.1-build230819</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.1</next.release>

From 9a6967b77bb346c55703d2765fe6eff6a4288e0f Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Wed, 23 Aug 2023 12:20:01 +0200
Subject: [PATCH 066/145] Update dependency on Silverpeas to version
 6.3.1-build230823

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 6346f8b6d..4c43072e8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.1-build230819</silverpeas.version>
+    <silverpeas.version>6.3.1-build230823</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.1</next.release>

From 8c65d3a30ae9a920e02ca36df0116d94a915060f Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Thu, 24 Aug 2023 10:44:48 +0200
Subject: [PATCH 067/145] 6.3.1 has been released from build 6.3.1-build230823
 (9a6967b77bb346c55703d2765fe6eff6a4288e0f).Prepare for development iteration
 of next version 6.3.2

---
 mobile-configuration/pom.xml | 2 +-
 mobile-war/pom.xml           | 2 +-
 pom.xml                      | 6 +++---
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/mobile-configuration/pom.xml b/mobile-configuration/pom.xml
index eb12c01d1..ecb72597d 100644
--- a/mobile-configuration/pom.xml
+++ b/mobile-configuration/pom.xml
@@ -28,7 +28,7 @@
   <parent>
     <groupId>org.silverpeas.components</groupId>
     <artifactId>mobile</artifactId>
-    <version>6.3.1-SNAPSHOT</version>
+    <version>6.3.2-SNAPSHOT</version>
   </parent>
 
   <groupId>org.silverpeas.components.mobile</groupId>
diff --git a/mobile-war/pom.xml b/mobile-war/pom.xml
index 84efde9f9..0a69e0d5e 100644
--- a/mobile-war/pom.xml
+++ b/mobile-war/pom.xml
@@ -30,7 +30,7 @@
   <parent>
     <groupId>org.silverpeas.components</groupId>
     <artifactId>mobile</artifactId>
-    <version>6.3.1-SNAPSHOT</version>
+    <version>6.3.2-SNAPSHOT</version>
   </parent>
 
   <groupId>org.silverpeas.components.mobile</groupId>
diff --git a/pom.xml b/pom.xml
index 4c43072e8..0eabe3b82 100644
--- a/pom.xml
+++ b/pom.xml
@@ -35,14 +35,14 @@
   <groupId>org.silverpeas.components</groupId>
   <artifactId>mobile</artifactId>
   <packaging>pom</packaging>
-  <version>6.3.1-SNAPSHOT</version>
+  <version>6.3.2-SNAPSHOT</version>
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.1-build230823</silverpeas.version>
+    <silverpeas.version>6.3.2-SNAPSHOT</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
-     <next.release>6.3.1</next.release>
+     <next.release>6.3.2</next.release>
   </properties>
 
   <repositories>

From 6f1145d2c1f688d9a7338cedd4b643adb277da05 Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Mon, 4 Sep 2023 11:50:01 +0200
Subject: [PATCH 068/145] Update dependency on Silverpeas to version
 6.3.2-build230904

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 0eabe3b82..50d32f3af 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.2-SNAPSHOT</silverpeas.version>
+    <silverpeas.version>6.3.2-build230904</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.2</next.release>

From 9696e041c09a9fc046abfb8efd80637a9615b98f Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Mon, 11 Sep 2023 12:58:42 +0200
Subject: [PATCH 069/145] Update dependency on Silverpeas to version
 6.3.2-build230911

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 50d32f3af..042d72b61 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.2-build230904</silverpeas.version>
+    <silverpeas.version>6.3.2-build230911</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.2</next.release>

From e16ac4ed3e0a5e5651d790fc1e6c1a52a2d872b8 Mon Sep 17 00:00:00 2001
From: svuillet <svu@silvepeas.com>
Date: Thu, 14 Sep 2023 10:49:34 +0200
Subject: [PATCH 070/145] Add current spaceId in http session

---
 .../org/silverpeas/mobile/server/services/ServiceNavigation.java | 1 +
 1 file changed, 1 insertion(+)

diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/server/services/ServiceNavigation.java b/mobile-war/src/main/java/org/silverpeas/mobile/server/services/ServiceNavigation.java
index 18d160c48..8baa7b67b 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/server/services/ServiceNavigation.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/server/services/ServiceNavigation.java
@@ -235,6 +235,7 @@ public HomePageDTO getHomePageData(@PathParam("spaceId") String spaceId) {
     if (spaceId.equals("null")) spaceId = null;
 
     initSilverpeasSession();
+    request.getSession().setAttribute("Silverpeas_Portlet_SpaceId", spaceId);
 
     String look = "";
     try {

From a8402a041ef6939d7c7529b884ae0bd6b1e8193d Mon Sep 17 00:00:00 2001
From: svuillet <svu@silvepeas.com>
Date: Fri, 15 Sep 2023 14:55:29 +0200
Subject: [PATCH 071/145] Fix #13747

---
 .../client/resources/ApplicationMessages.java   |  2 +-
 .../resources/ApplicationMessages_en.properties |  2 +-
 .../resources/ApplicationMessages_fr.properties |  4 ++--
 .../server/services/helpers/NewsHelper.java     | 17 +++++++----------
 4 files changed, 11 insertions(+), 14 deletions(-)

diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/client/resources/ApplicationMessages.java b/mobile-war/src/main/java/org/silverpeas/mobile/client/resources/ApplicationMessages.java
index 23d041690..40512753a 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/client/resources/ApplicationMessages.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/client/resources/ApplicationMessages.java
@@ -45,7 +45,7 @@ public interface ApplicationMessages extends Messages {
   @DefaultMessage("Corriger")
   String correctBtnLabel();
 
-  @DefaultMessage("© 2001-2020 <a target='_blank' href='http://www.silverpeas.com'>Silverpeas</a>	- Tous droits réservés")
+  @DefaultMessage("© 2001-2023 <a target='_blank' href='http://www.silverpeas.com'>Silverpeas</a>	- Tous droits réservés")
   SafeHtml copyright();
 
   @DefaultMessage("Parcourir la plateforme")
diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/client/resources/ApplicationMessages_en.properties b/mobile-war/src/main/java/org/silverpeas/mobile/client/resources/ApplicationMessages_en.properties
index a767e209a..3948f3666 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/client/resources/ApplicationMessages_en.properties
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/client/resources/ApplicationMessages_en.properties
@@ -30,7 +30,7 @@ confirmBtnLabel=Confirm
 cancelBtnLabel=Cancel
 correctBtnLabel=Correct
 
-copyright=© 2001-2016 <a target='_blank' href='http://www.silverpeas.com'>Silverpeas</a>	- All rights reserved
+copyright=© 2001-2023 <a target='_blank' href='http://www.silverpeas.com'>Silverpeas</a>	- All rights reserved
 infoTitle=Information
 ok=OK
 
diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/client/resources/ApplicationMessages_fr.properties b/mobile-war/src/main/java/org/silverpeas/mobile/client/resources/ApplicationMessages_fr.properties
index f996678fa..2b050fc99 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/client/resources/ApplicationMessages_fr.properties
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/client/resources/ApplicationMessages_fr.properties
@@ -29,7 +29,7 @@ confirmBtnLabel=Confirmer
 cancelBtnLabel=Annuler
 correctBtnLabel=Corriger
 
-copyright=© 2001-2016 <a target='_blank' href='http://www.silverpeas.com'>Silverpeas</a>	- Tous droits réservés
+copyright=© 2001-2023 <a target='_blank' href='http://www.silverpeas.com'>Silverpeas</a>	- Tous droits réservés
 
 infoTitle=Information
 ok=OK
@@ -85,4 +85,4 @@ hidePwd=Masquer le mot de passe
 received=Reçues
 sended=Envoyées
 
-notfoundError=Ressource non trouv�e
\ No newline at end of file
+notfoundError=Ressource non trouv�e
\ No newline at end of file
diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/server/services/helpers/NewsHelper.java b/mobile-war/src/main/java/org/silverpeas/mobile/server/services/helpers/NewsHelper.java
index 988e1f1b6..8e2c2336c 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/server/services/helpers/NewsHelper.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/server/services/helpers/NewsHelper.java
@@ -36,6 +36,7 @@
 import org.silverpeas.core.admin.service.AdminException;
 import org.silverpeas.core.admin.service.Administration;
 import org.silverpeas.core.admin.service.OrganizationController;
+import org.silverpeas.core.admin.user.model.UserDetail;
 import org.silverpeas.core.contribution.publication.model.PublicationDetail;
 import org.silverpeas.core.contribution.publication.service.PublicationService;
 import org.silverpeas.core.io.file.ImageResizingProcessor;
@@ -55,12 +56,7 @@
 import java.io.FileInputStream;
 import java.io.IOException;
 import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.List;
-import java.util.MissingResourceException;
+import java.util.*;
 
 /**
  * @author: svu
@@ -126,12 +122,13 @@ private boolean isVisibleNews(PublicationDetail news) {
   private List<News> getDelegatedNews(String userId) throws Exception {
     List<News> news = new ArrayList();
     List<DelegatedNews> delegatedNews = DelegatedNewsServiceProvider.getDelegatedNewsService().getAllValidDelegatedNews();
-
+    UserDetail u = Administration.get().getUserDetail(userId);
+    Date now = new Date();
     for (DelegatedNews delegated : delegatedNews) {
-      PublicationDetail pub = delegated.getPublicationDetail();
-      if (pub.canBeAccessedBy(Administration.get().getUserDetail(userId))) {
+      if (delegated.isValidated() && (delegated.getBeginDate() != null && now.after(delegated.getBeginDate()))
+              && (delegated.getEndDate() != null && now.before(delegated.getEndDate()))) {
         News aNews = QuickInfoService.get().getNewsByForeignId(delegated.getPubId());
-        news.add(aNews);
+        if (aNews.canBeAccessedBy(u)) news.add(aNews);
       }
     }
 

From 38110090f23691e609503f65b8728c533c1eb9f9 Mon Sep 17 00:00:00 2001
From: svuillet <svu@silvepeas.com>
Date: Fri, 15 Sep 2023 16:56:20 +0200
Subject: [PATCH 072/145] Fix
 https://tracker.silverpeas.org/issues/13677#note-4

---
 .../silverpeas/mobile/server/services/ServiceNavigation.java  | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/server/services/ServiceNavigation.java b/mobile-war/src/main/java/org/silverpeas/mobile/server/services/ServiceNavigation.java
index 8baa7b67b..e6dd22563 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/server/services/ServiceNavigation.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/server/services/ServiceNavigation.java
@@ -403,8 +403,10 @@ public HomePageDTO getHomePageData(@PathParam("spaceId") String spaceId) {
         SpaceInst space = Administration.get().getSpaceInstById(spaceId);
         if (space.getFirstPageType() == HomePages.URL.getValue() &&
                 getSettings().getBoolean("spacehomepage.displayUrlType")) {
+          String url = space.getFirstPageExtraParam();
+          if (url.startsWith("/") && !url.startsWith("/silverpeas") && !url.startsWith("$")) url = "/silverpeas" + url;
           String html =
-                  "<iframe frameborder='0' style='width:100vw;height:100vh' src='" + space.getFirstPageExtraParam() +
+                  "<iframe frameborder='0' style='width:100vw;height:100vh' src='" + url +
                           "'></iframe>";
           data.setHtmlFreeZone(html);
         }

From 6a3db9452caa2fd95611687d6cec7cac8e1a3628 Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Sat, 16 Sep 2023 10:36:05 +0200
Subject: [PATCH 073/145] Update dependency on Silverpeas to version
 6.3.2-build230916

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 042d72b61..f7fe5d1f1 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.2-build230911</silverpeas.version>
+    <silverpeas.version>6.3.2-build230916</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.2</next.release>

From 4763f093fb693a429bc38639f747226321ddd52a Mon Sep 17 00:00:00 2001
From: svuillet <svu@silvepeas.com>
Date: Mon, 18 Sep 2023 16:24:14 +0200
Subject: [PATCH 074/145] Feature #13677 : space permalink

---
 .../src/main/java/org/silverpeas/bridge/MobilFilter.java       | 3 +++
 .../src/main/java/org/silverpeas/mobile/client/SpMobil.java    | 2 +-
 .../mobile/client/apps/navigation/NavigationApp.java           | 2 +-
 3 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/mobile-war/src/main/java/org/silverpeas/bridge/MobilFilter.java b/mobile-war/src/main/java/org/silverpeas/bridge/MobilFilter.java
index be7d21b01..9b6905224 100644
--- a/mobile-war/src/main/java/org/silverpeas/bridge/MobilFilter.java
+++ b/mobile-war/src/main/java/org/silverpeas/bridge/MobilFilter.java
@@ -177,6 +177,9 @@ public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain)
         } else if (url.contains("Component")) {
           String appId = url.substring(url.lastIndexOf("/") + 1);
           params = "?shortcutContentType=Component&shortcutAppId=" + appId;
+        } else if (url.contains("Space")) {
+          String spaceId = url.substring(url.lastIndexOf("/") + 1);
+          params = "?shortcutContentType=Space&shortcutAppId=" + spaceId;
         } else if (!url.contains("AuthenticationServlet") &&
             (url.endsWith("silverpeas") || url.endsWith("silverpeas/") ||
                 url.contains("/silverpeas/"))) {
diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/client/SpMobil.java b/mobile-war/src/main/java/org/silverpeas/mobile/client/SpMobil.java
index b1fe57343..adc8ce485 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/client/SpMobil.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/client/SpMobil.java
@@ -267,7 +267,7 @@ public static void displayMainPage() {
 
     if ((shortcutAppId != null && shortcutContentType != null && shortcutContentId != null) ||
         shortcutContributionId != null ||
-        (shortcutContentType != null && shortcutContentType.equals("Component") &&
+        (shortcutContentType != null && (shortcutContentType.equals("Component") || shortcutContentType.equals("Space")) &&
             shortcutAppId != null)) {
       ShortCutRouter.route(user, shortcutAppId, shortcutContentType, shortcutContentId,
           shortcutContributionId, shortcutRole);
diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/navigation/NavigationApp.java b/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/navigation/NavigationApp.java
index 941fc22b5..d2a4fad8a 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/navigation/NavigationApp.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/navigation/NavigationApp.java
@@ -102,7 +102,7 @@ public void appInstanceChanged(final NavigationAppInstanceChangedEvent event) {
   public void showContent(final NavigationShowContentEvent event) {
     if (event.getContent().getType().equals(ContentsTypes.Space.name())) {
       NavigationPage page = new NavigationPage();
-      page.setRootSpaceId(event.getContent().getId());
+      page.setRootSpaceId(event.getContent().getInstanceId());
       page.show();
     }
   }

From ed84093c8b1f282ca0f7ebae60b2a16eeae18dca Mon Sep 17 00:00:00 2001
From: svuillet <svu@silvepeas.com>
Date: Wed, 20 Sep 2023 18:58:19 +0200
Subject: [PATCH 075/145] Fix gallery permalink

---
 .../mobile/client/apps/media/MediaApp.java    | 25 ++++++++++++++++++-
 1 file changed, 24 insertions(+), 1 deletion(-)

diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/media/MediaApp.java b/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/media/MediaApp.java
index c9c280286..8b9fcc831 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/media/MediaApp.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/media/MediaApp.java
@@ -26,7 +26,10 @@
 
 import com.google.gwt.core.client.GWT;
 import com.google.gwt.core.client.Scheduler;
+import com.google.gwt.user.client.Command;
+import com.google.gwt.user.client.Window;
 import org.fusesource.restygwt.client.Method;
+import org.silverpeas.mobile.client.apps.documents.DocumentsApp;
 import org.silverpeas.mobile.client.apps.media.events.app.AbstractMediaAppEvent;
 import org.silverpeas.mobile.client.apps.media.events.app.MediaAppEventHandler;
 import org.silverpeas.mobile.client.apps.media.events.app.MediaPreviewLoadEvent;
@@ -215,10 +218,30 @@ public void appInstanceChanged(NavigationAppInstanceChangedEvent event) {
     }
   }
 
+  private void loadAppInstance(final ContentDTO content) {
+    MethodCallbackOnlineOnly action = new MethodCallbackOnlineOnly<ApplicationInstanceDTO>() {
+
+      @Override
+      public void attempt() {
+        ServicesLocator.getServiceNavigation()
+                .getApp(content.getInstanceId(), content.getId(), content.getType(), this);
+      }
+
+      @Override
+      public void onSuccess(final Method method,
+                            final ApplicationInstanceDTO app) {
+        super.onSuccess(method, app);
+        setApplicationInstance(app);
+        appInstanceChanged(new NavigationAppInstanceChangedEvent(app));
+      }
+    };
+    action.attempt();
+  }
+
   @Override
   public void showContent(final NavigationShowContentEvent event) {
     if (event.getContent().getType().equals("Component") && event.getContent().getInstanceId().startsWith(Apps.gallery.name())) {
-      super.showContent(event);
+      loadAppInstance(event.getContent());
     } else if (event.getContent().getType().equals(ContentsTypes.Media.name()) ||
         event.getContent().getType().equals(ContentsTypes.Photo.name()) ||
         event.getContent().getType().equals(ContentsTypes.Sound.name()) ||

From 724ee378d4308f6f2ae94f45afaa4ea83f9d57fb Mon Sep 17 00:00:00 2001
From: svuillet <svu@silvepeas.com>
Date: Thu, 21 Sep 2023 16:28:26 +0200
Subject: [PATCH 076/145] Fix permalink quickinfo app

---
 .../mobile/client/apps/news/NewsApp.java      | 23 ++++++++++++++++++-
 1 file changed, 22 insertions(+), 1 deletion(-)

diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/news/NewsApp.java b/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/news/NewsApp.java
index bdd87828a..62a080b3f 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/news/NewsApp.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/news/NewsApp.java
@@ -40,6 +40,7 @@
 import org.silverpeas.mobile.client.common.ServicesLocator;
 import org.silverpeas.mobile.client.common.app.App;
 import org.silverpeas.mobile.client.common.network.MethodCallbackOnlineOnly;
+import org.silverpeas.mobile.shared.dto.ContentDTO;
 import org.silverpeas.mobile.shared.dto.navigation.ApplicationInstanceDTO;
 import org.silverpeas.mobile.shared.dto.navigation.Apps;
 import org.silverpeas.mobile.shared.dto.news.NewsDTO;
@@ -100,10 +101,30 @@ public void appInstanceChanged(final NavigationAppInstanceChangedEvent event) {
     }
   }
 
+  private void loadAppInstance(final ContentDTO content) {
+    MethodCallbackOnlineOnly action = new MethodCallbackOnlineOnly<ApplicationInstanceDTO>() {
+
+      @Override
+      public void attempt() {
+        ServicesLocator.getServiceNavigation()
+                .getApp(content.getInstanceId(), content.getId(), content.getType(), this);
+      }
+
+      @Override
+      public void onSuccess(final Method method,
+                            final ApplicationInstanceDTO app) {
+        super.onSuccess(method, app);
+        setApplicationInstance(app);
+        appInstanceChanged(new NavigationAppInstanceChangedEvent(app));
+      }
+    };
+    action.attempt();
+  }
+
   @Override
   public void showContent(final NavigationShowContentEvent event) {
     if (event.getContent().getType().equals("Component") && event.getContent().getInstanceId().startsWith(Apps.quickinfo.name())) {
-      super.showContent(event);
+      loadAppInstance(event.getContent());
     } else {
       // actually manage by document app
     }

From 39b07466441ff4079d1f0d0f24bedaf8474d3e67 Mon Sep 17 00:00:00 2001
From: svuillet <svu@silvepeas.com>
Date: Thu, 21 Sep 2023 17:34:53 +0200
Subject: [PATCH 077/145] Fix permalink on topic

---
 .../src/main/java/org/silverpeas/bridge/MobilFilter.java    | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/mobile-war/src/main/java/org/silverpeas/bridge/MobilFilter.java b/mobile-war/src/main/java/org/silverpeas/bridge/MobilFilter.java
index 9b6905224..79a609cff 100644
--- a/mobile-war/src/main/java/org/silverpeas/bridge/MobilFilter.java
+++ b/mobile-war/src/main/java/org/silverpeas/bridge/MobilFilter.java
@@ -43,6 +43,7 @@
 import org.silverpeas.core.util.SettingBundle;
 import org.silverpeas.core.util.URLUtil;
 import org.silverpeas.core.web.mvc.controller.MainSessionController;
+import org.silverpeas.mobile.shared.dto.ContentsTypes;
 
 import javax.servlet.Filter;
 import javax.servlet.FilterChain;
@@ -113,6 +114,11 @@ public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain)
           String appId = pub.getInstanceId();
           params = "?shortcutContentType=Publication&shortcutContentId=" + id + "&shortcutAppId=" +
               appId;
+        } else if (url.contains("/Topic/")) {
+          // sample : /silverpeas/Topic/6278?ComponentId=kmelia2431
+          String id = url.substring(url.lastIndexOf("/")+1);
+          String appId = ((HttpServletRequest) req).getParameter("ComponentId");
+          params = "?shortcutContentType=Folder&shortcutContentId=" + id + "&shortcutAppId=" + appId;
         } else if (url.contains("Form")) {
           // sample : /silverpeas/Form/1?ComponentId=formsOnline1
           String id = url.substring(url.lastIndexOf("/") + 1);

From 2dff22f5b6ce05533380cb642e88cbda1ca421f9 Mon Sep 17 00:00:00 2001
From: svuillet <svu@silvepeas.com>
Date: Fri, 22 Sep 2023 18:42:31 +0200
Subject: [PATCH 078/145] Fix loop on relogin

---
 .../main/java/org/silverpeas/mobile/client/SpMobil.java  | 6 +++++-
 mobile-war/src/main/webapp/spmobile/spmobil.jsp          | 9 ++++++---
 2 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/client/SpMobil.java b/mobile-war/src/main/java/org/silverpeas/mobile/client/SpMobil.java
index adc8ce485..fd07922fd 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/client/SpMobil.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/client/SpMobil.java
@@ -76,6 +76,7 @@
 import org.silverpeas.mobile.client.common.navigation.PageHistory;
 import org.silverpeas.mobile.client.common.network.MethodCallbackOnlineOnly;
 import org.silverpeas.mobile.client.common.network.NetworkHelper;
+import org.silverpeas.mobile.client.common.resources.ResourcesManager;
 import org.silverpeas.mobile.client.common.storage.CacheStorageHelper;
 import org.silverpeas.mobile.client.common.storage.LocalStorageHelper;
 import org.silverpeas.mobile.client.components.base.Page;
@@ -177,6 +178,8 @@ public void onModuleLoad() {
     EventBus.getInstance().addHandler(ExceptionEvent.TYPE, new ErrorManager());
     EventBus.getInstance().addHandler(AbstractAuthenticationErrorEvent.TYPE, this);
 
+    SSO = !ResourcesManager.getSSOPath().isEmpty();
+
     loadIds(null);
 
     NodeList<Element> tags = Document.get().getElementsByTagName("meta");
@@ -262,6 +265,7 @@ public static void displayMainPage() {
     }
     getMainPage().setUser(user);
     RootPanel.get().clear();
+    PageHistory.getInstance().clear();
     RootPanel.get().add(getMainPage());
     PageHistory.getInstance().goTo(new HomePage());
 
@@ -370,7 +374,7 @@ public void onFailure(final Method method, final Throwable t) {
           tryToRelogin(attempt);
         }
       };
-      SSO = true;
+
       action.attempt();
     } else {
       //Login
diff --git a/mobile-war/src/main/webapp/spmobile/spmobil.jsp b/mobile-war/src/main/webapp/spmobile/spmobil.jsp
index 63a31ad63..dc70e1e18 100644
--- a/mobile-war/src/main/webapp/spmobile/spmobil.jsp
+++ b/mobile-war/src/main/webapp/spmobile/spmobil.jsp
@@ -152,9 +152,12 @@
 </head>
 <body class="ui-panel-wrapper ui-page-theme-a csspinner traditional" onload="resize();">
 <%
-  String fullSsoPath = request.getRequestURL().toString();
-  fullSsoPath = fullSsoPath.replace("/spmobile/spmobil.jsp","");
-  fullSsoPath = fullSsoPath + ssoPath;
+  String fullSsoPath = "";
+  if (!ssoPath.trim().isEmpty()) {
+    fullSsoPath = request.getRequestURL().toString();
+    fullSsoPath = fullSsoPath.replace("/spmobile/spmobil.jsp", "");
+    fullSsoPath = fullSsoPath + ssoPath;
+  }
 %>
 <input type="hidden" id="ssoPath" value="<%=fullSsoPath%>">
 <div id="oneinch"

From 6e5c30eb8ccd6ac429ff8df15e1199572a489cdb Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Sat, 23 Sep 2023 10:36:04 +0200
Subject: [PATCH 079/145] Update dependency on Silverpeas to version
 6.3.2-build230923

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index f7fe5d1f1..8f396562e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.2-build230916</silverpeas.version>
+    <silverpeas.version>6.3.2-build230923</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.2</next.release>

From 645ce97161cd5f53056933c10ff46deafeb742a7 Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Sat, 30 Sep 2023 10:36:58 +0200
Subject: [PATCH 080/145] Update dependency on Silverpeas to version
 6.3.2-build230930

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 8f396562e..cf99fd25e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.2-build230923</silverpeas.version>
+    <silverpeas.version>6.3.2-build230930</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.2</next.release>

From dea5c9e2ec2700d31bc353cebaf8d33a8256b9b1 Mon Sep 17 00:00:00 2001
From: svuillet <svu@silvepeas.com>
Date: Wed, 4 Oct 2023 20:20:16 +0200
Subject: [PATCH 081/145] Allow external access for specific jsp

---
 .../org/silverpeas/bridge/MobilFilter.java    |  3 ++
 .../org/silverpeas/mobile/client/SpMobil.java |  5 ++-
 .../common/navigation/LinksManager.java       |  2 +-
 .../services/AbstractRestWebService.java      | 32 +++++++++++++++++
 .../server/services/ServiceConnection.java    | 35 +++++++++++++++++++
 .../server/services/ServiceNavigation.java    | 30 +---------------
 6 files changed, 76 insertions(+), 31 deletions(-)

diff --git a/mobile-war/src/main/java/org/silverpeas/bridge/MobilFilter.java b/mobile-war/src/main/java/org/silverpeas/bridge/MobilFilter.java
index 79a609cff..efbeccb5f 100644
--- a/mobile-war/src/main/java/org/silverpeas/bridge/MobilFilter.java
+++ b/mobile-war/src/main/java/org/silverpeas/bridge/MobilFilter.java
@@ -186,6 +186,9 @@ public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain)
         } else if (url.contains("Space")) {
           String spaceId = url.substring(url.lastIndexOf("/") + 1);
           params = "?shortcutContentType=Space&shortcutAppId=" + spaceId;
+        } else if (url.contains("/needSession")) {
+          String appId = url.replaceAll("/needSession","");
+          params = "?shortcutContentType=Url&shortcutAppId=" + appId;
         } else if (!url.contains("AuthenticationServlet") &&
             (url.endsWith("silverpeas") || url.endsWith("silverpeas/") ||
                 url.contains("/silverpeas/"))) {
diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/client/SpMobil.java b/mobile-war/src/main/java/org/silverpeas/mobile/client/SpMobil.java
index fd07922fd..93d68478e 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/client/SpMobil.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/client/SpMobil.java
@@ -73,6 +73,7 @@
 import org.silverpeas.mobile.client.common.event.authentication.AuthenticationEventHandler;
 import org.silverpeas.mobile.client.common.mobil.MobilUtils;
 import org.silverpeas.mobile.client.common.mobil.Orientation;
+import org.silverpeas.mobile.client.common.navigation.LinksManager;
 import org.silverpeas.mobile.client.common.navigation.PageHistory;
 import org.silverpeas.mobile.client.common.network.MethodCallbackOnlineOnly;
 import org.silverpeas.mobile.client.common.network.NetworkHelper;
@@ -274,7 +275,9 @@ public static void displayMainPage() {
         (shortcutContentType != null && (shortcutContentType.equals("Component") || shortcutContentType.equals("Space")) &&
             shortcutAppId != null)) {
       ShortCutRouter.route(user, shortcutAppId, shortcutContentType, shortcutContentId,
-          shortcutContributionId, shortcutRole);
+              shortcutContributionId, shortcutRole);
+    } else if (shortcutContentType != null && shortcutContentType.equalsIgnoreCase("Url") && shortcutAppId != null) {
+      LinksManager.openIframePage(shortcutAppId);
     } else {
       MethodCallbackOnlineOnly action = new MethodCallbackOnlineOnly<HomePageDTO>() {
 
diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/client/common/navigation/LinksManager.java b/mobile-war/src/main/java/org/silverpeas/mobile/client/common/navigation/LinksManager.java
index 9b95eeefe..2bdd93868 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/client/common/navigation/LinksManager.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/client/common/navigation/LinksManager.java
@@ -127,7 +127,7 @@ public static void openExternalLink(String url, boolean openNewWindow, boolean i
     }
   }
 
-  private static void openIframePage(String url) {
+  public static void openIframePage(String url) {
     IframePage page = new IframePage(url);
     page.setPageTitle("");
     page.show();
diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/server/services/AbstractRestWebService.java b/mobile-war/src/main/java/org/silverpeas/mobile/server/services/AbstractRestWebService.java
index 0c3940eb8..fb02aa517 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/server/services/AbstractRestWebService.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/server/services/AbstractRestWebService.java
@@ -4,10 +4,15 @@
 import org.silverpeas.core.security.authentication.AuthenticationCredential;
 import org.silverpeas.core.security.authentication.AuthenticationService;
 import org.silverpeas.core.security.authentication.AuthenticationServiceProvider;
+import org.silverpeas.core.security.session.SessionInfo;
+import org.silverpeas.core.security.session.SessionManagement;
+import org.silverpeas.core.security.session.SessionManagementProvider;
 import org.silverpeas.core.util.ResourceLocator;
 import org.silverpeas.core.util.SettingBundle;
+import org.silverpeas.core.util.logging.SilverLogger;
 import org.silverpeas.core.web.mvc.controller.MainSessionController;
 import org.silverpeas.core.web.rs.RESTWebService;
+import org.silverpeas.core.web.util.viewgenerator.html.GraphicElementFactory;
 import org.silverpeas.mobile.server.common.CommandCreateList;
 import org.silverpeas.mobile.shared.StreamingList;
 import org.silverpeas.mobile.shared.dto.BaseDTO;
@@ -43,6 +48,33 @@ protected void setMainsessioncontroller(String login, String password, String do
         new MainSessionController(key, getHttpRequest().getSession());
   }
 
+  protected void initSilverpeasSession(HttpServletRequest request) {
+    MainSessionController controller = (MainSessionController) request.getSession()
+            .getAttribute(MainSessionController.MAIN_SESSION_CONTROLLER_ATT);
+    if (controller == null) {
+      SessionManagement sessionManagement = SessionManagementProvider.getSessionManagement();
+      SessionInfo sessionInfo = sessionManagement.validateSession(request.getSession().getId());
+      if (sessionInfo.getSessionId() == null) {
+        sessionInfo = sessionManagement.openSession(getUser(), request);
+      }
+
+      try {
+        controller = new MainSessionController(sessionInfo, request.getSession());
+      } catch (SilverpeasException e) {
+        SilverLogger.getLogger(this).error(e);
+      }
+      request.getSession()
+              .setAttribute(MainSessionController.MAIN_SESSION_CONTROLLER_ATT, controller);
+    }
+
+    GraphicElementFactory gef = (GraphicElementFactory) request.getSession()
+            .getAttribute(GraphicElementFactory.GE_FACTORY_SESSION_ATT);
+    if (gef == null && controller != null) {
+      gef = new GraphicElementFactory(controller);
+      request.getSession().setAttribute(GraphicElementFactory.GE_FACTORY_SESSION_ATT, gef);
+    }
+  }
+
   protected StreamingList createStreamingList(CommandCreateList command, int callNumber, int callSize, String cacheKey) throws Exception {
     List list;
     if (callNumber == 0) {
diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/server/services/ServiceConnection.java b/mobile-war/src/main/java/org/silverpeas/mobile/server/services/ServiceConnection.java
index 4f03332f3..50b931f58 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/server/services/ServiceConnection.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/server/services/ServiceConnection.java
@@ -40,8 +40,14 @@
 import org.silverpeas.core.security.authentication.exception.AuthenticationPwdNotAvailException;
 import org.silverpeas.core.security.authentication.exception.AuthenticationUserAccountBlockedException;
 import org.silverpeas.core.security.authentication.exception.AuthenticationUserAccountDeactivatedException;
+import org.silverpeas.core.security.session.SessionInfo;
+import org.silverpeas.core.security.session.SessionManagement;
+import org.silverpeas.core.security.session.SessionManagementProvider;
+import org.silverpeas.core.util.logging.SilverLogger;
 import org.silverpeas.core.web.chat.listeners.ChatUserAuthenticationListener;
+import org.silverpeas.core.web.mvc.controller.MainSessionController;
 import org.silverpeas.core.web.rs.UserPrivilegeValidation;
+import org.silverpeas.core.web.util.viewgenerator.html.GraphicElementFactory;
 import org.silverpeas.mobile.server.helpers.DataURLHelper;
 import org.silverpeas.mobile.server.services.helpers.UserHelper;
 import org.silverpeas.mobile.shared.dto.DetailUserDTO;
@@ -137,6 +143,8 @@ public DetailUserDTO login(List<String> ids) {
       throw new WebApplicationException(AuthenticationError.CanCreateMainSessionController.name());
     }
 
+    initSilverpeasSession();
+
     DetailUserDTO userDTO = new DetailUserDTO();
     userDTO = UserHelper.getInstance().populate(user);
 
@@ -154,6 +162,33 @@ public DetailUserDTO login(List<String> ids) {
     return userDTO;
   }
 
+  private void initSilverpeasSession() {
+    MainSessionController controller = (MainSessionController) request.getSession()
+            .getAttribute(MainSessionController.MAIN_SESSION_CONTROLLER_ATT);
+    if (controller == null) {
+      SessionManagement sessionManagement = SessionManagementProvider.getSessionManagement();
+      SessionInfo sessionInfo = sessionManagement.validateSession(request.getSession().getId());
+      if (sessionInfo.getSessionId() == null) {
+        sessionInfo = sessionManagement.openSession(getUser(), request);
+      }
+
+      try {
+        controller = new MainSessionController(sessionInfo, request.getSession());
+      } catch (SilverpeasException e) {
+        SilverLogger.getLogger(this).error(e);
+      }
+      request.getSession()
+              .setAttribute(MainSessionController.MAIN_SESSION_CONTROLLER_ATT, controller);
+    }
+
+    GraphicElementFactory gef = (GraphicElementFactory) request.getSession()
+            .getAttribute(GraphicElementFactory.GE_FACTORY_SESSION_ATT);
+    if (gef == null && controller != null) {
+      gef = new GraphicElementFactory(controller);
+      request.getSession().setAttribute(GraphicElementFactory.GE_FACTORY_SESSION_ATT, gef);
+    }
+  }
+
   @GET
   @Produces(MediaType.APPLICATION_JSON)
   @Path("userExist/{login}/{domainId}")
diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/server/services/ServiceNavigation.java b/mobile-war/src/main/java/org/silverpeas/mobile/server/services/ServiceNavigation.java
index e6dd22563..700678a51 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/server/services/ServiceNavigation.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/server/services/ServiceNavigation.java
@@ -192,34 +192,6 @@ private DetailUserDTO initSession(DetailUserDTO user) {
       return null;
     }
   }
-
-  private void initSilverpeasSession() {
-    MainSessionController controller = (MainSessionController) request.getSession()
-        .getAttribute(MainSessionController.MAIN_SESSION_CONTROLLER_ATT);
-    if (controller == null) {
-      SessionManagement sessionManagement = SessionManagementProvider.getSessionManagement();
-      SessionInfo sessionInfo = sessionManagement.validateSession(request.getSession().getId());
-      if (sessionInfo.getSessionId() == null) {
-        sessionInfo = sessionManagement.openSession(getUser(), request);
-      }
-
-      try {
-        controller = new MainSessionController(sessionInfo, request.getSession());
-      } catch (SilverpeasException e) {
-        SilverLogger.getLogger(this).error(e);
-      }
-      request.getSession()
-          .setAttribute(MainSessionController.MAIN_SESSION_CONTROLLER_ATT, controller);
-    }
-
-    GraphicElementFactory gef = (GraphicElementFactory) request.getSession()
-        .getAttribute(GraphicElementFactory.GE_FACTORY_SESSION_ATT);
-    if (gef == null && controller != null) {
-      gef = new GraphicElementFactory(controller);
-      request.getSession().setAttribute(GraphicElementFactory.GE_FACTORY_SESSION_ATT, gef);
-    }
-  }
-
   protected void setUserInSession(UserDetail user) {
     request.getSession().setAttribute(AbstractAuthenticateService.USER_ATTRIBUT_NAME, user);
   }
@@ -234,7 +206,7 @@ protected UserDetail getUserInSession() {
   public HomePageDTO getHomePageData(@PathParam("spaceId") String spaceId) {
     if (spaceId.equals("null")) spaceId = null;
 
-    initSilverpeasSession();
+    initSilverpeasSession(request);
     request.getSession().setAttribute("Silverpeas_Portlet_SpaceId", spaceId);
 
     String look = "";

From cc7ad28c50ba0b7e47548dbb572cf641bb7a06a7 Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Fri, 6 Oct 2023 15:45:40 +0200
Subject: [PATCH 082/145] Update dependency on Silverpeas to version
 6.3.2-build231006

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index cf99fd25e..a8e6b8f69 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.2-build230930</silverpeas.version>
+    <silverpeas.version>6.3.2-build231006</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.2</next.release>

From 541fa5cd6335fbe207d8e80b3c3ba014f73965ad Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Sat, 7 Oct 2023 10:36:12 +0200
Subject: [PATCH 083/145] Update dependency on Silverpeas to version
 6.3.2-build231007

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index a8e6b8f69..f48c50436 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.2-build231006</silverpeas.version>
+    <silverpeas.version>6.3.2-build231007</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.2</next.release>

From d6c5e4738bee06adfbfd4756d044f0ca1f008e46 Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Sat, 14 Oct 2023 10:35:07 +0200
Subject: [PATCH 084/145] Update dependency on Silverpeas to version
 6.3.2-build231014

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index f48c50436..0615f0c84 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.2-build231007</silverpeas.version>
+    <silverpeas.version>6.3.2-build231014</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.2</next.release>

From 5863430c1a8cfec03db5414a1733654920c8ed74 Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Mon, 23 Oct 2023 20:36:56 +0200
Subject: [PATCH 085/145] Update dependency on Silverpeas to version
 6.3.2-build231023

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 0615f0c84..420e10acd 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.2-build231014</silverpeas.version>
+    <silverpeas.version>6.3.2-build231023</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.2</next.release>

From d978148758958f7d8477eb329080981e591a79b6 Mon Sep 17 00:00:00 2001
From: svuillet <svu@silvepeas.com>
Date: Thu, 26 Oct 2023 17:15:48 +0200
Subject: [PATCH 086/145] Feature #13824

---
 .../apps/documents/pages/PublicationPage.java | 10 +++
 .../components/attachments/Attachment.java    | 88 ++++++++++++-------
 .../server/services/ServiceDocuments.java     | 13 +++
 .../shared/dto/documents/PublicationDTO.java  |  9 ++
 .../dto/documents/SimpleDocumentDTO.java      | 11 +++
 5 files changed, 100 insertions(+), 31 deletions(-)

diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/documents/pages/PublicationPage.java b/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/documents/pages/PublicationPage.java
index be249fea6..9c72af6e0 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/documents/pages/PublicationPage.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/documents/pages/PublicationPage.java
@@ -147,6 +147,16 @@ public void onLoadedPublication(PublicationLoadedEvent event) {
   @Override
   public void onLoadedPublicationAttachments(final PublicationAttachmentsLoadedEvent event) {
     for (SimpleDocumentDTO attachment : event.getAttachments()) {
+      if (!publication.getNotAllowedDownloads().isEmpty()) {
+        attachment.setDownloadable(true);
+        for (String idNotAllowed : publication.getNotAllowedDownloads()) {
+          if (idNotAllowed.equals(attachment.getId())) {
+            attachment.setDownloadable(false);
+          }
+        }
+      } else {
+        attachment.setDownloadable(true);
+      }
       Attachment a = new Attachment();
       a.setAttachment(attachment);
       attachments.add(a);
diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/client/components/attachments/Attachment.java b/mobile-war/src/main/java/org/silverpeas/mobile/client/components/attachments/Attachment.java
index 67383d171..65ee2070f 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/client/components/attachments/Attachment.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/client/components/attachments/Attachment.java
@@ -45,6 +45,7 @@
 import org.silverpeas.mobile.client.common.navigation.UrlUtils;
 import org.silverpeas.mobile.client.common.network.NetworkHelper;
 import org.silverpeas.mobile.client.common.storage.CacheStorageHelper;
+import org.silverpeas.mobile.client.components.IframePage;
 import org.silverpeas.mobile.client.resources.ApplicationMessages;
 import org.silverpeas.mobile.shared.dto.documents.SimpleDocumentDTO;
 
@@ -81,9 +82,9 @@ public void setAttachment(SimpleDocumentDTO data) {
   private void render() {
     Image img = null;
     String sizeValue;
-      /*if (!data..isDownloadAllowed()) {
-        link.setStylePrimaryName("not-downloadable");
-      }*/
+    if (!data.isDownloadable()) {
+      link.setStylePrimaryName("not-downloadable");
+    }
     if (data.getSize() < 1024 * 1024) {
       sizeValue = String.valueOf(data.getSize() / 1024);
       size.setInnerHTML(msg.sizeK(sizeValue));
@@ -121,43 +122,68 @@ private void render() {
     // link generation
     try {
       String url = UrlUtils.getAttachedFileLocation();
-      url += "componentId/";
-      url += data.getInstanceId();
-      url += "/attachmentId/";
-      url += data.getId();
-      url += "/lang/";
-      url += data.getLang();
-      url += "/name/";
-      url += data.getFileName();
-
+      if (data.isDownloadable()) {
+        url += "componentId/";
+        url += data.getInstanceId();
+        url += "/attachmentId/";
+        url += data.getId();
+        url += "/lang/";
+        url += data.getLang();
+        url += "/name/";
+        url += data.getFileName();
+      } else {
+        url = "#";
+      }
       link.setHref(url);
       if (MobilUtils.isIOS()) {
-        //link.setTarget("_blank");
-        link.addClickHandler(new ClickHandler() {
-          @Override
-          public void onClick(final ClickEvent clickEvent) {
-            String u = ((Anchor) clickEvent.getSource()).getHref();
-            if (NetworkHelper.isOnline()) {
-              CacheStorageHelper.store(u);
+        if (data.isDownloadable()) {
+          link.addClickHandler(new ClickHandler() {
+            @Override
+            public void onClick(final ClickEvent clickEvent) {
+              String u = ((Anchor) clickEvent.getSource()).getHref();
+              if (NetworkHelper.isOnline()) {
+                CacheStorageHelper.store(u);
+              }
+              Window.open(u, "_blank", "fullscreen=yes");
             }
-            Window.open(u, "_blank", "fullscreen=yes");
-          }
-        });
+          });
+        } else {
+          link.addClickHandler(new ClickHandler() {
+            @Override
+            public void onClick(final ClickEvent clickEvent) {
+              viewDocument();
+            }
+          });
+        }
       } else {
-        link.setTarget("_self");
-        link.getElement().setAttribute("download", data.getFileName());
-        link.addClickHandler(new ClickHandler() {
-          @Override
-          public void onClick(final ClickEvent clickEvent) {
-            if (NetworkHelper.isOnline()) {
-              CacheStorageHelper.store(((Anchor) clickEvent.getSource()).getHref());
+        if (data.isDownloadable()) {
+          link.setTarget("_self");
+          link.getElement().setAttribute("download", data.getFileName());
+          link.addClickHandler(new ClickHandler() {
+            @Override
+            public void onClick(final ClickEvent clickEvent) {
+              if (NetworkHelper.isOnline()) {
+                CacheStorageHelper.store(((Anchor) clickEvent.getSource()).getHref());
+              }
+            }
+          });
+        } else {
+          link.addClickHandler(new ClickHandler() {
+            @Override
+            public void onClick(final ClickEvent clickEvent) {
+              viewDocument();
             }
-          }
-        });
+          });
+        }
       }
     } catch (JavaScriptException e) {
       Notification.alert(e.getMessage());
     }
 
   }
+
+private void viewDocument() {
+    IframePage page = new IframePage("/silverpeas/services/media/viewer/embed/pdf?documentId="+data.getId()+"&documentType=attachment&language="+data.getLang()+"&embedPlayer=true");
+    page.show();
+  }
 }
diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/server/services/ServiceDocuments.java b/mobile-war/src/main/java/org/silverpeas/mobile/server/services/ServiceDocuments.java
index 5ba98fe69..8ac52841f 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/server/services/ServiceDocuments.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/server/services/ServiceDocuments.java
@@ -40,6 +40,7 @@
 import org.silverpeas.core.contribution.attachment.AttachmentServiceProvider;
 import org.silverpeas.core.contribution.attachment.model.SimpleDocument;
 import org.silverpeas.core.contribution.attachment.model.SimpleDocumentPK;
+import org.silverpeas.core.contribution.attachment.util.SimpleDocumentList;
 import org.silverpeas.core.contribution.publication.model.CompletePublication;
 import org.silverpeas.core.contribution.publication.model.PublicationDetail;
 import org.silverpeas.core.contribution.publication.model.PublicationLink;
@@ -444,6 +445,18 @@ public PublicationDTO getPublication(@PathParam("id") String id,
         } catch (Exception e) {
           SilverLogger.getLogger(this).warn("Unable to get views number", e);
         }
+
+        // List all attachements not downloadable for readers
+        ResourceReference foreignKey = new ResourceReference(id, componentId);
+        SimpleDocumentList<SimpleDocument> attachements = AttachmentServiceProvider.getAttachmentService().listAllDocumentsByForeignKey(foreignKey, null);
+        ArrayList<String> notAllowedDownloads = new ArrayList<>();
+        for (SimpleDocument attachement : attachements) {
+          if (!attachement.isDownloadAllowedForReaders() && !attachement.canBeModifiedBy(getUser())) {
+            notAllowedDownloads.add(attachement.getId());
+          }
+        }
+        dto.setNotAllowedDownloads(notAllowedDownloads);
+
       } else if (type.equals(ContentsTypes.News.toString())) {
         dto.setViewsNumber(QuickInfoService.get().getNews(contributionId).getNbAccess());
       } else {
diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/shared/dto/documents/PublicationDTO.java b/mobile-war/src/main/java/org/silverpeas/mobile/shared/dto/documents/PublicationDTO.java
index 7592f3829..4c223c998 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/shared/dto/documents/PublicationDTO.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/shared/dto/documents/PublicationDTO.java
@@ -47,6 +47,8 @@ public class PublicationDTO extends BaseDTO implements Serializable, Comparable<
   private String vignette;
   private int viewsNumber;
 
+  private List<String> notAllowedDownloads;
+
   public String getName() {
     return name;
   }
@@ -136,4 +138,11 @@ public void setCreationDate(final String creationDate) {
   public int getViewsNumber() { return viewsNumber; }
 
   public void setViewsNumber(final int viewsNumber) { this.viewsNumber = viewsNumber; }
+
+  public void setNotAllowedDownloads(List<String> notAllowedDownloads) {
+    this.notAllowedDownloads = notAllowedDownloads;
+  }
+  public List<String> getNotAllowedDownloads() {
+    return notAllowedDownloads;
+  }
 }
diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/shared/dto/documents/SimpleDocumentDTO.java b/mobile-war/src/main/java/org/silverpeas/mobile/shared/dto/documents/SimpleDocumentDTO.java
index ca0a4ac17..24116573b 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/shared/dto/documents/SimpleDocumentDTO.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/shared/dto/documents/SimpleDocumentDTO.java
@@ -48,6 +48,10 @@ public class SimpleDocumentDTO implements Serializable {
   private String comment;
   private long size, creationDate, updateDate;
 
+  private String spId;
+
+  private boolean downloadable;
+
 
   public String getId() {
     return id;
@@ -184,4 +188,11 @@ public long getUpdateDate() {
   public void setUpdateDate(final long updateDate) {
     this.updateDate = updateDate;
   }
+
+public void setDownloadable(boolean downloadable) {
+    this.downloadable = downloadable;
+  }
+  public boolean isDownloadable() {
+    return this.downloadable;
+  }
 }

From 989a9267614cc60375c4d5ea184dc72a870bdbb6 Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Sat, 28 Oct 2023 10:34:50 +0200
Subject: [PATCH 087/145] Update dependency on Silverpeas to version
 6.3.2-build231028

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 420e10acd..e48f20e67 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.2-build231023</silverpeas.version>
+    <silverpeas.version>6.3.2-build231028</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.2</next.release>

From cc2791f486f2f5f592e4d158ffa6c7b3d15345d7 Mon Sep 17 00:00:00 2001
From: svuillet <svu@silvepeas.com>
Date: Tue, 31 Oct 2023 16:07:15 +0100
Subject: [PATCH 088/145] Fix Feature #13824

---
 mobile-war/src/main/java/org/silverpeas/bridge/MobilFilter.java | 1 +
 1 file changed, 1 insertion(+)

diff --git a/mobile-war/src/main/java/org/silverpeas/bridge/MobilFilter.java b/mobile-war/src/main/java/org/silverpeas/bridge/MobilFilter.java
index efbeccb5f..ec9238c68 100644
--- a/mobile-war/src/main/java/org/silverpeas/bridge/MobilFilter.java
+++ b/mobile-war/src/main/java/org/silverpeas/bridge/MobilFilter.java
@@ -103,6 +103,7 @@ public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain)
 
       if (isMobile && !url.contains("sso") && !url.contains("services") &&
           !url.contains("spmobile") && !url.contains(URLUtil.getApplicationURL() + "/chat/") &&
+          !url.contains(URLUtil.getApplicationURL() + "/media/") &&
           !url.contains(URLUtil.getApplicationURL() + "/visio/") &&
           !url.contains(URLUtil.getApplicationURL() + "/util/") && (!tablet) &&
           !url.contains("attached_file") && !url.contains("Ticket") &&

From d145fe8c42e0cf5153d077b94b46674cff27b736 Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Sat, 4 Nov 2023 10:36:31 +0100
Subject: [PATCH 089/145] Update dependency on Silverpeas to version
 6.3.2-build231104

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index e48f20e67..7991bec5f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.2-build231028</silverpeas.version>
+    <silverpeas.version>6.3.2-build231104</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.2</next.release>

From 47c6b39a8810862c6b253b65721008c4a492cf55 Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Sat, 11 Nov 2023 10:40:05 +0100
Subject: [PATCH 090/145] Update dependency on Silverpeas to version
 6.3.2-build231111

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 7991bec5f..aa89cd699 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.2-build231104</silverpeas.version>
+    <silverpeas.version>6.3.2-build231111</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.2</next.release>

From 1db02b17cf6d8f05dc5d8e339df73749536b42c6 Mon Sep 17 00:00:00 2001
From: svuillet <svu@silvepeas.com>
Date: Tue, 14 Nov 2023 17:23:38 +0100
Subject: [PATCH 091/145] Fix #13849

---
 .../contacts/pages/widgets/ContactItem.java   |  8 +++----
 .../server/services/ServiceNotifications.java |  2 +-
 .../helpers/NotificationsPushHelper.java      | 10 ++++----
 .../mobile/shared/dto/DetailUserDTO.java      | 19 ++++++++-------
 .../mobile/shared/dto/PropertyDTO.java        | 24 +++++++++++++++++++
 5 files changed, 44 insertions(+), 19 deletions(-)
 create mode 100644 mobile-war/src/main/java/org/silverpeas/mobile/shared/dto/PropertyDTO.java

diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/contacts/pages/widgets/ContactItem.java b/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/contacts/pages/widgets/ContactItem.java
index 2bf0d4e7b..b178a915d 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/contacts/pages/widgets/ContactItem.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/contacts/pages/widgets/ContactItem.java
@@ -39,6 +39,7 @@
 import org.silverpeas.mobile.client.common.resources.ResourcesManager;
 import org.silverpeas.mobile.client.resources.ApplicationResources;
 import org.silverpeas.mobile.shared.dto.DetailUserDTO;
+import org.silverpeas.mobile.shared.dto.PropertyDTO;
 
 public class ContactItem extends Composite {
 
@@ -125,9 +126,8 @@ public void setData(DetailUserDTO userData) {
       tel.add(new InlineHTML("&nbsp;"));
     }
 
-    for (String prop :userData.getProperties()) {
-
-      String value = userData.getPropertieValue(prop);
+    for (PropertyDTO prop :userData.getProperties()) {
+      String value = prop.getValue();
       if (isPhoneNumber(value)) {
         HTMLPanel field = new HTMLPanel("");
         Anchor tel = new Anchor();
@@ -145,7 +145,7 @@ public void setData(DetailUserDTO userData) {
         container.add(field);
       } else {
         HTML field = new HTML(value);
-        field.setStylePrimaryName(prop);
+        field.setStylePrimaryName(prop.getKey());
         container.add(field);
       }
     }
diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/server/services/ServiceNotifications.java b/mobile-war/src/main/java/org/silverpeas/mobile/server/services/ServiceNotifications.java
index fb1d8114a..a9e3d7dd4 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/server/services/ServiceNotifications.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/server/services/ServiceNotifications.java
@@ -355,7 +355,7 @@ public void delete(List<NotificationBoxDTO> selection) {
     if (selection.get(0) instanceof NotificationSendedDTO) {
       for (NotificationBoxDTO dto : selection) {
         try {
-          SentNotificationInterface.get().deleteNotif((int) dto.getIdNotif(), getUser().getId());
+          SentNotificationInterface.get().deleteNotif(String.valueOf(dto.getIdNotif()), Integer.parseInt(getUser().getId()));
         } catch (NotificationException e) {
           SilverLogger.getLogger(this).error(e);
         }
diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/server/services/helpers/NotificationsPushHelper.java b/mobile-war/src/main/java/org/silverpeas/mobile/server/services/helpers/NotificationsPushHelper.java
index 8eb22cfec..2cc11031b 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/server/services/helpers/NotificationsPushHelper.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/server/services/helpers/NotificationsPushHelper.java
@@ -130,7 +130,7 @@ public String sendToToken(final String userId, String token, Map<String, Object>
       // This registration token comes from the client FCM SDKs.
 
       // See documentation on defining a message payload.
-      response = getNotificationPermalink(String.valueOf(notifData.get("id")))
+      response = getNotificationPermalink(userId, String.valueOf(notifData.get("id")))
           // No push if no permalink
           .map(l -> Message.builder()
               .putData("subject", String.valueOf(notifData.get("subject")))
@@ -156,10 +156,8 @@ public String sendToToken(final String userId, String token, Map<String, Object>
     return response;
   }
 
-  private Optional<String> getNotificationPermalink(String id) {
-    return ofNullable(id)
-        .map(Long::decode)
-        .map(SILVERMAILPersistence::getMessage)
-        .map(SILVERMAILMessage::getUrl);
+  private Optional<String> getNotificationPermalink(String userId, String id) {
+    SILVERMAILMessage m = SILVERMAILPersistence.getMessage(userId, Long.valueOf(id));
+    return ofNullable(m.getUrl());
   }
 }
diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/shared/dto/DetailUserDTO.java b/mobile-war/src/main/java/org/silverpeas/mobile/shared/dto/DetailUserDTO.java
index 63bb3288c..3048f86d4 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/shared/dto/DetailUserDTO.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/shared/dto/DetailUserDTO.java
@@ -25,7 +25,9 @@
 package org.silverpeas.mobile.shared.dto;
 
 import java.io.Serializable;
+import java.util.ArrayList;
 import java.util.LinkedHashMap;
+import java.util.List;
 import java.util.Set;
 
 public class DetailUserDTO implements Serializable{
@@ -46,18 +48,19 @@ public class DetailUserDTO implements Serializable{
   private String sessionKey;
   private boolean connected;
   private boolean notificationBox;
-  private LinkedHashMap<String, String> properties = new LinkedHashMap<String, String>();
+  private List<PropertyDTO> properties = new ArrayList<>();
 
   public void addProperty(String key, String value) {
-    properties.put(key, value);
+    PropertyDTO dto = new PropertyDTO();
+    dto.setKey(key);
+    dto.setValue(value);
+    this.properties.add(dto);
   }
-
-  public Set<String> getProperties() {
-    return properties.keySet();
+  public void setProperties(List<PropertyDTO> properties) {
+    this.properties = properties;
   }
-
-  public String getPropertieValue(String key) {
-    return properties.get(key);
+  public List<PropertyDTO> getProperties() {
+    return properties;
   }
 
   public String getId() {
diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/shared/dto/PropertyDTO.java b/mobile-war/src/main/java/org/silverpeas/mobile/shared/dto/PropertyDTO.java
new file mode 100644
index 000000000..cea66b17f
--- /dev/null
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/shared/dto/PropertyDTO.java
@@ -0,0 +1,24 @@
+package org.silverpeas.mobile.shared.dto;
+
+import java.io.Serializable;
+
+public class PropertyDTO implements Serializable {
+    private String key;
+    private String value;
+
+    public String getKey() {
+        return key;
+    }
+
+    public void setKey(String key) {
+        this.key = key;
+    }
+
+    public String getValue() {
+        return value;
+    }
+
+    public void setValue(String value) {
+        this.value = value;
+    }
+}

From 8a9db33581753d391d1410aea0d820230f019af7 Mon Sep 17 00:00:00 2001
From: svuillet <svu@silvepeas.com>
Date: Tue, 14 Nov 2023 18:56:44 +0100
Subject: [PATCH 092/145] Fix #13853

---
 .../mobile/client/apps/media/pages/widgets/AddMediaButton.java  | 2 +-
 .../org/silverpeas/mobile/server/services/ServiceMedia.java     | 2 +-
 .../silverpeas/mobile/shared/services/rest/ServiceMedia.java    | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/media/pages/widgets/AddMediaButton.java b/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/media/pages/widgets/AddMediaButton.java
index 7aa2e16f0..3486efd17 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/media/pages/widgets/AddMediaButton.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/media/pages/widgets/AddMediaButton.java
@@ -103,7 +103,7 @@ public void mediaNotUploaded(int codeError) {
 
     @UiHandler("link")
     void upload(ClickEvent event) {
-        if (!NetworkHelper.isOnline()) {
+        if (NetworkHelper.isOnline()) {
             clickOnInputFile(file.getElement());
         } else {
             Notification.alert(globalMsg.needToBeOnline());
diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/server/services/ServiceMedia.java b/mobile-war/src/main/java/org/silverpeas/mobile/server/services/ServiceMedia.java
index 9242b31cc..c8d846b16 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/server/services/ServiceMedia.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/server/services/ServiceMedia.java
@@ -400,7 +400,7 @@ public VideoStreamingDTO getVideoStreaming(@PathParam("appId") String instanceId
    */
   @GET
   @Produces(javax.ws.rs.core.MediaType.APPLICATION_JSON)
-  @Path("videostream/{pictureId}")
+  @Path("photo/{pictureId}")
   public PhotoDTO getPreviewPicture(@PathParam("appId") String instanceId, @PathParam("pictureId") String pictureId) {
 
     PhotoDTO picture = null;
diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/shared/services/rest/ServiceMedia.java b/mobile-war/src/main/java/org/silverpeas/mobile/shared/services/rest/ServiceMedia.java
index 0d2674a6d..5ef688498 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/shared/services/rest/ServiceMedia.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/shared/services/rest/ServiceMedia.java
@@ -92,6 +92,6 @@ public void getAllQuestions(@PathParam("appId") String appId,
 
   @GET
   @Produces(javax.ws.rs.core.MediaType.APPLICATION_JSON)
-  @Path("{appId}/videostream/{pictureId}")
+  @Path("{appId}/photo/{pictureId}")
   public void getPreviewPicture(@PathParam("appId") String instanceId, @PathParam("pictureId") String pictureId, MethodCallback<PhotoDTO> callback);
 }

From f138c8c2134b06eb061ef7b6ebfcdc2ad7c499a2 Mon Sep 17 00:00:00 2001
From: svuillet <svu@silvepeas.com>
Date: Thu, 16 Nov 2023 11:56:21 +0100
Subject: [PATCH 093/145] Fix #13849

---
 .../contacts/pages/widgets/ContactItem.java   | 42 ++++++++++---------
 1 file changed, 22 insertions(+), 20 deletions(-)

diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/contacts/pages/widgets/ContactItem.java b/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/contacts/pages/widgets/ContactItem.java
index b178a915d..8ad5da7b3 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/contacts/pages/widgets/ContactItem.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/contacts/pages/widgets/ContactItem.java
@@ -123,30 +123,32 @@ public void setData(DetailUserDTO userData) {
       nbTel++;
     }
     if (nbTel == 0) {
-      tel.add(new InlineHTML("&nbsp;"));
+      tel.setVisible(false);
     }
 
     for (PropertyDTO prop :userData.getProperties()) {
       String value = prop.getValue();
-      if (isPhoneNumber(value)) {
-        HTMLPanel field = new HTMLPanel("");
-        Anchor tel = new Anchor();
-        tel.setStyleName("tel-link");
-        tel.setText(value);
-        tel.setHref("tel:" + value);
-        field.add(tel);
-
-        Anchor sms = new Anchor();
-        sms.setHref("sms:" + value);
-        Image smsImg = new Image(resourcesContact.sms());
-        sms.getElement().appendChild(smsImg.getElement());
-        field.add(sms);
-
-        container.add(field);
-      } else {
-        HTML field = new HTML(value);
-        field.setStylePrimaryName(prop.getKey());
-        container.add(field);
+      if (value != null & !value.isEmpty()) {
+        if (isPhoneNumber(value)) {
+          HTMLPanel field = new HTMLPanel("");
+          Anchor tel = new Anchor();
+          tel.setStyleName("tel-link");
+          tel.setText(value);
+          tel.setHref("tel:" + value);
+          field.add(tel);
+
+          Anchor sms = new Anchor();
+          sms.setHref("sms:" + value);
+          Image smsImg = new Image(resourcesContact.sms());
+          sms.getElement().appendChild(smsImg.getElement());
+          field.add(sms);
+
+          container.add(field);
+        } else {
+          HTML field = new HTML(value);
+          field.setStylePrimaryName(prop.getKey());
+          container.add(field);
+        }
       }
     }
   }

From 188a518971d31055188a957d36eb0fe3dccc8929 Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Sat, 18 Nov 2023 10:39:34 +0100
Subject: [PATCH 094/145] Update dependency on Silverpeas to version
 6.3.2-build231118

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index aa89cd699..08d6f23b9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.2-build231111</silverpeas.version>
+    <silverpeas.version>6.3.2-build231118</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.2</next.release>

From f445d121355f75df6d88e0bbc5501a58de239361 Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Mon, 20 Nov 2023 15:03:25 +0100
Subject: [PATCH 095/145] 6.3.2 has been released from build 6.3.2-build231118
 (188a518971d31055188a957d36eb0fe3dccc8929).Prepare for development iteration
 of next version 6.3.3

---
 mobile-configuration/pom.xml | 2 +-
 mobile-war/pom.xml           | 2 +-
 pom.xml                      | 6 +++---
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/mobile-configuration/pom.xml b/mobile-configuration/pom.xml
index ecb72597d..b6391751f 100644
--- a/mobile-configuration/pom.xml
+++ b/mobile-configuration/pom.xml
@@ -28,7 +28,7 @@
   <parent>
     <groupId>org.silverpeas.components</groupId>
     <artifactId>mobile</artifactId>
-    <version>6.3.2-SNAPSHOT</version>
+    <version>6.3.3-SNAPSHOT</version>
   </parent>
 
   <groupId>org.silverpeas.components.mobile</groupId>
diff --git a/mobile-war/pom.xml b/mobile-war/pom.xml
index 0a69e0d5e..3ad290f97 100644
--- a/mobile-war/pom.xml
+++ b/mobile-war/pom.xml
@@ -30,7 +30,7 @@
   <parent>
     <groupId>org.silverpeas.components</groupId>
     <artifactId>mobile</artifactId>
-    <version>6.3.2-SNAPSHOT</version>
+    <version>6.3.3-SNAPSHOT</version>
   </parent>
 
   <groupId>org.silverpeas.components.mobile</groupId>
diff --git a/pom.xml b/pom.xml
index 08d6f23b9..385eb55cc 100644
--- a/pom.xml
+++ b/pom.xml
@@ -35,14 +35,14 @@
   <groupId>org.silverpeas.components</groupId>
   <artifactId>mobile</artifactId>
   <packaging>pom</packaging>
-  <version>6.3.2-SNAPSHOT</version>
+  <version>6.3.3-SNAPSHOT</version>
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.2-build231118</silverpeas.version>
+    <silverpeas.version>6.3.3-SNAPSHOT</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
-     <next.release>6.3.2</next.release>
+     <next.release>6.3.3</next.release>
   </properties>
 
   <repositories>

From 5cf5aca7f6823d48107dfccc82ff125496408181 Mon Sep 17 00:00:00 2001
From: svuillet <svu@silvepeas.com>
Date: Tue, 28 Nov 2023 14:52:58 +0100
Subject: [PATCH 096/145] Fix #13868

---
 mobile-war/src/main/webapp/WEB-INF/app-init.template | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/mobile-war/src/main/webapp/WEB-INF/app-init.template b/mobile-war/src/main/webapp/WEB-INF/app-init.template
index 0e834d3e6..d6b6c70b0 100644
--- a/mobile-war/src/main/webapp/WEB-INF/app-init.template
+++ b/mobile-war/src/main/webapp/WEB-INF/app-init.template
@@ -22,7 +22,8 @@ if (firebaseConfig != null) {
 
   messaging.onMessage(payload => {
     const notificationOptions = {
-      body : payload.data["subject"], icon : '/silverpeas/util/icons/desktop-user-notification.png'
+      body : payload.data["subject"], icon : '/silverpeas/util/icons/desktop-user-notification.png',
+      data : payload.data
     };
 
     navigator.serviceWorker.getRegistration('/silverpeas/spmobile/').then(registration => {

From 125816f30f57a57f22809b5299413e8180e75b23 Mon Sep 17 00:00:00 2001
From: svuillet <svu@silvepeas.com>
Date: Tue, 28 Nov 2023 17:27:26 +0100
Subject: [PATCH 097/145] Fix #13869

---
 .../server/UserNotificationServerEventMobileListener.java   | 6 ++++++
 .../server/services/helpers/NotificationsPushHelper.java    | 1 +
 mobile-war/src/main/webapp/WEB-INF/app-init.template        | 4 ++--
 mobile-war/src/main/webapp/WEB-INF/app-sw.template          | 4 ++--
 4 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/server/UserNotificationServerEventMobileListener.java b/mobile-war/src/main/java/org/silverpeas/mobile/server/UserNotificationServerEventMobileListener.java
index 4d4ff5c4c..75790745d 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/server/UserNotificationServerEventMobileListener.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/server/UserNotificationServerEventMobileListener.java
@@ -25,8 +25,11 @@
 package org.silverpeas.mobile.server;
 
 import com.fasterxml.jackson.databind.ObjectMapper;
+import org.jsoup.Jsoup;
 import org.silverpeas.core.notification.sse.CDIServerEventListener;
 import org.silverpeas.core.notification.user.UserNotificationServerEvent;
+import org.silverpeas.core.notification.user.server.channel.silvermail.SILVERMAILMessage;
+import org.silverpeas.core.notification.user.server.channel.silvermail.SILVERMAILPersistence;
 import org.silverpeas.core.util.logging.SilverLogger;
 import org.silverpeas.mobile.server.services.helpers.NotificationsPushHelper;
 
@@ -48,7 +51,10 @@ public void on(final UserNotificationServerEvent event) {
       String json = event.getData("", null);
       Map<String, Object> data = mapper.readValue(json, Map.class);
       Boolean isCreation = (Boolean) data.get("isCreation");
+      String id = (String) data.get("id");
       if (Boolean.TRUE.equals(isCreation)) {
+        SILVERMAILMessage msg =  SILVERMAILPersistence.getMessage(event.getEmitterUserId(), Long.valueOf(id));
+        data.put("body", Jsoup.parse(msg.getBody()).wholeText());
         NotificationsPushHelper.getInstance().sendNotification(emitterUserId, data);
       }
     } catch(Exception e) {
diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/server/services/helpers/NotificationsPushHelper.java b/mobile-war/src/main/java/org/silverpeas/mobile/server/services/helpers/NotificationsPushHelper.java
index 2cc11031b..0f8ac611e 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/server/services/helpers/NotificationsPushHelper.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/server/services/helpers/NotificationsPushHelper.java
@@ -135,6 +135,7 @@ public String sendToToken(final String userId, String token, Map<String, Object>
           .map(l -> Message.builder()
               .putData("subject", String.valueOf(notifData.get("subject")))
               .putData("sender", String.valueOf(notifData.get("sender")))
+              .putData("body", String.valueOf(notifData.get("body")))
               .putData("permalink", l))
           .map(m -> m.setToken(token))
           .map(Message.Builder::build)
diff --git a/mobile-war/src/main/webapp/WEB-INF/app-init.template b/mobile-war/src/main/webapp/WEB-INF/app-init.template
index d6b6c70b0..e5fc4b19f 100644
--- a/mobile-war/src/main/webapp/WEB-INF/app-init.template
+++ b/mobile-war/src/main/webapp/WEB-INF/app-init.template
@@ -22,12 +22,12 @@ if (firebaseConfig != null) {
 
   messaging.onMessage(payload => {
     const notificationOptions = {
-      body : payload.data["subject"], icon : '/silverpeas/util/icons/desktop-user-notification.png',
+      body : payload.data["body"], icon : '/silverpeas/util/icons/desktop-user-notification.png',
       data : payload.data
     };
 
     navigator.serviceWorker.getRegistration('/silverpeas/spmobile/').then(registration => {
-            registration.showNotification(payload.data["sender"], notificationOptions)
+            registration.showNotification(payload.data["subject"], notificationOptions)
     });
   });
 } else {
diff --git a/mobile-war/src/main/webapp/WEB-INF/app-sw.template b/mobile-war/src/main/webapp/WEB-INF/app-sw.template
index ed7735cf4..3d8b055ca 100644
--- a/mobile-war/src/main/webapp/WEB-INF/app-sw.template
+++ b/mobile-war/src/main/webapp/WEB-INF/app-sw.template
@@ -10,9 +10,9 @@ if (firebaseConfig != null) {
 
   messaging.setBackgroundMessageHandler(function(payload) {
     console.log('[firebase-messaging-sw.js] Received background message ', payload);
-    const notificationTitle = payload.data["sender"];
+    const notificationTitle = payload.data["subject"];
     const notificationOptions = {
-      body : payload.data["subject"], icon : '/silverpeas/util/icons/desktop-user-notification.png',
+      body : payload.data["body"], icon : '/silverpeas/util/icons/desktop-user-notification.png',
       data : payload.data
     };
 

From 4df5d956dc93e70ea9798127fba9cf85eabcb0a2 Mon Sep 17 00:00:00 2001
From: svuillet <svu@silvepeas.com>
Date: Wed, 29 Nov 2023 11:12:22 +0100
Subject: [PATCH 098/145] Fix #13871

---
 .../server/UserNotificationServerEventMobileListener.java    | 1 +
 .../server/services/helpers/NotificationsPushHelper.java     | 1 +
 mobile-war/src/main/webapp/WEB-INF/app-sw.template           | 5 ++++-
 3 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/server/UserNotificationServerEventMobileListener.java b/mobile-war/src/main/java/org/silverpeas/mobile/server/UserNotificationServerEventMobileListener.java
index 75790745d..5dc7d34e7 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/server/UserNotificationServerEventMobileListener.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/server/UserNotificationServerEventMobileListener.java
@@ -55,6 +55,7 @@ public void on(final UserNotificationServerEvent event) {
       if (Boolean.TRUE.equals(isCreation)) {
         SILVERMAILMessage msg =  SILVERMAILPersistence.getMessage(event.getEmitterUserId(), Long.valueOf(id));
         data.put("body", Jsoup.parse(msg.getBody()).wholeText());
+        data.put("notificationId", (String) id);
         NotificationsPushHelper.getInstance().sendNotification(emitterUserId, data);
       }
     } catch(Exception e) {
diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/server/services/helpers/NotificationsPushHelper.java b/mobile-war/src/main/java/org/silverpeas/mobile/server/services/helpers/NotificationsPushHelper.java
index 0f8ac611e..5a6128e46 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/server/services/helpers/NotificationsPushHelper.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/server/services/helpers/NotificationsPushHelper.java
@@ -136,6 +136,7 @@ public String sendToToken(final String userId, String token, Map<String, Object>
               .putData("subject", String.valueOf(notifData.get("subject")))
               .putData("sender", String.valueOf(notifData.get("sender")))
               .putData("body", String.valueOf(notifData.get("body")))
+              .putData("notificationId", String.valueOf(notifData.get("notificationId")))
               .putData("permalink", l))
           .map(m -> m.setToken(token))
           .map(Message.Builder::build)
diff --git a/mobile-war/src/main/webapp/WEB-INF/app-sw.template b/mobile-war/src/main/webapp/WEB-INF/app-sw.template
index 3d8b055ca..d4400a570 100644
--- a/mobile-war/src/main/webapp/WEB-INF/app-sw.template
+++ b/mobile-war/src/main/webapp/WEB-INF/app-sw.template
@@ -24,7 +24,10 @@ if (firebaseConfig != null) {
      const pushData = event.notification.data;
      event.notification.close();
      if (!pushData["permalink"].endsWith("/null")) {
-      event.waitUntil(self.clients.openWindow(pushData["permalink"]));
+       fetch('/silverpeas/services/mobile/notification/readed/' + pushData["notificationId"], {
+           method: 'PUT'
+       });
+       event.waitUntil(self.clients.openWindow(pushData["permalink"]));
      }
   });
 

From cd5b6b4d4fdc52547ab05a0200f236ab490a4878 Mon Sep 17 00:00:00 2001
From: svuillet <svu@silvepeas.com>
Date: Wed, 29 Nov 2023 16:38:06 +0100
Subject: [PATCH 099/145] Fix service worker initialisation

---
 .../src/main/webapp/WEB-INF/app-init.template | 22 ++++++++++---------
 1 file changed, 12 insertions(+), 10 deletions(-)

diff --git a/mobile-war/src/main/webapp/WEB-INF/app-init.template b/mobile-war/src/main/webapp/WEB-INF/app-init.template
index e5fc4b19f..86250f507 100644
--- a/mobile-war/src/main/webapp/WEB-INF/app-init.template
+++ b/mobile-war/src/main/webapp/WEB-INF/app-init.template
@@ -5,18 +5,20 @@ if (firebaseConfig != null) {
   const messaging = firebase.messaging();
   navigator.serviceWorker.register('/silverpeas/spmobile/app-sw.js')
       .then((registration) => {
-        messaging.useServiceWorker(registration);
+       navigator.serviceWorker.ready.then(function(reg) {
+           messaging.useServiceWorker(registration);
 
-        // Request permission and get token.....
-        Notification.requestPermission().then(function(permission) {
-          if (permission === "granted") {
-            messaging.getToken().then(token => {
-              console.log("Token Is : " + token);
-              storeToken(token);
+            // Request permission and get token.....
+            Notification.requestPermission().then(function(permission) {
+              if (permission === "granted") {
+                messaging.getToken().then(token => {
+                  console.log("Token Is : " + token);
+                  storeToken(token);
+                });
+              } else {
+                console.log("No permission to send push");
+              }
             });
-          } else {
-            console.log("No permission to send push");
-          }
         });
       });
 

From 1c1a64dae53ef8238698020469e5d35fdbc0aba3 Mon Sep 17 00:00:00 2001
From: svuillet <svu@silvepeas.com>
Date: Fri, 1 Dec 2023 14:42:34 +0100
Subject: [PATCH 100/145] Fix #13875

---
 .../common/AuthentificationManager.java       |  5 +-
 .../server/services/ServiceNavigation.java    | 29 ++------
 .../server/services/helpers/NewsHelper.java   | 70 ++++++++++++-------
 3 files changed, 52 insertions(+), 52 deletions(-)

diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/client/common/AuthentificationManager.java b/mobile-war/src/main/java/org/silverpeas/mobile/client/common/AuthentificationManager.java
index f2f80b4d3..9e46ccd19 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/client/common/AuthentificationManager.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/client/common/AuthentificationManager.java
@@ -24,6 +24,7 @@
 
 package org.silverpeas.mobile.client.common;
 
+import com.google.gwt.core.client.GWT;
 import com.google.gwt.http.client.Request;
 import com.google.gwt.http.client.RequestBuilder;
 import com.google.gwt.http.client.RequestCallback;
@@ -263,9 +264,7 @@ public void onSuccess(final Method method, final Boolean showTermsOfServices) {
                 @Override
                 public void onFailure(final Method method, final Throwable t) {
                   //super.onFailure(method, t);
-                  Window.alert(
-                      "Normaly never happen !!! " + t.getClass().getName() + " " + t.getMessage());
-
+                  GWT.log("Normaly never happen !!! " + t.getClass().getName() + " " + t.getMessage());
                   if (t instanceof AuthenticationException) {
                     EventBus.getInstance().fireEvent(new AuthenticationErrorEvent(t));
                   } else {
diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/server/services/ServiceNavigation.java b/mobile-war/src/main/java/org/silverpeas/mobile/server/services/ServiceNavigation.java
index 700678a51..27bfb382a 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/server/services/ServiceNavigation.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/server/services/ServiceNavigation.java
@@ -25,14 +25,10 @@
 package org.silverpeas.mobile.server.services;
 
 import org.apache.commons.lang3.EnumUtils;
-import org.jsoup.Connection;
-import org.jsoup.Jsoup;
-import org.jsoup.nodes.Document;
 import org.silverpeas.components.gallery.model.Media;
 import org.silverpeas.components.gallery.model.MediaPK;
 import org.silverpeas.components.gallery.service.MediaServiceProvider;
 import org.silverpeas.components.quickinfo.model.News;
-import org.silverpeas.core.SilverpeasException;
 import org.silverpeas.core.admin.component.model.ComponentInst;
 import org.silverpeas.core.admin.component.model.ComponentInstLight;
 import org.silverpeas.core.admin.service.AdminException;
@@ -47,15 +43,11 @@
 import org.silverpeas.core.contribution.publication.model.PublicationPK;
 import org.silverpeas.core.contribution.publication.service.PublicationService;
 import org.silverpeas.core.mylinks.model.LinkDetail;
-import org.silverpeas.core.security.session.SessionInfo;
-import org.silverpeas.core.security.session.SessionManagement;
-import org.silverpeas.core.security.session.SessionManagementProvider;
 import org.silverpeas.core.security.token.synchronizer.SynchronizerToken;
 import org.silverpeas.core.util.SettingBundle;
 import org.silverpeas.core.util.StringUtil;
 import org.silverpeas.core.util.logging.SilverLogger;
 import org.silverpeas.core.web.look.PublicationHelper;
-import org.silverpeas.core.web.mvc.controller.MainSessionController;
 import org.silverpeas.core.web.rs.UserPrivilegeValidation;
 import org.silverpeas.core.web.rs.annotation.Authorized;
 import org.silverpeas.core.web.util.viewgenerator.html.GraphicElementFactory;
@@ -66,24 +58,15 @@
 import org.silverpeas.mobile.server.services.helpers.UserHelper;
 import org.silverpeas.mobile.server.services.helpers.events.EventsHelper;
 import org.silverpeas.mobile.server.services.helpers.events.NextEvents;
-import org.silverpeas.mobile.shared.dto.ContentsTypes;
-import org.silverpeas.mobile.shared.dto.DetailUserDTO;
-import org.silverpeas.mobile.shared.dto.HomePageDTO;
-import org.silverpeas.mobile.shared.dto.RightDTO;
-import org.silverpeas.mobile.shared.dto.ShortCutLinkDTO;
+import org.silverpeas.mobile.shared.dto.*;
 import org.silverpeas.mobile.shared.dto.almanach.CalendarEventDTO;
 import org.silverpeas.mobile.shared.dto.documents.PublicationDTO;
-import org.silverpeas.mobile.shared.dto.navigation.ApplicationInstanceDTO;
-import org.silverpeas.mobile.shared.dto.navigation.Apps;
-import org.silverpeas.mobile.shared.dto.navigation.HomePages;
-import org.silverpeas.mobile.shared.dto.navigation.SilverpeasObjectDTO;
-import org.silverpeas.mobile.shared.dto.navigation.SpaceDTO;
+import org.silverpeas.mobile.shared.dto.navigation.*;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.ws.rs.*;
 import javax.ws.rs.core.Context;
 import javax.ws.rs.core.MediaType;
-import java.io.IOException;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -248,11 +231,7 @@ public HomePageDTO getHomePageData(@PathParam("spaceId") String spaceId) {
       } else {
         maxNews = settings.getInteger("home.news.size", 3);
       }
-      List<News> lastNews = NewsHelper.getInstance().getLastNews(getUser().getId(), spaceId);
-      if (lastNews != null && lastNews.size() > maxNews) {
-        lastNews = lastNews.subList(0, maxNews);
-      }
-
+      List<News> lastNews = NewsHelper.getInstance().getLastNews(getUser().getId(), spaceId, maxNews);
       data.setNews(NewsHelper.getInstance().populate(lastNews, false));
 
       if (spaceId == null || spaceId.isEmpty()) {
@@ -490,7 +469,7 @@ public List<SilverpeasObjectDTO> getSpacesAndApps(@PathParam("rootSpaceId") Stri
     if (rootSpaceId !=null && rootSpaceId.equals("null")) rootSpaceId = null;
     try {
       if (rootSpaceId == null) {
-        String[] spaceIds = Administration.get().getAllSpaceIds(getUser().getId());
+        String[] spaceIds = Administration.get().getAllRootSpaceIds(getUser().getId());
         for (String spaceId : spaceIds) {
           SpaceInst space = Administration.get().getSpaceInstById(spaceId);
           if (!space.isRemoved()) {
diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/server/services/helpers/NewsHelper.java b/mobile-war/src/main/java/org/silverpeas/mobile/server/services/helpers/NewsHelper.java
index 8e2c2336c..74fecaf74 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/server/services/helpers/NewsHelper.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/server/services/helpers/NewsHelper.java
@@ -38,17 +38,11 @@
 import org.silverpeas.core.admin.service.OrganizationController;
 import org.silverpeas.core.admin.user.model.UserDetail;
 import org.silverpeas.core.contribution.publication.model.PublicationDetail;
-import org.silverpeas.core.contribution.publication.service.PublicationService;
 import org.silverpeas.core.io.file.ImageResizingProcessor;
 import org.silverpeas.core.io.file.SilverpeasFileProcessor;
-import org.silverpeas.core.util.CollectionUtil;
-import org.silverpeas.core.util.ResourceLocator;
-import org.silverpeas.core.util.ServiceProvider;
-import org.silverpeas.core.util.SettingBundle;
-import org.silverpeas.core.util.StringUtil;
+import org.silverpeas.core.util.*;
 import org.silverpeas.core.util.file.FileRepositoryManager;
 import org.silverpeas.core.util.logging.SilverLogger;
-import org.silverpeas.core.web.look.PublicationUpdateDateComparator;
 import org.silverpeas.core.web.util.viewgenerator.html.GraphicElementFactory;
 import org.silverpeas.mobile.shared.dto.news.NewsDTO;
 
@@ -76,8 +70,8 @@ public static NewsHelper getInstance() {
     return instance;
   }
 
-  public List<News> getLastNews(String userId, String spaceId) throws Exception {
-    if(spaceId != null) {
+  public List<News> getLastNews(String userId, String spaceId, int maxNews) throws Exception {
+    if (spaceId != null) {
       List<String> appIds = new ArrayList<String>();
       String[] cIds = organizationController.getAvailCompoIds(spaceId, userId);
       for (String id : cIds) {
@@ -102,15 +96,15 @@ public List<News> getLastNews(String userId, String spaceId) throws Exception {
       } catch (MissingResourceException e) {}
       if (newsSource != null && newsSource.isEmpty() == false) {
           if (newsSource.trim().startsWith("quickinfo")) {
-            news = getNewsByComponentId(newsSource, false, userId);
+            news = getNewsByComponentId(newsSource, false, userId, maxNews);
+            news = sortAndTruncate(maxNews, news);
           } else if (newsSource.trim().equals("*")) {
-            news = getAllNews(userId);
+            news = getAllNews(userId, maxNews);
+            news = sortAndTruncate(maxNews, news);
           } else {
-            news = getDelegatedNews(userId);
+            news = getDelegatedNews(userId, maxNews);
           }
       }
-      Collections.sort(news, (o1, o2) -> o1.getUpdateDate().compareTo(o2.getUpdateDate()));
-      Collections.reverse(news);
       return news;
     }
   }
@@ -119,22 +113,39 @@ private boolean isVisibleNews(PublicationDetail news) {
     return news.isValid() && news.isVisible();
   }
 
-  private List<News> getDelegatedNews(String userId) throws Exception {
+  private List<News> getDelegatedNews(String userId, int maxNews) throws Exception {
     List<News> news = new ArrayList();
     List<DelegatedNews> delegatedNews = DelegatedNewsServiceProvider.getDelegatedNewsService().getAllValidDelegatedNews();
     UserDetail u = Administration.get().getUserDetail(userId);
     Date now = new Date();
+    int count = 0;
     for (DelegatedNews delegated : delegatedNews) {
-      if (delegated.isValidated() && (delegated.getBeginDate() != null && now.after(delegated.getBeginDate()))
-              && (delegated.getEndDate() != null && now.before(delegated.getEndDate()))) {
-        News aNews = QuickInfoService.get().getNewsByForeignId(delegated.getPubId());
-        if (aNews.canBeAccessedBy(u)) news.add(aNews);
+      if (count >= maxNews) break;
+      News aNews = null;
+      if (delegated.getBeginDate() == null && delegated.getEndDate() == null) {
+        aNews = getNews(delegated, u);
+      } else if (delegated.getBeginDate() != null && now.after(delegated.getBeginDate())
+              && delegated.getEndDate() != null && now.before(delegated.getEndDate())) {
+        aNews = getNews(delegated, u);
+      } else if (delegated.getBeginDate() != null && now.after(delegated.getBeginDate()) && delegated.getEndDate() == null) {
+        aNews = getNews(delegated, u);
+      } else if (delegated.getEndDate() != null && now.before(delegated.getEndDate())) {
+         aNews = getNews(delegated, u);
+      }
+      if (aNews != null) {
+        news.add(aNews);
+        count++;
       }
     }
-
     return news;
   }
 
+  private News getNews(DelegatedNews delegated, UserDetail u) {
+    News aNews = QuickInfoService.get().getNewsByForeignId(delegated.getPubId());
+    if (!aNews.canBeAccessedBy(u)) aNews = null;
+    return aNews;
+  }
+
   public List<News> getNewsByAppId(String appId, boolean managerAccess) {
     QuickInfoService service = QuickInfoServiceProvider.getQuickInfoService();
     List<News> news;
@@ -147,19 +158,19 @@ public List<News> getNewsByAppId(String appId, boolean managerAccess) {
     return news;
   }
 
-  private List<News> getAllNews(String userId) throws AdminException {
+  private List<News> getAllNews(String userId, int maxNews) throws AdminException {
     List<News> news = new ArrayList<>();
     List<String> apps = CollectionUtil
         .asList(organizationController.getComponentIdsForUser(userId, "quickinfo"));
     for (String appId : apps) {
-      news.addAll(getNewsByComponentId(appId, false, userId));
+      news.addAll(getNewsByComponentId(appId, false, userId, maxNews));
     }
-    //TODO sort list
+    news = sortAndTruncate(maxNews, news);
 
     return news;
   }
 
-  private List<News> getNewsByComponentId(String appId, boolean managerAccess, String userId) throws AdminException {
+  private List<News> getNewsByComponentId(String appId, boolean managerAccess, String userId, int maxNews) throws AdminException {
     QuickInfoService service = QuickInfoServiceProvider.getQuickInfoService();
     List<News> news = new ArrayList<>();
 
@@ -170,6 +181,17 @@ private List<News> getNewsByComponentId(String appId, boolean managerAccess, Str
         news = service.getVisibleNews(appId);
       }
     }
+    news = sortAndTruncate(maxNews, news);
+
+    return news;
+  }
+
+  private static List<News> sortAndTruncate(int maxNews, List<News> news) {
+    Collections.sort(news, (o1, o2) -> o1.getUpdateDate().compareTo(o2.getUpdateDate()));
+    //Collections.reverse(news);
+    if (news != null && news.size() > maxNews) {
+      news = news.subList(0, maxNews);
+    }
     return news;
   }
 

From f6adc54f69e8d631e7c4f252ce2e4dbec643be2d Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Sat, 2 Dec 2023 10:40:50 +0100
Subject: [PATCH 101/145] Update dependency on Silverpeas to version
 6.3.3-build231202

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 385eb55cc..4445a7e43 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.3-SNAPSHOT</silverpeas.version>
+    <silverpeas.version>6.3.3-build231202</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.3</next.release>

From 884ba7e69d7862b340805018fda79c9ad2f45c50 Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Tue, 5 Dec 2023 17:33:07 +0100
Subject: [PATCH 102/145] Update dependency on Silverpeas to version
 6.3.3-build231205

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 4445a7e43..3693cad9e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.3-build231202</silverpeas.version>
+    <silverpeas.version>6.3.3-build231205</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.3</next.release>

From d4c8c3641ea812aba60520abc0639e19ea15d9d5 Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Wed, 6 Dec 2023 10:28:05 +0100
Subject: [PATCH 103/145] 6.3.3 has been released from build 6.3.3-build231205
 (884ba7e69d7862b340805018fda79c9ad2f45c50).Prepare for development iteration
 of next version 6.3.4

---
 mobile-configuration/pom.xml | 2 +-
 mobile-war/pom.xml           | 2 +-
 pom.xml                      | 6 +++---
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/mobile-configuration/pom.xml b/mobile-configuration/pom.xml
index b6391751f..5676f1f7d 100644
--- a/mobile-configuration/pom.xml
+++ b/mobile-configuration/pom.xml
@@ -28,7 +28,7 @@
   <parent>
     <groupId>org.silverpeas.components</groupId>
     <artifactId>mobile</artifactId>
-    <version>6.3.3-SNAPSHOT</version>
+    <version>6.3.4-SNAPSHOT</version>
   </parent>
 
   <groupId>org.silverpeas.components.mobile</groupId>
diff --git a/mobile-war/pom.xml b/mobile-war/pom.xml
index 3ad290f97..f295d3653 100644
--- a/mobile-war/pom.xml
+++ b/mobile-war/pom.xml
@@ -30,7 +30,7 @@
   <parent>
     <groupId>org.silverpeas.components</groupId>
     <artifactId>mobile</artifactId>
-    <version>6.3.3-SNAPSHOT</version>
+    <version>6.3.4-SNAPSHOT</version>
   </parent>
 
   <groupId>org.silverpeas.components.mobile</groupId>
diff --git a/pom.xml b/pom.xml
index 3693cad9e..87ad22be0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -35,14 +35,14 @@
   <groupId>org.silverpeas.components</groupId>
   <artifactId>mobile</artifactId>
   <packaging>pom</packaging>
-  <version>6.3.3-SNAPSHOT</version>
+  <version>6.3.4-SNAPSHOT</version>
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.3-build231205</silverpeas.version>
+    <silverpeas.version>6.3.4-SNAPSHOT</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
-     <next.release>6.3.3</next.release>
+     <next.release>6.3.4</next.release>
   </properties>
 
   <repositories>

From 08b2a4822f4ce65ea711dbb62abf02483d281438 Mon Sep 17 00:00:00 2001
From: svuillet <svu@silvepeas.com>
Date: Wed, 6 Dec 2023 12:15:27 +0100
Subject: [PATCH 104/145] Fix #13885

---
 .../silverpeas/mobile/server/services/ServiceNavigation.java    | 2 +-
 .../silverpeas/mobile/server/services/helpers/NewsHelper.java   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/server/services/ServiceNavigation.java b/mobile-war/src/main/java/org/silverpeas/mobile/server/services/ServiceNavigation.java
index 27bfb382a..7112208d4 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/server/services/ServiceNavigation.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/server/services/ServiceNavigation.java
@@ -229,7 +229,7 @@ public HomePageDTO getHomePageData(@PathParam("spaceId") String spaceId) {
       if (spaceId == null) {
         maxNews = settings.getInteger("home.news.size", 3);
       } else {
-        maxNews = settings.getInteger("home.news.size", 3);
+        maxNews = settings.getInteger("space.homepage.news.nb", 3);
       }
       List<News> lastNews = NewsHelper.getInstance().getLastNews(getUser().getId(), spaceId, maxNews);
       data.setNews(NewsHelper.getInstance().populate(lastNews, false));
diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/server/services/helpers/NewsHelper.java b/mobile-war/src/main/java/org/silverpeas/mobile/server/services/helpers/NewsHelper.java
index 74fecaf74..1d656df19 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/server/services/helpers/NewsHelper.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/server/services/helpers/NewsHelper.java
@@ -84,7 +84,7 @@ public List<News> getLastNews(String userId, String spaceId, int maxNews) throws
       for (String appId : appIds) {
         news.addAll(service.getVisibleNews(appId));
       }
-      Collections.sort(news, (o1, o2) -> o1.getUpdateDate().compareTo(o2.getUpdateDate()));
+      news = sortAndTruncate(maxNews, news);
       return news;
     } else {
       // News on main page

From 8edb36c4970144df0191754552c7baaf753e92aa Mon Sep 17 00:00:00 2001
From: svuillet <svu@silvepeas.com>
Date: Wed, 6 Dec 2023 14:49:02 +0100
Subject: [PATCH 105/145] Feature #13886

---
 .../org/silverpeas/mobile/mobileSettings.properties       | 4 ++++
 .../mobile/server/services/ServiceNavigation.java         | 8 ++++++--
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/mobile-configuration/src/main/config/properties/org/silverpeas/mobile/mobileSettings.properties b/mobile-configuration/src/main/config/properties/org/silverpeas/mobile/mobileSettings.properties
index 041075639..95f0aa07c 100644
--- a/mobile-configuration/src/main/config/properties/org/silverpeas/mobile/mobileSettings.properties
+++ b/mobile-configuration/src/main/config/properties/org/silverpeas/mobile/mobileSettings.properties
@@ -25,6 +25,8 @@ defaultDomainId=0
 homepage.lastpublications=true
 # display upcomming events or not on main home page
 homepage.lastevents=true
+# display lasts news or not on main home page
+homepage.lastnews=true
 # display free zone on main home page
 homepage.freezone=true
 # display free zone thin on main home page
@@ -33,6 +35,8 @@ homepage.freezonethin=true
 spacehomepage.lastpublications=true
 # display last events or not on spaces home page
 spacehomepage.lastevents=true
+# display last news or not on spaces home page
+spacehomepage.lastnews=true
 
 spacehomepage.displayUrlType=true
 
diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/server/services/ServiceNavigation.java b/mobile-war/src/main/java/org/silverpeas/mobile/server/services/ServiceNavigation.java
index 7112208d4..a41ced9d2 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/server/services/ServiceNavigation.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/server/services/ServiceNavigation.java
@@ -231,8 +231,12 @@ public HomePageDTO getHomePageData(@PathParam("spaceId") String spaceId) {
       } else {
         maxNews = settings.getInteger("space.homepage.news.nb", 3);
       }
-      List<News> lastNews = NewsHelper.getInstance().getLastNews(getUser().getId(), spaceId, maxNews);
-      data.setNews(NewsHelper.getInstance().populate(lastNews, false));
+
+      if ((spaceId == null && getSettings().getBoolean("homepage.lastnews", true)) ||
+              (spaceId != null && getSettings().getBoolean("spacehomepage.lastnews", true))) {
+        List<News> lastNews = NewsHelper.getInstance().getLastNews(getUser().getId(), spaceId, maxNews);
+        data.setNews(NewsHelper.getInstance().populate(lastNews, false));
+      }
 
       if (spaceId == null || spaceId.isEmpty()) {
         List<LinkDetail> links =

From 1cd76f5571f686be0262bba6f428a9a78b4f3cd4 Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Wed, 6 Dec 2023 15:11:26 +0100
Subject: [PATCH 106/145] Update dependency on Silverpeas to version
 6.3.3-build231205

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 87ad22be0..0a948250a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.4-SNAPSHOT</silverpeas.version>
+    <silverpeas.version>6.3.3-build231205</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.4</next.release>

From f35eff07f9b64e62d060246d9cd71de06a9e7164 Mon Sep 17 00:00:00 2001
From: svuillet <svu@silvepeas.com>
Date: Wed, 6 Dec 2023 15:29:56 +0100
Subject: [PATCH 107/145] Allow url pattern /silverpeas/FileServer/thumbnail/*

---
 .../src/main/java/org/silverpeas/bridge/MobilFilter.java       | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/mobile-war/src/main/java/org/silverpeas/bridge/MobilFilter.java b/mobile-war/src/main/java/org/silverpeas/bridge/MobilFilter.java
index ec9238c68..33afdac41 100644
--- a/mobile-war/src/main/java/org/silverpeas/bridge/MobilFilter.java
+++ b/mobile-war/src/main/java/org/silverpeas/bridge/MobilFilter.java
@@ -107,7 +107,8 @@ public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain)
           !url.contains(URLUtil.getApplicationURL() + "/visio/") &&
           !url.contains(URLUtil.getApplicationURL() + "/util/") && (!tablet) &&
           !url.contains("attached_file") && !url.contains("Ticket") &&
-          !url.contains("LinkFile/Key") && redirect) {
+          !url.contains("LinkFile/Key")  &&
+          !url.contains("FileServer/thumbnail") && redirect) {
         String params = "";
         if (url.contains("Publication")) {
           String id = url.substring(url.lastIndexOf("/") + 1);

From 703af458f18e489c804c0947aa93de4fa9acae2c Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Sat, 9 Dec 2023 10:41:20 +0100
Subject: [PATCH 108/145] Update dependency on Silverpeas to version
 6.3.4-build231209

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 0a948250a..c04781307 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.3-build231205</silverpeas.version>
+    <silverpeas.version>6.3.4-build231209</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.4</next.release>

From 36231c2f32e2da90d9b783cf90c9e745a1325a0c Mon Sep 17 00:00:00 2001
From: svuillet <svu@silvepeas.com>
Date: Wed, 13 Dec 2023 17:46:06 +0100
Subject: [PATCH 109/145] Fix #13889

---
 .../server/services/ServiceContact.java       | 28 ++++++++++---------
 1 file changed, 15 insertions(+), 13 deletions(-)

diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/server/services/ServiceContact.java b/mobile-war/src/main/java/org/silverpeas/mobile/server/services/ServiceContact.java
index f833cff1d..c30596ee0 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/server/services/ServiceContact.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/server/services/ServiceContact.java
@@ -132,7 +132,8 @@ public List<DetailUserDTO> getContacts(@PathParam("type") String type,
         List tabUserDetail = getUsersByQuery(filter, "UserFull");
         for (int i = 0; i < tabUserDetail.size(); i++) {
           if (i >= startIndex && i < startIndex + pageSize) {
-            listUsers.add(populate(tabUserDetail.get(i)));
+            DetailUserDTO dto = populate(tabUserDetail.get(i));
+            if (dto != null) listUsers.add(dto);
           }
         }
       } else if (type.equals(ContactFilters.ALL_EXT)) {
@@ -320,19 +321,20 @@ private DetailUserDTO populate(Object user) {
       SilverLogger.getLogger(this).debug(SpMobileLogModule.getName(), "ServiceContact.populate",
           "User id=" + userDetail.getId());
       UserFull userFull = UserFull.getById(userDetail.getId());
-      DetailUserDTO dto = new DetailUserDTO();
-      dto.setId(userFull.getId());
-      dto.setFirstName(userFull.getFirstName());
-      dto.setLastName(userFull.getLastName());
-      dto.seteMail(userFull.geteMail());
-      dto.setStatus(userFull.getStatus());
-      dto.setAvatar(userFull.getAvatar());
-      dto.setLanguage(userFull.getUserPreferences().getLanguage());
-      dto.setConnected(userFull.isConnected());
-      String avatar = DataURLHelper.convertAvatarToUrlData(userDetail.getAvatarFileName(),
-          getSettings().getString("avatar.size", "24x"));
-      dto.setAvatar(avatar);
+      DetailUserDTO dto = null;
       if (userFull != null) {
+        dto = new DetailUserDTO();
+        dto.setId(userFull.getId());
+        dto.setFirstName(userFull.getFirstName());
+        dto.setLastName(userFull.getLastName());
+        dto.seteMail(userFull.geteMail());
+        dto.setStatus(userFull.getStatus());
+        dto.setAvatar(userFull.getAvatar());
+        dto.setLanguage(userFull.getUserPreferences().getLanguage());
+        dto.setConnected(userFull.isConnected());
+        String avatar = DataURLHelper.convertAvatarToUrlData(userDetail.getAvatarFileName(),
+            getSettings().getString("avatar.size", "24x"));
+        dto.setAvatar(avatar);
         for (String prop : getUserProperties()) {
           dto.addProperty(prop, userFull.getValue(prop));
         }

From 2c8047ccd0363e1f9db39d6ce22cbc41634d5b06 Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Sat, 16 Dec 2023 10:39:42 +0100
Subject: [PATCH 110/145] Update dependency on Silverpeas to version
 6.3.4-build231216

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index c04781307..4479f1b86 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.4-build231209</silverpeas.version>
+    <silverpeas.version>6.3.4-build231216</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.4</next.release>

From 3928dc8ceb684b15479243880ca6864d83d35b94 Mon Sep 17 00:00:00 2001
From: svuillet <svu@silvepeas.com>
Date: Mon, 18 Dec 2023 11:22:24 +0100
Subject: [PATCH 111/145] Fix permalink in wysiwyg content

---
 .../org/silverpeas/bridge/MobilFilter.java    |  2 ++
 .../client/apps/navigation/NavigationApp.java | 29 +++++++++++++++----
 .../server/services/ServiceNavigation.java    | 17 ++++++++++-
 .../servlets/PublicationContentServlet.java   |  7 +++++
 .../services/rest/ServiceNavigation.java      |  6 ++++
 5 files changed, 55 insertions(+), 6 deletions(-)

diff --git a/mobile-war/src/main/java/org/silverpeas/bridge/MobilFilter.java b/mobile-war/src/main/java/org/silverpeas/bridge/MobilFilter.java
index 33afdac41..94f6b5507 100644
--- a/mobile-war/src/main/java/org/silverpeas/bridge/MobilFilter.java
+++ b/mobile-war/src/main/java/org/silverpeas/bridge/MobilFilter.java
@@ -84,6 +84,7 @@ public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain)
     }
 
     Boolean mob = (Boolean) ((HttpServletRequest) req).getSession().getAttribute("isMobile");
+    mob = true;
     if (mob != null && !mob) {
       chain.doFilter(req, res);
       return;
@@ -92,6 +93,7 @@ public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain)
     String userAgent = ((HttpServletRequest) req).getHeader("User-Agent");
     if (userAgent != null) {
       boolean isMobile = userAgent.contains("Android") || userAgent.contains("iPhone");
+      isMobile = true;
       ((HttpServletRequest) req).getSession().setAttribute("isMobile", Boolean.valueOf(isMobile));
 
       Boolean tablet = (Boolean) ((HttpServletRequest) req).getSession().getAttribute("tablet");
diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/navigation/NavigationApp.java b/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/navigation/NavigationApp.java
index d2a4fad8a..9e5d6b709 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/navigation/NavigationApp.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/navigation/NavigationApp.java
@@ -25,7 +25,9 @@
 package org.silverpeas.mobile.client.apps.navigation;
 
 import com.google.gwt.core.client.GWT;
+import com.google.gwt.user.client.Window;
 import org.fusesource.restygwt.client.Method;
+import org.silverpeas.mobile.client.SpMobil;
 import org.silverpeas.mobile.client.apps.navigation.events.app.AbstractNavigationAppEvent;
 import org.silverpeas.mobile.client.apps.navigation.events.app.LoadSpacesAndAppsEvent;
 import org.silverpeas.mobile.client.apps.navigation.events.app.NavigationAppEventHandler;
@@ -37,11 +39,14 @@
 import org.silverpeas.mobile.client.apps.navigation.pages.NavigationPage;
 import org.silverpeas.mobile.client.common.EventBus;
 import org.silverpeas.mobile.client.common.ServicesLocator;
+import org.silverpeas.mobile.client.common.ShortCutRouter;
 import org.silverpeas.mobile.client.common.app.App;
 import org.silverpeas.mobile.client.common.network.MethodCallbackOnlineOnly;
 import org.silverpeas.mobile.client.resources.ApplicationMessages;
 import org.silverpeas.mobile.shared.dto.ContentsTypes;
 import org.silverpeas.mobile.shared.dto.HomePageDTO;
+import org.silverpeas.mobile.shared.dto.navigation.HomePages;
+import org.silverpeas.mobile.shared.dto.navigation.SpaceDTO;
 
 public class NavigationApp extends App implements NavigationAppEventHandler,NavigationEventHandler {
 
@@ -100,10 +105,24 @@ public void appInstanceChanged(final NavigationAppInstanceChangedEvent event) {
 
   @Override
   public void showContent(final NavigationShowContentEvent event) {
-    if (event.getContent().getType().equals(ContentsTypes.Space.name())) {
-      NavigationPage page = new NavigationPage();
-      page.setRootSpaceId(event.getContent().getInstanceId());
-      page.show();
-    }
+      if (event.getContent().getType().equals(ContentsTypes.Space.name())) {
+          MethodCallbackOnlineOnly action = new MethodCallbackOnlineOnly<SpaceDTO>() {
+              @Override
+              public void attempt() {
+                  ServicesLocator.getServiceNavigation().getSpace(event.getContent().getInstanceId(), this);
+              }
+              @Override
+              public void onSuccess(Method method, SpaceDTO space) {
+                  if (space.getHomePageType() == HomePages.APP.getValue()) {
+                      ShortCutRouter.route(SpMobil.getUser(), space.getHomePageParameter(), "Component", null, null, null);
+                  } else {
+                      NavigationPage page = new NavigationPage();
+                      page.setRootSpaceId(event.getContent().getInstanceId());
+                      page.show();
+                  }
+              }
+          };
+          action.attempt();
+      }
   }
 }
diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/server/services/ServiceNavigation.java b/mobile-war/src/main/java/org/silverpeas/mobile/server/services/ServiceNavigation.java
index a41ced9d2..7f0a958b0 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/server/services/ServiceNavigation.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/server/services/ServiceNavigation.java
@@ -464,6 +464,22 @@ public Boolean isWorkflowApp(@PathParam("instanceId") String intanceId) {
     }
   }
 
+  @GET
+  @Produces(MediaType.APPLICATION_JSON)
+  @Path("space/{spaceId}/")
+  public SpaceDTO getSpace(@PathParam("spaceId") String spaceId) {
+    try {
+      SpaceInst space = Administration.get().getSpaceInstById(spaceId);
+      SpaceDTO dto = new SpaceDTO();
+      dto.setHomePageType(space.getFirstPageType());
+      dto.setHomePageParameter(space.getFirstPageExtraParam());
+      return dto;
+    } catch (AdminException e) {
+      SilverLogger.getLogger(this).error(e);
+      throw new WebApplicationException(e);
+    }
+  }
+
   //TODO : remove appType
   @GET
   @Produces(MediaType.APPLICATION_JSON)
@@ -575,7 +591,6 @@ private boolean containApp(SpaceInst space) throws Exception {
   private String[] getUserRoles(String componentId, String userId) {
     return organizationController.getUserProfiles(userId, componentId);
   }
-
   private SpaceDTO populate(SpaceInst space) {
     SpaceDTO dto = new SpaceDTO();
     dto.setId(space.getId());
diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/server/servlets/PublicationContentServlet.java b/mobile-war/src/main/java/org/silverpeas/mobile/server/servlets/PublicationContentServlet.java
index 679c872d7..057d6ad9e 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/server/servlets/PublicationContentServlet.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/server/servlets/PublicationContentServlet.java
@@ -185,6 +185,13 @@ private void displayWysiwyg(String html, HttpServletRequest request, HttpServlet
       }
       img.attr("src", newSource);
     }
+    Elements anchors = doc.getElementsByTag("a");
+    for (Element a : anchors) {
+      String target = a.attr("target");
+      if (!target.equalsIgnoreCase("_blank")) {
+        a.attr("target", "_top");
+      }
+    }
 
     html = doc.outerHtml();
     OutputStreamWriter out = new OutputStreamWriter(response.getOutputStream(), "UTF-8");
diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/shared/services/rest/ServiceNavigation.java b/mobile-war/src/main/java/org/silverpeas/mobile/shared/services/rest/ServiceNavigation.java
index 02a98c7b7..b95b56d41 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/shared/services/rest/ServiceNavigation.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/shared/services/rest/ServiceNavigation.java
@@ -31,6 +31,7 @@
 import org.silverpeas.mobile.shared.dto.HomePageDTO;
 import org.silverpeas.mobile.shared.dto.navigation.ApplicationInstanceDTO;
 import org.silverpeas.mobile.shared.dto.navigation.SilverpeasObjectDTO;
+import org.silverpeas.mobile.shared.dto.navigation.SpaceDTO;
 
 import javax.ws.rs.Consumes;
 import javax.ws.rs.GET;
@@ -48,6 +49,11 @@
 @Path("/mobile/navigation")
 public interface ServiceNavigation extends RestService {
 
+  @GET
+  @Produces(MediaType.APPLICATION_JSON)
+  @Path("space/{spaceId}/")
+  public void getSpace(@PathParam("spaceId") String spaceId, MethodCallback<SpaceDTO> callback);
+
   @GET
   @Produces(MediaType.APPLICATION_JSON)
   @Path("spacesAndApps/{rootSpaceId}/")

From 4129ab9e55185e6a337b04b7ef464ca8955345b6 Mon Sep 17 00:00:00 2001
From: svuillet <svu@silvepeas.com>
Date: Mon, 18 Dec 2023 11:32:17 +0100
Subject: [PATCH 112/145] remove test code

---
 mobile-war/src/main/java/org/silverpeas/bridge/MobilFilter.java | 2 --
 1 file changed, 2 deletions(-)

diff --git a/mobile-war/src/main/java/org/silverpeas/bridge/MobilFilter.java b/mobile-war/src/main/java/org/silverpeas/bridge/MobilFilter.java
index 94f6b5507..33afdac41 100644
--- a/mobile-war/src/main/java/org/silverpeas/bridge/MobilFilter.java
+++ b/mobile-war/src/main/java/org/silverpeas/bridge/MobilFilter.java
@@ -84,7 +84,6 @@ public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain)
     }
 
     Boolean mob = (Boolean) ((HttpServletRequest) req).getSession().getAttribute("isMobile");
-    mob = true;
     if (mob != null && !mob) {
       chain.doFilter(req, res);
       return;
@@ -93,7 +92,6 @@ public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain)
     String userAgent = ((HttpServletRequest) req).getHeader("User-Agent");
     if (userAgent != null) {
       boolean isMobile = userAgent.contains("Android") || userAgent.contains("iPhone");
-      isMobile = true;
       ((HttpServletRequest) req).getSession().setAttribute("isMobile", Boolean.valueOf(isMobile));
 
       Boolean tablet = (Boolean) ((HttpServletRequest) req).getSession().getAttribute("tablet");

From 79c51c9edd5f97f1f480fd8ac4455c86d24a20e4 Mon Sep 17 00:00:00 2001
From: svuillet <svu@silvepeas.com>
Date: Tue, 19 Dec 2023 11:46:59 +0100
Subject: [PATCH 113/145] Feature #13901

---
 .../main/java/org/silverpeas/mobile/client/SpMobil.java  | 5 +++++
 .../mobile/client/apps/navigation/NavigationApp.java     | 5 +++--
 .../mobile/client/common/navigation/LinksManager.java    | 9 +++++++++
 .../server/servlets/PublicationContentServlet.java       | 6 +++++-
 mobile-war/src/main/webapp/spmobile/spmobil.jsp          | 3 +++
 5 files changed, 25 insertions(+), 3 deletions(-)

diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/client/SpMobil.java b/mobile-war/src/main/java/org/silverpeas/mobile/client/SpMobil.java
index 93d68478e..f6f573eb2 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/client/SpMobil.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/client/SpMobil.java
@@ -144,6 +144,7 @@ public static void setUser(final DetailUserDTO user) {
    * Init. spmobile.
    */
   public void onModuleLoad() {
+    exportNativeFunctions();
     // init connexion supervision
     NetworkHelper.getInstance();
 
@@ -540,4 +541,8 @@ public static Config getConfiguration() {
   public void onAuthenticationError(final AbstractAuthenticationErrorEvent event) {
     displayLoginPage(((AuthenticationException) event.getException()));
   }
+
+  public static native void exportNativeFunctions()/*-{
+    $wnd.navigateTo = $entry(@org.silverpeas.mobile.client.common.navigation.LinksManager::navigateToPermalink(*));
+  }-*/;
 }
diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/navigation/NavigationApp.java b/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/navigation/NavigationApp.java
index 9e5d6b709..b03234e0d 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/navigation/NavigationApp.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/client/apps/navigation/NavigationApp.java
@@ -25,7 +25,6 @@
 package org.silverpeas.mobile.client.apps.navigation;
 
 import com.google.gwt.core.client.GWT;
-import com.google.gwt.user.client.Window;
 import org.fusesource.restygwt.client.Method;
 import org.silverpeas.mobile.client.SpMobil;
 import org.silverpeas.mobile.client.apps.navigation.events.app.AbstractNavigationAppEvent;
@@ -109,7 +108,9 @@ public void showContent(final NavigationShowContentEvent event) {
           MethodCallbackOnlineOnly action = new MethodCallbackOnlineOnly<SpaceDTO>() {
               @Override
               public void attempt() {
-                  ServicesLocator.getServiceNavigation().getSpace(event.getContent().getInstanceId(), this);
+                  String id = event.getContent().getInstanceId();
+                  if (id == null || id.isEmpty()) id = event.getContent().getId();
+                  ServicesLocator.getServiceNavigation().getSpace(id, this);
               }
               @Override
               public void onSuccess(Method method, SpaceDTO space) {
diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/client/common/navigation/LinksManager.java b/mobile-war/src/main/java/org/silverpeas/mobile/client/common/navigation/LinksManager.java
index 2bdd93868..b22424e9a 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/client/common/navigation/LinksManager.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/client/common/navigation/LinksManager.java
@@ -24,6 +24,7 @@
 
 package org.silverpeas.mobile.client.common.navigation;
 
+import com.google.gwt.core.client.JsArrayString;
 import com.google.gwt.user.client.Window;
 import org.silverpeas.mobile.client.SpMobil;
 import org.silverpeas.mobile.client.apps.contacts.events.app.ContactsFilteredLoadEvent;
@@ -44,6 +45,14 @@ public class LinksManager {
 
   private static Boolean iosShowIframe = Boolean.parseBoolean(ResourcesManager.getParam("ios.link.open.in.iframe"));
 
+  public static void navigateToPermalink(String url) {
+    HyperLinkDTO dto = new HyperLinkDTO();
+    dto.setUrl(url);
+    dto.setInternalLink(true);
+    dto.setOpenNewWindow(false);
+    processLink(dto);
+  }
+
   public static void processLink(HyperLinkDTO hyperLinkDTO) {
     String url = hyperLinkDTO.getUrl();
     if(sameContext(url)) {
diff --git a/mobile-war/src/main/java/org/silverpeas/mobile/server/servlets/PublicationContentServlet.java b/mobile-war/src/main/java/org/silverpeas/mobile/server/servlets/PublicationContentServlet.java
index 057d6ad9e..083924f12 100644
--- a/mobile-war/src/main/java/org/silverpeas/mobile/server/servlets/PublicationContentServlet.java
+++ b/mobile-war/src/main/java/org/silverpeas/mobile/server/servlets/PublicationContentServlet.java
@@ -187,9 +187,13 @@ private void displayWysiwyg(String html, HttpServletRequest request, HttpServlet
     }
     Elements anchors = doc.getElementsByTag("a");
     for (Element a : anchors) {
+      String href = a.attr("href");
       String target = a.attr("target");
       if (!target.equalsIgnoreCase("_blank")) {
-        a.attr("target", "_top");
+        if (href.contains("/silverpeas/") && !href.contains(".jsp")) {
+          a.attr("href", "#");
+          a.attr("onclick", "parent.navigate('" + href + "');");
+        }
       }
     }
 
diff --git a/mobile-war/src/main/webapp/spmobile/spmobil.jsp b/mobile-war/src/main/webapp/spmobile/spmobil.jsp
index dc70e1e18..ec8b36497 100644
--- a/mobile-war/src/main/webapp/spmobile/spmobil.jsp
+++ b/mobile-war/src/main/webapp/spmobile/spmobil.jsp
@@ -139,6 +139,9 @@
       var windowHeight = window.innerHeight;
       document.body.style.height = windowHeight + "px";
     }
+    function navigate(url) {
+      window.navigateTo(url);
+    }
   </script>
 
   <%

From e3aabe12aab8c725920043ca5f107d5be8600b2d Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Fri, 22 Dec 2023 16:44:20 +0100
Subject: [PATCH 114/145] Update dependency on Silverpeas to version
 6.3.4-build231222

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 4479f1b86..825cba8b9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.4-build231216</silverpeas.version>
+    <silverpeas.version>6.3.4-build231222</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.4</next.release>

From a9e4e90d5220600c5a5344b4aa74ed134735ace7 Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Sat, 23 Dec 2023 11:36:48 +0100
Subject: [PATCH 115/145] Update dependency on Silverpeas to version
 6.3.4-build231223

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 825cba8b9..0ed071aaa 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.4-build231222</silverpeas.version>
+    <silverpeas.version>6.3.4-build231223</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.4</next.release>

From 5daf36e0f7aea846444d43d593e148b27ac45d62 Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Sat, 30 Dec 2023 10:41:43 +0100
Subject: [PATCH 116/145] Update dependency on Silverpeas to version
 6.3.4-build231230

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 0ed071aaa..42f91e76b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.4-build231223</silverpeas.version>
+    <silverpeas.version>6.3.4-build231230</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.4</next.release>

From 053cb75281f82b99696ba69f7322ff29ff3c70f3 Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Fri, 5 Jan 2024 12:05:51 +0100
Subject: [PATCH 117/145] Update dependency on Silverpeas to version
 6.3.4-build240105

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 42f91e76b..0acd84541 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.4-build231230</silverpeas.version>
+    <silverpeas.version>6.3.4-build240105</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.4</next.release>

From 6b773ac65a25b14729abdc357b50e3f355127de3 Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Sat, 6 Jan 2024 10:40:40 +0100
Subject: [PATCH 118/145] Update dependency on Silverpeas to version
 6.3.4-build240106

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 0acd84541..d67c93fd5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.4-build240105</silverpeas.version>
+    <silverpeas.version>6.3.4-build240106</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.4</next.release>

From 6f07f9ca79cbad7fa2a609a20da54290b2289359 Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Wed, 17 Jan 2024 15:35:06 +0100
Subject: [PATCH 119/145] Update dependency on Silverpeas to version
 6.3.4-build240117

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index d67c93fd5..63e64677b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.4-build240106</silverpeas.version>
+    <silverpeas.version>6.3.4-build240117</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.4</next.release>

From d3593d2e220f0c0cd21f9679cb30eb69f5090810 Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Sat, 20 Jan 2024 10:39:02 +0100
Subject: [PATCH 120/145] Update dependency on Silverpeas to version
 6.3.4-build240120

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 63e64677b..3d265d365 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.4-build240117</silverpeas.version>
+    <silverpeas.version>6.3.4-build240120</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.4</next.release>

From 21d14e57e315bb5843257b19d67ac54f3970e4c2 Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Sat, 27 Jan 2024 10:38:44 +0100
Subject: [PATCH 121/145] Update dependency on Silverpeas to version
 6.3.4-build240127

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 3d265d365..00f8a5863 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.4-build240120</silverpeas.version>
+    <silverpeas.version>6.3.4-build240127</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.4</next.release>

From f04ed345d4ba540fc16931a122a2ae6893668929 Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Thu, 8 Feb 2024 13:14:43 +0100
Subject: [PATCH 122/145] Update dependency on Silverpeas to version
 6.3.4-build240208

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 00f8a5863..fa27e0fc7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.4-build240127</silverpeas.version>
+    <silverpeas.version>6.3.4-build240208</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.4</next.release>

From 172882ccde4e1e1f3d75fcb27150ca474d3c5c10 Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Sat, 10 Feb 2024 10:38:19 +0100
Subject: [PATCH 123/145] Update dependency on Silverpeas to version
 6.3.4-build240210

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index fa27e0fc7..2814bb11f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.4-build240208</silverpeas.version>
+    <silverpeas.version>6.3.4-build240210</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.4</next.release>

From cfc5fd77651650032b366e528d8c81312aa13711 Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Sat, 17 Feb 2024 10:38:26 +0100
Subject: [PATCH 124/145] Update dependency on Silverpeas to version
 6.3.4-build240217

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 2814bb11f..049520dca 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.4-build240210</silverpeas.version>
+    <silverpeas.version>6.3.4-build240217</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.4</next.release>

From 845b7547b9fd67b1c7499914b09ad4aa1b0ac77f Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Mon, 19 Feb 2024 17:46:42 +0100
Subject: [PATCH 125/145] 6.3.4 has been released from build 6.3.4-build240217
 (cfc5fd77651650032b366e528d8c81312aa13711).Prepare for development iteration
 of next version 6.3.5

---
 mobile-configuration/pom.xml | 2 +-
 mobile-war/pom.xml           | 2 +-
 pom.xml                      | 6 +++---
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/mobile-configuration/pom.xml b/mobile-configuration/pom.xml
index 5676f1f7d..da9928ef1 100644
--- a/mobile-configuration/pom.xml
+++ b/mobile-configuration/pom.xml
@@ -28,7 +28,7 @@
   <parent>
     <groupId>org.silverpeas.components</groupId>
     <artifactId>mobile</artifactId>
-    <version>6.3.4-SNAPSHOT</version>
+    <version>6.3.5-SNAPSHOT</version>
   </parent>
 
   <groupId>org.silverpeas.components.mobile</groupId>
diff --git a/mobile-war/pom.xml b/mobile-war/pom.xml
index f295d3653..fb8b4e7e0 100644
--- a/mobile-war/pom.xml
+++ b/mobile-war/pom.xml
@@ -30,7 +30,7 @@
   <parent>
     <groupId>org.silverpeas.components</groupId>
     <artifactId>mobile</artifactId>
-    <version>6.3.4-SNAPSHOT</version>
+    <version>6.3.5-SNAPSHOT</version>
   </parent>
 
   <groupId>org.silverpeas.components.mobile</groupId>
diff --git a/pom.xml b/pom.xml
index 049520dca..5293786ce 100644
--- a/pom.xml
+++ b/pom.xml
@@ -35,14 +35,14 @@
   <groupId>org.silverpeas.components</groupId>
   <artifactId>mobile</artifactId>
   <packaging>pom</packaging>
-  <version>6.3.4-SNAPSHOT</version>
+  <version>6.3.5-SNAPSHOT</version>
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.4-build240217</silverpeas.version>
+    <silverpeas.version>6.3.5-SNAPSHOT</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
-     <next.release>6.3.4</next.release>
+     <next.release>6.3.5</next.release>
   </properties>
 
   <repositories>

From 6884a82ba3998e0b93648dbd9097875ea13755b3 Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Sat, 24 Feb 2024 10:43:54 +0100
Subject: [PATCH 126/145] Update dependency on Silverpeas to version
 6.3.5-build240224

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 5293786ce..a4f7167a6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.5-SNAPSHOT</silverpeas.version>
+    <silverpeas.version>6.3.5-build240224</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.5</next.release>

From a62b342bfd43a6fd757c61f26e777278a4da7769 Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Wed, 28 Feb 2024 14:12:25 +0100
Subject: [PATCH 127/145] Update dependency on Silverpeas to version
 6.3.5-build240228

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index a4f7167a6..d30ae94e4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.5-build240224</silverpeas.version>
+    <silverpeas.version>6.3.5-build240228</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.5</next.release>

From 8cb1e82d41ee0318f00a653f15c577a3753d2efc Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Mon, 4 Mar 2024 18:46:02 +0100
Subject: [PATCH 128/145] Update dependency on Silverpeas to version
 6.3.5-build240304

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index d30ae94e4..065692791 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.5-build240228</silverpeas.version>
+    <silverpeas.version>6.3.5-build240304</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.5</next.release>

From 58780befeb4a7be5c19f0dae6504a8b9f4f2c4f9 Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Sat, 9 Mar 2024 10:40:29 +0100
Subject: [PATCH 129/145] Update dependency on Silverpeas to version
 6.3.5-build240309

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 065692791..08cc315c8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.5-build240304</silverpeas.version>
+    <silverpeas.version>6.3.5-build240309</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.5</next.release>

From a3504e427d08c125c4a2551faafb4d55bc16c5a4 Mon Sep 17 00:00:00 2001
From: svuillet <svu@silvepeas.com>
Date: Thu, 14 Mar 2024 10:51:25 +0100
Subject: [PATCH 130/145] Fix #14067

---
 mobile-war/src/main/java/org/silverpeas/bridge/MobilFilter.java | 1 +
 1 file changed, 1 insertion(+)

diff --git a/mobile-war/src/main/java/org/silverpeas/bridge/MobilFilter.java b/mobile-war/src/main/java/org/silverpeas/bridge/MobilFilter.java
index 33afdac41..176311cff 100644
--- a/mobile-war/src/main/java/org/silverpeas/bridge/MobilFilter.java
+++ b/mobile-war/src/main/java/org/silverpeas/bridge/MobilFilter.java
@@ -108,6 +108,7 @@ public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain)
           !url.contains(URLUtil.getApplicationURL() + "/util/") && (!tablet) &&
           !url.contains("attached_file") && !url.contains("Ticket") &&
           !url.contains("LinkFile/Key")  &&
+          !url.contains("Logout")  &&
           !url.contains("FileServer/thumbnail") && redirect) {
         String params = "";
         if (url.contains("Publication")) {

From bb88b96a9f51227010832b61143e5dfdbf788ea6 Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Sat, 16 Mar 2024 10:37:04 +0100
Subject: [PATCH 131/145] Update dependency on Silverpeas to version
 6.3.5-build240316

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 08cc315c8..893740990 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.5-build240309</silverpeas.version>
+    <silverpeas.version>6.3.5-build240316</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.5</next.release>

From 70a91302de8bd849e48067f1c43745ecd36bb950 Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Sat, 23 Mar 2024 10:37:19 +0100
Subject: [PATCH 132/145] Update dependency on Silverpeas to version
 6.3.5-build240323

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 893740990..ca7456111 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.5-build240316</silverpeas.version>
+    <silverpeas.version>6.3.5-build240323</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.5</next.release>

From f7d8fc4ce65c033c24154a0f25a7a61d8b6909e2 Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Sat, 30 Mar 2024 10:36:53 +0100
Subject: [PATCH 133/145] Update dependency on Silverpeas to version
 6.3.5-build240330

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index ca7456111..e8b9a322a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.5-build240323</silverpeas.version>
+    <silverpeas.version>6.3.5-build240330</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.5</next.release>

From 1cad4c7f98aa3c06499dfa8986540693b9abeced Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Sat, 6 Apr 2024 10:36:07 +0200
Subject: [PATCH 134/145] Update dependency on Silverpeas to version
 6.3.5-build240406

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index e8b9a322a..431676316 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.5-build240330</silverpeas.version>
+    <silverpeas.version>6.3.5-build240406</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.5</next.release>

From 7cb2b03349687e338dc5dcac4199a1212dd66609 Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Sat, 13 Apr 2024 10:35:49 +0200
Subject: [PATCH 135/145] Update dependency on Silverpeas to version
 6.3.5-build240413

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 431676316..38dbf62d5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.5-build240406</silverpeas.version>
+    <silverpeas.version>6.3.5-build240413</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.5</next.release>

From 7f67f01d50cff197650be549337cc74c41cfc2d3 Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Sat, 20 Apr 2024 10:34:56 +0200
Subject: [PATCH 136/145] Update dependency on Silverpeas to version
 6.3.5-build240420

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 38dbf62d5..2de273ba5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.5-build240413</silverpeas.version>
+    <silverpeas.version>6.3.5-build240420</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.5</next.release>

From 8e8a0fe40fcf49a72d39af594f3830952d8ab977 Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Sat, 18 May 2024 10:09:11 +0200
Subject: [PATCH 137/145] Update dependency on Silverpeas to version
 6.3.5-build240518

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 2de273ba5..52d20c2a2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.5-build240420</silverpeas.version>
+    <silverpeas.version>6.3.5-build240518</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.5</next.release>

From aa77eb494357749185d05e4dff86a6e2696bc4e5 Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Sat, 25 May 2024 10:25:17 +0200
Subject: [PATCH 138/145] Update dependency on Silverpeas to version
 6.3.5-build240525

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 52d20c2a2..acc340146 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.5-build240518</silverpeas.version>
+    <silverpeas.version>6.3.5-build240525</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.5</next.release>

From cadd50679dc200825dc3bc51170360e4dbb08370 Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Tue, 28 May 2024 09:25:09 +0200
Subject: [PATCH 139/145] 6.3.5 has been released from build 6.3.5-build240525
 (aa77eb494357749185d05e4dff86a6e2696bc4e5).Prepare for development iteration
 of next version 6.3.6

---
 mobile-configuration/pom.xml | 2 +-
 mobile-war/pom.xml           | 2 +-
 pom.xml                      | 6 +++---
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/mobile-configuration/pom.xml b/mobile-configuration/pom.xml
index da9928ef1..dcd8d965c 100644
--- a/mobile-configuration/pom.xml
+++ b/mobile-configuration/pom.xml
@@ -28,7 +28,7 @@
   <parent>
     <groupId>org.silverpeas.components</groupId>
     <artifactId>mobile</artifactId>
-    <version>6.3.5-SNAPSHOT</version>
+    <version>6.3.6-SNAPSHOT</version>
   </parent>
 
   <groupId>org.silverpeas.components.mobile</groupId>
diff --git a/mobile-war/pom.xml b/mobile-war/pom.xml
index fb8b4e7e0..ca7797e13 100644
--- a/mobile-war/pom.xml
+++ b/mobile-war/pom.xml
@@ -30,7 +30,7 @@
   <parent>
     <groupId>org.silverpeas.components</groupId>
     <artifactId>mobile</artifactId>
-    <version>6.3.5-SNAPSHOT</version>
+    <version>6.3.6-SNAPSHOT</version>
   </parent>
 
   <groupId>org.silverpeas.components.mobile</groupId>
diff --git a/pom.xml b/pom.xml
index acc340146..ffff32d20 100644
--- a/pom.xml
+++ b/pom.xml
@@ -35,14 +35,14 @@
   <groupId>org.silverpeas.components</groupId>
   <artifactId>mobile</artifactId>
   <packaging>pom</packaging>
-  <version>6.3.5-SNAPSHOT</version>
+  <version>6.3.6-SNAPSHOT</version>
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.5-build240525</silverpeas.version>
+    <silverpeas.version>6.3.6-SNAPSHOT</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
-     <next.release>6.3.5</next.release>
+     <next.release>6.3.6</next.release>
   </properties>
 
   <repositories>

From 1e826301c851b49248036953818c21497ddfde65 Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Sat, 1 Jun 2024 10:26:38 +0200
Subject: [PATCH 140/145] Update dependency on Silverpeas to version
 6.3.6-build240601

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index ffff32d20..375e09023 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.6-SNAPSHOT</silverpeas.version>
+    <silverpeas.version>6.3.6-build240601</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.6</next.release>

From 1d0a1ad7f4ea56b4f6c9fa1b3bc1ec878439f70f Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Sat, 8 Jun 2024 10:09:43 +0200
Subject: [PATCH 141/145] Update dependency on Silverpeas to version
 6.3.6-build240608

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 375e09023..3f1b47b4a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.6-build240601</silverpeas.version>
+    <silverpeas.version>6.3.6-build240608</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.6</next.release>

From 9f5bfc79813fc1a855fee0f08e30724127956893 Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Fri, 5 Jul 2024 11:22:22 +0200
Subject: [PATCH 142/145] Update dependency on Silverpeas to version
 6.3.6-build240705

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 3f1b47b4a..ddd6a7bbf 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.6-build240608</silverpeas.version>
+    <silverpeas.version>6.3.6-build240705</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.6</next.release>

From f0980144dbbfca8fc650ac94fd238726ef3b032c Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Wed, 13 Nov 2024 12:30:35 +0100
Subject: [PATCH 143/145] Update dependency on Silverpeas to version
 6.3.6-build241113

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index ddd6a7bbf..6047f5498 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.6-build240705</silverpeas.version>
+    <silverpeas.version>6.3.6-build241113</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.6</next.release>

From f68303f17e30f34219056e1c09f11bfea60361f9 Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Fri, 7 Feb 2025 14:18:53 +0100
Subject: [PATCH 144/145] 6.3.6 has been released from build 6.3.6-build241113
 (f0980144dbbfca8fc650ac94fd238726ef3b032c).Prepare for development iteration
 of next version 6.3.7

---
 mobile-configuration/pom.xml | 2 +-
 mobile-war/pom.xml           | 2 +-
 pom.xml                      | 6 +++---
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/mobile-configuration/pom.xml b/mobile-configuration/pom.xml
index dcd8d965c..afa604f36 100644
--- a/mobile-configuration/pom.xml
+++ b/mobile-configuration/pom.xml
@@ -28,7 +28,7 @@
   <parent>
     <groupId>org.silverpeas.components</groupId>
     <artifactId>mobile</artifactId>
-    <version>6.3.6-SNAPSHOT</version>
+    <version>6.3.7-SNAPSHOT</version>
   </parent>
 
   <groupId>org.silverpeas.components.mobile</groupId>
diff --git a/mobile-war/pom.xml b/mobile-war/pom.xml
index ca7797e13..5ecdd213a 100644
--- a/mobile-war/pom.xml
+++ b/mobile-war/pom.xml
@@ -30,7 +30,7 @@
   <parent>
     <groupId>org.silverpeas.components</groupId>
     <artifactId>mobile</artifactId>
-    <version>6.3.6-SNAPSHOT</version>
+    <version>6.3.7-SNAPSHOT</version>
   </parent>
 
   <groupId>org.silverpeas.components.mobile</groupId>
diff --git a/pom.xml b/pom.xml
index 6047f5498..d7b64dfdb 100644
--- a/pom.xml
+++ b/pom.xml
@@ -35,14 +35,14 @@
   <groupId>org.silverpeas.components</groupId>
   <artifactId>mobile</artifactId>
   <packaging>pom</packaging>
-  <version>6.3.6-SNAPSHOT</version>
+  <version>6.3.7-SNAPSHOT</version>
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.6-build241113</silverpeas.version>
+    <silverpeas.version>6.3.7-SNAPSHOT</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
-     <next.release>6.3.6</next.release>
+     <next.release>6.3.7</next.release>
   </properties>
 
   <repositories>

From defa63b4934e025329da4b267c4ca7f8968d7347 Mon Sep 17 00:00:00 2001
From: silveruser <devteam@silverpeas.net>
Date: Fri, 14 Feb 2025 02:53:13 +0100
Subject: [PATCH 145/145] Update dependency on Silverpeas to version
 6.3.7-build250214

---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index d7b64dfdb..8fee4ee06 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
   <name>Silverpeas Mobile component</name>
 
   <properties>
-    <silverpeas.version>6.3.7-SNAPSHOT</silverpeas.version>
+    <silverpeas.version>6.3.7-build250214</silverpeas.version>
     <maven.compiler.source>11</maven.compiler.source>
     <maven.compiler.target>11</maven.compiler.target>
      <next.release>6.3.7</next.release>