adding logic to auto detect dag dep files in dags folder and reload dag

This change will crawl each dag file for dependent python files that are in the dags folder and add them to a dep_list and also store their last modified time. So now process_file can change the last modified date of the all dependent files before deciding to reload a dag.
I am also working on extending this method to work with Variables. Also, allow the user to specify a glob of files they would like to watch in another folder (such as yaml files) and when they change, trigger a reload of the dag.
Just figured I'd PR this to get your input before more testing and features.

This looks solid but pretty hard to test. I'm hoping I get some time to do a deep review.

Cool. I'm working on making it better and adding extra features such as resource files and variable change detection.

Will have an update to it in the next couple of days.

@aminghadersohi This still looks useful, are you still interested in contributing further? If you can rebase, we can try to see if this could be merged. We are cleaning old PRs, and if I do not hear from you by the end of the week, I will just close this.


provide badge for people to link to their projects

like doc.rs has

I looked into this a week ago or so. Its really easy to add, I just didn't find a nice spot in the UI to put it.
Made some mockups with shields.io. What do you prefer? The Rust style with the version doesn't really work because we don't know anything about versions.

 (inspired by godoc)
 (logo in there?)
 (more like ci?)
 (docs.rs color scheme)

4 seems good to me. What do you think?

No 2 is very cute :)

i think the logo in 2 is too low-res to be recognizable

i think the logo in 2 is too low-res to be recognizable

You're right, then no 4 seems good to me as well


nats-tls support

Any chance we could get support for NATS-TLS?  It looks like the gem already has support for it, we would just need a way to pass the TLS config options during the connection.

@jmprice I assume you mean the user_credentials and/or nkeys_seed found here: https://github.com/nats-io/nats.rb/releases/tag/v0.11.0

No, this is about connecting to the new nats-tls job in cf-deployment (https://github.com/cloudfoundry/cf-deployment/blob/master/cf-deployment.yml#L388-L410).  CF is moving all the clients over from the legacy nats job on 4222 to the nats-tls job on 4224 and will eventually shut off the non-secure endpoint.  We want to have support for the secure endpoint in admin-ui so we're ready for that, and also because once we have all the non-secure endpoints gone we can finally shut off IPSec.
I've tested the ruby nats client connecting to the CF nats-tls job with the following code, so I think we just need to pass in the "tls" config block when connecting along with the client cert/key and CA cert.
#!/usr/bin/env ruby

require "nats/client"

options = {
  :servers => [
   'nats://nats:password@<IP_ADDRESS>:4224'
  ],
  :max_reconnect_attempts => 10,
  :reconnect_time_wait => 2,
  :tls => {
    :private_key_file => './key.pem',
    :cert_chain_file  => './cert.pem',
    :verify_peer => true,
    :ca_file => './ca.pem'
  }
}

NATS.on_error do |e|
puts "Error: #{e}"
end

NATS.on_disconnect do |reason|
puts "Disconnected: #{reason}"
end

NATS.on_reconnect do |nats|
puts "Reconnected to NATS server at #{nats.connected_server}"
end

NATS.on_close do
puts "Connection to NATS closed"
EM.stop
end

NATS.start(options) do |nats|
  puts "Connected to NATS at #{nats.connected_server}"

  nats.flush do
    nats.publish("hello", "world")
  end
end

@amhuber Thanks for the specific detail. Hopefully I will get to supporting this week.

@jmprice @amhuber
Support added with commit https://github.com/cloudfoundry-incubator/admin-ui/commit/68f88e116926c4c8ca17419b8bc8829a0fe3760d

Tested and working great, thanks!

Thank you very much, so fast!  Now if we can just get the remaining components in cf-deployment to do the same...


Add Vistula University subdomain (stu.vistula.edu.pl)

This pull request adds the subdomain stu.vistula.edu.pl, dedicated to Vistula University students. Attached is the link providing proof of the existence and association of this subdomain with Vistula University students. This addition will enable students with emails under this subdomain to access JetBrains' academic offerings.
Proof of Subdomain: Vistula University Student Domain Information

@mabrur-h I am sorry, the domain stu.vistula.edu.pl is removed from our trusted domains list because the school allows to register an email address there even if you are not a student of the school. If you are the student of this school, please apply with official document (OFFICIAL DOCUMENT tab at https://www.jetbrains.com/shop/eform/students).


operator minio-operator (5.0.3)

According to documentation, we cannot modify files that  have been already merged:
verify-changed-directories


Support mapping a single logical axis to multiple mesh axes

This requires further relaxations to ShardingSpecs, so that Chunked dimensions can actually introduce multiple ShardedAxis indices.
cc @jekbradbury @skye

@jekbradbury I've added a comment and some extra tests to make sure we catch any misuses.


Report S

An example of the report format can be found using the current Disclosure tool.

Not needed according to https://github.com/cfpb/hmda-platform/issues/1286


ci: remove the need for a ci specific Dockerfile

CI specific build to remove the need for a specific Dockerfile only for Jenkins. Base image: nexus3.edgexfoundry.org:10003/edgex-devops/edgex-golang-base:golang-1.16 Dockerfile will now be used.
Signed-off-by: Ernesto Ojeda<EMAIL_ADDRESS>PR Checklist
Please check if your PR fulfills the following requirements:

[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

If your build fails due to your commit message not passing the build checks, please review the guidelines here: https://github.com/edgexfoundry/edgex-go/blob/master/.github/Contributing.md.
What is the current behavior?

Issue Number:
What is the new behavior?
Does this PR introduce a breaking change?

[ ] Yes
[x] No

New Imports

[ ] Yes
[x] No

Specific Instructions
Are there any specific instructions or things that should be known prior to reviewing?
Other information

recheck


Reshade injection causing errors after new update

It looks like mihoyo must've upgraded their anticheat somehow, because reshade is giving me errors after about 1 minute of playtime. Is there any chance this could be fixed in the future?

try do it:

just add this lines in your code:
MODULEENTRY32 hKernel{};
while (!GetModule(pi.dwProcessId, "KERNELBASE.dll", &hKernel))
    std::this_thread::sleep_for(std::chrono::milliseconds(100));

and move InjectReshade(pi.hProcess); to up (and down kernel code)

try do it:  just add this lines in your code:
MODULEENTRY32 hKernel{};
while (!GetModule(pi.dwProcessId, "KERNELBASE.dll", &hKernel))
    std::this_thread::sleep_for(std::chrono::milliseconds(100));

and move InjectReshade(pi.hProcess); to up (and down kernel code)

Tried implementing this into the code and it still throws a data error after about a minute of playtime.. :(


Message filtering letting through unwanted ids

There is a problem with message filtering. In the example code set_mask_filter_recv
With the filter and mask settings:
CAN.init_Mask(0, 0, 0x3ff);
CAN.init_Mask(1, 0, 0x3ff);
CAN.init_Filt(0, 0, 0x04);
CAN.init_Filt(1, 0, 0x05);
CAN.init_Filt(2, 0, 0x06);
CAN.init_Filt(3, 0, 0x07);
CAN.init_Filt(4, 0, 0x08);
CAN.init_Filt(5, 0, 0x09);
For some reason in addition to receiving ids 0x04~0x09 the code also receives 0x404~0x409

okay, there are lots of people who have this issue, and most of the time it's because the bus is busy with data, people recommend you hold reset for 5 seconds before you load the filters, however, I have found a solution that is a bit crude but DOES work as im switching from ALL traffic to 1x 29-bit canid, and then back to all traffic, dynamically, and without error.
There should be a note on this as i worked hard debugging and finding out the result by myself
if you create a for loop, and take your masks and filters above, and let it loop twice, you'll have more success changing them with less likely to let traffic slip through. But, even though, maybe it still might not set, I have set my for loop to set masks and filters 3x! and this has resulted in fixing this issue on 500 bitrate bus. This method does not require resetting the canbus shield OR the arduino which is awesome.
Also, you should add the additional info for ISO 15765-4, to specify frame flow should be in readme not necessarily in the examples however, if you send a buf to the ecu requesting vin, or requesting 4 pids, ecu will only send you the first 5 bytes starting at buf[3] position, to get the remaining (and this includes reading via(09 02 pid) you MUST send a frame flow ex   unsigned char frame_flow = { 0x30, 00,00,00,00,00,00,00 } ( only once is needed) you will get 1 or 2 frames comming in with the remainder of the pid data or vin ascii (char).
Tony

to read vin you'll need to save 3 buffers, concatenate them needed bytes together (exclude the first unneeded bytes from each), then snprintf or memcpy them to a new buffer to be able to print it as ascii

Wow, no idea how you figured that out but that's awesome work, thanks!


Changing visibility of button within a menu

I may be doing something wrong, but I'm running into an issue with setting the visibility of an action button within the expanding menu.
Here's my scenario - my expanding menu allows the user to add various types of media (image, video, etc). If the user has a Galaxy Note, I want to enable the "sketching" option as a media type. However, if they don't have a Note, the sketching option is hidden, as it is no use.
In my XML layout, if it set the visibility="gone", the app crashes when the menu expands:
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.view.View.setAlpha(float)' on a null object reference
at android.view.View$3.setValue(View.java:19388)
at android.view.View$3.setValue(View.java:19385)
at android.animation.PropertyValuesHolder$FloatPropertyValuesHolder.setAnimatedValue(PropertyValuesHolder.java:1288)
at android.animation.ObjectAnimator.animateValue(ObjectAnimator.java:952)
at android.animation.ValueAnimator.animationFrame(ValueAnimator.java:1207)
at android.animation.ValueAnimator.doAnimationFrame(ValueAnimator.java:1248)
at android.animation.ValueAnimator.setCurrentPlayTime(ValueAnimator.java:546)
at android.animation.ValueAnimator.start(ValueAnimator.java:959)
at android.animation.ValueAnimator.start(ValueAnimator.java:969)
at android.animation.ObjectAnimator.start(ObjectAnimator.java:829)
at android.animation.AnimatorSet.start(AnimatorSet.java:572)
at com.getbase.floatingactionbutton.FloatingActionsMenu.expand(FloatingActionsMenu.java:471)
at com.getbase.floatingactionbutton.FloatingActionsMenu.toggle(FloatingActionsMenu.java:463)
at com.getbase.floatingactionbutton.FloatingActionsMenu$2.onClick(FloatingActionsMenu.java:164)
at android.view.View.performClick(View.java:4756)
at android.view.View$PerformClick.run(View.java:19749)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5221)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
Removing this fixes everything. The only way I've found to remove an action from the menu is to use the 'setOnFloatingActionsMenuUpdateListener' and set the visibility in the 'onMenuExpanded' event.
Am I overlooking something easy?
Thanks for this library - it is a great addition to the community. Your efforts are appreciated!

Looks like a bug.

Seeing the same issue

@str4d im trying with your repo but still same issue.

Interesting. Can you try building the sample app from my repo? I replicated the bug in there (both XML and in code), and my fix solved it locally.
If the sample app works but your app doesn't, then you should look at the sample app's activity_main.xml and MainActivity.java and try to figure out how your app is different.
If the sample app doesn't work, please post all info about what you are testing it on.

@kyleparker , @Dfmarulanda , @Chainfire let me know if the issue still happens on current master branch.


Optionals in arguments

It would be nice if we can use Optional<?> in arguments. Optionals allow us to easily manage the presence or absence of arguments in a more organized and efficient manner, without the need for complex null check statements. This can lead to faster development and make working with arguments much simple. I hope it will be added in the recode :)

yes yes

I just got confused ngl, isn't the Optional annoation already a thing?

I just got confused ngl, isn't the Optional annoation already a thing?

I don't mean optional annotation, I just mean Optional class from java

You shouldn't use Optionals in parameters, even IntelliJ throws warnings about that.

I had considered this in the past, however there are a few problems.
First using Optionals as parameters are against Java's convention, hence why Intellij will warn you against it.
Second I am assuming you're using the older version of the library in which all arguments are nullable, this is no longer the case as of 2.0.0-SNAPSHOT+.
And a single argument (the last argument), except on platforms like Discord ones.
The library does use Optionals when using named arguments (feature of 2.0.0).


PyObject.item() should follow the JS convention on undefined keys

The [] operator in JavaScript returns undefined if the key is not defined, while the same operator in Python raises an exception.
PyObject.item() should follow the JS convention.

Currently the recommended method to check if a dictionary contains a key before trying to access it is to use the Python in operator from the operator module:
(proxified example)
const op = pymport('operator');

if (op.contains(dict, key)) dict.item(key);


Mixin does not allow Generic

TypeScript Version:  3.1.0-dev.20180802

Search Terms:

Typescript Mixins Generics
Base class expressions cannot reference class type parameters.

Code
type Constructor<T> = new (...args: any[]) => T;

interface BasicTypes {
  user: {name: string}
}

class BasicHandler<E extends BasicTypes> {
    // some methods here
}

interface TypesA extends BasicTypes {
   user: BasicTypes["user"] & {img: string}
}

interface TypesB extends BasicTypes {
    user: BasicTypes["user"] & {email?: string}
}

function UserMixin<E extends BasicTypes, B extends Constructor<BasicHandler<E>>>(Base: B)  {
    class UserHandler extends Base { //
        constructor(...args: any[]) {
            super(...args);
        }
        setUser(user: E["user"]) {
            //...
        }
    }
    return UserHandler;
}

// error TS2562: Base class expressions cannot reference class type parameters.
class HandlerA<MergedTypes extends TypesA> extends UserMixin<MergedTypes, Constructor<BasicHandler<MergedTypes>>>(BasicHandler) {
   // some other specific methods here
}

// error TS2562: Base class expressions cannot reference class type parameters.
class HandlerB<MergedTypes extends TypesB> extends UserMixin<MergedTypes, Constructor<BasicHandler<MergedTypes>>>(BasicHandler) {
    // some other specific methods here
 }

type mergedTypes = TypesA & TypesB

const currentUser: mergedTypes["user"] = {
    name: "Peter Parker",
    img: "https://....",
    email<EMAIL_ADDRESS>}

const a: HandlerA<mergedTypes> = {} as any;
a.setUser(currentUser)

const b: HandlerB<mergedTypes> = {} as any;
b.setUser(currentUser);

Expected behavior:
Mixins should allow generic types and propagate them to the inherited class
Actual behavior:
Cannot set generic type to mixin
Playground Link: Link
Related Issues:

https://github.com/Microsoft/TypeScript/issues/13807
https://github.com/Microsoft/TypeScript/issues/13979

This is intentional. See https://github.com/Microsoft/TypeScript/issues/17829 and https://github.com/Microsoft/TypeScript/pull/17922 , especially https://github.com/Microsoft/TypeScript/issues/17829#issuecomment-323020591

@RyanCavanaugh, what is the reason why it is considered that the inheritance list should be outside of the scope of the class declaration? (which is the root of this problem)
It's very counter intuitive and, right now, I can't think of any reason why it should be like that.

@rzvc the type parameters of a class are not in scope in the static side of its declaration -- this should be noncontroversial as the static side of a class is a singleton and cannot vary over any type parameters (there is only one constructor function, not one class per instantiated type).
It follows that instance-specific type parameters are not in scope in the base class expression, because the base class expression is only evaluated once -- when Foo<T> extends SomeExpr, SomeExpr is only evaluated once and cannot vary over T because there isn't a T yet.

@RyanCavanaugh, I'm sorry but I still don't get it. I'm not sure what you mean by the static side, as in my mind, it's all static (doesn't matter what types you feed in, you get the same code - I'm probably misunderstanding what you mean). You seem to imply that something would have to vary and I'm not sure what.
Can you please provide an explanation on the following code, on why exactly should T not be passed to test<T>(), in the inheritance list of Foo, when the type checker does its thing?
function test<T>(): new () => T
{
    return null;
}

class Foo<T> extends test<T>()
{
	public constructor()
	{
		super();
	}
}

@rzvc let's say you wrote
new Foo<string>();
new Foo<number>();

How many times is test invoked?
The answer is 1, because test only gets invoked once, during the initialization of the class declaration.
This is different from Foo<T> - its constructor runs twice and can plausibly be seeing actual values of type T.
So it makes no sense for string and number to be provided at test, because there's no possible way that test is actually generic over T - its behavior cannot vary over its type parameter, because it can never deal with an actual value of T during its lifetime.
Put another way, let's say you wrote this:
function test<T>(argument: T): new () => T
{
    return null;
}

class Foo<T> extends test<T>(/* provide an argument */)
{
	public constructor()
	{
		super();
	}
}

There's nothing to "fill in the blank" with - test is lying about being generic; it doesn't actually vary over its argument because it has no arguments.

Ok, I see what you mean, but it's not the whole story. What we really want to have as a generic is the return type, which is a constructor signature and gets called every time the class is instantiated.
Perhaps the type checker could reject the function call if it has generic types, that rely on the inherited one, but not if just the return type does. In the end what we care about is for the returned constructor signature to be dependent on T.

What seems weird to me is that this is okay:
class Foo<T> { }

class Bar<T> extends Foo<T> { }

Passing generics to anonymous classes is also okay:
function generateFoo() {
    return class<T> { }
}

const Foo = generateFoo();

class Bar<T> extends Foo<T> { }

However if we try to make the anonymous class inherit from a base class received as a parameter (mixin style), it breaks:
class Baz { }

export type Constructor<T = {}> = new (...args: any[]) => T;

function generateFoo<T extends Constructor<{}>>(Base: T) {
    return class<B> extends Base {
        constructor(...args: any[]) {
            super(...args);
        }
    }
}

const Foo = generateFoo(Baz);

class Bar<T> extends Foo<T> { }

Right of the bat it complains that "A mixin class must have a constructor with a single rest parameter of type 'any[]'" (which it does). It's the generic B that breaks it.
In my mind the result of generateFoo(Baz) should still be:
class Foo<B> extends Baz { }

Y u do dis typscrip

@RyanCavanaugh

let's say you wrote
new Foo<string>();
new Foo<number>();

How many times is test invoked?
The answer is 1

Correct me if I am wrong, but if the similar generics code is in c++, there will definitely be two Foo classes, and test() would be invoked twice (I know c++ doesn't have this mixin mechanism, just assume similar mechanism exist in c++).
Would this be where the problem come from?

We are running into the same issues trying to create very low level React mixins for specialized components.
In other languages, including C++ generics become separate "copies". I believe C++ called them templates at one point.
Not only could this solve a number of issues that we are having, but it would also allow statics to access templates, having a separate static per generic type, and perhaps other benefits as well.

I know I'm a little late to the party, but ts-mixer might be able to help.  It has a decent solution to the generics problem.

Hey guys, can we please reopen this issue? The problem still exists, and I believe the arguments made against it are wrong.
In reply to @RyanCavanaugh's answer:
Yes, test() gets called only once - but that's all you want anyway. The argument that it doesn't vary based on its type doesn't mean much, because generics in typescript don't really have any effect on the generated code. They're there only for the type system.
I'm going to go further and say that I was wrong too, when I partially agreed that the parameters are presenting a problem, but now I realize that there is a possible solution.
In the example you gave:
function test<T>(argument: T): new () => T
{
    return null;
}

class Foo<T> extends test<T>(/* provide an argument */)
{
	public constructor()
	{
		super();
	}
}

You could have the following:
class Foo<T> extends test<T>(Bar)
{
	public constructor()
	{
		super();
	}
}

What this means for Foo is that the validity of Bar is going to be checked when Foo will get declared. If Bar is a Whatever, then it passes, if not, it fails, so the arguments of the constructor signature simply place a constraint on T.
I understand that there are practical considerations here, because test() would get called regardless of the existence of any Foo instances, but if the type parameters on the constructor signature can be inferred or temporarily discarded (in the case where they're only used as a return type), then this should be theoretically implementable.
To summarize:

test() gets called only once. It doesn't vary based on its template arguments anyway.
The validity of test()'s parameters, can be verified independent of Foo, and they can definitely be passed before the declaration of any Foo instances, as long as their type doesn't depend on template parameters, or if it can be inferred.
When Foo instances are declared, test()'s parameters become constraints on what T can be.

At the very least I would expect that declaration merging would be possible over a declared class to workaround this limitation but it isn't.
Not being able to workaround a relatively simple case as this is really 👎
// ------------------------------------

type Constructor<T = object, A extends any[] = any[]> = new (...a: A) => T

function FooMixin<T extends Constructor>(Base: T) {

    class Foo extends Base {
        foo = 'foo'
    }

    return Foo as typeof Foo & T
}

function BarMixin<T extends Constructor>(Base: T) {

    class Bar extends FooMixin(Base as unknown as Constructor) {
        test() {
            console.log(this.foo)
        }
    }

    return Bar as typeof Bar & T

}

class Base<T> {
    d(x: T){
        return 2
    }
}

// ------------------------------------  reproduction

// This is where the true bug lies!
// declaration merging throws an error so it is impossible to workaround this limitation
interface A<T extends string> extends Base<T>{

}

// T & T are unrelated so it is eq to `Base<any>`
class A<T extends string> extends FooMixin(Base<T>) {

}

class NonGenericSubClass extends BarMixin(Base<string>) {

}

new A().d(4); // any :(
console.log(new A().foo)

new NonGenericSubClass().d(4);
new NonGenericSubClass().d('4');

Output
"use strict";
// ------------------------------------
function FooMixin(Base) {
    class Foo extends Base {
        constructor() {
            super(...arguments);
            this.foo = 'foo';
        }
    }
    return Foo;
}
function BarMixin(Base) {
    class Bar extends FooMixin(Base) {
        test() {
            console.log(this.foo);
        }
    }
    return Bar;
}
class Base {
    d(x) {
        return 2;
    }
}
// T & T are unrelated so it is eq to `Base<any>`
class A extends FooMixin((Base)) {
}
class NonGenericSubClass extends BarMixin((Base)) {
}
new A().d(4); // any :(
console.log(new A().foo);
new NonGenericSubClass().d(4);
new NonGenericSubClass().d('4');

Compiler Options
{
  "compilerOptions": {
    "strict": true,
    "noImplicitAny": true,
    "strictNullChecks": true,
    "strictFunctionTypes": true,
    "strictPropertyInitialization": true,
    "strictBindCallApply": true,
    "noImplicitThis": true,
    "noImplicitReturns": true,
    "alwaysStrict": true,
    "esModuleInterop": true,
    "declaration": true,
    "experimentalDecorators": true,
    "emitDecoratorMetadata": true,
    "target": "ES2017",
    "jsx": "react",
    "module": "ESNext",
    "moduleResolution": "node"
  }
}

Playground Link: Provided


adding test file for workflow to run properly

Missing test file is triggering an error in the workflow of the repository. Adding the test file with a function.

checks have passed now, had to modify some of the reqs in the pyproject


sparky - watch

Sparky.task("watch", () => {
    return Sparky.watch([`./src/**/*.*`])
        .file('*.ts', (file) => {
            console.log(file)
        });
})

Would have been nice to know what event it is
Is it the capture phase (first run when it calls back on all files), changed, new or deleted file ?
That way we could use it better.

FuseBox v4 Major Upgrade
As of today, the latest major version of FuseBox v4 is available in fuse-box@next. FuseBox has undergone a full re-write from scratch, learning from its mistakes in the previous versions.
There are a lot of improvements, speed and config wise.
Get started here
We are still working on the documentation and polishing before the major release. We are getting very close. And we need help testing.
npm install fuse-box@next

Most of the issues that I am closing have been resolved, however, if you find that your issue is still relevant in v4 don't hesitate to re-open or (better) create a new one with v4 configuration.


Typo in info for Red Rocky recolor

The info says to use Poison Ivy Berries on Rocky, but that is for Tanooki/Ziggy. Red needs Redberries.

Thank you for letting me know! I'll get to it as soon as I can.

Alright, updated and submitted for approval


ByteBufUtil.indexOf use IndexOfProcessor to find occurrence.

Motivation:
The way of firstIndexOf and lastIndexOf iterating the ByteBuf is similar to forEachByte and forEachByteDesc, but have many range checks.
Modifications:
Use forEachByte and a IndexOfProcessor to find occurrence.
Result:
eliminate range checks

AUTOMATED MESSAGE for ADMINS:Please verify and accept the pull request.To accept, say @netkins acceptTo build again, say @netkins buildTo whitelist the author, say @netkins whitelist

@netkins build

@netkins accept

@Alwayswithme thanks!
Cherry-picked into 4.0 (c727c16707f6a7315f043fdb7800be85d527b623), 4.1 (79c17cf1fdb70476e32affa2c0a9bed6a88ff7c6) and master (04396acb75e981691ec6108c3cb34f0344bf3241)

glad I could help
:)


[0.9.4b1] Suggested Image dithering improvements

I normally work with b/w logos, so today was a bit unusual because I was working with a hi-res (1382DPI at the correct scale for the burn) greyscale drawing and trying to use the raster wizard to get the best dithering.
The first issue is performance. Just changing the dithering type on the ImageNode tab of the image properties, there was a MASSIVE difference in performance between Floyd-Steinburg (fast - c. 1s) and the rest (c. 30s). I am not sure what can be done to optimise these other algorithms, but I did note that CPU was low suggesting that Numpification could help. (Doing a newsy at a low sample size took almost an hour to complete. This sort of performance is a serious inhibitor to using MK Raster Wizards rather than e.g. Imag-R.)
One possible suggestion for making the UI faster is to apply it at the screen resolution and to the parts of the image shown - so if I am zoomed in to see what the Wizard does to individual pixels, then applying the wizard only to what I can see would make no difference. Of course if I then zoom out you would need to run it again - but you could probably calculate the full image as a background task. Similarly, if I am zoomed out to see the whole image, does it really make sense to dither it at full resolution rather than at the screen resolution (assuming that the screen resolution is lower and that the resulting displayed image looks the same.)
The second set of issues are pure UI - on the Modification tab, if you have applied a wizard, then clearing it is done by selecting a "Set to None" value in the dropdown and clicking "Apply script", when this should probably be a "Clear" button at the bottom of the tab/window. And it might be nicer to have a small checkbox under the Apply Script button which switches between adding the selected script to the existing script or replacing the existing script with the newly selected one. (Personal preference: default is to replace, checkbox is set for replace and unset for add, so checkbox label would be "Replace existing script".) Also, when you apply a script the resulting tabs are to the left of the Modification tab when IMO they should be on the right - and when you clear a script, it switches to the ImageNode tab rather than remaining on the Modification tab.
(P.S. The names are still hopelessly useless - there is NOTHING to indicate to a user what the differences are or what they are equivalent to in other tools.)
Thirdly, having applied a script when you switch to e.g. the half-tone tab and move the sliders, the recalculation of the image happens when you have first dragged the slider to a different value not when you release the mouse button to drop the slider into a new position.
Finally, we need a spinner (or similar) for any of these operations which may take more than a fraction of a second i.e. all image manipulation actions. (Ideally it would give an estimate / countdown of time remaining, but that is a nice to have (whilst the spinner itself is IMO reasonably essential so the user knows that processing is happening and (more importantly) when it has finished. It might also be nice to allow the user to do some sort of BREAK to stop the process and enable the UI again.

The problem is Pillow builds into their software Floyd-Steinburg but the other ones need to be done in pure python.
This causes an absolutely massive time difference. And since these are ultimately scanline operations (they must be performed in sequence) there does not appear to be an obvious method of doing them in numpy.
The one exception of this may actually be newsy, which does half-toning for the grayscale conversion rather than a typical dithering algorithm. In theory you could actually solve for all circles at the same time. You'd chop up the image parallel, find each chunk, count the black within that chunk, then do a look-up-table for the circle and output that to a different array. That in theory is numpifiable. The dithers do error forward checking where one pixel could very much end up flickering a black to white across the screen. This is, essentially defacto sequential. You cannot calculate the where the error squeezes to before you calculate the pixel values.

https://github.com/python-pillow/Pillow/blob/e5ee034675491d1f67410022f07256ed583cbbc5/src/libImaging/Convert.c#L1375
This C implementation for the floyd-steinberg is hard to beat, I've considered brushing off my C skills and implementing several of the other error-forward dithers.

I found a Pillow extension Hitherdither that does other dithers, but it is written in Python not C.
But this Youtube video (which I haven't had time to watch) shows how to use Numba for dithering.

The docstring for the dither function in meerk40t:
def dither(image, method="Floyd-Steinberg"):
    """
    This function and the associated _DIFFUSION_MAPS taken from hitherdither. MIT License.
    :copyright: 2016-2017 by hbldh<EMAIL_ADDRESS>    https://github.com/hbldh/hitherdither
    """

It's not really a full library but did get a nice set of diffusion maps.
hbldh/hitherdither#9

The suggestion to use numba might actually be workable. I have fallback code already and could probably hammer out the right stuff pretty quickly. So if you had numba installed it could maybe run faster than if you didn't. Which is sort of common to have around.

Okay. Implemented. With numba installed to compile them they go from around 200 seconds to  ~0.21 - 0.09s. The big deviation there is the first execution requires compiling the LLVM compiles.

Ironically this is kind of a mismash of your two suggestions there. It's numba accelerated hither-dither.

So - can you include Numba in the executables?

That is an open question. I would assume so, it would just work under the hood there and it seems like there was support for our supported metrics, But, it needs to properly either throw an import error (to fallback to normal), and not do anything else that's weird. Which means some checking.


[SETL-2] ETL Pipeline Implementation

This PR does not contain a mergeble and final design. I created this to discuss on it. So I am waiting your responses!

@kubudi and @msimav, can you check this PR? I am going to squash commits after your feedback and open this PR to develop branch instead of master.

Redirected to develop branch (replaced with #8).


Divider for data and header row elements

Hello! Can you add methods like this?
setDataRowElementDividerHeight()
setDataRowElementDividerColor()
setHeaderRowElementDividerHeight()
setHeaderRowElementDividerColor()

Hi @Ulop,
I guess you know that there is a way to set the data row divider height and color via xml:
    <de.codecrafters.tableview.TableView
        android:id="@+id/tableView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:divider="@color/black"
        android:dividerHeight="1dip"
        ...  />

So you need to set this during runtime? I also want to get sure, that we have the same understanding of the header row element divider. How does the header row element look like in your opinion?

Hi @ISchwarz23
Your code is way to set divider between rows in tableview. But I'm need a divider elements in row on this
rowView and on TableHeaderView(extends LinearLayout)

Hi Alex,
so you need some vertical lines between the cells in one row (data as well as header row)?
Best regards,
Ingo

Hi @ISchwarz23
Yes, that's it


PR: Migration to Jest

Would a migration to Jest be welcome?

Yes, please!!

Hi @amilajack, are you still working on this migration? I'd be interested in helping out.
I'm new to Jest and styled-components and interested in digging into the source code

I actually forgot to do this! Thanks for the reminder! And yea, sure. I'll create a branch on my fork that you can commit to

@amilajack is that your fix-ci-config branch?

I actually didn't create a branch yet because I wanted to merge the updates branch first.
https://github.com/styled-components/styled-components/pull/380
Turns out that there were a number of complications that prevent it from moving forward quickly. I'll create  new branch and let you know about it

Happy to help with this if needed!

Yes?! We want this!

@jacobp100 I'm running low on time these days so i haven't been able to implement this. Would be great if you could give it a go!

Will do!

v2 I guess?


HTTP tunnel (aka HTTP proxy)

Does DBeaver can use HTTP connection as a proxy to access to DB?
Like this https://www2.navicat.com/manual/online_manual/en/navicat/win_manual/HTTPSettings.html

No, unfortunately we don't support HTTP tunnels at the moment.

I hope to have this function in the future

This feature is really needed so far.

Yes, I needed this too

I would also like to request HTTP proxy support.

I would like  to request  HTTP/https proxy too

Yes this is the most important feature that we need, that's why i still using navicat anymore.

Some of my thoughts on this.
It is clear how to implement this feature although it still requires quite a bit of coding.
Navicat, SQLyog, EMS and dbForge have this feature (very similar implementations). But it comes from ancient times when php hosting over ftp was very popular.
HTTP tunnel is an obvious and horrible security hole. Taking into consideration that MySQL user passwords are often not very secured, never change, etc.
I wonder how many people still use http tunneling over php. Nowadays VPS hosting became extremely cheap and SSH tunnels are way more secure.
Moving to 7.1. Please vote for this if you still think that it is a must-have feature.

Yes SSH is more secure, but I would like a http tunnel too on the next release

HTTP tunnel is an obvious and horrible security hole. Taking into consideration that MySQL user passwords are often not very secured, never change, etc.
You always can hide your script by using random chars in path and nobody except you will not know path. And you still need to know DB login and pass. Also .htaccess with IP grants still actual. Not a problem. Also nobody will use this way if normal SSH access present. But sometimes you have no way and must use it

Yes, http tunnel (implementation like EMS, RazorSQL, Navicat) is very important and needed for many projects. In my office SSH access only allowed via limited SSH tunnel box (like Mikrotik box), login to that box first then login to servers. So DBeaver cannot connect directly to our servers. Also in my projects that hosted in shared hosting, I have no SSH access.
Thanks

@serge-rider
I really need http channel verification
Hope this feature can be added

@serge-rider
Where I work, ports 22 and 3306 are always closed
Work at home
Use Navicat to connect to mysql through http channel
very convenient
So the http channel is needed

@serge-rider @tati-kru
Hi, I noticed that the function of HTTP tunnel has been planned for March 2020, but this function is still not seen in the current latest version. Can this function be done? I really need this feature, thank you.

Bumping this issue, the feature would be very welcome :)

I wanted to throw out there that as a workaround some jdbc drivers can have HTTP proxy options themselves you can set for connections.  For example, for Snowflake I was able to work through a corp proxy by including in the "Driver Properties" of the connection new user properties useProxy, proxyHost, and proxyPort.

https://github.com/poisonbian/hersql
If you want to access mysql according http proxy, maybe you can try this tool.


Demo: Add table and/or data list example to card

Since we're updating card to allow use as a generic container, documentation for using without header, body and footer needs to be provided. An example would be adding filters and pagination to a table.

Closing since #842 merged.

Hey @rachael-phillips, I think we need to leave this one open bc it refers to creating a demo. But you're correct in that it required #842 to merge:D

Thank you for the info!

Christie addressed this issue #756


Duplicate key on RenderFont.p_text problem. Is this ok?

https://github.com/ankush-me/SynthText/blob/master/text_utils.py#L86

Nice catch, it should be fixed to have probabilities as "values" rather than keys.
But not much of a practical problem (hopefully) as rarely would one define two "classes" to have exactly the same probability.


Ran pre-commit autoupdate.

Committed via https://github.com/asottile/all-repos

Coverage remained the same at 100.0% when pulling 056a5bfb17ee30a42885033d7370dd2dc970bcd8 on all-repos_autofix_pre-commit-autoupdate into de5606c90df32f1f552a2a9946f78724c61fb404 on master.


Fix RouteTableDelete.json examples

ARM (Control Plane) API Specification Update Pull Request

[!TIP]
Overwhelmed by all this guidance? See the Getting help section at the bottom of this PR description.

PR review workflow diagram
Please understand this diagram before proceeding. It explains how to get your PR approved & merged.

Purpose of this PR
What's the purpose of this PR? Check the specific option that applies. This is mandatory!

[ ] New resource provider.
[ ] New API version for an existing resource provider. (If API spec is not defined in TypeSpec, the PR should have been created in adherence to OpenAPI specs PR creation guidance).
[ ] Update existing version for a new feature. (This is applicable only when you are revising a private preview API version.)
[ ] Update existing version to fix OpenAPI spec quality issues in S360.
[ ] Convert existing OpenAPI spec to TypeSpec spec (do not combine this with implementing changes for a new API version).
[x] Other, please clarify:

Fix RouteTableDelete examples found by Swagger Model Validation: https://msazure.visualstudio.com/One/_sprints/taskboard/RNM Fundamentals/One/Dilithium/CY24Q3/Monthly/08 Aug (Jul 28 - Aug 31)?workitem=29252922

Due diligence checklist
To merge this PR, you must go through the following checklist and confirm you understood
and followed the instructions by checking all the boxes:

[x] I confirm this PR is modifying Azure Resource Manager (ARM) related specifications, and not data plane related specifications.
[x] I have reviewed following Resource Provider guidelines, including
ARM resource provider contract and
REST guidelines (estimated time: 4 hours).
I understand this is required before I can proceed to the diagram Step 2, "ARM API changes review", for this PR.

Additional information

 Viewing API changes
For convenient view of the API changes made by this PR, refer to the URLs provided in the table
in the Generated ApiView comment added to this PR. You can use ApiView to show API versions diff.

Suppressing failures
If one or multiple validation error/warning suppression(s) is detected in your PR, please follow the
suppressions guide to get approval.

Getting help

First, please carefully read through this PR description, from top to bottom. Please fill out the Purpose of this PR and Due diligence checklist.
If you don't have permissions to remove or add labels to the PR, request write access per aka.ms/azsdk/access#request-access-to-rest-api-or-sdk-repositories
To understand what you must do next to merge this PR, see the Next Steps to Merge comment. It will appear within few minutes of submitting this PR and will continue to be up-to-date with current PR state.
For guidance on fixing this PR CI check failures, see the hyperlinks provided in given failure
and https://aka.ms/ci-fix.
For help with ARM review (PR workflow diagram Step 2), see https://aka.ms/azsdk/pr-arm-review.
If the PR CI checks appear to be stuck in queued state, please add a comment with contents /azp run.
This should result in a new comment denoting a PR validation pipeline has started and the checks should be updated after few minutes.
If the help provided by the previous points is not enough, post to https://aka.ms/azsdk/support/specreview-channel and link to this PR.

Base branch i.e guptavertika/release-network-Microsoft.Network-2024-03-01 has been merged into main branch. These changes can't be merged in this release


Added accessors for Getting/Setting Page Margins

PR Details
Added accessors for getting setting page margins
Description
SetPageMargins provides a function to set worksheet page lmargins.
Available options:
PageMarginBotom(float64)
PageMarginFooter(float64)
PageMarginHeader(float64)
PageMarginLeft(float64)
PageMarginRightfloat64)
PageMarginTop(float64)
GetPageMargins provides a function to get worksheet page margins.
Available options:
PageMarginBotom(float64)
PageMarginFooter(float64)
PageMarginHeader(float64)
PageMarginLeft(float64)
PageMarginRightfloat64)
PageMarginTop(float64)
Related Issue
#407 Setting Page Margins
Motivation and Context
Added functionality
How Has This Been Tested
Existing tests
Types of changes

[x] Docs change / refactoring / dependency upgrade
[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist

[x] My code follows the code style of this project.
[x] My change requires a change to the documentation.
[x] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[x] All new and existing tests passed.

Codecov Report

Merging #497 into master will decrease coverage by 0.54%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##           master     #497      +/-   ##
==========================================
- Coverage   96.11%   95.56%   -0.55%
==========================================
  Files          26       26
  Lines        5452     5483      +31
==========================================
  Hits         5240     5240
- Misses        119      150      +31
  Partials       93       93

Impacted Files
Coverage Δ

sheet.go
91.05% <0%> (-4.93%)
:arrow_down:

Continue to review full report at Codecov.

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


FreetypeFontGenerator and PixmapPackerIO - fix save method not numbering pages correctly if a page within only contains fonts

When using FreeTypeFontGenerator to create fonts and then pack them in a pixmap, the following method is used
public synchronized Rectangle pack (Pixmap image) { 	return pack(null, image); }
which then calls
public synchronized Rectangle pack (String name, Pixmap image) so name is always null.
Later when the rect is put onto rects with
 if (name != null) { 	page.rects.put(name, rect); 	page.addedRects.add(name); }
because there is no name it's not added to the rects. This is fine it still works etc, but in the PixmapPackerIO save method the file names are currently incremented and saved when if (page.rects.size > 0) { and therefore the pages are not incremented correctly, and the wrong files are used for images/fonts.
This only happens if the entire Pixmap is made up of fonts, which happens to me quite often.
The fix increments and saves the Pixmap regardless of the size of rects.

@tommyettinger so I haven't tested this locally per se, but I am using the fix live in my own app, and it fixes an otherwise crashing bug.
I pack fonts AND images into multiple pages, some pages contain just fonts others contain just images and others still contain a mixture of both.
To give a little more context as you seem to have grasped it but just to confirm.
Currently, the file names of each page are incremented ONLY if the page has rects (rects i think are seen as each individual sprite, so the letters in fonts and the images in, well images). As when you use FreetypeFontGenerator there are no rects created, because it doesn't take in a name String, this means the numbering of the pages gets out of sync and the texture atlas starts to look for things on the wrong page/file.
Does that make more sense?

Can you give a sample that causes this? I have same use cases in production and do not see what you have reported.

@Tom-Ski I'll look and try. Can you 100% confirm that none of your pages that are generated contain ONLY fonts. This is the case when this breaks.

        generatedFonts = new HashMap<>();
        for (String fontName : FONTNAMES) {
            FreeTypeFontGenerator generator = new FreeTypeFontGenerator(Gdx.files.internal("fonts/ttf/" + getFontFilename(fontName) + ".ttf"));

            FreetypeFontLoader.FreeTypeFontLoaderParameter parameter = getFreeTypeParameter(fontName);
            parameter.fontFileName = "fonts/ttf/" + getFontFilename(fontName) + ".ttf";
            parameter.fontParameters.packer = packer;
            parameter.fontParameters.characters = "= _-,:!?/.'\"()[]{#@£$€*\\&%<>+0123456789aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ";
            if (fontName.equals(COUNT_DOWN)) {
                parameter.fontParameters.characters = "123";
            } else if (fontName.equals(COUNT_DOWN_ADVERT)) {
                parameter.fontParameters.characters = "12345";
            }
            generatedFonts.put(fontName, generator.generateFont(parameter.fontParameters));
        }

This is the code I use to generate my fonts in the packer.
Following the code flow:
generateFont() -> generateData() -> createGlyph() -> packer.pack(mainPixmap)

this last command is the pack command that doesn't take a name field, therefore the page index will never be incremented.


Passives Not Up To Date with POE v3.0

When using the skill tree for my build, I have noticed several of the passive nodes have changed position and have different stats in Path of Exile v3.0 Fall of Oriath when compared to PoESkillTree.

You can get the live sill tree data through Tools -> Redownload Live Skill Tree Data.
But we should do a release over the next days that contains all the new data.


Proposal: accurate coverage reports and failed tests when 'no test files' are found

tl;dr

go test -cover should output coverage for packages with .go files that lack tests to accurately report that there is no test coverage for that package
go test should have a flag that causes it to fail if a package is found without any tests, and/or should fail if a .go file is found without associated _test.go

It (sort of, out of lazy convenience) makes sense that go test ./... succeeds if it finds a package with at least one .go file, but without tests, skipping it. But the same behavior doesn't make sense for coverage -- negative coverage reports should be created for packages without a single test but with go files.
The problem: Say you have 100 packages of Go code (each has approximately the same number of statements), and only one has tests, and those tests cover 100% of that package's code, then coverage for the repo will be 100% (only one coverage report is created). But it's really 1% coverage.
If you add an empty _test.go file to each package, you'll suddenly get negative coverage reports for every package, and your coverage will be correct. This is silly, you shouldn't have to remember to do this everywhere to get accurate coverage reports.
Proposal
Either (or both)

Add a flag to go test that will fail if a package is discovered without tests (alerting us to the problem so we can add a test, and always get proper coverage)
Have go test -cover output negative coverage repots even if no tests are found (or add a flag that will do this)

Nice to have

A go test flag that fails if any .go file doesn't have an accompanying _test.go -- I'm sure some people would welcome this level of strictness

Up for debate

Whether package main files must also have _test.go -- not sure how prevalent it is to have tests for these. I noticed that go test seems to try running these files if a test file exists; this causes my tests to fail since main packages tend to be commands that fail without input.
Another caveat is that generated code like protobufs and mocks generally don't come with tests, so having a way to exclude a package might be necessary. Or maybe you just need to test your code!

What version of Go are you using (go version)?
go version go1.7 linux/amd64

When I run go test in a directory with no code, I get:
$ go test
?   	rsc.io/tmp/asmvet	[no test files]
$ go test -cover
?   	rsc.io/tmp/asmvet	[no test files]
$

It's true that the command succeeds, but the output is clear that no tests were run (and has been for at least the last few releases). Making this fail (even optionally) seems like overkill.
We could probably arrange for an empty cover profile to be written from the go command in this case though.

OK, so if we just write an empty cover profile file (no output change, no exit status change), is that enough, @jspiro? That seems reasonable to me.

@rsc That should work as long as it marks all lines in the package as uncovered.
Two questions remain for debate:

Should package main have an empty cover profile? IME they don't usually tested; but this is inconsistent and possibly stylistic.
Generated protobuf code typically doesn't come with tests (since it's implicitly tested). Though there isn't way to determine that by package.

Neither is a real problem, since technically those lines of code have no coverage. They're just unlikely to ever get coverage.

Whether those matter depends on what your program does with the 0% coverage profile we're talking about writing out. That's unclear to me, but it seems fine to make sure that 'go test -cover' always writes a coverage profile.

Accepted for writing an empty cover profile file when there are no tests.

Would be really great to have this included. Right now I work around this by adding an empty file (except for the package line) called xxx_test.go to packages without tests to work around this.
I would like to note though that there's an important difference between an empty cover profile and a cover profile containing all lines of the files with counts of 0. The one with 0 counts is what is useful, otherwise there is still no data for the cover tools to use. The 0 counts are what my above workaround results in so I doubt it would be hard to achieve that automatically.

In my experience all I had to do was emit the package name to an otherwise empty file to get zero counts on everything.
On Apr 19, 2017, 6:08 AM -0700, Jelte Fennema<EMAIL_ADDRESS>wrote:

Would be really great to have this included. Right now I work around this by adding an empty file (except for the package line) called xxx_test.go to packages without tests to work around this.
I would like to note though that there's an important difference between an empty cover profile and a cover profile containing all lines of the files with counts of 0. The one with 0 counts is what is useful, otherwise there is still no data for the cover tools to use. The 0 counts are what my above workaround results in so I doubt it would be hard to achieve that automatically.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub (https://github.com/golang/go/issues/18909#issuecomment-295263446), or mute the thread (https://github.com/notifications/unsubscribe-auth/AAONwA2KrMBcYKTJ7SfMfwJUgHbQdNCqks5rxgdYgaJpZM4L11hy).

See also http://go.dev/cl/c/go/+/495447, which I think is relevant.


feat: enable support for update Listener's allowedRoute inside Gateway

What does this PR do?
Enable support for configuring allowedRoutes within a gateway Listener
Motivation
When using this helm chart and integrating with kubeVela we found that It's not working properly (was breaking http-route traits) because the default policy is hardcoded as "Same" and the helm chart does not have the option to configure it as convenience so I've added this option.
More

[ ] Yes, I updated the tests accordingly
[X] Yes, I ran make test and all the tests passed

Ok, @mloiseleur I pushed a new commit with your suggestion and enabled test support.
Thank you!

@renebarbosafl Since it's a parameter of Gateway, shouldn't we move experimental.kubernetesGateway.namespacePolicy to experimental.kubernetesGateway.gateway.namespacePolicy ?

@renebarbosafl Since it's a parameter of Gateway, shouldn't we move experimental.kubernetesGateway.namespacePolicy to experimental.kubernetesGateway.gateway.namespacePolicy ?
EDIT: or move all experimental.kubernetesGateway.gateway.* to experimental.kubernetesGateway. ?

Sure, I pushed a new commit moving everything from experimental.kubernetesGateway.gateway.* to experimental.kubernetesGateway. Tests were updated as well.


Labbooks support feedback.

Most of this work was in place.
There was a disconnect from external_link_urls and the learner.
Followed the pattern in Saveable::OpenResponseAnswer and things work now.
[#128504329]
https://www.pivotaltracker.com/story/show/128504329

After a lot of poking around, it looks like a one line fix addresses missing feedback for Lab book answers. @scytacki can you have a look?

Looks good. 👍
Will this require a update of report learners?


Too many library dependencies on Windows

Successful installed fltkhs-<IP_ADDRESS> but linking my own app to the library fails:
Linking dist\build\App\App.exe ...
g++: error: /mingw32/lib/libfltk_images.a: No such file or directory
g++: error: /mingw32/lib/libfltk_png.a: No such file or directory
g++: error: /mingw32/lib/libfltk_z.a: No such file or directory
g++: error: /mingw32/lib/libfltk_jpeg.a: No such file or directory
g++: error: /mingw32/lib/libfltk_gl.a: No such file or directory
g++: error: /mingw32/lib/libfltk_forms.a: No such file or directory
g++: error: /mingw32/lib/libfltk.a: No such file or directory
`g++' failed in phase `Linker'. (Exit code: 1)

In %APPDATA%\ghc\i386-mingw32-8.0.2\package.conf.d\fltkhs-<IP_ADDRESS>-KXyRP22dXDGGi8E4BCALOM.conf
I notice the following linker flags:
ld-options: -mwindows "-Wl,--enable-auto-import"
            "-Wl,--enable-runtime-pseudo-reloc" /mingw32/lib/libfltk_images.a
            /mingw32/lib/libfltk_png.a /mingw32/lib/libfltk_z.a
            /mingw32/lib/libfltk_jpeg.a /mingw32/lib/libfltk_gl.a -lglu32
            -lopengl32 /mingw32/lib/libfltk_forms.a /mingw32/lib/libfltk.a
            -lole32 -luuid -lcomctl32 -lstdc++

Wasn't expecting the dependency on the static libraries which I suspect are already in the fltkhs library.

I'm trying it now on fltkhs-hello-world. My Windows machine is pretty slow so it's taking a while. In the meantime can you check that your app matches the skeleton's (cabal settings)[https://github.com/deech/fltkhs-hello-world/blob/master/fltkhs-hello-world.cabal#L37]?

I reproduced it. Working on a fix.

I just pushed a fix. Would you mind trying? If it works I'll upload to Hackage.

I pushed up a new version to Hackage. fltkhs-hello-world etc. have also been updated to the <IP_ADDRESS>.

App compiles and works, thanks.


Update Django OIDC docs

Found few typos.
What kind of change does this PR introduce? (check at least one)

[ ] Bugfix
[ ] Feature
[ ] Code style update
[ ] Refactor
[x] Other, please describe:

Documentation improvement.
Does this PR introduce a breaking change? (check one)

[ ] Yes
[x] No

[x] You consent that the copyright of your pull request source code belongs to Authlib's author.

thanks


[bug] occasionally update user's information

bug
Describe the bug
the bot does not/is not able to update the user's information. information entered during valorant-watch is not updated, while the user may change their in game name, tag, or region.
reasons
due to both api limitations and lack of code to try to update some information.
expected
Expected behavior
bot should occasionally update the user's information, e.g. once a week.

forces an update when valorant-info is called


spin run failing with a permissions error on a python script should suggest spin python

This is a PEBKAC thing, but it would have helped my understanding of spin if the permissions error spin run reported suggested using spin python instead.
$ spin run ../numpy-experiments/test.py
$ /Users/goldbaum/.pyenv/versions/3.11.6/bin/python3.11 vendored-meson/meson/meson.py compile -C build
$ /Users/goldbaum/.pyenv/versions/3.11.6/bin/python3.11 vendored-meson/meson/meson.py install --only-changed -C build --destdir ../build-install
/bin/sh: ../numpy-experiments/test.py: Permission denied

@ngoldbaum Do you mind taking a look to see if this solves your problem?


Add functions to write pk and solidity smart contract to backend folder

Add functionalities to generate smart contract and write them to a file.
These methods should be added to backend and also to the CLI

Solved in #104


Updated the prompt to include the repository URL

This pull request adds the repository origin as a parameter to the prompt template to eliminate the need to manually remove the "GitHub Repository URL" from the generated commit messages.

@parthraghav is OpenAI generating commit message with your Github repo URL? I've never seen that on my end.


Lasse gave up this project - time to change...

Lasse, the orignal developer of the BCEditor, gave up this project. He deleted this repository and the "bonecode" user account at GitHub completely. The mail address, I talked with him some days before, does not longer work.
I believe Lasse done this after I asked him multiple times to be lovefull. Maybe he was not able to handle my requests on an other way...
Now it's time to change!
I re-created the "bonecode" user account to make the old URL of this project valid and I re-filled the repositories with the latest updates from Lasse. Now I will endeavor to provide this project further more. You are invited to assist this project too.
Any discussion about copyrights is senseless: To copy something does not steal it. Re-using existing things brings prosperity to the humanity, since it uses the already investigated energy further more.

Original author is probably angry, quote from http://bonecode.com: "Note! EditBone source code is not open source anymore. Bonecode account in GitHub is not mine but a fake and hostile takeover."
Anyway I think that idea of this restored "bonecode" github account is right (the same is possible for dropped internet domains). I have my own code which depends on this library and decision of original author was IMO very unfair for users. He could just leave this repository as-is (and he can just start new closed source private repo in other place)...

Note! EditBone source code is not open source anymore. Bonecode account in GitHub is not mine but a fake and hostile takeover.

Sounds like, Lasse feels very bad. This is a problem of this egoism. He think, he would be the greatest man - but no human is a better man than any other one. All of us are humans and none of us is perfect.
He does not have the rights about the name "bonecode" ... nobody has any kind of right. Rights are only egoism games. We humans are living together on this planet, all of us are brothers and sisters. If we want to live in peace and harmony, we have to stop all fightings about any rights.
Lasse deleted this account - I never asked him to do this. All I done is re-creating the account to go ahead with this work. This is not a "hostile takeover".
If we humans wants to live in peace and harmony together, we have to share all we have. Because of this, I offer my software with open source and without any kind of licenses since I found out this. If Lasse claims rights to himself, this shows: He don't want to live in peace and harmony. I accept this lonly decision. But in this case he should not wonder, if somebody tell him to be a selfish people, I think.
If he develops EditBone further more, I think this it's great! I don't have any kind of plannings in that direction. But I want to forward what he began: The development on TBCEditor and I hope there are people who are happy about this.

For sake of simplicity, like CyanoGen to Lineage, lets give this project a new name and be done with the past.

Changing a new means changing the URL of this project. Changing the URL means some links in the net are forwarding the old URL, some the new URL. Both URLs are lower ranked in search engines than one URL.

FWIW I would prefer if my XE compatibility commit is not in the origin unless you dedicate future work for complete compatibility. I am currently using rebase in my fork to always put my two commits (well one if just adding the .gitignore file that can be put into origin) ontop of the latest origin.
I don't want to do the same workflow as Eric uses which results in tons and tons of merge commits and hard to determine which changes came from origin and which from him. With rebase its always one commit on the head which contains all changes (it requires a bit of work at times to do the actual rebase but that is my business).
If you want to take the latest changes then you can use this commit and put it into this repo and continue work with it - AFAIK this is the latest source code available (same commit that Eric used for his latest merge last thursday):
https://github.com/sglienke/TBCEditor/commit/54f9197d0bca473ff908c97544a795e7960bf179

@sglienke
All I have, I commited.
Licenses are an egoism game only. Nobody has any right to allow or deny somebody else anything.

My point is you put everything into one commit instead of just pushing the state you had to the remote which would have kept original commits from Lasse intact (which I personally would have preferred). Maybe you still have this and we can fix it.
As for your comment on licences - please let's keep it professional and not go into some religious or philosophical discussions. Software licenses are a legal thing and have to be treated with respect - if you don't do that you can be sued. But as I said the license he chose allows continuing his work (see https://choosealicense.com/licenses/mit/).

You are philosophizing about peace and harmony and dictated Lasse what he has to do and what not (this was the reason for all that shit is going on atm)? he did share, and he did it for free, so what do you want more ?!
clear case of double standards... cannot take that serious

@sglienke
Once again: Nobody has any kind or right. Also no police officer, no judgement, no government and no presendent. All if this are Egoism games only.
We only believe that the government would have rights - this is a religious.
@buddyman83
I don't dictacte Lasse to do something or to do something not. But I tell my opinion - that's all. And if Lasse want's to have write access to this repository, I would give it to him.
And if somebody please me to publish the login information of the bonecode account here, I will publish it here. Should I?

@NilsHoyer Well, we either keep it to what is established standard among the open source community or we don't. If we don't - I am out.

All of us and Nils too want to return Lasse as chief developer of the project.
Sad incident is a consequence of mutual straightforwardness of two very busy persons.
Lasse, come back, please!

@delphioracle
I don't like chiefs. Imho everybody should provide what he can and accept anybody else like he is. Also I think we should not feed the egoithm of other people. If Lasse wants to comeback it's Ok for me. If he - or somebody else provides this project, I don't have to do this - that would be great for me.
But I can provide it ... and I believe there are people I can make happy with my work. That is the reason try to assist.

@NilsHoyer

But I can provide it ... and I believe there are people I can make happy with my work. That is the reason try to assist.

It is very good. Make your own fork of BoneCode project with other name, and I follow you.
However, I consider that Lasse has all reasons for own vision of ways of implementation of the project.
It was not manifestation of a indelicacy or egoism. This consequence of deep immersion in an array of problems.
And if Lasse returns, I will follow him too.

@delphioracle
Find your own way - and go it. Don't follow other people. Don't please them about anything. Figure out, how you can provide other people and just do it. I found my way to follow god - it's often not easy to follow him, but it's just the best way... ;-)

Please  Devexpress support!

My way is enhancement and optimization of other people's  source code.
And I provided Lasse with my code in this direction several times.
My last fix from 05.02.2017 (merged with Latest commit) was optimization of work with very large xml files (test file 149 Mb with line length up to 24 Mb):
WordWrapOptim.zip

Test results:

File Loading time in the word wrap mode: OLD 300 sec;  NEW <15 sec
File Loading time without word wrap mode: OLD 9 sec (or out of memory in some cases);  NEW 3 sec.

Lasse closed my isssue: I reviewed the code and decided not to merge this code. I will investigate how to optimize that later.
This example shows the hidden complexity of joint development of large software products.
I can explain Lasse's decision.

@aliyesiloglu @delphioracle
Please open new issues to make it easier to handle different problems.
... and please give me a few days of time. This project is completely new for me...
Lasse was very fast closing issues or ignoring change suggestions. I will try to make it better - we will see, if I'm aple to do this...

Not to be the fly in the soup here -- but Lasse forked my code.
And also the license i had has been altered.
So you are in fact trying to publish segments of code that belongs to me, that is not freeware and published under a modified Apache, not GPL.
And how exactly the inventor and originator of a project can be selfish when its his code, that i have some problems with.
But ill take this up with lasse shortly.

@quartexNOR
What are you trying to tell us and what do you expect, how other people (and me) should handle your comment?
If we humans wants to live in peace, harmony and richment, we have to stop fighting against eachother. Claiming rights never helps to have peace, forcing others to do something never brings harmony and  prosperity we get, if we share all we have.
If you want to bring advantages and prosperity to people, I suggest you find a way to provide them by offering what you have and what you can do. :wink:

Maybe Lasse was quick in closing issues, but he did a good work. You are just talking nonsense the whole day about peace, harmony and god. Nobody is interested in that and github isn't the right place for such esoterism ramblings.
If you want peace get in touch with him and say sorry for your bold behaviour.

@buddyman83
I don't have any problem with Lasse. And I think everybody should do his best to live in peace and harmony everywhere and anytime his whole live. I do my best to do this - and I ask other people to do this too. I told this to Lasse - and I invite you too.
Closing issues while they are not solved it respectless for me.

Again. Lasse should give a statement with regards to the legality to this.
You cant just take over a project just because you feel like it.
From what i hear, lasse is still working on this - but he is now working with just a few people -- that makes this a rouge project which is by def. illegal.
So again, wait until lasse has given a statement.
I dont mind sharing code, but ultimately i shared it with lasse - not you.

@quartexNOR
You want to play Egoithm games - I repect this. ... but I don't follow you invitation, since I decided to be lovefull.

The plot thickens...
If I've understood this drama correctly: @quartexNOR writes some code and places an ASL license on it, passes it on to Lasse who modifies it and places a MIT license on it. @NilsHoyer forks the code maintaining the MIT license.
Who was it then that removed the original MPL/GPL license from the SynEdit source which some of all this was copied from?

@sglienke @Memnarch To stop nonsense discussions I've created new organization and new repository called "newedit". As was recommended by @sglienke the latest commit is newedit/newedit@54f9197d0bca473ff908c97544a795e7960bf179 . Maybe fresh start is good idea.

Every discussion about copyrights is senseless, if we want to live in peace and harmony and if we wants the have prosperity. Copying something does not steal anything.

blablabla.... but deleting comments here is the nice way?
Didn't u say nobody has the right for anything? As said, double standards.
Please delete this whole thing here, its just a fiasco.

The title about this problem was wrong: I didn't meant he gave up any fight ... I meant he leave this project alone. I'm sorry about this confusion.

@bonecode @NilsHoyer Can you please rename your account? "bonecode" belongs to Lasse.
// Sorry my bad English

@delphioracle
Can you place your reqeust in a new issue. I will try to handle it in a few days.

https://github.com/delphioracle/TBCEditor-Backup-ONLY/issues

@delphioracle
Until now, I realized a lot of changes. If I want to apply your modifications, it's a lot of work for me.
Would it be easy for your to offer your modifications as a PullRequest? I would apply it...


refactor GenericHWControlLoop to a sleep-based loop

using ros:Timer (= ROS callbacks) might lead to deadlocks, as reported and discussed in https://github.com/ros-controls/ros_control/issues/265
I am aware that this breaks the API.
As an alternative another thread could be spawed in the GenericHWControlLoop constructor, but this feels just wrong ;)

Sorry for the delay in merging this, looks good to me!


Web interface on streamlit, Updated chains architecture, drawing execution pipeline

Hello @AaLexUser! Thanks for opening this PR.


Resolve 2024 lints on unsafe attributes and extern block

Closes #101.

Thanks for fixing this so quickly!


Cross Compilation Python 3.8 Rasberry Pi 4 AARCH64 fails

Click to expand!
Issue Type
Build/Install
Have you reproduced the bug with TF nightly?
No
Source
source
Tensorflow Version
v2.8.4
Custom Code
No
OS Platform and Distribution
Ubuntu 20.04
Mobile device
No response
Python version
3.8
Bazel version
4.2.1
GCC/Compiler version
9.4.0
CUDA/cuDNN version
No response
GPU model and memory
No response
Current Behaviour?
The compilation succeeds.

Standalone code to reproduce the issue
tensorflow/tools/ci_build/ci_build.sh PI-PYTHON38 tensorflow/tools/ci_build/pi/build_raspberry_pi.sh AARCH64

Relevant log output
2023-01-29 18:19:00 (1.55 MB/s) - 'get-pip.py' saved [2569500/2569500]

/install/install_pip_packages_by_version.sh: line 24: /usr/local/bin/python3.8: No such file or directory
ln: failed to create symbolic link '/usr/include/python3.8/numpy': No such file or directory
The command '/bin/sh -c /install/install_pi_python3x_toolchain.sh "3.8"' returned a non-zero code: 1
ERROR: docker build failed. Dockerfile is at /home/foobar/projects/tensorflow/tensorflow/tools/ci_build/Dockerfile.pi-python38

Hi, @mohantym
Could you please look into this issue ? Thank you

I have updated the used Ubuntu Version in the Docker image to 20.04 and added some missing dependencies (python3-virtualenv, libpython3.8-dev,dirmngr, gpg-agent), but I'm still facing:

In file included from /usr/include/python3.8/Python.h:8,
from ./tensorflow/python/lib/core/numpy.h:35,
from tensorflow/python/lib/core/numpy.cc:20:
/usr/include/python3.8/pyconfig.h:9:12: fatal error: aarch64-linux-gnu/python3.8/pyconfig.h: No such file or directory
include <aarch64-linux-gnu/python3.8/pyconfig.h>

Hi @kaoh!
Could you confirm the same behavior  in 2.11 , Bazel 5.3.0 and Python 3.9  too.
Thank you!

I try to test it. I see in the current tree that the build files have changed, right, it is just build_raspberry_pi.sh now? The instructions are the same? But anyway, I need the exact version 2.8.4. This is the dependency used in my current Rasa version.

@kaoh !
Thanks for the update.
@sachinprasadhs !
Could you look at this issue.
Thank you!

I got with v2.11 this error:

ERROR: /home/widerstand/.cache/bazel/_bazel_widerstand/65bc50a2aeca8de8f79bfe9d2f5bf825/external/boringssl/BUILD:182:11: Compiling src/ssl/bio_ssl.cc failed: (Exit 1): aarch64-linux-gnu-gcc failed: error executing command
(cd /home/widerstand/.cache/bazel/_bazel_widerstand/65bc50a2aeca8de8f79bfe9d2f5bf825/execroot/org_tensorflow &&
exec env -
PATH=/home/widerstand/.local/bin:/home/widerstand/.pyenv/shims:/home/widerstand/.nvm/versions/node/v15.0.1/bin:/home/widerstand/gems/bin:/home/widerstand/Programme/dex2jar-2.0/:/home/widerstand/Android/Sdk/build-tools/30.0.3/:/home/widerstand/Android/Sdk/platform-tools/:/home/widerstand/.nix-profile/bin:/home/widerstand/bin:/usr/local/cuda-11/bin:/usr/local/cuda-10.2/NsightCompute-2019.1:/home/widerstand/.local/bin:/home/widerstand/bin:/home/widerstand/.pyenv/bin:/opt/maven/bin:/opt/ant/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/widerstand/.dotnet/tools:/home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin:/home/widerstand/bin:/usr/local/cuda-11/bin:/usr/local/cuda-10.2/NsightCompute-2019.1:/home/widerstand/.local/bin:/home/widerstand/bin:/home/widerstand/.pyenv/bin:/opt/maven/bin:/opt/ant/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/widerstand/.dotnet/tools:/usr/local/go/bin:/home/widerstand/projects/git-cinnabar:/home/widerstand/projects/git-cinnabar
PWD=/proc/self/cwd
PYTHON_BIN_PATH=/home/widerstand/.pyenv/versions/3.8.16/bin/python3
PYTHON_LIB_PATH=/home/widerstand/.pyenv/versions/3.8.16/lib/python3.8/site-packages
TF2_BEHAVIOR=1
/home/widerstand/.cache/bazel/_bazel_widerstand/65bc50a2aeca8de8f79bfe9d2f5bf825/external/aarch64_linux_toolchain/bin/aarch64-linux-gnu-gcc -fstack-protector -g0 -O2 -DNDEBUG -ffunction-sections -fdata-sections -isystem /home/widerstand/.cache/bazel/bazel_widerstand/65bc50a2aeca8de8f79bfe9d2f5bf825/external/aarch64_linux_toolchain/lib/gcc/aarch64-linux-gnu/8.3.0/include -isystem /home/widerstand/.cache/bazel/bazel_widerstand/65bc50a2aeca8de8f79bfe9d2f5bf825/external/aarch64_linux_toolchain/lib/gcc/aarch64-linux-gnu/8.3.0/include-fixed -isystem /home/widerstand/.cache/bazel/bazel_widerstand/65bc50a2aeca8de8f79bfe9d2f5bf825/external/aarch64_linux_toolchain/aarch64-linux-gnu/include/c++/8.3.0/ -isystem /home/widerstand/.cache/bazel/bazel_widerstand/65bc50a2aeca8de8f79bfe9d2f5bf825/external/aarch64_linux_toolchain/aarch64-linux-gnu/libc/usr/include/ -isystem /usr/include/python3.5 -isystem /usr/include/ -MD -MF bazel-out/aarch64-opt/bin/external/boringssl/objs/ssl/bio_ssl.pic.d '-frandom-seed=bazel-out/aarch64-opt/bin/external/boringssl/objs/ssl/bio_ssl.pic.o' -fPIC -iquote external/boringssl -iquote bazel-out/aarch64-opt/bin/external/boringssl -isystem external/boringssl/src/include -isystem bazel-out/aarch64-opt/bin/external/boringssl/src/include -Wno-all -Wno-extra -Wno-deprecated -Wno-deprecated-declarations -Wno-ignored-attributes -Wno-unknown-warning -Wno-array-parameter -Wno-stringop-overflow -Wno-array-bounds -Wunused-result '-Werror=unused-result' -DAUTOLOAD_DYNAMIC_KERNELS '-std=gnu11' -O3 -funsafe-math-optimizations -ftree-vectorize -fomit-frame-pointer '-std=c++17' -Wa,--noexecstack '-D_XOPEN_SOURCE=700' -Wall -Werror '-Wformat=2' -Wsign-compare -Wmissing-field-initializers -Wwrite-strings -Wshadow -fno-common '-std=c++11' -Wmissing-declarations -Wno-builtin-macro-redefined '-D__DATE="redacted"' '-D__TIMESTAMP="redacted"' '-D__TIME="redacted"' -no-canonical-prefixes -fno-canonical-system-headers -c external/boringssl/src/ssl/bio_ssl.cc -o bazel-out/aarch64-opt/bin/external/boringssl/_objs/ssl/bio_ssl.pic.o)
Configuration: 937f5c039a0e9cf9e459e05164699e07aa69a5cdb342e38cb96576f4c5a233f9
Execution platform: @local_execution_config_platform//:platform
cc1plus: error: command line option '-std=gnu11' is valid for C/ObjC but not for C++ [-Werror]
cc1plus: error: unrecognized command line option '-Wno-array-parameter' [-Werror]
cc1plus: error: unrecognized command line option '-Wno-unknown-warning' [-Werror]
cc1plus: all warnings being treated as errors
INFO: Elapsed time: 1841.748s, Critical Path: 269.06s
INFO: 2027 processes: 399 internal, 1628 local.
FAILED: Build did NOT complete successfully

I'm not sure if build_raspberry_pi.sh is well maintained. You might need to fix the script by yourself.
But TFLite build is well maintained. https://www.tensorflow.org/lite/guide/build_cmake_pip#arm_cross_compilation
You can develop your ML model in x86_64 workstation and deploy it to RPI via TFLite inference engine.


A reboot is needed to reconnect the LED Matrix to the daemon

As I briefly mentioned in #2, if the LED Matrix gets disconnected from the laptop, the systemd service fails to communicate with the LED Matrix and also fails to restart.
It's mostly a user experience issue, as it's slightly annoying to have to reboot every single time I have to remove a part of the input deck (and therefore disconnect the LED Matrix)

The device indices are being reassigned after you pull them out. Initially, they're set to /dev/ttyACM{0,1} but after the reboot they change to something like /dev/tty/ACM{2,3}.
I'm considering using some udev rules to solve this but I'm not sure which ones at the moment.
I thought I could differentiate the devices by serial numbers, but they appear to be the same:
❯ udevadm info --name=/dev/ttyACM2 --attribute-walk | grep -i serial
    ATTRS{serial}=="FRAKDEBZ0100000000"
    ATTRS{serial}=="0000:c1:00.3"
❯ udevadm info --name=/dev/ttyACM3 --attribute-walk | grep -i serial
    ATTRS{serial}=="FRAKDEBZ0100000000"
    ATTRS{serial}=="0000:c1:00.3"

A dumb mitigation would be accepting a list of possible devices, but I'm not that desperate yet.

Next thing, is that while the port is being held, the kernel allocates new numbers. I'll try releasing the port when I get broken pipe and after that it might work again. Need some more time for testing.

Updated aur. Works for me now.

Updated aur. Works for me now.

Thank you, will try this out now.

I am unable to update the daemon from the AUR.

Right now the LED matrix do not come back after being reconnected, probably due to this issue

This is weird. I recompiled it just now and everything's fine one my side.
I am using rust nightly to build the package:
build() {
  cd "$pkgname-$pkgver"
  export RUSTUP_TOOLCHAIN=nightly
  export RUSTFLAGS="--cfg tokio_unstable --cfg=tokio_unstable"
  export CC=clang
  cargo build --release --locked
}

Are you sure you are not defining something like RUSTUP_TOOLCHAIN on your side?

I am using rust nightly to build the package:
I was using the standard rust package. Installing nightly fixed the issue.


Clone attributes from newest source file; option to skip concatenation if destination file exists and is newer than newest source

Issue 96

Clone attributes from newest source file instead of the first
Introduce an option to skip concatenation if destination file exists and is newer than newest source

Please note I took @contra 's comment to mean that skipping concatenation based on mtime should be the default behaviour... If that is not what we want just change line 27 in index.js.

Not sure I understand the reasoning behind the second modification (skipping concatenation). I don't think that should be included.

@contra Ah, all right, my bad. I must have misunderstood your earlier response to my comment about skipping the concatenation when none of the input files had changed, where you wrote that "I think that should be built into the plugin though, not something the user has to specify."
Anyway the first modification will work fine without the second.

@erikkemperman Can you modify the PR or send a new one with just the first change?


Add footnote syntax?

As discussed in #31 it appears that people are for a footnote syntax, as implemented in some flavours of Markdown (see Extended Syntax):
Here's a simple footnote,[^1] and here's a longer one.[^bignote]

[^1]: This is the first footnote.

[^bignote]: Here's one with multiple paragraphs and code.

    Indent paragraphs to include them in the footnote.

Can we come to a decision on this, bearing in mind

that this syntax extension is not strictly compliant with CommonMark, as discussed here
That (as with any syntax extension) this would incur some parsing performance cost (although probably minimal)

Note these footnotes would be inherently auto-numbered, as can be tried in the VS Code standard preview (GitHub markdown does not support footnotes)

paging @choldgraf @mmcky @jstac @akhmerov @najuzilu

On the question "should we have a syntax for footnotes?" I think the answer is "yes", since it's a common-enough syntax in writing documents.
To the question "which syntax should we use?" I think it should Pandoc syntax:

[^footnotename] and later in the page: [^footnotename]: This is my footnote

This use-case is worth supporting since it is already quite similar to the rST footnote syntax.
The second question is whether to support inline footnotes, like this:

^[this is a footnote to be auto-numbered]

My intuition is that we should hold off on this one for now and revisit later on if it makes sense to accept this use-case (ie, if lots of people ask for it).
What do folks think?

Yep I’m for it. Just wanted to make clear the potential cons of its implementation.

What are your thoughts on inline footnotes? On the one hand, RMarkdown already supports this, but on the other hand, this would be breaking out of the strict "we don't do things that rST doesn't do" rules

What are your thoughts on inline footnotes? On the one hand, RMarkdown already supports this,

I'd say no because its pretty non-standard and could just as easily be handled in a simple extension:
{foot}`this is a footnote to be auto-numbered`

rather than introducing more complexity into the parser, leading to a slower parse and more potential bugs.

I like the idea of using roles for in-line footnotes, that's a clever idea. Gee who would have thought that extension points in a markup language would be useful 😅

I prefer Pandox syntax - which is straightforward and simple - and I like @chrisjsewell's idea for in-line footnotes.

Would `{^}`this is a footnote to be auto-numbered` be possible to handle using a role?

@akhmerov I think it would be possible but that this role doesn't yet exist, so somebody would need to write a little sphinx extension for it (similar to what Pandoc does...I believe that syntax is only enabled w/ an extension)

I meant to ask whether role names may contain special characters like ^ in myst. That would provide a compact syntax for inline references.

ohhh interesting - I'm not sure...maybe that's a question of whether rST allows for roles names with those characters?

But MyST's goal is not syntax compatibility, rather than AST compatibility, isn't it? That seems to be more within the responsibility of a parser.

yes-and-no, I we want to be thoughtful and probably slow in deciding to branch off in new directions. One of the goals of MyST is "be as close to CommonMark as possible, but extend the syntax so we can use Sphinx". Adding in-line footnotes with special syntax would be another departure from CommonMark and in a direction that doesn't map on to a pre-existing Sphinx behavior. That's why I agree w/ @chrisjsewell 's intuition to use roles for this, and why I think the question is "would Sphinx allow for a role called ^?"

I think the question is "would Sphinx allow for a role called ^"

Seemingly the answer is "no"—the role names seemingly need to be alphanumeric.

Bummer - well, perhaps it could be ft or something quite short like that?

But MyST's goal is not syntax compatibility, rather than AST compatibility, isn't it? That seems to be more within the responsibility of a parser.

MyST's goal is to be spec compliant; this means parsing the tests outlined in: https://spec.commonmark.org/0.28/spec.json
As you can see here: https://github.com/ExecutableBookProject/MyST-Parser/blob/fb83d74243a6e8bf00e872ef4707c223d9fe56dd/tests/test_commonmark/test_commonmark.py#L17
All these tests currently pass, except a few minor non-compliances (reasons documented),
any change/addition to the syntax should have a very good reason for introducing any more non-compliances.

I think the question is "would Sphinx allow for a role called ^"

Seemingly the answer is "no"—the role names seemingly need to be alphanumeric.

This is the docutils regex for allowed role names:
    # Alphanumerics with isolated internal [-._+:] chars (i.e. not 2 together):
    simplename = r'(?:(?!_)\w)+(?:[-._+:](?:(?!_)\w)+)*'

So a no on ^

I think either way, we should table the "shorthand for inline footnotes" conversation to a different issue, and in the meantime can we agree that this style syntax:

[^footnotename] and later in the page: [^footnotename]: This is my footnote

should be included in MyST?

closed in #119


Ensure that we can change the local rotation when anchoring

About the PR
Always allow local rotation changes when anchoring an object. Fixes #13183. Not 100% sure what the use-case for the NoLocalRotation setting is for -- those objects probably need a more general fix for when they start to overlap a new grid, but this change at least allows players to anchor an object to realign it's transform so that it fits through doors etc.
Media

[X] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

Changelog

:cl:

fix: Anchoring large objects now aligns them to their new grid

https://github.com/space-wizards/RobustToolbox/pull/3634 does not reproduce the issue anymore, so closing this PR.


adds docker files

Pre-submission checklist:
Please check each of these after submitting your pull request:

[ ] Are you only including a repo_url if your project is 100% open source? If so, you need to pick the single best GitHub repository for your project, not a GitHub organization.
[ ] Is your project closed source or, if it is open source, does your project have at least 250 GitHub stars?
[ ] Have you picked the single best (existing) category for your project?
[ ] Does it follow the other guidelines from the new entries section?
[ ] Have you included a URL for your SVG or added it to hosted_logos and referenced it there?
[ ] Does your logo clearly state the name of the project/product and follow the other logo guidelines?
[ ] Does your project/product name match the text on the logo?
[ ] Have you verified that the Crunchbase data for your organization is correct (including headquarters and LinkedIn)?
[ ] ~10 minutes after opening the pull request, the CNCF-Bot will post the URL for your staging server. Have you confirmed that it looks good to you and then added a comment to the PR saying "LGTM"?

$ make run-server-on-docker
you can also run it directly
$ docker run -ti --rm -p 8001:8001 riscv/landscape


Windmill Integration Flow

We need to accept data from the U. Chicago Windmill data explorer for NIH Commons. Unlike Boardwalk, who just hauled off and implemented a complete data send, Chicago is going to delegate sign-in and workspace selection to the Saturn UI.
To this end, they will link users to our UI. In doing so, they will send us a signed URL at which data can be retrieved from their system. In the Saturn UI, users should sign in and select a workspace (very similar to the Dockstore flow).
We will then pass the signed URL to a new backend API endpoint that the Content and Discovery team is creating, which will ingest the data. On successful ingest, the user should be taken to the data tab of the workspace they have selected.
Ask Hussein for the API specification.

Given that we are reusing the workspace selection design from the Dockstore import flow, we are going to proceed without formal visual design (@zarsky-broad can make any calls regarding details)

Swagger definition for our side (not implemented yet, wanted to get it spec'd for you ASAP): https://github.com/broadinstitute/firecloud-orchestration/blob/3591_bagit/src/main/resources/swagger/api-docs.yaml#L2467
Ping me if you have Qs.

Note that we currently use "import" for Dockstore. It might be better to rename this to "import-workflow" so it can be distinguished from "import-data" for this case.


It is taking negative number as input

So the input is taking negative number, and we have to stop that.

Thanks to @miso33 the issue is now closed.


Javascript error

I am trying to use Ngrok to expose my localhost:5000 to the web, and this is working fine on my PC localhost, but it wont display the map on the ngrok public address. I can access the settings but it says "not authenticated, no scans yet, no full scan yet" even though it says logged in, sleeping, last full scan... on my pc. Is this supposed to be compatible with ngrok?

It's a javascript issue. Can you post the js console log?

Hi there, I have this error too - here is tha java script console https://gyazo.com/49d322d0a99883524757b2a2d97c0c0f

Whats happens if you access localhost:5000/static/map.js directly?
What's the output of the cmd console?

Internal server error
https://gyazo.com/c0237756d6695cfdb25a003d6520300a

So the ngrok address works on my PC, but the inability to see the map as I described was on my iphone. I can't get the JS console from safari on the iphone right now, but i'll try in a few hours. I have attached what I see when I put localhost:5000/static/map.js on my pc where the program is running

I don't get any output on the chrome js console or the command prompt when i did the localhost:5000/static/map.js

got the same error, Pokemon dont show up on the map, but i can see them in stats.
java script console says:
TypeError: document.getElementById(...) is null
map.js:488:1
TypeError: google.maps.places is undefined
map.js:128:9

I had a javascript error too while trying to load the map, the problem was that I missed to add the Google maps Api key to /pogom/init.py

@favll @nborrmann I found what was causing the error on my iphone, I got the JS console on the iphone and it says this:
"SyntaxError: Unexpected use of reserved word 'let' in strict mode
map.js:2"
So the problem is with the let statement on that 2nd line in map.js, you guys know better but I guess that's not compatible with mobile safari. Its not working on the chrome app on my iphone either.

Should be fixed in ea72e2c24e1b5c53cacf37a7aeb68087eb9b0583. Please comment if it still doesn't work. Closing this for now.


Set up the snapshot repo for fitting our UI case

Change the texts,
make it instead of spaces to have a twitter account,
change it on mainnet ( now is on testnet),
hide the other spaces.

DONE


Unable to use --configuration with Jest

I am using Jest just followed Jest guide.
The problem is: jest cli validate the argv arguments.
So you cannot just throw --configuration here.
The thing is: detox rely on argv to read this option so we cannot configure this via node API.
Are you open to a change to make configuration name an option for the node API too? Btw, argv thing should be on CLI, no in the core.

https://github.com/wix/detox/pull/335

This might help indeed, but I guess I will leave this issue open as it can happen for other runner until those are implemented. Will rename issue accordingly.

Hi @MoOx! You can already check implementation in #335 😉

Yeah I saw this once, nice job :)

<EMAIL_ADDRESS>has been released with #335 in it. Should be solved now, right? Can you please verify that the issue is gone now and if so, close the issue?

Closing this issue, Detox core now reads both argv and env vars (to support Jest)