ARROW-9821: [Rust][DataFusion] Make crate::logical_plan and crate::physical_plan modules

This is a proposal PR that I thought would be easier to do via PR rather than email. FYI @jorgecarleitao and @andygrove
The context is that I plan to make LogicalPlan based on traits to allow extensibility, rather than a hard coded enum, to mirror how ExecutionPlans work.
As an initial smalls step towards this goal, I propose consistent module naming for logical and physical plans
So after this PR we have the top level modules:

logical_plan
physical_plan
optimizer (currently depends on both logical_plan and physical_plan)
execution (has context, and df)

The logical change here is quite small:
Commit 1 has the result of running these commands:
mkdir logical_plan
git mv logicalplan.rs logical_plan/mod.rs
git mv execution/physical_plan .

And the next two commits simply update all references to the new module locations, and the last formats the code for good measure
As follow on PRs (as I define the LogicalPlanNode trait) I would likely propose splitting the logical_plan/mod.rs into other smaller modules.

LGTM after lint. It makes much more sense to me, also!

@alamb @jorgecarleitao There are 4 approved DataFusion PRs (including this one) that need merging. Do you have any preference as to which order they get merged in? I can imagine that there are going to be conflicts with this one, so probably will need to rebase this after the other 3 are merged?

I suggest merging Jorge's first and I will rebase mine
On Mon, Aug 31, 2020 at 6:52 PM Andy Grove<EMAIL_ADDRESS>wrote:

@alamb https://github.com/alamb @jorgecarleitao
https://github.com/jorgecarleitao There are 4 approved DataFusion PRs
(including this one) that need merging. Do you have any preference as to
which order they get merged in? I can imagine that there are going to be
conflicts with this one, so probably will need to rebase this after the
other 3 are merged?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/apache/arrow/pull/8085#issuecomment-684083857, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AADXZMIA2DC2J5Y4RRV44TDSDQSUDANCNFSM4QQUTT2A
.

I have rebased and collapsed this together into a single commit as there were quite a few conflicts. Here are the commands I used (mostly for my own records if/when I have to do this again):
cd arrow/rust/datafusion
mkdir src/logical_plan
git mv src/logicalplan.rs src/logical_plan/mod.rs
git mv src/execution/physical_plan src
find . -name '*.rs' | xargs sed -i '' -e 's|execution::physical_plan|physical_plan|g'
find . -name '*.rs' | xargs sed -i '' -e 's|logicalplan|logical_plan|g'
# manually touch up datafusion/src/lib.rs, etc
git commit -a -m 'ARROW-9821: [Rust][DataFusion] Make crate::logical_plan and crate::physical_plan modules'

@alamb Sorry, needs one more rebase.

@alamb Sorry, needs one more rebase.

No problem -- done


Configure django-environ

Fix #10

#10 is not a defect, so you don't fix it, just close or resolve.


ZXing.Net.Mobile.Forms.ZXingScannerView Image extremely strechted / wrong aspect ratio

Hello,
I am experiencing an extremely strechted preview in the Xamarin.Forms example as well as in the implementation of the ZXingScannerView on my Android device. Unfortunately, I don't have a MacBook at hand, so I can't test the behaviour on my iPhone.
This is how it looks on my Huawei Mate 20 lite.

How can I fix this?

I have the same problem on my Nexus 5x.

I experienced the same problem with my Oneplus 3T and these NuGets:
ZXing.Net.Xamarin v2.99.0-CI-20190225-092434
ZXing.Net.Xamarin.Forms v2.99.0-CI-20190225-092434
The same thing with these older NuGets:
ZXing.Net.Mobile v2.4.1
ZXing.Net.Mobile v2.4.1
I wanted to create a small Barcode Reader at the top. The white rectangle is supposed to be square.
The whole camera image gets squeezed into the small space instead of showing only a part of the camera but with the correct aspect ratio.

I have been analyzing the issue in the last few days. The stretching happens due to the automatic selection of a preview resolution that has the wrong aspect ratio (in my case, it selects 800x600). You should be able to get around this by passing in a CameraResolutionSelector that selects a preview resolution with the correct aspect ratio. Will do a write up on that topic on my blog soon.

Like I promised, here is the write up why the distortion happens and how to fix it: https://bit.ly/2W7RoJF
Hope this helps you all.

@MSiccDev Thank you for the write up! I just found this issue after encounting it myself for UWP for the front facing camera on a Surface book and your solution solved it for UWP as well! Maybe you should try to get this merged in as the default fall back method if no delegate is provided?

@MSiccDev Thank you for the write up! I just found this issue after encounting it myself for UWP for the front facing camera on a Surface book and your solution solved it for UWP as well! Maybe you should try to get this merged in as the default fall back method if no delegate is provided?

Given the fact the library is not very active, I will put it up in my fork soon. I did some more changes to it (e.g. removing PCL in favor of .netStandard libs) to move on in my project.

@MSiccDev Just throwing this out there that I'm still seeing stretched images on a Galaxy S8. It's a friends phone so I don't have access to debug it to see what resolution was ultimately picked but it looks like it did before hand. My LG G5 does look better though stretched wise. The S8 has a weird shape in the fact its thin and long so maybe that has something to do with it.
I also am having extreme lag using this method on my USB webcam on UWP on my home desktop so I need to look into that more later today to find out what resolution is selected.

@dberroa out of curiosity, can you try this on the S8?
var smallestDiff = supportedPreviewSizes.OrderBy(s =>
{
    var ratio = DeviceDisplay.MainDisplayInfo.Orientation == DisplayOrientation.Portrait ? (double)s.Width / s.Height : (double)s.Height / s.Width;
    return Math.Abs(ratio = (DeviceDisplay.MainDisplayInfo.Height / DeviceDisplay.MainDisplayInfo.Width));

}).FirstOrDefault();

resolution = new CameraResolution()
{
    Width = smallestDiff.Width,
    Height = smallestDiff.Height
};

On my Nexus, this returns always the highest resolution. But this modification comes from another user that also has a Samsung. Maybe this works as a fallback method.

@MSiccDev I got my friend to let me debug and found that the code you have in your blog returned null for his phone and then new code you gave returned 1920x1080. When it returned 1920 x 1080 the camera looked correct and looked the same as the on device camera.
Is the second code you used what should replace the original code in all cases?

@dberroa nope. If you look at the OpenCamera() method in my fork here (https://github.com/MSiccDev/ZXing.Net.Mobile/blob/master/Source/ZXing.Net.Mobile.Android/CameraAccess/CameraController.cs), you’ll see that I use a combination of the one in my blog post and the one I suggested above. If after these two ways we are still at null, let the Camera use the default preview size (which is the highest in most cases). It will slow down the detection, but at least it will not be distorted. HTH.

Faced with the same issue? Dear team, when are you supposed to solve it?

Same issue in here - on all devices..

When will we have the fix for this issue?

I'm sure this can be fixed in the Zxing-Code itself.
But until someone has the time to do this, you can solve this in your Xamarin.Forms PageView like this:

in XAML i have attached the SizeChange event.  This is the function
`private void Scanner1_SizeChanged(object sender, EventArgs e)
{
//-- Scanner muss deaktiviert werden um die Auflösung zu ändern
scanner1.IsEnabled = false;
      //-- eine Routine übergeben mit der die passende Auflösung ermittelt werden kann
      scanner1.Options.CameraResolutionSelector = new MobileBarcodeScanningOptions.CameraResolutionSelectorDelegate(SelectLowestResolutionMatchingDisplayAspectRatio);

      //-- scanner wieder aktivieren; Zxing ruft dann die übergebene Funktion auf um eine Auflösung zu bekommen
      scanner1.IsEnabled = true;

  }`

and this is the function with the calculations:
`public CameraResolution SelectLowestResolutionMatchingDisplayAspectRatio(List availableResolutions)
{
CameraResolution result = null;
//a tolerance of 0.1 should not be visible to the user
double aspectTolerance = 0.1;
        //-- Wir stellen sicher, dass diese Funktion im SizeChanged genutzt wird, dann haben wir width/heigt vom Control
        var displayOrientationHeight = scanner1.Width;
        var displayOrientationWidth = scanner1.Height;

        //calculating our targetRatio
        var targetRatio = displayOrientationHeight / displayOrientationWidth;
        var targetHeight = displayOrientationHeight;
        var minDiff = double.MaxValue;

        //camera API lists all available resolutions from highest to lowest, perfect for us
        //making use of this sorting, following code runs some comparisons to select the lowest resolution that matches the screen aspect ratio and lies within tolerance
        //selecting the lowest makes Qr detection actual faster most of the time
        foreach (var r in availableResolutions.Where(r => Math.Abs(((double)r.Width / r.Height) - targetRatio) < aspectTolerance))
        {
            //slowly going down the list to the lowest matching solution with the correct aspect ratio
            if (Math.Abs(r.Height - targetHeight) < minDiff)
                minDiff = Math.Abs(r.Height - targetHeight);
            result = r;
        }
        return result;
    }`

This way we choose the best fitting camera-resolution for the current aspect ratio

Is it still open after 2 years?

Is it still open after 2 years?

@victorest03 There is an issue in this code: minDiff is never used.

var smallestDiff = supportedPreviewSizes.OrderBy(s =>
{
var ratio = DeviceDisplay.MainDisplayInfo.Orientation == DisplayOrientation.Portrait ? (double)s.Width / s.Height : (double)s.Height / s.Width;
return Math.Abs(ratio = (DeviceDisplay.MainDisplayInfo.Height / DeviceDisplay.MainDisplayInfo.Width));
}).FirstOrDefault();
resolution = new CameraResolution()
{
Width = smallestDiff.Width,
Height = smallestDiff.Height
};

It causes my application to crash when open the scanner

@FelipeValentim try my solution instead.

@FelipeValentim try my solution instead.

It's crashing, tha's actually returning a value, but I got the message: System.ArgumentNullException  Message=Value cannot be null. Parameter name: handle
`var options = new MobileBarcodeScanningOptions()
{
//TryHarder = true, //Gets or sets a flag which cause a deeper look into the bitmap.
AutoRotate = false,
UseFrontCameraIfAvailable = false,
InitialDelayBeforeAnalyzingFrames = 100,
CameraResolutionSelector = SelectLowestResolutionMatchingDisplayAspectRatio,
}
private CameraResolution SelectLowestResolutionMatchingDisplayAspectRatio(List availableResolutions)
{
var displayOrientationHeight = DeviceDisplay.MainDisplayInfo.Orientation == DisplayOrientation.Portrait ? DeviceDisplay.MainDisplayInfo.Height : DeviceDisplay.MainDisplayInfo.Width;
var displayOrientationWidth = DeviceDisplay.MainDisplayInfo.Orientation == DisplayOrientation.Portrait ? DeviceDisplay.MainDisplayInfo.Width : DeviceDisplay.MainDisplayInfo.Height;
        var targetRatio = displayOrientationHeight / displayOrientationWidth;
        var targetHeight = displayOrientationHeight;

        //camera API lists all available resolutions from highest to lowest, perfect for us
        //making use of this sorting, following code runs some comparisons to select the lowest resolution that matches the screen aspect ratio and lies within tolerance
        //selecting the lowest makes Qr detection actual faster most of the time

        var bestResolutions = from r in availableResolutions
                              let aspectRatio = (double)r.Width / r.Height
                              let aspectRatioDiff = Math.Abs(aspectRatio - targetRatio)
                              let heightDiff = Math.Abs(r.Height - targetHeight)
                              orderby aspectRatioDiff, heightDiff
                              select r;

        return bestResolutions.FirstOrDefault();
    }`

@FelipeValentim try my solution instead.

It's crashing, tha's actually returning a value, but I got the message: System.ArgumentNullException Message=Value cannot be null. Parameter name: handle
`var options = new MobileBarcodeScanningOptions()
{
//TryHarder = true, //Gets or sets a flag which cause a deeper look into the bitmap.
AutoRotate = false,
UseFrontCameraIfAvailable = false,
InitialDelayBeforeAnalyzingFrames = 100,
CameraResolutionSelector = SelectLowestResolutionMatchingDisplayAspectRatio,
}
private CameraResolution SelectLowestResolutionMatchingDisplayAspectRatio(List availableResolutions)
{
var displayOrientationHeight = DeviceDisplay.MainDisplayInfo.Orientation == DisplayOrientation.Portrait ? DeviceDisplay.MainDisplayInfo.Height : DeviceDisplay.MainDisplayInfo.Width;
var displayOrientationWidth = DeviceDisplay.MainDisplayInfo.Orientation == DisplayOrientation.Portrait ? DeviceDisplay.MainDisplayInfo.Width : DeviceDisplay.MainDisplayInfo.Height;
    var targetRatio = displayOrientationHeight / displayOrientationWidth;
    var targetHeight = displayOrientationHeight;

    //camera API lists all available resolutions from highest to lowest, perfect for us
    //making use of this sorting, following code runs some comparisons to select the lowest resolution that matches the screen aspect ratio and lies within tolerance
    //selecting the lowest makes Qr detection actual faster most of the time

    var bestResolutions = from r in availableResolutions
                          let aspectRatio = (double)r.Width / r.Height
                          let aspectRatioDiff = Math.Abs(aspectRatio - targetRatio)
                          let heightDiff = Math.Abs(r.Height - targetHeight)
                          orderby aspectRatioDiff, heightDiff
                          select r;

    return bestResolutions.FirstOrDefault();
}`

@FelipeValentim try my solution instead.

var options = new MobileBarcodeScanningOptions()
{
//TryHarder = true, //Gets or sets a flag which cause a deeper look into the bitmap.
AutoRotate = false,
UseFrontCameraIfAvailable = false,
InitialDelayBeforeAnalyzingFrames = 100,
CameraResolutionSelector = SelectLowestResolutionMatchingDisplayAspectRatio,
}

private CameraResolution SelectLowestResolutionMatchingDisplayAspectRatio(List availableResolutions)
{
var displayOrientationHeight = DeviceDisplay.MainDisplayInfo.Orientation == DisplayOrientation.Portrait ? DeviceDisplay.MainDisplayInfo.Height : DeviceDisplay.MainDisplayInfo.Width;
var displayOrientationWidth = DeviceDisplay.MainDisplayInfo.Orientation == DisplayOrientation.Portrait ? DeviceDisplay.MainDisplayInfo.Width : DeviceDisplay.MainDisplayInfo.Height;

        var targetRatio = displayOrientationHeight / displayOrientationWidth;
        var targetHeight = displayOrientationHeight;

        //camera API lists all available resolutions from highest to lowest, perfect for us
        //making use of this sorting, following code runs some comparisons to select the lowest resolution that matches the screen aspect ratio and lies within tolerance
        //selecting the lowest makes Qr detection actual faster most of the time

        var bestResolutions = from r in availableResolutions
                              let aspectRatio = (double)r.Width / r.Height
                              let aspectRatioDiff = Math.Abs(aspectRatio - targetRatio)
                              let heightDiff = Math.Abs(r.Height - targetHeight)
                              orderby aspectRatioDiff, heightDiff
                              select r;

        return bestResolutions.FirstOrDefault();
    }```

@FelipeValentim try my solution instead.

It's crashing when try to open the cam. I'm getting the message:
System.ArgumentNullException: 'Value cannot be null.
Parameter name: handle'
var options = new MobileBarcodeScanningOptions()
{
//TryHarder = true, //Gets or sets a flag which cause a deeper look into the bitmap.
AutoRotate = false,
UseFrontCameraIfAvailable = false,
InitialDelayBeforeAnalyzingFrames = 100,
CameraResolutionSelector = SelectLowestResolutionMatchingDisplayAspectRatio,
}

private CameraResolution SelectLowestResolutionMatchingDisplayAspectRatio(List availableResolutions)
{
var displayOrientationHeight = DeviceDisplay.MainDisplayInfo.Orientation == DisplayOrientation.Portrait ? DeviceDisplay.MainDisplayInfo.Height : DeviceDisplay.MainDisplayInfo.Width;
var displayOrientationWidth = DeviceDisplay.MainDisplayInfo.Orientation == DisplayOrientation.Portrait ? DeviceDisplay.MainDisplayInfo.Width : DeviceDisplay.MainDisplayInfo.Height;

        var targetRatio = displayOrientationHeight / displayOrientationWidth;
        var targetHeight = displayOrientationHeight;

        //camera API lists all available resolutions from highest to lowest, perfect for us
        //making use of this sorting, following code runs some comparisons to select the lowest resolution that matches the screen aspect ratio and lies within tolerance
        //selecting the lowest makes Qr detection actual faster most of the time

        var bestResolutions = from r in availableResolutions
                              let aspectRatio = (double)r.Width / r.Height
                              let aspectRatioDiff = Math.Abs(aspectRatio - targetRatio)
                              let heightDiff = Math.Abs(r.Height - targetHeight)
                              orderby aspectRatioDiff, heightDiff
                              select r;

        return bestResolutions.FirstOrDefault();
    }

Hi all,
It's probably not what you are really looking for to solve the issue with resolution but if this is only for displaying on the page I  just set specific Width and Height Requests for ZXing View. And set Horizontal and Vertical options to center
<zxing:ZXingScannerView
                x:Name="ScannerView"
                HeightRequest="240"
                HorizontalOptions="Center"
                IsScanning="True"
                OnScanResult="ZXingScannerView_OnScanResult"
                VerticalOptions="Center"
                WidthRequest="320" />

And here is the result view


Release 0.4.3

Release 0.4.3

changelog
version bump

Codecov Report

Merging #182 (c51baa7) into main (6d68a92) will increase coverage by 0.02%.
The diff coverage is n/a.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@            Coverage Diff             @@
##             main     #182      +/-   ##
==========================================
+ Coverage   82.64%   82.66%   +0.02%
==========================================
  Files          39       40       +1
  Lines        2777     2786       +9
==========================================
+ Hits         2295     2303       +8
- Misses        482      483       +1

see 2 files with indirect coverage changes


fetchGuestToken callback running in an Infinite Loop.

A clear and concise description of what the bug is.

I'm using superset @superset-ui/embedded-sdk npm package in react to embed superset dashboard.
What I found is that, once the dashboard is rendered into the page by invoking embedDashboard({}) like so useEffect(() => {
  embedDashboard({
    id: "superset-dashboard-id", // given by the Superset embedding UI
    supersetDomain: "https://superset-bas-dev.bridge.propelmarine.com",
    mountPoint: document.getElementById("superset-container") as HTMLElement, // any html element that can contain an iframe
    fetchGuestToken: async () => {
      console.log("fetchGuestToken");
      return guestToken;
    },
    dashboardUiConfig: {
      // dashboard UI config: hideTitle, hideTab, hideChartControls, filters.visible, filters.expanded (optional)
      hideTitle: true,
      filters: {
        expanded: false,
      },
    },
  });
}, []);

then fetchGuestToken is being called infinitely, which i expect it to be called only once.
How to reproduce the bug

Go to 'https://codesandbox.io/p/sandbox/dazzling-rain-p4qcjc'
Click on 'new tab icon of code-sandbox's browser to open in new tab'
Open the console of that new tab
You will see "fetchGuestToken" being logged infinitely.

Expected results
The Dashboard should be rendered without running fetchGuestToken callback infinitely.
what you expected to happen.
The fetchGuestToken callback should be called only once, instead of infinitely.
Actual results
The fetchGuestToken callback  is being called infinitely, which i see as  a problem.
Screenshots
If applicable, add screenshots to help explain your problem.
Bug-image

I suspect the infinite loop bit is because of useEffect(() => {}. Because that runs on each rendering.
In terms of getting the embedded dashboard to work, that is more involved. There are a lot stuff have to be considered, the superset configuration, the proxy configuration if your superset is sitting behind a proxy, and the backend to fetch a guest token which passes along to the frontend which invokes the backend to get the token.
Wrote a guide on it, hopefully, it helps someone 😄 Choose your preferred media 😝
https://huamichaelchen.substack.com/p/end-to-end-example-of-setting-up
https://medium.com/@huamichaelchen/end-to-end-example-of-setting-up-superset-embedded-dashboard-f72fc985559

Hopefully, the answer above is sufficient to close this thread. I'll do so anyway since it's been so long since there was a comment here. If this needs revisiting/reopening, just say the word.

not great practice in react but this could be a solution, less involved than the above suggestion.
import { useEffect, useRef } from 'react';

const useEffectOnce = (effect: () => void) => {
  const hasRun = useRef(false);

  useEffect(() => {
    if (!hasRun.current) {
      hasRun.current = true;
      return effect();
    }
  }, [effect]);
};

export default useEffectOnce;

useEffectOnce(() => {
  embedDashboard({
    id: "superset-dashboard-id", // given by the Superset embedding UI
    supersetDomain: "https://superset-bas-dev.bridge.propelmarine.com",
    mountPoint: document.getElementById("superset-container") as HTMLElement, // any html element that can contain an iframe
    fetchGuestToken: async () => {
      console.log("fetchGuestToken");
      return guestToken;
    },
    dashboardUiConfig: {
      // dashboard UI config: hideTitle, hideTab, hideChartControls, filters.visible, filters.expanded (optional)
      hideTitle: true,
      filters: {
        expanded: false,
      },
    },
  });
});


Treat Go dependency tree as generated and vendored code

The directory tree rooted at Godeps is analogous to Gemfile.lock and node_modules, so this patch treats it accordingly.
These dependencies are saved by https://github.com/tools/godep, for example in https://github.com/heroku/hk/tree/master/Godeps.

Any luck?

Any luck?

Sorry, for the slow reply. Yes, some progress. I think I understand the bug now - tl;dr the full pathname (e.g. Godeps/_workspace/src/github.com/bgentry/heroku-go/account.go) of the files in the diff view on GitHub isn't being passed properly which basically means the regex doesn't ever match. I'm afraid I don't have a fix yet but I'm pretty sure we now understand the issue.

Working on a fix here: https://github.com/github/linguist/pull/1976

Interesting, good to hear a fix is underway! :)
Out of curiosity, how did it ever work for node? The Go regex is identical in structure to the node regex.

Out of curiosity, how did it ever work for node? The Go regex is identical in structure to the node regex.

I have to assume that it didn't :-\

OK this should be fixed in https://github.com/github/linguist/pull/1976
It will be another week or so before we cut a new Linguist gem (and therefore see the issue fixed on GitHub)

Any update on this? Looks like #1976 was merged, reverted in #2014, and then un-reverted in #2017, which is in progress. Is that right? Is #2017 the place to watch for status?

@kr - yeah #2017 is the place to watch. This ended up causing a bunch of problems in production when deployed so I had to rollback. I still want to get this fixed up, it is just going to require some more work to get this behaving properly on GitHub.

Any update on this?

Any update on this?

@titanous @kr - this should how be fixed. Sorry it took so long.

Thanks!

:clap:
Thanks to everyone involved!

Fantastic. Thank you so much!


Improve MirrordConfig Documentation

Improve Documentation for mirrord-config's MirrordConfig trait and derive macro with example of trait implementation for types that are unsupported by the derive macro and a more general examples of the approach we want to have in config section and the end user experience using mirrord  configuration file

@DmitryDodzin is this issue still unresolved?

Hey @0xSaksham, this is still unresolved. Feel free to take a crack at it if you'd like, but I think there might be issues with a clearer spec that might be a better choice to get started with.


Fix vale warnings

These warnings started appearing in multiple PRs - https://github.com/ansys/pyfluent/actions/runs/6505185628/job/17668355789?pr=2136#step:6:63
Some of these warnings seem false-positive. Why does Import geometry raise a warning, but Describe geometry does not?

Could it be that it wants us to write something like Import the geometry?

The rule in the google link mentioned in https://github.com/errata-ai/Google/blob/master/Google/Headings.yml. Funnily it shows the warning also for Capitalization in titles and headings from the google page.

Could it be that it wants us to write something like Import the geometry?

The rule in the google link mentioned in https://github.com/errata-ai/Google/blob/master/Google/Headings.yml. Funnily it shows the warning also for Capitalization in titles and headings from the google page.

@hpohekar That is a good point, not all of the warnings are false-positives, but there are way too many false-positives currently for us to keep it active. Even stuff like  'Journaling' should use sentence-style capitalization., what does it even expect us to do? I have no idea.

@hpohekar That is a good point, not all of the warnings are false-positives, but there are way too many false-positives currently for us to keep it active. Even stuff like  'Journaling' should use sentence-style capitalization., what does it even expect us to do? I have no idea.

Yes, I agree. No idea.


Setup/two fails with fileStorage:false config

Steps to reproduce:

Change your config.js so that you have fileStorage: false
Delete (or rename) your dev database then start/restart the ghost server
Start the setup process
Fill in and submit step 2
You should see an infinite spinner and the error Uncaught TypeError: Cannot read property 'blueimp-fileupload' of undefined originating from gh-profile-image's willDestroyElement method

@ErisDS I have a quick-fix for this but wanted to check what the desired behaviour is for the gh-profile-image component when fileStorage:false is set. It seems that at the moment there's no way to set the image if you have fileStorage disabled, is that right or a separate issue?

@kevinansfield when fileStorage:false is set, it should only be possible to set a URL not upload an image. So the gravatar part should work but there shouldn't be an option to upload your own, I think.


[Question]: Sharing remote cache between MacOS and Linux

What is the current behavior?
Hey guys, I'm hoping you can help me with this. I'm using a remote cache that I was hoping to share outputs between Mac and Linux (CI).
However, currently building everything on my Mac still causes my CI machine (on Linux) to rebuild everything. I'm guessing this has something to do with the platform somehow? (even though JS outputs are platform-independent?)
Do you know of a way to make this work?

This isn't JS-specific, Bazel generally treats action inputs as opaque, checksummed files, and so if one action has a linux nodejs interpreter as an input, it will have a different cache key than the same action with a mac nodejs interpreter.
My understanding is that https://github.com/bazelbuild/bazel/pull/15542 gets us closer, fixing the case where an output .js file is the same between linux and mac, so that subsequent actions that use that .js file could be cache hits between different platforms. However the nodejs interpreter would still make the cache keys different.
@fmeum is there an issue on Bazel that expresses the general "cross-platform cache hits" feature request?

#6526 is the most fitting one. @tjgq is also working on solving the "multiple interpreters/SDKs" issue.

Hey @alexeagle, @fmeum, thanks for the replies. I'll be following https://github.com/bazelbuild/bazel/issues/6526 and hoping for this soon! This would be a huge win for our developers developing our monorepo on Mac but building/testing on Linux CIs. Being able to share the cache artifacts and test outputs back and forth should save a lot of time.
@alexeagle Feel free to close this issue if you like, unless you want to track this here.
Thanks again,
Greg

I discussed this with @tjgq and there's an approach which is easy for us to try, I think of it as a "multiplex toolchain". Interpreter for all platforms are inputs, which is a bit wasteful, then when execution begins you pick the one for the exec platform. That way the cache inputs appear the same on all platforms.

Well that's definitely an interesting idea!
I'm just realizing though: scripts could in theory do something different based on os.platform(), so maybe the per-platform requirement makes sense 😶  Although on the other hand, for web outputs, that wouldn't matter. This is a tough one.

After working with the rules for a while now, I'm having difficulty imagining a case where the outputs of a JS program would be different based on exec platform. Are you guys able to think of any?
If not, I think the above solution might be a worthy tradeoff. I'd rather have the shared cache and have a little longer download time for the Node binaries (which happens only once every so often). And in the event that someone ever comes up with a reason to not follow this anymore (i.e. they've found a case where Node outputs are different based on exec platform), could revert.
What do you guys think?

This came up at BazelCon this year in a talk on performance: https://static.sched.com/hosted_files/bazelcon2024/d0/TB-137 Sharmila BazelCon 2024 - Performant Bazel Builds for Web Monorepos at Scale.pdf
I think it's time to implement this. Since it's breaking in theory when a program senses the os.platform, we should just have a flagged rollout. In rules_js 2.x it would be off by default with a TODO to flip default to true in rules_js 3.0


Crash during selection change

Admittely I have this bug in NativeAOT context, but I cannot understand why this cannot happens in regular app.
I open Structured Log Viewer on WPF binlog and start quickly double-click and change selection in the tree view.
Simplified version of what's going on. TreeView (master) + ListView (details).
When something selected in the TreeView, Items in the ListView updated using
breadCrumb.Items = chain; // Crash here
breadCrumb.SelectedIndex = -1;

I suspect that if I click too quickly issue happens. Maybe I miss some standard way how I check Avalonia ListBox that right now update happens, so I postpone setting items.
Stack Trace
Unhandled Exception: System.InvalidOperationException: Cannot change source while update is in progress.
   at Avalonia.Controls.Selection.SelectionModel`1.SetSource(IEnumerable) + 0x23d
   at Avalonia.Controls.Selection.InternalSelectionModel.SetSource(IEnumerable) + 0x9c
   at Avalonia.Controls.Primitives.SelectingItemsControl.OnPropertyChanged[T](AvaloniaPropertyChangedEventArgs`1) + 0xd1
   at Avalonia.Animation.Animatable.OnPropertyChangedCore[T](AvaloniaPropertyChangedEventArgs`1) + 0x3ba
   at Avalonia.AvaloniaObject.RaisePropertyChanged[T](AvaloniaPropertyChangedEventArgs`1) + 0x99
   at Avalonia.AvaloniaObject.RaisePropertyChanged[T](AvaloniaProperty`1, Optional`1, BindingValue`1, BindingPriority) + 0xee
   at Avalonia.AvaloniaObject.SetAndRaise[T](AvaloniaProperty`1, T&, T) + 0xe9
   at StructuredLogViewer.Avalonia.Controls.BuildControl.UpdateBreadcrumb(Object) + 0xda
   at StructuredLogViewer!<BaseAddress>+0x3f1af2d
   at Avalonia.AvaloniaObject.RaisePropertyChanged[T](AvaloniaPropertyChangedEventArgs`1) + 0xd0
   at Avalonia.AvaloniaObject.RaisePropertyChanged[T](AvaloniaProperty`1, Optional`1, BindingValue`1, BindingPriority) + 0xee
   at Avalonia.AvaloniaObject.SetAndRaise[T](AvaloniaProperty`1, T&, T) + 0xe9
   at Avalonia.Controls.TreeView.set_SelectedItem(Object) + 0x41
   at StructuredLogViewer.Avalonia.Controls.BuildControl.BreadCrumb_SelectionChanged(Object, SelectionChangedEventArgs) + 0x5a
   at Avalonia.Interactivity.EventRoute.RaiseEventImpl(RoutedEventArgs) + 0x147
   at Avalonia.Interactivity.EventRoute.RaiseEvent(IInteractive, RoutedEventArgs) + 0xae
   at Avalonia.Interactivity.Interactive.RaiseEvent(RoutedEventArgs) + 0x3d
   at Avalonia.Controls.Selection.SelectionModel`1.CommitOperation(SelectionModel`1.Operation, Boolean) + 0x2f3
   at Avalonia.Controls.Selection.SelectionModelExtensions.BatchUpdateOperation.Dispose() + 0x23
   at Avalonia.Controls.Primitives.SelectingItemsControl.UpdateSelection(Int32, Boolean, Boolean, Boolean, Boolean) + 0x276
   at Avalonia.Controls.ListBox.OnPointerPressed(PointerPressedEventArgs) + 0xa4
   at Avalonia.Interactivity.RoutedEvent.<>c__DisplayClass23_0.<AddClassHandler>b__0(ValueTuple`2) + 0x5e
   at System.Reactive.AnonymousObserver`1.OnNextCore(T) + 0xc
   at System.Reactive.ObserverBase`1.OnNext(T) + 0x13
   at System.Reactive.Subjects.Subject`1.OnNext(T) + 0x69
   at Avalonia.Interactivity.EventRoute.RaiseEventImpl(RoutedEventArgs) + 0xe7
   at Avalonia.Interactivity.EventRoute.RaiseEvent(IInteractive, RoutedEventArgs) + 0xae
   at Avalonia.Interactivity.Interactive.RaiseEvent(RoutedEventArgs) + 0x3d
   at Avalonia.Input.MouseDevice.MouseDown(IMouseDevice, UInt64, IInputElement, Point, PointerPointProperties, KeyModifiers) + 0x35c
   at Avalonia.Input.MouseDevice.ProcessRawEvent(RawPointerEventArgs) + 0x163
   at Avalonia.Input.InputManager.ProcessInput(RawInputEventArgs) + 0x33
   at Avalonia.RawEventGrouper.DispatchFromQueue() + 0x75
   at Avalonia.Threading.JobRunner.RunJobs(Nullable`1) + 0x49
   at Avalonia.X11.X11PlatformThreading.HandleX11(CancellationToken) + 0x1b6
   at Avalonia.X11.X11PlatformThreading.RunLoop(CancellationToken) + 0x4f2
   at Avalonia.Threading.Dispatcher.MainLoop(CancellationToken) + 0x80
   at Avalonia.Controls.ApplicationLifetimes.ClassicDesktopStyleApplicationLifetime.Start(String[]) + 0x114
   at StructuredLogViewer!<BaseAddress>+0x420aa94

It seems to be issue with

Probaly the problem is here:
https://github.com/AvaloniaUI/Avalonia/blob/ecb0de2c32819b2ad158ba86ed1ccef8e6d6cbde/src/Avalonia.Controls/Selection/SelectionModel.cs#L301-L304
One of possible solution is call ToList() before foreach
                        var copy = _initSelectedItems.ToList();
                        foreach (T i in copy)
                        {
                            Select(ItemsView.IndexOf(i));
                        }


package pollutes common package names

Users of your package may face issues since it defines common terms as packages.

It even affects projects that has your package as transitive dependency.
You can read more details at discussion in discord
Similar issue with discussion:
https://github.com/ashercn97/funsies/issues/2

Thanks for the heads up! To be honest, I never expected anyone to even look/use this package already, so I decided to fix that later. I will do it now!


template failing due to /opt/vault/scripts/

added the line to create /opt/vault/scripts/. the template was failing at that point.

template failed to the lack of /opt/vault/scripts/ when moving the script-request.py. when installing vault it didnt not create the folder "scripts".

Hey, thanks for the PR!
That's a weird error though! This folder gets created on install-vault, which runs before this block. So so far our tests don't have any issues with that part of the template.
https://github.com/hashicorp/terraform-aws-vault/blob/master/modules/install-vault/install-vault#L193
Have you made any other modifications to the template?

Hello!
No other mods were made, just setting params.
It would not create the ami unless that line was added.
Sent from my iPhone
On Oct 24, 2018, at 12:06 PM, Etiene Dalcol <notifications<EMAIL_ADDRESS>wrote:
[External Email]
Hey, thanks for the PR!
That's a weird error though! This folder gets created on install-vault, which runs before this block. So so far our tests don't have any issues with that part of the template.
https://github.com/hashicorp/terraform-aws-vault/blob/master/modules/install-vault/install-vault#L193
Have you made any other modifications to the template?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/hashicorp/terraform-aws-vault/pull/108#issuecomment-432789326, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AgM-01uAA2uCt1yl3RzeM-T-bAPjIScKks5uoLoogaJpZM4X4ahC.
==============================================================================
The information in this e-mail and any attachments are for the sole use of the intended recipient and may contain privileged or confidential information. Delivery to other than the intended recipient shall not be deemed to waive any privilege. Any unauthorized use, disclosure, copying or distribution of this message or attachment is strictly prohibited. If you believe that you have received this e-mail in error, please contact the sender immediately and delete the e-mail and all of its attachments.

template failed to the lack of /opt/vault/scripts/ when moving the script-request.py. when installing vault it didnt not create the folder "scripts".

Could you share the error message you hit before this PR? And what version of the code you're using?

Hello,
Here is the error which I was getting:
ubuntu16-ami: mv: cannot move '/tmp/sign-request.py' to '/opt/vault/scripts/': Not a directory
when vault was installed (and we verified all the steps manually on another box) that the scripts folder wasn’t being created by the vault install.
Hans Nesbitt
(Desk)<PHONE_NUMBER>
(Cell)<PHONE_NUMBER>
<EMAIL_ADDRESS>From: Yevgeniy Brikman<EMAIL_ADDRESS>Sent: Thursday, October 25, 2018 10:18 AM
To: hashicorp/terraform-aws-vault<EMAIL_ADDRESS>Cc: Nesbitt, Hans<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [hashicorp/terraform-aws-vault] template failing due to /opt/vault/scripts/ (#108)
[External Email]
template failed to the lack of /opt/vault/scripts/ when moving the script-request.py. when installing vault it didnt not create the folder "scripts".
Could you share the error message you hit before this PR? And what version of the code you're using?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/hashicorp/terraform-aws-vault/pull/108#issuecomment-433134312, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AgM-0y924mHIsdLz6rIn6aqNvK_wKi0Qks5uofIugaJpZM4X4ahC.
==============================================================================
The information in this e-mail and any attachments are for the sole use of the intended recipient and may contain privileged or confidential information. Delivery to other than the intended recipient shall not be deemed to waive any privilege. Any unauthorized use, disclosure, copying or distribution of this message or attachment is strictly prohibited. If you believe that you have received this e-mail in error, please contact the sender immediately and delete the e-mail and all of its attachments.

The install script should create this folder: https://github.com/hashicorp/terraform-aws-vault/blob/master/modules/install-vault/install-vault#L193. What version of the script are you using?

Was using the latest and greatest version as of Wednesday October 24th. And it wouldn’t create that folder.
Sent from my iPhone
On Oct 25, 2018, at 8:35 PM, Yevgeniy Brikman <notifications<EMAIL_ADDRESS>wrote:
[External Email]
The install script should create this folder: https://github.com/hashicorp/terraform-aws-vault/blob/master/modules/install-vault/install-vault#L193. What version of the script are you using?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/hashicorp/terraform-aws-vault/pull/108#issuecomment-433275692, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AgM-01eOLAhBIjbYT29jKTLBVNnxq5M7ks5uooLrgaJpZM4X4ahC.
==============================================================================
The information in this e-mail and any attachments are for the sole use of the intended recipient and may contain privileged or confidential information. Delivery to other than the intended recipient shall not be deemed to waive any privilege. Any unauthorized use, disclosure, copying or distribution of this message or attachment is strictly prohibited. If you believe that you have received this e-mail in error, please contact the sender immediately and delete the e-mail and all of its attachments.

Closing this PR, because we couldn't replicate the issue that motivates it across multiple linux distros.
Make sure you're actually building a new AMI with the latest code and if you're still hitting this issue, run ls -al on the relevant folder right after calling our install code and share the full log output.


Do not copy/link .DS_Store files - macOS only

Hey guys,
This is a macOS only issue, which was driving me mad, because it seemed to happen randomly and I had to always clean my whole repo with git clean -fxd to bypass it.
It should be reproducible with any extensions, I used my UniswapX-extension for testing:
Open templates/base and templates/solidity-frameworks/hardhat with the Finder app.
Make sure (ls -a) that .DS_Store files were generated. (I still don't know when these files are generated exactly, sometimes I had to jump in and out of the folder a few times)
yarn build:dev && yarn cli -e UniswapX-extension --dev --skip fromUniswap

Cheers,
Tamas

Thanks @technophile-04 !

As I understand this problem occurs when we try to symlink .DS_STORE. So I was thinking maybe instead of solving the issue here in copy-template-files.ts maybe we always ignore that file in this function link util itself:

Well, the process only fails during the link step, but I think we don't really want to copy .DS_Store files either. Maybe we should apply a filter for both copy and link?

Well, the process only fails during the link step, but I think we don't really want to copy .DS_Store files either. Maybe we should apply a filter for both copy and link?

Umm probably since for this PR lets don't touch copy since I think we are using direct copy function from ncp and don't have a wrapper there.
Probably in future we can tweak create-extension cli such that when u run yarn create-extension it will automatically initialize a git repo + add .gitignore at root and that .gitignore file will ignore all this misc file like .DS_Store etc.
But yeah for this PR lets not touch copy 🙌


Stationary Zone did not get setup

Conversation initiated here.
icloud3-debug.log is just displaying the following repeatedly and nothing else:
2023-02-16 16:03:15 [icloud_data_:0086]  ICLOUD >  ::: TRACE ::: kphone_icloud3 Device.icloud_update_reason='Initial Locate@16:03:15',
2023-02-16 16:03:20 [icloud_data_:0086]  ICLOUD >  ::: TRACE ::: kphone_icloud3 Device.icloud_update_reason='Initial Locate@16:03:20',
2023-02-16 16:03:25 [icloud_data_:0086]  ICLOUD >  ::: TRACE ::: kphone_icloud3 Device.icloud_update_reason='Initial Locate@16:03:25',
2023-02-16 16:03:30 [icloud_data_:0086]  ICLOUD >  ::: TRACE ::: kphone_icloud3 Device.icloud_update_reason='Initial Locate@16:03:30',
2023-02-16 16:03:35 [icloud_data_:0086]  ICLOUD >  ::: TRACE ::: kphone_icloud3 Device.icloud_update_reason='Initial Locate@16:03:35',
2023-02-16 16:03:40 [icloud_data_:0086]  ICLOUD >  ::: TRACE ::: kphone_icloud3 Device.icloud_update_reason='Initial Locate@16:03:40',
2023-02-16 16:03:45 [icloud_data_:0086]  ICLOUD >  ::: TRACE ::: kphone_icloud3 Device.icloud_update_reason='Initial Locate@16:03:45',
2023-02-16 16:03:50 [icloud_data_:0086]  ICLOUD >  ::: TRACE ::: kphone_icloud3 Device.icloud_update_reason='Initial Locate@16:03:50',
2023-02-16 16:03:55 [icloud_data_:0086]  ICLOUD >  ::: TRACE ::: kphone_icloud3 Device.icloud_update_reason='Initial Locate@16:03:55',

home-assistant.log shows this repeatedly:
2023-02-16 16:06:25.272 ERROR (SyncWorker_11) [icloud3] 'NoneType' object has no attribute 'update_distance_moved'
Traceback (most recent call last):
  File "/config/custom_components/icloud3/icloud3_main.py", line 771, in process_updated_location_data
    self._check_statzone_timer_expired(Device)
  File "/config/custom_components/icloud3/icloud3_main.py", line 1122, in _check_statzone_timer_expired
    Device.StatZone.update_distance_moved(calc_dist_last_poll_moved_km)
AttributeError: 'NoneType' object has no attribute 'update_distance_moved'
2023-02-16 16:06:25.273 ERROR (SyncWorker_11) [icloud3] Traceback (most recent call last):
  File "/config/custom_components/icloud3/icloud3_main.py", line 771, in process_updated_location_data
    self._check_statzone_timer_expired(Device)
  File "/config/custom_components/icloud3/icloud3_main.py", line 1122, in _check_statzone_timer_expired
    Device.StatZone.update_distance_moved(calc_dist_last_poll_moved_km)
AttributeError: 'NoneType' object has no attribute 'update_distance_moved'

2023-02-16 16:06:30.298 ERROR (SyncWorker_4) [icloud3] '>' not supported between instances of 'str' and 'int'
Traceback (most recent call last):
  File "/config/custom_components/icloud3/device.py", line 1423, in calculate_old_location_threshold
    if (Gb.old_location_threshold > 0
TypeError: '>' not supported between instances of 'str' and 'int'
2023-02-16 16:06:30.301 ERROR (SyncWorker_4) [icloud3] Traceback (most recent call last):
  File "/config/custom_components/icloud3/device.py", line 1423, in calculate_old_location_threshold
    if (Gb.old_location_threshold > 0
TypeError: '>' not supported between instances of 'str' and 'int'

2023-02-16 16:06:30.308 INFO (SyncWorker_4) [icloud3] ICLOUD >  ::: TRACE ::: kphone_icloud3 Device.icloud_update_reason='Initial Locate@16:06:30',
2023-02-16 16:06:30.420 ERROR (SyncWorker_4) [icloud3] '>' not supported between instances of 'str' and 'int'
Traceback (most recent call last):
  File "/config/custom_components/icloud3/device.py", line 1423, in calculate_old_location_threshold
    if (Gb.old_location_threshold > 0
TypeError: '>' not supported between instances of 'str' and 'int'
2023-02-16 16:06:30.431 ERROR (SyncWorker_4) [icloud3] Traceback (most recent call last):
  File "/config/custom_components/icloud3/device.py", line 1423, in calculate_old_location_threshold
    if (Gb.old_location_threshold > 0
TypeError: '>' not supported between instances of 'str' and 'int'

2023-02-16 16:06:30.438 ERROR (SyncWorker_4) [icloud3] 'NoneType' object has no attribute 'update_distance_moved'
Traceback (most recent call last):
  File "/config/custom_components/icloud3/icloud3_main.py", line 771, in process_updated_location_data
    self._check_statzone_timer_expired(Device)
  File "/config/custom_components/icloud3/icloud3_main.py", line 1122, in _check_statzone_timer_expired
    Device.StatZone.update_distance_moved(calc_dist_last_poll_moved_km)
AttributeError: 'NoneType' object has no attribute 'update_distance_moved'
2023-02-16 16:06:30.449 ERROR (SyncWorker_4) [icloud3] Traceback (most recent call last):
  File "/config/custom_components/icloud3/icloud3_main.py", line 771, in process_updated_location_data
    self._check_statzone_timer_expired(Device)
  File "/config/custom_components/icloud3/icloud3_main.py", line 1122, in _check_statzone_timer_expired
    Device.StatZone.update_distance_moved(calc_dist_last_poll_moved_km)
AttributeError: 'NoneType' object has no attribute 'update_distance_moved'

As mentioned in the HASS forum, I've had issues with Stationary Zones with v2 as well. I can't say what broke it, but I have not made any changes to HASS since the last time it worked apart from regular updates. I'm unsure if this is related.

The Debug. Log file has a lot of setup and Configuration info before the msg you posted that shows device, Zone, Stationary zone, etc info.   Set the log level to rawdata and it will also show HA details and location and setup data from iCloud. Then restart HA and send me the file -<EMAIL_ADDRESS>Then I should be able to see the device and zone data that might show why the error is occurring.
Thanks

Closed with b13, Reopen is this is still an issue


Android: notification fails if asForegroundService is true but fails to start the foreground service

related but separate: https://github.com/invertase/notifee/issues/630
so I have a trigger notification, it has asForegroundService: true, it fails to start a foreground service, the notification is not displayed
is it something thats supposed to happen ?
or is it something thats happening only on my fork (remember my gms removal PR thats still open) ?
as I see it, I believe it should be a bug
maybe wrapping it and try showing the notification without foreground ?
also maybe make this an option , since it may be undesirable for people?

I switched to latest notifee version without my changes, and this still happens without any logs

as a side note I see the delivered event being fired, but my notification is not seen (as foreground service has failed)

So I figured it out here's what happens:
to understand, we have to read the startForegroundService() docs: If the service is being started or is already running, the ComponentName of the actual service that was started is returned; else if the service does not exist null is returned.
so the service was actually started, so it didn't start again, as a result, simply ComponentName was being returned there
so it boils down to use cases
what's your ideas ? I can make a quick PR on this

created a PR for this, a new event Enum seemed the best cover-all-use-cases approach to me.

it works now, changed the way it works a bit
tested on my app


Minor tweaks to the Docker installation documentation

Ditto

coverage: 83.382%. remained the same
when pulling a5649f737b9d3aa3a572a62cd19b066370462822 on local-mediaflux
into ef751822a780f2e5be14cbdcf4ce993787c2978d on main.


<EMAIL_ADDRESS>ionic emulate ios --target parameter not working

ionic info

Cordova CLI: 6.4.0
Ionic CLI Version: 2.1.14
Ionic App Lib Version: 2.1.7
ios-deploy version: 1.9.0
ios-sim version: 5.0.12
OS: macOS Sierra
Node Version: v6.9.1
Xcode version: Xcode 8.1 Build version 8B62

ionic emulate ios --target="iPhone-7-Plus"
i tested<EMAIL_ADDRESS>working.
<EMAIL_ADDRESS>not working.
error message

Device type "com.apple.CoreSimulator.SimDeviceType."iPhone-7-Plus"" could not be found.

[cdf2ed3] cross-spawn-async -> cross-spawn
cross-spawn is not working?

+!

Same problem with ionic 2.1.17. Here is my info:
Cordova CLI: 6.4.0
Ionic CLI Version: 2.1.17
Ionic App Lib Version: 2.1.7
ios-deploy version: 1.9.0
ios-sim version: 5.0.13
OS: macOS Sierra
Node Version: v7.2.0
Xcode version: Xcode 8.2 Build version 8C38

I use the following command:
ionic run ios --target="iPhone-6s"

Whatever target argument I pass it always says "not found". I used cordova emulate ios --list for the list of available target names as suggested somewhere on Stack Overflow (is this correct?).
Even using iPhone-SE (which seems to be the default target) is not working.

I believe that this issue is resolved with the following commit: 42fda29a48c8d92375e6fe521b2d61f51ceb301a. Please try installing our latest nightly and let me know if you still have the issue.
npm install -g<EMAIL_ADDRESS>

Installing<EMAIL_ADDRESS>worked for me, thanks!

Perfect! Thanks for checking.  We should release 2.1.18 next few days with this fix.

I'm on Ionic CLI 1.2.17 and i could resolve this by ionic run ios --target "iPhone-6s" without '='

@tamerbak is that a typo in the cli version. I can confirm this working on 2.1.17 using command:
ionic emulate -lsc --debug --target "iPhone-7-Plus, 10.2"


Layout components to accept an "isDisabled" prop

Description
Some components, like Checkbox, already accept an "isDisabled" prop, but the Layout components do not. This proposed change would deal with those components like Box, Row, Column, etc, and add a partly transparent mask to the foreground of the component, so the internal content of the component could still be partially seen, but not interacted with.
Problem Statement
I build data-intensive applications, and often an action taken in one area of the app needs to disable a different area.
This is difficult to do with Native Base as it currently stands. We can change the background of a component, but not the foreground.
Proposed Solution or API
<Box isDisabled={true}> ... </Box>
or alternatively
<Box isMasked={true} maskBg="#aaa" maskAlpha={0.3}> ... </Box>
Alternatives
It doesn't seem this would be difficult to implement. It could be as simple as a div or View with a partially transparent gray background absolutely positioned directly in front of the whole component, with a size exactly matching the component. Maybe the background color and transparency are configurable?
Additional Information
No response

Thanks for the suggestion. We'll add this feature to our list.


Test Issue

This is a test issue created from the GitHub API node scripts made by @anantakumarghosh, contact here

This issue was made for workflow testing purpose. Closing.


Fails to set wallpaper if it was a Solid Color

First of all: Nice plugin, I can see myself using this when it becomes a bit smoother. 👍
Your method to set a wallpaper fails silently if the wallpaper set in System Preferences was a Solid Color (as shown below).

Thanks! This isn’t meant to be a stable release yet, hence the 0.x.x versions. I’m trying to make it as smooth as possible.
Thanks for your bug report. I’ll look into it.


Move Apifox.Apifox 2.3.0 to Ruihu.Apifox 2.3.0

Microsoft Reviewers: Open in CodeFlow

[Policy] Reset Feedback

[Policy] Approved


Support for fetching deep-nested Links

Hi @roman-right!  Our team is trying to get Beanie to fetch deep-nested Links when fetch_links=True.  To accomplish this, I added additional queries to the MongoDB aggregation.  However, I saw your comments in the open issues related to nested Links, and I'm not sure this solution gets around the challenges you had mentioned.  Would super appreciate your feedback - thank you! :-)

Hi @csanders-rga ,
Thank you very much for the PR. It looks good.
I'll check your implementation on Monday.
Linter shows some errors, could you please take a look? To check it locally you can use the git pre-commit rules attached to the repo.

Hi @roman-right, I resolved the linter errors locally.  Please let me know if there's anything else I should adjust :-)

Hi @csanders-rga ,
I'm sorry for the delay.
The code looks good. Could you please add the respective tests?

Hi @roman-right, I updated the tests, please let me know what you think!

Hey @csanders-rga
Sorry for the late reply - busy time. I plan to check your PR and merge today-tomorrow.

Hey @csanders-rga ,
Great job! Thank you for the PR. It is in 1.16.0 now


[Feature]: Workspace Key/Value storage  "Extensions"

Is there an existing issue for this?

[X] I have searched the existing issues

Summary
I would like to have a way to set static variables at the workspace, environment, and app level within AppSmith.
The idea is this would be a way to do key : value storage for static values needed within apps.
The concept is similar to another tool we utilize and these 'extensions' work very well for these use-cases.

We need to provide a link to another application ( appsmith and non-appsmith ) and the URL is different in dev/test/prod
We have links to images/assets that need to change per environment
We need to change wording based on the environment

A future state of this could also function similarly to a 'resources' strings type feature that many apps see as extensibility to support multiple languages. This function functions similarly in that you can generate keys and provide values. The only change to this feature would be to support setting the language/local for the values as you populate them ( and being able to reference what language you are selecting when retrieving said values ) -- localization should be a Phase 2.
We need the ability to have a Key - become an Extension.
These Keys can be setup/configured within an App.
Once the app is published, there will be an area in the AppSmith admin UI where values can be assigned.
These extensions would - show up only after the app is published, therefore you only specify the value.
This reduces having to "coordinate" knowing/typing in the exact 'key' again.
When setting these values, you should be able to set them at either the Environment ( within a Workspace ) level - optionally having a setting for "all" environments ( so effectively you are setting this at a Workspace level ).
App: My App

extension 'variable' :  serviceNowURL

Publish "My App" to the Production workspace
Workspace Settings Gear > Extensions
This would then list extensions (Keys), grouped by App Name
You would hit a '+' button to add an extension
You are asked "One value for all Environments" or "Value per Environment"
From here, you either get to enter the one value if it's for all environments or a way to enter values for each environment configured for the workspace.
Should a new environment be added later, it should be expected that you have to set those values - if you are using environment-specific configurations Extension(s).
Why should this be worked on?
This is a must-have to be able to correctly specify different assets when you operate AppSmith in a multi-environment enterprise. This should be enhanced to allow multi-lingual support as well... as this could be done utilizing a similar feature.  (Environment within a workspace configurable strings).
We need a solution, without hard-coding these values into applications.
Today, there isn't a great solution to target Workspace / Environment names in JS, this could rely on that or circumvent that need.
I don't know how a mature shop, interconnecting Apps built in AppSmith, could reference links that change across environments in any other way without this feature.

EE ticket

@Nikhil-Nandagopal - No they would not

Packages have to be deployed on every single page that they are needed, they are not application-wide
Packages still have the problem, meaning we'd have to manage figure out what environment or workspace it's within.
We are not going to develop "live" in production - meaning maintain a package "code" only in production, as we full intend to utilize git integration up-to and including CI-CD.

Side note - packages are an okay start; they need some love to be a really good feature, to be honest.

That's the thing @hendrawanhadikusuma  - The only solution they're talking about is hardcoding properties of a JS object in a package.  The problem is having different 'environments' and having different variables for each.
Today there is no way to target the App/Workspace you're within ( from JS ) and therefore you can't even make a switch/if statements to adjust an 'environment variable' to each environment.
You'd have to build and manage a package - directly within each environment/workspace -- e.g. live develop in production.

@magliok-wwt actually something i aware is there have URL params called environment but it not always appear

We will look into adding the environment variable as a context variable in the editor and I believe that + packages should solve this

hey @Nikhil-Nandagopal  - I believe there is another similar request I think you linked it.
But if we can get the App, Workspace, and Environment ( at minimum ) added to the JS object' app smith', then yes, with packages, we can make a version of this.
I need all three ( App, Workspace, Environment ), but I would like to have the option to have one universal package ( for every app ) for this (call it "Settings").

Yes we're adding all 3 and you can connect the package to git and import it on every workspace to treat it as a universal settings package

Awesome
That other ticket was
26610
You can see my comment - I'd love to get more contextual items - but those three will help for sure.


[Documentation Bug]:  Add code_of_conduct.md

Describe the bug ✍
Describe your bug here
We recommend that every repo has a code of conduct. If you don’t feel comfortable creating your own Code of Conduct from scratch we highly recommend using one of the templates provided by GitHub. If you do use a template, please read through the template and ensure that you can and will abide by the Code of Conduct.
Please follow these instructions on how to add a Code of Conduct.
Sample: https://github.com/Recode-Hive/Stackoverflow-Analysis/blob/main/CODE_OF_CONDUCT.md
Kindly assign this task to me under GSSoC'24
Provide step by step information reproduce the bug 📄
Description
Select program in which you are contributing
GSSoC24
Code of Conduct

[X] I follow CONTRIBUTING GUIDELINE of this project.

If you have any doubt you can directly send message on our discord (https://discord.gg/rZb46cCMmK), we have created separate channels for all projects...
Thank you :)


Idea: functionally-derived non-dimensional coordinates

@Cadair and I are from the solar and astrophysics communities, respectively (particularly SunPy and Astropy). In our fields, we have a concept of something called "World Coordinate Systems" (WCS) which basically are arbitrary mappings from pixel coordinates (which is often but not necessarily the same as the index) to physical coordinates. (For more on this and associated Python/Astropy APIs, see this document). If we are reading correctly, this concept maps roughly onto the xarray concept of "Non-dimension coordinates".
However, a critical difference is this: WCS are usually expressed as arbitrary complex mathematical functions, rather than coordinate arrays, as it is crucial to some of the science cases to carry sub-pixel or other coordinate-related metadata around along with the WCS.
So our question is: is it in-scope for xarray non-dimensional coordinates to be extended to be functional instead of having to be arrays? I.e., have the coordinate arrays be generated on-the-fly from some function instead of being realized as arrays at creation-time. We have thought about several ways this might be specified and are willing to do some trial implementations, but are first asking here if it is likely to be

Easy
Hard
Impossible
PR will immediately be rejected on philosophical grounds, regardless?

Thanks!

Thanks for reaching out Erik! We’d love to find a way to better support Astro data in xarray. Before digging deeper, I just want to ask a clarification question. When you say “arbitrary complex mathematical functions”: what are the arguments / inputs to these functions?
Presumably they have to be evaluated at some point, ie for plotting. Can you describe what happens when the time comes to turn the arbitrary functions to actual numbers?
Your answer will help us respond more accurately to your question.

On Dec 13, 2019, at 3:51 PM, Erik Tollerud<EMAIL_ADDRESS>wrote:

@Cadair and I are from the solar and astrophysics communities, respectively (particularly SunPy and Astropy). In our fields, we have a concept of something called "World Coordinate Systems" (WCS) which basically are arbitrary mappings from pixel coordinates (which is often but not necessarily the same as the index) to physical coordinates. (For more on this and associated Python/Astropy APIs, see this document). If we are reading correctly, this concept maps roughly onto the xarray concept of "Non-dimension coordinates".
However, a critical difference is this: WCS are usually expressed as arbitrary complex mathematical functions, rather than coordinate arrays, as it is crucial to some of the science cases to carry sub-pixel or other coordinate-related metadata around along with the WCS.
So our question is: is it in-scope for xarray non-dimensional coordinates to be extended to be functional instead of having to be arrays? I.e., have the coordinate arrays be generated on-the-fly from some function instead of being realized as arrays at creation-time. We have thought about several ways this might be specified and are willing to do some trial implementations, but are first asking here if it is likely to be
Easy
Hard
Impossible
PR will immediately be rejected on philosophical grounds, regardless?
Thanks!
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

It would also be good to hear about "sub-pixel metadata" → this seems to be the main reason why you want to carry around the analytic rather than the discrete evaluated form (which we basically support through dask). Is that right or am I missing something?

Thanks for the quick responses @rabernat and @dcherian!

When you say “arbitrary complex mathematical functions”: what are the arguments / inputs to these functions?

The short answer is: pixels. Which in astro is sometimes the same as "array index", but usually off-by-0.5 (i.e., the center of the pixel), and occasionally off-by-1 (for files generated by e.g. FORTRAN or other 1-based indexing schemes...).
The longer answer is: it depends on which direction you mean.  Most WCS' are by design invertible, so you can go world-to-pixel or pixel-to-world.  In the former case that means there's a bunch of possibly inputs - examples include wavelength (for a spectrum), energy (for a photon-counting experiment), or altitude and azimuth (celestial coordinates that are similar to lat/lon but on the celestial sphere instead of a reference geoid).
Additionally, the WCSs have parameters, which are usually not thought of as "inputs" to the WCS, but rather internal state or metadata (usually they are stored in file headers and interpreted by software).
If you want to see some concrete examples, you might check out Astropy's docs for our WCS interface, or the design document for the most recent iteration of that interface.  But those might be impenetrable for a non-astronomer, so I'm open to more follow-ups!

It would also be good to hear about "sub-pixel metadata"

Sorry I wasn't clear there - I meant there are cases where the sub-pixel structure of the coordinates matter - e.g. telescopes often have pretty intense optical distortion, and we sometimes interpolate in such a way that the sub-pixel information in the WCS is critical to getting the interpolation right.  And by "metadata" I meant both abstract parameters that encode that transformation (polynominal coefficients, information about which sky-projection is used, etc), and more physical metadata like "the temperature of the observatory, which slightly changes the shape of the distortion".

which we basically support through dask

Oh, tell me more about that - maybe this is the key for our needs?

I should have said "discrete lazily evaluated form (which we support through dask)". I think we already have what you want in principle (caveats at the end).
Here's an example:
import dask
import numpy as np
import xarray as xr

xr.set_options(display_style="html")

def arbitrary_function(dataset):
    return dataset["a"] * dataset["wavelength"] * dataset.attrs["wcs_param"]

ds = xr.Dataset()
# construct a dask array.
# In practice this could represent an on-disk dataset,
# with data reads only occurring when necessary
ds["a"] = xr.DataArray(dask.array.ones((10,)), dims=["wavelength"], coords={"wavelength": np.arange(10)})

# some coordinate system parameter
ds.attrs["wcs_param"] = 1.0

# complicated pixel to world function
# no compute happens since we are working with dask arrays
# so this is quite cheap.
ds.coords["azimuth"] = arbitrary_function(ds)
ds

So you can carry around your coordinate system parameters in the .attrs dictionary and the non-dimensional coordinate azimuth is only evaluated when needed e.g. when plotting
# Both 'a' and 'azimuth' are computed now, since actual values are required to plot
ds.a.plot(x="azimuth")

In practice, there are a few limitations. @djhoese and @snowman2 may have useful perspective here.

xarray tends to compute "non-dimensional coordinates" more than necessary. The more egregious examples have been fixed  (#3068, #3311, #3454, #3453) but there may still be some places where fixes are needed (#3588).
there's some discussion about carrying around Earth-specific coordinate system parameters here: https://github.com/pydata/xarray/issues/2288; https://github.com/pydata/xarray/issues/2996.

Additional info:

https://docs.dask.org/en/latest/array.html
https://xarray.pydata.org/en/stable/dask.html

PS: If it helps, I'd be happy to chat over skype for a half hour getting you oriented with how we do things.

For reference, here is how CRS information is handled in rioxarray: CRS management docs.

For reference, here is how CRS information is handled in rioxarray: CRS management docs.

Nice! I didn't know you had documented this.
Sorry this is going to get long. I'd like to describe the CRS stuff we deal with and the lessons learned and the decisions I've been fighting with in the geoxarray project (https://github.com/geoxarray/geoxarray). I'm looking at this from a meteorological satellite point of view. @snowman2 please correct me if I'm wrong about anything.

In our field(s) and software the CRS object that @snowman2 is talking about and has implemented in pyproj encapsulates our version of these "complex mathematical functions", although ours seem much simpler. The CRS object can hold things like the model of the Earth to use and other parameters defining the coordinate system like the reference longitude/latitude.
When it comes to computing the coordinates of data on a CRS, the coordinates are typically on a cartesian plane so we have an X and a Y and points in between can be linearly interpolated. These work well as 1D xarray coordinates.
These X and Y coordinates don't tell you all the information alone though so we need the CRS information. Xarray's current rasterio functionality adds this CRS definition as a string value in .attrs. The problem with using .attrs for this is most operations on the DataArray object will make this information disappear (ex. adding two DataArrays).
In geoxarray I was going to try putting a pyproj CRS object in a DataArray's coordinates (.coords). I figured this would be good because then if you tried to combine two DataArrays on different CRSes, xarray would fail. Turns out xarray will just ignore the difference and drop the crs coordinate so that was no longer my "perfect" option. Additionally, to access the crs object would have to be accessed by doing my_data_arr.coords['crs'].item() because xarray stores the object as a scalar array.
Xarray accessors, last time I checked, often have to be recreated when working with Dataset or DataArray objects. This has to do with how low-level xarray converts Variable objects to DataArrays. I didn't expect this when I started geoxarray and I'm not really sure how to continue now.

As for your use case(s), I'm wondering if an xarray accessor could work around some of the current limitations you're seeing. They could basically be set up like @dcherian described, but "arbitrary_function" could be accessed through x, y, z = my_data_arr.astro.world_coordinates(subpixels=4) or something. You could do my_data_arr.astro.wcs_parameters to get a dictionary of common WCS parameters stored in .attrs. The point being that the accessor could simplify the interface to doing these calculations and accessing these parameters (stored in .coords and .attrs) and maybe make changes to xarray core unnecessary.

I'm wondering if an xarray accessor could work around some of the current limitations you're seeing.

I think this sounds like a good idea.

This looks like a nice use case for the forthcoming Xarray's custom index feature.
How I see CRS/WCS-aware Xarray datasets with custom indexes:

A set of coordinate(s) and their attributes hold data or metadata relevant for public use and that could be easily (de)serialized

A custom index (CRSIndex or WCSIndex) provides CRS/WCS-aware implementations of common Xarray operations such as alignment (merge/concat) and data selection (sel), via Xarray.Index's equals, union, intersection and query methods added in #5102 and #5322 (not yet ready for use outside of Xarray). Such custom index may also be used to hold some data that is tricky to propagate by other means, e.g., some internal information like "functional" coordinate parameters or a crs object. Xarray indexes should definitely provide more flexibility than coordinate data or attributes or accessor attributes for propagating this kind of information.

Xarray accessors may be used to extend Dataset/DataArray public API. They could use the information stored in the CRSIndex/WCSIndex, e.g., add a crs read-only property that returns the crs object stored in CRSIndex, or add some some extract_crs_parameters method to extract the parameters and store them in Dataset/DataArray attributes similarly to what @djhoese suggests in his comment above.

For this use case a possible workflow would then be something like this:
# create or open an Xarray dataset with  x, y, z "pixel" (possibly lazy) coordinates
# and set a WCS index
dataset = (
    xr.Dataset(...)
    .set_index(['x', 'y', 'z'], WCSIndex, wcs_params={...})
)

# select data using pixel coordinates
dataset.sel(x=..., y=..., z=...)

# select data using world coordinates (via the "astro" accessor,
# which may access methods/attributes of the WCS index)
dataset.astro.sel_world(x=..., y=..., z=...)

# return a new dataset where the x,y,z "pixel" coordnates are replaced by the "world" coordinates
# (again using the WCS index, and propagating it to the returned dataset)
world_dataset = dataset.astro.pixel_to_world(['x', 'y', 'z'])

# select data using world coordinates
world_dataset.sel(x=..., y=..., z=...)

# select data using pixel coordinates (via the "astro" accessor)
world_dataset.astro.sel_pixel(x=..., y=..., z=...)

# this could be reverted
pixel_dataset = world_dataset.astro.world_to_pixel(['x', 'y', 'z'])
assert pixel_dataset.identical(dataset)

# depending on the implementation in WCSIndex, would either raise an error
# or implicitly convert to either pixel or world coordinates
xr.merge([world_dataset, another_pixel_dataset])

We could also imagine
# returns a new dataset with both pixel and world (possibly lazy) coordinates
>>> new_dataset = dataset.astro.append_world({'x': 'xw', 'y': 'yw', 'z': 'zw'})

# so that we can directly select data either using the pixel coordinates...
>>> new_dataset.sel(x=..., y=..., z=...)

# ...or using the world coordinates
>>> new_dataset.sel(xw=..., yw=..., zw=...)

# the WCS index would be attached to both pixel and word dataset coordinates
>>> new_dataset
<xarray.Dataset>
Dimensions:  (x: 100, y: 100, z: 100)
Coordinates:
  * x                     (x) float64 ...
  * xw                    (x) float64 ...
  * y                     (y) float64 ...
  * yw                    (y) float64 ...
  * z                     (z) float64 ...
  * zw                    (z) float64 ...
Data variables:
    field                 (x, y, z) float64 ....
Indexes:
    x, y, z, zw, yw, zw    WCSIndex

@benbovy Thanks. This looks really promising and is pretty inline with what I saw geoxarray's internals doing for a user. In your opinion will this type of CRSIndex/WCSIndex work need #5322? If so, will it also require (or benefit from) the additional internal xarray refactoring you mention in #5322?
I can really see this becoming super easy for CRS-based dataset users where libraries like geoxarray (or xoak) "know" the common types of schemes/structures that might exist in the scientific field and have a simple .geo.set_index that figures out most of the parameters for .set_index by default.

In your opinion will this type of CRSIndex/WCSIndex work need #5322? If so, will it also require (or benefit from) the additional internal xarray refactoring you mention in #5322?

Yes, CRSIndex/WCSIndex will need to provide an implementation for the query method added in #5322. However, this could be "as simple as" internally using PandasIndex for each 1-d coordinate in case of raster/grid data, maybe with an additional check that the values provided to .sel are in the same CRS (for example int the case of advanced indexing where xarray.DataArray or xarray.Variable objects are passed as arguments).
What will be probably more tricky is to find some common way to handle CRS for various indexes (e.g., regular gridded data vs. irregular data), probably via some class inheritance hierarchy or using mixins.

I can really see this becoming super easy for CRS-based dataset users where libraries like geoxarray (or xoak) "know" the common types of schemes/structures that might exist in the scientific field and have a simple .geo.set_index that figures out most of the parameters for .set_index by default.

In case we load such data from a file/store, thanks to the Xarray backend system, maybe we won't even need a .geo.set_index but we'll be able to build the right index(es) when opening the dataset!

@benbovy I'm reading over the changes in #5322. All of this is preparing for the future, right? Is it worth it to start playing with these base classes (Index) in geoxarray or will I not be able to use them for a CRSIndex until more changes are done to xarray core? For example, none of this set_index for Index classes stuff you showed above is actually implemented yet, right?

@djhoese you're right, I thought it was better to do all the internal refactoring first but we maybe shouldn't wait too long before updating set_index and the DataArray / Dataset constructors so that you and others can start playing with custom indexes.

@benbovy It's been a while since I've looked into xarray's flexible index work. What's the current state of this work (sorry if there is some issue or blog I should be watching for)? Is it possible for me as a user to create my own index classes that xarray will accept?

@djhoese not yet but hopefully soon! Most of the work on explicit indexes is currently happening in #5692, which once merged (probably after the next release) will provide all the infrastructure for custom indexes. This is quite a big internal refactoring (bigger than I initially thought) that we cannot avoid as we're changing Xarray's core data model. After that, we'll need to update some public API (Xarray object constructors, .set_index(), etc.) so that Xarray will accept custom index classes. This should take much less work than #5692, though.


Gitea Upgrade Failure

Gitea version (or commit ref): v1.9.3
Git version: 2.16.5
Operating system: Debian GNU/Linux 9 (stretch)
Database (use [x]):

[ ] PostgreSQL
[x] MySQL
[ ] MSSQL
[ ] SQLite

Can you reproduce the bug at https://try.gitea.io:

[ ] Yes (provide example URL)
[ ] No
[x] Not relevant

Log gist:

Description
Unable to upgrade to v1.9.3 from v1.3.2, seems like a database migrate issue:
2019/10/20 12:56:20 ...-xorm/xorm/engine.go:329:Ping() [I] PING DATABASE mysql
2019/10/20 12:56:20 .../xorm/session_raw.go:143:queryBytes() [I] [SQL] SELECT `TABLE_NAME` from `INFORMATION_SCHEMA`.`TABLES` WHERE `TABLE_SCHEMA`=? and `TABLE_NAME`=? []interface {}{"gitea", "version"}
2019/10/20 12:56:20 ...m.io/core/dialect.go:161:HasRecords() [I] [SQL] SELECT `COLUMN_NAME` FROM `INFORMATION_SCHEMA`.`COLUMNS` WHERE `TABLE_SCHEMA` = ? AND `TABLE_NAME` = ? AND `COLUMN_NAME` = ? [gitea version id]
2019/10/20 12:56:20 ...m.io/core/dialect.go:161:HasRecords() [I] [SQL] SELECT `COLUMN_NAME` FROM `INFORMATION_SCHEMA`.`COLUMNS` WHERE `TABLE_SCHEMA` = ? AND `TABLE_NAME` = ? AND `COLUMN_NAME` = ? [gitea version version]
2019/10/20 12:56:20 .../xorm/session_get.go:99:nocacheGet() [I] [SQL] SELECT `id`, `version` FROM `version` WHERE `id`=? LIMIT 1 []interface {}{1}
2019/10/20 12:56:20 ...ations/migrations.go:272:Migrate() [I] Migration[81]: update U2F counter type
2019/10/20 12:56:20 .../xorm/session_raw.go:226:Exec() [I] [SQL] ALTER TABLE `u2f_registration` MODIFY `counter` BIGINT
2019/10/20 12:56:20 routers/init.go:86:GlobalInit() [F] ORM engine initialization failed: migrate: do migrate: Error changing u2f_registration counter column type: Error 1146: Table 'gitea.u2f_registration' doesn't exist
2019/10/20 12:56:23 ...dules/setting/log.go:269:newLogService() [I] Gitea Log Mode: File(File:info)
2019/10/20 12:56:23 ...les/setting/cache.go:42:newCacheService() [I] Cache Service Enabled
2019/10/20 12:56:23 ...s/setting/session.go:45:newSessionService() [I] Session Service Enabled
2019/10/20 12:56:23 ...es/setting/mailer.go:105:newMailService() [I] Mail Service Enabled
2019/10/20 12:56:23 ...es/setting/mailer.go:127:newNotifyMailService() [I] Notify Mail Service Enabled
2019/10/20 12:56:23 routers/init.go:49:initDBEngine() [I] Beginning ORM engine initialization.
2019/10/20 12:56:23 routers/init.go:51:initDBEngine() [I] ORM engine initialization attempt #1/10...
2019/10/20 12:56:23 ...-xorm/xorm/engine.go:329:Ping() [I] PING DATABASE mysql
2019/10/20 12:56:23 .../xorm/session_raw.go:143:queryBytes() [I] [SQL] SELECT `TABLE_NAME` from `INFORMATION_SCHEMA`.`TABLES` WHERE `TABLE_SCHEMA`=? and `TABLE_NAME`=? []interface {}{"gitea", "version"}
2019/10/20 12:56:23 ...m.io/core/dialect.go:161:HasRecords() [I] [SQL] SELECT `COLUMN_NAME` FROM `INFORMATION_SCHEMA`.`COLUMNS` WHERE `TABLE_SCHEMA` = ? AND `TABLE_NAME` = ? AND `COLUMN_NAME` = ? [gitea version id]
2019/10/20 12:56:23 ...m.io/core/dialect.go:161:HasRecords() [I] [SQL] SELECT `COLUMN_NAME` FROM `INFORMATION_SCHEMA`.`COLUMNS` WHERE `TABLE_SCHEMA` = ? AND `TABLE_NAME` = ? AND `COLUMN_NAME` = ? [gitea version version]
2019/10/20 12:56:23 .../xorm/session_get.go:99:nocacheGet() [I] [SQL] SELECT `id`, `version` FROM `version` WHERE `id`=? LIMIT 1 []interface {}{1}
2019/10/20 12:56:23 ...ations/migrations.go:272:Migrate() [I] Migration[81]: update U2F counter type
2019/10/20 12:56:23 .../xorm/session_raw.go:226:Exec() [I] [SQL] ALTER TABLE `u2f_registration` MODIFY `counter` BIGINT
2019/10/20 12:56:23 routers/init.go:58:initDBEngine() [I] Backing off for 3 seconds
2019/10/20 12:56:26 routers/init.go:51:initDBEngine() [I] ORM engine initialization attempt #2/10...
2019/10/20 12:56:26 ...-xorm/xorm/engine.go:329:Ping() [I] PING DATABASE mysql
2019/10/20 12:56:26 .../xorm/session_raw.go:143:queryBytes() [I] [SQL] SELECT `TABLE_NAME` from `INFORMATION_SCHEMA`.`TABLES` WHERE `TABLE_SCHEMA`=? and `TABLE_NAME`=? []interface {}{"gitea", "version"}
2019/10/20 12:56:26 ...m.io/core/dialect.go:161:HasRecords() [I] [SQL] SELECT `COLUMN_NAME` FROM `INFORMATION_SCHEMA`.`COLUMNS` WHERE `TABLE_SCHEMA` = ? AND `TABLE_NAME` = ? AND `COLUMN_NAME` = ? [gitea version id]
2019/10/20 12:56:26 ...m.io/core/dialect.go:161:HasRecords() [I] [SQL] SELECT `COLUMN_NAME` FROM `INFORMATION_SCHEMA`.`COLUMNS` WHERE `TABLE_SCHEMA` = ? AND `TABLE_NAME` = ? AND `COLUMN_NAME` = ? [gitea version version]
2019/10/20 12:56:26 .../xorm/session_get.go:99:nocacheGet() [I] [SQL] SELECT `id`, `version` FROM `version` WHERE `id`=? LIMIT 1 []interface {}{1}
2019/10/20 12:56:26 ...ations/migrations.go:272:Migrate() [I] Migration[81]: update U2F counter type
2019/10/20 12:56:26 .../xorm/session_raw.go:226:Exec() [I] [SQL] ALTER TABLE `u2f_registration` MODIFY `counter` BIGINT
2019/10/20 12:56:26 routers/init.go:58:initDBEngine() [I] Backing off for 3 seconds

...
Screenshots

Please upgrade 1.3 -> 1.4 -> 1.5 -> 1.6 -> 1.7 -> 1.8 -> 1.9

I tried, now it gives things like this from 1.4.3 -> 1.5.0
2019/10/21 00:14:36 [...itea/routers/init.go:60 GlobalInit()] [E] Failed to initialize ORM engine: migrate: do migrate: Insert team units: Error 1062: Duplicate entry '1-1' for key 'UQE_team_unit_s'
2019/10/21 00:14:38 [I] Log Mode: File(Info)
2019/10/21 00:14:38 [I] XORM Log Mode: File(Info)
2019/10/21 00:14:38 [I] Cache Service Enabled
2019/10/21 00:14:38 [I] Session Service Enabled
2019/10/21 00:14:38 [I] Mail Service Enabled
2019/10/21 00:14:38 [I] Notify Mail Service Enabled
2019/10/21 00:14:38 [I] Migration: move team units to team_unit table
2019/10/21 00:14:38 [...itea/routers/init.go:60 GlobalInit()] [E] Failed to initialize ORM engine: migrate: do migrate: Insert team units: Error 1062: Duplicate entry '1-1' for key 'UQE_team_unit_s'
2019/10/21 00:14:40 [I] Log Mode: File(Info)
2019/10/21 00:14:40 [I] XORM Log Mode: File(Info)
2019/10/21 00:14:40 [I] Cache Service Enabled
2019/10/21 00:14:40 [I] Session Service Enabled
2019/10/21 00:14:40 [I] Mail Service Enabled
2019/10/21 00:14:40 [I] Notify Mail Service Enabled
2019/10/21 00:14:40 [I] Migration: move team units to team_unit table
2019/10/21 00:14:40 [...itea/routers/init.go:60 GlobalInit()] [E] Failed to initialize ORM engine: migrate: do migrate: Insert team units: Error 1062: Duplicate entry '1-1' for key 'UQE_team_unit_s'
2019/10/21 00:14:42 [I] Log Mode: File(Info)
2019/10/21 00:14:42 [I] XORM Log Mode: File(Info)
2019/10/21 00:14:42 [I] Cache Service Enabled
2019/10/21 00:14:42 [I] Session Service Enabled
2019/10/21 00:14:42 [I] Mail Service Enabled
2019/10/21 00:14:42 [I] Notify Mail Service Enabled
2019/10/21 00:14:42 [I] Migration: move team units to team_unit table
2019/10/21 00:14:42 [...itea/routers/init.go:60 GlobalInit()] [E] Failed to initialize ORM engine: migrate: do migrate: Insert team units: Error 1062: Duplicate entry '1-1' for key 'UQE_team_unit_s'

https://github.com/go-gitea/gitea/issues/7070#issuecomment-496933432
Droping table team_unit worked for me!


Fix #12220: Add Decompress Bc5 to Squish

This Commit fixes the corrupted file preview described in #12220.
Added DecompressColourBc5 function to squish.

Wow you rock
On Nov 18, 2017 8:41 PM, "Orkun Tezer"<EMAIL_ADDRESS>wrote:

This Commit fixes the corrupted file preview described in #12220
https://github.com/godotengine/godot/issues/12220.
Added DecompressColourBc5 function to squish.
You can view, comment on, or merge this pull request online at:
https://github.com/godotengine/godot/pull/13025
Commit Summary

Fix #12220: Add Decompress Bc5 to Squish

File Changes

M thirdparty/squish/colourblock.cpp
https://github.com/godotengine/godot/pull/13025/files#diff-0 (83)
M thirdparty/squish/colourblock.h
https://github.com/godotengine/godot/pull/13025/files#diff-1 (1)
M thirdparty/squish/squish.cpp
https://github.com/godotengine/godot/pull/13025/files#diff-2 (5)

Patch Links:

https://github.com/godotengine/godot/pull/13025.patch
https://github.com/godotengine/godot/pull/13025.diff

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/pull/13025, or mute the thread
https://github.com/notifications/unsubscribe-auth/AF-Z29yvvcuMvfZEdqGORRsHBy2TL07mks5s32sjgaJpZM4QjMXT
.

Thanks!
Actualy this is a partialy solution. I think, we should implement bc4 compression also...

So we're forking libsquish?..
Have you tried to propose this change upstream?

I try solve without touch squish but you can see actually Bc5 and Probably bc4 not working.
Yes, i search for issue tracker or push for upstream, i can't find any way to how contirubute. Also try another project that uses libsuqish for how they resolve these decompression but cant find. I think there is no way arround it but fork or wait for upstream. What i see, this is critical for godot and godot more fast development cycle.
I think we should fork library and patch if it work. Or wait for bc5 compression became mature

How about maintaining this as a patch and maybe wrap it in between markers like /* GODOT start */ until we get this into upstream (which might take some time)? We already have this kind of stuff in third party.

How about maintaining this as a patch and maybe wrap it in between markers like /* GODOT start */ until we get this into upstream (which might take some time)? We already have this kind of stuff in third party.

That's what should be done, yes, but I want to see a discussion with upstream at least start, so far I see no indication that contact with them was made. As upstream dev for various projects, I know that it's very important that downstream users tell you when they want API changes :)

That's what should be done, yes, but I want to see a discussion with upstream at least start, so far I see no indication that contact with them was made. As upstream dev for various projects, I know that it's very important that downstream users tell you when they want API changes, even more so if they have patches for it already :)

You're right. I will try contanct with them.

Thanks! Feel free to put me in CC with my email from https://godotengine.org/contact

Any news from the Squish devs?

I put you on cc; since than, no news.

Seems like things might take a while with upstream, so I merged this manually with comments to properly show what we did: e021097c8


chore: release 1.0.2

:robot: I have created a release *beep* *boop*
1.0.2 (2022-07-28)
Bug Fixes

prepublish build (2c7b187)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/inception-health/opentelemetry-exporter-trace-otlp-file/releases/tag/v1.0.2 :sunflower:


Fix numpy issue

Automated tests started failing with a numpy error:
https://github.com/Imageomics/Andromeda/actions/runs/9556819932/job/26465542452?pr=96#step:5:161
   import pandas as pd
  File "/opt/hostedtoolcache/Python/3.11.9/x64/lib/python3.11/site-packages/pandas/__init__.py", line 22, in <module>
    from pandas.compat import is_numpy_dev as _is_numpy_dev  # pyright: ignore # noqa:F401
  ...
  File "pandas/_libs/interval.pyx", line 1, in init pandas._libs.interval
ValueError: numpy.dtype size changed, may indicate binary incompatibility. Expected 96 from C header, got 88 from PyObject

Numpy issue https://github.com/numpy/numpy/issues/26710


Buggfix ElasticPool commands

Contains added tests and fixes for the elastic pools commands.
New-ADOPSElasticPool
[x] Change -Body in Invoke to use correct parameter, $ElasticPoolObject
[x] Check if $ElasticPoolObject is json, if not, try to convert it
[x] Add help on how to find VMSS id for parameter 'azureID' (Get-AZVMSS from the Az.Compute module)
Get-ADOPSElasticPool
[x] Fix variable expansion error when searching for specific id.
[x] Remove unnecessary $Body from invoke call
General
[x] Update Help
[x] Run tests

Failed test fixed in #104


Implement Mouse 4 and 5 Support

This PR aims to implement mouse button 4 and mouse button 5 support.
This is my first time really diving into the window code, so let me know if there is anything I should change!
Status

[X] win32

[X] Button Press
[X] Mouse Drag

[ ] xlib

[X] Button Press
[ ] Mouse Drag

[ ] cocoa (I do not have a MacOS device so I cannot implement this myself)

[ ] Button Press
[ ] Mouse Drag

Hi @LennyPhoenix,  I had a look at this recently, I think it just needs some additions to the XlibWindow._event_motionnotify and XlibWindow._event_motionnotify_view methods. Those are the only two places that dispatch the on_mouse_drag event, and they're only checking for Button1MotionMask to Button3MotionMask, so I'm guessing that adding the additional button masks there would help.

Also, my information could be out of date, but I don't believe OSX has any native support for multi-button mouse. My understanding is that you need to use some kind of third party application to map these buttons to something useful. There may not be an easy way for us to receive these buttons in pyglet.

Ah ok, I'll just focus on Xlib for now then we can get this merged.

Ah, I'm seeing what the problem I was encountering before is now. It appears that ev.xmotion.state does not set any flags when button 4 or 5 are held down (it is always just 0), so I can't detect if the mouse buttons are held or not.

Using xev shows that Xorg doesn't actually set the state at all when dragging with mouse 4 or mouse 5:
MotionNotify event, serial 33, synthetic NO, window 0x6e00001,
    root 0x1de, subw 0x0, time 2181823, (469,172), root:(1473,753),
    state 0x0, is_hint 0, same_screen YES

Whereas with the left mouse button:
MotionNotify event, serial 33, synthetic NO, window 0x6e00001,
    root 0x1de, subw 0x0, time 2251476, (546,293), root:(1550,874),
    state 0x100, is_hint 0, same_screen YES

I have no idea why this is, it might just be that mouse 4 and 5 simply aren't fully supported by Xorg, in which case I don't think there is much I can do.

That's strange. It could be that dragging in particular is not supported.
It might be worth while just adding a note to the codebase, and merging in what you have so far. That would also be easier for someone else to give it a try.
I don't have any many-button mice, but I was thinking I might be able to find an emulator or something like that to test with.

Sure, if you could give it a try that would be handy but I'll add a note to the motion event for now.