Skip to content

Commit

Permalink
Merge branch 'master-PRE' into features/NEW-INTEGRATIONS-2-PRE
Browse files Browse the repository at this point in the history
  • Loading branch information
Nicola Lanzilotto committed Nov 13, 2024
2 parents 95b9d30 + 80ce2ce commit 8419a4f
Show file tree
Hide file tree
Showing 99 changed files with 955 additions and 2,353 deletions.
86 changes: 85 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
# tiledesk-dashboard

### 2.7.41-rc1
- Adds the ability to add the webhook subscriptions "Request Abandoned" and "Request Fully Abandoned"

### 2.7.40
- Minor improvements and bug fixing

Expand All @@ -15,6 +18,9 @@
### 2.7.37
- Adds checks to validate Widget footer branding

### 2.7.38-rc2
- Fix chatbot import validation from json

### 2.7.36
- Adds the ability to filter for abandoned conversations in the "Non-real-time conversations" page
- Adds "Guard Role"
Expand Down Expand Up @@ -45,7 +51,11 @@
### 2.7.36-rc1
- Adds role guard
- Updates the libraries ua-parser-js, bootstrap and jquery
<<<<<<< HEAD
- Adds checks to validate user uploads (user profile, inport chatbot, widget settings, conversation detail)
=======
- Adds checks to validate user upload (user profile, inport chatbot, widget settings, conversation detail)
>>>>>>> master-PRE
### 2.7.35
- Refactors tables in Monitor page
Expand All @@ -58,7 +68,24 @@
### 2.7.33
- Adds, on the History page, the ability to filter by conversation duration

### 2.7.32
### 2.7.34-rc4
- Refactors table in Monitor page
- Improves handling of alert windows display

### 2.7.34-rc3
- AI settings and KB preview bug fixing

### 2.7.34-rc2
- Minor improvements

### 2.7.34-rc1
- Adds the ability to select the indexing type for Knowledge Base URL contents
- Adds to AI models used by knowledge bases the ability to add an advanced context and to visualize the contents sources

### 2.7.33-rc1
- Adds, on the History page, the ability to filter by conversation duration

### 2.7.32-rc1
- Moves the menu item "Apps" from the sidebar to the setting sidebar

### 2.7.31
Expand Down Expand Up @@ -103,9 +130,15 @@
- Adds the ability to select the launch block when a conversation is manually assigned to a chatbot
- Improves the method to get the number of conversations in the monitor page

### 2.7.19-rc1
- Adds the ability to select the launch block when a conversation is manually assigned to a chatbot

### 2.7.18
- Minor improvements and bug fixing

### 2.7.18-rc1
- Improves the method to get the number of conversations in the monitor page

### 2.7.17
- Removes the ability to customize the quotas email template
- Implements the icons for the SMS channel
Expand Down Expand Up @@ -154,6 +187,9 @@
- Deploys in production
- Adds the knowledge base walkthrough on the knowledge base page

### 2.7.7-rc1
- Adds the knowledge base walkthrough on the knowledge base page

### 2.7.6
- Deploys in production
- Adds a warning banner to the home page that displays when the user has used up one or more of his monthly resources
Expand All @@ -165,10 +201,21 @@
### 2.7.4
- Added Time Slots in Operating Hours page

### 2.7.4-rc1
- Fix saving operation hours bug

### 2.7.3
- Adds the ability, during onboarding, to create a chatbot that automatically answers questions based on the contents of the Knowledge Base
- Improves the knowledge base page

### 2.7.3-rc2
- Adds the ability, during onboarding, to create a chatbot that automatically answers questions based on the contents of the Knowledge Base
- Improves the knowledge base page
- Improves time slots UI

### 2.7.3-rc1
- Kb onboarding

### 2.7.2
- Deploys in production
- Adds GPT-4o mini language model
Expand All @@ -182,24 +229,61 @@
- Adds the ability to edit the "Quota checkpoint notification" email template
- Adds Twilio SMS channel integration

### 2.6.45-rc2
- Improves time slots UI
- Added translations for time slots

### 2.6.45-rc1
- Added time slots in Operating Hours

### 2.6.44
- Deploys in production
- Adds the option "Teammates can only see their own conversations" in the Project Settings > Advanced tab
- Improvements and bug fixing

### 2.6.44-rc4
- Improvements and bug fixing

### 2.6.44-rc3
- Adds the option "Teammates can only see their own conversations" in the Project Settings > Advanced tab

### 2.6.44-rc2
- Fix vxml voice integration visibility

### 2.6.44-rc1
- Added vxml voice integration
- Added twilio sms integration

### 2.6.43
- Deploys in production
- Improves the quota usage widget
- Minor improvements

### 2.6.43-rc2
- Improves Knowledge Bases page

### 2.6.43-rc1
- Improves quotes widget
- Added voice-vxml and sms-twilio channel in analytics

### 2.6.42
- Deploys in production
- Displays all the indexed chunks of a content on the "Manage your Knowledge Bases" page

### 2.6.42-rc1
- Displays all the indexed chunks of a content on the "Manage your Knowledge Bases" page

### 2.6.41
- Deploys in production
- Displays information about the Voice channel

### 2.6.41-rc2
- Adds the Voice Channel integration

### 2.6.41-rc1
- Deploys in production
- Displays information about the Voice channel

### 2.6.40
- Deploys in production
- Displays a dialog box that allows to update the plan when the knowledge bases limit is reached
Expand Down
2 changes: 1 addition & 1 deletion package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@tiledesk/tiledesk-dashboard",
"version": "2.7.40",
"version": "2.7.41-rc1",
"scripts": {
"ng": "ng",
"start": "ng serve --aot",
Expand Down
9 changes: 5 additions & 4 deletions src/app/activities/activities.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ import { ActivitiesService } from './activities-service/activities.service';
import { FormGroup, FormControl } from '@angular/forms';
import { goToCDSVersion } from 'app/utils/util';
import { AppConfigService } from 'app/services/app-config.service';
import { ProjectUser } from 'app/models/project-user';
import { RoleService } from 'app/services/role.service';
@Component({
selector: 'appdashboard-activities',
Expand Down Expand Up @@ -392,12 +393,12 @@ export class ActivitiesComponent implements OnInit, OnDestroy {
activity['closed_by_label'] = storedTeammate['firstname'] + ' ' + storedTeammate['lastname']
} else {
this.usersService.getProjectUserByUserId(activity.actor.id)
.subscribe((projectUser: any) => {
.subscribe((projectUser: ProjectUser) => {

if (projectUser && projectUser[0] && projectUser[0].id_user) {
this.usersLocalDbService.saveMembersInStorage(projectUser[0].id_user._id, projectUser[0].id_user, 'activities');
if (projectUser && projectUser.id_user) {
this.usersLocalDbService.saveMembersInStorage(projectUser.id_user._id, projectUser.id_user, 'activities');
this.logger.log('ActivitiesComponent] GET projectUser by USER-ID projectUser id', projectUser);
activity['closed_by_label'] = projectUser[0].id_user.firstname + ' ' + projectUser[0].id_user.lastname
activity['closed_by_label'] = projectUser.id_user.firstname + ' ' + projectUser.id_user.lastname
} else {

activity['closed_by_label'] = activity.target.object.userFullname
Expand Down
17 changes: 7 additions & 10 deletions src/app/app-store/app-store.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ import { PricingBaseComponent } from 'app/pricing/pricing-base/pricing-base.comp
import { FaqKbService } from 'app/services/faq-kb.service';
import { ChatbotModalComponent } from 'app/bots/bots-list/chatbot-modal/chatbot-modal.component';
import { MatDialog } from '@angular/material/dialog';
import { ProjectUser } from 'app/models/project-user';
const swal = require('sweetalert');
const Swal = require('sweetalert2')
@Component({
Expand Down Expand Up @@ -269,16 +270,12 @@ export class AppStoreComponent extends PricingBaseComponent implements OnInit, O
}

getProjectUserRole() {
this.usersService.project_user_role_bs
.pipe(
takeUntil(this.unsubscribe$)
)
.subscribe((user_role) => {
this.logger.log('[APP-STORE] - GET PROJECT-USER ROLE ', user_role);
if (user_role) {
this.USER_ROLE = user_role;
}
});
this.usersService.projectUser_bs.pipe(takeUntil(this.unsubscribe$)).subscribe((projectUser: ProjectUser) => {
this.logger.log('[APP-STORE] - GET PROJECT-USER ROLE ', projectUser);
if (projectUser) {
this.USER_ROLE = projectUser.role;
}
});
}


Expand Down
3 changes: 1 addition & 2 deletions src/app/app.routing.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ import { Routes, RouterModule } from '@angular/router';
import { UserProfileComponent } from './user-profile/user-profile.component';

import { AuthGuard } from './core/auth.guard';
import { AdminGuard } from './core/admin.guard';
import { ProjectProfileGuard } from './core/project-profile.guard';
import { PendingChangesGuard } from './core/pending-changes.guard';
import { CoreModule } from './core/core.module';
Expand Down Expand Up @@ -1289,6 +1288,6 @@ const routes: Routes = [
RouterModule.forRoot(routes)
],
exports: [RouterModule],
providers: [AuthGuard, AdminGuard, ProjectProfileGuard, RoleGuard]
providers: [AuthGuard, ProjectProfileGuard, PendingChangesGuard]
})
export class AppRoutingModule { }
23 changes: 13 additions & 10 deletions src/app/auth/autologin/autologin.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ import { ProjectService } from '../../services/project.service';
import { LoggerService } from '../../services/logger/logger.service';
import { LocalDbService } from 'app/services/users-local-db.service';
import { UsersService } from 'app/services/users.service';
import { ProjectUser } from 'app/models/project-user';

@Component({
selector: 'appdashboard-autologin',
Expand Down Expand Up @@ -70,11 +71,12 @@ export class AutologinComponent implements OnInit {
}

getUserRole() {
this.usersService.project_user_role_bs
.subscribe((userRole) => {
this.logger.log('[AUTOLOGIN] - $UBSCRIPTION TO USER ROLE »»» ', userRole)
this.USER_ROLE = userRole;
})
this.usersService.projectUser_bs.subscribe((projectUser: ProjectUser) => {
this.logger.log('[AUTOLOGIN] - $UBSCRIPTION TO USER ROLE »»» ', projectUser)
if(projectUser){
this.USER_ROLE = projectUser.role;
}
})
}


Expand Down Expand Up @@ -168,11 +170,11 @@ export class AutologinComponent implements OnInit {
this.logger.log('[AUTOLOGIN] SSO - ssoLogin routeSegments ', routeSegments);

const projectIDGetFromRoute = routeSegments[2]

this.logger.log('[AUTOLOGIN] SSO - ssoLogin projectIDGetFromRoute ', projectIDGetFromRoute);

this.getProject(projectIDGetFromRoute)


this.router.navigate([route]);

Expand Down Expand Up @@ -205,6 +207,7 @@ export class AutologinComponent implements OnInit {
}



}, () => {
this.logger.log('[AUTOLOGIN] SSO - ssoLogin getCurrentAuthenticatedUser * COMPLETE *');

Expand All @@ -222,7 +225,7 @@ export class AutologinComponent implements OnInit {
});
}




getProject(projectIDGetFromRouteIsNumber) {
Expand All @@ -240,7 +243,7 @@ export class AutologinComponent implements OnInit {
})
}





Expand Down
12 changes: 7 additions & 5 deletions src/app/auth/signup/signup.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ declare const grecaptcha: any;
import { WidgetSetUpBaseComponent } from 'app/widget_components/widget-set-up/widget-set-up-base/widget-set-up-base.component';
import { WidgetService } from 'app/services/widget.service';
import { UsersService } from 'app/services/users.service';
import { ProjectUser } from 'app/models/project-user';

type UserFields = 'email' | 'password' | 'firstName' | 'lastName' | 'terms';
type FormErrors = { [u in UserFields]: string };
Expand Down Expand Up @@ -177,11 +178,12 @@ export class SignupComponent extends WidgetSetUpBaseComponent implements OnInit,
}

getUserRole() {
this.usersService.project_user_role_bs
.subscribe((userRole) => {
this.logger.log('[SIGN-UP] - $UBSCRIPTION TO USER ROLE »»» ', userRole)
this.USER_ROLE = userRole;
})
this.usersService.projectUser_bs.subscribe((projectUser: ProjectUser) => {
this.logger.log('[SIGN-UP] - $UBSCRIPTION TO USER ROLE »»» ', projectUser)
if(projectUser){
this.USER_ROLE = projectUser.role;
}
})
}

ngAfterViewInit() {
Expand Down
18 changes: 8 additions & 10 deletions src/app/bots/bot-create/bot-create.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ import { ProjectPlanService } from 'app/services/project-plan.service';
import { UsersService } from 'app/services/users.service';
import { MatDialog } from '@angular/material/dialog';
import { ChatbotModalComponent } from '../bots-list/chatbot-modal/chatbot-modal.component';
import { ProjectUser } from 'app/models/project-user';

@Component({
selector: 'bot-create',
Expand Down Expand Up @@ -188,15 +189,12 @@ export class BotCreateComponent extends PricingBaseComponent implements OnInit {
}

getUserRole() {
this.usersService.project_user_role_bs
.pipe(
takeUntil(this.unsubscribe$)
)
.subscribe((userRole) => {

this.logger.log('[BOT-CREATE] - SUBSCRIPTION TO USER ROLE »»» ', userRole)
this.USER_ROLE = userRole;
})
this.usersService.projectUser_bs.pipe(takeUntil(this.unsubscribe$)).subscribe((projectUser: ProjectUser) => {
this.logger.log('[BOT-CREATE] - SUBSCRIPTION TO USER ROLE »»» ', projectUser)
if(projectUser){
this.USER_ROLE = projectUser.role;
}
})
}


Expand Down Expand Up @@ -350,7 +348,7 @@ export class BotCreateComponent extends PricingBaseComponent implements OnInit {
const jsonString = JSON.stringify(json)
// Check for XSS patterns
if (containsXSS(jsonString)) {
// console.log("Potential XSS attack detected!");
this.logger.log("Potential XSS attack detected!");
this.notify.showToast(this.translationMap.get('UploadedFileMayContainsDangerousCode'), 4, 'report_problem')
return;
}
Expand Down
Loading

0 comments on commit 8419a4f

Please sign in to comment.