EAS - white screen after splash-screen in production mode on iOS

Build/Submit details page URL
No response
Summary
I have an (two actually) app that is working correctly in a development environment.

The app launches
The splash screen appears
Data are loaded while the splash screen is kept using expo-splash-screen
The splash screen is hidden when the app is fully loaded

When using expo build:ios -t archive, the app works correctly in production mode as well.
But when I try to use eas to build the app, I am having a white screen after the splash screen, while data are loaded..
Why do I think that this is due tu eas ? The white screen appeared for the first time after I started using eas cli.
I also found out that when I'm using expo publish, then back to the classic expo build, then the white screen is gone.
I tried once again to use eas build, and got the white screen back.
Managed or bare?
Managed
Environment
expo-env-info 1.0.2 environment info:
System:
OS: macOS 12.2.1
Shell: 5.8 - /bin/zsh
Binaries:
Node: 16.13.0 - ~/.nvm/versions/node/v16.13.0/bin/node
Yarn: 1.22.17 - /opt/homebrew/bin/yarn
npm: 8.5.1 - /opt/homebrew/bin/npm
Watchman: 2<IP_ADDRESS> - /opt/homebrew/bin/watchman
Managers:
CocoaPods: 1.11.2 - /opt/homebrew/bin/pod
SDKs:
iOS SDK:
Platforms: DriverKit 21.2, iOS 15.2, macOS 12.1, tvOS 15.2, watchOS 8.3
IDEs:
Android Studio: 2020.3 AI-203.7717.56.2031.7935034
Xcode: 13.2.1/13C100 - /usr/bin/xcodebuild
npmPackages:
expo: ^44.0.0 => 44.0.6
react: 17.0.1 => 17.0.1
react-dom: 17.0.1 => 17.0.1
react-native: 0.64.3 => 0.64.3
react-native-web: 0.17.1 => 0.17.1
npmGlobalPackages:
eas-cli: 0.46.0
expo-cli: 5.3.0
Expo Workflow: managed
Error output
No response
Reproducible demo or steps to reproduce from a blank project
Not really reproducible in a Snack..
But it should be the following :
Create a project, with expo-splash-screen set up as expo documentation.
Publish to production with expo:build
Everything should be fine in production.
Publish to production with eas cli
There should be a white screen after the splashscreen, which might be very quick in a blank project.
It happened to me on two different apps.

Similar issue but not a white screen, app crashes after splash screen.
expo build:android --> Builds correctly and works good on device ✅
eas build -p android --> Builds correctly and works good on device ✅
expo build:ios --> Builds correctly and works good on device ✅
eas build -p ios --> Builds correctly, installs correctly on device, but when I open it I can see the splash screen and then it closes itself. ❌
Tried to see the "device console" on xCode and this is the error it shows when it crashes:

Process start failed with Error Domain=NSPOSIXErrorDomain Code=88 "Malformed Mach-o file" UserInfo={NSLocalizedDescription=Launchd job spawn failed with error: 88}

No idea what to even try to make it work with eas-cli instead of traditional expo build system. I'll keep using expo build system till it gets deprecated I guess!

@valentinoConti you can try building the app locally to get insight from xcode on the fatal error expo run:ios.

@valentinoConti you can try building the app locally to get insight from xcode on the fatal error expo run:ios.

Doing expo run:ios builds and runs the app amazing. Same if I expo build:ios and install the .ipa generated via xCode to my phone. It just crashes if I do eas build -p ios (tried with --clear-cache and --local options to see and always the same result)
eas build -p android generated apk works fine on Android devices.

If I should open a separate thread for this issue,, please let me know.
I do not see a splash screen. I see white while the app loads. I am using .
This happens only when published to the store. It does not happen in development. It does not happen when I build(using both eas and expo build) an .apk and install directly.

@valentinoConti  thank you very much for the input. It sounds like I don't have to explain to you how difficult it is troubleshooting bugs that only appear from uploading to the store.

same here with at least android (i didn-t try on ios).
the app works excellent with expo build

Same problem here with ios, any updates on this?

I have same issue 🥲
Here, in the above code, while running it in metro bundler, using expo run android command, the app is running properly in expo without any issue or error. But When I build the apk using expo build:android, and try to install it in my physical device, then it's showing the splash screen and after that it is showing the white blank screen. Not routing  Screens

Which version of expo sdk do you have. We solve it moving to 43
Get Outlook for Androidhttps://aka.ms/AAb9ysg

From: Hossam Hassan @.>
Sent: Tuesday, April 19, 2022 12:56:37 AM
To: expo/eas-cli @.>
Cc: Juan Andres Segreda Johanning @.>; Comment @.>
Subject: Re: [expo/eas-cli] EAS - white screen after splash-screen in production mode on iOS (Issue #1017)
I have same issue 🥲
Here, in the above code, while running it in metro bundler, using expo run android command, the app is running properly in expo without any issue or error. But When I build the apk using expo build:android, and try to install it in my physical device, then it's showing the splash screen and after that it is showing the white blank screen. Not routing  Screens
—
Reply to this email directly, view it on GitHubhttps://github.com/expo/eas-cli/issues/1017#issuecomment-1102162049, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABKOZMMZ4A5RVS2ITACCAULVFZKKLANCNFSM5QWKBEMA.
You are receiving this because you commented.Message ID: @.***>

Update from my side:
Don't know f it has to do with your problems as well, but mine was really on my side and I could find it just in one way:

Turn of remote debugging / React Native Debugger
Run the application and let the "Chrome Debugger" run

I don't know why, but on my side, React Native Debugger wasn't showing me some errors that were happening on my code, in my case specifically, was with the uuid library. After turning off the Native Debugger, the problems appeared on my terminal (iTerm2). That is, nothing to do with EAS CLI.

Which version of expo sdk do you have. We solve it moving to 43 Get Outlook for Androidhttps://aka.ms/AAb9ysg
…
________________________________ From: Hossam Hassan @.> Sent: Tuesday, April 19, 2022 12:56:37 AM To: expo/eas-cli @.> Cc: Juan Andres Segreda Johanning @.>; Comment @.> Subject: Re: [expo/eas-cli] EAS - white screen after splash-screen in production mode on iOS (Issue #1017) I have same issue 🥲 Here, in the above code, while running it in metro bundler, using expo run android command, the app is running properly in expo without any issue or error. But When I build the apk using expo build:android, and try to install it in my physical device, then it's showing the splash screen and after that it is showing the white blank screen. Not routing Screens — Reply to this email directly, view it on GitHub<#1017 (comment)>, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABKOZMMZ4A5RVS2ITACCAULVFZKKLANCNFSM5QWKBEMA. You are receiving this because you commented.Message ID: @.***>

Old sdk is 41 ......How to move or update expo sdk 43 ?

I was running into this same issue and found a solution. As per the instructions I had the await SplashScreen.preventAutoHideAsync(); within a useEffect hook in App.tsx. Even in an otherwise empty file, this did not prevent the SplashScreen from disappearing in production mode.
But when I move SplashScreen.preventAutoHideAsync(); directly under the list of imports, or just outside of the useEffect hook, it works fine!

Interesting! I will try this solution and let you know if it solves my issue as well.

I'm facing an issue where the apk for expo build:android works but eas build --platform android does not.
Expo version 44
Would appreciate any help

I was running into this same issue and found a solution. As per the instructions I had the await SplashScreen.preventAutoHideAsync(); within a useEffect hook in App.tsx. Even in an otherwise empty file, this did not prevent the SplashScreen from disappearing in production mode.
But when I move SplashScreen.preventAutoHideAsync(); directly under the list of imports, or just outside of the useEffect hook, it works fine!

This worked for me. I placed SpalshScreen.preventAutoHideAsync() outside useffect and removed the await.

I'm seeing the same, on both Android and iPhone. The splash screen displays, but afterwards it is a blank white screen. The classic build commands are still working for me (expo build:ios and expo build:android) - only seeing the issue when I run eas build
eas-cli/0.48.2 darwin-x64 node-v16.13.2

I'm having the same issue here

when I move SplashScreen.preventAutoHideAsync(); directly under the list of imports

Same approach worked for me. Running preventAutoHideAsync outside of the React hierarchy, as soon as possible in your bundle, should fix the problem.
@brentvatne Not sure what's up here, but it seems like the docs need to be updated.

@isaachinman - can you share a minimal reproducible example to demonstrate what you are experiencing?

@brentvatne Yes, happy to help here. What is the best way to provide a repro for a prod-only issue?

Same approach worked for me. Running preventAutoHideAsync outside of the React hierarchy, as soon as possible in your bundle, should fix the problem.

Yes indeed this fixed the issue for me. The issue definitely frustrating especially that it occurred out of nowhere after updating expo!

@brentvatne Yes, happy to help here. What is the best way to provide a repro for a prod-only issue?

it should be reproducible locally if you run expo run:ios --configuration Release

Me encontré con este mismo problema y encontré una solución. Según las instrucciones que tenía await SplashScreen.preventAutoHideAsync();dentro de un useEffectgancho en App.tsx. Incluso en un archivo vacío, esto no impidió que SplashScreen desapareciera en el modo de producción.
Pero cuando me muevo SplashScreen.preventAutoHideAsync();directamente debajo de la lista de importaciones, o justo fuera del useEffectgancho, ¡funciona bien!

Esto funcionó para mí. Coloqué SpalshScreen.preventAutoHideAsync() fuera de useffect y eliminé await.

In which file should this change be made?

Same issue, nothing works :(

Maybe this works. Try Running eas build -p=ios —auto-submit —clear-cache

Same issue with expo build:android :(
Nothing works

I found the solution. It was as silly as it seems.
Turns out the root View in App.js needs to have flex: 1 in its style.

Hi, try to install :

react-native-screens
react-native-safe-area-context
react-native-svg
Problem solved for me

how did you solved this issue???

@bhaambhu the original issue was about a short white screen between splash and app. But indeed, if you don't apply the flex: 1, then you will only see a white screen.
@ashifkhn the issue should not occur anymore, the doc has been updated to the solution, which was to move the SplashScreen.preventAutoHideAsync(); out of the App useEffect. Check out the documentation :

same

Applied flex: 1 and it worked!

If I should open a separate thread for this issue,, please let me know.
I do not see a splash screen. I see white while the app loads. I am using Apploader
This happens only when published to the store. It does not happen in development. It does not happen when I build(using both eas and expo build) an .apk and install directly.

do you get what was the issue I am facing it now ?

i still face this issue when i using expo router appoarch  and i could see the splash screen in ios simulator and android simulator but i could not see the splash screen for both production build in the real devices ? Any idea for fixing it?

This is still an issue. Actually, it's worse than ever.

you must install both
expo-system-ui and expo-splash-screen
I'm not sure why i need to install both even though i dont use expo-splash-screen. but otherwise it doesn't work so just install both
and then at the top of app.ts
import * as SystemUI from "expo-system-ui";

SystemUI.setBackgroundColorAsync("transparent");

you must install both
expo-system-ui and expo-splash-screen
I'm not sure why i need to install both even though i dont use expo-splash-screen. but otherwise it doesn't work so just install both
and then at the top of app.ts
import * as SystemUI from "expo-system-ui";

SystemUI.setBackgroundColorAsync("transparent");

This worked for me. Thank you.

If you write your code carefully the white screen will not appear. You may need to manually handle when the SplashScreen shows and hides. It's a pain but it's not a bug.

I am continually getting a white screen after the splash screen. The app never loads.

@TheoBreaux that's a different problem entirely.
Also, an update, I have seen this issue occur again so, I'm back to thinking it's a bug.

I'm getting the same issue.
When I run the app on simulator with an EAS development build with dev client running on android + IOS the app works fine. After the splash screen the app shows the first screen.
When a create an internal distribution EAS build and run the app on an actual IOS/Android device after the splash screen it is a blank white screen.
I setup sentry, and checked the app logs via Xcode/Android Studio, and there is nothing showing about the app crashing or an error.
I have flex-1 (Nativewind) /flex: 1 applied in my root view/component in my App.tsx file.
<QueryClientProvider client={queryClient}>
      <View className="flex-1" onLayout={onLayoutRootView}>
        <StatusBar style="auto" />
        <RootNavigator appReady={fontsLoaded} />
      </View>
    </QueryClientProvider>

Doing SystemUI.setBackgroundColorAsync('transparent'); did not work and just set the whole background color black instead of white.
What have been done to resolve this?

For me that was dependency issue , remove the unused dependencies and also check the syntax of stack navigation its updated. And last one to imoport font file don’t use font libraray. These things solve my issue .Sent from my iPhoneOn 12-Jun-2024, at 6:04 AM, Alexander Wolf @.***> wrote:
I'm getting the same issue.
When I run the app on simulator with an EAS development build with dev client running on android + IOS the app works fine. After the splash screen the app shows the first screen.
When a create an internal distribution EAS build and run the app on an actual IOS/Android device after the splash screen it is a blank white screen.
I setup sentry, and checked the app logs via Xcode/Android Studio, and there is nothing showing about the app crashing or an error.
I have flex-1 (Nativewind) /flex: 1 applied in my root view/component in my App.tsx file.

Doing SystemUI.setBackgroundColorAsync('transparent'); did not work and just set the whole background color black instead of white.
What have been done to resolve this?
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>

I figured out my issue with the white screen. I was using Nativewind and my styles weren;t being applied for a silly reason.
I had tailwind.config.js in my .gitignore file which expo uses for it's .expo ignore; I think the auto .gitignore lib I used added it there =/
So during the build process it wasn't on the expo server, and babel wasn't running for nativewind.


updating owl files to remove import of go-lego

Also adding declarations of annotation and object properties to facilitate parsing.

Due to time constraints, this will be merged without review or tests.


[Bug]: snapshots of big slices could not be loaded back

Description
The bufferio scanner instanced in getPrevSnapshot() uses default arguments, which means that the maximum token size for scanning a single line caps at 64*1024 bytes.
I've a test snapshot storing a slice of 5k string elements, which gets dumped into a single line of ~130k characters.
As a temporary workaround I'm splitting out the slice in smaller chunks and snapshotting each one of them, but I think the snapshot should consider the MaxScanTokenSize limit and break the dumped data into multiple lines.
Steps to Reproduce

Generate a slice whose content would be dumped into a single line of >65K characters
use it to produce a snapshot
attempt to reload the snapshot, getPrevSnapshot() will return errSnapNotFound

Expected Behavior
The snapshot creation should take into account the scan buffer size limits, and split data among multiple lines.

Hey 👋 , thanks for openning this very detailed issue, I didn't know there is such a limit on bufio. I was indeed able to reproduce this with
// CI=true go test -v -count=1 ./... -run TestLongLine
func TestLongLine(t *testing.T) {
	t.Run("should capture long lines", func(t *testing.T) {
		snaps.MatchSnapshot(t, strings.Repeat("hello world", 10000))
	})
}

The snapshot creation should take into account the scan buffer size limits, and split data among multiple lines.

This is a good idea but I tried to fix the error by simply increasing the MaxScanTokenSize
s.Buffer([]byte{}, math.MaxInt)

do you thing there is any concern doing this 🤔  ?

Hi!

thanks for openning this very detailed issue, I didn't know there is such a limit on bufio.
Thank you for taking the time of reviewing the issue as well.
The limit on bufio's Scan() is something I've discovered myself as well investigating a test failure which randomly started to happen with a grown-up snapshot.. 😊

This is a good idea but I tried to fix the error by simply increasing the MaxScanTokenSize
do you thing there is any concern doing this 🤔 ?

Well, MaxScanTokenSize seems big enough for any practical snapshot, and will surely help.
I can think about two possible concerns:

Memory allocation: the size we're talking about here is for the buffer being built for a single line to be written to the destination file, and that's going to grow up in your process' memory. This might mean that, with a big enough snapshot to process (or either too strict resources available), the operative system might decide to kill your process for being too eager in requesting memory.
Scan() is iteratively doubling its buffer's size until it fits the content there's to write, I guess then it aims to a logarithmic complexity on the input length. I don't think it will practically impact on performances all that much, but still enlarging the buffer might represent a suboptimal solution.

Your proposal looks way simpler and desirable, and would effectively work as a quick fix. I just fear it might hit back in the long term. The solution I proposed looks overall safer but I understand it might require some non-trivial refactoring.
One last note: I'm not a JestJS expert (I've found it thanks to your project's reference), I'm curious how it handles this case. I couldn't find much about.

The limit on bufio's Scan() is something I've discovered myself as well investigating a test failure

Should have def checked the error of scanner and return it would have made the failure easier to track. Will make sure to add this instead of just returning errSnapNotFound.

One last note: I'm not a JestJS expert (I've found it thanks to your project's reference), I'm curious how it handles this case. I couldn't find much about.

I couldn't find a definitive answer as well but under the hood jest is using new Function to parse the whole snapshot file so I would guess the limit is again the system.  Also a good related issue is this https://github.com/jestjs/jest/issues/8551

Your proposal looks way simpler and desirable, and would effectively work as a quick fix. I just fear it might hit back in the long term. The solution I proposed looks overall safer but I understand it might require some non-trivial refactoring.

Setting the limit to as high as possible and not trying to split the input is because the library will struggle in other places even if it can parse the line (e.g. consolidtating the snapshot and create a diff) also maybe after a point it's probably not very practical doing snapshot testing as the snapshot is probably not readable or easy to review.

Btw not sure if this is apparrent but this method is not allocating a buffer of size math.MaxInt

It sets the initial buffer to use when scanning and the maximum size of buffer that may be allocated during scanning.

Initial size here being zero and maximum math.MaxInt so it will behave the same just allow to grow bigger.
s.Buffer([]byte{}, math.MaxInt)

Implementation https://github.com/golang/go/blob/master/src/bufio/scan.go#L258-L273

Initial size here being zero and maximum math.MaxInt so it will behave the same just allow to grow bigger.

Yes, that was what I meant with:

Scan() is iteratively doubling its buffer's size until it fits the content there's to write, I guess then it aims to a logarithmic complexity on the input length.

The fix looks ok. Thanks for the prompt action :)


:seedling: Proper support for openRC in the oem layouts

This is part of #116.
Currently we have separated system oem files for alpine: https://github.com/kairos-io/kairos/tree/master/overlay/files-alpine/system/oem .
While this works - it is harder to maintain in the context of #116, which would then require a separate workflow for alpine/openrc based systems.
This card is about:

[ ] Reduce separated oem files for openrc-based distro, but instead configs should detect when we are using open-rc and acting accordingly
[ ] Do not make anymore distinction about the flavor and init. Just use the init as a reference to detect if we have to run openRC commands or not ( e.g. https://github.com/kairos-io/kairos/blob/bca5b432e9cda5db13aca8f6ebed7ff2bd39596f/pkg/utils/system.go#L53)

This needs to be updated to reflect the new state of the project. Layout files have been extracted to packages:
https://github.com/kairos-io/packages/tree/main/packages/static/kairos-overlay-files/files
And the go code in the kairos repo was extracted to the kairos-sdk repo: https://github.com/kairos-io/kairos-sdk/blob/8f54324703c2a88484cba31c22b8bd6b1cc26e8e/utils/utils.go#L122-L125

If we have this, can we have only one framework image for all flavors? Let's discuss this in the planning meeting.

Checked and we already do this, we moved all configs to outside the kairos repo into a package and that package doesnt discriminate between flavors, is now a commo package installed during framework generation.
We are missing moving bootargs.cfg and config.txt for rpi into the generic package thougth.

done!


"Git status" button should respond

When clicking the git status button, if there's no update, something visible should still happen so the user knows the button worked. Perhaps briefly changing the status text below it to "Updating.." and then back to "Up to date." is one option

Perhaps the button text should be "refresh" or "update" too?


Support using fake service with aws-sam-local

My application uses S3Client provided by AWS SDK. So I want to use fake object instead of actual S3 bucket to SDK when the testing with aws-sam-local. To realize this, we need to start some fake objects like fake-s3, localstack and set the endpoints of these to sdk endpoints.
However, aws-sam-local execute Lambda function in Docker container, so we need to access fake objects running on the host from the lambda container. But we cannot link any container to the lambda container or pass some options for lambda container running command.
Do you have any idea to help this situation ? If we cannot use aws-sam-local with the case like this at the moment, is there any plan to support the case like this ?

So you want to use SAM Local with localstack - https://github.com/localstack/localstack? AFAIK this doesn't work out of the box. We have to do some work in this CLI tool to allow the Docker container have access to ports exposed by localstack.
I would consider this as a feature request.

You can make it work if you run localstack in "infra" mode and access the endpoint using your local IP.
git clone https://github.com/localstack/localstack.git
cd localstack
make infra

Then you can create a Lambda function, e.g. lambda.py
if os.getenv('AWS_SAM_LOCAL'):
  CLOUDWATCH = boto3.client('cloudwatch', endpoint_url='http://<IP_ADDRESS>:4582')
else:
  CLOUDWATCH = boto3.client('cloudwatch')

...

def dynamodb_stream(event, context):
  CLOUDWATCH.put_metric_data(
    MetricData=[{
      'MetricName':'TestMetric',
      'Dimentions':[],
      'Unit':'Count',
      'Value':1.0
    }],
    Namespace='TestApp')

With a template of
AWSTemplateFormatVersion : '2010-09-09'
Transform: AWS::Serverless-2016-10-31

Description: |
  An example Serverless project

Resources:
  dynamodb_stream:
    Type: AWS::Serverless::Function
    Properties:
      Runtime: python3.6
      Handler: lambda.dynamodb_stream
      Timeout: 300

And invoking sam should just work
sam local generate-event dynamodb | sam local invoke dynamodb_stream

Another solution is to partition your localstack and other containers onto a private docker network. This is probably a good idea anyway to keep your test containers from interfering or otherwise communicating with other docker containers or the host. You can use the sam local --docker-network option to achieve this. Works out of the box because all containers in a private network are automatically linked by docker. Just make sure your create your private docker network first (like when you launch localstack) because otherwise sam local will complain the network does not exist, as it does not auto-create private networks.

Going to close this issue because it didn't get much traction.


SC2 - Handling Failure

I've just started playing around with nodeJS and Socketcluster. While testing things out there is one thing that I havn't figured out why it's happening.
I've copied the example code regarding handling errors but I get an error on my client and the server never gets a response back, I'm sure i'm missing something basic here as I'm new to both nodeJS and SocketCluster.
I get the data to the client properly, but i just can't seem to ack it back to the server that it's recived.
Client:
       socket.on('server-doGet', function (data, res) {
         if (true) {
           console.log(JSON.parse(data));
           res.end('Success'); // Send back success
         } else {
           res.error('Error message'); // Send back error
         }
       });

Error: Uncaught TypeError: res.end is not a function
Server Side
            socket.emit('server-doGet', JSON.stringify(results), function (err) {
              if (err) { console.log("Error! No response from: "+socket.remoteAddress+' on the emit event: '+err); }
              else { console.log("Success! Successfully emitted response to: "+socket.remoteAddress); }
            });

Error: Error! No response from: <IP_ADDRESS> on the emit event: Error: Event response for 'server-doGet' timed out
Any further clarification on how to handle errors would be great!

@orecus The doc was out of date - the API docs were showing the correct (new way) but not in the 'Handling Failures' page. It's been fixed: http://socketcluster.io/#!/docs/handling-failure

@orecus Sorry about for the confusion and thanks for raising this issue.


Pause

Hi.
I tried to install your plugin but I have the error in the console:
"Error: Unexpected token c in JSON at position 726".
Also could you clarify how to use pause and resume? Maybe there is some documentation about it.

Sorry, it was my fault.

If the plugin helps you, please support me a star ⭐  😃


Ballista 0.8.0 Release

Is your feature request related to a problem or challenge? Please describe what you are trying to do.
It has been a few months since the last Ballista release, so I proposed we release 0.8.0 soon. This issue is for tracking the work that needs to happen.

[ ] https://github.com/apache/arrow-ballista/issues/160
[ ] Add release scripts for the Python bindings
[x] https://github.com/apache/arrow-ballista/issues/163
[ ] Upgrade to DataFusion 12.0.0

Describe the solution you'd like
See above.
Describe alternatives you've considered
None
Additional context
None

@yahoNanJing @thinkharderdev @avantgardnerio I plan on creating the next release on Friday (Septemeber 16). Is there anything you would like to try and get in before I do this? If so, could you please add to the checklist in this issue,

try and get in before I do this?

Sadly, with our deltalake setback, we'll be waiting on 0.9.0 now. This release will allow us to upstream the rest of the FlightSQL implementation however.


Create JamfPackageCleaner.py

A new processor for cleaning packages. Keeping a set number of latest uploads and deletes oldest (based on package id).
Supported attributes:
    "JSS_URL": {
        "required": True,
        "description": "URL to a Jamf Pro server that the API user has write access "
        "to, optionally set as a key in the com.github.autopkg "
        "preference file.",
    },
    "API_USERNAME": {
        "required": True,
        "description": "Username of account with appropriate access to "
        "jss, optionally set as a key in the com.github.autopkg "
        "preference file.",
    },
    "API_PASSWORD": {
        "required": True,
        "description": "Password of api user, optionally set as a key in "
        "the com.github.autopkg preference file.",
    },
    "pkg_name_match": {
        "required": False,
        "description": "The name at the beginning of the package. This is used as a base for cleaning. The default value is '%NAME%-', e.g. 'Google Chrome-'.",
        "default": "",
    },
    "versions_to_keep": {
        "required": False,
        "description": "The number of pkg_name_match values to keep in Jamf Pro. This is based on the package ID.",
        "default": 5,
    },
    "minimum_name_length": {
        "required": False,
        "description": "The minimum number of characters required in pkg_name_match. This is used as a failsafe.",
        "default": 3,
    },
    "maximum_allowed_packages_to_delete": {
        "required": False,
        "description": "The maximum number of packages that can be deleted. This is used as a failsafe.",
        "default": 20,
    },

pkg_name_mach defaults to %NAME%- if not set. Eg. Google Chrome-.
self.pkg_name_match = self.env.get("pkg_name_match") or f"{self.env.get('NAME')}-"

Feel free to use.


Fix imports in Django 1.9

Add support for django19-style get_model.

Hey @toastdriven, could you please merge that?


Typo in 23.5.2 Pointer arrays - "usafe" instead of "unsafe"

Type of issue
Typo
Description
Typo in section 23.5.2 Pointer arrays, line 348 - "usafe" instead of "unsafe".

Arrays of pointers can be constructed using array_creation_expression (§<IP_ADDRESS>) in an usafe context.

Page URL
https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/unsafe-code
Content source URL
https://github.com/dotnet/csharpstandard/blob/draft-v8/standard/unsafe-code.md

Fixed in #1038.


add Disabled to RadioGroupOption

Is there a way to disable RadioGroupOptions?
For instance I'm making a component to change the status of an item, in case certain details are not filled in I want to disable certain status options, but still display them. It does not seem a "disabled" prop is available (unless I'm missing something).

Currently there is no Disabled attribute, but it makes sense to add one.
Maybe I will find some time over the next week to implement this (should be rather easy), but feel free to also try yourself and open a PR. You basically want to just add it here: https://github.com/DavidVollmers/Ignis/blob/master/packages/Tailwind/Ignis.Components.HeadlessUI/RadioGroupOption.cs

FYI: I started working on this to introduce the IsDisabled attribute on all components where it also exists in headless UI:
https://github.com/DavidVollmers/Ignis/tree/features/disabled-attribute


Respecting asymmetries in injections

This will probably involve integrations with ml4gw, but I'm realizing more and more that our default behavior of centering injections and treating the trigger_offset symmetrically probably doesn't make much sense. We've talked before about how centering the raw waveform attaches the left tail of the waveform to the end of the coalescence, which is potentially problematic especially for lower mass injections. I've also been thinking that it makes sense to allow the coalescence to be closer to the right of the kernel than to the left, and that trigger_offset should maybe just refer to the latter.
I'm sure there are other places where this is crops up, but just generally it might be worth encoding explicitly the physical fact that the coalescence is not some center point of a symmetric signal but rather its end. Not sure how this might apply to other waveform types (e.g. I can imagine this is maybe not true for sine gaussians).

Along these lines, I think we should move towards using pycbcs API for generating waveforms

I like that idea

Yeah agreed. Plus if they have CuPy bindings we could in principle use dlpack to generate waveforms on the fly on the GPU and zero-copy them to torch tensors

Actually wow yeah especially as we add containerization it looks like install PyCBC with GPU support is reasonably straightforward (see here). Obviously doesn't take priority over the paper, but this could definitely be worth moving high up the list for immediately after.

This simple routine uses PyCBC to generate the waveforms, putting the coalescence at the right edge:
from pycbc.waveform import get_td_waveform
setting prior values using the existing bilby functions
priors = nonspin_bns()
params = priors.sample(n_samples)
sample_params = [
dict(zip(params, col)) for col in zip(*params.values())]
waveform_size = int(sample_rate * waveform_duration)
signals = np.zeros([n_samples, num_pols, waveform_size])
for i, p in enumerate(sample_params):
hp, hc = get_td_waveform(approximant=approximant_bns,   **p)
hp, hc = hp.trim_zeros(), hc.trim_zeros()
m     = max(hp.data)
# find the peak position and then only output the waveform around the peak position
k     = np.array([int(i) for i,j in enumerate(hp.data) if j==m])
x_limit_low, x_limit_high = k-65536, k
signals[i][0] = hp.data[int(x_limit_low):int(x_limit_high)]
signals[i][1] = hc.data[int(x_limit_low):int(x_limit_high)]
It was interesting to see that lets say you are generating 10 waveforms, they will all be different lengths, get_td_waveform returns varying lengths of timeseries every time its called depending on the params sent. Lower masses tend to give a longer timeseries. (higher frequencies?). Anyways, in this routine, I took the last 16 sec worth of datapoints including the coalescence, which appears at the right edge


pep257 has been renamed to pydocstyle

shouldn't this plugin be updated to account for that?
otherwise pip install pep257 actually installs pydocstyle, and subsequently SL3 gives out this unsightly error:
SublimeLinter: WARNING: import of pep257 module in pep257 failed, linter will not work with python 3 code

Three solutions:

update this plugin.
in the SL3 dev guide, explicitly mention to install pep257 as pip pep257==0.7.0 which seems to be the latest version that installs a pep257.py.
(The dev.ref. points to a url that will install pydocstyle)
create a copy of pythondir\Lib\site-packages\pydocstyle.py as pep257.py !

I just installed pep257 version 0.7.0 with pip install pep257, so that appears to be working (now?).

indeed.

indeed.


Flow crashes if custom temp folder is not present

Here is config:
[options]
temp_dir=./.tmp/flow

when the folder is not created flow crashes, instead of creating it

temp_dir options has been removed a while back


When used via BMI, precip should NOT be scaled any further

https://github.com/NOAA-OWP/cfe/blob/0b488a123887100c6304aee3b0149bc97a68283e/src/bmi_cfe.c#L1509C7-L1509C81
During the update step, precip is scaled by 1000 assuming the prcipitation input variable has units of mm/hr which is NOT a valid assumption when precip is coming from a BMI input variable.  For example, when copuled with NOM and passing QINSUR as the surface flux, then the forcing comes in the units of m/s.
Also, when used via a framework which uses BMI unit data to perform unit conversion, this becomes prolematic, as the advertised unit of the precip input variable is mm/hr and so, as in the example with NOM, a converting framework will pass in values with the correct units, and they are then divided by 1000.

I agree, hardwired input/output unit conversions in formulations for NextGen are to be avoided.

I believe this is legacy code from the standalone CFE running with AORC forcing that it reads itself. If we update the code to remove the hard-coded transformation (which we should) we'll also need to update the standalone forcing data to reflect this. Or, account for the change in some other way.

One easy way would be to just change what unit the BMI input variable advertises, to match the scaling. Everything else should just do the right thing then, I think?
In an ideal world, we would not have hard-coded scaling and conversion, of course, but changing the rest of the world around the code may not be the most expedient path.

this should be a pretty straightforward change , unless I am missing something.
so we should change the unit mm h-1 to m h-1 (https://github.com/NOAA-OWP/cfe/blob/0b488a123887100c6304aee3b0149bc97a68283e/src/bmi_cfe.c#L310)
and remove the 1000. from denominator.
For the standalone runs, we can do the conversion from mm to m inside the main.c


Rethink routes for journal

Description
As we're now exposing the /reviewed-preprints/ URL on the journal, we cannot rely on any resources exposed on other paths, most notably the CSS and JS bundles (available on /_next). Additionally, the first
Potential solutions:

Move all paths to the base /, so /12345 and /_next resolves.
Move all paths to /reviewed-preprints/ so /reviewed-preprints/12345 and /reviewed-preprints/_next resolve.

Chosen solution
I think we should go with 2, at least for launch, as that will give us the behaviour we want for journal. It does, however, take a step back as a general platform, as '/' now doesn't resolve to anything. @QueenKraken
Tasks

[ ] Update https://github.com/elifesciences/enhanced-preprints-client to publish to /reviewed-preprints

https://github.com/elifesciences/enhanced-preprints-client/pull/111

[ ] Update Journal proxy config to pass URLs unnormalised
[ ] Create a ticket for any post-launch follow up actions

@will-byrne @nlisgo FYI

Also see  https://github.com/elifesciences/issues/issues/7773#issuecomment-1274237458


arch graphic

added architecture graphic

Description of the change:
Motivation for the change:

when this architecture graphic lands, I'd like to have it included in the Deploy readme up at the top please.

@berenss I have added the link to the image onto the README file. The image does appear currently, you must add the images folder into deploy repo. I added the link based on @tpouyer comment about adding a link to the future images folder. Currently, the link to image appears as such:
@bcpswope let me know if the placement of the image should change

@berenss I added the images folder successfully

@berenss I have also removed the image that was outside of the images folder. I am comfortable to merge this PR if you are

thx Mikela! Yes please merge it so that the new image is public.

@berenss I am unable to merge bc I don't have the permission to do so. Scott, can you try to merge or @tpouyer please?


Enhancement: Add ProblemMatchers to Support Build Errors and Warnings in Tasks

Description
When building iOS projects with the sweetpad extension, the errors and warnings from xcodebuild only appear in the terminal output. This requires developers to manually search through the terminal for issues, which can slow down the development process.
I suggest adding problemMatchers to the tasks provided by sweetpad, which will allow errors and warnings to be parsed and shown in the VSCode "Problems" tab. This would make it easier to identify and navigate to issues in the code.
Proposed Solution
I have tested and created the following problemMatchers to handle both colorized output from xcbeautify and non-colorized output from xcodebuild.
Here is an example of sweetpad build task with working problem matchers:
{
  "version": "2.0.0",
  "tasks": [
    {
      "label": "SweetPad: Build",
      "type": "sweetpad",
      "action": "build",
      "group": {
        "kind": "build",
        "isDefault": true
      },
      "scheme": "Dev",
      "configuration": "Debug",
      "problemMatcher": [
    {
      // Matcher for default problems
      "owner": "xcode",
      "fileLocation": ["relative", "${workspaceFolder}"],
      "pattern": [
        {
          "regexp": "^(.*):(\\d+):(\\d+):\\s+(error|warning):\\s+(.*)$",
          "file": 1,
          "line": 2,
          "column": 3,
          "severity": 4,
          "message": 5
        }
      ]
    },
    {
      // Matcher for xcbeautify errors
      "owner": "xcode",
      "fileLocation": ["absolute"],
      "pattern": {
        "regexp": "^❌\\s*(\\/[^:]+):(\\d+):(\\d+):\\s*(.*)$",
        "file": 1,
        "line": 2,
        "column": 3,
        "message": 4
      },
      "severity": "error"
    },
    {
      // Matcher for xcbeautify warnings
      "owner": "xcode",
      "fileLocation": ["absolute"],
      "pattern": {
        "regexp": "^⚠\\s*(\\/[^:]+):(\\d+):(\\d+):\\s*(.*)$",
        "file": 1,
        "line": 2,
        "column": 3,
        "message": 4
      },
      "severity": "warning"
    },
    {
      // Matcher for xcbeautify errors with NO_COLOR=1 environment variable
      "owner": "xcode",
      "fileLocation": ["absolute"],
      "pattern": {
        "regexp": "^\\[x\\]\\s*(\\/[^:]+):(\\d+):(\\d+):\\s*(.*)$",
        "file": 1,
        "line": 2,
        "column": 3,
        "message": 4
      },
      "severity": "error"
    },
    {
      // Matcher for xcbeautify warnings with NO_COLOR=1 environment variable
      "owner": "xcode",
      "fileLocation": ["absolute"],
      "pattern": {
        "regexp": "^\\[!\\]\\s*(\\/[^:]+):(\\d+):(\\d+):\\s*(.*)$",
        "file": 1,
        "line": 2,
        "column": 3,
        "message": 4
      },
      "severity": "warning"
    }
  ]
    }
  ]
}

Also Error Lens extension could be added to recommended tools

Awesome! I definitely will add problem matchers that you've provided

@hyzyla here is a shortened version:
{
  "version": "2.0.0",
  "tasks": [
    {
      "label": "SweetPad: Build",
      "type": "sweetpad",
      "action": "build",
      "group": {
        "kind": "build",
        "isDefault": true
      },
      "scheme": "Dev",
      "configuration": "Debug",
      "options": {
      "env": {
        "NO_COLOR": "1"
      },
    },
      "problemMatcher": [
    {
      // Matcher for default problems
      "owner": "xcode",
      "fileLocation": ["relative", "${workspaceFolder}"],
      "pattern": [
        {
          "regexp": "^(.*):(\\d+):(\\d+):\\s+(error|warning):\\s+(.*)$",
          "file": 1,
          "line": 2,
          "column": 3,
          "severity": 4,
          "message": 5
        }
      ]
    },
    {
      // Matcher for xcbeautify errors for any NO_COLOR environment variable
      "owner": "xcode",
      "fileLocation": ["absolute"],
      "pattern": {
        "regexp": "^(?:❌|\\[x\\])\\s*(\\/[^:]+):(\\d+):(\\d+):\\s*(.*)$",
        "file": 1,
        "line": 2,
        "column": 3,
        "message": 4
      },
      "severity": "error"
    },
    {
      // Matcher for xcbeautify warnings for any NO_COLOR environment variable
      "owner": "xcode",
      "fileLocation": ["absolute"],
      "pattern": {
        "regexp": "^(?:⚠|\\[!\\])\\s*(\\/[^:]+):(\\d+):(\\d+):\\s*(.*)$",
        "file": 1,
        "line": 2,
        "column": 3,
        "message": 4
      },
      "severity": "warning"
    }
  ]
    }
  ]
}

@dankinsoid  for contributing! The next 0.1.35 version of the extesnion will include such problem matchers:
export const DEFAULT_BUILD_PROBLEM_MATCHERS = [
  "$sweetpad-watch",
  "$sweetpad-xcodebuild-default",
  "$sweetpad-xcbeautify-errors",
  "$sweetpad-xcbeautify-warnings",
];


Pubkey cleanup

Does a cleanup of public key handling, notably:

Cleanly puts all COSE_Key constants from the COSE registry into its own module
Cleanly implements the COSE_Key decoding in its own module
Fixes RSA keys having wrong key sizes. Previously the RSA key size was derived from the hash algorithm.

E.g. since SHA-256 has a size of 256, this is the size of the RSA key. But this only somewhat worked coincidentally, because the SHA-256 size is 256 bits, whereas RSA key size was passed as bytes, leading to a key size of 2048 bits, which just so happens to be the minimum key size you should have anyways.
Instead, the public key size can be directly derived from its serialized n parameter.
This allows removing a bunch of constants from the code
In addition, the tests now always use 2048 bit keys, which makes them run much faster, since previously they were generating RSA keys with 4096 bits (because SHA-512 has size 512 bits, which turned to 512 bytes key size = 4096 bits)

The number of conversion/helper functions was reduced to a minimum and mostly total ones

Still to do is cleaning up the tests


🐛 [Birdnet-go] Queue is full!

Description
My setup has a rstp audio source and after an hour or so now, the addon logs will show "2024/06/24 10:30:49 Queue is full!"  I searched the Birdnet-go source code and I wasn't able to find where that message would even be coming from.  Not sure how to easily reproduce this, but if I could figure out where the queue is, then I could clear it.
Reproduction steps
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

Addon Logs
2024/06/24 10:30:18 Queue is full!
2024/06/24 10:30:19 Queue is full!
2024/06/24 10:30:21 Queue is full!
2024/06/24 10:30:22 Queue is full!
2024/06/24 10:30:24 Queue is full!
2024/06/24 10:30:25 Queue is full!
2024/06/24 10:30:27 Queue is full!
2024/06/24 10:30:28 Queue is full!
2024/06/24 10:30:30 Queue is full!
2024/06/24 10:30:31 Queue is full!
2024/06/24 10:30:33 Queue is full!
2024/06/24 10:30:34 Queue is full!
2024/06/24 10:30:36 Queue is full!
2024/06/24 10:30:37 Queue is full!
2024/06/24 10:30:39 Queue is full!

Architecture
amd64
OS
HAos

Hi sorry I know much better birdnet-pi and won't be able to help much with the app itself, you should ask on https://github.com/tphakala/birdnet-go how a full queue can be solved

tphakala issued a possible fix in the
https://github.com/tphakala/birdnet-go/pull/232

Could you make just a couple of modifications to your addon?  I think this issue is related to birdnet-go connecting to the local mqtt addon broker.
In addon config.json file could you add "mqtt:wants" to the services section.
  "services": [
    "mysql:want",
    "mqtt:want"
  ],

Then similar to your 33-mariadb.sh file, could you add a 33-mqtt.sh file to post mqtt addon info if the addon exists:
#!/usr/bin/with-contenv bashio
# shellcheck shell=bash
set -e

# Gives mqtt information

if bashio::services.available 'mqtt'; then
    bashio::log.green "---"
    bashio::log.yellow "MQTT addon is active on your system! Add the MQTT details below to the Birdnet-go config.yaml :"
    bashio::log.blue "MQTT user : $(bashio::services "mqtt" "username")"
    bashio::log.blue "MQTT password : $(bashio::services "mqtt" "password")"
    bashio::log.blue "MQTT broker : tcp://$(bashio::services "mqtt" "host"):$(bashio::services "mqtt" "port")"
    bashio::log.green "---"
fi

Hi please create a PR and I'll merge it ! thanks for having seen that

I created the pull request. Hopefully I did everything right.

Thanks!


feat(hass): added Siegenia Aeropac device discovery for HA

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

36 of 36 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.2%) to 24.635%

Totals

Change from base Build<PHONE_NUMBER>:
0.2%

Covered Lines:
3730

Relevant Lines:
15984

💛  - Coveralls


send dialog and plumbing does not handle over-long memos

Fixes #323

service error not examined yet

i only updated the validation function, but it might be nice to provide an indication of maximum length, or use an input attribute to actually limit the field.

error happens in wasm. so handler is failing to rethrow as ConnectError, and, not validating before calling wasm

the js shim provided by wasm-bundler is not rethrowing the error. this is the source of the error flow disconnect. the error received by the implementation is literally a webassembly 'unreachable'
we can try/catch around every wasm call, to address this. but a correct solution should involve fixing wasm crate to rethrow specific errors

Also, I'd change the PR description so it doesn't close the issue on merge because the Rust code still needs changed too.


Add CPI 1.23-alpha.1 version

What this PR does / why we need it

In contains new feature for excluding networking cidr for nodes. This is to fix the issue with kube-vip with IPV6, that VM could be assign the same ip as kube-vip pod ip
Will update to official release once CPI is fully tested against k8s 1.23
Details for the Release Notes (PLEASE PROVIDE)

Ability to exclude subnets for internal/external node ip selection
Bump Kubernetes dependencies to v1.23.X and go to 1.17
internal-network-subnet-cidr and external-network-subnet-cidr config variables accept a list of comma separated CIDRs

Which issue(s) this PR fixes

Fixes: #
Describe testing done for PR

Special notes for your reviewer

LGTM.
We do have this open draft PR #2765 that includes template changes to use the new excludeInternalNetworkSubnetCIDR field (that was a part of 1.23.0-alpha.1that we would like to be a part of the final built package of1.23.0-alpha.1`. We were thinking of rebasing after this PR is merged and we are hoping we can merge that PR before we continue the process of building and releasing the package.


Sample Program's Window Loop should use SpinWait instead of Sleep

Spinning using Sleep(0) will pin the working core and be disastrous on single core machines. Using SpinWait.SpinUntil will insure that the spinning will include thread yields and occasional sleeps to prevent starving other threads.

Hey @ErenForce, I'm certainly open to improvements to the sample code. I haven't spent a ton of time on little improvements like that -- it's mostly there to show some basic integration and demonstrate how the library can be used.

Sleep(0) will pin the working core and be disastrous on single core machines

I'd like to understand what this means a bit more. We could switch to SpinWait, although it's not really semantically the same. If we updated the target framework of the sample, we could also use Thread.Yield, which seems appropriate.

Looping with sleep like that will consume all of the CPU cycles. Right now on my machine, running the program keeps my cpu usage at a steady 25% (I have four cores). Switching to SpinUntil removes the usage while keeping the app responsive.
Also SpinWait mostly uses Thread.Yield internally after it's done at least 10 iterations and it shortens code from the while loop to simply SpinWait.SpinUntil(() => DateTime.UtcNow > finishTime);... and it's available with netcore1.0. It seems like a good choice to me.

From what I understand, Sleep(0) should yield to other threads, provided there are any waiting. I'd be happy to take a PR that changes the behavior, though, if it's strictly better.

Sleep(0) is very very weird. Give this a skim, Priority-induced starvation. All that boilerplate code is shoved into SpinOnce() with additional logic for using the CLR's SpinWait for waits that use less than 10 iterations (which is what probably fixes the high CPU usage).

Sleep(0) utilize a core to 100% on my windows, Sleep(1) bring it down to 3%.

hi, any progress here, i just found this neat GUI lib but noticed a heavy cpu difference between this wrapper and the original c++ demos. its like 2% (c++) vs. 25% hence one core of four with this .net wrapper

I've overhauled the sample project entirely as of https://github.com/mellinoe/ImGui.NET/commit/ebb5fe2c6171db172612d1f7d65d6c747055c85b. The new code simply waits on vsync of the application's main swapchain, so I don't think there's much to improve here.


Frame buffer effects run at the wrong aspect ratio

Compare me pausing to the actual game footage, the crates and mission time at the left get offset and stretched.
https://github.com/fgsfdsfgs/perfect_dark/assets/130617241/845d8962-8daf-4496-a6c7-999bf7a94bcc

Seems to only happen in Hi-Res mode, could be related to Hi-Res mode's different render width.

Very strange, you can even see the aspect ratio change in real time when enabling/disabling it.
https://github.com/fgsfdsfgs/perfect_dark/assets/130617241/9b9a9513-db7f-45ab-9e1e-9c762f5c87eb

Does it make sense to even leave the hi-res mode option available? Does it have any effect in the port that I haven't noticed?

I'll leave it in for now. Should be fixed.


Feature/python bindings

Please see also my "quite_zone" and "EanAddOnSymbol" feedback I gave a few days ago (see above). That seems to have gone missing.

Please see also my "quite_zone" and "EanAddOnSymbol" feedback I gave a few days ago (see above). That seems to have gone missing.

Changed

Sorry for the non-splitting of PR regarding module vs ci -system updates. I missed your request.
By the way, I think it would be difficult to provide a independant pull-request for ci-build system, as it requires some of the changes in the python module. So creating a PR for ci-build system starting on the master branch could not demonstrate something working.
Let me know if you really want that...

About splitting the PR: don't worry.
Note: I'll squash the PR when merging to get rid of all the back-and-forth commits.
Another question, where you might have some answer for me: is this split in python-build and python-test really the best approach? It means we build everything twice for all platforms and all python versions. Did you follow some github best practices or some prominent project with this approach?

Thanks for the 'revert'-commit but that one changed all the tabs to spaces. I'd like to keep the coding style consistent...

I'm currently adding a bunch of test cases in the python unittests to ensure that everything is working fine with different combinations of parameters for the write_barcode/read_barcode methods.
This may lead to some new questions/issues: for example: create an Aztec barcode with default parameters (minimum size and default quiet_zone) leads to unreadable barcode...
Should I put those new test cases in this PR or would you like me to create a new one ?

Re more testcases: Please lets first finish this PR (only thing left is the new whitespace regression, see above). I'd also argue that the python test-cases should be limited to tests related to the python API itself not all the functionality of the core library. If there is a bug in the Aztec encoder, that should be tested in the C++ unittests.

Thanks for the 'revert'-commit but that one changed all the tabs to spaces. I'd like to keep the coding style consistent...

On python side, the recommendation is to use spaces (see https://www.python.org/dev/peps/pep-0008/#tabs-or-spaces), but if you really want tabs, I will change.

but if you really want tabs, I will change.

Yes, please. Thx. (if only to separate functional from stylistic changes...)

Thanks a lot for commitment and endurance :).


WIP: Switching over to ESLint from JSHint

Related to #1133.
So far the ESLint configuration has been made so that the rules found from earlier JSHint configuration are matched and set to trigger an error (2).
All the rest are set to trigger warning (1) and need further discussion of how the configure them.
There are plenty of inline configurations in the JS files, specifically in the tests, which could be possibly reduced.
Please comment.

@n1k0 @mickaelandrieu any comments on this?
If nothing major, feel free to merge, as it is easier to continue adjusting the rules once the new tool in taken in use.

@paazmaya  for now the build seems broken.

@mickaelandrieu due to 38 linting errors found by ESLint. I could either fix those (and create conflicts for many other PRs) or tune down the lint configuration so they appear as warnings (and fix them later...).

@paazmaya I agree to switch too, and "turn down" for now lint configuration (with a technical debt issue, of course)

@mickaelandrieu green light acquired!

can you squash your commits ? I merge :)
Thank you for this contribution @paazmaya

Hello Everybody,
Here is the score on my repository casperjs :

With eslint have got ✖ 11104 problems (11104 errors, 0 warnings)- Strings must use doublequote lol
With jshint have got ✖ 20 errors  (This function's cyclomatic complexity is too high)

Regards :-p

@mickaelandrieu now is in single :bride_with_veil:

thank you @paazmaya :)


add sp_ring_reserve_replica_next

This allows the ring to be continually iterated based on availability.
The core part of sp_ring_reserve is reworked into sp_ring_reserve_replica for reuse.
This may not even be a good idea. Style / formatting comments also appreciated!

Sweet, I'll look this over in a bit.

I think this all makes sense, but I'm playing around with it a bit to make its doing what I think. We might want to test the extents of the replica searching. (i.e. the behavior when no replicas are available)

I realized overnight, I can just reach into the struct to decrement avail on the node.
  local conn
  for n in self.ring:find(job.key):iter() do
    if n.avail > 0 then
      local check = self.workers[n:key()].conn
      if not job.attempted[check.host] then
        conn = check
        n.avail = n.avail - 1
        break
      end
    end
  end

We could also use this approach above ^^ and not rush into anything hasty on the siphon / reserve side.

Not sure how dodgy that is to access .avail directly?


python312Packages.xbox-webapi: disable failing test

Test fails due to slight difference in newline distribution. Seems safe to disable
Things done

Built on platform(s)

[x] x86_64-linux

[x] Fits CONTRIBUTING.md.

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 369378

x86_64-linux

:fast_forward: 1 package marked as broken and skipped:

gnuk

:x: 11 packages failed to build:

affine
ananicy
libretranslate (python312Packages.libretranslate)
libretranslate.dist (python312Packages.libretranslate.dist)
nanoboyadvance
python312Packages.ltpycld2
python312Packages.ltpycld2.dist
python313Packages.ltpycld2
python313Packages.ltpycld2.dist
schedtool
spike

:white_check_mark: 27 packages built:

armTrustedFirmwareTools
bonsai
circt
circt.dev
circt.lib
dnsdbq
easytier
fusee-launcher
gdu
hareThirdParty.hare-ev
home-assistant-component-tests.xbox
klipper-firmware
klipper-flash
livekit-libwebrtc
nitrokey-trng-rs232-firmware
opencomposite
owmods-cli
pkgsite
python312Packages.xbox-webapi
python312Packages.xbox-webapi.dist
python313Packages.xbox-webapi
python313Packages.xbox-webapi.dist
qmk
qmk.dist
simavr
slackdump
zed-editor


          <img width="2536" alt="image" src="https://github.com/casdoor/casdoor/assets/45530032/59e9a10d-cb4d-4ae5-a442-c8d4ba36f61a">

Originally posted by @DevOpserzhao in https://github.com/casdoor/casdoor/issues/2784#issuecomment-1985379232
why hava  xmlns=""  text in xml

@DevOpserzhao you can reply to the old issue. But don't send image as new issue here.
This is the 2nd time. If it happens again, I'm afraid you will be blocked from creating new issue in this repo.
This issue will be deleted shortly.


Getting 400 bad request while importing the test results: Message:BadRequest

Hi, Can you please help me solve this error.
Getting 400 bad request while importing the test results: Message:BadRequest url=https://xray.cloud.getxray.app/api/v2/import/execution/junit?projectKey=stu&TestPlanKey="stu453"
Command: mvn clean compile test xray:import-results

The " characters part of the url look suspicious

additionaly, the testPlanKey should probably be STU-453, following the <project_key_uppercase>- syntax

@mikepenz  I suggest closing this issue


chapter 7 gallery

Not sure if it's my config or something else.
It strips off file extension upon upload.
Then image is blank on the page

Thanks for your feedback. I guess the problem is the missing content type. What browser are you using and what image file type?

Chrome. Image is jpeg.
Where do i specify content type? as  attribute?

Unfortunately I'm not able to re-produce your issue. It is true, that the gallery app is ignoring the file extension. But I don't think this is a big issue.
It's possible that your browser doesn't show the image correctly because of a missing/wrong Content-Type when loading the image from S3.
Could you please try to change the following part in chapter7/gallery/server.js and upload a new photo afterwards?
Old
var params = {
	Body: image,
	Bucket: bucket,
	Key: uuid.v4(),
	ACL: "public-read",
	ContentLength: image.byteCount
};

New
var params = {
	Body: image,
	Bucket: bucket,
	Key: uuid.v4(),
	ACL: "public-read",
	ContentLength: image.byteCount,
	ContentType: image.headers["content-type"]
};


parse xml docs to add class method rust-docs

this parses Godot class docs XMLs to provide rust-doc to class methods in generation code. this can be later extended to provide method paramater infos like default values. we can also use it in the class rust-doc down the road.
related #104

@toasteater made the discussed changes

bors try

@toasteater done and squashed 👍

Apparently this also broke a test here: bindings_generator\src\lib.rs:222:24.
Should be fine to just add a None argument I suppose?

@toasteater yea did not see that when running cargo test locally apparently 🤔
fixed...

bors try

@toasteater ok I cannot trigger the ci :)


Outline version of dropdown button variants

Issue description

components: Dropdown
reactstrap version 5.0.0-alpha.3
import method es
react version 15.6.1
bootstrap version 4.0.0-beta

What is happening?
Would it be possible to have the outline versions of the button variants in a Dropdown menu
Code
<ButtonDropdown isOpen={isOpen} toggle={toggle}>
  <DropdownToggle caret color="primary"> {/* right here, having a prop for the outline version would be so great ! */}
    Text
  </DropdownToggle>
  <DropdownMenu>
    <DropdownItem header>Header</DropdownItem>
    <DropdownItem disabled>Action</DropdownItem>
    <DropdownItem>Another Action</DropdownItem>
    <DropdownItem divider/>
    <DropdownItem>Another Action</DropdownItem>
  </DropdownMenu>
</ButtonDropdown>

Yep, just add the outline prop.
Like many other components within reactstrap, all of the props passed to DropdownToggle are passed down to the component it renders. By default DropdownToggle will render a Button, so you can pass any Button props to it and it will pass them to the `Button.
Demo: https://www.webpackbin.com/bins/-L-Xqjxl7ga1hx5zNbBu
Relevent Code:
        <ButtonDropdown isOpen={this.state.open} toggle={this.toggle}>
          <DropdownToggle caret color="primary" outline>
            Text
          </DropdownToggle>
          <DropdownMenu>
            <DropdownItem header>Header</DropdownItem>
            <DropdownItem disabled>Action</DropdownItem>
            <DropdownItem>Another Action</DropdownItem>
            <DropdownItem divider/>
            <DropdownItem>Another Action</DropdownItem>
          </DropdownMenu>
        </ButtonDropdown>

Nice, didn't know that ! Thanks for your quick answer 👍


Url Tracker 11 doesn't force redirect on Azure App Service

Describe the bug
Url Tracker 11.0.1 - Umbraco 11.4.2
A clear and concise description of what the bug is:
Force redirects doesn't seem to work on a load balanced setup in Azure. I'm using setup and terminology from official docs
When there is a backoffice server and at least one Front-end server (server = Azure App Service) using Url Tracker, only specific redirects seem to work. Specifically:
Works: origin page does not exist -> target page exists
Doesn't work: Origin page exists -> Force redirect to target page that also exists
In that case, it seems to be doing nothing. I can see happening on two different projects. The front-end server(s) will not have the redirect in place. I'm not 100% sure it's a bug, but all the testing I could do, it seems like it's one.
To Reproduce
Steps to reproduce the behavior:

Spin up any Umbraco 10/11 project
Set a page to redirect from
Set a page to redirect to as a target (302/301 doesn't matter)
Enable force redirect and save.

Expected behavior
Even if both pages exist, if I force redirect from page A to page B, it should comply.
Desktop (please complete the following information):

Linux Ubuntu Azure App Service (I think its OS is irrelevant pretty sure it happens on Windows too).

Additional context
As I said I'm not 100% sure that this is a bug, as there's one instance in Azure that I have that seems to work but without any differences in configurations etc as far as I can see. Feel free to instruct me if I'm doing something wrong and I'm available to help test it or if anything else is needed.

Hi! Thanks for the detailed report!
I'm pretty sure I know what's going on. It's been on my todo list for a while, but I haven't taken the time to actually implement it yet. You're likely suffering from stale memory caches.
For performance, the URL Tracker keeps previously made matches in a memory cache. However, if you update your redirects, the URL Tracker only updates the memory cache on the Publisher server. You can verify if this is the case by simply rebooting your subscriber servers and checking if the redirect starts working then.
I don't have a quick fix available, but if you're comfortable with loadbalancing, you might be able to build a workaround:

A custom CacheRefresherNotification should notify all subscriber servers that the redirects have changed
You can fire the notification using the DistributedCache service, which can be injected with dependency injection.
To check for changes in the redirects, you can create a decorator, much like the cache sub-package of the URL Tracker.
Then you can register a notification handler for your custom notification and clear the redirect cache whenever that notification is fired. Simply inject the IInterceptCache type in your notification handler and call the .Clear() method on there, just like what the cache sub-package does.

This should clear the redirect cache on all subscriber servers when a change is made on the publisher server.
Does that suffice or would you prefer to wait until I can build a fix?

Hey thanks for the reply, I appreciate it. I understand what you mean and it was in my mind too. Is it something you're planning on fixing overall or shouldn't I wait?
I'll try restarting the application as a first step to see if this is fixed and then consult the rest of the team. I'll report back if a restart fixed it.

Sorry for the double post, but a question I have here is:
Why does the caching work when there is no source page? Doesn't that suffer from the same problem?

Good questions, top to bottom:

Is it something you're planning on fixing overall or shouldn't I wait?

I've been meaning to fix this, but since nobody really noticed the issue, I put it on very low priority. Especially because I do this in my spare time and I am attempting to focus on a big redesign. Now since you're actively experiencing inconvenience with this issue, I could give it more priority.
So... should you wait? Depends how pressing this issue is for you. It's my spare time, so I can't commit to a deadline. If you need this solution before the end of this week, I'd say don't wait. If you can live with the issue, then perhaps you can wait. I do aim to fix all the issues here, but it may take a bit more than a week.
If you decide not to wait, it may be worth consideration to make a fork of this repository and send me a pull request of the fix that your team has made. The URL Tracker is open for contributions. If you're interested to contribute to the URL Tracker, please let me know so I can give some additional instructions.

Why does the caching work when there is no source page? Doesn't that suffer from the same problem?

I'm speculating here, but I think it actually does suffer from the same problem, but the circumstances are likely different. All responses from the URL Tracker are cached per URL. If a URL is visited and no redirect was found, this is cached so we don't search again. The important bit here is that this happens when the URL is visited. Since URLs for non-existing pages are usually not visited very often, it's likely that the cache entries for non-existing pages don't exist or have expired. By default, responses are cached for 2 days after the last visit.

Thanks for the details, I understand what you mean. We'll look to do something probably on our side. Thanks again!

I ran into the same issue, so a fix would be nice to make it usable for larger sites.
Thanks for the workaround, we'll try that for now!

I released a beta version for Umbraco 10 and Umbraco 13 with a fix for this issue. Versions 10.4.0-beta0001 and 13.1.0-beta0002 respectively. I would love it if you could give it a try!
In addition to a fix for this issue, these beta releases contain a new "active" cache that aims to improve performance. It is turned off by default, but can be turned on using a configuration in appsettings.json.

This issue has been solved in versions 10.4.0 and 13.1.0 for Umbraco 10 and 13 respectively. Since Umbraco 11 and 12 are STS and a higher LTS version is available, these versions won't receive an update anymore.
I'm closing this issue.


Receive messages on group 2/1/0

Hello, thanks for the great library :)
I register my switches like this way:
 for (auto &item : items)   {     callback_id_t switchesCallbackId = knx.callback_register(String(item.name), switchesCallback, &item);     knx.callback_assign(switchesCallbackId, knx.GA_to_address(2, 1, i));     i++;
the final result for 2 switches is like 2/1/1 and 2/1/2, I have any method to handle with the telegrams sent to 2/1/0 ?
if I receive on message on this group address I want to turn on/turn off all switches.

I made this way, is correct?
callback_id_t switchesCallbackId = knx.callback_register("ALL", allwitchesCallback);
knx.callback_assign(switchesCallbackId, knx.GA_to_address(2, 1, 0));

Hi,
Sure, you can do it this way.


VS Code keep lagging

Does this issue occur when all extensions are disabled?: Yes/No

VS Code Version: Windows x64 stable (1.60.0) (Downloaded from the official web)
OS Version: Windows 10

Steps to Reproduce:

I just run VS Code normally.
Created a new file, VS Code costed about 10 seconds to do this.
Typed in the file (I typed Hello World in C), the extension for C didn't give me tips, and Rainbow Brackets and other extension didn't work, too.
Power Mode worked 1~2 minutes later, but the effect didn't stop. It keep to made points!
VS Code didn't save the file after I pressed ctrl + s, but 10 seconds later.

I have tried on another Windows 10, but didn't go into this bug.

/needsMoreInfo
Please use this guide to provide more information: https://github.com/Microsoft/vscode/wiki/Performance-Issues. Thanks.


Synology

Hello!
Little question here, would it be possible for me to clone this repo via ssh in my synology and then run the docker command to pull all the containers? Or is there any other way to do it in a more synology-oriented way?

You should be able to install docker-compose and then run docker compose up -d in the terminal where the compose file is located. Fix environment variables and volumes to suit your setup

@Feramance I'll try that. Thank you!


Wrong config for OpenSSL intermediate certs

ICAs generated by OpenSSL are V1. Should be V3 with correct fields.

Fixed in d49fc0d931ef7f83f88cfd96da14aa5325f6b0a6


Hide validation icons from multiple selects

Implementation provided in #33411 does not take into account that some
Operative Systems may display a vertical scrollbar in the multiple
select field
This implementation will hide the validation icons from multiple select
fields just like Bootstrap 4 does
Fix: #33591
Before (Win 10 / Chrome 89)
Main

5.0.0.beta3

After (Win 10 / Chrome 89)

Hi @tkrotoff  this mimics BS4 approach, any chance to take a look at this PR?

There should be no difference in moving from .form-select to select because we only have one class for this in v5. I’d stick with the class selector. I’m also good with moving in this direction to hide the icon again.

I see several solutions depending on whether https://github.com/twbs/bootstrap/pull/33411#issuecomment-816699113 should be treated or not (is Bootstrap 5 supposed to work if the user writes select.form-control instead of .form-select?)
Modify scss/mixins/_forms.scss

1- solution proposed in this PR: .form-select { @include form-validation-state-selector ... }, doesn't solve https://github.com/twbs/bootstrap/pull/33411#issuecomment-816699113
2- the same code with select instead .form-select, solves https://github.com/twbs/bootstrap/pull/33411#issuecomment-816699113

Modifying _forms.scss has the drawback to have almost the same code inside _form-select.scss but the code can be factorized (something like remove-select-multiple-background-image())
Modify scss/forms/_form-select.scss

3- add !important here: https://github.com/twbs/bootstrap/blob/a48a29a7a5878d2a88acbca6ec4e189c1c068d4a/scss/forms/_form-select.scss#L38-L39, doesn't solve https://github.com/twbs/bootstrap/pull/33411#issuecomment-816699113
4- addselect {
  &[multiple],
  &[size]:not([size="1"]) {
    padding-right: $form-select-padding-x !important;
    background-image: none !important;
  }
}

solves https://github.com/twbs/bootstrap/pull/33411#issuecomment-816699113

if we modify _form-select.scss this way, we don't need the same code inside _forms.scss
The problem with !important is that the user cannot set its own background-image to the select/.form-select.
I'm not a affiliated with Bootstrap, just my 2€

given @ffoodd's comment at https://github.com/twbs/bootstrap/pull/33411#issuecomment-812812020, would it be a better solution to only apply style to .form-select without multiple or with [size="1"]? Is there an edge case that I'm missing?
      @if $enable-validation-icons {
        &:not([multiple]),
        &[size="1"] {
          padding-right: $form-select-feedback-icon-padding-end;
          background-image: escape-svg($form-select-indicator), escape-svg($icon);
          background-position: $form-select-bg-position, $form-select-feedback-icon-position;
          background-size: $form-select-bg-size, $form-select-feedback-icon-size;
        }
      }

@tagliala I've tested &:not([multiple]), &[size="1"] (nicer approach than my suggestions!) => does not work in all cases:

This works (but does not solve https://github.com/twbs/bootstrap/pull/33411#issuecomment-816699113):
  .form-select {
      ...

      @if $enable-validation-icons {
        &:not([multiple]):not([size]),
        &[size="1"] {
          padding-right: $form-select-feedback-icon-padding-end;
          background-image: escape-svg($form-select-indicator), escape-svg($icon);
          background-position: $form-select-bg-position, $form-select-feedback-icon-position;
          background-size: $form-select-bg-size, $form-select-feedback-icon-size;
        }
      }

      ...
    }

Code to test:

form-select multiple

  <select class="form-select is-valid" multiple>
    <option>1</option>
    <option>2</option>
    <option>3</option>
    <option>4</option>
    <option>5</option>
  </select>

form-select size="1"

  <select class="form-select is-valid" size="1">
    <option>1</option>
    <option>2</option>
    <option>3</option>
    <option>4</option>
    <option>5</option>
  </select>

form-select size="2"

  <select class="form-select is-valid" size="2">
    <option>1</option>
    <option>2</option>
    <option>3</option>
    <option>4</option>
    <option>5</option>
  </select>

Screenshot with untouched v5 beta3:

btw you will notice that Bootstrap does not respect size="2" (it displays a bit more than 2 line), screenshot with regular select size="2":

Thanks, of course I was missing something
btw,  &:not([multiple]):not([size]), &[size="1"] { does not cover multiple size="1"

          <form>
            form-select

              <select class="form-select is-valid">
                <option>1</option>
                <option>2</option>
                <option>3</option>
              </select>

            form-select size="1"

              <select class="form-select is-valid" size="1">
                <option>1</option>
                <option>2</option>
                <option>3</option>
              </select>

            form-select size="2"

              <select class="form-select is-valid" size="2">
                <option>1</option>
                <option>2</option>
                <option>3</option>
              </select>

            form-select multiple

              <select class="form-select is-valid" multiple>
                <option>1</option>
                <option>2</option>
                <option>3</option>
              </select>

            form-select multiple size="1"

              <select class="form-select is-valid" multiple size="1">
                <option>1</option>
                <option>2</option>
                <option>3</option>
              </select>

            form-select multiple size="2"

              <select class="form-select is-valid" multiple size="2">
                <option>1</option>
                <option>2</option>
                <option>3</option>
              </select>

          </form>

The correct inversion should be
&:not([multiple]):not([size]),
&:not([multiple])[size="1"] {

👍  You're right about multiple size="1": it displays a scrollbar and thus there should be no feedback icon and no indicator icon.


fix bind-attr and action-on-focus deprecations

This is suppossed to fix a few deprecations with latest Ember (CLI). There is still the view "select" deprecation left, which requires more refactoring (see http://emberjs.com/deprecations/v1.x/#toc_ember-select). Maybe solve this in the scope of #30?
The problem with my PR is, that it causes parsing errors (Expecting 'CLOSE_RAW_BLOCK', 'CLOSE', 'CLOSE_UNESCAPED' ....) on elements that appear perfectly fine. I thought maybe updating this addon's Ember might solve this, but this isn't the case. So I think this is a bug with htmlbars or do you have an idea? Nevertheless, I will submit a PR for updating Ember in case you might want it.

You can see the parse error at the Travis CI build. I have no idea what is wrong.

I think it you fix the above syntax error that this should be the first merge. The other PRs are going to need more investigation.
Our company Ember App is also going to need a upgrade so I anticipate having more eyes on this projects upgrade in the near future.

Those failing tests might pass on latest Ember (at least most of them).

Oh. I get it. Ember 1.10 doesn't support HTMLBars while 1.11 and up does. And so the bind-attr is still required. seems line we should drop < 1.11 support.

Yes, that would mean Ember CLI 0.2.2+. That version was released on March 30th. I guess it is reasonable to depend on that by now.

+1 on this PR. Most addons are indicating which version to use with ember. Eg: ember <= 1.10 use version 1.4.2, ember >= 1.11 use version 1.5+
Also, there are a few places where @each will need to be changed to []. Could be a separate PR or incorporated here IMO.

As Ember approaches 2.0 the views will be removed. Eventually the {{select}} helper will be completely refactored. I think it might be worth look at if it is even needed. Maybe have it make it's own on small screen sizes and avoid it completely on desktop. I think the dependency on ember's {{select}} is a source of pain. Can it be removed?
As I have time to work on this plugin I'll leave the 1.x.x versions as old code supporting ember <= 1.10 while the 2.x.x or above is for ember >= 1.13

{{select}} can certainly be removed. E.g. you could write your own implementation of html's <select> tag or utilize https://github.com/thefrontside/emberx-select.

@AW-UC, Exactly, making our own <select> is the way forward.


No module named 'tensorflow.python.types' when building estimator from master branch

Please make sure that this is a build/installation issue. As per our GitHub Policy, we only address code/doc bugs, performance issues, feature requests and build/installation issues on GitHub. tag:build_template
System information

OS Platform and Distribution (e.g., Linux Ubuntu 16.04):
Lunux Ubuntu 16.04
TensorFlow installed from (source or binary):
Pip install tensorflow==2.2.0
TensorFlow version:
2.2.0
Python version:
3.6
Installed using virtualenv? pip? conda?:
pip
Bazel version (if compiling from source):
2.0.0 & 0.25.0
GCC/Compiler version (if compiling from source):
5.4.0

Describe the problem
I'm trying to compile the estimator binary from the tensorflow/estimator master branch, using the bazel commands that listed on the readme page. The building failed with the error:
File "/home/ubuntu/.cache/bazel/_bazel_ubuntu/9e73ac3ed666d141725dcd5fe404d502/sandbox/linux-sandbox/2/execroot/org_tensorflow_estimator/bazel-out/host/bin/tensorflow_estimator/python/estimator/api/create_tensorflow_estimator.python.estimator_api_1_estimator_python_api_gen_compat_v1.runfiles/org_tensorflow_estimator/tensorflow_estimator/python/estimator/model_fn.py", line 29, in <module>
    from tensorflow.python.types import core
ModuleNotFoundError: No module named 'tensorflow.python.types'

I tried to clean the directory and checkout the esitimator/r2.2 branch, built with the same environment and command. That build was passed with no error.
Could someone suggest why master branch is having this import issue? Thanks
Provide the exact sequence of commands / steps that you executed before running into the problem
git clone https://github.com/tensorflow/estimator.git
pip uninstall -y tensorflow
pip install tensorflow==2.2.0
bazel build //tensorflow_estimator/tools/pip_package:build_pip_package

Any other info / logs
Include any logs or source code that would be helpful to diagnose the problem. If including tracebacks, please include the full traceback. Large logs and files should be attached.
/home/ubuntu/estimator/tensorflow_estimator/python/estimator/api/BUILD:38:1: Executing genrule //tensorflow_estimator/python/estimator/api:estimator_python_api_gen_compat_v1 failed (Exit 1) bash failed: error executing command /bin/bash -c ... (remaining 1 argument(s) skipped)

Use --sandbox_debug to see verbose messages from the sandbox
Traceback (most recent call last):
  File "/home/ubuntu/.cache/bazel/_bazel_ubuntu/9e73ac3ed666d141725dcd5fe404d502/sandbox/linux-sandbox/2/execroot/org_tensorflow_estimator/bazel-out/host/bin/tensorflow_estimator/python/estimator/api/create_tensorflow_estimator.python.estimator_api_1_estimator_python_api_gen_compat_v1.runfiles/org_tensorflow_estimator/tensorflow_estimator/python/estimator/api/create_python_api_wrapper.py", line 26, in <module>
    from tensorflow_estimator.python.estimator import estimator_lib  # pylint: disable=unused-import
  File "/home/ubuntu/.cache/bazel/_bazel_ubuntu/9e73ac3ed666d141725dcd5fe404d502/sandbox/linux-sandbox/2/execroot/org_tensorflow_estimator/bazel-out/host/bin/tensorflow_estimator/python/estimator/api/create_tensorflow_estimator.python.estimator_api_1_estimator_python_api_gen_compat_v1.runfiles/org_tensorflow_estimator/tensorflow_estimator/python/estimator/estimator_lib.py", line 22, in <module>
    from tensorflow_estimator.python.estimator.canned.baseline import BaselineClassifier
  File "/home/ubuntu/.cache/bazel/_bazel_ubuntu/9e73ac3ed666d141725dcd5fe404d502/sandbox/linux-sandbox/2/execroot/org_tensorflow_estimator/bazel-out/host/bin/tensorflow_estimator/python/estimator/api/create_tensorflow_estimator.python.estimator_api_1_estimator_python_api_gen_compat_v1.runfiles/org_tensorflow_estimator/tensorflow_estimator/python/estimator/canned/baseline.py", line 59, in <module>
    from tensorflow_estimator.python.estimator import estimator
  File "/home/ubuntu/.cache/bazel/_bazel_ubuntu/9e73ac3ed666d141725dcd5fe404d502/sandbox/linux-sandbox/2/execroot/org_tensorflow_estimator/bazel-out/host/bin/tensorflow_estimator/python/estimator/api/create_tensorflow_estimator.python.estimator_api_1_estimator_python_api_gen_compat_v1.runfiles/org_tensorflow_estimator/tensorflow_estimator/python/estimator/estimator.py", line 51, in <module>
    from tensorflow_estimator.python.estimator import model_fn as model_fn_lib
  File "/home/ubuntu/.cache/bazel/_bazel_ubuntu/9e73ac3ed666d141725dcd5fe404d502/sandbox/linux-sandbox/2/execroot/org_tensorflow_estimator/bazel-out/host/bin/tensorflow_estimator/python/estimator/api/create_tensorflow_estimator.python.estimator_api_1_estimator_python_api_gen_compat_v1.runfiles/org_tensorflow_estimator/tensorflow_estimator/python/estimator/model_fn.py", line 29, in <module>
    from tensorflow.python.types import core
ModuleNotFoundError: No module named 'tensorflow.python.types'
Target //tensorflow_estimator/tools/pip_package:build_pip_package failed to build
Use --verbose_failures to see the command lines of failed build steps.
ERROR: /home/ubuntu/estimator/tensorflow_estimator/tools/pip_package/BUILD:18:1 Executing genrule //tensorflow_estimator/python/estimator/api:estimator_python_api_gen_compat_v1 failed (Exit 1) bash failed: error executing command /bin/bash -c ... (remaining 1 argument(s) skipped)

Use --sandbox_debug to see verbose messages from the sandbox
INFO: Elapsed time: 5.025s, Critical Path: 1.66s
INFO: 0 processes.
FAILED: Build did NOT complete successfully

tf.estimator is installed silently when you install the TensorFlow pip package. So you may skip building tf.estimator package locally.

tf.estimator is installed silently when you install the TensorFlow pip package. So you may skip building tf.estimator package locally.

hi, we need to modify the estimator source codes before building it. To have our customized estimator binary, the building process cannot be skipped. thanks

Can you post the output of pip list before and after building TF Estimator?

 That is, let's try running the following
pip uninstall -y tensorflow tensorboard
pip install tf-nightly
# now build estimator from master's branch, probably after a new sync

Hmm, let's try building while you have installed tf-nightly. That is, let's try running the following
pip uninstall -y tensorflow tensorboard
pip install tf-nightly
# now build estimator from master's branch, probably after a new sync

Thanks for the suggestion. I've tried to uninstall tensorflow, tensorflow-gpu and tensorboard, then install tf-nightly:
ubuntu@ip-172-31-14-213:~/estimator$ pip show tf-nightly
Name: tf-nightly
Version: 2.5.0.dev20200629
Summary: TensorFlow is an open source machine learning framework for everyone.
Home-page: https://www.tensorflow.org/
Author: Google Inc.
Author-email<EMAIL_ADDRESS>License: Apache 2.0
Location: /home/ubuntu/anaconda3/lib/python3.7/site-packages
Requires: scipy, tf-estimator-nightly, opt-einsum, google-pasta, wrapt, wheel, absl-py, h5py, termcolor, tb-nightly, six, astunparse, gast, numpy, keras-preprocessing, grpcio, protobuf

Then fetch and pull the latest estimator/master. Run the build with
bazel build //tensorflow_estimator/tools/pip_package:build_pip_package
The build failed with a new error:
AttributeError: module 'tensorflow' has no attribute 'compat'

Full error message:
ubuntu@ip-172-31-14-213:~/estimator$ bazel build //tensorflow_estimator/tools/pip_package:build_pip_package
INFO: Analyzed target //tensorflow_estimator/tools/pip_package:build_pip_package (0 packages loaded, 0 targets configured).
INFO: Found 1 target...
ERROR: /home/ubuntu/estimator/tensorflow_estimator/BUILD:79:19: Executing genrule //tensorflow_estimator:estimator_python_api_gen_compat_v2 failed (Exit 1) bash failed: error executing command /bin/bash -c ... (remaining 1 argument(s) skipped)
Use --sandbox_debug to see verbose messages from the sandbox
2020-06-29 18:42:13.382333: W tensorflow/stream_executor/platform/default/dso_loader.cc:59] Could not load dynamic library 'libcudart.so.10.1'; dlerror: libcudart.so.10.1: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /usr/lib64/openmpi/lib/:/usr/local/cuda/lib64:/usr/local/lib:/usr/lib:/usr/local/cuda/extras/CUPTI/lib64:/usr/local/mpi/lib:/lib/:/home/ubuntu/src/cntk/bindings/python/cntk/libs:/usr/local/cuda/lib64:/usr/local/lib:/usr/lib:/usr/local/cuda/extras/CUPTI/lib64:/usr/local/mpi/lib:/usr/lib64/openmpi/lib/:/usr/local/cuda/lib64:/usr/local/lib:/usr/lib:/usr/local/cuda/extras/CUPTI/lib64:/usr/local/mpi/lib:/lib/:
2020-06-29 18:42:13.382396: I tensorflow/stream_executor/cuda/cudart_stub.cc:29] Ignore above cudart dlerror if you do not have a GPU set up on your machine.
Traceback (most recent call last):
File "/home/ubuntu/.cache/bazel/_bazel_ubuntu/9e73ac3ed666d141725dcd5fe404d502/sandbox/linux-sandbox/5/execroot/org_tensorflow_estimator/bazel-out/host/bin/tensorflow_estimator/create_tensorflow_estimator.python.estimator_api_2_estimator_python_api_gen_compat_v2.runfiles/org_tensorflow_estimator/tensorflow_estimator/python/estimator/api/create_python_api_wrapper.py", line 26, in
from tensorflow_estimator.python.estimator import estimator_lib  # pylint: disable=unused-import
File "/home/ubuntu/.cache/bazel/_bazel_ubuntu/9e73ac3ed666d141725dcd5fe404d502/sandbox/linux-sandbox/5/execroot/org_tensorflow_estimator/bazel-out/host/bin/tensorflow_estimator/create_tensorflow_estimator.python.estimator_api_2_estimator_python_api_gen_compat_v2.runfiles/org_tensorflow_estimator/tensorflow_estimator/python/estimator/estimator_lib.py", line 22, in
from tensorflow_estimator.python.estimator.canned.baseline import BaselineClassifier
File "/home/ubuntu/.cache/bazel/_bazel_ubuntu/9e73ac3ed666d141725dcd5fe404d502/sandbox/linux-sandbox/5/execroot/org_tensorflow_estimator/bazel-out/host/bin/tensorflow_estimator/create_tensorflow_estimator.python.estimator_api_2_estimator_python_api_gen_compat_v2.runfiles/org_tensorflow_estimator/tensorflow_estimator/python/estimator/canned/baseline.py", line 59, in
from tensorflow_estimator.python.estimator import estimator
File "/home/ubuntu/.cache/bazel/_bazel_ubuntu/9e73ac3ed666d141725dcd5fe404d502/sandbox/linux-sandbox/5/execroot/org_tensorflow_estimator/bazel-out/host/bin/tensorflow_estimator/create_tensorflow_estimator.python.estimator_api_2_estimator_python_api_gen_compat_v2.runfiles/org_tensorflow_estimator/tensorflow_estimator/python/estimator/estimator.py", line 53, in
from tensorflow_estimator.python.estimator import util as estimator_util
File "/home/ubuntu/.cache/bazel/_bazel_ubuntu/9e73ac3ed666d141725dcd5fe404d502/sandbox/linux-sandbox/5/execroot/org_tensorflow_estimator/bazel-out/host/bin/tensorflow_estimator/create_tensorflow_estimator.python.estimator_api_2_estimator_python_api_gen_compat_v2.runfiles/org_tensorflow_estimator/tensorflow_estimator/python/estimator/util.py", line 75, in
class _DatasetInitializerHook(tf.compat.v1.train.SessionRunHook):
AttributeError: module 'tensorflow' has no attribute 'compat'
Target //tensorflow_estimator/tools/pip_package:build_pip_package failed to build
Use --verbose_failures to see the command lines of failed build steps.
ERROR: /home/ubuntu/estimator/tensorflow_estimator/tools/pip_package/BUILD:18:10 Executing genrule //tensorflow_estimator:estimator_python_api_gen_compat_v2 failed (Exit 1) bash failed: error executing command /bin/bash -c ... (remaining 1 argument(s) skipped)
Use --sandbox_debug to see verbose messages from the sandbox
INFO: Elapsed time: 1.926s, Critical Path: 1.73s
INFO: 0 processes.
FAILED: Build did NOT complete successfully

It could be the Bazel cache already contains stale data. Let's give this one more try. Can you run the following commands please (in the clone of Estimator)?
bazel clean --expunge
cd ..
rm -rf estimator
python -m virtualenv venv
source venv/bin/activate
pip install tf-nightly
git clone $estimator_repo_url  # fill in with the URL from which you clone
cd estimator
bazel build //tensorflow_estimator/tools/pip_package:build_pip_package &> log.txt
deactivate

And then attach log.txt in a reply. If possible, also copy-paste the output of all the commands above (which first reset environment to a clean state, then create a virtual environment for python packages to ensure no collusion with system-wide installs, then clones estimator and builds the pip package)

If you try uninstalling and reinstaling tensorflow-estimator=1.x, it might work. Did for me.

It could be the Bazel cache already contains stale data. Let's give this one more try. Can you run the following commands please (in the clone of Estimator)?
bazel clean --expunge
cd ..
rm -rf estimator
python -m virtualenv venv
source venv/bin/activate
pip install tf-nightly
git clone $estimator_repo_url  # fill in with the URL from which you clone
cd estimator
bazel build //tensorflow_estimator/tools/pip_package:build_pip_package &> log.txt
deactivate

And then attach log.txt in a reply. If possible, also copy-paste the output of all the commands above (which first reset environment to a clean state, then create a virtual environment for python packages to ensure no collusion with system-wide installs, then clones estimator and builds the pip package)

building in virtualenv worked. thank you!

Hello.
I've been trying to install TensorFlow with Anaconda on Windows for a few days now. Every version of the 2.x.x branch of TensorFlow is defective, and, is impossible to get running because of import errors.
I landed on this ticket's page because I had to downgrade TensorFlow from 2.3 (2.2. and 2.3 are completely broken and wouldn't work with any CUDA GPUs) to 2.1. And, when trying to run 2.1 version, it is unable to import the estimator because estimator cannot import tensorflow.python.types. I looked at the code that requires this package, and I cannot find anything in the entire distribution of the tons of different packages named "tensorflow-something" anything similar to "types.core", as that what's being used actually in the code.
This ticket was unhelpful in understanding how to solve the problem. Not even in understanding what the problem actually is. I would appreciate some information on what this missing package is, and how to find it, if I'm missing it.
PS. I will not use Bazel to build TensorFlow. It's another extremely broken and convoluted system. I have no faith that going down that path will not just create more problems. I just want to find a distribution that works on Windows 10. Is this too much to ask?

Hello.
I've been trying to install TensorFlow with Anaconda on Windows for a few days now. Every version of the 2.x.x branch of TensorFlow is defective, and, is impossible to get running because of import errors.
I landed on this ticket's page because I had to downgrade TensorFlow from 2.3 (2.2. and 2.3 are completely broken and wouldn't work with any CUDA GPUs) to 2.1. And, when trying to run 2.1 version, it is unable to import the estimator because estimator cannot import tensorflow.python.types. I looked at the code that requires this package, and I cannot find anything in the entire distribution of the tons of different packages named "tensorflow-something" anything similar to "types.core", as that what's being used actually in the code.
This ticket was unhelpful in understanding how to solve the problem. Not even in understanding what the problem actually is. I would appreciate some information on what this missing package is, and how to find it, if I'm missing it.
PS. I will not use Bazel to build TensorFlow. It's another extremely broken and convoluted system. I have no faith that going down that path will not just create more problems. I just want to find a distribution that works on Windows 10. Is this too much to ask?

Hi can someone guide me how to resolve this issue.
from tensorflow_estimator.python.estimator import model_fn
File "/home/fazal/anaconda3/lib/python3.6/site-packages/tensorflow_estimator/python/estimator/model_fn.py", line 29, in
from tensorflow.python.types import core
ModuleNotFoundError: No module named 'tensorflow.python.types'

ModuleNotFoundError: No module named 'tensorflow.python.types'

Have you tried upgrading pip3 and reinstalling it?