Call drops few seconds after display turns off when connected to wired headset

Description
Calls are dropping few seconds after the device display turns off.
That happens only while connected to wired headphones.
In Twilio console I see the following error : Call is terminated due to RTP timeout. No audio received from callee
The audio from both sides of the call works well until the call drops.
Steps to Reproduce

Connect wired headphone to iPhone.

Expected Behavior
I expect call to continue, no matter the status of the display, or which headphone I use.
Reproduces How Often
100%
Logs
From Twilio console:
Msg | "Call is terminated due to RTP timeout. No audio received from callee."
ErrorCode | "32014"
LogLevel | "WARN"

Voice iOS SDK
5.0.0 via CocoaPods
Xcode
11.4
iOS Version
13.4.1
iOS Device
iPhone Xs

Hi @rakefetWorkiz
Thanks for reaching out.
Is it possible for you to provide SDK log (.trace level would be the best) or the Twilio Call SID when this happens?
The RTP timeout error that caused the call to be disconnected is a mechanism we use to detect if no audio is received from the call participants for longer than a minute.
Couple of questions to help us debug the issue:

Does the call stay connected if the device is not locked?
Does this happen using the quickstart?

Cheers,
-bobie

Hi @bchen-twilio
This was reproduced on production, so it kinda hard for me to get you the log.
Call SID for example would be : CAb9d6e2c8f753d1ad7da2aa732da698e0
as for you questions,

if the device is not locked the call wouldn't drop.
and if the device is is connected to bluetooth headset or if the device is not connected to any headset - the call also won't drop.

this is happening with code copied from the quickstart into our app code.

Hi @rakefetWorkiz
Thanks for the update!
I have checked the Call SID and from it I didn't see any signs of audio or network quality issues that could have caused the problem.
It sounds like this probably is happening particularly with the wired headset. Is it possible to gather more information about the headset? It would be great if we can try that and see if we can reproduce in your dev environment.
-bobie

Thanks @bchen-twilio
I will give it a try tomorrow in dev, and update here with a log.

@bchen-twilio
I can't do it dev mode, because the second the screen locks, it looses connection with xcode, and disconnect the call, even if I don't use headphones. So the only log I get is the that app went to background..

Hi @rakefetWorkiz
When you lock the device during an active call, did you receive the provider:performEndCallAction: callback from CallKit?

Hi @bchen-twilio
I appreciate you help, and sorry about the delay
I have tried in many different ways, but couldn't reproduce it in dev env. either the call drops the second I turn off the screen, with no CallKit callbacks logs, and connection to xcode disappears, or the call go through with no issue.
But it still reproduces in production. every time.
here are some more details.
I am making a call out.
about 25 seconds after the other side answer the call and the call starts, my screen locks.
about 10 seconds later - the call disconnects in my end.
in the other end (the receiver) the call continues for about another minute, getting no sound from my end.
then the call disconnects.
above that - when I go the those calls recording (both numbers are Twilio, and all calls are recorded),
the recording of both calls (outgoing & incoming) go all the way to the end of the call.
but from the second the call mysteriously disconnected on my side - the sound of the call is only from the other side of the call. (continuing for a minute on both recordings)
new call SID example: CAd5f0ae94e13121191e58ab39fa16aebc
the call was disconnected around 1:15 in this call.
I kept talking from the other side, thinking maybe there is just no voice input, and voice output still works, but all the sound in the rest of the call comes from the other end of the call.
any idea what could cause that and how I could solve it?

Thanks for the update @rakefetWorkiz
From the description, it seems like the app is suspended by iOS when you lock the device and the app is backgrounded (resigned from active state).
I used the quickstart and tried the steps, but when I locked the screen CallKit disconnected the active call and the other side of the call was also disconnected. Can you replace the credentials and let us know the behavior when you run the quickstart in your environment?

@bchen-twilio
Thank you again for you help :)
I tried running the quickstart, and had no issues.
when I run my app now with release scheme, I can see the app gets killed few seconds after it goes to the background.
the only suspicious messages I got are :
2020-05-24 17:35:00.743784+0300 workiz[1167:320854] AVAudioSession setAggregatedIOPreference:error: Error Domain=NSOSStatusErrorDomain Code=560030580 "(null)"
(^ I get that right after the call connects)
Message from debugger: Terminated due to signal 9
(^ I get that when the call disconnects , and the app gets killed.. )
I have Sentry in my app to track crashes - and I get no crash report on that :-/
I read that Terminated due to signal 9 usually shows up when there is a memory leak in the app. but the only task I have in background is this call, that is managed same way you do in the quickstart.
Even updated my app to use Twilio SDK 5.3.1 (instead of 5.0.0), to be up to date, but it didn't change much.

Hi @rakefetWorkiz
Sorry for the delay of getting back to you.
Is it possible for you to use the Mac OS Console app to see if anything related logged when this happens? You just have to connect the device and you should be able to view the system log of the device. It can be a lot of debugging messages but sometimes some of them are quite informative.

Hi @bchen-twilio
I never knew about the option Mac OS Console app  😅(I am a react native developer, and really new to iOS / swift developing .. ) , So first of all, thanks for this tip!
So when filtering logs to "Errors" , I get those messages :
When call starts:
Process: mediaserverd.
Message: AudioSessionServerImp.cpp:268:TranslateCMSessionErrorCode: { "action":"set_property", "error":"translating CM session error", "session":{"ID":"0x22402","PID":635,"name":"workiz"}, "details":{"calling_line":2929,"error_code":-16983,"error_string":"Operation denied. IO currently running"} }
When call terminated in the background
Process: runningboardd .
Message:  RBSStateCapture remove item called for untracked item <RBProcessMonitorObserver: 0x10131e8f0; <RBProcess: 0x100d473e0; 635; identity: application<com.workizeasy>>; configCount: 0>

Thanks for the update @rakefetWorkiz.
While I could not identify what could have caused the app being terminated from the error messages, we might need you to broader the search in all levels of device logs. What also makes me wonder is that you mentioned that this does happen in the quickstart sample app we provide - did you check the background capability configuration in Xcode between the apps and find out any difference in settings or perhaps audio related implementation?

@bchen-twilio
I just spent about 8 hours comparing the quickstart & my code,
and It's all the same.
I have in background mode all these capabilities:
	<key>UIBackgroundModes</key>
	<array>
		<string>audio</string>
		<string>fetch</string>
		<string>location</string>
		<string>processing</string>
		<string>remote-notification</string>
		<string>voip</string>
	</array>

I even written again the whole Twilio section in my app, just to make sure I am using the same & updated code..
That didn't help.
The app still gets killed after few seconds in background.
I had the same issue with the android app, that was killed by android after going to background while in call.
I managed to solve it in android having reported to the OS of ongoing service in background.
But I can't find a way to do the same in iOS. or to report in anyway to the OS that this is an important process, so it won't get killed..

Thanks again for the update.
I totally understand the pain going back & forth and inside out but still can't locate the problem.
I went back to the beginning of this thread and was wondering - is it still true that this only happens when using headsets or a specific headset?

Hi @rakefetWorkiz
How are things going on your end? In case the issue is still bugging you, I do have a hunch and here is my theory - in the original description you use the device lock button to turn off the display, and with CallKit integrated this will trigger an end-call action. In previous versions, the entire disconnect process might end prematurely as soon as the audio stopped flowing and the app will be move to the suspended states or even terminated. Since the flow is ended too soon, the call connection is not torn down completely.
Can you try and see if the experience is improved with the latest 5.3.1 SDK? We have added a background-task wrapper to guarantee SDK operation can finish before the app is transitioned to the suspended state.
Thanks.

Hi  @bchen-twilio
Originally - when I thought the issue was just with with wired headset - I didn't use the the device lock button, but waited for the device to lock itself. (that was back when I still used 5.0.0 SDK)
I upgraded to 5.3.1 few days ago, and re-copied the code from the getting started. but after I that I started experiencing this issue whenever app is moving to background (with no regard to the headset I use or don't)
But I can't be sure this is related for the version, as I could still reproduce it with my production version - that was still 5.0.0.
(Maybe iOS updated that I didn't notice.. idk..)
As for the background task wrapper you mentioned - should I add something in the code for that to work?
Or the fact that I upgraded the SDK should do the trick?
I did try to learn how to use background-task in swift (that is the fix I used for android), but couldn't find anything helpfull
Thank you

Hi @rakefetWorkiz
Sorry for the delay of getting back to you.
The background task we did in the SDK is to make sure the invite.reject() or call.disconnect() operation can finish before the system puts the app to the suspended mode when no background audio is flowing.
If the call audio stops when you simply put the app to the background, then I would suggest that you take a look at the project setting, especially the raw xml format of the xcode project file and compare the background capability configuration with the quickstart since you mentioned that call audio works fine in your environment with the quickstart sample app.

@bchen-twilio
Hi :)
As I wrote before - I have the same background capabilities, and a little more.
This is from my app:
        <key>UIBackgroundModes</key>
	<array>
		<string>audio</string>
		<string>fetch</string>
		<string>location</string>
		<string>remote-notification</string>
		<string>voip</string>
	</array>

This is from the Quickstart:
        <key>UIBackgroundModes</key>
	<array>
		<string>audio</string>
		<string>voip</string>
	</array>

hi @bchen-twilio
I am happy to report that I found the source of the issue :)
We had a UI component that was trying to render animation while the is in background..
That caused a memory leak, and combined with the call in the background - ios killed the app
Fixed that
Thank you very much for all the help!

Hi @rakefetWorkiz
Glad to hear the issue is resolved.
If it's possible, would you share the rendering part of the code? I am wondering if this is worth adding some test cases in the SDK for validation.
I will close the ticket since the original issue has been resolve, but please feel free to reach out to the team anytime.
-bobie


update \s+tag: (.*) to 0.0.5

UpdateBot pushed regex: \s+tag: (.*) to: 0.0.5

/test this
/approve

UpdateBot commands:
updatebot push-version --regex \s+tag: (.*) --value 0.0.5 --exclude --previous-line \s+ repository: activiti/activiti-modeling-app charts/activiti-cloud-modeling/values.yaml

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.jenkins-x-bot seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Using a SELECT tag to create a multiple selection dropdown with remote data doesn't not work correctly in version 2.2.X

Using a SELECT tag to create a multiple selection dropdown with remote data doesn't not work correctly in version 2.2.X
After selecting a menu option, all menu options are removed (instead of filtering the selection).
Also, the Values of the selected options are being displayed in the menu instead of the Name or Text.
A multiple selection dropdown constructed of a DIV tags with remote data works as expected.
This is a version 2.2.2 example showing the SELECT issue:
http://jsfiddle.net/kmd1970/0dkceayx/
This is a version 2.1.6 example with both working correctly.
http://jsfiddle.net/kmd1970/vuc3zf90/

I can confirm theres something fishy

https://github.com/Semantic-Org/Semantic-UI/issues/4226

This has been fixed in 2.23, either from #4344 or #4316


sqlsrv_fetch_object modifies full qualified class names

sqlsrv_fetch_object modifies the full qualified class names of the supplied class.
The following PHP Code
<?php

namespace Doctrine\Tests\DBAL\Functional;

class A {
    public $accountNumber;
}

$idx = array_search(__NAMESPACE__.'\\A',get_declared_classes());
echo "orig class ".__NAMESPACE__.'\\A'." exits: ".(class_exists(__NAMESPACE__.'\\A')?'yes':'no').PHP_EOL;
echo "lower class ".strtolower(__NAMESPACE__.'\\A')." exits: ".(class_exists(strtolower(__NAMESPACE__.'\\A'))?'yes':'no').PHP_EOL;
echo 'BEFORE:  '.get_declared_classes()[$idx].PHP_EOL;

$serverName        = "<IP_ADDRESS>";
$connectionOptions = ["Database" => "AdventureWorks2016CTP3", "Uid" => "test", "PWD" => 'test'];

$conn = sqlsrv_connect( $serverName, $connectionOptions);
if($conn === false) {
    die(print_r(sqlsrv_errors(), true));
}

$sql = "SELECT [AccountNumber] FROM Sales.Customer";
$stmt = sqlsrv_query( $conn, $sql);
if($stmt === false ) {
    die(print_r(sqlsrv_errors(), true));
}

$obj = sqlsrv_fetch_object($stmt, __NAMESPACE__.'\\A');

echo "orig class ".__NAMESPACE__.'\\A'." exits: ".(class_exists(__NAMESPACE__.'\\A')?'yes':'no').PHP_EOL;
echo "lower class ".strtolower(__NAMESPACE__.'\\A')." exits: ".(class_exists(strtolower(__NAMESPACE__.'\\A'))?'yes':'no').PHP_EOL;
echo 'AFTER:  '.get_declared_classes()[$idx].PHP_EOL;

produces on Ubuntu 16.04 PHP 7.0.9-1+deb.sury.org~xenial+1 (cli) ( NTS ) with sqlsrv driver version 4.0.2 following output:
orig class Doctrine\Tests\DBAL\Functional\A exits: yes
lower class doctrine\tests\dbal\functional\a exits: yes
BEFORE:  Doctrine\Tests\DBAL\Functional\A
orig class Doctrine\Tests\DBAL\Functional\A exits: no
lower class doctrine\tests\dbal\functional\a exits: yes
AFTER:  doctrine\tests\dbal\functional\a

as you can see, the full qualified class name changed completely to lowercase and class_exists is unable to find the class with its original name! 😵
Unfortunately, the source code of the Linux version isn't release yet, but I'm persuaded that the bug also exists on Windows, for PHP5 and PHP7.
I suspect the line https://github.com/Azure/msphpsql/blob/PHP-7.0/sqlsrv/stmt.cpp#L797 is causing the problem, because the lowercase class name is create here and used in https://github.com/Azure/msphpsql/blob/PHP-7.0/sqlsrv/stmt.cpp#L825 to instantiate the corresponding object.
Since zend_lookup_class which is called in https://github.com/Azure/msphpsql/blob/PHP-7.0/sqlsrv/stmt.cpp#L816 is using the lower cased class name internally, it's not required to call it with a lower cased class name.
I would recommend to use in sqlsrv_fetch_object the class name, spelled as returned from get_declared_classes.

$obj = sqlsrv_fetch_object($stmt, 'Exception');

throw new \Exception("fail");

will produce a nice segmentation fault 🎉

@xalopp good catch. We will look into this to see what is going on. Will keep you posted.

Fixed by #147


Property isShadowed always returns false

The property isShadowed is always returning false when trying to access it from Listener method onCellClick()
This is my implementation:
override fun onCellClicked(cellView: RecyclerView.ViewHolder, column: Int, row: Int) {
    cellView as CellViewHolder
    if (cellView.isShadowed) {
            listener.onCellClick(summaryList[row].transaction?.id!!)
    }

}

Hi @MagoMtzAl
You are checking the state on the wrong place and wrong time. That's why you get always false. Because when any cell is clicked, the SelectionState of the cell is not SelectionState.SHADOWED.
I would recommend you to check the selection handler class to understand in which case, the status of a cell becomes SelectionState.SHADOWED.


Not working with Foundry's MeasureTemplate anymore.

I recently updated to v11 and the metric labels seem to not work with the templates anymore.
I have deactivate all other modules and created fresh worlds, but nothing changes.

Yep known issue... i found the issue already ... but currently some private stuff going on... maybe i find an hour on the weekend to fix it.
Sorry for the issue... wanted to fix it for weeks already :/

Hi there, hope your private stuff is okay.
Do you intend to fix this problem in the near future or can you give some pointers to what is wrong so maybe I could try a bandaid fix for my installation?

@GoryFate Heyho.... yah its okay enough i guess...
i have a long weekend, so i think you can expect a fix by the end of this month :) Sorry for the long delay and thx for using this module :)

Alright... will do some final testing tomorrow, so that i am sure i didnt fucked up something different :D @GoryFate  So  if everything goes well you will have a new release on friday :)

Found another issue that my fix caused yesterday... will fix work on that this evening... Sorry for the spam here but wanna keep you updated, since this is open for so long.
Sry for the delay :)

Aaaaaalrighty.... fixed it... will get some food now and then a new version update :) @GoryFate @greengaby9

@GoryFate @greengaby9 ... Version 3.1.8 is out :) Let me know if it works for you. Again sorry for the delay. Was alot going on. :(


Parse server Dashboard

Hello
When Parse server will support Admin Dashboard ?
Regards

@thamer898 see #3 it's in progress and likely to be in a separate repository!

@flovilmart thank you very much but do you now any encryption method for parse server to encrypt files and any folers ?

What do you mean by that? I don't believe it's in the plans. you can use the beforeSave hooks to encrypt the data you're storing, but you won't be able to execute queries on the values then.


Example app iOS code in Swift

I regenerated the example iOS app code in Swift, and confirmed it works. I replaced the Objective-C example app files with Swift.
I also change the any bundle ID or package names from io.ably.flutter.plugin_example; to io.ably.flutter.example. The plugin being in the name existed because the package used to be called ably_flutter_plugin.

I regenerated the example iOS app code in Swift, and confirmed it works. I replaced the Objective-C example app files with Swift.
I also change the any bundle ID or package names from io.ably.flutter.plugin_example; to io.ably.flutter.example. The plugin was in the name because the package used to be called ably_flutter_plugin.


add openjdk rpm for systems that we initiate installations from

required for the metrics installation piece of the openshift installer

👍 #2383 in stg


update rds-instance-reboot

Fix broke link typo
Signed-off-by: Smriti S<EMAIL_ADDRESS>

Preview environment: https://ci.pr.harness.io/pr-181


insert is O(n)

since you use splice when inserting an element to the list, it takes O(n) time.

omg!


Email password reset doesn't work

It's been twenty minutes or so and I haven't gotten an email (on dev.metaculus.com)


validate is not a function

I have a document initiated as follows:
var doc = new SomeModel();
doc = someData[0]; // Populates with array object

But when running the validate function:
if (doc.validate({ fields: ["blocks"] })) {
    ...
}

I'm getting this in the browser console:
Error: doc.validate is not a function
TypeError: doc.validate is not a function

I am upgrading from version 1 to 2.1.4, so just wondering if I am missing something obvious (?)

The problem is this line:
doc = someData[0]; // Populates with array object

You're overriding document, so it's not Astronomy doc anymore.

This used to work in v 1 of Astronomy - has this significantly changed somewhat? How, in v2 am I suppoed to populate a document - I can't use the find() / fetch() methods as the contents of the document are poassed down from a higher level React component ?

If it's in the way it is in the example then it's not possible that it worked. You populate document using the doc.set(data) method.


Simplify context menu bugfix + option border radius adjustment

The context menu bugfix from https://github.com/bevyengine/bevy_editor_prototypes/pull/143 was rather complicated. Here it is replaced with a trigger.propagate(false); call to prevent the right click event from bubbling up further when a context menu is opened.
I've also separated the context-menu option border-radius from general buttons and adjusted it to look right.

looks good :+1:


add an example for controlling an RPopup

Resolves #116

Codecov Report
Base: 99.07% // Head: 99.07% // No change to project coverage :thumbsup:

Coverage data is based on head (3442444) compared to base (2a4c41d).
Patch has no changes to coverable lines.

Additional details and impacted files
@@           Coverage Diff           @@
##           master     #119   +/-   ##
=======================================
  Coverage   99.07%   99.07%
=======================================
  Files          72       72
  Lines        1301     1301
  Branches      201      201
=======================================
  Hits         1289     1289
  Misses         12       12

Impacted Files
Coverage Δ

src/RPopup.tsx
100.00% <ø> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Add support for OS on dockerimage resource

Is your feature request related to a problem?
Since #1589 fixed architecture queries failures have occured when checking images as the default is linux
Solution you'd like
  checkTemurinNanoserver2019DockerImage:
    kind: dockerimage
    name: Check if the container image "eclipse-temurin:<lastVersion>-jdk-nanoserver-1809" is available
    disablesourceinput: true
    spec:
      architecture: amd64
      operatingsystem: windows
      image: eclipse-temurin
      tag: '{{source "lastVersion" }}-jdk-nanoserver-1809'

Instead of adding new field does it make more sense to support in single string:
  checkTemurinNanoserver2019DockerImage:
    kind: dockerimage
    name: Check if the container image "eclipse-temurin:<lastVersion>-jdk-nanoserver-1809" is available
    disablesourceinput: true
    spec:
      architectures:
        - windows/amd64
      image: eclipse-temurin
      tag: '{{source "lastVersion" }}-jdk-nanoserver-1809'

Looking at the code the second approach make most sense and we use: ParsePlatform()


added a few more resources for learning Swift

[x ] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] My article does not contain shortened URLs or affiliate links.

If your pull request closes a GitHub issue, replace the XXXXX below with the issue number.
Closes #XXXXX

Closed and Reopened this PR to attempt to resolve a specific Travis build failure.

@agaribovic Thank you for your contribution to the page! 👍
We're happy to accept these changes, and look forward to future contributions. 📝


Provide example in 3D

https://github.com/godotengine/godot-demo-projects/tree/master/viewport/gui_in_3d

The project you mentioned has some issues in 4.2
https://github.com/godotengine/godot/issues/66247#issuecomment-2043730623
That being said I'm not sure this is going to be compatible with the current system. It looks like a good thing to have and I'll check how it might be implemented after the issue is solved, but for now support for 3D menus is not planned.

@gamedevserj
The issue is referring to a specific part.
The challenge for you is to learn how to display 2D GUI in 3D environment using viewport, in way has not attempted before using c#
This will be game changing if you can show it - even with simple GUI


report bug in vs

System Information (please complete the following information):

Model Builder or CLI Version:
Visual Studio Version (if applicable):

Describe the bug

On which page of the tutorial did you run into an issue (URL):
Clear description of the problem:

To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.

Sorry, I don't have enough information to investigate this issue. Please add more details and I will reopen.


Login and Signup pages

Login and Signup
The login and signup forms are their own pages/routes.Initially I wanted to create a modal for each but it was a bit easier to do it this way. The login and signup form both contain a function that will handle the submit and call an empty function. Ricky, this is where the code to connect with the back end will go.

moved Menu to pages directory
add login and signup form boilerplate code
fix images on pieces in menu
add Signup and Login routes and pages to App
create formHeader component
add array of form field values for login and signup forms
adjust input field styling (border, focus, etc.)
add Login component and stlying to LoginPage
create login component by mapping log fields over Input component. use state for loginState
adjust font weight in header
add form action for login button and form extras
add FormAction and FormExtras to Login component and add submit handler
add signup component and page

Awesome!! Lets goooo


Add External Sensors to the rev 1 PCB

Please take the time to describe the bug in detail, so other contributors can pick it up and implement or declare done/obsolete in case it was fixed out of band.
Current behaviour

Describe what is wrong with the system as of writing: what is the actual state of things.
Instructions to reproduce the bug.
Screenshots, screencasts, or video to help explain your problem.

Expected behaviour

Describe what is the expected state of things.
Identify documents that need to be updated, especially in case of hardware component choices or changes assembly.

How do you know it is wrong
Link any documents, Slack threads, quote personal communication, reference your personal domain expertise etc. explaining why you think the current state of things is bad and the expected state of things is good.
Code pointers
Give some thoughts on roughly where in code do you think the necessary changes might be located.
Don't forget

[ ] Put the issue in a milestone
[ ] Assign it to one of the projects
[ ] Add appropriate labels
[ ] Mention dependent/blocked issues if any

Dear Team, we are using MPX5700AP/GP/GP1
CASE 867B-04 gauge pressure sensor in the oxygen line we think to use PC2, PC3 pins cycle controller we have a doubt that in the existing circuit we are using a scaling circuit. please suggest whether the same scaling, the filter circuit can be used for the gas sensor or not please suggest if any modifications required Thank you.

Duplicated following the proper template in #880


getResponseMessage of HttpURLConnection returns incorrect custom http status text

When server responses with custom http status text like "401 Invalid user name or password.", the method returns standard message "Unauthorized" for 401 status code, after translating to objective c.
Here an example:
HttpURLConnection-getResponseMessage.zip

How is the server sending a custom http status text? The raw HTTP response doesn't have anything similar to what you describe:
$ curl -i --raw https://en-sales-mobile-demo.bpmonline.com/0/DataService/json/SyncReply/SelectQuery
HTTP/2 401
content-type: text/html
server: Microsoft-IIS/10.0
x-powered-by: ASP.NET
x-frame-options: SAMEORIGIN
x-content-type-options: nosniff
date: Fri, 03 May 2019 21:18:35 GMT
content-length: 1293

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
<title>401 - Unauthorized: Access is denied due to invalid credentials.</title>

Server Error

<fieldset>

401 - Unauthorized: Access is denied due to invalid credentials.

You do not have permission to view this directory or page using the credentials that you supplied.

 </fieldset>

What's weird is that your example shows the message you expect when run in Java, but nowhere in the OpenJDK source is the text "Invalid user name or password.", either. Do you have any idea where this text is from? I'm not familiar with HTTP/2.

To change http status text in response on the server we use HttpResponse.StatusDescription.
According to the specification of HTTP it calls Reason Phrase

The reason phrases listed here are only recommendations -- they MAY be replaced by local equivalents without affecting the protocol.

I'm confused. First, HttpResponse is a .NET class. Second, there's no such phrase in the raw response text I posted above -- regardless of what platform your server uses, the HTTP response should show that phrase in the results, right?

HttpResponse.StatusDescription it is an example how to set individual reason phrase "Invalid user name or password." instead of "Unauthorized" for 401 status on server response. It is answer for question:

How is the server sending a custom http status text?

To get this response using curl please set version of http 1.1 and required headers:
$ curl -i --raw --http1.1 -H "X-Requested-With: XMLHttpRequest" -H "Authorization: Cookie" https://en-sales-mobile-demo.bpmonline.com/0/DataService/json/SyncReply/SelectQuery
HTTP/1.1 401 Invalid user name or password.
Content-Type: text/html
Server: Microsoft-IIS/10.0
X-Powered-By: ASP.NET
X-Frame-Options: SAMEORIGIN
X-Content-Type-Options: nosniff
Date: Sun, 05 May 2019 09:56:48 GMT
Content-Length: 1293

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
<title>401 - Unauthorized: Access is denied due to invalid credentials.</title>

Server Error

<fieldset>

401 - Unauthorized: Access is denied due to invalid credentials.

You do not have permission to view this directory or page using the credentials that you supplied.

 </fieldset>

Thanks for your patience (compiler guys are rarely networking experts :-). So the real issue is that IosHttpUrlConnection doesn't copy optional message text from the HTTP/1.1 header into its status response header. I see where JRE code does that, so it should be a straightforward fix.

Bad news: iOS (NSURLConnection) doesn't provide access to the Reason Phrase from an HTTP status line (StackOverflow #1, #2), nor the raw response header. IosHttpUrlConnection therefore recreates the status line you're seeing using the recommended reason phrases from RFC 2616. It's the best we can do, given this iOS API limitation.
NSHTTPURLResponse does return all headers, though, so they're available to Java classes on Android or iOS. Therefor, an alternative approach you can try is to define a custom response header with the status text.

Thank you Tom!
I'm not surprised that apple developers ignoring some w3 standards :)


Add support for react 15 and don't use unstable method

Add support for react 15 and don't use unstable method

I'm open to accept PRs if anyone is interested to work on this.


Fix bug where time series replicator parquet output missing timezone

This PR adds timezone context to the Pandas dataframe to fix the following bug:
When writing timeseries data to a parquet file in a Fabric Lakehouse, the time series replicator fails to set a timezone on the timestamp column. The result is that Fabric Data Pipeline and Fabric Data Flow cannot parse the timestamp column, resulting in the following error:

The data type is not supported in Delta format. Reason: Cannot find supported logical type for column name timestamp, delta type timestamp_ntz Activity ID: 6dfdd3a8-4572-47c8-b4db-9c684e3ba8b0

I recall having issues with the timestamp when reading the data from lakehouse for integration test, does this PR address that issue as well?

I recall having issues with the timestamp when reading the data from lakehouse for integration test, does this PR address that issue as well?

I will say, "probably." This is not the error I was seeing, so I can't confirm, but errors could happen anytime while reading timeseries from the lakehouse. Apparently timestamp_ntz (no timezone) is not fully supported in Lakehouse, even though it is written with delta_rs.


rabbit.tv is having problems!

Peerconnection wouldn't load the site so by enabling It worked now on to the problem. clipboard will not copy into firefox for links! What setting do I need to enable for this. Trying to copy the link to share to my friends and not working. Something is wrong.

One or both:
  /* 2402  */ user_pref("dom.event.clipboardevents.enabled", true); // enable access to clipboard events/content
  /* 2403  */ user_pref("dom.allow_cut_copy", true); // allow cut/copy by JS

Cheers

What TF is rabbit tv. Please provide a link. What wouldn't work on it? I can't deal with vagueness.
What are you trying to do with clipboard. There are no prefs that disable copying content to the clipboard, you can select text and use ctrl-c, etc. WHERE are you trying to paste?

https://www.rabb.it/ the website needs certain about:config settings to be enabled to use. Such as peer connection must be enabled to stream, tested clipboard turned on and copy pasting the share room link would not work. I'm only using ublock origin, possum and decentraleyes. The button on the site https://i.imgur.com/kJHa4fG.png

why did you close this? Did you solve your issues?

https://www.rabb.it/ the website needs certain about:config settings to be enabled to use. Such as peer connection must be enabled to stream, tested clipboard turned on and copy pasting the share room link would not work. I'm only using ublock origin, possum and decentraleyes. The button on the site https://i.imgur.com/kJHa4fG.png

That button is driven by JS, which has nothing to do with the two prefs AFAIK? Note: I haven't looked at the site yet. I might get around to it later

Actually, it looks like I need to sign up to it, so I can't test it

I know that guesses are not OK, but I will guess, that he had/have a problem with the button due to some uBO filter/block.
But I guess (again), that I should be quiet.

You'll love it thorin oakenpants.  I doubt it. I tested a portable version of firefox with it and have ublock origin and all my addons enabled and it works just fine.

Only my main firefox browser with ghacks user settings have done something to it.

You'll have to troubleshoot it - https://github.com/ghacksuserjs/ghacks-user.js/wiki/1.4-Troubleshooting


opt remove Nondeterministic trait from date related functions

Proposed changes
Issue Number: close #xxx

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run buildall

run buildall

run buildall


Implement anonymous clients and shared key authentication

We had an initializer that accepted an account-level (shared key) connection string, but it didn't work because we never actually implemented that authentication scheme.

We need to verify that the signature is being generated correctly before merging this, but I don't know of an easy way to check - I don't see any unit tests validating this in any of our other language SDKs. I will ask around and see if anyone has any suggestions of how to verify.

Adding tests now, but I was able to test against the storage service and fix a few issues in the SharedKey auth process.


cca checkenv misses some detectable issues

Here are two failures I experienced after checkenv said "SDK configured properly". It might be a little less soul-crushing if checkenv listed these problems and solutions instead of letting me walk into them on subsequent steps.
android-sdk-linux/platform-tools/adb: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
(fixed by installing some 32-bit packages)
ERROR: JAVA_HOME is set to an invalid directory: /usr/lib/jvm/java-6-openjdk-common
(I don't even know- I want to make chrome apps)

Then,
Execution failed for task ':CordovaLib:compileDebugJava'.

Cannot find System Java Compiler. Ensure that you have installed a JDK (not just a JRE) and configured your JAVA_HOME system variable to point to the according directory.

Yikes! Hope your soul managed to recover from this one!
Interesting that vanilla cordova works fine, because the errors you report are actually due to code in Cordova.
Would be awesome if you could try and debug this for us with your configuration. Here's where the JAVA_HOME logic is:
https://github.com/apache/cordova-android/blob/master/bin/lib/check_reqs.js#L105
For adb, maybe what we can do is just to a test execute of the command in checkenv to see if it runs okay.

Also - they copy of cordova-android that cca uses is bundled with the tool, so assuming you npm installed cca, you'll find it here:
$(dirname $(which cca))/../lib/node_modules/cca/cordova/cordova-android/