Our nightly tests flagged the fact that
the feature was unstable and unrealiable.
Changes:
* Extract subscriber phonebook api and state
* Change direct use of http in the sub-phonebook
method to use the relevant method in common.js
* Simplify logic to PATCH single properties
with a unique PUT in the Phonebook entry form
* Amend getList, handleResponseError and
put to allow use with API v2 endpoints
* Amend translations and methods to replace
"phonebook" with "phonebook entry" where
necessary
Change-Id: I189d45fe426a1ded400a251d7efdfa72f76f9061
(cherry picked from commit ff40864da0)
- Keep callNumberInput getter returning full input for display purposes
- Use callNumberNormalized getter to strip domain before making calls
- Add callNumberNormalized to component's mapped getters
- Update startCall validation to use normalized number
Change-Id: I4172a4f426bf7f827e3ff717a901b8a64f4264d1
(cherry picked from commit afd3e09d55)
This reverts commit b70ea928dd.
NGCP-Flow: mr12.5
Reason for revert: The new Quasar is struggling to resolve assets path's and crashes the app.
Change-Id: Id4d53d9f660c02c77642c0e5feb455caa0b56a81
The custom announcements were not showing in
the CF menu under the PBXGroup section
because the action to load the announcements
was missing from the mounting hook.
Change-Id: I5813f2ce4471aa5a51ebc08ed3cdc08bde16b931
(cherry picked from commit acd9d84724)
Trickle ICE candidate updates were not sent through
to kamailio/rtpengine. This was happening because
there was not ICE configuration.
Change-Id: I2a3ae1ab92ac9d6e766bd46915930fd553a6ff26
(cherry picked from commit ed162e8e56)
This update introduced many breaking changes.
Listed here the most important ones:
* quasar.conf.js file has been renamed
quasar.config.js.
* Quasar v4 replaced the old /src/index.template.html
with a new /index.html at the root of the project.
The special comment <!-- quasar:entry-point -->
is used to inject scripts/styles automatically.
* Use setupMiddlewares instead of onBeforeSetupMiddleware.
* proxy is now an array of proxy config objects.
* Dropped support for Vuex. We can still use Vuex as any
Vue plugin, but we have to manage everything (installing the
store, no store parameter in boot files, etc.).
We'll migrate to Pinia asap.
* Updated postcssrc according to docs
Change-Id: I585a3e2d17f666d9ca2773fa446d644f0fc201a2
(cherry picked from commit 72d36d22ab)
* Run yarn outdated and run through the list
to upgrade all libs but @quasar/app-webpack
and related libs. this will be done in a
separate commit.
* Remove parseuri because it is not used anywhere
in fact the project has a custom SIP URI parsing
implementation in sip-uri-parse.js.
* Remove jwt-decode because it is not used in fact
JWT decoding is manually implemented using native
browser functions.
* Updating to glob@11 where the glob.sync() method
is no longer accessible, but requires to be
imported directly from globModule.
* Remove eventsource:
- No Direct Usage: I could not find any direct imports,
requires, or uses of the eventsource package or
EventSource APIs in the codebase.
- Security Updates: The package was updated on
January 11, 2023, from version 1.1.1 to 2.0.2 as
part of a security updates (MT#56339).
- No Indirect Dependencies: The yarn why eventsource
command confirmed that no other packages depend on
eventsource.
- No Build Process Integration: I didn't find any
references to eventsource in the build config files
or webpack configurations.
- No SSE Implementation: While we handle media streams
for calls, in my understanding they use WebRTC or
similar technologies, not Server-Sent Events which,
in my understanding, is what eventsource is designed
for.
* Remove eslint-plugin-standard as it's not longer needed
by standard and eslint-config-standard.
* Upgrading eslint-plugin-vue required adding
vue-eslint-parser as a peer dependency and
required some changes to since new warnings.
Change-Id: I8f582275ae344f0ede7520136deba30c4d94ffd7
(cherry picked from commit bc75777bae)
Migrating from ^8.10.0 to 9.14.0 had breaking changes.
* We moved to a flat configuration and changed the amended the script to run lint.
* We upgraded all eslint relevant libraries/plugins.
* We opened another ticket to review all the console.log/debug/info present in the repo.
Change-Id: Ie1e2c1ef49fc09cddbd9cc639505a1a65917bd35
(cherry picked from commit e935071c95)
* Adds new messages for CE users to replace the
"No Calls, Voicemails or Faxes found" greeting
and "Calls, Faxes, VoiceMails" submenu item with
"No Calls or Voicemails found" and "Calls, VoiceMails"
respectively
* Adds translations for both the "No Calls or Voicemails found"
and "Calls, VoiceMails" messages
* Fixes typo in the word occurred on en.json
* Fixes some French and Spanish translation errors
* Fixes the call Cost formatting under CscCallItem.vue
Change-Id: I0da1dbf78ea1a609a0e1861fa1c14ee41a41d563
(cherry picked from commit 4d92ef013e)
The issue was caused by a conditional(v-if=!menuMinimized) inside the <q-toolbar>.
menuMinimized property controls whether the side menu is collapsed
or expanded and affects multiple components.
When it changes (on hover or pin toggle), the layout width updates,
which can trigger the ResizeObserver.
Using v-if was recreating/destroying the element each time,
causing unnecessary layout recalculations.
The solution is to replace it with v-show="!menuPinned" which keeps
the element in the DOM (only toggles display), preventing extra
ResizeObserver triggers and making transitions smoother.
Change-Id: I2e544bb0451cc6a17a4bbeaf482ce678173adcd4
(cherry picked from commit 69e43c898e)
This commit disables subscriber phonebook in CE platforms
as the header manipulation and phonebook are only pro/carrier
features.
Change-Id: Icb5ceec69f675fbac61e9daf81698c81d0c8c28d
(cherry picked from commit 31fa24a8c9)
Fixed an issue where the component tried to access the `id` property
of `this.groupSelected` when it was undefined. This happened because
the state gets cleared on refresh, and the component didn't have a
check to reload the necessary resources.
- Added check to ensure resources are reloaded if state is cleared
- Prevent accessing `id` of undefined in the component
Change-Id: Ib6b669df87d255cf174254b32fa1c451d0901f73
(cherry picked from commit 4e72e67697)
The PBX seat page was crashing because v2 calls always return
unauthorized. An investigation is ongoing to determine whether
NCOS seat should be accessed by subscriber. In the meantime,
errors are handled gracefully so the user can continue using
the app.
Change-Id: Ie4ce6c7970815b448f406bb5e64aeefda348aeed
(cherry picked from commit f34d8e153d)
In CscPageCallRecording a watch function was directly
modifying the Vuex state, which is not allowed in
strict mode. This change ensures that each recording
object is cloned before modification, preventing
unintended mutations of store data.
Change-Id: Ie564da2ce31bd61772a05450be21a9a0717632ef
(cherry picked from commit abc25dc49c)
- Verify and correct route access for admin-only CSC pages
- Update route guard logic to support:
* User role (admin / non-admin)
* Exact match on user profile attribute
* Presence of one or more profile attributes
* Required licenses (all must exist)
* Exact platfom feature
* Exact capability match
- Ensure route guards match menu visibility restrictions
- Document route guards and menu visibility logic
- Note: for fax settings, we use the extra variable
`isFaxServerSettingsActive` to determine whether the toggle
in the fax server menu should be on or off.
Change-Id: Id60a0e8b2145701ed4ae52d0859da46172076a89
(cherry picked from commit 2b46170467)
Previously, the arrays for weekdays and months didn’t match
the values used in admin-ui (Sunday=1, Saturday=7, January=1,
December=12). This commit updates the calculation function
to match admin-ui conventions, ensuring consistency since
the data originates from the admin panel and is read-only here.
Change-Id: I121c18ffb901beaece19124865b88259ffcb2d3f
(cherry picked from commit 2afefb8048)
This reverts commit 694d697ac7.
NGCP-Flow: mr12.5
Reason for revert: Feature available from 13.5.X
Change-Id: Ide7b1998b3d4b0295acfc1c1a80d556358abbd26
Updated access rules for ADMIN subscribers:
- "Fax Settings > Mail to Fax" is now always visible.
* Admin users: The "ACTIVE" toggle can be changed,
and content is editable.
* Non-Admin users: The "ACTIVE" toggle cannot be changed,
and content is editable.
- "PBX Configuration > Seats > ID > Fax Settings > Mail to Fax" is
now always visible
* Admin users: The "ACTIVE" toggle can now be changed,
and content is editable.
* Non-Admin users: menu not visible
Change-Id: I1f30be27fde8a20092d8321e128f5d27dceec734
(cherry picked from commit bd086f4ca1)
After improving the handling of long words with
commit 0340bd7e3c
The csc_Call bar was misplaced a few pixels.
This commit aligns it to the menu column
to avoid any overlapping.
Change-Id: Ic8f8c6bbfa11bb3190c93612562dfc6b4a4b0055
(cherry picked from commit b503fe95cc)
Removed `&` from symbols to avoid invalid
characters in generated passwords
Change-Id: Iea37ad73e22df4d35b3834e713308a9b0605c252
(cherry picked from commit 2c548413a4)
When the German translation is on, long words
are not readable without moving the side bar.
This commit increases the size of the side
menu and reduces the indent of sub-menus
Change-Id: Idb09587fe58907347f2461d6adc9a2a2706125b7
(cherry picked from commit 0340bd7e3c)
Listed here the changes:
- change properties accessed directly
from state with computed properties
that handles null cases
- Fix typos for subcriberListState
and subcriberListError
- Improve route watcher in
CscPagePbxDeviceDetails
- add a method to load only thumbnails
instead of full set of data for
the device profiles to improve
performance.
- removed 1000 rows for loadProfiles()
as it was too slow. We expect max 150
devices so it was set to 300 rows.
Note, more refactoring will be needed.
Change-Id: Iefe0328052174f0bb93f8cdbae59f77257592592
(cherry picked from commit d8c1f097cc)
The Send Fax icon was displayed in the PBX Configuration
even when the functionality was not enabled in the fax settings.
This was caused by the ability to activate
the feature at the seat or group level.
The logic has been corrected, and the Send Fax functionality
now appears only when it is properly enabled for the user.
Change-Id: I02358f12eaf1a5543d2c6552e21d4452c56acdc6
(cherry picked from commit dcfecc4327)
If a pilot admin subscriber tries to change
the After Ring timeout for CFU set on one
of the seats, the CF config crashes
and change is not applied. This happens
because we are not passing the
subscriber_id of the Seat. In fact the
change in the CF is applied to the logged
in user instead. In this commit we pass
the subscriber_id attribute down the three
and improve the error handling.
Change-Id: I27b34a095263d18ca8d00b98bc3a528b4ee35f42
(cherry picked from commit f80f5974a0)
Two switch buttons added to group details as for seats.
These buttons update play_announce_before_call_setup and play_announce_before_cf preferences.
Change-Id: I230b9a8d62b34a2e013a326ad4d50403b82d824a
(cherry picked from commit 6e70eb898b)
Change "Weiterleitung" to "Rufumleitung" which make more sense in our system.
Change-Id: Ia0d35efa94d395531e2e690fec647852b6c4c2ca
(cherry picked from commit ec610a9596)
CSC-UI has been changed so that, during a blind transfer, the
Referred-By header is customized with local identity URI.
Without this customisation, jssip puts blindly the subscriber username
which is not always what kamailio proxy expects.
Having correct Referred-By header is important because kamailio proxy
uses this header in order to identify the transferor in a blind transfer call.
In particular, kamailio proxy checks if Referred-By matches custom header
P-Xfer-Firstcall-Callee-To, in this case B is recogized as transferor.
Change-Id: If149b34c16a5dc13116f8fea9a6d8046498753cd
(cherry picked from commit ad870c279e)
App was crashing when user was refreshing
page on page /pbx-configuration/device/${id}
This happens because the logic to load all
necessary resources is a bit tangled. This
commit attempts to tidy up things without
inserting breaking changes.
Change-Id: I868678fcc6ed181697a5f3825d41940429785375
(cherry picked from commit e314c96c3c)
Change "if available" to "Always" which make more sense in our system.
Change-Id: I5f5d7a91d18127abd4e8bc389de69feca0a43075
(cherry picked from commit 1bff29a08f)
UI modified to clearly show the "After Ring
Timeout" as unique parameter that is
editable in one place only.
Change-Id: Ieadc2c255ad8977664c2288269cef6c1a8da5b72
(cherry picked from commit 6bd7d4710c)
Allow subscriber administrator to configure the devices
admin password from CSC.
Change-Id: I2919f749704e421ebc22eb82de3e9ed956dd5b40
(cherry picked from commit 30d4b44aea)
- The ban error is now handled, and an error message is displayed
when a user is banned.
- The translation of the error message has been added.
Change-Id: I3fc4c8d18136f4954b2cb9ccd7b896688e0f20de
(cherry picked from commit d0308acabe)
The device alignment image is outside
of the screen view. This commit changes
the alignement of the page to have
all the content displayed without
lateral scrolling.
Change-Id: I6bfd5d23730544e22b7842b9ee005f6c3455e010
(cherry picked from commit 9b2b811dcb)
Resolved an issue where item lists on the
dashboard would overflow the container borders
when containing many items. The updated logic
limits the visible items to the 5 most recent,
ensuring proper layout and improved UI
consistency.
Change-Id: I50ee8ed9e5b8d68abc77ae17ca4273320d2c6daa
(cherry picked from commit 1b70f20ee2)
When a PBX Seat user tries to delete a sorce set that
was previously added by a PBX admin the backend
return an error as the entity doesn't belong to the
Seat user. In this scenario the source set is not
delete from the DB and it is removed from the relevant
mapping. The missing try/catch didn't allow the
code to reload the updated resources to show the
changes.
NGCP-Flow: mr12.5
Change-Id: I2862d5922aa1df99d11b2d6d58dcd8e161160253
/api/faxes endpoint was returning a 422 error
Uprocessable content. This commit
amends the payload to match what is in the
APIv1 documentation (old docs)
Change-Id: Ib8d9c0ec41e1e1a18bbe503db711b55e5f66e050
(cherry picked from commit 47d4627980)
Bin icon misplaced bug fixed by changing the
css class. This commit also improve input
behaviors. With the Vue 3 migration it seems
that $atts doesn't overwrite binded attributes
anymore, so we had two clear buttons on inputs.
To prevent this the following steps have been
taken:
* custom clear button is switched on only when
the attribute "value" is used.
* native clear button is switched on in all
other cases
This should avoid adding regressions.
Change-Id: I39f41ce8d461efc5eff5c7e541d227dbfd6c667d
(cherry picked from commit b13bf52a45)