Added Collation support

SCALA-249

Found out how to capture all Enums using reflection - so shouldn't miss anymore in the future.

LGTM


create new helm chart for deploying RTCD

Summary
Create a new helm chart for deploying RTCD service
Ticket Link
https://mattermost.atlassian.net/browse/MM-43735

Hi! Am I right that I need RTCD if I want to use new beta-calls?

Seems so, mattermost server does not have rtc udp port 8443, only this has. Could someone confirm setup?

Is this chart supposed to be supported for self-hosting? If anyone has got it working would would appreciate your thoughts.
Been trying to follow these steps but no luck yet.
The good news is
helm upgrade mattermost-rtcd mattermost/mattermost-rtcd -f mattermost-rtcd-values.yaml --namespace mattermost-rtcd --create-namespace --install --debug
seemed to finish (🎉 ).
The not so good news is calls are still ending after 10s, like they did before. I suspect UDP still isn't exposed because Mattermost client console log says:
com.mattermost.calls: rtc closed
com.mattermost.calls_20b1f0b7d4b3b754_bundle.js:2 com.mattermost.calls: disconnect

Where does this Ingress Class come from?

Should it not be just nginx? (cluster has Nginx Ingress installed).
Meanwhile the service AFAICT looks good.

So yeah, external traffic is apparently not hitting UDP port. Not sure where to look next 🤔
If anyone has any suggestions would be appreciated 🙏

Chart version: 1.1.1
mattermost-rtcd version: 0.7.0
Kubernetes: 1.24.4
Ingress: Nginx Ingress
values.yaml
image:
  repository: mattermost/rtcd
  tag: "v0.7.0"

ingress:
  enabled: true
  hosts:
    - host: mattermost-rtcd.mydomain.dev
      paths:
        - "/"


Use a more readable, simpler decorator syntax

The documentation demonstrates the following decorator:
@pytest.mark.test_case(fixture_binding=[
    ('first_fixture', { ... }),
    ('second_fixture', { ... }),
    ('third_fixture', { ... }),
])
def test_foo():
    pass

This is a little bit hard to understand. Maybe it would make more sense to use a self-explanatory syntax instead, such as:
from pytest_scenario import scenarios

@scenarios([
    { 'name': 'First scenario', ... },
    { 'name': 'Alternative scenario',  ... },
    { 'name': 'Advanced tests',  ... },
])
def test_foo():
    pass

Should be possible according to what I see in the py.test API docs and the Parametrizing docs.
Side Notes
Note that these are general thoughts. I'm not sure whether this is all possible with what this test plugin provides at the moment.
Really, I'm inspired by the simplistic solution presented at the py.test docs. The only thing that's missing there for me to be happy is to replace the 9 lines of code for the pytest_generate_tests function, and the scenarios = [scenario1, scenario2] statement by a decorator on top of the TestSampleWithScenarios class. -- That would be nice, uuuuuh! :yum:

@OriMenashe Any thoughts on this?
A @scenarios decorator on a function would be syntactic sugar that this plugin could provide. A re-written version of @pytest.mark.parametrize (as advertised in the pytest docs).


Reimplement core deprecated module as new packages (@reason-react-native/*)

Ordered by number of download on npm

[x] https://www.npmjs.com/package/@react-native-community/async-storage (100+k dl/w) WIP
[x] https://www.npmjs.com/package/@react-native-community/geolocation (15k dl/w)
[x] https://www.npmjs.com/package/@react-native-community/slider (12k dl/w)
[x] https://www.npmjs.com/package/react-native-webview (10+k dl/w)
[ ] https://www.npmjs.com/package/@react-native-community/viewpager (4+k dl/w)
[ ] https://www.npmjs.com/package/@react-native-community/masked-view (4k dl/w)
[x] https://www.npmjs.com/package/@react-native-community/checkbox (-1k dl/w)

Another step after that will be famous community packages.
(Note: we could do that now, & integrate the list to priorize on the number of npm download, extracted from core or from the community)
Should we consider at this point to make a dedicated GitHub org @reason-react-native and host all packages there?

You know, I think the github org thing might sound more legitimate to some people. If the idea to get more people involved.

Github org sounds good to me! 👍

I would be happy to help with the async-storage package :)

@tatchi feel free to open a PR based on netinfo folder, even if it's a WIP :)

I created an https://github.com/reason-react-native, I can create repo when necessary, just ask here for now.
I will split this monorepo asap into multiple packages as (imo) it doesn't make sense now to keep a monorepo as different modules won't need to be in sync with the reason-react-native core repo now that we have something stable.

@MoOx I could contribute:

https://www.npmjs.com/package/@cca-io/bs-react-native-device-info
https://www.npmjs.com/package/@cca-io/bs-rn-fetch-blob
Some stuff that we have not publicly released yet, e.g. react-native-keychain bindings.

Shall we move the core reason-react-native repo to the reason-react-native org, too?

Nice!
I will extract/move all packages in this monorepo indeed, including the "core" one.
Btw, should do we want to have package named reason-react-native/* or do we want to keep bs-* for some? Wondering if that's a good idea to have started with reason-*... I don't like fragmentations

For me reason-react-native/* is fine, so I guess I would rename the above packages to

@reason-react-native/device-info
@reason-react-native/fetch-blob

ok I am fine with that. I will start to extract stuff in the next few days.

Thanks for starting this @MoOx. I would love to contribute on

https://www.npmjs.com/package/@react-native-community/slider
https://www.npmjs.com/package/@react-native-community/geolocation

@MoOx I can work on WebView

I created the following repo

https://github.com/reason-react-native/device-info
https://github.com/reason-react-native/fetch-blob
https://github.com/reason-react-native/slider
https://github.com/reason-react-native/geolocation

Feel free to make PR there!

@MoOx I can help with the checkbox one :)

https://github.com/reason-react-native/checkbox

Please also create keychain.
BTW, we should standardize the package.jsons in these projects, especially regarding the scripts (i.e. whether it's build, re:build, bs:build etc.).

Indeed.
https://github.com/reason-react-native/keychain

Please also create keychain.
BTW, we should standardize the package.jsons in these projects, especially regarding the scripts (i.e. whether it's build, re:build, bs:build etc.).

Would it make sense to create a template repository ?

Would it make sense to create a template repository ?

Definitely! 👍

I am splitting the monorepo atm.  Will do my best to keep things working, including website, redirections from previous website etc, but might take a day or two, or more :D
I will make a template asap.
For npm scripts, I would like to keep things simple. What about this
    "start": "bsb -make-world -w",
    "build": "bsb -make-world",
    "test": "bsb -clean-world -make-world"

I will propose more commands soon, to handle, auto formatting, releases+tags & stuff like that.
We could discuss that in this repo https://github.com/reason-react-native/template

So I copied this repo for all package in it, then removed parts unecessary for each new repo (this was to keep git history).
I will have to flatten all repo as I have kept code in folder as they were. Will do that & will clean things after template is setup & ok on CI :)

For npm scripts, I would like to keep things simple. What about this
...

@MoOx Sounds good! Thanks for all your awesome work! 😃

Thanks a lot, the old repo was getting a bit too crowded.

bold & good move with moving the repo to a new org @MoOx.

Bon boulot, @MoOx! Merci!

Btw, I was thinking about renaming the reason-react-native-template because if we make a template repo, I don't want things to be confusing & was also thinking that having a template with a more explicit name can help (especially if we imagine having more complex template - spoiler: I plan to make one!)

@reason-react-native/hello-world-template 👍
@reason-react-native/hello-world 😄
@reason-react-native/template 🎉
@reason-react-native/react-native-template ❤

Please vote with reactions!

Why hello world? it's what it is...

maybe @reason-react-native/starter-template? otherwise 👍

starter seems ≃ to template to me, so
we could add

@reason-react-native/hello-world-starter
@reason-react-native/starter

Personally not a fan of "starter" naming tho.

If the idea is to say hey, use this to get started and being explicit, the name should suggest that. So how about @reason-react-native/use-this-to-get-started-template which is bad, but you understand what I mean. The others say, "Hey, look at this. It works". Maybe just be sure to put a template tag on the repo and mention it in the docs. This is officially bikeshedding so I will stop now.

Now that we simplified main repo, if you are ok with current structure of https://github.com/reason-react-native/reason-react-native, I could make a template repo for all bindings (!= react native template) so we can move forward with it (we might have to update CONTRIBUTING.md to add more technical details but we can do that later).

(I focused on the main repo so it's back on track, will handle others repo & new repo/PRs asap)

Thoughts on this template? https://github.com/reason-react-native/template/pull/1

Something to start with. Guess you got tired of repeating that process. You will get some feedback when you put it out there.

I have just added bindings for datetimepicker. Apparently, DatePickerIOS, DatePickerAndroid and TimePickerAndroid have been merged, but while they still remain included, the new component has already been ejected.

I think it's time we started deprecating/removing some of these modules as most of these components/APIs no longer exist.
However, to allow people to use older versions of RN, we can simply remove what has been deprecated or removed until some reasonable version and deprecate everything else deprecated or removed since then.
Therefore, we should decide what is reasonable. To remind everyone here are the release dates for recent RN versions (initial release and final minor release):

Version
Release date

0.59
March 12, 2019

0.59.10
July 2, 2019

0.60
July 3, 2019

0.60.6
September 24, 2019

0.61
August 27, 2019

0.61.5
November 23, 2019

I think anything that's been removed since v 0.60 should at least be marked as deprecated.

to allow people to use older versions of RN

People can just use older bindings right?
I think it's time to release a clean slate & remove everything that has been deprecated & removed. Most moved repo have their own bindings now.

Sure. In fact, I think at this stage, anyone using older versions of RN should be better off using the community version of what are probably long neglected components.

Should we remove everything at once or one PR per removed module?
Should we update documentation to inform of the removal and point towards the replacement?

To make this simple

Yes
Yes but just link to new pages => we should add docs for all existing module in the rrn org. I will try to work on that so search field could give result if you look for "navigation", "netinfo" etc...

So we could first remove all & keep md with just a link inside to repo, I will replace those link to rrn repos in an upcoming PR in the website.

Below is a recap of what's been deprecated or removed. * indicates new bindings already available (AlertIOS is replaced by Alert).
Deprecated

Module

AsyncStorage
*

Clipboard
*

CheckBox
*

DatePickerAndroid
*

DatePickerIOS
*

ImagePickerIOS
*

MaskedViewIOS

Picker

PickerIOS

ProgressBarAndroid

ProgressViewIOS

PushNotificationIOS
*

SegmentedControlIOS

Slider
*

Removed

Module

AlertIOS
*

CameraRoll

GeoLocation

ImageEditor

NetInfo
*

TimePickerAndroid
*

ToolbarAndroid

ViewPagerAndroid
*

WebView
*

We do not have bindings for appropriate replacements of quite a few components/APIs. I intend to add a few more (CameraRoll, ImageEditor and perhaps few more), but I expect we still will miss a few of them.
When we do not have such bindings
• I believe it makes sense to express in their documentation that they are deprecated and will be removed in the future but not yet remove them.
• should we trigger deprecation warnings?
• should we add a repo for each replacement and point towards that even if we don't yet have the bindings?
When we do have such bindings
• should we remove them?
• should we keep them and trigger deprecation warnings?

I would do:
For deprecated: nothing, as RN already pops an alert during development. People should already looks for alternative.
If we don't have bindings for alternative, well we don't have them! It's the time to work on it (I am not saying you or I should handle it). People can contribute back or just come and express their need & help to handle some new bindings.
For removed: just remove them. As I said before, I think if a thing is removed from 0.x from RN, bindings at 0.x should just remove them. No warning or nothing except notes in the changelog.

Now that some of these components have been removed from React Native, name space conflicts are no longer an issue. Accordingly, couldn't we simplify names of some of the new modules? For example, instead of ReactNativeWebView, we could switch back to WebView.

I am just afraid that with this, we could have clash for generic name. What if another ocaml/reasonml thing have the same generic name (eg: Location) ? That's the main reason I will stick to ReactNativeXxxxx. Otherwise if that's really a problem, we cold adhere to native naming like RN community is doing for Podspec & friends RNXxxx ?

I have the feeling that most used modules have been shipped already into the org. Feel free to continue to ask more repo if you want to push some bindings :)


Improvements to the binomial likelihood and GP_var_gauss

GP_var Gauss can now use likelihoods which require metadata.
The binomial likelihood (with metadata) is now more numerically stable.

Thank you James, that's great!
We will merge it in as soon as we have the automised binary wheel creation for distribution of the package installed.
The next milestone has this in!

fixed


Line lenght in the post-CGA era

Could we allow 100 or 120 long lines?
CGA with 80×25 characters was developed 40 years ago.

not until I have a bigger laptop


kirilld/adhoc: Go version bump and Dockerfile fixes

Overview
Github Issue: N/A
Summary (required always)
This PR bumps Go to version 1.19.x from 1.18.x, as well as fixing the Dockerfiles found in the Docker/ directory - making them work again.
Notes

 ✅  Unit tests pass

 ✅  Containers build

 ✅  Tools are present in the containers

Checklist

[x] My pull request title follows the format <username>/<gh-issue-#number>:<short-description>
[x] My code passes existing unit tests
[x] My code follows the code style set for the project
[x] I have added at least one reviewer for this PR

I have read the CLA Document and I hereby sign the CLA

recheck


Issue with Missing Push Notification Entitlement

Hello guys,
i wanted to start to use branch.io with my ionic app. I added it and on of course it works. But since i add the sdk, on every build i submit to the itunes store there comes an error from the app store:

Dear Developer,
We identified one or more issues with a recent delivery for your app, "Mein Hetzner". Your delivery was successful, but you may wish to correct the following issues in your next delivery:
Missing Push Notification Entitlement - Your app appears to register with the Apple Push Notification service, but the app signature's entitlements do not include the "aps-environment" entitlement. If your app uses the Apple Push Notification service, make sure your App ID is enabled for Push Notification in the Provisioning Portal, and resubmit after signing your app with a Distribution provisioning profile that includes the "aps-environment" entitlement. Xcode 8 does not automatically copy the aps-environment entitlement from provisioning profiles at build time. This behavior is intentional. To use this entitlement, either enable Push Notifications in the project editor's Capabilities pane, or manually add the entitlement to your entitlements file. For more information, see https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/HandlingRemoteNotifications.html#//apple_ref/doc/uid/TP40008194-CH6-SW1.

After some debugging with the ionic dev team, it turns out, that this sdk has the same problem described here: https://ionic.zendesk.com/hc/en-us/articles/360001923973?input_string=ios+builds+-+missing+push+entitlement
Can you have a look into this? I must remove the sdk from the app since i can't release the app on ios with it :)
Thank you!

Hello @LKDevelopment,
Unfortunately, the Branch Cordova SDK does not use Push Notifications. We only use Associated Domains for URI Scheme deep linking.

Additionally, if you dig into your <APP_NAME>.entitlements file, you should see that this SDK does not add the aps-environment key.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>com.apple.developer.associated-domains</key>
    <array>
      <string>applinks:cordova.app.link</string>
      <string>applinks:cordova-alternate.app.link</string>
    </array>
  </dict>
</plist>

Are you using another plugin for Push Notifications? You might want to investigate that plugin.
Thanks,

Hello @ethanneff,
i use the one signal push plugin. Without the branch.io sdk it works without any error, but with the branch.io sdk there is the error, so it seems to be a error from the branch.io sdk :) The ionic support says the same, i think they could send more informations on this: @ionic-team @BrianIonic

Is there any update on this issue? We are experiencing the same problem. Did anyone solve this issue?

Nope, the only working solution was to leave branch.io out of the app.

So we can't use both branch and one-signal plugin together.  Right?
Is there any other solution or plugin available to do the same?

Thanks for posting. I have this issue too. Adding additional information in the hope that this issue can be resolved.
In my case, creating binaries with IonicPro results in "Missing Push Notification Entitlement" and breaks the push notifications feature. However, I created a local environment to replicate the issue and surprisingly it's working (in development). I've confirmed that both deep links and onesignal push notifications are working. I don't know why building on my local is different to building on IonicPro. Building locally doesn't work for our team so I'm still working on a final solution.
Ionic:    ionic (Ionic CLI)  : 4.0.0-rc.9    Ionic Framework    : ionic-angular 3.9.2    @ionic/app-scripts : 3.1.9 Cordova:    cordova (Cordova CLI) : 8.0.0    Cordova Platforms     : ios 4.5.4 System:    ios-deploy : 1.9.2    NodeJS     : v8.9.4 (/Users/matthew/.nvm/versions/node/v8.9.4/bin/node)    npm        : 5.6.0    OS         : macOS High Sierra    Xcode      : Xcode 9.4.1 Build version 9F2000
There were two key things that where needed to make this work.

Our provisioning profiles in developer.apple.com where marked invalid. Re-saving them in developer.apple.com made them active again. IonicPro had to be updated with these new development and distribution profiles.
I still can't figure out how to update associated domains automatically/correctly. In theory, adding this to config.xml should work (but doesn't).

<edit-config file="*-Debug.plist" mode="merge" target="com.apple.developer.associated-domains"> 	<array> 		<string>applinks:53es.app.link</string> 		<string>applinks:53es-alternate.app.link</string> 		<string>applinks:53es.test-app.link</string> 		<string>applinks:53es-alternate.test-app.link</string> 	</array> </edit-config> <edit-config file="*-Release.plist" mode="merge" target="com.apple.developer.associated-domains"> 	<array> 		<string>applinks:53es.app.link</string> 		<string>applinks:53es-alternate.app.link</string> 		<string>applinks:53es.test-app.link</string> 		<string>applinks:53es-alternate.test-app.link</string> 	</array> </edit-config>
I tried every combination of things I could think of or find online but XCode would never include these domains in the final binary. It worked, if I pasted these domains directly into the MyAppName.entitlements file (in the root).
`

aps-environment
development
com.apple.developer.associated-domains

applinks:myappname.app.link
applinks:myappname-alternate.app.link

applinks:53es.app.link
applinks:53es-alternate.app.link
applinks:53es.test-app.link
applinks:53es-alternate.test-app.link

`
I noticed that the applinks:myappname were always being generated but I'm not using a custom domain with Branch.io. So I changed config.xml to use the assigned domain "53es".
<branch-config>     <branch-key value="key_live_..." />     <uri-scheme value="myappname" />     <link-domain value="53es.app.link" />     <ios-team-release value="XFN..." /> </branch-config>
Branch.io then generated the following. Note the missing test domains. I'm not sure how to resolve that. But at least this allowed a binary to be successfully generated without manually updating.
`

aps-environment
development
com.apple.developer.associated-domains

applinks:53es.app.link
applinks:53es-alternate.app.link

`

This hack worked in Ionic3 for creating an iOS binary using IonicPro. Both push notifications and branch.io deep links are confirmed working. This also seems to confirm that branch.io somehow removes this entitlement during a build. Hopefully, someone from the branch.io team can resolve this.
Note that the key difference between an IonicPro build and our local build is that IonicPro adds the ios platform on the fly during the build process.
/ios_push_entitlement_hack.sh
#!/bin/bash
if grep -q aps-environment platforms/ios/MyAppName/Resources/MyAppName.entitlements; then
  echo "Push notification entitlement already exists."
else
  echo "Push notification entitlement added."
  sed -i '' '/^[[:space:]]*<dict>/a\'$'\n''\'$'\t''<key>aps-environment<\/key>\'$'\n''\'$'\t''<string>development<\/string>\'$'\n''' platforms/ios/MyAppName/Resources/MyAppName.entitlements
fi

config.xml
<platform name="ios">
   <hook src="ios_push_entitlement_hack.sh" type="after_platform_add" />

Hello,
In branch SDK we do not use push notifications, neither in code nor in XCode settings.
Our findings are as follows:

Created a sample ionic app and integrated branch SDK into it. Submitted to iTunes. Accepted successfully.

Added “one signal push” plugin into the project and submitted to iTunes. “Missing Push Notification Entitlement” error occurs.

Removed “one signal push” plugin from the project and submitted to iTunes. Accepted successfully!
We are enabling push notification in XCode only for “one signal push” plugin as follows.

In XCode from “Capabilities”, enable “Remote Notification” from “Background Mode”
Enable push notification at the time of certificate creation

Please note that while using push notification, iTunes could throw this type of error if we do not do as follows:
Open the project in Xcode.
Select your App from the menu Target.
Go to “Code Signing Entitlements” in “Build settings” in Target and check the path of the entitlement.
Thanks

Guys the problem is that you overwrite the entitlement completely, not that you use push notifications or everything else. The way you overwrite the entitlement looks wrong. But okay, when you say "Not our problem", then Branch is not the right solution for Ionic Developers.

@LKDevelopment sorry about this -- we're gonna fix the overwriting of the entitlements.

@LKDevelopment @matthew-valenti
Branch sdk currently sets the code signing entitlements differently in App_Name.entitlements file which is inside the Resource folder (under the root folder).
It does not use the App_Name.entitlements file in the root folder for this purpose. As a result when we archive the app, it takes the configuration from inside the Resource folder, where the aps-environment key is not present. (One Signal plugin is unaware of the Resource folder) and hence you are facing this issue.
A temporary  workaround  for this issue is to manually edit the code signing entitlement, that is the Entitlements-release.plist file in the root folder.

I came across the same thing (using Cordova 9), also using OneSignal/push entitlements.
As far as I understand, I previously only had Entitlements-Debug.plist and Entitlements-Release.plist files for entitlements, which contains the correct keys for push from OneSignal and associated domains.
This plugin writes to [APP_NAME].entitlements file, and the Resources/[APP_NAME].entitlements, which only contains the associated domain keys. It also modifies the location of the entitlements file
Doing a diff between with branch-sdk installed and without results in the notable differences of:
Only in cordova-branch/platforms/ios/[APP_NAME]: [APP_NAME].entitlements

Only in cordova-branch/platforms/ios/[APP_NAME]/Resources: [APP_NAME].entitlements

Files cordova/platforms/ios/[APP_NAME]/Entitlements-Debug.plist and cordova-branch/platforms/ios/[APP_NAME]/Entitlements-Debug.plist differ

Files cordova/platforms/ios/[APP_NAME]/Entitlements-Release.plist and cordova-branch/platforms/ios/[APP_NAME]/Entitlements-Release.plist differ

therefore I am convinced that this plugin is doing something unusual with respect to standard Cordova practice (the last two modifications are correct).
See https://github.com/nordnet/cordova-universal-links-plugin/issues/8#issuecomment-289472886 for a similar issue.
Related to #252

This should be resolved in the latest release.


2-Factor authentication fail with Email TOTP

Describe the issue:

In Configuring Email OTP for 2-Factor Authentication,
When we set the basic as 1st Factor and EmailOTP as the second factor , the authentication flow fails after the 1st Factor  by redirecting back to the login page .
https://user-images.githubusercontent.com/40081059/168143111-d77065dd-6c9c-46f7-9038-def96ea1df5d.mov
Error at console:
ERROR {org.wso2.carbon.identity.application.authentication.framework.handler.step.impl.DefaultStepHandler} - Authentication failed exception! Authentication Failed: Authenticator Properties may be null
How to reproduce:

1.Login to Management console
2.Create application
3.Configure basic as 1st authentication step and OTP as second authentication.
4.Navigate to the application login page
5.Complete the 1st authentication step
Expected behavior:

1.An OTP should be send to the user mail.
2.OTP page should be prompt to enter the verification code  and to  complete the second authentication step.
Environment information (Please complete the following information; remove  any unnecessary fields) :

Product Version: [e.g., IS 5.12-beta2]
OS: [Mac]
Database: [MySQL]
Userstore: [JDBC]

Optional Fields
Related issues:

Suggested labels:

Couldn't reporduce locally. Expected behaviour can be seen.
Environment information:

Product Version: IS 6.10.0
OS: Mac
Database: Postgres
Userstore: jdbc

https://user-images.githubusercontent.com/47152272/212799853-c776a795-4a3e-46f6-bbee-f665bac98c52.mov


proxy environment variables are ignored by ibm-vpc-block-csi-driver

When setting the HTTPS_PROXY, HTTP_PROXY, or NO_PROXY environment variables on the ibm-vpc-block-csi-driver, the driver ignores them and does not use the requested proxy.
This causes a failure during volume provisioning on OpenShift if the cluster-wide proxy is configured.
The difference, compared to AWS or Azure, is that the IBM driver doesn't use http.ProxyFromEnvironment when setting up the HTTP transport.

@ambiknai @arahamad-zz @GunaKKIBM
Can you please review this PR? https://github.com/IBM/ibmcloud-volume-interface/pull/38


Add OCI as an object storage backend for StreamingData

🚀 Feature
I'd like to add OCI Object Storage as an object storage backend.
Motivation
I primarily work in Oracle Cloud Infrastructure, and I'd like to leverage lit data StreamingDataset in OCI.
Pitch
I will contribute an OCI_STORAGE_AVAILABLE and OCIDownloader with test coverage.
Alternatives
Additional context

Hi @dkennetzoracle,
Thank you for creating this issue!
OCI Object Storage is S3-compatible, so you may be able to connect to it using existing S3 methods. Here’s some documentation that could help:

Using the S3-Compatible API with Oracle Object Storage

Example of Configuring AWS SDK for Python
For example:
import boto3

s3 = boto3.resource(
    's3',
    aws_access_key_id="your-access-key-id",
    aws_secret_access_key="your-secret-access-key",
    region_name="us-phoenix-1",  # Replace with your region
    endpoint_url="https://<your-namespace>.compat.objectstorage.us-phoenix-1.oraclecloud.com"
)

# Print out the bucket names
for bucket in s3.buckets.all():
    print(bucket.name)

Let us know if this approach works for your implementation.
cc: @tchaton

@bhimrazy - thanks for the reply - I know how to use boto3, it is just inconvenient because I am not using aws. I'd prefer to authenticate with the provider I am using, and also use their object storage clients. We can close this. Thanks!

Thanks for your input, @dkennetzoracle! We totally understand your preference, and happy to share that we'll soon be adding support for fsspec, which supports a variety of storage systems, including OCIFS. This will allow you to reference your buckets with oci:// instead of s3:// directly.

@bhimrazy if it's in your backlog, I can take it on as I have cycles outside of work. Would be fun to work on and the project is great. Thanks!

@dkennetzoracle, feel free to get started.
Here’s the PR you can refer to: PR Link.
It was already merged but had to be reverted due to some issues in the multi-node setting.
Also, feel free to join the Lightning AI community on Discord: Discord Invite.
Happy to chat more over there!

@bhimrazy you helped me today with my litdata question! I'm dk


[doc] Add documents for "weex.supports" API

The weex.supports API will be added in v0.15, and only supported in Weex DSL 2.0 (.vue).

ping @Tancy

weex-vue-render should implement this too, right ? Otherwise it'll be crashed in web platform.


We still facing deprecation warnings

Seems like the if/else
        if ([PluginUtil isIOS7_OR_OVER]) {
          decodedData = [[NSData alloc] initWithBase64EncodedString:tmp[1] options:0];
        } else {
          decodedData = [NSData dataFromBase64String:tmp[1]];
        }

still throws a deprecation error. I guess there need to be something more runtime-stable or we will have compiling errors later

Done https://github.com/wf9a5m75/phonegap-googlemaps-plugin/commit/db0783aae0a1dff69c3d5665a8c820f492b14ce4#diff-0f995cdc9daa8ae3dfc78c6a10b75e0dR385

:+1:


Footer font color

Footer font color does not work for verso_content. It is always black.
footer:
font_family: FreeSans
font_color: #ffffff
background_color: #00afaa
border_color: #000000
border_width: 1
height: 0.4in
line_height: 1
recto_content:
right: '{section-or-chapter-title} | {page-number} / {page-count}'
verso_content:
right: '{section-or-chapter-title} | {page-number} / {page-count}'
Tried this but of no avail:
footer:
font_family: FreeSans
font_color: #ffffff
background_color: #00afaa
border_color: #000000
border_width: 1
height: 0.4in
line_height: 1
recto_content:
font_color: #ffffff
right: '{section-or-chapter-title} | {page-number} / {page-count}'
verso_content:
font_color: #ffffff
right: '{section-or-chapter-title} | {page-number} / {page-count}'
It happens when logo image size is beyond a specific size.
title_page:
logo_image: image:/x/test.png[width=640,align=center]
background_color: #ffffff
align: center
An extra blank page is also added at the end of the document when that happens.

Can you confirm which version of AsciidoctorJ you are using?

Styling of text differently on the verso and recto faces is only possible using the new key structure, which is supported since alpha.13.
footer:
  verso:
    right:
      font_color: #6CC644

I updated now to see if it works.
Asciidoctor PDF 1.5.0.alpha.13 using Asciidoctor 1.5.2 [http://asciidoctor.org]
Runtime Environment (ruby 2.2.3p173 (2015-08-18 revision 51636) [x86_64-linux]) (lc:UTF-8 fs:UTF-8 in:- ex:UTF-8)
I had resized the image with [width=680,align=center] to fit into the title page without realizing that it was the issue that caused a blank page at the end.
[width=635,align=center] fixes the issue and the footer text color is correct for even and odd pages.

Yes, the size of the image on the title page is a known issue. It doesn't yet have automatic fitting like images on content pages. I'll add that to the list.

Actually, would you like to file an issue to automatically force the image on the title page to fit if it's too large?

OK, the issue is not with even and odd pages.
If the logo image size is [width=680,align=center], it goes the end of the document and footer text is in black (default) at that page.
If [width=635,align=center] is used for the logo image, it goes back to its normal place.
Image size: 1470x2079

:+1:


Benchmarks

Add benchmarks for raycasting performance and boundstree creation. The code is transpiled with babel-register so imports can be used in node.
Some questions / concerns:

Is performance affected adversely by transpiling?
Performance of computeBoundsTree seems to vary heavily between runs. Could garbage collection be affecting it? That call to benchmark seems to take 20+ seconds but the result says runs for ~3 seconds. Is it better to run this a couple times only?

Run the benchmarks with npm run benchmark

Thanks for adding these.
Do we endorse having two separate compilation pipelines? Can we configure either Babel or Parcel in a way that either Babel can build the bundle or Parcel can run the benchmark? It makes me slightly nervous if the benchmarked code is not really the same as the bundled code. (Only slightly, but still.)

I'm going to merge this and track your suggestions in other issues. Upgrading to babel 7 seems like it might require some changes to config etc and I'll have to look into that.


Added converter to convert from T to Option[T]

The converter is basically just syntactic sugar so that you don't have to put some before the value e.g.
# Notice how you don't need some
 let embed = Embed(
    title: "This is a Title",
    description: "Extra info"
)

The change will be added in v1.2.4


Bug Report DNN PLATFORM v. 09.09.00 (0) Redirect After Logout/Redirect After Login

Bug Report DNN PLATFORM v. 09.09.00 (0) Redirect After Logout/Redirect After Login
Setup:
I create new pages for "YouLoggedOut" and "Social"
In Site Settings/ Site Behavior/ Default Pages, I set:
"Redirect After Logout" to "YouLoggedOut"
"Redirect After Login" to "Social"
Test

I log out and the Redirect after logout page appears (YouLoggedOut).  Test = Pass
I log back in and Redirect After Login page (the "Social" page) fails to appear.
State is: User is logged-in, but the Redirect After Logout page remains on screen. Redirect After Login page does not appear.
Test = Fail
Attempted work-around:-
I tried to adjust the Permissions such that Registered Users were denied access to the Redirect After Logout page (YouLoggedOut).  However, the (YouLoggedOut) page still appears, but it carries the message "You do not have access to view this page within the site."
Test = Fail I expected the YouLoggedOut page not to appear, and the "Social" page to be the redirect.

Any comments?

are you running a single langauge or a multilingual site (#4311) ?

Hi Sebastian.  It has en-US and en-GB so, yes.  It's multilingual.  I'll pursue that angle.  Many thanks.
Is there anything specific I should check?  The pages are showing the correct url for en-GB
https://myconstituency.online/en-gb/YouLoggedOut
However the  Home Page shows simply as https://myconstituency.online/en-gb/
If I set permissions on the "YouLoggedOut" page to Block Registered Users, but Allow "All Users" I get this when I log in again:
https://myconstituency.online/en-gb/YouLoggedOut/ctl/Access Denied/message/d454797a46b34504a1ed7878f9486172


Update apache-client, kinesis, sqs to 2.25.50

About this PR
📦 Updates

software.amazon.awssdk:apache-client
software.amazon.awssdk:kinesis
software.amazon.awssdk:sqs

from 2.25.32 to 2.25.50
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "software.amazon.awssdk" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "software.amazon.awssdk" }
}]

labels: library-update, early-semver-patch, semver-spec-patch, commit-count:1

Superseded by #875.


PUPIL-321 update storybook README file with new components structure

Description
Music year: 2013

update storybook README file with new components structure

Issue(s)
Fixes #PUPIL-321

:tada: This PR is included in version 1.332.2 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


appRoot property getting prepended to socket.io script and creating a 404

I'm running my server from the parent directory of the default output path (so I can access other JS and CSS assets) and then setting:

rootPath to the parent directory
appRoot to the child directory (outputpath)

All works fine except that the appRoot is getting prepended to the socket.io script and creating a 404, stopping auto reload from working.
I managed to solve it by removing {{{appRoot}}} from the index.html template, so instead of
<script src="{{{appRoot}}}/socket.io/socket.io.js"></script>
it reads
<script src="/socket.io/socket.io.js"></script>
I'm creating a fork on https://github.com/superelement/sc5-styleguide and will make a pull request.

Where is the /socket.io/socket.io.js supposed to exist in the styleguide project? I see the folder socket.io in node_modules but socket.io.js doesn’t seem to exist in that folder. It exists in socket.io-client/socket.io.js.


Augur is vulnerable to clickjacking

I think you want to avoid being iframed:
http://evilwebsite.com/xss.php?frame_xss=https://dev.augur.net
This can be done in javascript, by checking that top==self or by adding an HTTP header that says x-frame-options: deny.
Risk of this is low, but you still probably should fix it.

@sirdarckcat Good catch and thank you for the report! I have moved this to our internal issue tracker.


1.6 HouseKeeping & SCMIS prototype

Completed together as a team.

Did the prototype in Figma

https://www.figma.com/file/NDQT96zMJQ2wTZbJknq0Jg/Prototype?node-id=0%3A1&t=nsZFz1ygOs8uGKxO-1

Completed as a team.


serenity cannot be properly resolved

I lost the reference:

please describe how it happened? Or after which action ?

Check that you have Serenity.CoreLib.d.ts, reinstall NuGet if not


Add Episode and AudioObject Schema

Clear and concise description of the problem
I need the two following schema objects for a podcast:
Episode: https://schema.org/Episode
AudioObject: https://schema.org/AudioObject
Suggested solution
Episode Schema:
The primary schema type for a podcast episode is the Episode schema. This schema can capture details specific to the episode.
@type: "Episode"
name: The title of the episode.
description: A brief summary or description of the episode.
datePublished: The release date of the episode.
episodeNumber: The episode number, if applicable.
url: The URL of the episode page.
image: The cover image or thumbnail for the episode.
partOfSeries: A reference to the podcast series, typically using the CreativeWorkSeries or RadioSeries schema type.
AudioObject Schema:
To represent the actual audio file of the podcast episode, use the AudioObject schema.
@type: "AudioObject"
contentUrl: Direct link to the audio file.
duration: Duration of the audio file (e.g., "PT1H30M" for 1 hour 30 minutes).
encodingFormat: The format of the audio file, like "audio/mpeg" for an MP3.
Alternative
No response
Additional context
No response

Going to track this in Unhead, where there is already an issue. See https://github.com/harlan-zw/nuxt-schema-org/issues/35


Fetch selectable channel list from RDHT (#142)

Aw, issue hyperlinks don't work for pull requests, oh well

Oh, you kind of jumped the gun on this one. I was going to use a file that @bluepilledgreat's going to create, which stores the current list. Besides, this implementation isn't great as it always loads on startup and not only when needed by the menu.

I was gonna make it load in the menu but had issues with it, but fair enough


rsync_opts is not a string, but a list

See https://github.com/ansible/ansible-modules-core/blob/devel/files/synchronize.py#L229.
I don't know what's the best solution, but I would suggest to be explicit about how it's used in this role.

Some months ago, there was an issue reported at https://github.com/ansistrano/deploy/commit/e98942dc969d4e620313f00f003a7ea2eab67e86 and this is why we changed rsync_opts to force a string in order to allow multiple --include and some other potentially duplicable arguments
Maybe we can be a bit more explicit about it in the docs, will add a small comment

Added at https://github.com/ansistrano/deploy/commit/ccbbbd3f0263fe337f5ff5846bfa76b79b2559f2

I don't see why adding multiple --includes would be an issue, see. It's just a joined list.

I remember testing it and crashing, did not look much into it TBH, you can try it yourself!


Error: ENOENT on ubuntu

Description

Neovim version
NVIM v0.9.5
Build type: Release
LuaJIT 2.1.1692716794

OS information
ubuntu 23
Steps to reproduce
return {
  'IogaMaster/neocord',
  event = "VeryLazy",
  config = function(_, opts)
    require("neocord").setup({
      logo                = "auto",                -- "auto" or url
      logo_tooltip        = nil,                   -- nil or string
      main_image          = "language",            -- "language" or "logo"
      client_id           = "1157438221865717891", -- Use your own Discord application client id (not recommended)
      log_level           = nil,                   -- Log messages at or above this level (one of the following: "debug", "info", "warn", "error")
      debounce_timeout    = 10,                    -- Number of seconds to debounce events (or calls to `:lua package.loaded.presence:update(<filename>, true)`)
      blacklist           = {},                    -- A list of strings or Lua patterns that disable Rich Presence if the current file name, path, or workspace matches
      file_assets         = {},                    -- Custom file asset definitions keyed by file names and extensions (see default config at `lua/presence/file_assets.lua` for reference)
      show_time           = true,                  -- Show the timer
      global_timer        = false,                 -- if set true, timer won't update when any event are triggered

      -- Rich Presence text options
      editing_text        = "Editing %s",         -- Format string rendered when an editable file is loaded in the buffer (either string or function(filename: string): string)
      file_explorer_text  = "Browsing %s",        -- Format string rendered when browsing a file explorer (either string or function(file_explorer_name: string): string)
      git_commit_text     = "Committing changes", -- Format string rendered when committing changes in git (either string or function(filename: string): string)
      plugin_manager_text = "Managing plugins",   -- Format string rendered when managing plugins (either string or function(plugin_manager_name: string): string)
      reading_text        = "Reading %s",         -- Format string rendered when a read-only or unmodifiable file is loaded in the buffer (either string or function(filename: string): string)
      workspace_text      = "Working on %s",      -- Format string rendered when in a git repository (either string or function(project_name: string|nil, filename: string): string)
      line_number_text    = "Line %s out of %s",  -- Format string rendered when `enable_line_number` is set to true (either string or function(line_number: number, line_count: number): string)
      terminal_text       = "Using Terminal",     -- Format string rendered when in terminal mode.
    })
  end,
}

Logs

I will look into this

I will look into this

it's requerid to use nix?

No

So what exactly happens?
Is discord running with necessary settings to use RPC?

I think so, because I use the same extension on vscode and that work correctly
I don't why but, it's cannot connect with may discord...

In windows also, it say no 'pipediscord-ipc-0', shall I make one?

maybe check if you are using a flatpak/snap version of discord. i think only the linux version works


images/cilium: Move Envoy reference away from builder and runtime

Having the envoy reference next to the builder and runtime references causes git context conflicts for PRs whenever either of them change in main. Keep them separate to avoid unnecessary merge conflicts.
Fixes: #29638

/test


Fill measurement lists when initializing dock widgets

This closes #177 by programmatically clicking the Update Measurements button after the widget has been initialized.

Thanks, Robert @haesleinhuepf!


configuration file

--config configs/<CONFIG_FILE> What is the configuration file in the command, I have tried many times and got an error, I would like to ask for the solution!

<CONFIG_FILE> is the configuration files in configs folder.
<DATASET_ROOT> is the root folder you put the dataset.


No default dr available for APOGEE_REDUX DR16, need to set it by hand

When I try to import apogee.tools.read as apread,
It shows the error:
OSError: No default dr available for APOGEE_REDUX DR16, need to set it by hand
Two environment variables have been set:
 'SDSS_LOCAL_SAS_MIRROR': '/Users/du/OneDrive/Work/gaia_lyrae_sample/apogee_jobovy/data',
 'RESULTS_VERS': 'l33'

The whole error screenshot:

That's weird! There must be something going wrong with the environment variable, because this should work with the current version I think. Could you try
import apogee.tools.path as appath
print(appath._APOGEE_REDUX,appath._DR16REDUX, appath._APOGEE_REDUX == appath._DR16REDUX)

and send the output?

That's even weirder, because you don't seem to be able to load the tools submodule, which you seem to have been able to do before (when importing apogee.tools.read). Something may be corrupted about your installation, so the best thing to do might be to wipe the installation and freshly install the latest master branch.

Did you install with pip? There is an apogee package on pip that's not the same!


fix queue insertion

fixes #6

Codecov Report

Merging #7 (9aafe04) into main (afd900d) will increase coverage by 1.45%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main       #7      +/-   ##
==========================================
+ Coverage   61.36%   62.81%   +1.45%
==========================================
  Files           6        6
  Lines         352      355       +3
==========================================
+ Hits          216      223       +7
+ Misses        123      120       -3
+ Partials       13       12       -1

Impacted Files
Coverage Δ

fetcher.go
53.24% <ø> (ø)

queue.go
71.80% <100.00%> (+2.61%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update afd900d...9aafe04. Read the comment docs.


Jmbuzano/dataset loader functional testing

Proposed changes
This is a launcher app to test the dataset loader.
Types of changes
What types of changes does your code introduce to the HEBench Frontend?
Put an x in the boxes that apply

[ ] Bugfix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[x] Documentation Update (if none of the other choices apply)

Checklist
Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code.

[x] I have read the CONTRIBUTING doc
[x] Current formatting and unit tests / base functionality passes locally with my changes
[ ] I have added tests that prove my fix is effective or that my feature works (if appropriate)
[x] I have added necessary documentation (if appropriate)
[ ] Any dependent changes have been merged and published in downstream modules

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

@jmbuzano , btw, file headers should not be modified from what the automated system generates. The copyright date seems to have been changed from 2021 to 2022 in the latest commit, which is causing the automation to detect the wrong header and fail CI, and/or generate double headers. Plz, fix at the earliest convenience.


Add common TLS configuration

Signed-off-by: Jonah Back<EMAIL_ADDRESS>Closes #1837

Which problem is this PR solving?

Makes TLS configuration standard across various storage systems

Short description of the changes

Moves TLS configurations into the tls package
Refactors cassandra/kafka/elasticsearch backends to use the common configuration

This change is

@backjo Thanks!
I was also working on this on the plane, see #1840. It is slightly more configurable than your version, but so far I only switched gRPC client/server configs to it. Let me get it merged, and then you should be able to use that for storage configs.
NB We will need to add SkipHostVerify as another configurable option.

Sounds good 👍

@backjo #1840 was merged, do you want to try to integrate it into this PR?

@yurishkuro yeah, I'll try to integrate it in tonight

The problem with current TLS options is that due to --es.tls: true and other embedded options, the config cannot be defined in JSON. In yaml there is a workaround:
es:
    tls: true
es.tls.cert: "/foo/bar"

So let's deprecate the --es.tls and if it is used use it but create a warning message. The tls package should not add deprecated enabled flag for new components (e.g tls for kafka)

Yeah, this isn't ready for review yet with your changes - let me update when it is

@backjo do you plan to continue this PR?

yep - will try to push what I have locally tonight - sorry for the delay!

@yurishkuro @pavolloffay I've updated this and I believe it's ready for review.
Summary of changes:

Move Kafka/ES/C* TLS setup and configuration to use the shared TLS config.
Added SkipHostVerify as a TLS option
Added a tls.enabled: true flag that is the recommended flag for enabling tls. tls: true is now marked as deprecated.

@yurishkuro mind taking a look?

I'll take a look, most likely over the weekend, a bit swamped this week

Trying to tackle these review comments today - just getting back from a vacation

@backjo do you have the cycles to finish this PR? If not, I can take over.

@yurishkuro will have cycles at the end of this week - otherwise, feel free to take over if you want to get it in sooner.

no hurry, if you can finish it it would be great.

A couple of remarks:

cassandra and ES use different flags for host verification --cassandra.tls.verify-host and --es.tls.skip-host-verify - make sure both work. Pick one going forward and deprecate the other one
GRPC reporter support reporter.grpc.tls.server-name which is not supported by other TLS impls at the moment.
ES TLS impl support insecure (--es.tls.skip-host-verify) without any cert https://github.com/jaegertracing/jaeger/commit/47d20296982d2e01432be46daef1dfc2c365872b#diff-06fc7142fac7ac3ed9db42948f2558c8R306
ES TLS impl support CA cert without any other certs and tls disabled https://github.com/jaegertracing/jaeger/commit/47d20296982d2e01432be46daef1dfc2c365872b#diff-06fc7142fac7ac3ed9db42948f2558c8R308

Make sure the functionality above works with the refactoring

@pavolloffay I think we should go with 'skip-host-verify' as the default option , with 'verify-host' being the deprecated one, since the 'skip-host-verify' will be more secure with the default value.

I think we should go with 'skip-host-verify' as the default option , with 'verify-host' being the deprecated one, since the 'skip-host-verify' will be more secure with the default value.

+1

Some of the flags look weird - two dots:
      --reporter.grpc..tls                                        (deprecated) see --reporter.grpc..tls.enabled
      --reporter.grpc..tls.ca string                              Path to a TLS CA (Certification Authority) file used to verify the remote server(s) (by default will use the system truststore)
      --reporter.grpc..tls.cert string                            Path to a TLS Certificate file, used to identify this process to the remote server(s)
      --reporter.grpc..tls.enabled                                Enable TLS when talking to the remote server(s)
      --reporter.grpc..tls.key string                             Path to a TLS Private Key file, used to identify this process to the remote server(s)
      --reporter.grpc..tls.server-name string                     Override the TLS server name we expect in the certificate of the remove server(s)
      --reporter.grpc..tls.skip-host-verify                       Skip TLS hostname verification

@backjo thanks for your patience, and sorry for the delay in reviewing. There are just a few small issues remaining:
(a) can you amend the commit b7d5be88a88e43e3aa0728147b6965d228b8f98c to include the sign-off?
(b) These flags are missing, need to restore and deprecate them:
       --cassandra-archive.tls.verify-host
       --cassandra.tls.verify-host

(c) sync with master


Emulator is not showing any changes of index.android.js file

I have made some changes to code.. and Emulator is not giving result as expected and even if i do reload js changes are not reflecting.
react-native 0.13.0 android
Ubuntu 14.04
these are logs I am getting
[12:58:10 PM]    Crawling File System (1929ms)
[12:58:10 PM]  Building in-memory fs for JavaScript
[12:58:12 PM]    Building in-memory fs for JavaScript (1981ms)
[12:58:12 PM]  Building in-memory fs for Assets
[12:58:14 PM]    Building in-memory fs for Assets (1191ms)
[12:58:14 PM]  Building Haste Map
[12:58:14 PM]  Building (deprecated) Asset Map
[12:58:15 PM]    Building (deprecated) Asset Map (463ms)
[12:58:15 PM]    Building Haste Map (1261ms)
[12:58:15 PM]    Building Dependency Graph (7570ms)
[12:58:31 PM]  request:/index.android.bundle?platform=android&dev=true
[12:58:31 PM]  find dependencies
[12:58:31 PM]    find dependencies (470ms)
[12:58:31 PM]  transform
transforming [========================================] 100% 378/379[12:58:50 PM]  request:/index.android.bundle?platform=android&dev=true
[12:58:54 PM]  request:/index.android.bundle?platform=android&dev=true
[12:59:04 PM]  request:/index.android.bundle?platform=android&dev=true
[12:59:07 PM]  request:/index.android.bundle?platform=android&dev=true
[12:59:10 PM]  request:/index.android.bundle?platform=android&dev=true
[12:59:22 PM]  request:/index.android.bundle?platform=android&dev=true
[12:59:50 PM]  request:/index.android.bundle?platform=android&dev=true
[12:59:54 PM]  request:/index.android.bundle?platform=android&dev=true

Please use Stack Overflow and tag your question with react-native for asking these kinds of questions: http://stackoverflow.com/questions/tagged/react-native
Many people from the community hang out on Stack Overflow and will be able to see and likely also answer your question. Using Stack Overflow for questions also helps us use Github issues to keep track of bugs that need to be fixed.

Thanks
On Tue, Oct 27, 2015 at 10:41 PM, Andy Street<EMAIL_ADDRESS>wrote:

Closed #3671 https://github.com/facebook/react-native/issues/3671.
—
Reply to this email directly or view it on GitHub
https://github.com/facebook/react-native/issues/3671#event-447046729.


Some errors during hostmaster install

I'm seeing a few errors during the installation of hostmaster.

hostmaster_1  | Unable to load Array driver for the dns service: Expecting class         [error]
hostmaster_1  | Provision_Service_dns_Array
hostmaster_1  | Unable to load Array driver for the dns service: Expecting class         [error]
hostmaster_1  | Provision_Service_dns_Array

It doesn't seem to cause the installation to fail, and Aegir does work afterwards. So not critical... just something to document and maybe fix...

Hmm I think this is from some cutting edge provision issue... Could you submit to Drupal.org/project/provision?

Posted: https://www.drupal.org/node/2835818
Closing this issue. If it turns out to be a Docker+Aegir issue, we can reopen, but you're probably right that it is Provision.


chore(go-client): Merge go-client from XiaoMi/pegasus-go-client

https://github.com/apache/incubator-pegasus/issues/945
Merge go-client from XiaoMi/pegasus-go-client

My check list:

[x] all actions passed
[x] APLv2 license header added to all files, or reasonable configs added to .licenserc.yaml
[ ] xiaomi updated to apache

[ ] go package urls: not changed. If change to apache, make will fail, we have to do this change in the next PR
[ ] PEGASUS_PKG_URL: not changed. I added TODO to do it next time.
[ ] urls in README.md: not changed. Since go-client is not released on apache repo yet.
[ ] go-client/docs/how_to_add_new_interface.md: not changed. Same.


White spaces are inserted into string tempalte during formatting

Describe the bug
val foo =
"""|Test1Test.java:1:1: Avoid using default package
                    |Test1Test.java:3:6: Class name should be in PascalCase
                    |Test1Test.java:5:5: Variable name should be in lowerCamelCase
                    |Test1Test.java:7:1: File should end with trailing newline
                    |""".trimMargin()

Expected behavior
Content of string tempalte shouldn't be changed.
Environment information

diktat version: 1.2.1

@petertrr, I believe this is a duplicate of #1347.

Duplicate of #1347


Add extra annotations scores to the filtered variants (#242).

This is a clean branch that addresses the previous comments.
Closes #242.

Hi, we want to release the RC next week. If you address all issues until then, we will be happy to include this.

Important!
Now that #323 has been resolved you will have to amend your commit message by the following three trailing/last lines. Otherwise, the "check required trailers" check that has just been introduced will fail.
Closes: #242
Related-Issue: #242
Projected-Results-Impact: none


SteamSHP

def SteamSHP(input_query: str):
    device = "cuda"  # if you have a GPU
    tokenizer = AutoTokenizer.from_pretrained("stanfordnlp/SteamSHP-flan-t5-large")
    model = T5ForConditionalGeneration.from_pretrained(
        "stanfordnlp/SteamSHP-flan-t5-large"
    ).to(device)
    x = tokenizer([input_query], return_tensors="pt").input_ids.to(device)
    y = model.generate(x, max_new_tokens=1)
    output = tokenizer.batch_decode(y, skip_special_tokens=True)
    return output

In my opinion, better left for a later iteration.


Test  test_nan_lnprob failing

General information:

emcee version: 2.2.1
platform: x86_64
installation method (pip/conda/source/other?): source

Problem description:
I'm building emcee with python 3.7 and numpy 1.16.1 in the Fedora build system
https://koji.fedoraproject.org/koji/taskinfo?taskID=32454853
Expected behavior:
The tests run OK after installation
Actual behavior:
ERROR: emcee.tests.Tests.test_nan_lnprob
Traceback (most recent call last):
File "/usr/lib/python3.7/site-packages/nose/case.py", line 197, in runTest
self.test(*self.arg)
File "/builddir/build/BUILDROOT/python-emcee-2.2.1-12.fc30.x86_64/usr/lib/python3.7/site-packages/emcee/tests.py", line 184, in test_nan_lnprob
self.check_sampler(p0=p0)
File "/builddir/build/BUILDROOT/python-emcee-2.2.1-12.fc30.x86_64/usr/lib/python3.7/site-packages/emcee/tests.py", line 112, in check_sampler
for i in self.sampler.sample(p0, iterations=N):
File "/builddir/build/BUILDROOT/python-emcee-2.2.1-12.fc30.x86_64/usr/lib/python3.7/site-packages/emcee/ensemble.py", line 198, in sample
lnprob, blobs = self._get_lnprob(p)
File "/builddir/build/BUILDROOT/python-emcee-2.2.1-12.fc30.x86_64/usr/lib/python3.7/site-packages/emcee/ensemble.py", line 364, in _get_lnprob
if np.any(np.isinf(p)):
TypeError: ufunc 'isinf' not supported for the input types, and the inputs could not be safely coerced to any supported types according to the casting rule ''safe''

This is fixed in the latest version (3.0.0)


[DOCS] Add 7.16.1 release notes

@jbaiera @masseyke I'm going to merge this in, but a post-merge review is appreciated!


Implement -[init] methods to get rid of warning.

Xcode gives the warning "method override for the designated initializer of the superclass '-init' not found" for classes APCountry, APReverseGeocoding and APCountryInfoBuilder.

I have a better fix. Closing this.


macOS Catalina Unable to run .py script: Invalid Server Response

I get the following error:
python onenote_export.py --outdir ~/Downloads/onenote_export --select 'Personal'
File "onenote_export.py", line 62
raise RuntimeError(f'Invalid server response: {resp}')
^
SyntaxError: invalid syntax

Make sure you're using at least Python 3.6. you might have to replace python with python3 in the command.


Cannot assign to a reference or variable!

I'm trying to setup my ion2-calendar and this error is showing up.
I've followed the installation instructions and I'm trying to use a date range calendar, so this is my code in component and html:
Component
  ...
  import { CalendarComponentOptions } from 'ion2-calendar';

  export class ReportComponent {
    dateRange: { from: string; to: string; };
    type: 'string';
    optionsRange: CalendarComponentOptions = {
      pickMode: 'range'
    };

    constructor() { }
  }

HTML
<ion-grid>
  <ion-calendar [(ngModel)]="dateRange"
              [options]="optionsRange"
              [type]="type"
              [format]="'DD-MM-YYYY'">
  </ion-calendar>
</ion-grid>

As you can see, it's equal to the instructions. What can it be?
ionic -v
3.18.0

Please provide the error message


Workspace builds are unable to preserve intermediate results not stored in the source directory.

See original issue on GitLab
In GitLab by [Gitlab user @richardmaw-codethink] on Jul 25, 2018, 14:19
Summary
It's not unusual to have projects whose build system stores their intermediate results in a different directory to the source directory. e.g. have a C project put its object files in a directory called ../o relative to the source directory.
directory may be used to stage into a relative sub-directory and leave space to have an objects directory, but since workspace builds just bind-mount the source directory into the sandbox, object files outside of the sandbox are not preserved.
Steps to reproduce
What is the current bug behavior?
Contrary to the expectation of workspace builds preserving intermediate files, only intermediate files in the source directory are preserved.
What is the expected correct behavior?
Intermediate files from previous builds of that workspace are available in the sandbox to be reused by the build.
Possible fixes

If the element's source layout matches the workspace's layout, bind-mount a parent directory, rather than the source itself, into the sandbox.
Probably not a useful solution since it requires the user to change how they arrange their workspace to support it.

Add a new workspace command or a new option to workspace open to link a directory to be bind-mounted in with the source directory.

Store those intermediate objects in artifacts in the cache and stage them in addition to mounting the workspace's source directory.

Caching and staging the intermediate files appeals from a cleanliness POV, but is a big difference in behaviour from how workspaces normally work, since it's expected that the intermediate files are around to inspect.
There were also suggestions that it was wanted that these intermediate files may appear anywhere on the filesystem rather than alongside the source directory, which may require a filesystem watcher or overlayfs to handle efficiently.

In GitLab by [Gitlab user @willsalmon] on Aug 8, 2018, 09:43
assigned to [Gitlab user @willsalmon]

In GitLab by [Gitlab user @tristanvb] on Aug 10, 2018, 05:24
[Gitlab user @richardmaw]-codethink: How can you reproduce this issue with BuildStream ?
As far as I can see, the following invariants make this a non-issue:

The BuildElement uses Sandbox.mark_directory() to declare that build-root and install-root will not be readonly during the Element.assemble() stage.
We currently do not support out of tree builds where builddir != srcdir

We only support builddir != srcdir where the builddir is a subdirectory

If we want to support completely out of tree builds, this does not need to precipitate such a dramatic change

A straight forward way of implementing out-of-tree builds, would be:

Stage the sources to the source/ subdirectory, using the Source base class understood directory configuration
Set the command-subdir variable to the source/ directory, so that all commands are run in the subdir where the sources are staged (this will "just work" for any build element).
Invoke the configure script (or what have you), informing it that the build dir is ../build

Now the build dir and source dir are both subdirectories of %{build-root}, a nicely writable location.

Workspaces will "just work", since both the Source.stage() and Source.init_workspace() methods already take into account the automatic directory configuration which can be set for any Source.

directory may be used to stage into a relative sub-directory and leave space to have an objects directory, but since workspace builds just bind-mount the source directory into the sandbox, object files outside of the sandbox are not preserved.

This is untrue, a workspace is created by BuildStream, and it must match what goes into %{build-root}. When you set the directory argument, you are structuring the layout inside  %{build-root}, and BuildStream will bind mount the entire workspace to %{build-root}, not only the directory set subdir of your workspace.
Does this satisfy the use case sufficiently that we can just close this and move on ?

In GitLab by [Gitlab user @willsalmon] on Aug 24, 2018, 17:02
#Note: There has been quite a bit of talk on the mailing list about this
The main points are that there are two examples of how to do this long hand:

https://gitlab.com/BuildStream/buildstream/commit/86995d2b7cf290d78cf9beafb946d9ed0e2dd8e6
https://gitlab.com/BuildStream/buildstream/commit/799b21d077d9fb370f4649b4dbb4ea123bb0beeb

And a proposal to make it slightly better and to document : https://mail.gnome.org/archives/buildstream-list/2018-August/msg00067.html
I have started this and am putting my progress in https://gitlab.com/BuildStream/buildstream/commits/willsalmon/outOfSourecBuild

In GitLab by [Gitlab user @willsalmon] on Sep 5, 2018, 13:20
mentioned in merge request !776

In GitLab by [Gitlab user @toscalix] on Oct 1, 2018, 08:51
marked this issue as related to #661

In GitLab by [Gitlab user @willsalmon] on Oct 10, 2018, 11:41
mentioned in commit a774a3450ec568176e415f0be4cd4cae6d54129b

In GitLab by [Gitlab user @willsalmon] on Oct 10, 2018, 11:41
mentioned in commit c6298bc05d46061bff837b18f28a9b4507e73443

In GitLab by [Gitlab user @willsalmon] on Oct 10, 2018, 11:41
mentioned in commit 783637a3fc4fa80448ef1c8fb3daa2a575ab38fa

In GitLab by [Gitlab user @willsalmon] on Oct 10, 2018, 11:41
mentioned in commit 8f865d186886ba74774aef3a419e01d943c2f215

In GitLab by [Gitlab user @willsalmon] on Oct 10, 2018, 11:41
mentioned in commit 35c038704fe125b02686cc8f2a930723cf9b3df1

In GitLab by [Gitlab user @willsalmon] on Oct 10, 2018, 11:41
mentioned in commit 26cf2e5765eb11a5528b2cd1e804c4065f0e39b6

In GitLab by [Gitlab user @willsalmon] on Oct 10, 2018, 11:41
mentioned in commit 836727ba6366224d7bedc15a34c767cfa8964b39

In GitLab by [Gitlab user @willsalmon] on Oct 10, 2018, 15:21
mentioned in commit be9208a198a62dfd66b9d39882979e748d3448bf

In GitLab by [Gitlab user @willsalmon] on Oct 10, 2018, 15:21
mentioned in commit 01e1d11645af6b478619a278e2859043b59bdb03

In GitLab by [Gitlab user @willsalmon] on Oct 10, 2018, 15:21
mentioned in commit 4651e4b0d728f3225ebdeb0b774d1b4b32fa7883

In GitLab by [Gitlab user @willsalmon] on Oct 11, 2018, 10:09
mentioned in commit 9b57cf245e0351af81e0451b40adba3576643abc

In GitLab by [Gitlab user @willsalmon] on Oct 11, 2018, 10:09
mentioned in commit 8ec1a1ea95f98b6f632fdb4dfdca6ba89a180faf

In GitLab by [Gitlab user @willsalmon] on Oct 16, 2018, 13:39
mentioned in commit 6298e4093d48845b4d49bd95505b44961f7d37bd


hologram (& deviant interdisplinarity )

a bunch of iterative work to get tags working, but now they work.


Compatibility with macOS Mojave

Are there any plans to update the code to work with macOS Mojave?

I actually don't know what's causing the problem on macOS Mojave. It may take some time until I find a solution.

Thanks to https://github.com/JohnCoates/Aerial/issues/464#issuecomment-435626674 I was able to fix the compatibility problem with macOS Mojave.
One has to include the SWIFT_MODULE_NAME in the Info.plist file of the application. The SWIFT_MODULE_NAME can be set by defining the PRODUCT_NAME in the build settings.


Updating code to add new rule for correlate on left of join

This is a work in progress, it needs to be updated to master and some tests updated.
Queries such as
select * from mytest, unnest(mv_to_array(c2)) as u(c) where c in (select col from (values('A'),('C')) as t(col))

is currently not supported and throws the error
Error: SQL query is unsupported
Query not supported. Please check Broker logs for additional details. SQL was: select * from mytest, unnest(mv_to_array(c2)) as u(c) where c not in (select col from (values('A'),('C')) as t(col))
org.apache.calcite.plan.RelOptPlanner$CannotPlanException

Missing conversion is LogicalSort[convention: NONE -> DRUID]
There is 1 empty subset: rel#971385:Subset#10.DRUID.[], the relevant part of the original plan is as follows
971383:LogicalSort(fetch=[1001:BIGINT])
  971379:LogicalCorrelate(subset=[rel#971380:Subset#8.NONE.[]], correlation=[$cor0], joinType=[inner], requiredColumns=[{2}])
    971229:LogicalTableScan(subset=[rel#971366:Subset#0.NONE.[]], table=[[druid, mytest]])
    971377:LogicalProject(subset=[rel#971378:Subset#7.NONE.[]], c=[$0])
      971375:LogicalJoin(subset=[rel#971376:Subset#6.NONE.[]], condition=[=($0, $1)], joinType=[inner])
        971370:Uncollect(subset=[rel#971371:Subset#3.NONE.[]])
          971368:LogicalProject(subset=[rel#971369:Subset#2.NONE.[]], EXPR$0=[MV_TO_ARRAY($cor0.c2)])
            971230:LogicalValues(subset=[rel#971367:Subset#1.NONE.[0]], tuples=[[{ 0 }]])
        971364:LogicalValues(subset=[rel#971374:Subset#5.NONE.[0]], tuples=[[{ 'A' }, { 'C' }]])

This is because Calcite does not understand that a query of form
select * from t1, UNNEST(d1) as u(d) where d IN (select d2 from t2)

And translates this to  Correlate (t1, (Join (u, t2) ON u.d=t2.d2))
We have introduced an additional rule here that in such cases transposes the correlate and the join to plan these type of queries as a join over a correlate
So this query would plan as Join (Correlate(t1,u) as t , t2) ON t.d=t2.d2
This PR has:

[ ] been self-reviewed.

[ ] using the concurrency checklist (Remove this item if the PR doesn't have any relation to concurrency.)

[ ] added documentation for new or modified features or behaviors.
[ ] a release note entry in the PR description.
[ ] added Javadocs for most classes and all non-trivial methods. Linked related entities via Javadoc links.
[ ] added or updated version, license, or notice information in licenses.yaml
[ ] added comments explaining the "why" and the intent of the code wherever would not be obvious for an unfamiliar reader.
[ ] added unit tests or modified existing tests to cover new code paths, ensuring the threshold for code coverage is met.
[ ] added integration tests.
[ ] been tested in a test Druid cluster.

The rule can potentially be avoided by moving the logic inside JoinRule. But I have kept a separate rule so that we can just disable this if needed. In future I'll think of moving this inside the joinRule

There's some dependency and redundancy with #15075 . Ideally that should be merged in first and then the duplicate parts in the PR will be removed. Just that the code exists here to make this work


Popup leaves trace in split window with terminal (plus possibly related segfault)

A popup window is not redrawn correctly when it is moved over a terminal window in a horizontally split window. Sometimes, that seems to cause Vim to crash.
To Reproduce

Create bug.vim with the following content:

set mouse=a
if has('mouse_sgr')
  set ttymouse=sgr
endif
terminal
call popup_create('hello', #{drag: 1, border: []})

Run vim -n -i NONE -N -u bug.vim
Go to the lower buffer.
Drag the popup window over the terminal window.

Expected behavior
The popup window does not leave any “trace”.
Screenshots

Environment (please complete the following information):

Vim version: 8.2.1150
OS: macOS 10.13.6
Terminal: macOS's Terminal.app

Additional context
I am able to crash Vim with:
Vim: Caught deadly signal SEGV
VIm: Finished

in a situation similar to what I have described, but I have not been able to reproduce it consistently.

Thanks for fixing this so quickly! There is a similar issue involving the other window in the split, which is still reproducible in Vim 8.2.1197, as follows:

Run vim --clean -u bug.vim (bug.vim as above).
Go to the lower buffer.
:set foldmethod=marker
:edit foo.txt (see linked file below).
Go to the terminal buffer and press CTRL-\ CTRL-N to enter Normal mode.
Drag the popup window over the lower window.

Attachment: foo.txt

I cannot reproduce the second problem.

I definitely can:

I have tried with Vim 8.2.1206 in macOS's Terminal.app and Ubuntu's Gnome Terminal. The cursor must be in the terminal window.
In fact, I even get random crashes (with SEGV, sometimes SIGABRT) from time to time, after dragging the pop-up for a while, switching buffers, entering/exiting terminal mode, and clearing the screen with CTRL-L… I am not doing much else. But the crashes happen only once in, say, ten or twenty tests.

@brammool wrote:

I cannot reproduce the second problem.

I also cannot reproduce the issue.
The popup does not leave traces for me with vim-8.2.1206
on Linux x86_64 (xubuntu-18.04.4).
However, I see another (less severe) bug:  when dragging the popup
with the mouse toward the bottom of the screen, the popup can go on top
of the Ex command line (which is fine I suppose) but if you try drag further
below (mouse on the Ex line or below the terminal) the popup jumps up
a few above the Ex line. It's not nice and unclear why it does that.
I've tried with gnome-terminal, xfce4-terminal and xterm (same behavior).

Please double-check that the cursor is on the terminal split while dragging the popup over the other split window. Also, please try with different sizes of your terminal's window. Other than that, I don't know why I can reproduce it deterministically in two different systems, but you cannot.
Besides the glitch mentioned by @dpelle, the popup gets “squashed” to the right side, as in this screenshot:

RE the crashes: I have sent Bram a core dump from Linux I've just got, and a few stack traces from crashes in macOS. They all happened randomly after I opened a popup window.

@lifepillar wrote:

I have sent Bram a core dump from Linux I've just got

That's probably not usable unless you also send the vim binary. A core file can only be used with its corresponding vim binary.
Core files may also be too big to send.
More useful would be for you to build Vim with asan (address sanitizer) and send put the asan output in this ticket.
It's only a matter of:

uncommenting this line in vim/src/Makefile:

SANITIZER_CFLAGS = -g -O0 -fsanitize=address -fno-omit-frame-pointer

rebuild: make clean; make -j8
run vim as follows: $ cd vim/src ; ./vim 2> asan.log

In case of invalid memory access, the file asan.log may contain useful information (stacks. ...)

@dpelle Thanks for the tips. Now, Vim crashes consistently as soon as I start dragging the popup window (following the steps in my comment above). I have tried three times. Logs attached.
asan.log
asan2.log
asan3.log
Does that help?

@lifepillar asked:

Does that help?

Yes, the asan stack are almost always useful in case of crash.
The memory overflow is at mouse.c:2874:
2848     int
2849 mouse_comp_pos(
...snip...
  2872         int cache_idx = lnum - win->w_topline;
  2873
!!2874         if (plines_cache != NULL && plines_cache[cache_idx] > 0)

Maybe you can print the value of lnum and win->w_topline just before  line 2874?
I see that plines_cache is allocated in may_update_popup_mask() using
the Rows global variable, which is changed when resizing the screen.
I don't think that there is any screen resize triggered in the steps that you indicated though.

I can trigger the crash without splitting the window. It seems that it is an issue with folded text:
DEBUG: row = 18
DEBUG: lnum = 1
DEBUG: win->w_topline = 1
DEBUG: row = 17
DEBUG: lnum = 23
DEBUG: win->w_topline = 1
DEBUG: row = 16
DEBUG: lnum = 24
DEBUG: win->w_topline = 1
DEBUG: row = 15
DEBUG: lnum = 47
DEBUG: win->w_topline = 1
=================================================================
==936==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60e000003658 at pc 0x0001082590e4 bp 0x7ffee7de99d0 sp 0x7ffee7de99c8
READ of size 4 at 0x60e000003658 thread T0
    #0 0x1082590e3 in mouse_comp_pos mouse.c:2878
    #1 0x10838b96e in may_update_popup_mask popupwin.c:3528
    #2 0x107f27980 in update_screen drawscreen.c:158
    #3 0x1088892ce in main_loop main.c:1398
    #4 0x108884e4d in vim_main2 main.c:898
    #5 0x10887cb86 in main main.c:442
    #6 0x7fff5c905014 in start (libdyld.dylib:x86_64+0x1014)

Address 0x60e000003658 is a wild pointer.
SUMMARY: AddressSanitizer: heap-buffer-overflow mouse.c:2878 in mouse_comp_pos
[...]

I can trigger the crash without splitting the window. It seems that it
is an issue with folded text:
DEBUG: row = 18
DEBUG: lnum = 1
DEBUG: win->w_topline = 1
DEBUG: row = 17
DEBUG: lnum = 23
DEBUG: win->w_topline = 1
DEBUG: row = 16
DEBUG: lnum = 24
DEBUG: win->w_topline = 1
DEBUG: row = 15
DEBUG: lnum = 47
DEBUG: win->w_topline = 1
=================================================================
==936==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60e000003658 at pc 0x0001082590e4 bp 0x7ffee7de99d0 sp 0x7ffee7de99c8
READ of size 4 at 0x60e000003658 thread T0
    #0 0x1082590e3 in mouse_comp_pos mouse.c:2878
    #1 0x10838b96e in may_update_popup_mask popupwin.c:3528
    #2 0x107f27980 in update_screen drawscreen.c:158
    #3 0x1088892ce in main_loop main.c:1398
    #4 0x108884e4d in vim_main2 main.c:898
    #5 0x10887cb86 in main main.c:442
    #6 0x7fff5c905014 in start (libdyld.dylib:x86_64+0x1014)

Address 0x60e000003658 is a wild pointer.
SUMMARY: AddressSanitizer: heap-buffer-overflow mouse.c:2878 in mouse_comp_pos
[...]

I still can't reproduce.  What is the code in mouse.c around line 2878?
For me it's an #ifdef, so that can't be what you have.
--
How To Keep A Healthy Level Of Insanity:
11. Specify that your drive-through order is "to go".
/// Bram Moolenaar --<EMAIL_ADDRESS>-- http://www.Moolenaar.net   \
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \
\\  an exciting new programming language -- http://www.Zimbu.org        ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

I can now reproduce the crash with vim-8.1.1214.
Not sure why I could not reproduce earlier.
I get the same stack with asan as posted by @lifepillar .
I'll investigate.

The bug is easier to reproduce with the following bug2.vim script:
set mouse=a
if has('mouse_sgr')
  set ttymouse=sgr
endif
sil e! foo.txt
set foldmethod=marker
call popup_create('hello', #{drag: 1, border: []})
terminal

valgrind sees the same error as asan:
$ valgrind --num-callers=30 ./vim --clean -n -u bug2.vim 2> valgrind.log

With this script, you just need to click on the popup and drag it down a few lines down and the memory error occurs (nothing to type). The file foo.txt is the same as already attached by @lifepillar .
When you drag the popup down, valgrind reports:
==8034== Memcheck, a memory error detector
==8034== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==8034== Using Valgrind-3.17.0.GIT and LibVEX; rerun with -h for copyright info
==8034== Command: ./vim --clean -R -u bug2.vim
==8034==
==8034== Invalid read of size 4
==8034==    at 0x4E5D9E: mouse_comp_pos (mouse.c:2874)
==8034==    by 0x51D281: may_update_popup_mask (popupwin.c:3528)
==8034==    by 0x43E74B: update_screen (drawscreen.c:158)
==8034==    by 0x63BC13: main_loop (main.c:1398)
==8034==    by 0x63B28A: vim_main2 (main.c:898)
==8034==    by 0x63A024: main (main.c:442)
==8034==  Address 0x9912b08 is 4 bytes after a block of size 180 alloc'd
==8034==    at 0x4C2FECB: malloc (vg_replace_malloc.c:307)
==8034==    by 0x4DF8D7: lalloc (misc2.c:925)
==8034==    by 0x4DFA50: alloc_clear (misc2.c:852)
==8034==    by 0x51D130: may_update_popup_mask (popupwin.c:3472)
==8034==    by 0x43E74B: update_screen (drawscreen.c:158)
==8034==    by 0x63BC13: main_loop (main.c:1398)
==8034==    by 0x63B28A: vim_main2 (main.c:898)
==8034==    by 0x63A024: main (main.c:442)
==8034==
==8034== Invalid write of size 4
==8034==    at 0x4E5E17: mouse_comp_pos (mouse.c:2896)
==8034==    by 0x51D281: may_update_popup_mask (popupwin.c:3528)
==8034==    by 0x43E74B: update_screen (drawscreen.c:158)
==8034==    by 0x63BC13: main_loop (main.c:1398)
==8034==    by 0x63B28A: vim_main2 (main.c:898)
==8034==    by 0x63A024: main (main.c:442)
==8034==  Address 0x9912b08 is 4 bytes after a block of size 180 alloc'd
==8034==    at 0x4C2FECB: malloc (vg_replace_malloc.c:307)
==8034==    by 0x4DF8D7: lalloc (misc2.c:925)
==8034==    by 0x4DFA50: alloc_clear (misc2.c:852)
==8034==    by 0x51D130: may_update_popup_mask (popupwin.c:3472)
==8034==    by 0x43E74B: update_screen (drawscreen.c:158)
==8034==    by 0x63BC13: main_loop (main.c:1398)
==8034==    by 0x63B28A: vim_main2 (main.c:898)
==8034==    by 0x63A024: main (main.c:442)
==8034==
==8034==
==8034== HEAP SUMMARY:
==8034==     in use at exit: 622,986 bytes in 1,756 blocks
==8034==   total heap usage: 6,174 allocs, 4,418 frees, 2,528,687 bytes allocated
==8034==
==8034== LEAK SUMMARY:
==8034==    definitely lost: 0 bytes in 0 blocks
==8034==    indirectly lost: 0 bytes in 0 blocks
==8034==      possibly lost: 3,157 bytes in 65 blocks
==8034==    still reachable: 619,829 bytes in 1,691 blocks
==8034==         suppressed: 0 bytes in 0 blocks
==8034== Rerun with --leak-check=full to see details of leaked memory
==8034==
==8034== For lists of detected and suppressed errors, rerun with: -s
==8034== ERROR SUMMARY: 68 errors from 2 contexts (suppressed: 0 from 0)

Valgrind log again with some extra printf debug:
==9275== Memcheck, a memory error detector
==9275== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==9275== Using Valgrind-3.17.0.GIT and LibVEX; rerun with -h for copyright info
==9275== Command: ./vim --clean -n -u bug2.vim
==9275==
*** [popupwin.c:3471] alloc plines_cache with Rows=45
*** [mouse.c:2873] cache_idx=0 lnum=1 win->w_topline=1 Rows=45
*** [mouse.c:2873] cache_idx=22 lnum=23 win->w_topline=1 Rows=45
*** [popupwin.c:3471] alloc plines_cache with Rows=45
*** [popupwin.c:3471] alloc plines_cache with Rows=45
*** [mouse.c:2873] cache_idx=0 lnum=1 win->w_topline=1 Rows=45
*** [mouse.c:2873] cache_idx=22 lnum=23 win->w_topline=1 Rows=45
*** [mouse.c:2873] cache_idx=23 lnum=24 win->w_topline=1 Rows=45
*** [popupwin.c:3471] alloc plines_cache with Rows=45
*** [mouse.c:2873] cache_idx=0 lnum=1 win->w_topline=1 Rows=45
*** [mouse.c:2873] cache_idx=0 lnum=1 win->w_topline=1 Rows=45
*** [mouse.c:2873] cache_idx=22 lnum=23 win->w_topline=1 Rows=45
*** [mouse.c:2873] cache_idx=23 lnum=24 win->w_topline=1 Rows=45
*** [mouse.c:2873] cache_idx=46 lnum=47 win->w_topline=1 Rows=45
==9275== Invalid read of size 4
==9275==    at 0x4E5E44: mouse_comp_pos (mouse.c:2874)
==9275==    by 0x51D2BE: may_update_popup_mask (popupwin.c:3528)
==9275==    by 0x43E74B: update_screen (drawscreen.c:158)
==9275==    by 0x63BC43: main_loop (main.c:1398)
==9275==    by 0x63B2BA: vim_main2 (main.c:898)
==9275==    by 0x63A054: main (main.c:442)
==9275==  Address 0x9914d38 is 4 bytes after a block of size 180 alloc'd
==9275==    at 0x4C2FECB: malloc (vg_replace_malloc.c:307)
==9275==    by 0x4DF8D7: lalloc (misc2.c:925)
==9275==    by 0x4DFA50: alloc_clear (misc2.c:852)
==9275==    by 0x51D181: may_update_popup_mask (popupwin.c:3472)
==9275==    by 0x43E74B: update_screen (drawscreen.c:158)
==9275==    by 0x63BC43: main_loop (main.c:1398)
==9275==    by 0x63B2BA: vim_main2 (main.c:898)
==9275==    by 0x63A054: main (main.c:442)

So Rows does not change (no resize as expected).
I think that the issue is that lnum is a line number in the file but it should really
be a screen line instead. Since there is folding, lnum can be bigger than
Rows (number of lines in terminal).

What is the code in mouse.c around line 2878? For me it's an #ifdef, so that can't be what you have.

To get that output I have added a few fprintf() statements to mouse.c to print the values of some variables (see the DEBUG lines). So, line numbers are shifted.

Apparently I could not reproduce because I used a terminal that's higher than the number of lines in foo.txt.  With
a smaller terminal I can reproduce.  Like Dominique mentions, the cache only holds Rows entries.


Column width doesn't change

var columnDefs1 = [
{ name: 'firstName', width: 100 }
];
var columnDefs2 = [
{ name: 'firstName', width: 200 }
];
Switching beetween the 2 definitions for the grid the width for the "name" column doesn't change.
here is the plnkr:
http://plnkr.co/edit/Q3BYbb3fIHVgDVkKF4Tl?p=preview
Please hit swap data and you will notice that the gender company is changed to employed, but the column width is the same.

This is probably another example of a problem we have where we don't detect that the column has changed, so we don't re-copy the columnDef down (we assume the user might have changed the width manually, maybe using resizeColumns, so we don't overwrite).
One workaround is to empty the columnDefs, wait for a digest, then put the new ones in.
http://plnkr.co/edit/hYGggNUfMKZtYH98R3Rc?p=preview

I have implemented the workaround that you suggested but there's a pretty ugly glitch.
http://screencast.com/t/iUjXNtysAb
Here is an example with a simple one, if i have more columns the glitch is even uglier.
I wonder if there isn't a "flag" that we could change when we modify the column definition so that the grid could target the column definition change and update to the latest version ?
Thanks

Alternatively, you can directly set the column.width (rather than columnDef.width), that will apply immediately.

Yes, this is a workaround that solves the width problem. But there are a few more problems as it would be the column order, the column sort direction.
The main issue i think is that the grid doesn't detect the columnDef change.

columnDef changes can be notified through notifyDataChange.

I just tried using the notifyDataChange with both uiGridConstants.dataChange.COLUMN and uiGridConstants.dataChange.ALL and I can confirm that it doesn't work for the setup that we have. It doesn't change the following aspects (at least): column widths and pinning of the column.

By design neither column widths nor pinning gets overwritten from the columnDefs onto the columns once the user has had a chance to alter them.    If each of those actions reset the column width to the default (perhaps after the user has already changed it to suit themselves) it would be very annoying for them.
For pinning I think there is an API you can use to pin columns programatically, for column width you need to set the column.width directly.

I understand that you cannot just refresh the grid at any point, that's very good. What we are trying to do is to replace the columns definitions completely, including grid data. The problem is that usually, the columns definitions are similar with a few small exceptions: some columns might not be present, some might have their order switched, some might have another sorting direction set or some may be pinned.
We can do a complete clean-up of the columns definitions but that results in an ugly redrawing time when switching between definitions. Without that redraw, everything looks fine, some aspects of the grid are changed like hidden or visible columns, order inside the column. But some of the aspects like column width and pinning don't get changed.

It should notice the change so long as the objects change - at present the columnDef watch is implemented as follows in ui-grid.js:
deregFunctions.push( $scope.$parent.$watchCollection(function() { return $scope.uiGrid.columnDefs; }, columnDefsWatchFunction) );
So it should notice any columnDef whose reference changes.
The columnDefsWatchFunction in turn is:
      function columnDefsWatchFunction(n, o) {
        if (n && n !== o) {
          self.grid.options.columnDefs = n;
          self.grid.buildColumns({ orderByColumnDefs: true })
            .then(function(){

              self.grid.preCompileCellTemplates();

              self.grid.callDataChangeCallbacks(uiGridConstants.dataChange.COLUMN);
            });
        }
      }

So that's going to call buildColumns.
That in turn is in Grid.js, and it looks to match columnDefs by name.
So, if I wanted to have a decent go at the grid noticing my columnDefs changes, and giving me new columns with new configuration and dropping my old ones, I'd:

Make all my columnDefs be new objects - so if you're using the old ones but tweaking them, I'd angular.copy them first - something like

var newColumnDefs = angular.copy($scope.gridOptions.columnDefs);
$scope.gridOptions.columnDefs = newColumnDefs;

Give them all new names.  You can keep the old fields, and keep the old displayNames, but give the columns themselves new names and the grid will think they're new columns.

Thanks for the suggestions Paul.
We do reset the columnDefs array completely each time we do this:
scope.gridOptions.columnDefs = [];

And then we start pushing into this new array the new columns based on our definition for the columns. Somehow this does not trigger the proper watchers. We do not change the names for the columns though, it would not be possible to correlate with the data if we do that.

Sorry about the confusion in the previous comment by me. I just noticed that we do have a field property which connects the column with the data, and if we set that it won't rely on "name" anymore. I did the changes and it appears to work, at least for the preliminary tests.
Thank you very much for the suggestion with changing the names of the columns. That was the only thing that did the trick.
I am wondering though, if you do have a watch on the collection, and then another on each column, why wouldn't one of them get triggered? Is 'name' a reserved field somehow in angular or in ui-grid and it it is the same the changes are ignored ?

The watch gets triggered, but then our buildColumns function will iterate through each columnDef and see if we already have a column with that name.  If we do, then we tie the columnDef to that column.  It's so that people can go replacing their columnDefs array with a new copy of it (which people seem to do all the time) and the grid will work out that they're the same columns and link them, rather than replacing them all.  Which is exactly what it was doing to you.

This kind of behavior would make sense for us too, with the exception that the columns definitions can contain changes for us, for the columns with the same name. The name changing seems to do the trick.
The initial suggestion for resetting the columns and waiting for a digest was producing very ugly rendering results. We now reset the columns but we build them back immediately, so no digest in between, and the redraw process seems to be very friendly looking.
Thank you again for your suggestions and continuous help and support!

Sounds like this is resolved, closing.


Crash. I don't know to do and which mod or mods cause it.

crash-2021-11-25_22.26.02-server.txt
Biomes O' Plenty and Chocolate Quest Repoured both pointing to each other and I don't know what to do. Maybe it's something wrong with VanillaFix or other mod ( or mods ) ? Could You help ? I don't like Github issue templates ! Why I must use them ?

Does the crash still occur without VanillaFix installed? If so, then this is the wrong repository to report it.

I found that this is Mo' Villages mod's fault, but I don't know how to configure my mods to work with Mo' Villages, and I deleted Mo' Villages and I'm using Village Names and it's OK, I think.


Got ValueError again while using SimBA

Hi,
Event though with the dicusssion in #924, I still got ValueError by using the parameters you recommended (max_iter = 500, freq_dim = 28, order = "random", stride = 4, epsilon = 25)
Please find the belowing my code, I have change the retun of predict() from logits to probabilities.
BTW, if I change the parameters to max_iter = 500, freq_dim = 28, order = "random", stride = 1, epsilon = 25, the following code can run without error, but the SimBA seems not working, i.e., the result image can still be correctly classified by ResNet-50.
def predict(x):
    x = np.array(x[0])
    # convert np array back to image
    img = Image.fromarray(x.astype(np.uint8)).convert('RGB')

    # preprocess then inference
    img_t = preprocess(img)
    batch_t = torch.unsqueeze(img_t, 0)
    resnet.eval()
    logits= resnet(batch_t)

    probability = torch.softmax(input=logits, dim=1)
    return probability.detach().numpy()

classifier = BlackBoxClassifierNeuralNetwork(predict, image_array[0].shape, 1000, channels_first=False, clip_values=(0, 255))

# Generate SimBA attack
attack = SimBA(classifier=classifier, max_iter=500, freq_dim=28, order='random', stride=4, epsilon=25.5)
x_adv = attack.generate(x=np.array([origin_image]))

prediction = str(np.argmax(predict(x_adv)))
print("L2 error: ", np.linalg.norm(np.reshape(x_adv[0] - origin_image, [-1])),
      "and class label is %s " % prediction, str(classes[prediction]))

Then I got the Error as following,
Traceback (most recent call last):
File "/home/ranger/lizhu/home/ranger/lizhu/src/terminal/generate_adv_example.py", line 119, in
x_adv = attack.generate(x=np.array([origin_image]))
File "/home/ranger/tools/anaconda/lib/python3.8/site-packages/art/attacks/attack.py", line 74, in replacement_function
return fdict[func_name](self, *args, **kwargs)
File "/home/ranger/tools/anaconda/lib/python3.8/site-packages/art/attacks/evasion/simba.py", line 139, in generate
indices = self._block_order(x.shape[2], nb_channels, initial_size=self.freq_dim, stride=self.stride)[
File "/home/ranger/tools/anaconda/lib/python3.8/site-packages/art/attacks/evasion/simba.py", line 306, in _block_order
order[:, : (i + stride), i : (i + stride)] = perm[:num_first].reshape((channels, -1, stride))
ValueError: could not broadcast input array from shape (3,300,4) into shape (3,299,3)

Hi @Code-Ranger I'm not able to reproduce this issue. Could you please share the shape of origin_image just before this line x_adv = attack.generate(x=np.array([origin_image]))?

The shape of origin_image is (299, 299,3)
The image is this one

Hi @Code-Ranger The shape of x in x_adv = attack.generate(x=np.array([origin_image])) should be either of format NHWC or NCHW, your input is missing the batch dimension N, for a single image origin_image should have shape (1, 299, 299, 3)

Hi @beat-buesser
Thanks for supporting。
I have changed the code to
x_adv = attack.generate(x=np.array(image_array))
where image_array = np.array([np.array(origin_image, dtype='float32')]), therefore the shape of x is (1, 299, 299, 3) now.
But I still got error prompt as following,
Traceback (most recent call last):
File "/home/ranger/.pycharm_helpers/pydev/pydevd.py", line 1438, in _exec
pydev_imports.execfile(file, globals, locals)  # execute the script
File "/home/ranger/.pycharm_helpers/pydev/_pydev_imps/_pydev_execfile.py", line 18, in execfile
exec(compile(contents+"\n", file, 'exec'), glob, loc)
File "/home/ranger/lizhu/home/ranger/lizhu/src/detection/generate_adv_examples.py", line 123, in
x_adv = attack.generate(x=np.array(image_array))
File "/home/ranger/tools/anaconda/lib/python3.8/site-packages/art/attacks/attack.py", line 74, in replacement_function
return fdict[func_name](self, *args, **kwargs)
File "/home/ranger/tools/anaconda/lib/python3.8/site-packages/art/attacks/evasion/simba.py", line 139, in generate
indices = self._block_order(x.shape[2], nb_channels, initial_size=self.freq_dim, stride=self.stride)[
File "/home/ranger/tools/anaconda/lib/python3.8/site-packages/art/attacks/evasion/simba.py", line 306, in _block_order
order[:, : (i + stride), i : (i + stride)] = perm[:num_first].reshape((channels, -1, stride))
ValueError: could not broadcast input array from shape (3,300,4) into shape (3,299,3)

Hi @Code-Ranger The possible values for freq_dim and stride depend on the input image size, more values should be possible if you scale the image to 224 (where the recommended values in #924 are working) or 300. For a size of 299 the values iter_ = 5000, freq_dim = 13, order = "random", stride = 11 seem to work.

Hi @beat-buesser , with the parameters (values iter_ = 5000, freq_dim = 13, order = "random", stride = 11) you recommended, I finally got the SimBA working (have to set the epsilon=100).
Thanks very much for your supporting. :)

Hi @beat-buesser ，
Yes, some documentation will be helpful for explaining how to use the different attacking methods. THX


Merge pull request #24 from Solidalert/develop

Merge develop into master branch

Coverage remained the same at 60.843% when pulling 0b8302663bace521c834d8fe5b4ec60a599febb5 on master into a66fea38d4531d4d429f6082d9be9827c70d26a0 on develop.