Updated to MSAL auth

Actually, the sample was updated to use newer NuGet packages. Sample uses CrmServiceClient connection string for authentication, so the use of ADAL is hidden.


Cleanup unused test utils

These are leftover from the old E2E tests
[ ] Configuration Infrastructure
[ ] Docsssss
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure

@howardjohn: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

gencheck_istio
8b0c6db1aedbf7cdfc0d5fa4cae64e87c8c00919
link
/test gencheck_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@howardjohn: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

gencheck_istio
8b0c6db1aedbf7cdfc0d5fa4cae64e87c8c00919
link
/test gencheck_istio

integ-local-tests_istio
8b0c6db1aedbf7cdfc0d5fa4cae64e87c8c00919
link
/test integ-local-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@howardjohn: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-local-tests_istio
8b0c6db1aedbf7cdfc0d5fa4cae64e87c8c00919
link
/test integ-local-tests_istio

gencheck_istio
9b16079d67db1b28cd9e3d94e50377466fdd5d17
link
/test gencheck_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.


The issue in your NERFStudio version code.

Does the requirements in your original version code still apply to the NERFStudio version code, such as the PyTorch version?

Yes. Note that we use nerfstudio==0.2.0 and torch==1.12.


Add resize prop

I think TextAreas should have the ability to resize, in most cases it will be full width with the ability to resize vertically. I think this should be accepted as a prop rather than making the user specify it in the styles themselves.

@Chrischuck Kinda new to PRs, can you take a look?

Closing this as we should target ui-box for supporting resize as a css prop.

@jibberishclient you should be to upgrade ui-box directly if you want now!
https://github.com/segmentio/ui-box/releases/tag/v3.3.0
Will work on upgrading in evergreen-ui eventually :)


Adding kwargs to *_uri methods

Supports params etc.
Remove redundant assignments

Apologies, I ought have used Development not master for my base branch

Please resolve the git conflicts, and then resend for approval.


IE10 - using arrows to navigate list selects item by mistake

Using IE10 (checked on Win 7 and Win 8) when typing in a country (eg Fr) and then using the down arrow key to navigate the list.
When the key is pressed after the highlight is on the first item in the list, the second item in the list is automatically selected.

Thanks for the report @adamliptrot-oc! I can confirm this is a bug.


Adds storage_status/1 callback to Ecto.Adapters.Storage behaviour

Returns the status of a given storage for the given options.
Can be :up, :down or {:error, term()} in case anything goes wrong.
Motivation
At least for now, it's planned to be used on a (future) Plug on phoenix_ecto that shows an error page when the database for a repo is not created.
Related to: elixir-ecto/ecto_sql#164
cc @josevalim

Thank you!


Freshontv search plugin

Adds a Freshon.tv search plugin.
Supports pagination (limited to 10 pages as users can set their pages to up to 100 items each).
Has a 100% and 50% torrent filter as well as HD and WebDL filters.
Downloads via RSS download link using the users passkey.
Note: throws a SSL error when getting the pages, not sure how to fix that as every recommendation doesn't seem to work including "verify_ssl_certificates: no"

I appreciate the feedback, still learning python and Flexget is a beast so i'm doing my best with previous plugin examples.
I've done some of the changes you've suggested and optimized the code a bit.
Using task.session does not seem to have fixed the SSL errors even while using "verify_ssl_certificates: no." On the plus side it seems to respect domain delays now.

Thanks! Want to add a wiki page to searches section? http://flexget.com/wiki/Searches

Will do, thanks!


Update README.md

Add missing step to get Development mode to work.

The init.py code checks for this file, but the docs dont indicate it is required.

https://github.com/mitmproxy/mitmproxy_rs/commit/1c4a17a5185757427ffcc6a0e216ba159b523b33 Is the change that removed the file, but didnt update the build steps.

Thanks for the PR, but this should absolutely not be necessary. pip install -e . typically creates that editable.marker file.

I attempted to confirm that behavior, but was unable to replicate: For me, pip install -e . within the mitmproxy_rs/mitmproxy-windows/ does not generate an editable.marker file. It appears Hatch can be used to generate files with the hook plugin, however I can see no implementation details in the code for this. If the editable.marker file is generated when you pip install, then there is some implementation step I am missing and this can certainly be closed. I appreciate your time taken to comment.

(https://en.wikipedia.org/wiki/XY_problem applies here)
After running pip install -e ., things work for me as expected. Is that that not the case for you?
It may be the case that editable.marker is missing here, but nonetheless it should work.


Document and add option for listing only named or unnamed volumes with "docker volume ls -f ..."

Please document and add option for listing only named or unnamed volumes:
How
I suggest to make something possible like this: docker volume ls -qf dangling=true,named=false
If there already is such a filter, please document it on docker volume ls --help
Why?
The reasoning is simple: I have a script to clean up all the old stuff I don't need, and for volumes the most common case is that if they are dangling and unnamed, I probably didn't create them to be kept. However, if they are named I am most certainly interested in keeping them even if they aren't currently used by a container - obviously they were important enough that I bothered to give them a name.
Therefore, the common suggestion which involves deleting everything output by docker volume ls -qf dangling=true isn't helping here because that command also lists all named volumes, and a script (unlike a human) cannot easily tell the unnamed from the named ones in the resulting output of that command.

If you are reporting a new issue, make sure that we do not have any duplicates already open. You can ensure this by searching the issue list for this repository. If there is a duplicate, please close your issue and add a comment to the existing issue instead.
If you suspect your issue is a bug, please edit your issue description to include the BUG REPORT INFORMATION shown below. If you fail to provide this information within 7 days, we cannot debug your issue and will close it. We will, however, reopen it if you later provide the information.
For more information about reporting issues, see CONTRIBUTING.md.
You don't have to include this information if this is a feature request
(This is an automated, informational response)

BUG REPORT INFORMATION
Use the commands below to provide key information from your environment:
docker version:
docker info:
Provide additional environment details (AWS, VirtualBox, physical, etc.):
List the steps to reproduce the issue:
1.
2.
3.
Describe the results you received:
Describe the results you expected:
Provide additional info you think is important:
----------END REPORT ---------
#ENEEDMOREINFO

I'm not sure it's easy to distinguish "named" vs "unnamed", because basically all volumes are named, but if no name is specified, it's automatically generated.
We've had similar discussions in the past (I.e., "don't delete named containers"), but I'm not sure that name is the best property to determine if something is "disposable" or not. Prior discussions were in favor of having something to lock/pin containers (volumes in this case), to prevent them from being accidentally deleted.
See https://github.com/docker/docker/pull/7523, and all issues/PRs linked to that
ping @cpuguy83 any thoughts on this?

Yeah, this is not something easy to do right now.
We don't keep state on volumes and I've purposefully been punting on this until we're ready to do distributed state.
Note that you can safely do docker rm -v in Docker 1.10 and it will only remove "unnamed" volumes.

Well I'm purely talking about volumes here, not containers. (so I would consider container pinning a separate issue)
As for volume pinning, if you ever add that you should really auto-pin any volume that is named.
However, one alternative way to improve all of this would be to allow volumes to have labels.
This could e.g. improve docker-compose behavior when using docker-compose rm && docker-compose up -d (without -v specified!), because I was told in the current state it would fail to pick up unnamed dangling volumes again if they're not directory mounted volumes (so basically VOLUME-induced volumes that aren't listed in the docker-compose.yml): this could lead to either unexpected disappearing data for the user if the user actually expected the volume to remain around, or otherwise if the user wasn't aware of them it could alternatively cause dangling volumes being left around unexpectedly. Both outcomes are somewhat unsatisfactory.
But if docker-compose could label the volumes that belong to a certain service, they could easily survive container recreation in docker-compose without becoming dangling. It would also allow labeling volumes for being explicitly named by the user, or just random throwaway volumes generated at some point.

I'm talking about volumes.
"docker rm -v" removes all the attached volumes of a container (in addition to the container), unless they are named volumes.

Sure, I said that because container pinning was mentioned above. However, there is still no global way to remove all unnamed volumes that are dangling, is there?

@JonasT I'm not talking about container pinning in any way.

Sorry if I just added to the confusion, I was referring to @thaJeztah 's issue link.

seems named ways is not easy to differenet, and it is user-view of that instead of docker view.

@cpuguy83 just wondering, how would docker rm -v know it is a named volume and leave it alone? Since there is no obvious way to print this info out from the command line... (If you know one by the way, that would be very helpful to know) - beyond a human guessing from the volume id whether it is an assigned name manually, of course.

@JonasT It knows because we look at how the mount point was specified. docker run -v /foo is an unamed mountpoint, docker run -v <anything>:/foo is a named mountpoint.
This does not take into account if <anything> is generated name vs one that was explicitly set.

Hm I see. My tool does something similar right now, but doing this on a global scale would require me to inspect all containers manually or something to get that info is somewhat unsatisfactory.... but I guess I could do that for now as a hack

After an "anonymous" volume is created it has been given a (generated) name, so there's no real difference anymore between "named" and "unnamed".
We discussed this, and think it's not something we want to implement


Coral-Spark: Build awareness in Coral for coalsce_struct UDF

This patch includes change to swap extract_union UDF with coalesce_struct UDF in Coral-Spark during Coral RelNode -> Spark RelNode.
In https://github.com/linkedin/coral/pull/192, we have changed the interpretation of union field in IR to a struct that aligns with Trino's after-explosion schema. The output struct which contains tag field and names each member field as fieldN is backward incompatible with the schema from extract_union UDF. This patch is need to bridge the schema difference between both.

Given the coalesce_struct UDF won't be publicly available to the Hive community, the behavior in this patch may need to be configurable and default turned to false. Creating this PR for discussion on this front, DO NOT MERGE !

Should the coalesce_struct UDF be part of Coral?

Should the coalesce_struct UDF be part of Coral?
Why is that if that is going to be a Hive UDF, or do you think it should be statically defined in Coral and being loaded into engines when being used ?

Should both Spark and Trino be handled in the same PR?

Before the change, only Spark IR Transformer (during IR -> Spark RelNode) handles the extract_union UDF (by getting rid of it). Trino path simply cannot execute SQL statements with extract_union as part of it. Do we want to preserve that behavior or you believe we should also get rid of extract_union in the trino SQL whenever appearing ?

Should the coalesce_struct UDF be part of Coral?

Why is that if that is going to be a Hive UDF, or do you think it should be statically defined in Coral and being loaded into engines when being used ?

I meant the GenericUDF definition, yes. But, I think it is okay if the function is not part of Coral.

Should both Spark and Trino be handled in the same PR?

Before the change, only Spark IR Transformer (during IR -> Spark RelNode) handles the extract_union UDF (by getting rid of it). Trino path simply cannot execute SQL statements with extract_union as part of it. Do we want to preserve that behavior or you believe we should also get rid of extract_union in the trino SQL whenever appearing ?

Ok, makes sense. We can restrict extract_union usage to Spark.

@wmoustafa  Can you take a second look ? thanks !

Looks like the Github action is failing with weird reason:

> Task :coral-hive:compileTestJava FAILED
    ToRelConverterTestUtils.setup();
                           ^
  required: HiveConf
  found: no arguments
  reason: actual and formal argument lists differ in length
Note: /home/runner/work/coral/coral/coral-hive/src/test/java/com/linkedin/coral/hive/hive2rel/parsetree/ParseTreeBuilderTest.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
1 error```

@ljfgem  have you seen this ? this failure couldn't e reproduced locally and the error message doesn't seem to make sense since there's only one `setup` method without no arguments. Binding issue ?

@ljfgem have you seen this ? this failure couldn't be reproduced locally and the error message doesn't seem to make sense since there's only one setup method without no arguments. Binding issue ?

You probably need to rebase. This method has changed in https://github.com/linkedin/coral/pull/198.


[BugFix] Only compile local pk index manager test with staros

Why I'm doing:
Fix compilation error in test if staros is not set
What I'm doing:
Only compile local pk index manager test with staros
Fixes #issue
What type of PR is this:

[x] BugFix
[ ] Feature
[ ] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Does this PR entail a change in behavior?

[ ] Yes, this PR will result in a change in behavior.
[x] No, this PR will not result in a change in behavior.

If yes, please specify the type of change:

[ ] Interface/UI changes: syntax, type conversion, expression evaluation, display information
[ ] Parameter changes: default values, similar parameters but with different default values
[ ] Policy changes: use new policy to replace old one, functionality automatically enabled
[ ] Feature removed
[ ] Miscellaneous: upgrade & downgrade compatibility, etc.

Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

[x] I have checked the version labels which the pr will be auto-backported to the target branch

[ ] 3.2
[ ] 3.1
[ ] 3.0
[ ] 2.5

https://github.com/Mergifyio backport branch-3.1

https://github.com/Mergifyio backport branch-3.2


freetds: 1.00.111 -> 1.1.6

Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/freetds/versions.
meta.description for freetds is: '"Libraries to natively talk to Microsoft SQL Server and Sybase databases"'.

Checks done (click to expand)

built on NixOS
/bin/sh passed the binary check.
1 of 1 passed binary check by having a zero exit code.
0 of 1 passed binary check by having the new version present in output.
found 1.1.6 with grep in /nix/store/b0slh4qz0rq7g9ckxk90zkwkz2fdksyb-freetds-1.1.6
directory tree listing: https://gist.github.com/b1841033211b2c0823e21bfa774e9968
du listing: https://gist.github.com/8f3f1e6b4b7bd2113e4e48eb38f24f02

Rebuild report (if merged into master) (click to expand)

28 total rebuild path(s)
8 package rebuild(s)
8 x86_64-linux rebuild(s)
7 i686-linux rebuild(s)
6 x86_64-darwin rebuild(s)
7 aarch64-linux rebuild(s)
First fifty rebuilds by attrpath
check-mssql-health
freetds
perl528Packages.DBDsybase
postgresqlPackages.tds_fdw
python27Packages.pymssql
python27Packages.python-sybase
python37Packages.pymssql
sqsh

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/b0slh4qz0rq7g9ckxk90zkwkz2fdksyb-freetds-1.1.6 \
  --option binary-caches 'https://cache.nixos.org/ https://r-ryantm.cachix.org/' \
  --option trusted-public-keys '
  r-ryantm.cachix.org-1:gkUbLkouDAyvBdpBX0JOdIiD2/DP1ldF3Z3Y6Gqcc4c=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(r-ryantm's Cachix cache is only trusted for this store-path realization.)
Or, build yourself:
nix-build -A freetds https://github.com/r-ryantm/nixpkgs/archive/4beb8e24b644f0b271fd71b50a6aaf25e6f3b4d6.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/b0slh4qz0rq7g9ckxk90zkwkz2fdksyb-freetds-1.1.6
ls -la /nix/store/b0slh4qz0rq7g9ckxk90zkwkz2fdksyb-freetds-1.1.6/bin

cc @peterhoeg for testing.

https://raw.githubusercontent.com/FreeTDS/freetds/Branch-1_1/NEWS


KeyboardAvoidingView mistakingly adds white space on screen bottom after being untangled

[Description]
I wrapped a view as a footer inside KeyboardAvoidingView. It works properly before the keyboard has been untoggled. However, after the keyboard is untoggled, it adds a white space on the bottom of the screen. The height of the white space is as big as the keyboardVerticalOffset. This white space shouldn't exist.
React Native version:
System:
OS: macOS 10.15.6
CPU: (8) x64 Intel(R) Core(TM) i7-7920HQ CPU @ 3.10GHz
Memory: 28.43 MB / 16.00 GB
Shell: 3.2.57 - /bin/bash
Binaries:
Node: 12.18.1 - /usr/local/bin/node
Yarn: Not Found
npm: 6.14.5 - /usr/local/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
Managers:
CocoaPods: 1.9.3 - /usr/local/bin/pod
SDKs:
iOS SDK:
Platforms: iOS 13.6, DriverKit 19.0, macOS 10.15, tvOS 13.4, watchOS 6.2
Android SDK: Not Found
IDEs:
Android Studio: Not Found
Xcode: 11.6/11E708 - /usr/bin/xcodebuild
Languages:
Java: 14.0.1 - /usr/bin/javac
Python: 2.7.16 - /usr/bin/python
npmPackages:
@react-native-community/cli: Not Found
react: ~16.11.0 => 16.11.0
react-native: https://github.com/expo/react-native/archive/sdk-38.0.1.tar.gz => 0.62.2
npmGlobalPackages:
react-native: Not Found
Steps To Reproduce
Provide a detailed list of steps that reproduce the issue.

Use KeyboardAvoidingView, set  keyboardVerticalOffset to any value
Put a view inside KeyboardAvoidingView, set the position as absolute, and set the bottom to 0

Expected Results
The white space for keyboardVerticalOffset should only exist when the keyboard is toggled.
Snack, code example, screenshot, or link to a repository:
<KeyboardAvoidingView
      behavior={Platform.OS == "ios" ? "padding" : "height"}
      keyboardVerticalOffset={48}
      style={{width: "100%",
                   height: "100%",
                   position: "absolute",
                   zIndex: 1,}}
>
      <View
              style={{width: "100%",
                            position: "absolute",
                            height: 56,
                            bottom: 0,}}
      >
              <SubmitButton/>
       </View>
</KeyboardAvoidingView>

This looks similar to the sample for KeyboardAvoidingView. We're having trouble reproducing your snippet in a Snack. Mind helping refine this so we can get the repro? Have this so far, which more like the docs sample has the page content as well as the button inside the KeyboardAvoidingView.

Thanks for responding and creating this snack. I just tried what you created. Try to add this prop
keyboardVerticalOffset={100}
to KeyboardAvoidingView and run it on iOS. You'll see how the button is pushed up after the keyboard gets toggled then dismissed. It works properly in Android.

hey, guys, the same issue here, did you solve it?

I'm having same trouble. In this example, when my screen is fit and no need to scroll it works perfectly. But when my screen has scrollable content, it adds white spaces in every input focusing under the <Button> component.

Note: With padding IOS platform works perfect.

Multiple input with behavior: "height"

Multiple Input with behavior: "padding"

Only one Input with behavior: "height"

My example Code:
<KeyboardAvoidingView
  style={{ flex: 1 }}
  behavior={Platform.OS === 'ios' ? 'padding' : 'height'}
  keyboardVerticalOffset={Platform.OS === 'ios' ? (isIphoneX() ? 88 : 64) : StatusBar.currentHeight + 50} // 50 is Button height
  enabled>
   <ScrollView contentContainerStyle={{ flexGrow: 1 }} keyboardShouldPersistTaps={'handled'}>
     <Input />
    </ScrollView>
    <Button
      onPress={() => {}}
      style={{ justifyContent: 'flex-end' }}
      text={"Confirm"}
    />
</KeyboardAvoidingView>

I need a help for general solution. 🚀

I'm having same trouble. In this example, when my screen is fit and no need to scroll it works perfectly. But when my screen has scrollable content, it adds white spaces in every input focusing under the <Button> component.

Note: With padding IOS platform works perfect.

Multiple input with behavior: "height"

Multiple Input with behavior: "padding"

Only one Input with behavior: "height"

My example Code:
<KeyboardAvoidingView
  style={{ flex: 1 }}
  behavior={Platform.OS === 'ios' ? 'padding' : 'height'}
  keyboardVerticalOffset={Platform.OS === 'ios' ? (isIphoneX() ? 88 : 64) : StatusBar.currentHeight + 50} // 50 is Button height
  enabled>
   <ScrollView contentContainerStyle={{ flexGrow: 1 }} keyboardShouldPersistTaps={'handled'}>
     <Input />
    </ScrollView>
    <Button
      onPress={() => {}}
      style={{ justifyContent: 'flex-end' }}
      text={"Confirm"}
    />
</KeyboardAvoidingView>

I need a help for general solution. 🚀

Did you find a solution?

Here's my solution, I can't promise it will work for everyone and in all situations but it's working where it needs to in my current project, it involves replacing 'flex: 1' with the window height minus the status bar height and setting the behavior to position. Hope it helps.
<KeyboardAvoidingView         behavior="position"         style={{           height: Platform.OS === 'android' ? Dimensions.get('window').height - StatusBar.currentHeight : '100%',           alignItems: 'center',         }}       > .... </KeyboardAvoidingView>

Here's my solution, I can't promise it will work for everyone and in all situations but it's working where it needs to in my current project, it involves replacing 'flex: 1' with the window height minus the status bar height and setting the behavior to position. Hope it helps.
<KeyboardAvoidingView
        behavior="position"
        style={{
          height: Platform.OS === 'android' ? Dimensions.get('window').height - StatusBar.currentHeight : '100%',
          alignItems: 'center',
        }}
      >
....
</KeyboardAvoidingView>

any solution?

facing the same problem, did anyone find a solution?

facing the same problem, did anyone find a solution?

I change component because the problem is

Any solution?

In my case I added behavior={isAndroid ? 'height' : 'position'} and also needed to add different keyboardVerticalOffset for android, iPhoneX and normal iPhone
const calculateKeyboardVerticalOffset = () => {   if (isAndroid) return StatusBar.currentHeight;   if (isIphoneX()) return -100;   return 0; };
    <KeyboardAvoidingView       behavior={isAndroid ? 'height' : 'position'}       enabled       keyboardVerticalOffset={calculateKeyboardVerticalOffset()}     >
Hope this helps @talaviad5

@annaostapenko22 still doesn't work, but thanks

i fixed too with
const additionHeight=Platform.OS=='ios'?0:StatusBar.currentHeight;
<KeyboardAvoidingView
behavior={(Platform.OS === 'ios') ? "margin" :'padding'}
contentContainerStyle={{ flex: 1 }}
keyboardVerticalOffset={Platform.select({ios: 2, android: -additionHeight})}

behavior={Platform.OS === 'ios' ? 'padding' : 'height'}
keyboardVerticalOffset={-900}
this will fix your issue

still have the issue, any solution ?

Still not resolved.

import {
KeyboardAvoidingView,SafeAreaView,TouchableWithoutFeedback,....
} from 'react-native';

<KeyboardAvoidingView
                style={{ flex: 1 }}
                behavior={(Platform.OS === 'ios') ? "padding" : null}
                keyboardVerticalOffset={Platform.select({ios: 80, android: 500})} enabled>
                <SafeAreaView style={styles.container}>
                    <TouchableWithoutFeedback onPress={Keyboard.dismiss}>
                      <View style={{flex:1,padding:20}}>
                <TextInput maxLength={50} value={this.getVal('name')} onChangeText={(txt)=>{
                  ....
                }}
                    </TouchableWithoutFeedback>
                </SafeAreaView>

            </KeyboardAvoidingView>

this is working in 2 apps

I had same issue and my style for KAV was:
flex: 1

Inner ScrollView had flex: 1 too.
Just changing KAV style to flexGrow: 1 fixed the issue.

i replace my keyboardavoidingview with
https://github.com/APSL/react-native-keyboard-aware-scroll-view
and solved.

I'm facing the same issue.

I'm facing the same issue only on iOS. It adds a lot of whitespace at the bottom of a ScrollView and every time I blur and focus on the input again, it adds even more whitespace.
I think this is a major bug that needs to be addressed. The whitespace needs to be removed after the keyboard hides.

Try to set the behavior on iOS as "height"

@abumubarak-dev  height not working as excepted also

Who know workaround? Because i have problem only when keyboard open and then hide. Empty space equal keyboardVerticalOffset not removed

I added in app.json
"android": {
"softwareKeyboardLayoutMode": "pan"
}
It solved

I frequently encounter this bug and am forced to use react-native-keyboard-aware-scroll-view, but it doesn't work in all situations (like if I want to nest virtualized lists). It's hard to believe this core component is still so buggy.
Potentially related, I frequently run into keyboard dismissal bugs like this in apps from the iOS App Store on my iPhone 12 mini (including big names like Discord, which is known to be mostly built in React Native). Super frustrating stuff.

I did a little more digging. While debugging I noticed that on keyboard close, the event received from iOS (keyboardWillChangeFrame) incorrectly returns (0, 0) as the new coordinates of the keyboard. The correct value (if using the same coordinate system as RN) should be (0, screen height). As a result, this throws off the bottom height calculation done here, resulting in the view's content being pushed up significantly.
It's possible that this would be fixed by changing RN's native bridge code to instead use UIKeyboardLayoutGuide as recommended in Apple's docs.
I don't know if I'll have time to post a PR for that myself, but it would be awesome if someone could try that out.

I had same issue and my style for KAV was:
flex: 1

Inner ScrollView had flex: 1 too. Just changing KAV style to flexGrow: 1 fixed the issue.

This fixed it for me, and it's so much nicer than adding some extra library 🔥 Thanks!

I faced a similar issue and I'll share my solution here in case this helps anyone.
Context
Note: this only happened in iOS (not Android).
In my case, when the keyboard was visible and I clicked a CTA to go to the next screen, I would get the extra white space (equal to the KeyboardAvoidingView's keyboardVerticalOffset) at the bottom of the next screen.
Clicking on the CTA dismissed the keyboard, however while the keyboard was still being dismissed the navigation to the next page started (calling push from solito/router). Basically, the user arrived at the next screen while the keyboard was not fully dismissed. Therefore it seems the KeyboardAvoidingView kept applying the keyboardVerticalOffset even though the keyboard was eventually dismissed.
In fact, waiting for the keyboard to be dismissed before navigating to the next screen solved the issue. As did wrapping the call to router.push in a setTimeout (with even just a 50ms delay).
Solution
The main idea is to disable the KeyboardAvoidingView as soon as we know the keyboard will be hidden:
export const MyKeyboardAvoidingView = ({ behavior, children }: Props) => {
	const headerHeight = useHeaderHeight()

	const [enabled, setEnabled] = useState(false)

	useEffect(() => {
		const showSubscription = Keyboard.addListener('keyboardWillShow', () => {
			setEnabled(true)
		})

		const hideSubscription = Keyboard.addListener('keyboardWillHide', () => {
			setEnabled(false)
		})

		return () => {
			showSubscription.remove()
			hideSubscription.remove()
		}
	}, [])

	return (
		<KeyboardAvoidingView
			behavior={behavior}
			enabled={enabled}
			keyboardVerticalOffset={headerHeight}
		>
			{children}
		</KeyboardAvoidingView>
	)
}

I had same issue and my style for KAV was:
flex: 1

Inner ScrollView had flex: 1 too. Just changing KAV style to flexGrow: 1 fixed the issue.

Thank you! This solution works perfectly for me @arthwood

@taylorkangbeck I have the same issue, and none of the  solutions work for me. Did you find out how we can overcome this?

for me the problem was only android side, so what i actually did is this and i hope it helps someone maybe
<KeyboardAvoidingView
style={{flex: 1, flexDirection: 'column', justifyContent: 'center'}}
behavior="padding"
enabled
keyboardVerticalOffset={Platform.select({
ios: () => 0,
android: () => -300,
})()}>
don't forget to import Platform using
import {  KeyboardAvoidingView, Platform  } from 'react-native';

Can't believe this issue was happening in 3 year ago, and then I came across here today

If you are having this issue on ios today, my solution was applying @arthwood solution with some changes. I am not using a scroll view, just a simple view and a TouchableWithoutFeedback
 <KeyboardAvoidingView
      behavior={Platform.OS === 'ios' ? 'padding' : 'height'}
      keyboardVerticalOffset={Platform.OS === 'ios' ? 80 : 0}
      style={{flex: 1}}>
   <TouchableWithoutFeedback onPress={Keyboard.dismiss}>
    <View className="flex-1 grow "> // flexGrow: 1 and flex-1

I had same issue and my style for KAV was:
flex: 1

Inner ScrollView had flex: 1 too. Just changing KAV style to flexGrow: 1 fixed the issue.

Amazing, worked for me as well. So, why did it work, could someone explain?

If you are having this issue on ios today, my solution was applying @arthwood solution with some changes. I am not using a scroll view, just a simple view and a TouchableWithoutFeedback
 <KeyboardAvoidingView
      behavior={Platform.OS === 'ios' ? 'padding' : 'height'}
      keyboardVerticalOffset={Platform.OS === 'ios' ? 80 : 0}
      style={{flex: 1}}>
   <TouchableWithoutFeedback onPress={Keyboard.dismiss}>
    <View className="flex-1 grow "> // flexGrow: 1 and flex-1

Hello ! I'm still having this issue but I can't remove the ScrollView component as I need my screen to be scrollable, anyone with a solution ?

If you are having this issue on ios today, my solution was applying @arthwood solution with some changes. I am not using a scroll view, just a simple view and a TouchableWithoutFeedback
 <KeyboardAvoidingView
      behavior={Platform.OS === 'ios' ? 'padding' : 'height'}
      keyboardVerticalOffset={Platform.OS === 'ios' ? 80 : 0}
      style={{flex: 1}}>
   <TouchableWithoutFeedback onPress={Keyboard.dismiss}>
    <View className="flex-1 grow "> // flexGrow: 1 and flex-1

Hello ! I'm still having this issue but I can't remove the ScrollView component as I need my screen to be scrollable, anyone with a solution ?

I finally gave up using KeyboardAvodingView as it seems to be very buggy and non-consistent across ios/android and use useKeyboard() from react-native-community/hooks and manually adjust all margins and paddings according to keyboardHeight or keyboardShown returned values along with keyboard object from useKeyboard()

If you are having this issue on ios today, my solution was applying @arthwood solution with some changes. I am not using a scroll view, just a simple view and a TouchableWithoutFeedback
 <KeyboardAvoidingView
      behavior={Platform.OS === 'ios' ? 'padding' : 'height'}
      keyboardVerticalOffset={Platform.OS === 'ios' ? 80 : 0}
      style={{flex: 1}}>
   <TouchableWithoutFeedback onPress={Keyboard.dismiss}>
    <View className="flex-1 grow "> // flexGrow: 1 and flex-1

Hello ! I'm still having this issue but I can't remove the ScrollView component as I need my screen to be scrollable, anyone with a solution ?

Another solution that worked for me on both Android and IOS was the code below.
When I need a screen with KeyboardAvoidingView I use this component. I notice that putting a view before the KeyboardAvoidingView the bug disappears
export const KeyBoardAvoidingViewLayout = ({
  header,
  children,
}: KeyBoardAvoidingViewLayoutProps) => {
  return (
    <View className="flex-1 bg-brand">
      {header}
      <KeyboardAvoidingView
        behavior={Platform.OS === 'ios' ? 'padding' : 'height'}
        keyboardVerticalOffset={Platform.OS === 'ios' ? 60 : 0}
        className="mt-8 w-full flex-1 items-center rounded-t-2xl bg-white px-2">
        <TouchableWithoutFeedback onPress={Keyboard.dismiss}>
          <View className="w-full flex-1">{children}</View>
        </TouchableWithoutFeedback>
      </KeyboardAvoidingView>
    </View>
  );
};

If you are having this issue on ios today, my solution was applying @arthwood solution with some changes. I am not using a scroll view, just a simple view and a TouchableWithoutFeedback
 <KeyboardAvoidingView
      behavior={Platform.OS === 'ios' ? 'padding' : 'height'}
      keyboardVerticalOffset={Platform.OS === 'ios' ? 80 : 0}
      style={{flex: 1}}>
   <TouchableWithoutFeedback onPress={Keyboard.dismiss}>
    <View className="flex-1 grow "> // flexGrow: 1 and flex-1

Hello ! I'm still having this issue but I can't remove the ScrollView component as I need my screen to be scrollable, anyone with a solution ?

Another solution that worked for me on both Android and IOS was the code below. When I need a screen with KeyboardAvoidingView I use this component. I notice that putting a view before the KeyboardAvoidingView the bug disappears
export const KeyBoardAvoidingViewLayout = ({
  header,
  children,
}: KeyBoardAvoidingViewLayoutProps) => {
  return (
    <View className="flex-1 bg-brand">
      {header}
      <KeyboardAvoidingView
        behavior={Platform.OS === 'ios' ? 'padding' : 'height'}
        keyboardVerticalOffset={Platform.OS === 'ios' ? 60 : 0}
        className="mt-8 w-full flex-1 items-center rounded-t-2xl bg-white px-2">
        <TouchableWithoutFeedback onPress={Keyboard.dismiss}>
          <View className="w-full flex-1">{children}</View>
        </TouchableWithoutFeedback>
      </KeyboardAvoidingView>
    </View>
  );
};

It doesn't change anything for me, and it also cancels the KeyboardAvoidingView behavior (it doesn't push the content anymore when the keyboard is opened)

If you are having this issue on ios today, my solution was applying @arthwood solution with some changes. I am not using a scroll view, just a simple view and a TouchableWithoutFeedback
 <KeyboardAvoidingView
      behavior={Platform.OS === 'ios' ? 'padding' : 'height'}
      keyboardVerticalOffset={Platform.OS === 'ios' ? 80 : 0}
      style={{flex: 1}}>
   <TouchableWithoutFeedback onPress={Keyboard.dismiss}>
    <View className="flex-1 grow "> // flexGrow: 1 and flex-1

Hello ! I'm still having this issue but I can't remove the ScrollView component as I need my screen to be scrollable, anyone with a solution ?

Another solution that worked for me on both Android and IOS was the code below. When I need a screen with KeyboardAvoidingView I use this component. I notice that putting a view before the KeyboardAvoidingView the bug disappears
export const KeyBoardAvoidingViewLayout = ({
  header,
  children,
}: KeyBoardAvoidingViewLayoutProps) => {
  return (
    <View className="flex-1 bg-brand">
      {header}
      <KeyboardAvoidingView
        behavior={Platform.OS === 'ios' ? 'padding' : 'height'}
        keyboardVerticalOffset={Platform.OS === 'ios' ? 60 : 0}
        className="mt-8 w-full flex-1 items-center rounded-t-2xl bg-white px-2">
        <TouchableWithoutFeedback onPress={Keyboard.dismiss}>
          <View className="w-full flex-1">{children}</View>
        </TouchableWithoutFeedback>
      </KeyboardAvoidingView>
    </View>
  );
};

It doesn't change anything for me, and it also cancels the KeyboardAvoidingView behavior (it doesn't push the content anymore when the keyboard is opened)

Please, put your code on a snack to see what's going on

Can't believe this issue is still here, and it's 2024 now.

I'm also facing the same issue in the era of gpt 👀

Facing the same issue, but only in the emulator 🤔  on a real device (expo server and local production build works fine...)

I tried this approach and it worked for my case:
First I saved the keyboardVerticalOffset in a state and inside of KeyboardAvoidingView's onLayout, I switch between the value I set and 0 (One referring to keyboard focus and another for keyboard blur)

const KEYBOARD_OFFSET = 100

const KeyboardAvoidingBase: React.FC<KeyboardAvoidingViewProps> = ({
  children,
  style,
  ...props
}) => {
  const [offset, setOffset] = useState(0)

  const onLayout = () => {
    setOffset(currentOffset => currentOffset === KEYBOARD_OFFSET ? 0 : KEYBOARD_OFFSET)
  }

  return (
    <KeyboardAvoidingView
      testID='keyboard-avoiding-base'
      behavior='padding'
      onLayout={onLayout}
      keyboardVerticalOffset={offset}
      style={[styles.container, style]}
      {...props}>
      {children}
    </KeyboardAvoidingView>
  )
}

I haven't tested it on orientation change (I have the app set to portrait mode only), or on mounting new nodes in the render tree, so not sure if the onLayout would trigger on these changes, but this workaround worked for my case. Hope it works for you too. :)

On android set "behavior" prop to "undefined". On IOS set "behavior" to "padding". According to the RN documentation behavior is just required on IOS.
<KeyboardAvoidingView
behavior={Platform.OS === 'ios' ? 'padding' : undefined}>
</KeyboardAvoidingView>

It solved  the issue on Android.

@FoRavel The docs say it is recommended to set behavior for both platforms.
check the docs here

Android and iOS both interact with this prop differently. On both iOS and Android, setting behavior is recommended.

I solved like this. Please let me know if it works for you.
const [keyboardStatus, setKeyboardStatus] = useState(1);
useEffect(() => {
const showSubscription = Keyboard.addListener('keyboardDidShow', () => {
setKeyboardStatus(1);
});
const hideSubscription = Keyboard.addListener('keyboardDidHide', () => {
setKeyboardStatus(0);
});
    return () => {
      showSubscription.remove();
      hideSubscription.remove();
    };
}, []);

<KeyboardAvoidingView
            style={{ flex: 1, height:'100%' }}
            contentContainerStyle={{ flex: 1 }}
            behavior={Platform.OS === 'ios' ? 'padding' : 'height'}
            enabled
            keyboardVerticalOffset={Platform.OS === 'ios' ? 88 : keyboardStatus === 1 ? 64 : 0} >

I have used Keyboard.isVisible() method to set keyboardVerticalOffset. If Keyboard is not visible, the offset will be zero. I hope this works for you too.
<KeyboardAvoidingView style={styles.screen} behavior={Platform.OS === 'ios' ? 'padding' : 'height'} keyboardVerticalOffset={Keyboard.isVisible() ? 110 : 0}>
...

I solved like this. Hope it works for you guys.
const [keyboardStatus, setKeyboardStatus] = useState(1);
useEffect(() => {
    const showSubscription = Keyboard.addListener('keyboardDidShow', () => {
      setKeyboardStatus(1);
    });
    const hideSubscription = Keyboard.addListener('keyboardDidHide', () => {
      setKeyboardStatus(0);
    });
    return () => {
      showSubscription.remove();
      hideSubscription.remove();
    };
}, []);

<KeyboardAvoidingView
            style={{ flex: 1, height:'100%' }}
            contentContainerStyle={{ flex: 1 }}
            behavior={Platform.OS === 'ios' ? 'padding' : 'height'}
            enabled
            keyboardVerticalOffset={Platform.OS === 'ios' ? 88 : keyboardStatus === 1 ? 64 : 0} >
</KeyboardAvoidingView>

Thanks! This works, but a noticed that if a want to increase the gap between the top of the kayboard and the content I must change the keyboardVerticalOffset but this add a white space. I understand that is the expected behaviour but, Is there a work around in order of turn white space to transparent?

Hi @enmanuelmag,
Thanks for your feedback on my solution!
I also faced the same issue with the white space. As a workaround, I switched to using the react-native-keyboard-aware-scroll-view library, which provides more flexibility and avoids the problem with the white space.
I know this GitHub issue is regarding KeyboardAvoidingView, but I recommend switching to this package.
Here's an example of how you can implement it:
return (
        <View style={loginStyles.container}>
            {/* Status Bar */}
            <StatusBar
                barStyle={isDarkMode ? "light-content" : "dark-content"}
                hidden={false}
                backgroundColor={isDarkMode ? "#000" : "#fff"}
            />

            {/* App Header */}
            <Header disableButtons={!!(isButtonLocked)} />

            {/* Keyboard Aware Scroll */}
            <KeyboardAwareScrollView
                contentContainerStyle={{ flexGrow: 1 }}
                keyboardShouldPersistTaps={'handled'}
                enableOnAndroid={true}
                extraScrollHeight={Platform.select({ ios: 80, android: 40 })}
                extraHeight={180}
                keyboardOpeningTime={0}
                enableAutomaticScroll={Platform.OS === 'ios'}
                enableResetScrollToCoords={false} >

                <View style={loginStyles.loginFormBox}>
                    {/* Screen Title */}
                    <View style={loginStyles.screenTitleBox}>
                        <AbelProText textColor='gray' familyStyle={'bold'} size={selectedFont.size + 4}>USER LOGIN</AbelProText>
                    </View>

                    {/* Input Box */}
                    <View>
                        {errorStatus && (
                            <View style={loginStyles.alertBox_Error}>
                                <MaterialIcon name='error' color={'red'} size={selectedFont.size} style={loginStyles.formErrorIcon} />
                                <NunitoSansText textColor='red' style={loginStyles.messages} size={selectedFont.size}>{errorStatus}</NunitoSansText>
                            </View>
                        )}

                        {/* Email TextInput */}
                        <View>
                            <TextInput
                                inputMode="email"
                                placeholder="Enter Username"
                                style={[loginStyles.input, {
                                    borderWidth: formData.email.error ? 1 : 0,
                                    borderColor: "red",
                                    marginBottom: formData.email.error ? 10 : 20,
                                }]}
                                keyboardType="email-address"
                                autoComplete="off"
                                autoCorrect={false}
                                placeholderTextColor="#000"
                                ref={emailInput}
                                returnKeyType="next"
                                onSubmitEditing={() => passwordInput.current?.focus()}
                                blurOnSubmit={false}
                                onChangeText={onChangeEmail}
                                value={formData.email.value}
                                autoCapitalize="none"
                            />
                            {formData.email.error && (
                                <View style={loginStyles.formErrorBox}>
                                    <MaterialIcon name='error' color={'red'} size={selectedFont.size} style={loginStyles.formErrorIcon} />
                                    <NunitoSansText textColor='red' size={selectedFont.size - 2} style={loginStyles.formError}>{formData.email.error}</NunitoSansText>
                                </View>
                            )}
                        </View>

                        {/* Password TextInput */}
                        <View>
                            <TextInput
                                inputMode="text"
                                placeholder="Password"
                                style={[loginStyles.input, {
                                    borderWidth: formData.password.error ? 1 : 0,
                                    borderColor: "red",
                                    marginBottom: formData.password.error ? 10 : 20,
                                }]}
                                keyboardType="default"
                                autoComplete="off"
                                autoCorrect={false}
                                placeholderTextColor="#000"
                                ref={passwordInput}
                                returnKeyType="next"
                                onSubmitEditing={Keyboard.dismiss}
                                blurOnSubmit={false}
                                onChangeText={onChangePassword}
                                value={formData.password.value}
                                secureTextEntry={true}
                                autoCapitalize="none"
                            />
                            {formData.password.error && (
                                <View style={loginStyles.formErrorBox}>
                                    <MaterialIcon name='error' color={'red'} size={selectedFont.size} style={loginStyles.formErrorIcon} />
                                    <NunitoSansText textColor='red' size={selectedFont.size - 2} style={loginStyles.formError}>{formData.password.error}</NunitoSansText>
                                </View>
                            )}
                        </View>
                    </View>

                    {/* Submit Button */}
                    <View>
                        <Pressable onPress={handleLogin} disabled={isButtonLocked}>
                            {({ pressed }) => (
                                <LinearGradient
                                    colors={!pressed ? ['rgb(0,177,205)', 'rgb(0,144,216)'] : ['rgb(0,144,216)', 'rgb(0,177,205)']}
                                    start={{ x: 0.0, y: 1.0 }} end={{ x: 1.0, y: 1.0 }}
                                    style={{ height: 45, justifyContent: "center", alignItems: "center" }}>

                                    <AbelProText
                                        style={{ textAlign: "center" }}
                                        familyStyle={'bold'} textColor={"#fff"}
                                        size={selectedFont.size}>
                                        {isLoading ? <ActivityIndicator size={selectedFont.size + 4} color='#fff' /> : "SUBMIT"}
                                    </AbelProText>
                                </LinearGradient>
                            )}
                        </Pressable>
                    </View>

                    <View style={[loginStyles.footerTextContainer]}>
                        <NunitoSansText size={selectedFont.size} textColor="#000">Don't have an account? </NunitoSansText>
                        <Pressable onPress={GoToRegister}>
                            <NunitoSansText size={selectedFont.size} textColor={colorScheme.skyBlue}>Register Here</NunitoSansText>
                        </Pressable>
                    </View>
                </View>

            </KeyboardAwareScrollView>
        </View>
    );
    ```
    I hope this helps!

Best,
Abhay

After reading through countless threads and watching a lot of videos. I finally stumbled upon a thread from expo.
Keyboard Handling
Keyboard Handling tutorial for React Native apps
This uses react-native-reanimated and react-native-keyboard-controller.
PS: Please follow the instructions to install react-native-reanimated from official docs.
yarn add react-native-keyboard-controller

Wrap your app inside KeyboardProvider (_layout.tsx or App.tsx)
import { KeyboardProvider } from "react-native-keyboard-controller";
...
export default function Layout() {
  return (
    <KeyboardProvider statusBarTranslucent>
      ...
    </KeyboardProvider>
    )
}

PS: statusBarTranslucent prop can be removed according to needs.
Create a new hook file useGradualAnimation.ts
import { useKeyboardHandler } from "react-native-keyboard-controller";
import { useSharedValue } from "react-native-reanimated";

export const useGradualAnimation = () => {
  const height = useSharedValue(0);

  useKeyboardHandler(
    {
      onMove: (event) => {
        "worklet";
        height.value = Math.max(event.height, 0);
      },
    },
    []
  );
  return { height };
};

Create a new file KeyboardAwareView.tsx
import { StyleSheet, View, ViewProps } from "react-native";
import React from "react";
import { useGradualAnimation } from "@/hooks/useGradualAnimation";
import Animated, { useAnimatedStyle } from "react-native-reanimated";

export default function KeyboardAwareView({ children, style }: ViewProps) {
  const { height } = useGradualAnimation();
  const keyboardSizePaddingStyles = useAnimatedStyle(() => {
    return {
      height: Math.abs(height.value),
    };
  }, []);

  return (
    <View style={[styles.container, style]}>
      {children}
      <Animated.View style={keyboardSizePaddingStyles} />
    </View>
  );
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
  },
});

Now, you can simply use this new component as a standalone replacement for the default KeyboardAwareView.
Please see the video attached above for a better explanation. Hope this helps. ✨

the simple way is don't make KeyboardAvoidingView is root of element, instead you make View as root with flex 1

No suggestions here have worked for me and I'm surprised so many are able to get a good outcome with a fixed magic number (100) - I'll tell you this is a fluke and by no means a solid or dynamic solution.
Since this issue is still open after 4 years all I can recommend was abandoning react-native KeyboardAvoidingView and using react-native-keyboard-controller as it solved this issue with the benefit of being consistent across iOS and android.


Feat: add support for backing & restoring via backup manager

Motivation
Extends & unifies use of kontent CLI actions so that devs are able to easily backup & restore their projects using this repo without the need of using backup manager separately.
Proposed solution
Add set of CLI commands that will make use of the https://github.com/Kentico/kontent-backup-manager-js

fixed in #12


React step 1 PR JM

Completed Step 1 of Carbon Design System Tutorial

Hi I get the same errors on my PR, did you findout what the issue was?


Case of circular stack when logging errors

Closes #961

Howdy! Thank you for your contribution. This PR is against the<EMAIL_ADDRESS>release line. Since<EMAIL_ADDRESS>is now out we are only accepting major bug fixes. Since this is a bug fix will consider this for 2.x.

Thank you for your contribution, but development on the 2.x release line has ceased. If you would like to see this in a release of 2.x please open this PR against that branch and the team will evaluate it. Please note new feature requests against 2.x will more often than not be rejected.
Please see our Roadmap for more details.


Fix base image for antrea/antrea-controller-ubi

The image was incorrectly using ubuntu:22.04 as the base image instead of registry.access.redhat.com/ubi8. This issue must have been present since introducing split images for the Agent and Controller in v1.15.0.
Credit goes to @xliuxu for finding this issue.

/skip-all


Update configure-docker.md

Overwrite with new ones_zh

Greetings @arthuo , Thank you for your kind contribution. I've made a few comments.
It has been a tough spring due to the pandemic. I hope that you have taken good care of you and your family.

Greetings @arthuo , Thank you for your kind contribution. I've made a few comments. It has been a tough spring due to the pandemic. I hope that you have taken good care of you and your family.

Thanks. You should also take good care of yourself.


[$500] Web - Chat - Reply message is seen at the top of the chat before it's sent

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: <IP_ADDRESS>
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal team
Slack conversation:
Action Performed:

Navigate to https://staging.new.expensify.com/
Create a chat with any member
Send a message
Reply to the message with a text

Expected Result:
Reply message shouldn't be showing there.
Actual Result:
Reply message is seen at the top of the chat before it's sent. Sometimes it affects the first normal message in a chat.
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos
Add any screenshot/video evidence
https://github.com/Expensify/App/assets/93399543/a449b954-02b7-4322-bf15-92d7be9cb0b3
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~019c786219650c66b0
Upwork Job ID:<PHONE_NUMBER>955164672
Last Price Increase: 2024-01-03

I also cannot reproduce. Closing


Figure out a way to get real market data using HTTP APIs

Figure out a way to get real market data using HTTP APIs.
Possibly using something already implemented (finding a C++ library online) — do not reinvent the wheel.

Pretty interesting this Python library using Yahoo API that we could mimic in C++ https://github.com/pydata/pandas-datareader/blob/main/pandas_datareader/yahoo/options.py
@Waifod, worth a look 👁

Just found out that Yahoo finance vends public APIs for options.
curl https://query1.finance.yahoo.com/v7/finance/options/aapl```

Returns a nice JSON with all the information needed except the risk-free interest rate, that we will need to get it from another endpoint probably?

Worth a look this blog / doc for Yahoo Finance API -> https://cryptocointracker.com/yahoo-finance/yahoo-finance-api

Assuming that we do switch to our own cURL-based implementation, what about removing the yahoo-finance module?

Indeed, good point, we need to remove it.

Removed yahoo-finance in #64.

Extract
"bid": 132.74,
"ask": 132.75,

And then, with this provide a quote that is that pair bid & ask.
Then implement methods for retrieving the above values in the MarkeDataProvider
  double GetAssetAskPrice(const asset::AssetTicker& asset) const noexcept;
  double GetAssetBidPrice(const asset::AssetTicker& asset) const noexcept;

For the spot price, it depends on the type of trade. Might be the other way around
if sell -> ask
if buy -> bid

For the asset volatility
double GetAssetVolatility(const asset::AssetTicker& asset) const noexcept;```

we would need to get data of underlying asset price (either closing or opening prices) from the past months, and then compute it manually.

For the interest rate

double GetInterestRate() const noexcept;

we can just hard-coded (set it manually inside the code).  **This is already implemented.**

Tackled by https://github.com/Waifod/quant_finance_models/commit/8f0fc614a0b4a56d9af12650623a190a313dbc0e.


Flags should have a "defines" property

The Java command-line interface supports any number of --define arguments that are useful for overriding @define variable definitions.  I haven't seen any way to do the same thing in the JavaScript version of the compiler, so I've had to resort to modifying my source code on the fly.  Apologies if I've overlooked something.

We've not implemented all the flags, as it's a manual process to bring them across to this entry point, and not all of them line up. This sounds like a great candidate, I'll make sure this is in the next release.

Also just to make two observations on that gulpfile-

This compiler only accepts files that are in-memory (so you can't reference them on disk - we'd just load them fully anyway), re: externs.js
outputWrapper wasn't implemented (we thought it was, and documented it as such). It's also coming next release.

Sounds good--thanks for the feedback.

This is released in 20160916, here and on NPM.

Quick question: now that outputWrapper is implemented, does that obviate the need for assumeFunctionWrapper?  If not, does outputWrapper at least automatically default assumeFunctionWrapper to true, or at least enable the same optimizations that assumeFunctionWrapper enables, or are both still required?


Watch command doesn't track new files

Describe the bug
So I'm trying out themekit for a new store's theme. Previously been using Slate v0 (haven't gotten over to v1 of Slate yet, especially since we have a lot of v0 themes we need to support, and I'm not sure so far how to have both versions installed on my machine). I've created a new theme, and run the theme watch command in the folder.
If I make an edit to an existing file, it updates fine and pushes to Shopify.
However, if I add a new file, Themekit doesn't see it or do anything with it. It's the same whether I just create the file, copy it in from another folder, or even edit the file after it's created.
Conversely, when I'm using Slate v0, the watch command will track and upload new files.
I am new to using Themekit, so it's entirely possible I'm just doing something wrong, but just based on the documentation for each of the tools, and past experience with Slate v0, this seems like something that isn't quite working as expected.
To Reproduce
Steps to reproduce the behavior:

run command 'theme watch'
create new file in theme folder structure

Expected behavior
Expect the new file to be seen and uploaded, and then watched for any future changes just like an existing file.
Environment (please complete the following information):

OS [e.g. iOS]: MacOS 10.14.3
Themekit version [e.g. v0.7.5]: 1.0.0 Installed via Homebrew
Editor [e.g. atom, sublime]: Sublime Text

@idawgik Hello! I have gotten around to fixing this and I was wondering if you would be interested in using the v1.0.1-pre version for a while to test out for me.
You can try it out by running theme update --version=v1.0.1-pre. If you run theme version it will still say 1.0.0 but that is only because I did not update the version.

This was fixed in 1.0.1 and it was released today


fix: do not override known address after identify is done

Identify protocol being executed it means that both peers are somehow connected. Hence, it should not override working multiaddresses but only add to it.
Fixes #1484

Another fix would be to not add the addresses at all to the address book.

If we don't evict old addresses, there's a risk the list of known addresses for a remote peer will grow and grow, eventually growing beyond the maxDialsPerPeer limit which will cause dials to fail in a hard to debug way.
The question really is, why is the remote peer sending you <IP_ADDRESS> addresses?

Continuing discussion at https://github.com/libp2p/js-libp2p/issues/1484#issuecomment-1328946339


Error in /kanca/group/selection

Error in Kanca
Error in /kanca/group/selection
OAuthException:1:An unknown error has occurred.:GAcAs8ky7J+
View on Bugsnag
Stacktrace
webpack:///src/infra/service/graph.js:167 -

View full stacktrace

An error linked to this issue has been marked as fixed in Bugsnag
Error in /kanca/group/selection


Format all code with clang-format

Otherwise a noop change

Justin has given me blank check verbal LGTM.


Mention black formatting in CONTRIBUTING.md

In title

Is the idea contributors should black their own code prior to the pull request?

Ideally yes, I have added something mentioning this to the contributing documentation.
https://github.com/arm61/pylj/commit/7fd2f513c3fab3b391d305e5e65d7983ffba42c1


Fix chin bug from markdown rendering in comments and replies

Addressed the issue #104 by adding in a custom CSS selector. Also changed the flow of rendering to happen every single time the comment/reply gets rendered in JCComment and JCReply to fix a bug where the reply's formatting disappears when its comment widget gets focus.

LGTM!


Removed Copenhagen from the list of cities where Uber operates

Uber has stopped operating in Copenhagen, but their city page is still up. They have (work) offices in the country, and they are probably trying to get back in, but they have been shut down since April 2017 with no forseeable coming back.
Sources:

https://euobserver.com/nordic/137410
https://www.reuters.com/article/us-uber-tech-denmark/uber-to-end-services-in-denmark-after-less-than-three-years-idUSKBN16Z10G
https://www.theguardian.com/technology/2017/mar/28/uber-to-shut-down-denmark-operation-over-new-taxi-laws

Thank you ! Removed ! 🙌


VM: Implement Array Opcodes

This issue cannot be completed without first completing this: https://github.com/CityOfZion/neo-go/issues/167

TODO

Opcode
status
PR

ARRAYSIZE
open

PACK
open

PACK
open

PACK
open

PACK
open

PACK
open

PACK
open

PACK
open

PACK
UNPACK
PICKITEM
SETITEM
NEWARRAY
NEWSTRUCT
APPEND
REVERSE
REMOVE

UNPACK, REVERSE and REMOVE are not implemented currently.


THRIFT-4713: Review of TBaseHelper

@jeking3 Hey, I was already working on this one, so I'll submit it.  However, I'll take a look at any existing tickets now.

How certain are we that these code paths are properly unit tested?

@jeking3 Feel pretty good about it.
https://github.com/BELUGABEHR/thrift/blob/master/lib/java/test/org/apache/thrift/TestTBaseHelper.java

copyBinary
testSets
testNestedStructures (test comparison of List types)