cferrall
(cferrall)
January 20, 2025, 4:15pm
1
We recently updated the system and now we get an error when loading folders in the voicemail section of UCP. An error references transcriptionURL.
There’s a ticket in the issue tracker opened against this.
bksales
(bksales)
January 21, 2025, 5:09pm
4
I just saw this on a couple of machines. Which module is broken, can i roll it back?
kgupta
(Kapil Gupta)
January 21, 2025, 5:49pm
5
Refer to below to see the fixed module version. Thanks
opened 03:04PM - 20 Jan 25 UTC
closed 07:07AM - 21 Jan 25 UTC
bug
triage
### FreePBX Version
FreePBX 16
### Issue Description
The change to add the Tr… anscription URL to the UI requires Scribe, which when a system does not have installed, causes Voicemails not to load:

This stems from this PR:
https://github.com/FreePBX/voicemail/pull/28
### Operating Environment
FreePBX 16.0.40.1
### Relevant log output
```shell
jsphp_b95597cd3a1c6d281da3122a62f73725.js?load_version=v16.0.38.2:4526 Uncaught TypeError: Cannot read properties of undefined (reading 'transcriptionURL') at Object.controlFormatter (jsphp_b95597cd3a1c6d281da3122a62f73725.js?load_version=v16.0.38.2:4526:24) at h (jsphpg_b76ec9325a1a5caca04f28721d9cc414.js?load_version=v16.0.38.2:548:1213) at String.<anonymous> (jsphpg_b76ec9325a1a5caca04f28721d9cc414.js?load_version=v16.0.38.2:548:30129) at Function.each (jquery-3.1.1.min.js?load_version=v16.0.38.2:2:2815) at p.initBody (jsphpg_b76ec9325a1a5caca04f28721d9cc414.js?load_version=v16.0.38.2:548:29331) at p.load (jsphpg_b76ec9325a1a5caca04f28721d9cc414.js?load_version=v16.0.38.2:549:10368) at f.load (jsphpg_b76ec9325a1a5caca04f28721d9cc414.js?load_version=v16.0.38.2:567:3630) at Object.success (jsphpg_b76ec9325a1a5caca04f28721d9cc414.js?load_version=v16.0.38.2:549:3241) at i (jquery-3.1.1.min.js?load_version=v16.0.38.2:2:27983) at Object.fireWith [as resolveWith] (jquery-3.1.1.min.js?load_version=v16.0.38.2:2:28749) controlFormatter @ jsphp_b95597cd3a1c6d281da3122a62f73725.js?load_version=v16.0.38.2:4526 h @ jsphpg_b76ec9325a1a5caca04f28721d9cc414.js?load_version=v16.0.38.2:548 (anonymous) @ jsphpg_b76ec9325a1a5caca04f28721d9cc414.js?load_version=v16.0.38.2:548 each @ jquery-3.1.1.min.js?load_version=v16.0.38.2:2 p.initBody @ jsphpg_b76ec9325a1a5caca04f28721d9cc414.js?load_version=v16.0.38.2:548 p.load @ jsphpg_b76ec9325a1a5caca04f28721d9cc414.js?load_version=v16.0.38.2:549 f.load @ jsphpg_b76ec9325a1a5caca04f28721d9cc414.js?load_version=v16.0.38.2:567 success @ jsphpg_b76ec9325a1a5caca04f28721d9cc414.js?load_version=v16.0.38.2:549 i @ jquery-3.1.1.min.js?load_version=v16.0.38.2:2 fireWith @ jquery-3.1.1.min.js?load_version=v16.0.38.2:2 A @ jquery-3.1.1.min.js?load_version=v16.0.38.2:4 (anonymous) @ jquery-3.1.1.min.js?load_version=v16.0.38.2:4 load send @ jquery-3.1.1.min.js?load_version=v16.0.38.2:4 ajax @ jquery-3.1.1.min.js?load_version=v16.0.38.2:4 jQuery.ajax @ jsphpg_b76ec9325a1a5caca04f28721d9cc414.js?load_version=v16.0.38.2:21 p.initServer @ jsphpg_b76ec9325a1a5caca04f28721d9cc414.js?load_version=v16.0.38.2:549 l.initServer @ jsphpg_b76ec9325a1a5caca04f28721d9cc414.js?load_version=v16.0.38.2:558 p.init @ jsphpg_b76ec9325a1a5caca04f28721d9cc414.js?load_version=v16.0.38.2:548 l.init @ jsphpg_b76ec9325a1a5caca04f28721d9cc414.js?load_version=v16.0.38.2:558 i.init @ jsphpg_b76ec9325a1a5caca04f28721d9cc414.js?load_version=v16.0.38.2:575 p @ jsphpg_b76ec9325a1a5caca04f28721d9cc414.js?load_version=v16.0.38.2:548 (anonymous) @ jsphpg_b76ec9325a1a5caca04f28721d9cc414.js?load_version=v16.0.38.2:549 each @ jquery-3.1.1.min.js?load_version=v16.0.38.2:2 each @ jquery-3.1.1.min.js?load_version=v16.0.38.2:2 a.fn.bootstrapTable @ jsphpg_b76ec9325a1a5caca04f28721d9cc414.js?load_version=v16.0.38.2:549 setupBootstrapTable @ jsphpg_b76ec9325a1a5caca04f28721d9cc414.js?load_version=v16.0.38.2:2685 (anonymous) @ jsphpg_b76ec9325a1a5caca04f28721d9cc414.js?load_version=v16.0.38.2:2686 each @ jquery-3.1.1.min.js?load_version=v16.0.38.2:2 each @ jquery-3.1.1.min.js?load_version=v16.0.38.2:2 (anonymous) @ jsphpg_b76ec9325a1a5caca04f28721d9cc414.js?load_version=v16.0.38.2:2686 dispatch @ jquery-3.1.1.min.js?load_version=v16.0.38.2:3 q.handle @ jquery-3.1.1.min.js?load_version=v16.0.38.2:3 trigger @ jquery-3.1.1.min.js?load_version=v16.0.38.2:4 (anonymous) @ jquery-3.1.1.min.js?load_version=v16.0.38.2:4 each @ jquery-3.1.1.min.js?load_version=v16.0.38.2:2 each @ jquery-3.1.1.min.js?load_version=v16.0.38.2:2 trigger @ jquery-3.1.1.min.js?load_version=v16.0.38.2:4 (anonymous) @ jsphp_b95597cd3a1c6d281da3122a62f73725.js?load_version=v16.0.38.2:4954 (anonymous) @ jsphp_b95597cd3a1c6d281da3122a62f73725.js?load_version=v16.0.38.2:6001 i @ jquery-3.1.1.min.js?load_version=v16.0.38.2:2 fireWith @ jquery-3.1.1.min.js?load_version=v16.0.38.2:2 A @ jquery-3.1.1.min.js?load_version=v16.0.38.2:4 (anonymous) @ jquery-3.1.1.min.js?load_version=v16.0.38.2:4 load send @ jquery-3.1.1.min.js?load_version=v16.0.38.2:4 ajax @ jquery-3.1.1.min.js?load_version=v16.0.38.2:4 jQuery.ajax @ jsphpg_b76ec9325a1a5caca04f28721d9cc414.js?load_version=v16.0.38.2:21 r.<computed> @ jquery-3.1.1.min.js?load_version=v16.0.38.2:4 getWidgetContent @ jsphp_b95597cd3a1c6d281da3122a62f73725.js?load_version=v16.0.38.2:5977 (anonymous) @ jsphp_b95597cd3a1c6d281da3122a62f73725.js?load_version=v16.0.38.2:4951 each @ jquery-3.1.1.min.js?load_version=v16.0.38.2:2 loadDashboard @ jsphp_b95597cd3a1c6d281da3122a62f73725.js?load_version=v16.0.38.2:4942 ready @ jsphp_b95597cd3a1c6d281da3122a62f73725.js?load_version=v16.0.38.2:4802 (anonymous) @ jsphpg_b76ec9325a1a5caca04f28721d9cc414.js?load_version=v16.0.38.2:2688 each @ jquery-3.1.1.min.js?load_version=v16.0.38.2:2 callModulesByMethod @ jsphpg_b76ec9325a1a5caca04f28721d9cc414.js?load_version=v16.0.38.2:2688 ready @ jsphpg_b76ec9325a1a5caca04f28721d9cc414.js?load_version=v16.0.38.2:2686 (anonymous) @ jsphpg_b76ec9325a1a5caca04f28721d9cc414.js?load_version=v16.0.38.2:2716 j @ jquery-3.1.1.min.js?load_version=v16.0.38.2:2 k @ jquery-3.1.1.min.js?load_version=v16.0.38.2:2 setTimeout (anonymous) @ jquery-3.1.1.min.js?load_version=v16.0.38.2:2 i @ jquery-3.1.1.min.js?load_version=v16.0.38.2:2 fireWith @ jquery-3.1.1.min.js?load_version=v16.0.38.2:2 fire @ jquery-3.1.1.min.js?load_version=v16.0.38.2:2 i @ jquery-3.1.1.min.js?load_version=v16.0.38.2:2 fireWith @ jquery-3.1.1.min.js?load_version=v16.0.38.2:2 ready @ jquery-3.1.1.min.js?load_version=v16.0.38.2:2 R @ jquery-3.1.1.min.js?load_version=v16.0.38.2:3 jsphp_b95597cd3a1c6d281da3122a62f73725.js?load_version=v16.0.38.2:4526 Uncaught TypeError: Cannot read properties of undefined (reading 'transcriptionURL') at Object.controlFormatter (jsphp_b95597cd3a1c6d281da3122a62f73725.js?load_version=v16.0.38.2:4526:24) at h (jsphpg_b76ec9325a1a5caca04f28721d9cc414.js?load_version=v16.0.38.2:548:1213) at String.<anonymous> (jsphpg_b76ec9325a1a5caca04f28721d9cc414.js?load_version=v16.0.38.2:548:30129) at Function.each (jquery-3.1.1.min.js?load_version=v16.0.38.2:2:2815) at p.initBody (jsphpg_b76ec9325a1a5caca04f28721d9cc414.js?load_version=v16.0.38.2:548:29331) at p.load (jsphpg_b76ec9325a1a5caca04f28721d9cc414.js?load_version=v16.0.38.2:549:10368) at f.load (jsphpg_b76ec9325a1a5caca04f28721d9cc414.js?load_version=v16.0.38.2:567:3630) at Object.success (jsphpg_b76ec9325a1a5caca04f28721d9cc414.js?load_version=v16.0.38.2:549:3241) at i (jquery-3.1.1.min.js?load_version=v16.0.38.2:2:27983) at Object.fireWith [as resolveWith] (jquery-3.1.1.min.js?load_version=v16.0.38.2:2:28749)
```
1 Like
@kgupta Once again this is an internal update not following the same standards we’re told that need to be followed for this. Also, taking the major time zone difference into account, when this bug was filed the turn around for the fix, testing and QA is very suspect.
The bug was filed at 10:54 AM EST Jan 20th and by 2:47 AM EST Jan 21st it was completed and pushed out to v15, v16 and v17. Not just one module but two (voicemail and cdr). The issue was assigned to a developer at 12:03 AM EST Jan 21st and was fully completed and ready for consumption less than three hours later.
We are being told there is reviews, testing and QA for these things but this is a fast turn around fix for an issue introduced in the previous release that proper reviews, testing and QA would have caught. How can something be reviewed, tested and QA’d across three version releases and be ready for the public in under three hours?
At this point with the amount of bugs (and honestly many being really low level) I believe it would be more beneficial if the Sangoma dev team followed the same stricter standards someone like me has to and actually make PRs that go through an approval process that is transparent and open to us.
2 Likes
tonyclewis
(Tony Lewis)
January 21, 2025, 7:27pm
8
What QA? No QA was done here based on the time lines.