SOCKS5 support to echo_client sample

SOCKS5 support added to echo_client sample. Details are added in README file about how to verify this feature using echo-client with echo-server running on Linux host.

@pfalcon updated, please take a look.

I think we should get this to 2.0 so that there is an example how to enable proxy support when not using MQTT. Adding TSC label.

I think we should get this to 2.0 so that there is an example... Adding TSC label.

I'd assume examples for existing features don't qualify as new features themselves, and don't need TSC approval? @ioannisg ?

@dbkinder could you revisit your review?


Failing at Step 26/49 : RUN git clone git://github.com/CartoDB/Windshaft-cartodb.git

AWS Docker on Ubuntu 18.04. Clean install.
then docker build -t=sverhoeven/cartodb docker-cartodb/
At fail:
The command '/bin/sh -c git clone git://github.com/CartoDB/Windshaft-cartodb.git &&     cd Windshaft-cartodb &&
     git checkout $WINDSHAFT_VERSION &&     npm install -g<EMAIL_ADDRESS>&&     yarn install &&     rm -r /tmp/npm-* /root/.npm &&     mkdir logs' returned a non-zero code: 1

Cloning into 'Windshaft-cartodb'...
Already on 'master'
Your branch is up to date with 'origin/master'.
npm WARN deprecated<EMAIL_ADDRESS>It is recommended to install Yarn using the native installation method for your environment. See https://yarnpkg.com/en/docs/install
/usr/bin/yarnpkg -> /usr/lib/node_modules/yarn/bin/yarn.js
/usr/bin/yarn -> /usr/lib/node_modules/yarn/bin/yarn.js
/usr/lib

truncated yarn list, followed by:
yarn install v0.27.5
info No lockfile found.
$ make pre-install
[1/4] Resolving packages...
warning<EMAIL_ADDRESS>This module is no longer maintained, try this instead:
  npm i nyc
Visit https://istanbul.js.org/integrations for other alternatives.
warning windshaft ><EMAIL_ADDRESS>This module is now under the @mapbox namespace: install @mapbox/sphericalmercator instead
warning<EMAIL_ADDRESS>renamed to d3-queue
warning windshaft ><EMAIL_ADDRESS>This module has moved: please install @mapbox/tilelive instead
warning windshaft > tilelive ><EMAIL_ADDRESS>This module is now under the @mapbox namespace: install @mapbox/sphericalmercator instead
warning windshaft > tilelive ><EMAIL_ADDRESS>renamed to d3-queue
warning camshaft > request > hawk ><EMAIL_ADDRESS>This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).
warning camshaft > request > hawk ><EMAIL_ADDRESS>This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).
warning camshaft > request > hawk > cryptiles ><EMAIL_ADDRESS>This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).
warning camshaft > request > hawk ><EMAIL_ADDRESS>This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).
warning windshaft > grainstore > carto ><EMAIL_ADDRESS>Project renamed to HSLuv
warning windshaft > tilelive > progress-stream > through2 > xtend ><EMAIL_ADDRESS>[2/4] Fetching packages...
warning Pattern ["carto@github:cartodb/carto#master"] is trying to unpack in the same destination "/usr/local/share/.cache/yarn/v1/npm-carto-0.15.1-cdb5-85881d99dd7fcf2c4e16478b04db67108d27a50c" as pattern ["carto@github:cartodb/carto#0.15.1-cdb5"]. This could result in a non deterministic behavior, skipping.
error<EMAIL_ADDRESS>The engine "node" is incompatible with this module. Expected version "^10.15.1".
error Found incompatible module

my googlefu has failed me - any suggestions or assistance recieved with thanks.

Hi,
have a look to the official Install-Guide
you need node 10.x and npm 6+- link

Giving it a try now - thank you Stefan.

Stefan, I can confirm the changes on branch node-10 work. I have been through and given most functionality a work through.

Image on Docker hub has been rebuild.


Uncaught TypeError: this.definitions.reload is not a function

[Enter steps to reproduce below:]

install the package and modify the .save.cson as below

"**/*.md": [
     "git add ${file}"
     "git commit -am \"update ${file}\""
]

restart atom
open a .md file,  modify it, save it. nothing happens
cmd-shift-p , save-autoran:execute definitions trigger the error.

Atom Version: 1.7.4
System: Mac OS X 10.11.4
Thrown From: save-autorun package, v0.3.3
Stack Trace
Uncaught TypeError: this.definitions.reload is not a function
At /Users/wangxu/.atom/packages/save-autorun/lib/save-autorun.coffee:111

TypeError: this.definitions.reload is not a function
    at SaveAutorun.module.exports.SaveAutorun.runDefinitions (/Users/wangxu/.atom/packages/save-autorun/lib/save-autorun.coffee:111:64)
    at atom-workspace.subscriptions.add.atom.commands.add.save-autorun:execute-definitions (/Users/wangxu/.atom/packages/save-autorun/lib/save-autorun.coffee:34:44)
    at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:260:29)
    at /Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:3:61
    at CommandPaletteView.module.exports.CommandPaletteView.confirmed (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/command-palette/lib/command-palette-view.js:183:32)
    at CommandPaletteView.module.exports.SelectListView.confirmSelection (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-space-pen-views/lib/select-list-view.js:338:21)
    at space-pen-div.atom.commands.add.core:confirm (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-space-pen-views/lib/select-list-view.js:109:19)
    at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:260:29)
    at /Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:3:61
    at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:580:16)
    at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:388:22)
    at WindowEventHandler.module.exports.WindowEventHandler.handleDocumentKeyEvent (/Applications/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:98:36)
    at HTMLDocument.<anonymous> (/Applications/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:3:61)

Commands
  3x -2:40.9.0 editor:newline (atom-text-editor.editor.is-focused)
     -1:27.4.0 core:save (atom-text-editor.editor.is-focused)
     -0:06.0 command-palette:toggle (atom-text-editor.editor.is-focused)
  4x -0:01.9.0 core:move-down (atom-text-editor.editor.mini.is-focused)
     -0:00.8.0 core:confirm (atom-text-editor.editor.mini.is-focused)
     -0:00.8.0 save-autorun:execute-definitions (atom-text-editor.editor)

Config
{
  "core": {
    "disabledPackages": [
      "markdown-preview",
      "nvatom"
    ],
    "themes": [
      "one-light-ui",
      "one-light-syntax"
    ]
  }
}

Installed Packages
# User
atom-beautify, v0.29.7
console-panel, v0.2.0
diagrams, v0.5.0
markdown-mindmap, v0.2.4
markdown-preview-enhanced, v0.7.0
merge-conflicts, v1.4.3
save-autorun, v0.3.3
script-runner, v1.8.4

# Dev
No dev packages

+1

Yup, doesn't work at all for me

Same error here.

I solved the Problem for me by installing the Termination Package. It is a Terminal in Atom and can run commands with key bindings.
Now i press CMD+R and the script will run in the Terminal.

Same error here.

same error


Feat: build the CI pipeline

This repo started from this boilerplate. So it already has some workflows in place. However, we haven't tested these workflows as of now. As a part of this feature, we need to complete the following tasks

Test the existing workflows if they are working correctly. Remove any unnecessary workflows with proper reasoning.
Ensure we are able to build correctly on all platforms
Sign the app and create a release on demand.

i can pick this

Hi can i take this ?

Assigned to you!


Trained data doesn't seem to be working

I downloaded por.traineddata (for portuguese language) to the StreamingAssets/tessdata folder and I get a "TessAPIInit failed. Output: -1".  Should this be enough? I notice there are a bunch of different files for starting with eng  like "eng.cube.params", "eng.cube.nn" and so many others? Should there be the same for portuguese?

"eng.cube.params", "eng.cube.nn" and so many others

Where did you see such files? They are not in our official repositories and no longer valid for Tesseract 4 and 5.

StreamingAssets/tessdata

@stweil: seems like he is trying to upgrade the 3rd party app. IMO not a Tesseract issue...


Stopping side car container

We are facing an issue where main container stops and aws-sigv4-proxy side car container is still hanging and not exited. Is there a process to handle graceful termination of side car container?

I'm sure there is, I haven't had a chance to take a look at it. I will try and open a PR when I get a chance but if you know how, please feel free to open a PR and I will review it!

I'm also interested in this. Our CronJob pod stucks as aws-sigv4-proxy sidecar container never exits.


Orbit's timer pause function does not work as expected

I tried to add a pause button to control the orbit.
I manually create an orbit object. And I use the timer's object pause function to pause the slider.
Like this:
window.slider = new Foundation.Orbit( $('.orbit'), {         timerDelay: 500     });
However, it does not pause and continue to slide although the console log show that the pause is in true status. If you test in local environment without iframe, you may try to run window.slider.timer again which show different status as shown when click on the pause button.
If you run `window.slider.timer.pause() in the console, it work. I am not sure if it is related to context or scope.
How to reproduce this bug:

add foundation css/js
add the slider copied from example 1 in Foundation Orbit Docs
addwindow.slider = new Foundation.Orbit( $('.orbit'), {      timerDelay: 500  });
add a button and event handler to invoke: window.slider.timer.pause();
click the button

What should happen:
The orbit should stop because the timer should be cleared.
What happened instead:
The orbit slider timer is keep running.
Browser(s) and Device(s) tested on:
Macbook Pro Sierra 10.12 with Chrome Version 63.0.3239.84 (Official Build) (64-bit)
Foundation Version(s) you are using:
development version: 6.3.1 js installed by npm
demo version: 6.4.3 js
Test case link:
I have created an example to demonstrate the problem.
Example in CodePen with Foundation 6.4.3

It works when the button is outside of the orbit element because data-pause-on-hover resets it.
See https://codepen.io/DanielRuf/project/editor/ZOWxGn


LICENSE

Hi @johnhenry. The package.json file refers to a MIT license here but there is no license text inside the repository. Do you mind clarifying the exact license text (if any) under which the code is released?

Apologies. I've added the license. I'm in the process of fixing some bugs and re-vamping the documentation.


stable/apm-server issue title

Describe the bug
helm fetch stable/apm-server --untar download version 0.1.0
chart version in github repo is 2.0.1
Version of Helm and Kubernetes:
kubernetes version 1.12
Client: &version.Version{SemVer:"v2.13.1", GitCommit:"618447cbf203d147601b4b9bd7f8c37a5d39fbb4", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.13.1", GitCommit:"618447cbf203d147601b4b9bd7f8c37a5d39fbb4", GitTreeState:"clean"}
Which chart:
stable-apm-server
What happened:
helm download wrong chart version
What you expected to happen:
helm download right chart version
How to reproduce it (as minimally and precisely as possible):
helm fetch stable/apm-server this will download the wrong version
Anything else we need to know:

Have you ran a helm repo update?


Use right font #236

Instead of Dejavu, use Source Sans Pro Bold.
The infrastructure code has been updated to install this font automatically on deploy. https://github.com/creativecommons/ccsearch-infrastructure/commit/49f68bbc8837f6cc3a1bebd4547d9ba3343edba4

FYI @brenoferreira. I'm going to finish my work on /watermark metadata and deploy this to dev by tomorrow.


Documentation should specify how to reproduce Webpack 4 behavior

I am trying to upgrade from Webpack 4 to Webpack 5. Because Webpack 4 removes the node polyfills, this causes breakage with various modules in npm I am using. My understanding is node-polyfill-webpack-plugin fixes this.
However, on installing Webpack 5 + node-polyfill-webpack-plugin, I see various signs that I have reproduced something slightly different from Webpack 4. My evidence of this is:

Issue #11
Checking google I find much discussion about whether or not to excludeAlias "console" when using node-polyfill-webpack-plugin. I don't understand this.

The README contains a list of many modules, any of which are candidates for excludeAlias. But I don't know which modules Webpack 4 supplied, so I don't know what I have to exclude in order to reproduce webpack 4's module list. I don't know the technical background of this stuff and I'm confused.
I expect "reproduce Webpack 4 behavior/npm module compatibility in Webpack 5" is a common use case for node-polyfill-webpack-plugin. Therefore, my "expected behavior" is:
There should be text in the node-polyfill-webpack-plugin doc (the README) explaining exactly which excludeAlias values (or other configs) reproduce the behavior of Webpack 4. If null excludeAlias produces the module list used in Webpack 4, the docs should say that, for the benefit of the next person who gets confused the way I've got myself confused.

By default, the aliases polyfilled should be exactly the same as Webpack 4. The excludeAliases option exists in case you want to exclude one of them from being included. https://github.com/Richienb/node-polyfill-webpack-plugin/issues/7

Great, thanks.
The sentence you added to the README would have resolved the confusion I had yesterday, so I'm closing this.
This does however make #11 seem like it could be an actual bug.


Fixed Reviews and Ratings for dark mode

Hey @abhay-raj19 can you please assign this PR the labels you added to my issue(#272) earlier( gssoc'24, level2, and good first issue) as well, otherwise it won't be counted.


Delimited expressions should be allowed as last argument

(this was originally a comment in #61)
I'm trying to dig up why the rustfmt overflow_delimited_expr shouldn't be enabled by default. And I found it derives from the following statement in the guide

Only where the multi-line sub-expression is a closure with an explicit block, this combining behaviour may be used where there are other arguments, as long as all the arguments and the first line of the closure fit on the first line, the closure is the last argument, and there is only one closure argument

History
I see in this comment @joshtriplett says

This should never apply if the outer construct contains more than just the single expression
// don't do this
let thing = Struct(first, OtherStruct(
    second,
    third,
));

// don't do this either
foo(thing, bar(
    param1,
    param2,
    param3,
));

In the next comment they suggest a possible exception for format macros

As a possible exception to the requirement that the outer construct must have only one argument, you can also apply this to an invocation of print!, println!, or format!, where the first argument consists of a format string and the second argument consists of a single expression:
println!("Thing: {}", generate_thing(
    long_argument_one,
    long_argument_two,
    long_argument_three,
));

AFAIK this did not make it into the guide
Then @nrc suggests an exception for closures as the last argument in this comment and @joshtriplett agrees

Re closures, I would like to restrict this to block closures, and in this case we allow any number of parameters as long as everything up to the { of the closure fits on one line (including inside the 'short' heuristic for function args), e.g.,:
foo(1 + 2, x, some_variable.bar(), |x| {
    closure_body();
    ret_value
})

This did make it into the guide
Then there's a lot of discussion about what control flow expressions should be allowed.
Then there's discussion about arrays where @kennytm brings up arrays and @joshtriplett agrees that it should be treated similarly.
However, there was never any discussion about allowing arrays, match, and other delimited expressions as the last argument.
Getting to the point
I don't see any reason why other multi-line delimited expressions shouldn't be allowed by default in the same context as closures. For instance, right now, rustfmt will format a match inside a closure and a match without a closure differently:
    // with a closure
    let f = fn_call(123, |cond| match cond {
        A => 1,
        B => 2,
    });
    // without a closure, not consistent
    let f = fn_call(
        123,
        match cond {
            A => 1,
            B => 2,
        },
    );
    // works fine with normal blocks though
    let f = fn_call(123, {
        let a = 1;
        let b = 2;
        a + b
    });
    // or without any other arguments
    let f = fn_call(match cond {
        A => 1,
        B => 2,
    });

That doesn't make any sense to me, and looks super ugly. Also, consider an append macro, used to push a list of elements to a Vec without copying or cloning:
     append!(v, [
<PHONE_NUMBER>52347985,
<PHONE_NUMBER>69832796759287,
<PHONE_NUMBER>759382759832,
<PHONE_NUMBER>57932759834729857,
    ]);

Awesome for cleaning up dozens of lines of v.push(...) calls into an easily readable format. But rustfmt just kills me here (without enabling the overflow_delimited_expr option):
     append!(
        v,
        [
<PHONE_NUMBER>52347985,
<PHONE_NUMBER>69832796759287,
<PHONE_NUMBER>759382759832,
<PHONE_NUMBER>57932759834729857,
        ]
    );

So my question is, why does this "last argument exception" not apply to match, arrays, vec![], etc? Seems inconsistent, yet alone ugly.

Thanks for sharing your perspective but I think it probably makes sense to close given the age of the issue, existing contrary prescription of the style guide, and the presence of a configuration option that supports the desired style (though not by default).
The config option exists precisely to support those that shared your opinion, but I don't see how we could completely reverse course on the style guide and formatting behavior that would deliberately introduce breaking formatting changes.
Will leave open for a bit longer for any follow up dialog, but will likely close down the road

Man I've taken a while to respond, sorry about that.
First, I'd like to put some numbers on it. Of the top 1000 rust repositories (when I took this poll):

614 had no rustfmt.toml
386 had a rustfmt.toml
of those, 13 had overflow_delimited_expr: true

The 13 includes some quite popular projects, such as:

Alacritty - 38.2k :star:
Quiche - 5.9k :star:
git-cliff - 3.8k :star:
Veloren - 2.1k :star:
and the rand crate

Now to address your points.

The config option exists precisely to support those that shared your opinion, but I don't see how we could completely reverse course on the style guide and formatting behavior that would deliberately introduce breaking formatting changes.

Breaking formatting happens pretty often in my experience. And this kind of formatting change is the least bad in my opinion: it only reduces whitespace.
I also don't think it's a reversal of course. I'd say it makes the styling more consistent, instead of having the single exception of closures. This is one of those cases that some types of projects hit way more often than others, but when you hit it, it's practically necessary to enable the option.

This isn't a change we could make in the current rustfmt. It's potentially reasonable to consider for rustfmt in a new edition.

Thanks for sharing those findings @pitaj and no worries on the timing. As Josh noted this isn't a change that could be readily made due to stability guarantees so we've got time to discuss and brainstorm.
I don't want detour the conversation too much as I think this thread will be best served by focusing on the merits for/against making the change, but will respond to a couple of your points to reinforce why we can't simply make the change (yet) even if you get everyone on board.

Breaking formatting happens pretty often in my experience
I also don't think it's a reversal of course

Think we may be using the terminology in different ways, or perhaps there's some important nuance that's missing. Due to the formatting stability guarantee, we can't decide to have rustfmt format something differently by default (even if it's better), and that in turn limits what changes we can (currently) make to the style guide which dictates rustfmt's default.
It's true that there have been cases where users would run a rustup update and a cargo fmt --check that was passing before would suddenly fail. However, that typically happens due to a bug fix, or rustfmt seeing and formatting some code for the first time. The latter happens because rustfmt currently will silently fail and leave code alone it can't process, because error_on_unformatted is false by default (something we hope to evolve to a silent/warn/error type of option).
That's anticipated/allowed, whereas the type of change you're proposing explicitly modifies formatting behavior, and would be analogous to reformating those 987 other repositories with overflow_delimited_expr=true instead of their current overflow_delimited_expr=false; we couldn't do that today.
We do have some plans for providing a transition/evolution process to formatting (both rustfmt and the style guide) though so your proposal is certainly something that could be incorporated in the next evolution

Thank you for your thoughtful response. I look forward to working together in the future to hopefully improve this default.

FWIW, regarding my historical comments that were quoted in the opening post here: I no longer hold that position or have those concerns, and would be happy to see this enabled by default in a new style edition.


use unmanaged, ref

why don't use the ref keyword in the pointer parameter instead?
and function like ImGui.ListBox
        [DllImport("Mochi.DearImGui.Native", CallingConvention = CallingConvention.Cdecl, EntryPoint = "?ListBox@ImGui@@YA_NPEBDPEAHQEBQEBDHH@Z", ExactSpelling = true)]
        private static extern byte ListBox_PInvoke(byte* label, int* current_item, sbyte** items, int items_count, int height_in_items);

use UnmanagedType.LPArray and use string[];
        [DllImport("Mochi.DearImGui.Native", CallingConvention = CallingConvention.Cdecl, EntryPoint = "?ListBox@ImGui@@YA_NPEBDPEAHQEBQEBDHH@Z", ExactSpelling = true)]
        private static extern byte ListBox_PInvoke(byte* label, int* current_item, [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.LPStr)]string[] items, int items_count, int height_in_items);

Hey, sorry for the late response. Taxes consumed all spare energy I had this weekend.

why don't use the ref keyword in the pointer parameter instead?

By default everything is exposed roughly the same as it is in C++. Since this parameter is a pointer in C++ it's a pointer in C# too.
In theory one could write a transformation to automatically convert all pointer parameters to C# byrefs, but I'd be hesitant to do this because it's not always the best thing to do. (Particularly for APIs where the pointer is allowed to be null since I'd rather not assume people know about Unsafe.NullRef<T> or force them to use it for common APIs like ImGui::Begin.)

use UnmanagedType.LPArray and use string[];

In general we avoid using .NET's built-in marshaler because it's pretty bad performance-wise.
It's also being deprecated in .NET 7 in favor of more C#-centric approaches like the upcoming LibraryImportGenerator or Biohazrd.

In this specific case, I simply haven't had a chance to really look at the best way to expose this function in a more developer-friendly way.
In general I want the developer friendly wrappers to guide people towards a pit of success performance-wise, especially for a library where hundreds or even thousands of function calls are being done in a fraction of a 16ms window.
Since this is and ComboBox are the only APIs like this in Dear ImGui, I'd probably be inclined to just write human-friendly wrappers for them manually. (Probably using a shared UTF8 buffer and the function pointer overload instead of the string array one, but I'd want to sit down and think about it more.)
If you need something more friendly today, I'd probably just use BeginListBox/Selectable/EndListBox directly. (That's basically all ImGui::ListBox is anyway, minus some ImGuiListClipper logic which only really matters if your list box has a huge number of items -- in which case you probably need to special case things from C# anyway to avoid the overhead of constant UTF16 -> UTF8 conversions.)

I know about marshaller performance. Anyway, I simply use Unsafe.AsPointer instead of using a lot of fixed keywords.

I would be careful about using Unsafe.AsPointer since it'd be easy to accidentally create a GC hole which can lead to very random crashes. You'd be better off making a helper method which exposes ref and uses fixed internally. (fixed has basically no performance overhead.)

I don't think it has a problem with static variables.
ldarg.0   conv.u   ret

I don't think it has a problem with static variables.

Today I learned. Not sure if that's an implementation detail I'd want to rely on, but neat nonetheless.
FYI, according to Pro .NET Memory that assumption only applies to primitive types. All user-defined structs used for static fields are allocated in boxes on the normal GC heap. (You can observe this pretty easily using this snippet.)

Yes it works well with primitive types.

I have an idea to make an option if anyone wants a ref keyword, generate it with the ref keyword.

I still don't think it's a good idea to provide overloads that use ref for all pointer parameters across the whole API surface, so I would hesitate to provide an official option without additional extra care.
That being said if you'd like to experiment with doing so yourself, here's a quick and dirty transformation  which adds such overloads:
using Biohazrd;
using Biohazrd.CSharp;
using Biohazrd.CSharp.Trampolines;
using Biohazrd.Transformation;
using System.Linq;

namespace Mochi.DearImGui.Generator;

// This transformation is pretty naive and many of the overloads it generates don't make any sense. Use at your own risk!
internal sealed class MakeRefOverloadsTransformation : TransformationBase
{
    protected override TransformationResult TransformFunction(TransformationContext context, TranslatedFunction declaration)
    {
        if (!declaration.Metadata.TryGet(out TrampolineCollection trampolines))
        { return declaration; }

        // Create trampolines which adapt pointers to C# byrefs.
         TryMakeTrampoline(Trampoline targetTrampoline)
        {
            TrampolineBuilder builder = new(targetTrampoline, useAsTemplate: true);

            foreach (Adapter adapter in targetTrampoline.Adapters)
            {
                // Skip parameters which don't accept input
                if (!adapter.AcceptsInput)
                { continue; }

                // If the parameter isn't a pointer we don't care about it
                if (adapter.InputType is not PointerTypeReference pointerType)
                { continue; }

                // If the parameter is a `const byte*`, we skip it since it's probably meant to be a string
                if (pointerType is { Inner: CSharpBuiltinTypeReference cSharpPointee, InnerIsConst: true } && cSharpPointee == CSharpBuiltinType.Byte)
                { continue; }

                // If the parameter is `void*` we skip it since `ref void` isn't valid C#
                if (pointerType.Inner is VoidTypeReference)
                { continue; }

                // If we got this far, adapt the parameter to a C# byref
                builder.AdaptParameter(adapter, new ByRefAdapter(adapter, ByRefKind.Ref));
            }

            return builder.HasAdapters ? builder.Create() : null;
        }

#if false
        // Handle pointer parameters in the primary trampoline
        {
            if (TryMakeTrampoline(trampolines.PrimaryTrampoline) is Trampoline trampoline)
            { declaration = declaration.WithSecondaryTrampoline(trampoline); }
        }

        // Handle pointer parameters in the secondary trampoline
        foreach (Trampoline secondaryTrampoline in trampolines.SecondaryTrampolines)
        {
            if (TryMakeTrampoline(secondaryTrampoline) is Trampoline trampoline)
            { declaration = declaration.WithSecondaryTrampoline(trampoline); }
        }
#else
        // Only adapt pointer parameters for the "last" trampoline
        // (This should be either the primary trampoline or the interpolated string handler overload. Not the most robust way to identify it but it gets the job done.)
        {
            if (TryMakeTrampoline(trampolines.Last()) is Trampoline trampoline)
            { declaration = declaration.WithSecondaryTrampoline(trampoline); }
        }
#endif

        return declaration;
    }
}

This transformation should be run immediately after ImGuiCreateStringWrappersTransformation.
IE: Modify the are around Program.cs:136 to be:
// ...
library = new ImGuiCreateStringWrappersTransformation().Transform(library);
library = new MakeRefOverloadsTransformation().Transform(library);
library = new StripUnreferencedLazyDeclarationsTransformation().Transform(library);
// ...


Could not install package

I get this error when I try to install your package in a newly created Xamarin.Forms project.
Could not install package 'Naxam.BottomTabbedPage <IP_ADDRESS>'. You are trying to install this package into a project that targets '.NETPortable,Version=v4.5,Profile=Profile111', but the package does not contain any assembly references or content files that are compatible with that framework. For more information, contact the package author.
What can I do to install your package?

Thanks, changed to .NETStandard 2.0 and everything works now.


Android exception while opening a deeplink - java.lang.NullPointerException: appName must not be null

Is there an existing issue for this?

[X] I have searched the existing issues and didn't find mine.

Steps to reproduce

Installed the android react native app on emulator
tried to open an app deeplink with following steps as suggested by Maestro official doc

Code Block:
appId: com.example.app
---
- launchApp:
    clearState: true
- openLink:
    link: 'https://link-stage.test.fan/test123'
- assertVisible: 'Welcome'

Please Note: It seems to run fine on iOS simulator
Actual results
failed with the message:
java.lang.NullPointerException: appName must not be null
[maestro test maestro/deeplink.yaml] 	at maestro.drivers.AndroidDriver.autoVerifyWithAppName(AndroidDriver.kt:533)
[maestro test maestro/deeplink.yaml] 	at maestro.drivers.AndroidDriver.autoVerifyApp(AndroidDriver.kt:519)
[maestro test maestro/deeplink.yaml] 	at maestro.drivers.AndroidDriver.openLink(AndroidDriver.kt:513)
[maestro test maestro/deeplink.yaml] 	at maestro.Maestro.openLink(Maestro.kt:487)
[maestro test maestro/deeplink.yaml] 	at maestro.orchestra.Orchestra.openLinkCommand(Orchestra.kt:701)
[maestro test maestro/deeplink.yaml] 	at maestro.orchestra.Orchestra.executeCommand(Orchestra.kt:262)
[maestro test maestro/deeplink.yaml] 	at maestro.orchestra.Orchestra.executeCommands(Orchestra.kt:201)
[maestro test maestro/deeplink.yaml] 	at maestro.orchestra.Orchestra.runFlow(Orchestra.kt:111)
[maestro test maestro/deeplink.yaml] 	at maestro.orchestra.Orchestra.runFlow$default(Orchestra.kt:75)
[maestro test maestro/deeplink.yaml] 	at maestro.cli.runner.MaestroCommandRunner.runCommands(MaestroCommandRunner.kt:185)
[maestro test maestro/deeplink.yaml] 	at maestro.cli.runner.TestRunner$runSingle$result$1.invoke(TestRunner.kt:54)
[maestro test maestro/deeplink.yaml] 	at maestro.cli.runner.TestRunner$runSingle$result$1.invoke(TestRunner.kt:51)
[maestro test maestro/deeplink.yaml] 	at maestro.cli.runner.TestRunner.runCatching(TestRunner.kt:145)
[maestro test maestro/deeplink.yaml] 	at maestro.cli.runner.TestRunner.runSingle(TestRunner.kt:51)
[maestro test maestro/deeplink.yaml] 	at maestro.cli.command.TestCommand$handleSessions$1$1$results$1$1$1.invoke(TestCommand.kt:291)
[maestro test maestro/deeplink.yaml] 	at maestro.cli.command.TestCommand$handleSessions$1$1$results$1$1$1.invoke(TestCommand.kt:249)
[maestro test maestro/deeplink.yaml] 	at maestro.cli.session.MaestroSessionManager.newSession(MaestroSessionManager.kt:107)
[maestro test maestro/deeplink.yaml] 	at maestro.cli.session.MaestroSessionManager.newSession$default(MaestroSessionManager.kt:58)
[maestro test maestro/deeplink.yaml] 	at maestro.cli.command.TestCommand$handleSessions$1$1$results$1$1.invokeSuspend(TestCommand.kt:249)
[maestro test maestro/deeplink.yaml] 	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
[maestro test maestro/deeplink.yaml] 	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)
[maestro test maestro/deeplink.yaml] 	at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:111)
[maestro test maestro/deeplink.yaml] 	at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:99)
[maestro test maestro/deeplink.yaml] 	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585)
[maestro test maestro/deeplink.yaml] 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)
[maestro test maestro/deeplink.yaml] 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)
[maestro test maestro/deeplink.yaml] 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)
[maestro test maestro/deeplink.yaml] ==== Debug output (logs & screenshots) ====
Expected results
The app should have opened the deeplink successfully
About app
cross-platform app, react native
About environment
Device: Pixel 3a
OS: API 33
MacOS: Sonoma - 14.6.1
Logs

Logs
<!-- Replace this line with your logs. *DO NOT* remove the backticks! -->

Maestro version
1.37.9
How did you install Maestro?
install script (https://get.maestro.mobile.dev)
Anything else?
No response

This issue is not reproducible.
Please provide a minimal, reproducible example that clearly explains how to reproduce the problem with the detailed, step-by-step instructions (that can be easily run by me or other maintainers).
This issue does not contain such an example, therefore it'll be closed unless you update it.

Thanks.
Does setting autoVerify: false help?
See https://maestro.mobile.dev/api-reference/commands/openlink

Yes that helped, thank you :)

I mean, this is still a bug, tho I'm glad the workaround worked:)


Doesnt work for 32 bit pc

Can you make it work on a 32 BIT PC

Hey @KYH2007, what OS are you using?

i am on windows 10 on a 32 bit device

From: Justin Head<EMAIL_ADDRESS>Sent: Monday, October 7, 2019 9:38 AM
To: jhead/phantom<EMAIL_ADDRESS>Cc: KYH2007<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [jhead/phantom] Doesnt work for 32 bit pc (#26)
Hey @KYH2007https://github.com/KYH2007, what OS are you using?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/jhead/phantom/issues/26?email_source=notifications&email_token=AMRNS6E3ALF722DC6SODZP3QNNCVVA5CNFSM4I3UXPV2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEAQSO7I#issuecomment-539043709, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AMRNS6GHASC7YFK2ZETRJNDQNNCVVANCNFSM4I3UXPVQ.

Hey @KYH2007, I've added a 32-bit version for Windows. Could you try that out?
https://github.com/jhead/phantom/releases/download/v0.2.1/phantom-windows-32bit.exe


Fix wrong naming #22

See issue #22

@NMZivkovic would it be possible to have this merged and included in a release? Thanks


ExtendScript classes transpilation

sorry, I have very little experience with js/ts but I've noticed that if I'm trying to use classes in extendscript babel adds bunch of hepers
for example like those:
function _classCallCheck(instance, Constructor) {
  if (!(instance instanceof Constructor)) {
    throw new TypeError("Cannot call a class as a function");
  }
}
function _defineProperties(target, props) {
  for (var i = 0; i < props.length; i++) {
    var descriptor = props[i];
    descriptor.enumerable = descriptor.enumerable || false;
    descriptor.configurable = true;
    if ("value" in descriptor) descriptor.writable = true;
    Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);
  }
}

when babel transpiles classes to functions it injects these helpers
the problem is that extendscript doesn't know anything about Object.defineProperty so as soon as I'm trying to use classes in extendscript it just breaks the bundle.
I've managed to disable helpers in vite.es.config.ts via
plugins: [
  "@babel/plugin-syntax-dynamic-import",
  ["@babel/plugin-transform-classes", { loose: true }],
  "@babel/plugin-proposal-class-properties",
]

Though I'm not sure if it's the right way

Pretty sure those helpers are needed in order for it to work, but if you have an example of before (ES6) / after (ES3) of what you're trying to achieve that would be great.

Sure
consider this simple class in tsx
import { jsxLogEvent, LogEntry, LogType } from "../../shared/shared";

class Logger {
  constructor() {
    var externalObjectName = "PlugPlugExternalObject";
    var mylib = new ExternalObject("lib:" + externalObjectName);
  }

  private logEntry(type: LogType, data: any[]) {
    const evt = new CSXSEvent();
    evt.type = jsxLogEvent;

    const entry: LogEntry = {
      type: type,
      entries: data,
    };

    evt.data = JSON.stringify(entry);

    evt.dispatch();
  }
}

const logger = new Logger();

export default logger;

if I set vite.es.config.ts to this (in exact same order btw otherwise it doesn't work properly)
...
        plugins: [
          "@babel/plugin-proposal-class-properties",
          "@babel/plugin-syntax-dynamic-import",
          ["@babel/plugin-transform-classes", { loose: true }],
        ]
...

it transpiles to this:
var Logger = /*#__PURE__*/function () {
  function Logger() {
    var externalObjectName = "PlugPlugExternalObject";
    new ExternalObject("lib:" + externalObjectName);
  }
  var _proto = Logger.prototype;
  _proto.logEntry = function logEntry(type, data) {
    var evt = new CSXSEvent();
    evt.type = jsxLogEvent;
    var entry = {
      type: type,
      entries: data
    };
    evt.data = JSON.stringify(entry);
    evt.dispatch();
  };
  return Logger;
}();
var logger = new Logger();

The one above is working fine in AE as far as I can tell. There are some little issues with typescript constructor syntax. I'm not able to declare class properties as constructor parameters like constructor(public number x). Babel just can't transform it for some reason. However that's not a big deal.
If I use default settings I have this one with injected helpers:
var Logger = /*#__PURE__*/function () {
  function Logger() {
    _classCallCheck(this, Logger);
    var externalObjectName = "PlugPlugExternalObject";
    new ExternalObject("lib:" + externalObjectName);
  }
  _createClass(Logger, [{
    key: "logEntry",
    value: function logEntry(type, data) {
      var evt = new CSXSEvent();
      evt.type = jsxLogEvent;
      var entry = {
        type: type,
        entries: data
      };
      evt.data = JSON.stringify(entry);
      evt.dispatch();
    }
  }]);
  return Logger;
}();
var logger = new Logger();

this one is not working for me (AE 23.5.0, CEP 11, Win11)

This is just a simple class which could be transform to function in a first place, but I have pretty complicated exporter for game engine so classes are pretty much required for me.
Thank you for framework btw, saved me so much time, tried to use scriptui before I discovered this. That was a nightmare

@igor-elovikov @justintaylor-dev   Or we can add the es5 environment by default like adding json2.js, so that there will be no such errors


implement authorizeOrder in reference contract for standard fulfillments

!fix

!fix

!fix

closing in favor of #5


removed EnableJitInDiagMode from the code

Hi @obastemur! Let me know if everything looks good to merge 🙂
Fixes #4311

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: mhaviv sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

Im guessing I did something wrong that some of the tests aren't passing... Can anyone let me know how to fix the remaining issues

This seems to be the cause of the failures:
19:33:58 Linking CXX executable ch
19:34:09 Undefined symbols for architecture x86_64:
19:34:09   "JITTimeWorkItem::IsJitInDebugMode() const", referenced from:
19:34:09       Func::IsJitInDebugMode() const in libChakraCoreStatic.a(Func.cpp.o)
19:34:09       JITTimeWorkItem::InitializeReader(Js::ByteCodeReader*, Js::StatementReader<JsUtil::List<Js::FunctionBody::StatementMap*, Memory::ArenaAllocator, false, Js::CopyRemovePolicy, DefaultComparer> >*, Memory::ArenaAllocator*) in libChakraCoreStatic.a(JITTimeWorkItem.cpp.o)
19:34:09 ld: symbol(s) not found for architecture x86_64

Im guessing this fixes #4311 ?

hi @jackhorton yes it does 🙂(atleast its an attempt but not all the tests passed) 😶

@mhaviv loved the effort!
About the changes; keep in mind that now JIT is always enabled during debug. So, all the conditions for IsJitInDebugMode() == true, we need to consider them as we may possibly need them by default.

Thank you so much for the feedback @obastemur I am going to fix it up now 👍

@mhaviv your test failures are from not removing all uses of IsJitInDebugMode() - you've deleted the function but it has a few calls to it left in - they all need to go.

@mhaviv I really want this PR to be going but It's a bit far away from the target. Are you planning to look into it?

@mhaviv Just checking in -- are you planning to update this PR?

@mhaviv You can click on "Details" next to any of the checks to see its build output and find out why you failed.    You can run the tests locally, you don't have to push the changes upstream just to see if the unit tests pass.

hrm… I am surprised that --debug --test-build works. --debug makes a debug build (symbols, flags, no optimization) while --test-build makes a test build (symbols, flags, release optimization). You should only need one or the other. When you test it, youre running python test\runtests.py?

@mhaviv To be clear: --test-build doesn't run tests, it refers to building in a configuration known as a "test build" which is more optimized than debug, but still allows you to run all tests. In order to run the tests you need to run the test script @jackhorton mentioned.

@mhaviv are you planning to continue work on this PR?

@dotnet-bot test this please

@mhaviv are you planning to continue work on this PR?

Closing due to lack of activity. @mhaviv, if you plan on continuing the PR, feel free to reopen.


Remove updateAccessiblePeers

from #814.

@jessegreenberg I moved a lot of code from Accessibility.js over to AccessiblePeer.js. So far this is feeling very straight forward and nice. Please review.

@zepumph this looks really nice and is in the spirit of MVC.  Also, addAssociationImplementationForAttribute is much improved, thanks!
I am seeing checked=false on lots of non input PDOM elements now. Probably because checked is now added with peer.setAttributeToElement() rather than directly with the setter like peer.primarySibling.checked = false. Maybe we need a function in AccessiblePeer just for checked?
Also, in the replacements of updateAccessiblePeers, I am seeing lots of checks like
peer && peer.doStuff().
At those locations is it possible for peer to not be defined?

I am seeing checked=false on lots of non input PDOM elements now. Probably because checked is now added with peer.setAttributeToElement() rather than directly with the setter like peer.primarySibling.checked = false. Maybe we need a function in AccessiblePeer just for checked?

I think checked may need more work that just that, for example, see
AquaRadioButton.js (also in RadioButtonGroupMember):
    // a11y - Specify the default value for assistive technology. This attribute is needed in addition to
    // the 'checked' property to mark this element as the default selection since 'checked' may be set before
    // we are finished adding RadioButtons to the containing group, and the browser will remove the boolean
    // 'checked' flag when new buttons are added.
    if ( property.value === value ) {
      this.setAccessibleAttribute( 'checked', 'checked' );
    }

Perhaps we need to rethink how we are handling checked to begin with. @jessegreenberg would it be alright to create another issue for this, and address it after #814? As I think much may change in AccessiblePeer due to that issue, and we may have better insight into how we should proceed.

I created a separate issue. Closing


change signature of meta

I think it makes more sense to have meta: Any => Nothing, so that user can any meaningful type annotations of def macros.

LGTM


How to get mediaId from Url or permalink

I cant seem to find how to get the mediaId, in order to grab the comments and likes. Could you please clarify on "(as represented in Media.identity.identifier!)" from the previous thread.
// Past comment
ok, cool thank you that makes sense. I only have the permalink though, how do I get the mediaId?
@sbertix
Originally posted by @trentona in https://github.com/TheM4hd1/SwiftyInsta/issues/34#issuecomment-537627451

the media_id can retrieve from handler.media.by
we do not provide a function to convert permalink to media_id
handler.media.by(user: .username("sampleusername"), with: .everything, updateHandler: nil) { (result, pagination) in
    switch result {
    case .success(let medias):
        print(medias.first?.identity)
    case .failure(let err):
        print(err)
    }
}


ssh auth failed due to wrong permission of authorized_keys

I get this error in the container logs:
Authentication refused: bad ownership or modes for file /home/git/.ssh/authorized_keys Received disconnect from <IP_ADDRESS> port 53148:3: com.jcraft.jsch.JSchException: Auth fail [preauth]
The file permissions at the moment are -rw-rw-r--.
Modifying them to 600 fixes the problem

Fixes in release 0.6.0


Autopilot and intune DEVICE cal

Ciao,
It is clear to me that AAD P1/P2 is required but what about PC in kiosk mode? I have thousand PC in kiosk mode all around the world and I would like to start to manage all these with intune and autopilot. I was thinking to buy intune device Cal but reading how autopilot works I think i cannot use it just with intune device Cal. My goal is simple: deploy these kiosks with autopilot and register them in intune. It is possible?

@officedocsbot assign @jvsam

Hello @PaoloBodini hoping all is well. I know it's been a while since this issue was opened so thank you for your patience. I just wanted to follow up if you found the answer to you question? Perhaps these can help:

Microsoft Intune announces device-only subscription for shared resources
Enroll Windows devices in Intune by using the Windows Autopilot
Windows Autopilot Self-Deploying mode
Windows 10 and Windows Holographic for Business device settings to run as a dedicated kiosk using Intune

I would also recommend that you contact Windows 10 support to get immediate assistance. Please note that this Github site is used as a feedback system to help improve the quality of the technical documentation. If you have suggestions or ideas to make the docs better, you can open an issue on a specific content page by using the feedback feature so it can easily be tracked.

Thanks for being part of the Microsoft Docs community!

Hi again @PaoloBodini, we didn’t hear back from you but we hope you've got the answer that you need. We will now close this issue, however, feel free to re-open if you have suggestions or ideas to improve the quality of this documentation.
Thanks for being part of the Microsoft Docs community!

@officedocsbot close


Revert "Revert "added initial commit for libtriton backend""

Reverts NodLabs/dSHARK#43

sorry.  I must have missed that there was a problem with funtorch.  can I merge this even though its failing on that check?


[fr] add missing glossary translation

This adds the missing translated glossary for PR #41907.

/lgtm

Thanks, @k0rventen !


.Net API reference search should ignore type parameter names

When I use the .NET API Browser and search for e.g. Task<T>, I get no results. This is because the type I'm loooking for is actually called Task<TResult>.
I think this happens fairly often, because when using the type, it doesn't matter whether it's called Task<T> or Task<TResult>, both would be used in exactly the same way.
Because of this, I think the search should be smart about type parameters and ignore their names, at least to some degree.

@dend @presleyy Can you take a look at this feedback?

#log-suggestion @dend
I am going to go ahead and log an internal suggestion for this, to make sure that we are tracking this work. However, in the bigger scope of things that we are doing for API documentation, this would be relatively low-priority, therefore at this time I am closing the issue.

🚀 ATTENTION: Internal request logged.


[BUG] Revise FAQ

Describe the bug
https://opensearch.org/faq/#q3.29 states that:
By default, OpenSearch reports its version number, however OpenSearch can be configured to report 7.10.2 for compatibility with existing tools designed for Elasticsearch versioning. This configuration option is deprecated and will log a deprecation message and will be removed in the future in a major version of OpenSearch (3.0.0 or later).
This is a change from a recent decision regarding version compliance. The faq entry should be revised to match this decision and make it clear why the change was made.
Expected behavior
FAQ matches the decision.

@jhmcintyre - can you look at this one? May need some messaging changes and would appreciate your assistance in the edit.

@krisfreedain let's resurrect this one?

@dblock is there a source for the decision regarding compliance that the request mentions? Would like to know what to refer to when suggesting updated language.

@dblock yes. I'll be back in the office on the 24th


New version: nzbget.nzbget version 22.0

Pull request has been created with Komac v1.11.0 :rocket:
Microsoft Reviewers: Open in CodeFlow

original development from https://nzbget.net (https://github.com/nzbget/nzbget) has been abandoned.
Source: https://www.reddit.com/r/usenet/comments/z62skp/nzbget_development_officially_abandoned/.
Development is being continued through https://nzbget.com/ (https://github.com/nzbgetcom/nzbget).


llvm-{4,5,6}: unconditionally set triples

Previously we only set these when using musl.
See https://github.com/NixOS/nixpkgs/pull/42452#discussion_r197618464
Same should be done for changes in #42452,
I'll add a follow-up commit doing so in the PR containing this
or wherever makes sense-- depending on how review/merging of that goes.
Sending to staging since these later LLVM versions are used in many
places, in particular are the basis of Darwin stdenv :).
Building/testing still underway, help appreciated since this is fairly
wide-reaching and I can only test so much (and can't test Darwin at all).

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Fits CONTRIBUTING.md.

I guess slight addendum is I think llvm4 is fine for master, so maybe worth it doing separately? I hate saying things like that, but our newly-worse staging logjams (a good sign of progress, really!) make that more compelling.

Sure! I'm more concerned about this being "right" in various scenarios I may not have tried/thought of/etc. :).
I'll split off a PR for just LLVM 4 and reduce this to 5/6, coming soon... :)

@GrahamcOfBorg build tests.cc-wrapper-clang-5 tests.cc-wrapper-libcxx-5
@GrahamcOfBorg build tests.cc-wrapper-clang-6 tests.cc-wrapper-libcxx-6

Success on x86_64-linux (full log)
Attempted: tests.cc-wrapper-clang-5, tests.cc-wrapper-libcxx-5
Partial log (click to expand)
checking whether compiler builds valid C++ binaries... ok
checking whether compiler uses NIX_CFLAGS_COMPILE... ok
checking whether compiler builds valid C++ binaries... ok
checking whether compiler uses NIX_LDFLAGS... ok
checking whether compiler uses NIX_CFLAGS_COMPILE... ok
checking whether sanitizers are fully functional... ok
checking whether compiler uses NIX_LDFLAGS... ok
checking whether sanitizers are fully functional... ok
/nix/store/cajsw76zdq13gcmz2p7gm6mpcj68qakr-cc-wrapper-test
/nix/store/hg7i7d40vis12kvys9smfrwmafslwwxg-cc-wrapper-test

Failure on x86_64-linux (full log)
Attempted: tests.cc-wrapper-clang-6, tests.cc-wrapper-libcxx-6
Partial log (click to expand)
shrinking RPATHs of ELF executables and libraries in /nix/store/ygx5qy4z8y85ccq68aizjkqn31hpiazg-libc++-6.0.0
shrinking /nix/store/ygx5qy4z8y85ccq68aizjkqn31hpiazg-libc++-6.0.0/lib/libc++.so.1.0
strip is /nix/store/4qvrxzxa535y8304mk195x50b6p9607d-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/ygx5qy4z8y85ccq68aizjkqn31hpiazg-libc++-6.0.0/lib
patching script interpreter paths in /nix/store/ygx5qy4z8y85ccq68aizjkqn31hpiazg-libc++-6.0.0
checking for references to /build in /nix/store/ygx5qy4z8y85ccq68aizjkqn31hpiazg-libc++-6.0.0...
cannot build derivation '/nix/store/8sgi1f29sx3gb3awrrfsz59fv0q2ai1z-clang-wrapper-6.0.0.drv': 3 dependencies couldn't be built
cannot build derivation '/nix/store/wc26rg59jqqyzl3p4xrk0aq1jfw2hlxi-stdenv-linux.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/sd82d14lv2sbdcwq8bngx45ia5xa3b8j-cc-wrapper-test.drv': 1 dependencies couldn't be built
error: build of '/nix/store/naddhrh3ybn5lfz3xnkfd977axrmik4c-cc-wrapper-test.drv', '/nix/store/sd82d14lv2sbdcwq8bngx45ia5xa3b8j-cc-wrapper-test.drv' failed

Failure on x86_64-darwin (full log)
Attempted: tests.cc-wrapper-clang-5, tests.cc-wrapper-libcxx-5
Partial log (click to expand)
cannot build derivation '/nix/store/al69lf6a9fa2fy8dz2gzmaw5gjb88r4j-python2.7-cryptography-2.2.2.drv': 21 dependencies couldn't be built
cannot build derivation '/nix/store/pc0r1gjn8qw3cc1s6lvvfk0mbzc9llkj-python2.7-pyOpenSSL-18.0.0.drv': 10 dependencies couldn't be built
cannot build derivation '/nix/store/b055fqh5vdi7r3645y4vvlxa48k8g80b-python2.7-urllib3-1.23.drv': 12 dependencies couldn't be built
cannot build derivation '/nix/store/ymqxm70ph729acqh5kn5vd057h293zms-python2.7-requests-2.19.1.drv': 11 dependencies couldn't be built
cannot build derivation '/nix/store/a9vd8i58fmkmh4x96ppalgsakik67mjs-python2.7-Sphinx-1.7.5.drv': 23 dependencies couldn't be built
cannot build derivation '/nix/store/mr6ffv3ilwaxjmnn212j1g54n6a89hnb-clang-manpages-5.0.2.drv': 7 dependencies couldn't be built
cannot build derivation '/nix/store/kp24nz56sqmvnp38fhdnlzn73cqzbsp5-clang-wrapper-5.0.2.drv': 5 dependencies couldn't be built
cannot build derivation '/nix/store/hwi2jn91wj3bvpg7r3cjkla36killj3h-stdenv-darwin.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/97mmrrkqqj0vmzj3lrns6wjhhjrdiipj-cc-wrapper-test.drv': 1 dependencies couldn't be built
error: build of '/nix/store/97mmrrkqqj0vmzj3lrns6wjhhjrdiipj-cc-wrapper-test.drv' failed

Failure on aarch64-linux (full log)
Attempted: tests.cc-wrapper-clang-5, tests.cc-wrapper-libcxx-5
Partial log (click to expand)
[ 83%] Built target clangTidyReadabilityModule
make: *** [Makefile:130: all] Error 2
builder for '/nix/store/14g487rcf8x4wkgj1will5rzgwh8y6ln-clang-5.0.2.drv' failed with exit code 2
cannot build derivation '/nix/store/15wq0pqj581xy45ng0l2xqhmx2bzqx96-clang-wrapper-5.0.2.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/f5kl5682rln4j3pns50894gvklklxc67-clang-wrapper-5.0.2.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/8wsq7abgdz9qb3y0zhbzxd8hvybbd04y-stdenv-linux.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/wn0a5s5c7qsmfl00nk1vg5bchvdf2fbg-stdenv-linux.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/jlihins57dnf87nc2f8h0rmwz6j6b1i8-cc-wrapper-test.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/km9m9kdwmk5q1fgkq9gbgw5cs99971sd-cc-wrapper-test.drv': 1 dependencies couldn't be built
error: build of '/nix/store/jlihins57dnf87nc2f8h0rmwz6j6b1i8-cc-wrapper-test.drv', '/nix/store/km9m9kdwmk5q1fgkq9gbgw5cs99971sd-cc-wrapper-test.drv' failed

Success on aarch64-linux (full log)
Attempted: tests.cc-wrapper-clang-6, tests.cc-wrapper-libcxx-6
Partial log (click to expand)
checking whether compiler builds valid C++ binaries... ok
checking whether compiler uses NIX_CFLAGS_COMPILE... ok
checking whether compiler uses NIX_LDFLAGS... ok
checking whether sanitizers are fully functional... ok
checking whether compiler builds valid C++ binaries... ok
checking whether compiler uses NIX_CFLAGS_COMPILE... ok
checking whether compiler uses NIX_LDFLAGS... ok
checking whether sanitizers are fully functional... ok
/nix/store/fd50jp8wpbgxmc8dp99i2lxrmyh0qpb1-cc-wrapper-test
/nix/store/khlf22db5c4kqqq77qw9xmv1k22l58d6-cc-wrapper-test

Failure on x86_64-darwin (full log)
Attempted: tests.cc-wrapper-clang-6, tests.cc-wrapper-libcxx-6
Partial log (click to expand)
cannot build derivation '/nix/store/al69lf6a9fa2fy8dz2gzmaw5gjb88r4j-python2.7-cryptography-2.2.2.drv': 21 dependencies couldn't be built
cannot build derivation '/nix/store/pc0r1gjn8qw3cc1s6lvvfk0mbzc9llkj-python2.7-pyOpenSSL-18.0.0.drv': 10 dependencies couldn't be built
cannot build derivation '/nix/store/b055fqh5vdi7r3645y4vvlxa48k8g80b-python2.7-urllib3-1.23.drv': 12 dependencies couldn't be built
cannot build derivation '/nix/store/ymqxm70ph729acqh5kn5vd057h293zms-python2.7-requests-2.19.1.drv': 11 dependencies couldn't be built
cannot build derivation '/nix/store/a9vd8i58fmkmh4x96ppalgsakik67mjs-python2.7-Sphinx-1.7.5.drv': 23 dependencies couldn't be built
cannot build derivation '/nix/store/zn391d7kj5cck04nqpsjcbhs66aqi2pz-clang-manpages-6.0.0.drv': 7 dependencies couldn't be built
cannot build derivation '/nix/store/m03i5zg2yaa4iha81z4kisn03b7alr9x-clang-wrapper-6.0.0.drv': 7 dependencies couldn't be built
cannot build derivation '/nix/store/zhpczfxi09b5h94yn4xhf1fcakjhz5si-stdenv-darwin.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/pwpa3pg89if15hyf3rwyvdpjkq8z7a8f-cc-wrapper-test.drv': 1 dependencies couldn't be built
error: build of '/nix/store/pwpa3pg89if15hyf3rwyvdpjkq8z7a8f-cc-wrapper-test.drv' failed

Well despite what this says, these all work on at least x86_64-linux in my testing.

As mentioned on the PR for llvm 4 with these changes, things look okay so far--and since this goes to staging merging this as well.  LMK if there are any problems, will try to check hydra across the next few days.


Add custom responeType attribute

As a user I want to minimize code redundancy in order to make the project more maintainable.
Currently it is needed to pass typeof(ErrorResponse) to each [ProducesResponseType] attribute that is covered by the implemented exceptions. To remove this necessity, a custom attribute will be added to the project, which extends ProducesResponseTypeAttribute.
Acceptance criteria

[ ] Custom attribute is added
[ ] This attribute passes the type ErrorResponse as default to the underlying ProducesResponseTypeAttribute
[ ] Tests are implemented to confirm that the default type is not added to the OpenAPI document

This is also achievable by annotating the controller with [ProducesErrorResponseType(typeof(ErrorResponse))] and the methods with [ProducesDefaultResponseType]


Error:  'gnucash' has no attribute 'read_file'

Hi; I'm trying to run gnucash2ledger.py in Python3, already typed import gnucash, I'm getting this error:
Traceback (most recent call last):
File "gnucash2ledger.py", line 34, in
data = gnucash.read_file(sys.argv[1])
AttributeError: module 'gnucash' has no attribute 'read_file'
how should I proceed? Help me plz
Thanks in advance.

I think gnucash, is shipping with its own API. And for some users they end up with importing the API shipping with gnucash rather than the one coming with the pygnucash package. Unfortunately I don't really have the time right now to investigate (or to rename my API to something else that doesn't produce name clashes). But maybe that is enough information for you to debug further.
(You can probably confirm my theory by doing something like print(gnucash.__file__) that should show you which file was used to provide the gnucash module.

'gnucash.file' becomes '/usr/lib/python3/dist-packages/gnucash/init.py'
it is the only module that it tries to import .. if I do not import this module the program gives an error saying it did not find the gnucash module.
How can I get around this?


Rate Request Sample not working

I registered for a developer account from FedEx and plugged all of my account information in to the config. I created a virtualenv with the latest version of fedex and suds installed via pip. I'm using Python 2.7.1 32-bit on Windows 7. When running the rate request sample, I'm getting an error in urllib2:
URLError: The system cannot find the path specified: ''
Any ideas on what could be the matter?

Apologies. I posted this in the wrong project.


updated docs for frontend feature flag creation

removed old documentation for creating a function to check FF in featureFlag.js because there's a function to check any feature flag now.

thanks for this update!


Project member cannot scale a statefulset via kubectl

Rancher versions:
rancher/rancher: 2.0.8, 2.1.0
Type/provider of hosts: (VirtualBox/Bare-metal/AWS/GCE/DO)
GKE
Steps to Reproduce:
Add project member to project (might be Github only)
Log in as the user and try to scale a statefulset via UI and kubectl
Results:
Scaling via UI works fine, scaling via kubectl throws an error
> kubectl --namespace=voidspace get statefulset
NAME                DESIRED   CURRENT   AGE
voidspace-nightly   1         1         140d

> kubectl --namespace=voidspace scale --replicas=0 statefulset/voidspace-nightly
error: Scaling the resource failed with: could not fetch the scale for statefulsets.apps voidspace-nightly: statefulsets.apps "voidspace-nightly" is forbidden: User "user-5ccvh" cannot get statefulsets.apps/scale in the namespace "voidspace": Unknown user "user-5ccvh"

use
kubectl -n voidspace patch sts voidspace-nightly -p '{"spec":{"replicas":3}}'
by the way, i see you put replicas = 0 meaning you want to remove all pods, i do believe you have to remove the stateful set first and only then delete the pods


changesets-renovate

Current dependencies on/for this PR:

main

PR #19   👈

This comment was auto-generated by Graphite.


[Draft] V-HACD: update to v4.1 release.

Requesting review and advice on this:

I am not sure about conversions between std::vector and Godot's vector as well as V-HACD's Vertex and Godot's Vector3.
A set of parameters got removed, renamed and added to V-HACD. I commented out the removed and new params as they have defaults. I will remove before merge.
Should I add new params to convex_decomposition_function or let them default?
Need to see which patches are needed as everything has gone to a single file.

Tested on MRP from https://github.com/godotengine/godot/issues/78515 and it looked fine to me:

I have very little experience with this part of Godot so further testing before merge is highly needed and appreciated.

I recommend testing the MRPs linked in https://github.com/godotengine/godot/issues/29971.

Updated thirdparty\README.md too.
Moved thirdparty/vhacd/public/VHACD.h to thirdparty/vhacd/VHACD.h.
Got rid of the patches with following reasoning:
0001-bullet-namespace.patch

This patch is too old(3.2; 2019) while V-HACD got major refactor.
Removed since it compiles fine on MinGW anyways. Do let me know if anyone needs me to additionally test specific configuration.

0002-fpermissive-fix.patch

Used Fedora 30(because mingw-gcc 8.4 is needed and Fedora 30 has gcc but not mingw64-gcc-c++ 8.4+) and target=editor.
docker run -d -it fedora:31 /bin/bash. docker exec -it e26c2d11d869 /bin/bash. Install git and other compiler things in 2 doc pages for cross-compiling.
git clone -b vhacd-4.1-upgrade --single-branch https://github.com/Anutrix/godot.git
scons platform=windows target=editor use_static_cpp=yes -jnproc use_lto=no use_llvm=yes gdnative_wrapper=yes deprecated=no
Removed since we confirmed that GH-27926 doesn't occur in the new version.

0003-fix-musl-build.patch

Removed since there's no PTHREAD_MUTEX_RECURSIVE_NP.

0004-fix-uwp-arm-build.patch

Removed since SSE intrinsics don't seem to be used in the new version. (Also, since isn't UWP dropped?).

0005-fix-scale-calculation.patch

Removed since the fix is already present upstream and in the new version too.

0006-fix-gcc13.patch

Removed since stdint.h is present in the new version too.
I'm little unsure of this since I am not sure why cstdint instead was used for V-HACD and stdint.h was used for openxr in same patch.

TODO:

Decide defaults/values for new parameters. How should we change the params? Won't there be breaking changes?
Testing for regressions(for example, see boss_robot_head_collision above).
Any help with these is appreciated.

There's a warning raised by Clang which we need to fix as we treat all warnings as errors:
/thirdparty/vhacd/VHACD.h:5698:9: error: private field 'count' is not used [-Werror,-Wunused-private-field]
    int count;
        ^

The line can just be removed. Would be good to also PR the fix upstream.

The line can just be removed. Would be good to also PR the fix upstream.

I had made a ticket for it upstream https://github.com/kmammou/v-hacd/issues/148. Maybe a PR would have been better. The response on that repo is slow.
Also, should I be remove and note it in a godot patch file? Or is this change too minor for it?

Also, should I be remove and note it in a godot patch file? Or is this change too minor for it?

I guess you can just comment it out without bothering with a patch file, and we'll notice it if we ever update and it hasn't been fixed upstream.

@akien-mga I commented count but now it looks like it's used:
=====
In file included from modules\vhacd\register_types.cpp:36:
./thirdparty/vhacd/VHACD.h:5708:7: error: member initializer 'count' does not name a non-static data member or base class
 5708 |     , count(0)
      |       ^~~~~~~~
1 error generated.

=====

Removed it too.

Small summary on removed old params based on V-HACD's Readme.md and comments header notice:

Removed m_alpha and m_beta since 'The tuning parameters 'm_alpha' and 'm_beta' are gone and no longer used'.
Removed m_oclAcceleration since 'All OpenCL related code removed'.
Removed m_planeDownsampling, m_convexhullDownsampling, m_pca, m_mode and m_convexhullApproximation since 'Old plane splitting code removed'. All these seem to be all directly or indirectly plane-splitting related.
Removed m_minVolumePerCH since it was used in SimplifyConvexHulls which is last step of ComputeACD, that was completely refactored to instead PerformConvexDecomposition recursively.

Is this being worked on currently? Wondering if this is being updated or is it salvagable.

Is this being worked on currently? Wondering if this is being updated or is it salvagable.

I got busy with some stuff. I still may not be able to work on this for a while.
The build from this branch was still running fine last I checked(simple rebase might be needed) so likely salvageable. Maybe someone with more experience can take over from here.
Things left to do:

Decide defaults/values for new parameters. In turn, modification of convex_decomposition_function and respective changes.
Testing for regressions(for example, see boss_robot_head_collision above).

I'm thinking of salvaging it, but I also don't have much bandwidth. How's your situation?


Restructured the pipelines docs.

This change is

Fixed https://github.com/kubeflow/website/issues/530

Preview:
https://deploy-preview-547--competent-brattain-de2d6d.netlify.com/docs/pipelines/pipelines-overview/
Example of redirect:
https://deploy-preview-547--competent-brattain-de2d6d.netlify.com/docs/pipelines/install-sdk/

/assign @abhi-g

/lgtm
/approve


Create centralized infrastructure and UX for enabling extension telemetry

Suggested new feature or improvement
Dev Home should have APIs and UI (e.g., end-user control mechanisms) for helping manage any data collection done by extensions.
Scenario
Extension authors may have a need to log diagnostics to better understand the usage and health of their extensions. Rather than having each extension implement their own solutions for things like managing user opt-in / out-out, it'd be better to have Dev Home provide a common pattern for this. (Folks implementing extensions could then choose whatever technology option they want- but at least this aspect of the experience would be consistent.)
Additional details
A motivating use case here is for Quickstart Playground. We get some level of diagnostics from Dev Home directly, but there are more detailed pieces of data we'd want to report from the Azure extension (that reporting would be unblocked by this feature).

The Microsoft Game Dev Extension is also interested in this functionality; a possible model that can be followed would be how VS code handles extension telemetry. This includes VS code having a main setting the extensions must respect if it disables telemetry.


Lightning logger aggregation API deprecation

Proposed refactoring or deprecation
Move and/or deprecate aggregation-related code to individual loggers

Motivation
We are auditing the Lightning components and APIs to assess opportunities for improvements:

https://docs.google.com/document/d/1xHU7-iQSpp9KJTjI3As2EM0mfNHHr37WZYpDpwLkivA/edit#

#7740

Revisiting some of the API decisions regarding aggregations in Lightning Logger to simplify the interface and move logic specific to individual loggers away from the base class:

Aggregation is currently being done by the step dimension. Users may want more control over complex aggregations, like aggregating metrics over a time window.
It's not clear to the end-user whether they should use agg_and_log_metrics or log_metrics. In LoggerConnector, when log_metrics is called, we call agg_and_log_metrics.

Which method(s) should developers override when creating their custom logger?

LightningLoggerBase.__init__ accepts two arguments, agg_key_funcs, and agg_default_func. They aren't being called in any sub-classed loggers within Lightning. They can be implementation details of the loggers instead.

Do we know if users are adding aggregation functionality using update_agg_funcs directly?

Pitch

Simplify LightningLoggerBase.__init__ by removing agg_key_funcs and agg_default_func
Move aggregation-related logger code out of base class to simplify the interface
Provide clarity between what the Lightning trainer calls between log_metrics and agg_and_log_metrics. Proposal: the trainer should only call log_metrics

Additional context
Related issues:
https://github.com/PyTorchLightning/pytorch-lightning/issues/8991
https://github.com/PyTorchLightning/pytorch-lightning/discussions/9004

If you enjoy Lightning, check out our other projects! ⚡

Metrics: Machine learning metrics for distributed, scalable PyTorch applications.

Flash: The fastest way to get a Lightning baseline! A collection of tasks for fast prototyping, baselining, finetuning and solving problems with deep learning

Bolts: Pretrained SOTA Deep Learning models, callbacks and more for research and production with PyTorch Lightning and PyTorch

Lightning Transformers: Flexible interface for high performance research using SOTA Transformers leveraging Pytorch Lightning, Transformers, and Hydra.

We use some metrics as counter which keep accumulating new logged values. Without agg_and_log_metrics(), users might need API to get metrics values from the logger  (like get_metric() in the below example) to do that?
new_value = logger.get_metric(key) + value.  # we don't have get_metric() now
logger.set_metrics({key: new_value})

@wilson100hong can you put your custom logic into log_metrics directly?

I did a test in https://colab.research.google.com/drive/1SSOOmeJJf8eU4HE4UkPgd2GbtpfRPQa_?usp=sharing and it seems to me that the aggregation logic in agg_and_log_metrics  is not currently having an effect. See in the colab I am logging the value 2.0 on even steps and 3.0 on odd steps, with accumulate_grad_batches=2, but instead of averaging the values, in the TB logger we are just outputting 3.0 on every step.
Thus I believe we can move forward with the deprecation of agg_and_log_metrics, and can immediately replace this line:
https://github.com/PyTorchLightning/pytorch-lightning/blob/86b177ebe5427725b35fde1a8808a7b59b8a277a/pytorch_lightning/trainer/connectors/logger_connector/logger_connector.py#L119
with  self.trainer.logger.log_metrics(scalar_metrics, step=step)

See in the colab I am logging the value 2.0 on even steps and 3.0 on odd steps, with accumulate_grad_batches=2, but instead of averaging the values, in the TB logger we are just outputting 3.0 on every step.

Why would they be averaged? The example only makes sense when the keys you log are different.
The aggregation is pointless if we log the same key. Aggregation is meant for the following situation:
agg_and_log_metrics("key1", 1.0)  # this adds the key1, does not write out the logs
agg_and_log_metrics("key2", 2.0)  # this adds the key2, does not write out the logs
agg_and_log_metrics("key3", 3.0)  # this adds the key3, does not write out the logs

# this will make the actual call to self.log_metrics
# and this will log a single dict with all keys aggregated: {"key1": 1.0, "key2": 2.0, "key3": 3.0}
save()

Let's please not remove this feature under the wrong understanding.
Instead, we should check whether it is redundant today. After all, the logger connector has been added and revamped after logger base was initially designed. The logger connector may already take the role of aggregation today. cc @carmocca

@awaelchli I am confused by your last comment :/ I was under the impression that aggregation was done per key?
see docstring here: https://github.com/PyTorchLightning/pytorch-lightning/blob/f79d75d4b5e50eb3e37073606eba5ca10d48c99a/pytorch_lightning/loggers/base.py#L409-L415

Why would they be averaged?

They would be averaged because that is the default aggregation function: https://github.com/PyTorchLightning/pytorch-lightning/blob/f79d75d4b5e50eb3e37073606eba5ca10d48c99a/pytorch_lightning/loggers/base.py#L66
Also, in my previous comment where I said "I am logging the value 2.0 on even steps and 3.0 on odd steps" instead of step I meant batch_idx. Sorry if that added confusion. I have updated the comment.

On these topics, it helps to dig up the history: #1173 (issue), #1278 (PR)
I think this can be removed as the LoggerConnector manages key collisions already.

Closing this issue as all PRs have landed!


Unix Timestamp Converter - Timezone select

What's the Problem?
No response
Solution/Idea
When using timestamp converter, the date and time fields shows correct result, but doesn't allow me to change the time zone. It only takes the UTC (one of timezones) and my current (CEST).

Alternatives
I must change my PC timezone.
Priorities

Capability
Priority

Allow to choose timezone
Must

Merge two existing datetime rows into one with timezone select
Should

Have a possibility to add another row with another timezone
Could

Force me to use my current timezone (maybe as a default only)
Won't

DevToys Version
Version <IP_ADDRESS> | X64 | RELEASE | 99757dc | 99757dc
Comments
No response

(WIP)

Looks really great! I have just a few suggestions:

What's the point of leaving UTC, if it's one of the timezones?
How about adding (where exist) named timezones in curly brackets (I.e. GMT, CET, UTC, PST etc.)? It'd look like +01:00 (CET) and +02:00 (CEST).

What's the point of leaving UTC, if it's one of timezones?

As I was updating this tool, I realized that the feature users want is "time conversion between two time zones."
For example, I have a scenario where I receive an email about a domain (e.g. .io ) and I want to compare Japan (+0900 JST) with the British Indian Ocean Territory (+0600).

TimeZonesMap - Wikipedia
I think a better tool would be to set Zone 1 to UTC and Zone 2 to LocalTime as default values, and allow users to select any time zone.

How about adding (where exist) named timezones in curly brackets (I.e. GMT, CET, UTC, PST etc.)? It'd look like +01:00 (CET) and +02:00 (CEST).

Since the data exceeds 100, it is necessary to be able to retrieve as much information as possible from the OS and to support more ambiguous input.

(WIP)

TimeZoneInfo

@Andret2344 How about this?

Use time zone.
Daylight saving time can also be calculated.

1520751599

1520751600

Invalid value.

How about adding (where exist) named timezones in curly brackets (I.e. GMT, CET, UTC, PST etc.)? It'd look like +01:00 (CET) and +02:00 (CEST).

I can't think of a good way to do this at the moment, so it looks like we will have to choose from a list.

I think it's awesome! I think it's really perfect!

I can't think of a good way to do this at the moment, so it looks like we will have to choose from a list.

Totally agree, I just thought about +02:00 (CET), +08:00 (PST), +00:00 (UTC) etc., but current solution with longer names are even better.

@veler How does it look?
We will be modifying and organizing the experimental implementation before making the pull request, which will take some time.

Hello @niyari and @Andret2344 ,
So sorry for the late answer.
I like the idea of being able to convert the timezone when parsing a timestamp. I can see some scenario where it's very useful, for example, when dealing with date / time displayed at the local time in a website but that this same date / time is stored in UTC on a database and that you (the developer) is on a different timezone than the customer (so different "local time").
Anyway :)
I like the last mock that @niyari made. A couple of precision though:

Let's put the Timestamp field to the left and the Timezone field to the right.
Let's make sure we keep the Copy and Paste buttons near the Timestamp field.
(Open question) For ease of use, I wonder if it would make sense to have an item "Local timezone" in the drop down list and select it by default.
Change Zone 1 text to Output.

What do you think? @niyari , feel free to work on it if you wish.
Thanks again for these great ideas and your patience with my late answers.

Current screenshot. (WIP)

The elements are close together so that the copy and paste buttons are recognizable as those used for timestamps.
Initial state is TimeZoneInfo.Local. That is, the time zone set by the OS is selected.
Ambiguous time period is being handled and how it is displayed is being investigated.

Explanation by tooltip. (Copy and paste buttons. and DST.)

Thanks for sharing this!
What about putting the Copy and Paste buttons above the Timestamp input so it's consistent with the other tools?
Regarding Daylight Saving thing, it that a button or just an indication? This UI is confusing me a bit. I can tell it's something about day time saving but can't tell what it indicates exactly.
If it's a button / switch, I'd suggest to make an option like in other tools.
If it's just an indication, I'd suggest to make it a bigger UI with clear textual explanation without having to put the mice on it to see the tooltip.


[youtube] 3Hktra4Q8mI

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

[X] I understand that I will be blocked if I intentionally remove or skip any mandatory* field

Checklist

[X] I'm asking a question and not reporting a bug or requesting a feature
[X] I've looked through the README
[X] I've verified that I'm running yt-dlp version 2023.02.17 (update instructions) or later (specify commit)
[X] I've searched known issues and the bugtracker for similar questions including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue

Please make sure the question is worded well enough to be understood
ERROR: [youtube] 3Hktra4Q8mI: Unable to extract uploader id; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
No file part
Provide verbose output that clearly demonstrates the problem

[X] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[X] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
No response

Confirm you are on the latest version using yt-dlp -U

do this ^^^
Read :rotating_light:[IMPORTANT]:rotating_light: KNOWN ISSUES/FAQ
Closing as duplicate


Deprecates transparent Option

Fixes #7066
This clears up the ambiguity of the recent transparent changes by creating two distinct options for Application and Renderer. It's easier to backward support transparent by not overloading it with new meaning.

contextAlpha the readonly property for creating the canvas.getContext
backgroundAlpha the amount of background alpha from 0 to 1

The option transparent is marked as deprecated but still supports backward compatibility by setting contextAlpha and backgroundAlpha.
Broken
https://pixijs.io/examples/#/demos-basic/transparent-background.js
Fixed
https://pixijs.io/examples/?v=dev-context-alpha#/demos-basic/transparent-background.js

@SukantPal backgroundAlpha does not work with canvas. Did you test that?
Also, I hear you on the context prefix. On the plus tho, it's unlikely a prop that devs will use much since it has some subtle pref side effects in some environments.


write_tables_test fails with --spawn_strategy=standalone [phab:T134]

Created by zarko at 2016-06-06 20:01:46:
bazel test //kythe/go/serving/tools/testdata:write_tables_test --spawn_strategy=standalone
...
gzip: kythe/testdata/serving_table.decor.json.gz: Too many levels of symbolic links

salguarnieri wrote at 2016-12-05 18:19:19:
Maybe fixed by other changes. bazel test //kythe/go/serving/tools/testdata:write_tables_test --spawn_strategy=standalone succeeds for me now (on darwin).


Add latency1 schema to generate-schema tool

Adds latency1 schema to the generate-schema tool and generate latency1 schema during Docker build.

This change is

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 83.718%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
797

Relevant Lines:
952

💛  - Coveralls


Do not included tweets that have more then X amount of tags

There are some strange tags, mostly added caused by spam. Such tweets often have large collections of tags. Such tweets should be filtered somewhere. Probably in the read-model generation.

This logic would belong in the Twitter.Analyzer.


OAP-Spark DAGScheduler

OAP 0.3.0 - Spark 2.1.0 API change -  DAGScheduler (until commit 5b63c970bf8f6b)
org.apache.spark.scheduler.DAGScheduler
Before:
After:
Add getOapCacheLocs method, modify getPreferredLocsInternal to insert oap fiber cached locations.
Reason:
getOapCacheLocs method gets oap fiber cached locations

@@ -271,6 +271,30 @@ class DAGScheduler(
     cacheLocs(rdd.id)
   }

+  private [scheduler]
+  def getOapCacheLocs(rdd: RDD[_], partition: Int): Seq[TaskLocation] = this.synchronized {
+    val locations = rdd.preferredLocations(rdd.partitions(partition))
+
+    // here we check if the splits was cached, if the splits is cached, there will be hosts with
+    // format "OAP_HOST_host_OAP_EXECUTOR_exec", so we check the host list to filter out
+    // the cached hosts, so that the tasks' locality level will be PROCESS_LOCAL
+    if (locations.nonEmpty) {
+      // TODO use constant value for prefixes, these prefixes should be the same with that in
+      // [[org.apache.spark.sql.execution.datasources.oap.FiberSensor]]
+      val cacheLocs = locations.filter(_.startsWith("OAP_HOST_"))
+      val oapPrefs = cacheLocs.map { cacheLoc =>
+        val host = cacheLoc.split("_OAP_EXECUTOR_")(0).stripPrefix("OAP_HOST_")
+        val execId = cacheLoc.split("_OAP_EXECUTOR_")(1)
+        (host, execId)
+      }
+      if (oapPrefs.nonEmpty) {
+        logDebug(s"got oap prefer location value oapPrefs is ${oapPrefs}")
+        return oapPrefs.map(loc => TaskLocation(loc._1, loc._2))
+      }
+    }
+    Seq.empty
+  }
+
   private def clearCacheLocs(): Unit = cacheLocs.synchronized {
     cacheLocs.clear()
   }
@@ -1299,7 +1323,7 @@ class DAGScheduler(

           // TODO: mark the executor as failed only if there were lots of fetch failures on it
           if (bmAddress != null) {
-            handleExecutorLost(bmAddress.executorId, filesLost = true, Some(task.epoch))
+            handleExecutorLost(bmAddress.executorId, fetchFailed = true, Some(task.epoch))
           }
         }

@@ -1325,16 +1349,15 @@ class DAGScheduler(
    * modify the scheduler's internal state. Use executorLost() to post a loss event from outside.
    *
    * We will also assume that we've lost all shuffle blocks associated with the executor if the
-   * executor serves its own blocks (i.e., we're not using external shuffle), the entire slave
-   * is lost (likely including the shuffle service), or a FetchFailed occurred, in which case we
-   * presume all shuffle data related to this executor to be lost.
+   * executor serves its own blocks (i.e., we're not using external shuffle) OR a FetchFailed
+   * occurred, in which case we presume all shuffle data related to this executor to be lost.
    *
    * Optionally the epoch during which the failure was caught can be passed to avoid allowing
    * stray fetch failures from possibly retriggering the detection of a node as lost.
    */
   private[scheduler] def handleExecutorLost(
       execId: String,
-      filesLost: Boolean,
+      fetchFailed: Boolean,
       maybeEpoch: Option[Long] = None) {
     val currentEpoch = maybeEpoch.getOrElse(mapOutputTracker.getEpoch)
     if (!failedEpoch.contains(execId) || failedEpoch(execId) < currentEpoch) {
@@ -1342,7 +1365,7 @@ class DAGScheduler(
       logInfo("Executor lost: %s (epoch %d)".format(execId, currentEpoch))
       blockManagerMaster.removeExecutor(execId)

-      if (filesLost || !env.blockManager.externalShuffleServiceEnabled) {
+      if (!env.blockManager.externalShuffleServiceEnabled || fetchFailed) {
         logInfo("Shuffle files lost for executor: %s (epoch %d)".format(execId, currentEpoch))
         // TODO: This will be really slow if we keep accumulating shuffle map stages
         for ((shuffleId, stage) <- shuffleToMapStage) {
@@ -1561,9 +1584,14 @@ class DAGScheduler(
     }
     // If the partition is cached, return the cache locations
     val cached = getCacheLocs(rdd)(partition)
-    if (cached.nonEmpty) {
-      return cached
+    val oapCached = getOapCacheLocs(rdd, partition)
+//    if (cached.nonEmpty) {
+//      return cached
+//    }
+    if (cached.nonEmpty || oapCached.nonEmpty) {
+      return cached ++ oapCached
     }
+
     // If the RDD has some placement preferences (as is the case for input RDDs), get those
     val rddPrefs = rdd.preferredLocations(rdd.partitions(partition)).toList
     if (rddPrefs.nonEmpty) {

About spark2.3, changes are the same.


Migrate email to use notify

See python client here: https://github.com/alphagov/notifications-python-client

Implemented in #119.


Pending uploads list versus "does not exist" button

Go to pending uploads. Touch an item, and in that item press the "does not exist" button and confirm.
The item should disappear from the pending uploads list instantly. But it doesn't.
We have to go back out of and back into the list to make  the display update.

This has already been fixed, and will be released in the 2.0 version.

Yup, duplicate of #381.


微信群二维码失效了

New Issue Checklist

[ ] I have read the Documentation
[ ] I have searched for a similar issue in the project and found none

Issue Info

Info
Value                                #

Platform Name
e.g. iOS / macOS

Platform Version
e.g. 12.0 / 10.14.0

TABAnimated Version
e.g. 5.0.0 / 4.4.0

Xcode Version
e.g. Xcode 11 / Xcode 10

Repro rate
e.g. all the time (100%) / sometimes x% / only once

Repro with our demo prj
e.g. does it happen with our demo project?

Demo project link
e.g. link to a demo project that highlights the issue

Issue Description and Steps
Please fill in the detailed description of the issue (full output of any stack trace, compiler error, ...) and the steps to reproduce the issue.

已更新


Documentation for partition API

Closing the issue because it was resolved as a part of the #2642 .


Temp created as root

Hi
I'm using docker-compose to start service :
version: "2.1"
services:
  wikmd:
    image: linbreux/wikmd:latest
    container_name: wikmd
    environment:
      - PUID=1001
      - PGID=1001
      - TZ=Europe/Warsaw
      - WIKI_DIRECTORY=/pages
      - HOMEPAGE=homepage.md
      - HOMEPAGE_TITLE=Homepage
      - SYNCH_WITH_REMOTE=1
      - REMOTE_URL="XXXXX"
      - GIT_USER=wikmdSYnc
      -<EMAIL_ADDRESS>      - MAIN_BRANCH_NAME=workingcopy
    volumes:
    - pages:/pages
    ports:
      - 5000:5000
    restart: unless-stopped
volumes:
  pages:

After docker-compose up two errors are showing up:

/wiki is still used as default or just wiki tries to empty out folder.  Application is trying to move data from  /wiki it to non-existing temp folder not permitted to user with GID 1001 (non-root user on host machine) -> it causes loads of logs and machine load
/pages is created and correct permission are added

Alright thanks for noticing and the detailed instructions. I think the is because the wiki folder is hardcoded here and this should be an environment variable.
I'll fix it asap. Does it work when you do not specify the directory?

version: "2.1"
services:
  wikmd:
    image: linbreux/wikmd:latest
    container_name: wikmd
    environment:
      - PUID=1001
      - PGID=1001
      - TZ=Europe/Warsaw
      - WIKI_DIRECTORY=/pages
      - HOMEPAGE=homepage.md
      - HOMEPAGE_TITLE=Homepage
      - SYNCH_WITH_REMOTE=1
      - REMOTE_URL="XXXXX"
      - GIT_USER=wikmdSYnc
      -<EMAIL_ADDRESS>      - MAIN_BRANCH_NAME=workingcopy
    volumes:
    - pages:/pages
    ports:
      - 5000:5000
    restart: unless-stopped
volumes:
  pages:

Causes same issue with moving data to temp folder

Maybe  different init method when using sync with remote is enabled - just remove all examples since data will be pulled from git anyway

Hi @l-maciej,
Why don't you simply mount your volume under /wiki (and remove WIKI_DIRECTORY)?
...
volumes:
    - pages:/wiki
...

As for the permission issue in /tmp, a possible fix could be to change the permission, e.g. changing this line as
  chown abc:abc /var/log/wikmd.log /tmp

Without having tested it I'm not sure if it would cause other issues tho.

Hi @artivis
Mounted  data folder to /wiki and application stared without issues and excessive logging.
But in turn I've noticed strange behavior with knowledge graph - it needs access to /wiki/.bash_history  to work.
But mentioned file is root owned - I think that something goes wrong here
Maybe small change in regex will exclude dotted files ?


SqlDataProvider not replace my ORDER BY in sql property after sorting

What steps will reproduce the problem?

Error in sql-query with TWO ORDER BY instructions - ORDER BY "f"."rappart" ORDER BY "f"."ris_deleted" DESC LIMIT 25

Research

Error in SqlDataProvider->prepareModels() method
Do not understand why pattern /\s+order\s+by\s+([\w\s,\.]+)$/i not work correctly
When i'm add preg_match_all($pattern, $sql, $matches); var_dump($matches); die(); after $pattern = '/\s+order\s+by\s+([\w\s,\.]+)$/i'; line and refresh page i see empty $matches array

Additional info

Q
A

Yii version
<IP_ADDRESS>

PHP version
7.4.10

Operating system
Ubuntu 18.04.5 LTS

From the Guide:

Like other data providers, SqlDataProvider also supports sorting and pagination. It does so by modifying the given $sql statement with "ORDER BY" and "LIMIT" clauses.

Which means that you must not provide ORDER BY and LIMIT in the query itself.

Hmm, wait. You expect error? Not sure if I understood that correctly...

Здравствуйте, Bizley.
Вы писали 5 марта 2021 г., 15:38:17:

Hmm, wait. You expect error? Not sure if I understood that correctly...

Create searchModel
Use SqlDataProvider inside it
Point it to a sql query containing the ORDER BY
Pass this SqlDataProvider to Gridview
Click on the GridView column to sort
Get an error in the sql query where TWO ORDER BY will be indicated - yours and added by SqlDataProvider

For instance:
SELECT f.field1, f.field2 FROM my_func () f
I call
-> ORDERBY (['f.field1' => SORT_ASC]) and get the SQL query
SELECT f.field1, f.field2 FROM my_func () f
I pass this request to the GridView - I click on the field2 column and I see the error
SQLSTATE [42601]: Syntax error: 7 ERROR: syntax error (approximate position "ORDER")
f ORDER BY "f". "field1" ORDER BY "...
After which I display the entire built sql-Query and see in it
SELECT f.field1, f.field2 FROM my_func () f ORDER BY "f"."field1" ORDER BY "f"."field2"
In fact, the check in the SqlDataProvider.php file in the prepareModels () function does not work for you.
Namely the search pattern in the following code
    if ($ sort! == false) {
        $ orders = $ sort-> getOrders ();
        $ pattern = '/\s+order\s+by\s+((\w\s,\.†+)$/i';
        if (preg_match ($ pattern, $ sql, $ matches)) {
            array_unshift ($ orders, new Expression ($ matches [1]));
            $ sql = preg_replace ($ pattern, '', $ sql);
        }
    }

And unfortunately I don't understand why. As far as my knowledge of regular expressions is enough, this pattern is correct.
P.S sorry for bad english. if you have Russians in your team, I could explain to them in more detail in my native language
With best regards

Your English is perfectly understandable, no need to apologize. Indeed, the pattern here is not enough for all the identifiers.

As I understand it, the pattern does not work because the fields in the ORDER BY statement are enclosed in double quotes ("f". "field1"). If you add a check for them to the pattern, then everything works.
$pattern = '/(\s+)order(\s+)by(\s+)([\w\s\",\.]+)/i';

Yes, see the linked PR where this is already fixed and waiting for review.