diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/resources/BucketResource.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/resources/BucketResource.java
index a8195e9..9aa58b6 100644
--- a/services/self-service/src/main/java/com/epam/dlab/backendapi/resources/BucketResource.java
+++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/resources/BucketResource.java
@@ -52,9 +52,11 @@
 @Path("/bucket")
 @Slf4j
 public class BucketResource {
-    private static final String AUDIT_UPLOAD_OBJECT_MESSAGE = "File name: %s. File size: %d.";
-    private static final String AUDIT_UPLOAD_FOLDER_MESSAGE = "Folder name: %s.";
-    private static final String AUDIT_MESSAGE = "File name: %s.";
+  
+    private static final String AUDIT_UPLOAD_MESSAGE = "File(s): %s";
+    private static final String AUDIT_MESSAGE = "File(s): %s";
+    private static final String AUDIT_UPLOAD_FOLDER_MESSAGE = "Folder(s): %s.";
+
     private static final String OBJECT_FORM_FIELD = "object";
     private static final String BUCKET_FORM_FIELD = "bucket";
     private static final String ENDPOINT_FORM_FIELD = "endpoint";
diff --git a/services/self-service/src/main/resources/webapp/src/app/reports/audit/audit-grid/audit-grid.component.scss b/services/self-service/src/main/resources/webapp/src/app/reports/audit/audit-grid/audit-grid.component.scss
index f1c1df0..d2f4f9a 100644
--- a/services/self-service/src/main/resources/webapp/src/app/reports/audit/audit-grid/audit-grid.component.scss
+++ b/services/self-service/src/main/resources/webapp/src/app/reports/audit/audit-grid/audit-grid.component.scss
@@ -32,15 +32,21 @@
 
     tr {
       .th_user {
-        width: 15%;
+        width: 19%;
       }
 
       .th_action {
         width: 11%;
+        .label{
+          padding-bottom: 10px;
+        }
       }
 
       .th_date {
         width: 14%;
+        .label{
+          padding-bottom: 10px;
+        }
       }
 
       .th_project{
diff --git a/services/self-service/src/main/resources/webapp/src/app/reports/audit/audit-grid/audit-grid.component.ts b/services/self-service/src/main/resources/webapp/src/app/reports/audit/audit-grid/audit-grid.component.ts
index adff99b..c5eeea5 100644
--- a/services/self-service/src/main/resources/webapp/src/app/reports/audit/audit-grid/audit-grid.component.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/reports/audit/audit-grid/audit-grid.component.ts
@@ -168,8 +168,13 @@
               <div class="scrolling-content mat-list-wrapper" id="scrolling">
                 <mat-list-item class="list-item" *ngFor="let action of actionList">
                   <div class="info-item-title">{{action[0]}}</div>
-                  <div class="info-item-data" >
-                      <div *ngFor="let description of action[1]?.split(',')">{{description}}</div>
+                  <div class="info-item-data" *ngIf="action[0] === 'File(s)'">
+                    <div class="file-description ellipsis" *ngFor="let description of action[1]?.split(',')" [matTooltip]="description" matTooltipPosition="above">
+                      {{description}}
+                    </div>
+                  </div>
+                  <div class="info-item-data" *ngIf="action[0] !== 'File(s)'">
+                     <div *ngFor="let description of action[1]?.split(',')">{{description}}</div>
                   </div>
                 </mat-list-item>
               </div>
@@ -197,6 +202,10 @@
     .info-item-title{width: 40%; padding: 10px 0}
     .list-header {padding-top: 5px;}
     .info-item-data{width: 60%; text-align: left; padding: 10px 0}
+    .file-description{ overflow: hidden; display: block; direction: rtl;}
+
+
+
 
 
   `]
diff --git a/services/self-service/src/main/resources/webapp/src/app/resources/bucket-browser/bucket-browser.component.ts b/services/self-service/src/main/resources/webapp/src/app/resources/bucket-browser/bucket-browser.component.ts
index d3c4c73..fc8ed49 100644
--- a/services/self-service/src/main/resources/webapp/src/app/resources/bucket-browser/bucket-browser.component.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/resources/bucket-browser/bucket-browser.component.ts
@@ -381,11 +381,11 @@
     if (action === 'delete') {
       const itemsForDeleting = [...folderSelected, ...selected];
       const objects = itemsForDeleting.map(obj => obj.object.object);
-      const dataForServer = [];
+      let dataForServer = [];
       objects.forEach(object => {
         dataForServer.push(...this.bucketDataService.serverData.map(v => v.object).filter(v => v.indexOf(object) === 0));
       });
-
+      dataForServer = [...dataForServer, ...objects].filter((v, i, arr) => i === arr.indexOf(v));
       this.dialog.open(BucketConfirmationDialogComponent, {data: {items: itemsForDeleting, type: 'delete'} , width: '550px'})
         .afterClosed().subscribe((res) => {
         !res && this.clearSelection();
diff --git a/services/self-service/src/main/resources/webapp/src/app/resources/bucket-browser/folder-tree/folder-tree.component.ts b/services/self-service/src/main/resources/webapp/src/app/resources/bucket-browser/folder-tree/folder-tree.component.ts
index f394e23..9400637 100644
--- a/services/self-service/src/main/resources/webapp/src/app/resources/bucket-browser/folder-tree/folder-tree.component.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/resources/bucket-browser/folder-tree/folder-tree.component.ts
@@ -222,12 +222,11 @@
     this.bucketDataService.emptyFolder = null;
     this.bucketBrowserService.createFolder({
       'bucket': bucket,
-      'folder': path,
+      'folder': path.replace(/ا/g, ''),
       'endpoint': this.endpoint
     })
       .subscribe(_ => {
           this.bucketDataService.insertItem(flatParent, itemValue, false);
-          // this.bucketDataService.refreshBucketdata(bucket, this.endpoint);
           this.toastr.success('Folder successfully created!', 'Success!');
           this.folderCreating = false;
           this.removeItem(node);
diff --git a/services/self-service/src/main/resources/webapp/src/app/shared/modal-dialog/notification-dialog/notification-dialog.component.ts b/services/self-service/src/main/resources/webapp/src/app/shared/modal-dialog/notification-dialog/notification-dialog.component.ts
index a860b39..657b47f 100644
--- a/services/self-service/src/main/resources/webapp/src/app/shared/modal-dialog/notification-dialog/notification-dialog.component.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/shared/modal-dialog/notification-dialog/notification-dialog.component.ts
@@ -54,7 +54,7 @@
                           will be stopped
                       </p>
                   </div>
-                  <span class="strong">by a schedule in 15 minutes.</span>
+                  <span class="strong">by a schedule in less than 15 minutes.</span>
               </div>
               <div *ngIf="data.type === 'message'"><span [innerHTML]="data.template"></span></div>
               <div *ngIf="data.type === 'confirmation'" class="confirm-dialog">
diff --git a/services/self-service/src/main/resources/webapp/src/app/shared/navbar/navbar.component.ts b/services/self-service/src/main/resources/webapp/src/app/shared/navbar/navbar.component.ts
index 1f33caa..e30f8db 100644
--- a/services/self-service/src/main/resources/webapp/src/app/shared/navbar/navbar.component.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/shared/navbar/navbar.component.ts
@@ -76,7 +76,7 @@
 })
 export class NavbarComponent implements OnInit, OnDestroy {
 
-  private readonly CHECK_ACTIVE_SCHEDULE_TIMEOUT: number = 55000;
+  private readonly CHECK_ACTIVE_SCHEDULE_TIMEOUT: number = 300000;
   private readonly CHECK_ACTIVE_SCHEDULE_PERIOD: number = 15;
 
   currentUserName: string;
