[script-compiler] Mapping sent and received messages and avoiding race conditions

I'd like to have a one-to-one correspondence between the text I send to the Textlint worker and the lint result I receive from the Textlint worker.
However, the order I received results from the Textlint worker can differ from the one I posted texts to the worker probably because kernel.lintText is async. Ref:
https://github.com/textlint/editor/blob/b32d016d23087d6e7e3ff8de84984a10a90e2815/packages/%40textlint/script-compiler/src/CodeGenerator/worker-codegen.ts#L125-L136
So relying on message reception order can cause a race condition. Pseudocode:
worker.addEventListener("message", (event) => {
  // lint result of text#2 comes first
  // lint result of text#1 comes next
})
worker.postMessage({
  command: "lint",
  text: "text#1 very long text that takes a long time to lint",
  ext: ".txt"
})
worker.postMessage({
  command: "lint",
  text: "text#2 short text; lint finishes quickly",
  ext: ".txt"
})

More higher-level example:
https://github.com/textlint/editor/blob/b32d016d23087d6e7e3ff8de84984a10a90e2815/packages/textchecker-element/index.ts#L41-L63
const texts = ["text#1 very long text that takes a long time to lint", "text#2 short text; lint finishes quickly"]
const results = await Promise.all(texts => lintText({ text }))
// [<lint result of text#2>, <lint result of text#2>]
// lint result of text#1 goes away

Some Web Worker libraries use IDs in messages. I think it can be one of the ideas to solve this problem.
For example, comlink:
https://github.com/GoogleChromeLabs/comlink/blob/dffe9050f63b1b39f30213adeb1dd4b9ed7d2594/src/comlink.ts#L596-L615
For another example, minlink:
https://github.com/mizchi/minlink/blob/98f0eed1b1fc00a51709e07c6fe3e18232cdfaad/src/shared.ts#L52-L61

I'm ok that adding identifier to messages.
Specifically, the worker code receives the id and puts the id against the xxx:result as follows?
const id = crypto.randomUUID();
worker.addEventListener("message", (event) => {
  if(event.data.id === id) {
    console.log("result of #1");
  }
})
worker.postMessage({
  id, // <= added
  command: "lint",
  text: "text#1 short text; lint finishes quickly",
  ext: ".txt"
})

Yes. The way you showed looks good to me.

Another Discussion Points

Is the naming correct?

metadata property is another option, but id is simpler

Should id is required property not to be optional?

I prefer to make it required property

I prefer id as it looks like a common practice in other libraries such and comlink or typed-worker
I also prefer to require id property to avoid the pitfall of race condition by design

I agree with you.
TODO

[ ] add id to messaging as required property
[ ] fix usage https://github.com/search?q=repo%3Atextlint%2Feditor postMessage&type=code

Welcome to PR

I am trying to make a PR and found another discussion point:

Error handling

Textlint worker should notify when id is missing or something went wrong
Throwing Error in the worker can be handled by addEventListener("error", ...) but error object does not have id

This cause a race condition too

How should the worker notify error information with id?

One of my ideas is that the worker responds with a newly-defined TextlintWorkerCommandResponseError instead of throwing Error.

Yeah, error response is reasonable.

Sorry, I found a simple oversight in my idea. When id is missing, the worker cannot respond with id.
My idea works only if id exists and something goes wrong, for example, when kernel.lintText fails.

My another idea is just to throw Error if id is missing to show that the worker will never work without id, and to respond with TextlintWorkerCommandResponseError if id exists and Textlint fails.

I think that worker should just post error message when id is missing.
It is global error like Window: error event.
If the command has id and some error on liting, worker post error with id like { message: "xxx", id/commandId: "xxx" }

It may be better to proceed separately with the PR to add the id and the PR to make the id mandatory.
The latter is a disruptive change, so there is a lot to think about.

My idea that just throws Error when missing id looks like this:
const id = crypto.randomUUID();
worker.addEventListener("message", function onResult(event) {
    const data: TextlintWorkerCommandResponse = event.data;
    if (data.id === id) {
        if (data.error) {
            console.error(data.error); // id exists but something went wrong
        } else {
            console.log(data.result) // succeeded
        }
        worker.removeEventListener("message", onResult);
        worker.removeEventListener("error", onError);
    }
});
worker.addEventListener("error", function onError(error) {
    console.error(data.error); // missing id error
    worker.removeEventListener("message", onResult);
    worker.removeEventListener("error", onError);
});

Or more comprehensive idea is that script-compiler provides client-side code to force Textlint message protocol as some other libraries do. Though this is complicated.
const textlint = wrap(new Worker("textlint-worker.js"));
const results = await Promise.all([
    textlint.lint("text#1 short text; lint finishes quickly", ".txt"),
    textlint.lint("text#2 short text; lint finishes quickly", ".txt")
]):
// safe for race conditions by default
// provides best way to work with Textlint worker, id and error handling included

Ah, I did not know that catch the exception on the worker via worker.addEventListener("error", ....
It is better than command === error.

I am considering that it may be better to first create a PR that provides error response messages for error handling, then make a PR that makes id required.


Proposal: Allow isolated declarations to infer results of constructor calls

🔍 Search Terms
isolated declarations constructor generic infer
✅ Viability Checklist

[X] This wouldn't be a breaking change in existing TypeScript/JavaScript code
[X] This wouldn't change the runtime behavior of existing JavaScript code
[X] This could be implemented without emitting different JS based on the types of the expressions
[X] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, new syntax sugar for JS, etc.)
[X] This isn't a request to add a new utility type: https://github.com/microsoft/TypeScript/wiki/No-New-Utility-Types
[X] This feature would agree with the rest of our Design Goals: https://github.com/Microsoft/TypeScript/wiki/TypeScript-Design-Goals

⭐ Suggestion
Add a new flag or change the behavior of --isolatedDeclarations so that in the following code which is currently disallowed by isolated declarations:
export const foo = new Foo(a);

if the type of foo is not Foo, there is a typecheck error. In return, the type of foo will be emitted as Foo.
Similarly, if somehow in
export const foo: new Foo<A>(a);

foo is not a Foo<A>, there is a typecheck error.
📃 Motivating Example
Currently under isolated declarations, code must redundantly declare the type of a variable which is the result of a constructor call.
export const foo: Foo = new Foo(a);

This setting would also eliminate https://github.com/microsoft/TypeScript/issues/59768
💻 Use Cases
^

This probably isn't possible as the constuctor for types don't have to have any relation to the returned type. i.e. If you have new Foo() this doesn't mean the result is of type Foo (or even that a type called Foo even exists).
Like the following example couldn't work with isolatedDeclarations (if Foo was imported) as TypeScript wouldn't know that new Foo() actually returns Bar without looking into lib.ts:
// lib.ts
export type Bar = {
    prop: number;
};

export type FooConstructor = new () => Bar;

expot const Foo: FooConstructor = function() { /* ... */ };

// main.ts
import { Foo } from "./lib.ts";

const f = new Foo();

Like the following example couldn't work with isolatedDeclarations (if Foo was imported) as TypeScript wouldn't know that new Foo() actually returns Bar without looking into lib.ts:

My proposal already covers this:

if the type of foo is not Foo, there is a typecheck error.

Since there is no type Foo, then type of foo clearly can't be Foo 😉

It's worth noting that it's possible to get the type via InstanceType.
For example:
const x = new Map<string, number>();
(x satisfies InstanceType<typeof Map<string, number>>)

There may be some edge cases but this could be the mechanical transform that allows the general case to work.
TS can error in cases where it's not that simple (eg if there are complicated overloads or something).

This was discussed in our initial ID meetings but a fully-correct implementation is quite fraught. The real check you have to do is pretend that a const x: Foo annotation exists, resolve that Foo (it's in type space, not expression space), and see if the Foo that resolves too is "the same" one that the constructor refers to. But even "same" is tricky; you could imagine something like
// joker.ts
export type Bar = {
  a: string;
}
export type Foo = Bar;
export const Foo = {
  new(): Foo;
}

where
import { Foo, Bar } from "./joker.js"
const f = new Foo();

where at
const f: Foo

Foo has three meanings:

The local import Foo
The target of the import joker->Foo
The target of the import of the alias joker->Foo->Bar

While it's true that const f: Foo = new Foo() would mean the same thing, we'd be looking at this thinking "new Foo() returns Bar, not Foo" and erroring.

The design we settled on for isolatedDeclarations to start was that any error checking must not consult the checker, such that an external emitter could know when an annotation is needed/not needed without tsc.
Anything past that are "optimistic" checks where one would need to call tsc somewhere to know that the output is usable (along with defining new rules that say stuff like "new Map means : Map". Changing this is definitely a change in strategy of the feature.
But the lack of inference on new is definitely the most annoying of the bunch.

I wrote the above on my phone and the page didn't update with Ryan's comment until I sent it, oops ☹

and see if the Foo that resolves too is "the same" one that the constructor refers to

Does it need to be that strict? Could we settle for checking assignability? Like treat it as semantically equivalent to new Foo() satisfies Foo (or upcast<Foo>(new Foo()) if we're being pedantic about the behavior of satisfies)?

Anything past that are "optimistic" checks where one would need to call tsc somewhere to know that the output is usable

I think that's exactly right and I think having optimistic checks brings some needed ergonomics to using isolated declarations. I think https://github.com/microsoft/TypeScript/issues/58800 is in the same boat (please prioritize that one over this though I'd hope both make it into 5.7).

Could we settle for checking assignability?

You're talking about a different feature than isolatedDeclarations at that point. Immediately we'd get a request for strictIsolatedDeclarations which enforces that they'd be exactly identical.

@RyanCavanaugh wouldn't your tricky case be handled by InstanceOf<typeof Foo>? playground
Would there be some pure syntax transform that could be done like that? Are there edge cases that it couldn't handle?

Are there edge cases that it couldn't handle?

Unfortunately overloads don't really work with conditional types so a simple case like:
type C = {
    new(): Foo1;
    new(x: number): Foo2;
};

// The type here is always Foo2
const o: InstanceoOf<C> = new C();

If the overload-conditional types interation though could be fixed, then having a transform like would work:
type InstanceOf<Args extends ReadonlyArray<any>, C extends new(...args: Args) => any>
    = C extends new(...args: Args) => infer R ? R : never;

const o1: InstanceOf<[], C> = new C();
const o2: InstanceOf<[number], C> = new C(3);

but this would require all parameters to be suitable for inference within isolated declarations.


Fix issues with egress source & destination types.

@andylyall @unwin Please review.

StatefulLoadBalancerTests and StateLoadBalancerTests are good with this change.
Changes make sense.
+1


Reserve Exif meta data

Will this library reserve Exif meta data from a jpeg file? If not, how can i reserve the Exif meta data?

Sorry for long time no update. I can confirm that this library will download the original file without messing with EXIF meta data of jpeg file.


Setup in development environment

Get credentials.csv and put it into the docker folder
Go to config.py and change the credentials_dir value to docker/credentials.csv
Run pip install sqlalchemy
Run `wget https://raw.githubusercontent.com/hammad93/hurricane-net/main/hurricane_net_chatgpt.py'
Run python run.py to pull up API in Github Codespaces.
Add /docs to the end of the URL to get to API documentation.

@app.get('/live-storms-2')
def live_storms_2():
    return requests.get('http://fluids.ai:1337/live-storms').json()

What are secure ways to get the credentials or keys locally?


NTR: ATPase-coupled iron-sulfur cluster transmembrabe transporter activity

Definition | Parents
Definition |
Catalysis of the reaction: ATP + H2O + iron-sulfur cluster(in) = ADP + phosphate + iron-sulfur cluster(out).
Synonyms  English spellings
parent
ATPase-coupled transmembrane transporter activity (GO:0042626)
PMID: 31040179

I will also change BP GO:1902497 iron-sulfur cluster transport to transmembrane transport, since it has not been annotated.

+[Term]
+id: GO:0140481
+name: ATPase-coupled iron-sulfur cluster transmembrane transporter activity
+namespace: molecular_function
+synonym: "ATPase-coupled Fe-S cluster transmembrane transporter activity" EXACT []
+synonym: "Catalysis of the reaction: ATP + H2O + iron-sulfur cluster(in) = ADP + phosphate + iron-sulfur cluster(out)." BROAD [PMID:31040179]
+is_a: GO:0005215 ! transporter activity
+property_value: term_tracker_item https://github.com/geneontology/go-ontology/issues/19685 xsd:anyURI
+created_by: pg
+creation_date: 2020-06-25T17:41:01Z


Not receiving any push notification in iPhone but it works fine in android

There is no error too.
How do I fix this.
please help me

Not receiving any push notification in iPhone but it works fine in android and apns reports no errors neither when establishing a connection nor when sending messages
Please have a look at the url below
http://stackoverflow.com/questions/32246163/apns-messages-are-delivered-but-not-received-on-ios-device
Thanks in advance


search field doesn't unfold on small screens

Search field doesn't unfold on small screens 768 1024 for instance
Guess: it stops to work properly as soon as it is shown above logo

was fixed


added ability to use custom cert in cli

This PR adds :

Ability to use custom cert in cli
Separates skipSSL for cli and agent

NOTE: --skipSSL is now only for cli, to configure agent to skip SSL check either set it during agent creation (interactive mode) or use --skip-agent-ssl for non-interactive mode

You can raise this PR to master. master and v0.7.0 branches are synced.
@Jonsy13 can confirm that.

I think @Jonsy13 mentioned some testing that's needed for v0.7.0 before it can be merged to master, it is not in sync yet I believe.

0.7.0 can't be rebuilt so, no benefit of pushing there. I created the 0.7.0 branch from the master. I think commits are synced.

Updated branch

@Jonsy13 can you review this?


Only hiding content locks notes (and other issues)

Only hiding the notes from the main page automatically locks it with some pin, making those notes unreadable.
Also, when a note is locked by a password, it shows up to enter a pin even when an alphanumerical password is set.
Another issue I've found is that when you open a note, no matter where you tap, the cursor always jumps to the starting position, and typing anything on the keyboard replaces the first word of the note.

Thanks for the report! I didn't actually note those bugs and I'm gonna fix them asap. The lock issues are because of some recent commits, i just have to check some commits and it should be fine. For the text thing, i don't really know what's causing the issue but i should have a workaround for that anyways

I fixed your issues on latest commits, thanks for the report


complete type hints for elasticapm.traces

What does this pull request do?

Related issues
closes #ISSUE

:broken_heart: Build Failed

the below badges are clickable and redirect to their specific view in the CI or DOCS

Expand to view the summary

Build stats

Start Time: 2021-11-16T14:36:46.705+0000

Duration: 16 min 42 sec

Commit: 3370b911abcf6253f07861c2390c0f1ac2252000

Steps errors
Expand to view the steps failures

Show only the first 10 steps failures

Restore files previously stashed

Took 0 min 0 sec . View more details here
Description: coverage-pypy-3-mysql_connector-newest

Restore files previously stashed

Took 0 min 0 sec . View more details here
Description: coverage-pypy-3-pymysql-newest

Restore files previously stashed

Took 0 min 0 sec . View more details here
Description: coverage-pypy-3-mysqlclient-newest

Restore files previously stashed

Took 0 min 0 sec . View more details here
Description: coverage-pypy-3-pymemcache-newest

Restore files previously stashed

Took 0 min 0 sec . View more details here
Description: coverage-pypy-3-graphene-2

Restore files previously stashed

Took 0 min 0 sec . View more details here
Description: coverage-pypy-3-httpx-newest

Restore files previously stashed

Took 0 min 0 sec . View more details here
Description: coverage-pypy-3-httplib2-newest

Restore files previously stashed

Took 0 min 0 sec . View more details here
Description: coverage-pypy-3-prometheus_client-newest

Shell Script

Took 0 min 0 sec . View more details here
Description: python3 -m coverage combine && python3 -m coverage xml

Error signal

Took 0 min 0 sec . View more details here
Description: Python-python-3.6-none tests failed : hudson.AbortException: script returned exit code 2

:grey_exclamation: Flaky test report
No test was executed to be analysed.
:robot: GitHub comments
To re-run your PR in the CI, just comment with:

/test : Re-trigger the build.

/test linters : Run the Python linters only.

/test full : Run the full matrix of tests.

/test benchmark : Run the APM Agent Python benchmarks tests.

run elasticsearch-ci/docs : Re-trigger the docs validation. (use unformatted text in the comment!)

closing for now, it is out of date.


Campaign is unable to be loaded

Whenever starting a new game in the singleplayer mode, the tutorial level never ends up finishing loading, and the game softlocks on the beginning loading screen.
The console report before the game ends up softlocking reads: [23:17:12] [info] [UI SCRIPT] UICodeCallback_UpdateLoadingLevelName: sp_training
(The game is being ran on a 2.5 inch SSD)

Northstar doesn't work with singleplayer for now, launch using the Vanilla executable.
We should probably add this to the docs.

Northstar doesn't work with singleplayer for now, launch using the Vanilla executable.
We should probably add this to the docs.

I added a note to the FAQ in the Wiki for now via this commit.

I added a note to the FAQ in the Wiki for now via this commit.

Thanks

Thanks

I think it's worth having this up as a tracking issue for singleplayer.
I believe this is a regression from builds around July, because we've been using that to test navmeshes in singleplayer.

I think it's worth having this up as a tracking issue for singleplayer.
I believe this is a regression from builds around July, because we've been using that to test navmeshes in singleplayer.

Huh I missed out on that, haha.
@BobTheBob9 keep issue open and use it to track Singleplay/Co-op progress?

Huh I missed out on that, haha.
@BobTheBob9 keep issue open and use it to track Singleplay/Co-op progress?

I think it's worth having this up as a tracking issue for singleplayer.
I believe this is a regression from builds around July, because we've been using that to test navmeshes in singleplayer.

I see, I tought that breaking single player was required for northstar to work

I think it's worth having this up as a tracking issue for singleplayer.
I believe this is a regression from builds around July, because we've been using that to test navmeshes in singleplayer.

I see, I tought that breaking single player was required for northstar to work


Resident Evil Village(RE8) crashed

Upload logs and any crash dumps
re2_framework_log.txt
Identify the REFramework version
I've tried 1.4 and 1.5.2, as well as other game series, and they don't crash.

I found the reason, because not compatible with FSR


[NWPS-1361] - Refactor Phasebanner macro markup

@smanivasag I've refactored the macro markup and styling to be suitable for rich text coming from Bloomreach.
I've also tested this with multiple paragraphs and it's displaying as expected now :+1: Once approved I'll cherry-pick these commits into your release banner branch :slightly_smiling_face:

@smanivasag I've made the changes you mentioned above, thanks! 😎

Thanks very much, @AlexKirstenZA. All looks good.
Just wanted to understand your opinion about the spacing between multiple paragraphs i.e. bottom margin/padding between paragraphs as they currently look closer.


ResBaz 2018 website

@tjdett I'm about to call the first community meeting for ResBaz 2018. Do you think any significant changes need to be made to this new website template, or should I simply rename it resbaz2018 (or create a copy called that), create contributing.md to explain to people how to create their site pages, and hit go?

@DamienIrving I don't think any significant changes need to be made, though it's been a while since I've looked at it. Hobart is the only site page currently, so everybody else will have to copy from that example, but I think I covered most of the functionality people will want to use in their own site pages.


Root Detection for Android

Description
I've tested the root checks on my Nexus 5 device and found that our default check is not sufficient for certain devices.
We are invoking IRoot.isRooted(), but on my device this doesn't catch the root. I need to invoke IRoot. isRootedRedBeerWithoutBusyBoxCheck() which correctly detected the root as did IRoot.isRootedRedBeer().
I'm not 100% sure what solution is best here from an Android perspective. Maybe check both isRootedRedBeer and isRootedRedBeerWithoutBusyBoxCheck? If the isRootedRedBeerWithoutBusyBoxCheck returns false then assume it's a false positive per this doc?
Steps to reproduce

Root or obtain rooted Android Device
Invoke return this.securityService.check(SecurityCheckType.notRooted)
Verify that check.passed is false

@evanshortiss Just to confirm (all the falses and trues get very confusing 😄).
This check (notRooted) should return:

false if the device is rooted
true if the device is not rooted.

So are you seeing it return true when the device is rooted?
I've seen this (https://github.com/scottyab/rootbeer/blob/master/README.md#false-positives) and we should probably take false positives into account. Just confirming the issue you're seeing and the documented issue are the same.

@aidenkeating agreed, it is a little confusing! Here's my code:
  public async ionViewDidEnter () {
    const notRootedCheck = await this.sec.check(SecurityCheckType.notRooted)

    if (notRootedCheck.passed === false) {
      const alert = this.alertCtrl.create({
        title: 'Insecure Device',
        subTitle: 'We detected that this device is rooted. Running as root increases the likelihood of your device being compromised by malicious software designed to steal passwords and sensitive information. Continued use is at your own risk.',
        buttons: ['OK']
      })

      alert.present()
    }
  }

If the check fails i.e notRooted returns passed === false I want to show a warning.
On my rooted Nexus 5 this warning is not triggered as I would expect it to be. In a Pixel 2 emulator running Android API 26 it always reports that it's rooted - this might be an emulator quirk? From my limited testing it seems to be that IRoot.isRooted()(the internal call we use in this module) isn't sufficient and we also need to check IRoot.isRootedRedBeer().
The following screenshots might help. You can see from the user agents that one is my rooted Nexus and the other is an emulator.

So are you seeing it return true when the device is rooted? If so, we do have an issue.

Bingo.

@evanshortiss thanks for all the extra details, I was finding it hard to test/recreate as you outlined, it seems to be a quirk with the emulators, I will add the isRootedRedBeer() function to our check and will ping you in the PR.

@ciaranRoche yeah, I'm not sure what the deal is with emulators since they always return true for all functions as seen above.
It's the real device that's the trickster since it evades the plain ole isRooted()

@evanshortiss I am going to merge the fix now, but I think we should keep this issue open. Next sprint we are bringing in a task on e2e verification of these security checks, ill make note of this issue and see if we can run those e2e steps on a real device for both this SDK and our Android SDK to ensure this issue is resolved.

@evanshortiss Just a quick update, we will be doing e2e testing on real devices and not emulators, so I think I will close this issue now, as anything found from the e2e testing will result in jira's being issued to rectify them.


Add support for pg ~* and !~* operators

Adding pg case insensitive regex operators ~* and !~*

Really nice! Thanks @kingcode42 !  Going to push a new minor version to NPM right now. :)


Collapsed code block capturing output?

An example from linear_algebra - looks kind of weird to me

Seems to be fixed thanks @DrDrij


Add an integration test of chef-client with empty ENV.

This is an integration test to catch the chef-12.2.0 regression that caused #3153 .  This was one of the identified corrective actions.

/cc @btm @jdm @smurawski
Can one of you /cc chef-client-core as well.

awesome. Just a heads up, I don't think this test will run in travis until it is merged.
:+1:
cc @chef/client-core

Please remember to cc @jdmundrawala and not me :)

Dang it!  I was hoping autocomplete would save me but apparently it likes Mozilla.  @jdmundrawala .

@jdm this seems to happen a lot. Is it possible to ignore this project. According to the button, unwatch means you still got at-notifications. Ignored says that you will never get notified.

I made one change to restrict it to !windows.  env -i is probably not going to work there :-P.

Awesome, thanks for doing this! :100: :+1: :ship: :icecream:


Formula docker has not implemented #plist, #service or installed a locatable service file

I get this error when I start docker
what should I do

Nothing, the docker formula does not include a daemon. You'll need to install the cask too if you want to run containers on macOS.


Warning (@tinacms/styles): Inter font should not be imported via CreateGlobalStyle

Description
This warning when developing:

Please do not use @import CSS syntax in createGlobalStyle at this time, as the CSSOM APIs we use in production do not handle it well. Instead, we recommend using a library such as react-helmet to inject a typical  meta tag to the stylesheet, or simply embedding it manually in your index.html  section for a simpler app.

Steps to reproduce
Go to demo-next, kick up development mode and you'll see this warning in the console.
Expected result
No warning, and the font still imports properly.
Actual result
The warning displayed, but it didn't seem to affect the font.
Environment
Tinacms Package Versions

├─┬<EMAIL_ADDRESS>├─┬<EMAIL_ADDRESS>│ ├─┬<EMAIL_ADDRESS>│ ├─┬<EMAIL_ADDRESS>│ │ └─┬<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├─┬<EMAIL_ADDRESS>├─┬<EMAIL_ADDRESS>│ ├──<EMAIL_ADDRESS>│ ├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├─┬<EMAIL_ADDRESS>│ ├──<EMAIL_ADDRESS>│ ├─┬<EMAIL_ADDRESS>│ │ ├──<EMAIL_ADDRESS>│ ├─┬<EMAIL_ADDRESS>│ ├─┬<EMAIL_ADDRESS>│ ├──<EMAIL_ADDRESS>│ ├──<EMAIL_ADDRESS>│ ├──<EMAIL_ADDRESS>

I'd like to hear suggestions for how we should best load fonts. Should it happen only on-demand when Tina is opened? I'm not sure what the best approach is but I know this needs corrected.

Ideally, global styles and the reset would go in some sort of head element. Maybe we use react-helmet for this? I'm not sure the best way either, we'll have to do some digging


Default to a single CPU core

reported as https://github.com/boot2docker/boot2docker/issues/769 by @lmakarov
I'm getting considerably better results with a single core on both Mac and Windows.
The application uses two containers: a web (nginx+php-fpm) and a db (mysql).
I'm seeing a 40% (!!!) performance gain from switching from 8 cores (default and recommended max by VirtualBox) to a single core.
Apparently virtualizing multiple cores for a VM is more overhead than benefit for VirtualBox in most cases. You may achieve better results if the guest stack/application is optimized for a multi-core environment. However, the primary use case for boot2docker is non-production use/local development, so it may make sense to default to a single core for better performance in most cases.

@SvenDowideit wow -- nice.  we'll get this in to see.  thanks!

Incidentally, I haven't run any tests recently but a year or so ago on Windows 8 I ran a Linux VM with the Redis built-in benchmark with Client Hyper-V, VMware Workstation and VirtualBox and VirtualBox was just horrible - IIRC half the throughput of Client Hyper-V. VMware Workstation was close to what Client Hyper-V got (but it costs money).
Oracle is claiming they've made some performance improvements in VirtualBox 5 but I'm running Client Hyper-V now.

With my desktop i3 running Siege against the default Nginx container in Boot2Docker build a66bce5 in Virtualbox 4.3.26-3 under Arch Linux, I get
(trans/sec)

1 CPU
3242.00
3188.01
3184.37

2 CPU
2962.78
2856.34
3023.13

4 CPU
2156.02
2102.68
2287.49

I wonder if this also the case with AMD CPUs.

Sounds good to me.

@frapposelli should we do this for fusion as well?

Yes we should, It was actually the default on fusion a while back, then changed it to align with virtualbox.

Honestly, Fusion should scale decently, I think we should do something like totalcores/2 by default

@frapposelli yes i remember asking you to switch to match :)  I want to do what works best for each hypervisor.  If fusion works well with multiple then lets do that.  sorry for the motion around it :)
I'll do a PR for this.  @frapposelli i will leave fusion as is since it should scale fine -- feel free to switch to total/2 if you want.  Thanks!


Capstone 4.0 support

Capstone 4.0 has released and Crabstone raises an error when facing capstone 4.0:
RuntimeError: FATAL: Binding for 3.0, found 4.0

For anyone needs Capstone4 support and come to this issue -
my fork of Crabstone has upgraded to support Capstone4, and the gem has been pushed as well.


Client create parameters are ignored

Summary of Bug
When creating a client with hermes create client SRC DST we can pass three parameters:

-d, --clock-drift <CLOCK_DRIFT>

Override the default clock drift specified in the configuration

-p, --trusting-period <TRUSTING_PERIOD>

Override the trusting period specified in the config

-t, --trust-threshold <TRUST_THRESHOLD>

Override the trust threshold specified in the configuration

It seems that these parameters are just ignored by Hermes.
Version
I think this was added recently (#836), but I reproduced on current master
hermes 0.12.0+ffb2c522
ffb2c522
Steps to Reproduce
We know the following: In config.toml we set for chain ibc-1:

trusting_period = '1days'
clock_drift = '500s' as the basis for computing the clock drift
trust_threshold = { numerator = '1', denominator = '3' }

These are the default we would expect to be able to overwrite whenever we create a client for source chain ibc-1.
For trusting period parameter -p
Steps:

Create a client for source chain ibc-1 and destination ibc-0 overwritting the trusting period
hermes create client ibc-0 ibc-1 -p 3days

Running `target/debug/hermes create client ibc-0 ibc-1 -p 3days`
2022-02-25T14:18:39.335177Z  INFO ThreadId(21) send_tx{id=ibc-0}: refresh: retrieved account sequence=21 number=1
Success: CreateClient(
...
            client_id: ClientId(
                "07-tendermint-3",

Query the newly-created client: hermes query client state ibc-0 07-tendermint-3 | grep trusting

trusting_period: 86400s,

It is still using the default 1day instead of 3days.
For trust threshold -t

hermes create client ibc-0 ibc-1 -t 2/3

"07-tendermint-4",

hermes query client state ibc-0 07-tendermint-3 | grep -A3 trust_level

trust_level: TrustThreshold {
            numerator: 1,
            denominator: 3,
        },

For max clock drift -d

hermes create client ibc-0 ibc-1 -d 1s
hermes query client state ibc-0 07-tendermint-5 | grep -A3 drift

max_clock_drift: 511s,

Acceptance Criteria

[ ] All three create client options are correctly applied in the CLI
[ ] Integration test capturing the three custom options

For Admin Use

[X] Not duplicate issue
[X] Appropriate labels applied
[X] Appropriate milestone (priority) applied
[ ] Appropriate contributors tagged
[ ] Contributor assigned/self-assigned

The problem is that the implementation of build_client_state for CosmosSdkChain ignores the configuration parameters for the destination chain, except clock_drift. Also, perhaps the destination's chain config is a wrong structure to pass such custom client parameters.


Empty set fails to deserialise back into empty hashset

When a column with a Set type is inserted and defaulted (to become an empty hash set), it is stored in Scylla as null. When reading this, the crate fails to convert the null into an empty hashset.
Apologies for bad image

failed to find meals: NextRowError("SELECT chef, id, name, description, ingredients, allergens, dietary_requirements, images, added_on FROM meals WHERE chef = ?", FromRowError(BadCqlVal { err: ValIsNull, column: 7 }))

https://opensource.docs.scylladb.com/stable/cql/types.html#sets
ScyllaDB does not distinguish an empty collections from a missing value so using Option<Set<T>> is recommended.

That's so dumb, the main driver should use an empty collection for this case lol. Thank you, saved the day once again!

I agree, it's bit unexpected behavior. Maybe we could have some kind of compile time checks if collection is not Option and raise an error.

Driver changes tracked upstream here.


html Table should follow same css/UI as markdown

@rushenn we spoke about it the other day, just wanted to put in your notice so this is tracked well. 😄

Ok fixed.


First commit to add etcd registry support

This moves the etcdv3 registry implementation from go-plugins to go-micro with slight (minimal) code modifications. This PR also updates the go-micro dependencies.
This PR has been mostly tested with etcd 3.3.15, but seems to be working with etcd 3.4, too. It might need few changes here and there.

Wanted to merge asap. We should make one more change to set prefix as /micro/registry so if we add anything else to etcd it's all scoped under /micro


fix dual package hazard

use cjs as the source of truth and just re-export it
fix #168

Sorry I cannot accept this. I already explained why https://github.com/dankogai/js-base64/pull/172 is good enough in:
https://github.com/dankogai/js-base64/issues/168#issuecomment-1901743134
In addition to that, the use of default export is too harmful.
https://www.google.com/search?q=avoid+default+export


Latest packages won't compile with .Net core 2.1 release version.

Description
Unable to compile using latest version of MSTest v2 and .net core 2.1.
I am looking to upgrade some of our test projects to MSBuild SDK format. Added reference to Nuget packages MSTest.TestAdapter and MSTest.TestFramework. when I try to compile, I get the following error
C:\Program Files\dotnet\sdk\2.1.300\Sdks\NuGet.Build.Tasks.Pack\build\NuGet.Build.Tasks.Pack.targets(198,5): error NU5100: The assembly 'content\Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll' is not inside the 'lib' folder and hence it won't be added as a reference when the package is installed into a project. Move it into the 'lib' folder if it needs to be referenced.
Started getting it when I upgraded to .Net core 2.1
Steps to reproduce
Using Visual Studio 2017, create a .Net framework Unit test project.
Edit the project file to convert it into an SDK format
Add Nuget reference to MSTest.TestAdapter and MSTest.TestFramework.
compile the project
Expected behavior
Should be compiled fine.
Actual behavior
Getting error

C:\Program Files\dotnet\sdk\2.1.300\Sdks\NuGet.Build.Tasks.Pack\build\NuGet.Build.Tasks.Pack.targets(198,5): error NU5100: The assembly 'content\Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll' is not inside the 'lib' folder and hence it won't be added as a reference when the package is installed into a project. Move it into the 'lib' folder if it needs to be referenced.

it worked with an earlier version of .net core SDK. It used to be a warning with version 2.1.104

C:\Program Files\dotnet\sdk\2.1.104\Sdks\NuGet.Build.Tasks.Pack\build\NuGet.Build.Tasks.Pack.targets(194,5): warning : Description: The assembly 'contentFiles\any\net45\Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll' is not inside the 'lib' folder and hence it won't be added as reference when the package is installed into a project.

Environment
Windows 10
.Net Core 2.1
Visual Studio 2017

@hamidshahid : Can you please share a repro project with us for investigation?

@hamidshahid : Any updates on this?

Without the asked information, we are unable to investigate this on our end. Please feel free to re-open it if you hit this again and kindly provide the repo project for the same.

down vote
accepted
I was able to resolve the issue by setting the ExcludeAssets property for MSTest.TestAdapter to true. This is how my project file looked like in the end

all

We're running into the same issue in the Visual Studio editor team when referencing MSTest.TestFramework v2.1.400. There is no issue when we reference v1.2.0-beta3. I have not binary-searched to a version which works.
I've emailed you @jayaranigarg regarding repro

Taking this offline. Closing the thread.

I am having the same issue. Can we reopen the thread?


keys operation support

I am evaluating the use of GUIX as a user interface in a new project，Our device does not have a touch screen, only a cross button and a few function buttons，Can GUIX support key-based operations, such as switching of widgets focus, input methods, etc.

Hi @zjm1060 - GUIX can support any input method you choose (touchscreen, keyboard, mouse, buttons, etc). GUIX is event-based - so you can send it key-down (button-down) and key-up (button-up) events and it will act on them.


Not Able to install Pygraphviz and thus can't run the causal model

model = dowhy.CausalModel(data=loanData,                      graph=causal_graph.replace("\n", " "),                      treatment="gender",                      outcome="default") model.view_model() from IPython.display import Image, display display(Image(filename="causal_model.png"))
I am trying to run this causal model but getting the following error.
ERROR:dowhy.causal_graph:Error: Pygraphviz cannot be loaded. DLL load failed: The specified module could not be found.
Trying pydot ...
ERROR:dowhy.causal_graph:Error: Pydot cannot be loaded. can only concatenate str (not "ParseException") to str
ImportError                               Traceback (most recent call last)
~\Anaconda3\envs\causal\lib\site-packages\dowhy\causal_graph.py in init(self, treatment_name, outcome_name, graph, common_cause_names, instrument_names, effect_modifier_names, observed_node_names, missing_nodes_as_confounders)
51             try:
---> 52                 import pygraphviz as pgv
53                 self._graph = pgv.AGraph(graph, strict=True, directed=True)
~\Anaconda3\envs\causal\lib\site-packages\pygraphviz_init_.py in
57
---> 58 from .agraph import AGraph, Node, Edge, Attribute, ItemAttribute, DotError
59
~\Anaconda3\envs\causal\lib\site-packages\pygraphviz\agraph.py in
21
---> 22 from . import graphviz as gv
23
~\Anaconda3\envs\causal\lib\site-packages\pygraphviz\graphviz.py in
27             return _mod
---> 28     _graphviz = swig_import_helper()
29     del swig_import_helper
~\Anaconda3\envs\causal\lib\site-packages\pygraphviz\graphviz.py in swig_import_helper()
23             try:
---> 24                 _mod = imp.load_module('_graphviz', fp, pathname, description)
25             finally:
~\Anaconda3\envs\causal\lib\imp.py in load_module(name, file, filename, details)
241         else:
--> 242             return load_dynamic(name, filename, file)
243     elif type_ == PKG_DIRECTORY:
~\Anaconda3\envs\causal\lib\imp.py in load_dynamic(name, path, file)
341             name=name, loader=loader, origin=path)
--> 342         return _load(spec)
343
ImportError: DLL load failed: The specified module could not be found.
I have searched the entire internet and couldn't find the solution for this issue. I would love if someone can help.

@rahulsharma0628 Pygraphviz often gives such installation problems. There are some instructions on using the OS package installer on the README that can work for WSL/Ubuntu.
sudo apt install graphviz libgraphviz-dev graphviz-dev pkg-config
## from https://github.com/pygraphviz/pygraphviz/issues/71
pip install pygraphviz --install-option="--include-path=/usr/include/graphviz" \
--install-option="--library-path=/usr/lib/graphviz/"

But it looks like you are on Windows. To avoid issues due to pygraphviz, DoWhy is designed to use any of these plotting libraries in order: pygraphviz, pydot, matplotlib. So I suggest installing pydot and trying it out again. If you install that, then DoWhy will automatically fall back on Pydot when pygraphviz is not found.
If that does not work, you can also fall back on matplotlib. That almost always work, but the graphs will not be as pretty.

Did the above suggestions solve your issue?

Hello @amit-sharma,
Sorry for the delayed response.
I have avoided the pygraphviz and now I am using pydot.
My causal graph is:
"""diagraph { AMT_ANNUITY -> AMT_CREDIT; DAYS_BIRTH -> DAYS_EMPLOYED; DAYS_EMPLOYED -> ORGANIZATION_TYPE_enc; DAYS_EMPLOYED -> NAME_INCOME_TYPE_enc; U -> AMT_ANNUITY; U -> AMT_INCOME_TOTAL; U->NAME_HOUSING_TYPE_enc; CODE_GENDER -> AMT_INCOME_TOTAL; DAYS_EMPLOYED -> TARGET; CODE_GENDER -> TARGET; AMT_INCOME_TOTAL -> TARGET; NAME_EDUCATION_TYPE_enc -> AMT_INCOME_TOTAL;  NAME_EDUCATION_TYPE_enc -> TARGET; U -> TARGET; }"""
And using the same script,
model = dowhy.CausalModel(data=loanData,                      graph=causal_graph.replace("\n", " "),                      treatment='gender',                      outcome='default') model.view_model() from IPython.display import Image, display display(Image(filename="causal_model.png"))

but got the following error:

<ipython-input-26-637057fe5cfd> in <module>
      2                      graph=causal_graph.replace("\n", " "),
      3                      treatment='gender',
----> 4                      outcome='default')
      5 model.view_model()
      6 from IPython.display import Image, display

~\Anaconda3\envs\causal\lib\site-packages\dowhy\causal_model.py in __init__(self, data, treatment, outcome, graph, common_causes, instruments, effect_modifiers, estimand_type, proceed_when_unidentifiable, missing_nodes_as_confounders, **kwargs)
    112                 effect_modifier_names=self._effect_modifiers,
    113                 observed_node_names=self._data.columns.tolist(),
--> 114                 missing_nodes_as_confounders = self._missing_nodes_as_confounders
    115             )
    116             self._common_causes = self._graph.get_common_causes(self._treatment, self._outcome)

~\Anaconda3\envs\causal\lib\site-packages\dowhy\causal_graph.py in __init__(self, treatment_name, outcome_name, graph, common_cause_names, instrument_names, effect_modifier_names, observed_node_names, missing_nodes_as_confounders)
     61                 except Exception as e:
     62                     self.logger.error("Error: Pydot cannot be loaded. " + str(e))
---> 63                     raise e
     64         elif re.match(".*graph\s*\[.*\]\s*", graph):
     65             self._graph = nx.DiGraph(nx.parse_gml(graph))

~\Anaconda3\envs\causal\lib\site-packages\dowhy\causal_graph.py in __init__(self, treatment_name, outcome_name, graph, common_cause_names, instrument_names, effect_modifier_names, observed_node_names, missing_nodes_as_confounders)
     57                 try:
     58                     import pydot
---> 59                     P_list = pydot.graph_from_dot_data(graph)
     60                     self._graph = nx.drawing.nx_pydot.from_pydot(P_list[0])
     61                 except Exception as e:

~\Anaconda3\envs\causal\lib\site-packages\pydot.py in graph_from_dot_data(s)
    280     @rtype: `list` of `pydot.Dot`
    281     """
--> 282     return dot_parser.parse_dot_data(s)
    283
    284

~\Anaconda3\envs\causal\lib\site-packages\dot_parser.py in parse_dot_data(s)
    552             err.line +
    553             " "*(err.column-1) + "^" +
--> 554             err)
    555         return None

TypeError: can only concatenate str (not "ParseException") to str```

That looks like a parsing error for your graph string. I see a possible typo: diagraph. Can you change it to digraph and try again?

Oh yeah, I just changed it and it worked.  :(
Thanks a lot, @amit-sharma for helping me out.


Virtualize the S4TF runtime interface.

An attempt to virtualize the runtime interface. This PR added two protocols TensorOperation and TFTensorOperation. As the name implies, TensorOperation is TensorFlow agnostic, where as TFTensorOperation is tensorflow-specific.
This PR also updates the EagerExecution.swift,  RawOpsGenerated.swift, the generate_wrappers.py script and the gyb file to reflect all the necessary changes.
This partially fixes https://bugs.swift.org/browse/TF-502

I fixed the comments so far and update the related scripts. I am going to merge this in to make further progress.


[WIP] refactor(spog): replace custom logic with find_vulnerability

This PR changes the custom logic of extracting all PURLs and fetching information from GUAC one by one with the find_vulnerabilities method from guac-rs.

Don't merge this yet, as this seems to have a huge impact on performance. A query that tool between 20s - 6 mins before, now isn't finished after 20 minutes.

blocked by: https://github.com/trustification/guac-rs/issues/27

The call returns wrong data:
<EMAIL_ADDRESS>{"snyk-js-unsetvalue-2400660"}<EMAIL_ADDRESS>{"snyk-js-babeltraverse-5962463"}<EMAIL_ADDRESS>{"ghsa-896r-f27r-55mw", "snyk-js-jsonschema-1920922"}<EMAIL_ADDRESS>{"ghsa-pfrx-2q88-qq97", "snyk-js-got-2932019"}<EMAIL_ADDRESS>{"snyk-js-colorstring-1082939"}<EMAIL_ADDRESS>{"ghsa-vh95-rmgr-6w4m", "ghsa-xvch-5gv4-984h", "snyk-js-minimist-2429795", "snyk-js-minimist-559764"}<EMAIL_ADDRESS>{"ghsa-93q8-gq69-wqmw", "snyk-js-ansiregex-1583908"}<EMAIL_ADDRESS>{"ghsa-7r28-3m3f-r2pr", "ghsa-r8j5-h5cx-65gg", "snyk-js-issvg-1085627", "snyk-js-issvg-1243891"}}

Required is a map<CVEID, set<PURL>>.


fix(readme-pt-br): change path of the contributing link

Description
The link in README-pt-BR.md to CONTRIBUTING-pt-BR.md is broken
Compatibility
N/A
Caveats
N/A

Just notice that the other links are broken too, so I will make a new one with all.


Provide Source

Deno.bundle seems to allow providing direct source strings. I was curious if something like that could be done with this.
I have my own parser/compiler I am building for a template language. And my thought was to pass all script contents that any component used into a Bundler of sorts.
Deno.bundle seems to solve for ES modules, but I am trying to find a solution for legacy browsers, compiling TS, or running Babel.

I am not sure exactly what you mean. Do you suggest the Bundler API to take a string as input for transpilation?

So, since there is no script file as entry points in my case, the idea would be to provide the raw source as a strings for all script contents inside the template language.
To pain the picture.
The template language can take components. Each component can implement script blocks as they see fit for client side code. The template language is only run in deno with the goal of shipping html.
So if I passed all strings as possible entry points, the idea would be to concat those together and also bundle any dependencies. Dependencies could be external from the Templar language and done in plain JS/TS.
Does that make sense?

So you mean to bundle together multiple entry points?
This is not possible because files might have same named exports.
What you can do however is make a bundle like this
import "./entry1.ts"
import "./entry2.ts"

and set that as the entry. But this should also possible with Deno.bundle.

We are not referring to the same thing.
What I am saying is you do not have files to bundle in my scenario.
Or atleast not a good set of them. Any imports they refer to can be. But I am saying I need to provide a set of raw source strings. I can't give a file name because you have nothing to parse as the entry point.
But if I give a raw source string, can you start bundling from there?
As far as multiple entry points, it's more like a concatenation. None of those raw source strings can import each other, since they are in the template language.

Sorry, my last response was from my mobile phone. Let me try to build a better example.
src/components/file-a
<script>
 import y from 'something.ts';
 let x = "foo";
 y(x)
</script>

src/components/file-b
<script>
 import y from 'something.ts';
 let x = "bar";
 y(x)
</script>

The basic idea is that I want to pass the contents of the file-a, and file-b if they are used on the same page.
Since these are template files, they are not something parsable I would assume without a lot of effort. So the idea would be to pass the raw strings of the script blocks insides. The bundler would concat, and prevent name collisions and deal with resolving imports. Basically everything that bundlers already do.
I know if this was rollup or webpack, this is the basic concept of how they work today when working with React, Svelte, or Vue.
Does that help clarify the issue?

Ok, I think it is a good idea to have Bundler API provide a way to transpile/bundle strings instead of files.
Until then: It seems to me what you want is doable with Deno.bundle:
const [diagnostics, emit] = await Deno.bundle("/index.ts", {
  "/index.ts": `import "./entry1.ts"; import "./entry2.ts";`,
  "/entry1.ts": `import y from "./something.ts"; let x = "foo"; y(x);`,
  "/entry2.ts": `import y from "./something.ts"; let x = "bar"; y(x);`,
  "/something.ts": `export default function (x: string) { console.log(x); }`,
})

Correct. Yeah and I was thinking of maybe a similar interface.
The issue with Deno.bundle is that it will only do ES modules and I don't think there is a path for older browsers.
It's why I raised this.
I was also looking at ESBUILD which has a WASM browser api, that is way faster than rollup, (100x) but it does not bundle with WASM you would need the go executable.

0.2.0 is out. It now takes an InputMap and an OutputMap for bundling.


Don't unexpectedly read all casks/formulae

Provide a detailed description of the proposed feature
There's certain commands (e.g. brew update, brew doctor) that will read/evaluate all formulae and all casks from all tapped taps.
What is the motivation for the feature?
The current behaviour is unexpected and (I'd argue) undesirable. I consider it expected behaviour to read the formula/casks that are already installed with commands such as brew update/brew doctor but not every formula/cask in every tap.
HOMEBREW_UPDATE_REPORT_ONLY_INSTALLED already does some of this for brew update. I use it and it improves the output (and potentially speed).
How will the feature be relevant to at least 90% of Homebrew users?
Improved security and speed of those commands.
What alternatives to the feature have been considered?

The status quo
Sandboxing (with blocked network access?) all reads (only available on macOS) to improve security

Thinking of working this later in this week or early next week. Will get some context and follow up with questions!

@lionellloh That'd be great!

I see that the setting is now defaulted to on; how can I change it to get back the previous behavior? I completely understand the reasoning behind the update, but I personally loved seeing the report - I've come across a ton of programs that I never would have even thought I needed because of it. It's part of my daily routine: run brew update, see some random name in the list, run brew info on it, see what it's about. I've even spent more time than I care to admit trying to implement something similar for apt on my Termux installation, or trying to get brew installed there just so I can have that report.
The past few days I've been trying to figure out what I broke on my mac because I'd recently cleaned out my profile/rc scripts due to some other issues; while I'm relieved that my comp isn't busted, I didn't see anything in the merged PR that makes it obvious what I need to do to re-enable the feature - am I just missing something?

@SkittishSloth:
     I also asked for such a toggle switch for this option in Homebrew/discussions#3008, but, per Mr. McQuaid's answer there:

I'd consider adding this if I see lots of people (10+) requesting this behaviour.

'brew' won't have one after this change just yet.  Further conversation surrounding this can and should happen over on that other thread.

@SkittishSloth Yup, as @RandomDSdevel said: there's no flag to bring back this behaviour, I'm afraid.

I completely forgot about GitHub Discussions - moved over there. Thanks!

HOMEBREW_UPDATE_REPORT_ONLY_INSTALLED already does some of this for brew update. I use it and it improves the output (and potentially speed).

This doesn't actually read formulae so I've reverted the change to make this default.

We've now deprecated the use of Enumerable in Formula and Cask::Cask so this can be closed. Thanks everyone!


Set content length when emitting manifest.

Every time that the library writes a manifest file to S3 the S3Client is logging a warning because the content length is not set.
"No content length specified for stream data.  Stream contents will be buffered in memory and could result in out of memory errors"
There is a PR that has been merged that fixed this issue just for the S3Emitter (https://github.com/awslabs/amazon-kinesis-connectors/pull/39/files). We need to fix this when we write the manifest file as well.

Nobody answered


publishState causes disconnection - (Update publish methods to rate-limit)

If you use the cloud console to send a config to a device, it will receive a message on /config when it next reconnects.  Responding to this message with a publishState will cause disconnection (and the same will happen again on every reconnection).
Receiving configuration and then publishing updated state is documented here:
https://cloud.google.com/iot/docs/concepts/devices
This disconnection is caused by CloudIoTCoreMqtt.cpp CloudIoTCoreMqtt::onConnect() calling publishState("connected").  Just after onConnect(), Google is going to publish the latest config to /config and the device may want to reply with publishState() to acknowledge the config and update the Google-side stored state.  As shown, acknowledging like this will cause an immediate disconnection.
Note that "connected" is a bit of a silly state for the library to publish as it will result in Cloud Console thinking that the device has acknowledged any config that was previously published to the device.

Are you saying that this code is causing a disconnect? Which board / example are you using? You could disable this with the void CloudIoTCoreMqtt::setLogConnect helper as a temporary work around, I have seen issues with connection timing on the ESP8266 and network calls on the lwMQTT library maybe there's something going on with too many network calls causing a WDT reset.

Same Issue here. In my case only this publishState is working.
After other publishState the device is crashing/disconnecting. 😓
Sample Code:
// The MQTT callback function for commands and configuration updates
void messageReceived(String &topic, String &payload) {
  Serial.println("incoming: " + topic + " - " + payload);

  if (topic.lastIndexOf(configTopic) > 0) {
    configUpdate(payload);
    publishState(String(payload));
  }
  if (topic.lastIndexOf(commandTopic) > 0) {
    commandUpdate(payload);
    publishState(String(payload));
  }
}

Here I am trying to send a "verification" state update after an incoming configuration update. Maybe I'm doing something wrong? If so, could you please tell me the right way? Thank you! @gguuss

Oof. I see what's goin on now. I am guessing the ESP is having issues context switching between the publish and receive operations. Another potential source of issue is that due to the "at least once delivery" nature of PubSub messages the callback could get triggered multiple times before the state messages are sent. You are limited to transmitting one state message per second and this potentially could cause a disconnect (but I don't think it does).
I would recommend the following:

Create a queue of state messages
Append to the queue in the callback
Dequeue the state message[s] and transmit them outside of the callback.

I'm context switching a bit between this and other work and the pandemic is rate-limiting me a bit but I've added an issue to put this functionality into the library.

Oof. I see what's goin on now. I am guessing the ESP is having issues context switching between the publish and receive operations. Another potential source of issue is that due to the "at least once delivery" nature of PubSub messages the callback could get triggered multiple times before the state messages are sent. You are limited to transmitting one state message per second and this potentially could cause a disconnect (but I don't think it does).

Thank you very much for your fast answer! I was thinking about the limitation of the state messages too, but couldn't figure out a solution.

I would recommend the following:

Create a queue of state messages
Append to the queue in the callback
Dequeue the state message[s] and transmit them outside of the callback.

I will try that, thank you very much. Hope I'm skilled enough. 😓

Wiki Page

Did anyone find a solution to this? I don't think I'm skilled enough.


Openverse footer

Description
Since we plan to move Openverse out from the WordPress.org site and implement the new header (#1669), we need to allow visitors to see the internal pages, mark the search as a WordPress project, and add the language selector in the future.
In that vein, the footer has two contexts:

Footer content: To be used in results and single content details. Internal pages are always present
Footer internal: To be used in content pages where the internal pages move to the header.

The design includes a new component for shifting language. Since this idea has not been discussed nor defined with a milestone, we do not need to create the element but take into account its space.
And finally, I added a new version for smaller devices called < sm as sm breakpoint starts from 640px and leaves out other mobile use cases.
Mockups
Footer content

Footer internal

Figma file
The footer is already available in the "Upcoming components: Footer" page in the Design Library. This name is due to the pending design documentation. While the uses are in the New header component file since header and footer depend on each other.

Figma: Footer component in Design Library
Figma: Applications in New header component

Implementation

[ ] 🙋 I would be interested in implementing this component.

Linked to #1809.


Adding tabbable events

Switching EventWrapper content into <button> for accessibility purposes (navigation by tab).

Does it look good now? Will probably include readable content (aria labels) for screen readers to complete the accessibility parts on the events in the future o/

Does it look good now? Will probably include readable content (aria labels) for screen readers to complete the accessibility parts on the events in the future o/

Should we merge this? @jquense

thanks @schoettler !


Feature/#81 sentences wip

@brauliodiez Step 2,
Look at me if the models are ok or if it would be necessary to put mapper also in the pods. I have put a verb to cholón to try.

@brauliodiez push done


Broken Link

this link:  "Failover Clustering Hardware Requirements and Storage Options." at the top of this page is broken and returns a 404 error.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: fa6a457c-f213-1d54-9dcb-d42d9ff84bd1
Version Independent ID: 352fb2e9-2523-4d42-5c80-3199bf4e06ad
Content: Create a failover cluster
Content Source: WindowsServerDocs/failover-clustering/create-failover-cluster.md
Service: windows-server-threshold
GitHub Login: @JasonGerend
Microsoft Alias: jgerend

Thanks for pointing this out - the correct link is https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-r2-and-2012/dn265970(v=ws.11). We've updated the article, so you should see a fixed link soon.

The link goes to the wrong page. Should it go to
https://docs.microsoft.com/en-gb/previous-versions/windows/it-pro/windows-server-2012-r2-and-2012/jj612869(v%3Dws.11)

Thanks for double-checking, but the following reference:
"For more information about validating a failover cluster, see Validate Hardware for a Failover Cluster."
looks to me like it's properly pointing to the following topic:
Validate Hardware for a Failover Cluster at: https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2012-r2-and-2012/jj134244(v%3Dws.11)
Are you seeing something different? Thanks for caring about the content and letting us know when you find something amiss!

On the line
"Review the hardware requirements to make sure that your configuration is supported. For more information, see Failover Clustering Hardware Requirements and Storage Options."
Takes me to a page titled "Deploy an Active Directory-Detached Cluster".
(Might have added comment against the wrong thing and should have just opened a new issue.)
Thanks

Aha - sorry I missed that! I see it now and will fix it - great catch, and thanks for letting us know! :)


Sort NPM Overrides

NPM Added support for overrides: https://docs.npmjs.com/cli/v8/configuring-npm/package-json#overrides
Would be nice if sort-package-json sorted overrides alphabetically automatically as well like it does dependencies and devDependencies

PRs welcome!


[IA-3387] Azure Jupyter Lab support completed

This completes the iframe support for accessing Jupyter lab hosted in an azure instance

To test this, you need to have an azure workspace. This leverages the existing create azure runtime flow, and then adds cookie support. The iframe proxyUrl is computed in appLauncher in a previous PR, and leveraged here.
One thing to note is the setCookie call itself takes ~30seconds, and then the jupyter lab UI takes another ~30secs to render.... not sure entirely why, though I'm fairly confident that it is a backend issue. This is being investigated, but I don't think it should block merging this work since this will not be user facing as of this PR.

can we also update open azure text to just open


[Feature Request] Autocrafting when the item already exists

Feature description:
There's currently no way (unless I'm horribly mistaken, in which case this will be deleted/closed) to autocraft an item in grid IF that item already exists in the network. In AE2 this is usually middle click, but I've tried many combinations of CTRL and ALT, middle clicks and all - and I can't seem to find a way to conveniently make more of something.
If this doesn't exist yet, please add it c:

ctrl + shift + click will force open the crafting thing


#224 - extract repeating code to methods

For #224 I've extracted repeating to methods.

Codecov Report

Merging #225 into master will increase coverage by 1.22%.
The diff coverage is 0.00%.

@@             Coverage Diff              @@
##             master     #225      +/-   ##
============================================
+ Coverage     64.63%   65.85%   +1.22%
  Complexity      160      160
============================================
  Files            36       36
  Lines          1179     1157      -22
  Branches         51       51
============================================
  Hits            762      762
+ Misses          411      389      -22
  Partials          6        6

Impacted Files
Coverage Δ
Complexity Δ

src/main/java/com/artipie/rpm/Rpm.java
0.00% <0.00%> (ø)
0.00 <0.00> (ø)

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 df77ea2...b1e5dbe. Read the comment docs.

This pull request #225 is assigned to @carlosmiranda/z, here is why; the budget is 15 minutes, see §4; please, read §27 and when you decide to accept the changes, inform @g4s8/z (the architect) right in this ticket; if you decide that this PR should not be accepted ever, also inform the architect; this blog post will help you understand what is expected from a code reviewer; there will be a monetary reward for this job

@carlosmiranda thank you for noticing, we actually need replace for the case when we are updating the same repository for the second time.

@carlosmiranda ping

Job was finished in 47 hours, bonus for fast delivery is possible (see §36)

@sereshqua/z please review this job completed by @carlosmiranda/z, as in §30; the job will be fully closed and all payments will be made when the quality review is completed

@carlosmiranda please make sure you will find at least 3 issues during next CR, thanks!

@carlosmiranda ping

@sereshqua confimed, thanks!

@0crat quality acceptable


Added MIT license.

Every project should contain a license, it's just a good idea. :information_desk_person:

@nickcannariato thanks! :+1:


[iOS 13] add support for detecting device dark mode enabled

[iOS 13] add support for detecting device system wide dark mode enabled.

@matthew-carroll

Also please add darkTheme property to the CupertinoApp widget.

I think a nice way to implement this would be to have a function that returns Brightness.dark. That way it’s easy to incorporate into most themes.

Well we already have a working design for that, we specify the two theme and let the framework switch between theme when the dark mode is enabled or disabled.

Oh, that's new. I thought that still had to be updated manually. Time to update my codebases! :)

This issue is also connected to this one #34441

Is already supported look

@DSMan97
I can't send u a dm on stackoverflow but can you tell us on which branch you currently are & the implementation?
Thx in advance :)

@DSMan97
I can't send u a dm on stackoverflow but can you tell us on which branch you currently are & the implementation?
Thx in advance :)

Is not in any brach is already supported by flutter team, I don´t add anything to code just use the code properly

I use this var darkMode = CupertinoTheme.brightnessOf(context);
That's all

If I’m using the material app I don’t want to check the brightness myself, I want the framework to do it for me as it’s currently does for android.
the widget already have the darkTheme property.
I don’t want to change perfectly working code for workaround.

If I’m using the material or Cupertino app widget I don’t want to check the brightness myself, I want the framework to do it for me as it’s currently does for android.
the material app widget already have the darkTheme property.
I don’t want to change perfectly working code for workaround.

You want to use darkmode widget property for ios13 is easy and is not a workaround check stackoverflow  https://stackoverflow.com/questions/57475630/detect-if-ios13-dark-mode-is-enabled-from-flutter-dart/58156366#58156366

That’s useful if I want to do inline verification if darkmode is enabled and change the UI.
What I ideally want is to provide my two themes(light and dark) to widgetApp.
So that when the user enable dark mode my app is automatically updated so that in my build method I only have to do Theme.of(context) and receive the current theme.

The cool thing is if the widget app handle it, you won’t have to change the background of the picker yourself, this will be taken care of by the dark theme you would have specify to use.

Closing as everything I need is working. Thanks flutter team.

why is this closed as this doesnt have native support still?

why is this closed as this doesnt have native support still?

Yes already have support look  https://stackoverflow.com/questions/57475630/detect-if-ios13-dark-mode-is-enabled-from-flutter-dart/58156366#58156366

There's still ongoing work around dark mode, but as of https://github.com/flutter/flutter/commit/ad940c7b4992a2d1b7869e25d5b6134725caebaa, MediaQuery.platformBrightness should be able to tell you whether the phone is in dark mode.

https://stackoverflow.com/questions/57475630/detect-if-ios13-dark-mode-is-enabled-from-flutter-dart/58156366#58156366

are their any good tutorials to add this to my app

@DSMan97
I can't send u a dm on stackoverflow but can you tell us on which branch you currently are & the implementation?
Thx in advance :)

Is not in any brach is already supported by flutter team, I don´t add anything to code, just I use the code properly

what is the code and where can I find it


[5.2] Alphabetic order in some Auth Classes

Does this make an sense? Should I continue?
I started to read the code and I realized that the using are not in alphabetical order, not to mention attributes.
Am I being crazy here?

We sort imports by length, not alphabetically. ;)

Thanks, good to know :)


fs: fuse: fix fuse include path

This commit fixes the incorrect include path for the fuse library. pkg_search_module populates the _INCLUDE_DIRS cmake var.

@russkel Thanks!   I thought I did that but it turns out it was -S instead.


Backport #91 To v0.12.0 & Release New Version

The Dispatcher fix in Issue #91 needs to be back-ported in to v0.12.0 for use in Kyma.  This will require the creation of a v0.12.0 branch off the current tag and a new build of v0.12.1 to differentiate the two.

merged the update to store offsets manually to new release branch.  Will release new version (tag) post-QA testing.

released v0.12.1


updating to stable cle docker version

locking things in at v1.3.1

This docker image is identical to the old "latest" with two exceptions (adding missing dependencies for cyvcf). This has been tested with the somatic_exome testing cwl as a sanity check and a cromwell build succeeds


[move-prover] Update association.move

this PR is fixing the broken Prover test in CI
addresses() is obsolete.
domain<address>() should be used instead.

Motivation
Fix a broken Prover test in CI
Have you read the Contributing Guidelines on pull requests?
yes
Test Plan
cargo test

Close this because this is redundant (https://github.com/libra/libra/pull/3999)


Convert README.md to .rst

If README.md is converted to .rst it can be included in the readthedocs index page and serve as it's main page.

Let me know if you'd accept a PR.

Yes please :)

the docs need are in need of regeneration anyway.

will this also fill in the pypi page which is currently empty? I had originally added setup.cfg but that had little effect.

@rm-hull no, you need to use the long_description attribute to make it show up on Pypi. I'll include it in the PR.


Add competitive fixes plugins

Is your feature request related to a problem? Please describe.
Hello! The competitive fixes plugin has a series of quality of life fixes that don't just target competitive tf2, but rather would fix oversights / bugs that valve hasn't fixed for years. These quality of life fixes would add a ton of value for the Uncle Topia server.
Specifically, these are quality of life issues that users have been noting and that the competitive fixes plugin can fix when added:

Deterministic Fall Damage
The random variable in fall damage calculation will be removed.

Fixes Ghost Crossbow Bolts
Crossbow bolts will no longer pass through teammates when in close range.

Fixes Slope Bugs
Players won't stop while sliding on slopes anymore.

Fixes Sticky Delay
Stickies will no longer fail to detonate when swapping weapons.

Describe the solution you'd like

Add the plugin to the server. This is the github for the competitive fixes plugin: https://github.com/ldesgoui/tf2-comp-fixes. Steps to add the plugin to your server are within the readme.
There are more issues that the plugin addresses, you can choose to add more from the list if you'd like

Additional context

The competitive fixes plugin is used by all main competitive scenes in TF2 and on the creators.tf servers.

(Reminder for me): Use only the first 4 listed fixes

This is now live.


ci(stale-bot): update stale.yaml

Description

Updating the stale-bot message to reflect what it is doing.
Here: https://github.com/autowarefoundation/autoware-documentation/issues/4#issuecomment-1077621182
It says it will close the issue but it won't.
Pre-review checklist for the PR author
The PR author must check the checkboxes below when creating the PR.

[x] I've confirmed the contribution guidelines.
[x] The PR follows the pull request guidelines.

In-review checklist for the PR reviewers
The PR reviewers must check the checkboxes below before approval.

[ ] The PR follows the pull request guidelines.

Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.

[ ] There are no open discussions or they are tracked via tickets.

After all checkboxes are checked, anyone who has write access can merge the PR.

@kenji-miyake I am ok with your updated changes, if you approve, we can merge it!


Issue with global plugins?

Hi!
In my nuxt.config.js I am loading a 'global' js where everything I need everyone is defined. I am doing it like this:
  plugins: [
    {
      src: '~/plugins/global',
      ssr: false
    }
    ],

and global is really just this:
import Popper from 'popper.js/dist/umd/popper.js';
import Vue from 'vue';
import VueRouter from 'vue-router';
import Axios from 'axios';
import Form from './forms/form.js';
import Global from './globals/globals.js';

try {
  window.$ = window.jQuery = require('jquery');
  window.Popper = Popper;
  require('bootstrap');
} catch (e) {}

window.Vue = Vue;
window.VueRouter = VueRouter;
window.Form = Form;
window.Global = Global;
window.axios = Axios;

Now what is the problem.
on /login I have
export default {
  data() {
    return {
      success: false,
      failure: false,
      username: '',
      baseURL: process.env.API_URL,
      form: new Form({
        email: '',
        password: ''
      })
    }
  },

But of course, Form is defined globally so that's fine. It isn't, really.  If I stay on /login page, make a change anywhere so that it re-compiles. I get an error saying that Form class is not defined in /login. But if I go back to root '/' and then to '/login' it works. Is there any way to avoid this behavior?

You should not put anything on window. There is no window object on the server. Just import Form where you need it, then it won't make all pages obese.
You should not import everything into one plugin. Please see the meaning of plugin in nuxt.
Maybe use nuxt-community/axios-module
Please take a look at how to use the popular and well-supported bootstrap-vue package to idiomatically import Bootstrap into a nuxt project.

well I am not importing everything @qm3ster but for example the Form class needs to be available on every single page. Each page has a form or some kind of data access. There was no problem with 'normal vue' surely there is a way to do it here too

Did you have SSR in 'normal vue'?
You don't need to make a plugin to have a class available on every page, only if you needed access to a shared instance. You can just import it where you use it. Webpack will only include it once.
If it is really very common, you can also add './forms/form.js' to the vendor chunk through the build.vendor option of nuxt.config.js

This question is available on Nuxt.js community (#c2536)


Base template gets recreated on Atom relaunch

Not sure if this is intended, but it tends to get annoying.
I understand that, on the other hand, it's good to have it there as an example config... Perhaps a 'create base template' button within package options would better address the issue?

Thank you for your comment. I'll add it to my to-do list.


Glitch while clearing screen (0.4.0)

Which operating system does the issue occur on?

Mac OS 10.14 Mojave (10.14.6)

If on linux, are you using X11 or Wayland?

N/A

Just tested Alacritty 0.4.0 but there is some glitch while clearing screen (by using CTRL+L)

Is this a bug or a feature? This problem not occurs on 0.3.0.
Config file: .alacritty.yml

I'd assume this is fixed when removing the padding from your configuration file? It looks like the padding is getting reset to 0 temporarily.

This is also probably related: https://github.com/jwilm/alacritty/issues/2226

I'd assume this is fixed when removing the padding from your configuration file? It looks like the padding is getting reset to 0 temporarily.

Yes, everything is okay when I reset it to 0. Any option to add the padding or just leave it like that?

This seems to only be an issue no macOS, which seems a bit strange to me. I'll have to look into testing this at work where I have access to a macOS machine.
I was able to confirm #2226 on macOS, but don't think I've seen this just happen whenever the screen is cleared, so that seems a bit strange to me.

I've tested this again on my macOS machine and while I'm still able to reproduce #2226, I'm not able to make this occur with ctrl+L.
Could you try running this simplified configuration file without any other settings?
window:
  padding:
    x: 20
    y: 20

@chrisduerr I'm able to reproduce this with that simplified config. I'm on Alacritty 0.4.0 and macOS 10.15.1. Also happens when I hit cmd-0 (ResetFontSize), it will temporarily reset padding to 0 until I hit another key.

While I'm not able to identify it 100% since I'm not able to reproduce this specific issue, I think it makes sense to track this in https://github.com/jwilm/alacritty/issues/2226, just so we don't have multiple issues sitting around.
So hopefully once I get around fixing that, we should be good.

Oh, one additional bit of information that might be useful, what happens when running clear? Does that cause the same issue as Ctrl+L?

Oh, one additional bit of information that might be useful, what happens when running clear? Does that cause the same issue as Ctrl+L?

its not, fortunately.
I will try to reproduce it and hopefully can send the patch. For now I will stick with this behavior since this only occurs to me.

I'd be curious if the following binding fixes it:
  - { key: L, mods: Control, chars: "\0x0c" }

I'd be curious if the following binding fixes it:
  - { key: L, mods: Control, chars: "\x0c" }

Wow yes, but only when I commented this line:
- - { key: L, mods: Control, action: ClearLogNotice }
+ # - { key: L, mods: Control, action: ClearLogNotice }
  - { key: L, mods: Control, chars: "\x0c"  }

thanks!

Good to know, thanks. Looks like ClearLogNotice triggers some kind of redraw/reset then, which messes things up. So just clearing the screen should resolve it for now.


Fixed a typo

1. Why is this change necessary?
Well... it's just a typo =) (exmaple => example)
2. What does this change do, exactly?
Fixes the typo

[x] I have written or adjusted the documentation according to my changes
[x ] I have read the contribution requirements and fulfil them.

Hey @Donderda,
thanks for your contribution, I have imported your PR and it will be merged soon. :blue_heart: :tada:
Kind regards
Jonas

merged with https://github.com/shopware/platform/commit/cba682ea2eebfb71cc34fb4483551b92d5fbf0e3
it will be part of the 6.1.1 release


Support Dw2-RF contact sensor as garage door sensor

Currently emulating garage door using multichannel sonoff and it works great, thank you. I also have a DW2-RF contact sensor to sense of garage is open or closed and it shows up in the plug-in/Homekit but cannot be used as sensor for the emulated garage (currently supports Wi-Fi or zigbee contact sensor).
Could this support be added? Sensor shows up in the plug-in fine and works well as an independent HomeKit sensor.

Hi @zelik888
thanks for your suggestion.
this is something that wouldn't really be viable, let me explain why:

sensors like the DW2-wifi or other zigbee sensors offer two definite states at any time:

open - ie the sensor isn't making contact, so this really can be considered 'not closed' (door could be open, opening, stopped, closing)
closed - ie the sensor is making contact and so this can confirm that any door/garage/window is CLOSED ie none of the states above

From these states it is pretty reliable to determine at any time whether any door/curtain/window/garage etc is closed or not closed, for this reason I have added the functionality of linking a switch or switches to expose as a grarage/window/door etc via the plugin settings

However, the RF versions of these sensors do not offer this definite closed/not closed status.
They simply 'transmit' to the plugin when the contact has been broken, in other words:

the plugin can determine when any door/window/garage has just been opened
the plugin cannot determine any other state after this

These RF devices do not report back to the plugin when the sensor contact has been made again, which makes it really difficult for the plugin to calculate the current state of the door/window/garage.

And when it comes to 'critical' devices like doors/windows/garages I am hesitant to start trying to make workarounds which for example may work 50% of the time but are not reliable

Thank you, I understand. I sadly purchased the RF after using the WIFI DW2 because the WIFI had such terrible battery life! I guess I must get the zigbee version then. I thank you so much for the plugin!


[SPARK-40612][CORE] Fixing the principal used for delegation token renewal on non-YARN resource managers

What changes were proposed in this pull request?
When the delegation token is fetched at the first time (see the fetchDelegationTokens() call at HadoopFSDelegationTokenProvider#getTokenRenewalInterval()) the principal is the current user but at the subsequent token renewals (see obtainDelegationTokens() where getTokenRenewer() is used to identify the principal) are using a MapReduce/Yarn specific principal even on resource managers different from YARN.
This PR fixes getTokenRenewer() to use the current user instead of org.apache.hadoop.mapred.Master.getMasterPrincipal(hadoopConf) when the resource manager is not YARN.
The condition (master != null && master.contains("yarn")) is the very same what we already have in hadoopFSsToAccess().
I would like to say thank you for @squito who have done the investigation regarding of the problem which lead to this PR.
Why are the changes needed?
To avoid org.apache.hadoop.security.AccessControlException: Permission denied. for long running applications.
Does this PR introduce any user-facing change?
No.
How was this patch tested?
Manually.

cc @dongjoon-hyun @viirya

Thank you for pinging me, @attilapiros .

cc @gaborgsomogyi , too

Thank you, @attilapiros , @viirya , @HyukjinKwon , @weixiuli , @gaborgsomogyi ! Especially, @gaborgsomogyi !
Merged to master/3.3/3.2.


Add Alpine tags to go-images

Right now we have Debian, Mariner, and Windows images. Upstream also has Alpine. However, apparently the linux-amd64 distribution of Go doesn't work there and it has to be recompiled in-place:
https://github.com/docker-library/golang/blob/7db3fb743f7d5d24d75493eacfc0595ce97979da/1.17/alpine3.15/Dockerfile#L54
(I believe the reason is that Alpine uses musl where other distros use glibc.)
It would be nice to not have to do fresh builds inside our Docker repository, so it would be nice to not do this, but if we do, we could add musl builds to our internal rolling build to avoid building Go in go-images.

Alpine is not supported by the Go maintainers: https://github.com/golang/go/issues/19938
https://github.com/docker-library/golang/issues/250#issuecomment-451201761:

I think our image description should probably link directly to https://github.com/golang/go/issues/19938 -- to summarize that thread's current state, Alpine is not actually an officially supported target for the maintainers of Go (it's non-trivial enough to get the test suite passing on Alpine that we're coming up on two years since it was first attempted in earnest).
The reason this is relevant here is that if we add more Alpine-related variants, I'm afraid it will lend more to the appearance of Alpine being something not only supported, but potentially even recommended by the Go team, which is definitely not accurate (and if we had a clean way to de-emphasize our current Alpine variants until that issue is resolved and upstream officially supports it, I would definitely be considering it).

I think we should not add Alpine, but if we do, we should include "alpha" or a similar marker in the tag name. We have the opportunity to deemphasize these tags because we'd be producing tags that nobody has used before.


AMD support (doesn't work with RequireJS)

Currently, this library doesn't work well with AMD pattern, and it needs a wrapper to be able to run with RequireJS.

Is this still an issue for you? @kashifshamaz21 @austinkelleher

This can be fixed by switching from module.exports = WildEmitter; to a UMD returnExports pattern.
That will also have a bonus of simplifying the use of Browserify and Bower together, because there will be no need to point Bower to the "bare" version of the file.

refs #18


revert cassandra driver to 4.6.1

last OSS akka release (1.0.6) depended on cassandra driver v4.6.1

https://mvnrepository.com/artifact/com.typesafe.akka/akka-persistence-cassandra_2.13/1.0.6
inherits cassandra dependency transitively from https://mvnrepository.com/artifact/com.lightbend.akka/akka-stream-alpakka-cassandra_2.13/2.0.2
the Pekko fork was made after some prep changes were made for the BSL release (including the upgrade of the cassandra driver)
the new cassandra driver depends on a newer version of Jackson - and Jackson is a dependency we have in a lot of places so this makes things complicated in pekko-projection
https://github.com/apache/incubator-pekko/issues/7#issuecomment-1484867603
also needs a downgrade in https://github.com/apache/incubator-pekko-connectors/blob/main/project/Dependencies.scala

fyi @nvollmar @jrudolph @mdedetrich
I'm neutral enough - I can see some benefit to just simply updating Jackson to latest v2.12 or latest v2.14 - but this revert might be closer to our usual aim as to trying to closely match the last OSS Akka releases.

I would prefer to update the Jackson dependency unless there is some very strong technical reason otherwise (aside from trying to make Pekko 1.0.x, as close to BSL Akka as possible).
We already made exceptions to this rule (i.e. close to BSL akka) before ergo pekko-http with upstream paradox if the reasons are strong enough and considering the historic problems with supporting older Jackson versions along with the related fact that we may get some CVE in the future.

I also prefer to move forward with the version of the cassandra driver (compared to akka).
We where already bitten by problems with the old driver and had to force override the cassandra-driver version to avoid problems.
Btw. with the latest cassandra driver there are also some CVE's
https://docs.datastax.com/en/developer/java-driver/4.14/changelog/

I also prefer to move forward with the version of the cassandra driver (compared to akka).
We where already bitten by problems with the old driver and had to force override the cassandra-driver version to avoid problems.
Btw. with the latest cassandra driver there are also some CVE's
https://docs.datastax.com/en/developer/java-driver/4.14/changelog/

Furthermore CVEs on its own is already an accepted exception for the "close to Akka BSL version" rule.

We could also exclude the jackson dependency of the driver until we're ready to upgrade it across all projects.
As already mentioned, we have this version in production for a long time due to issues with the outdated versions Akka was having in use.

let's upgrade jackson - seems easiest and we've had users asking about a Jackson upgrade anyway due to some recent CVEs


Unable to read local.settings.json file when running Azure Function locally

See: https://stackoverflow.com/questions/52194154/unable-to-read-local-settings-json-file-when-running-azure-function-locally
The weird part is I have one project (run locally) that can read the local.settings.json file and a second project in which the exact same code does NOT read the local.settings.json file.
I am stumped -- I have posted the code in my StackOverflow question.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 369aefa6-74da-3001-f835-15abdfffd5d6
Version Independent ID: 2cc2a2db-d059-3252-7a1a-4261b7d3c37c
Content: Develop Azure Functions using Visual Studio
Content Source: articles/azure-functions/functions-develop-vs.md
Service: functions
GitHub Login: @ggailey777
Microsoft Alias: glenga

@bdcoder2 I would recommend trying the following:

First of all, try using ConfigurationManager.AppSettings["test"] in place of System.Environment.GetEnvironmentVariable( "test" ) and check if you are getting the expected result.

Make sure your local.settings.json file is marked to always be copied to the build output. (by right clicking on it in Visual studio). This will copy your files to the output path similar to bin\debug..

Let me know if you are still seeing the same issue.

Hi Karishma -- thank-you very much, I updated my StackOverflow question with a solution (as per your suggestion).
PLEASE add an "IMPORTANT" note to this documentation indicating that the local.settings.json property "Copy to Output Directory" setting MUST be changed in Visual Studio to: "Copy if newer" when testing locally; otherwise, System.Environment.GetEnvironmentVariable method will NOT return any values!!  Unfortunately, I lost 2 days to this little fact.

@karishma-tiwari-msft please assign to me and I will update the docs.

@bdcoder2 thanks for reporting this issue. I have added a note to the article about Copy if newer.

Hi there,
I am having issues loading local.settings.json.
I created an azure function with VS 16.1.3 and I am doing DI like this:
[assembly: FunctionsStartup(typeof(XX.Di.Startup))]
namespace XX.Di
{
public class Startup: FunctionsStartup
{
public override void Configure(IFunctionsHostBuilder builder)
{
var xx = System.Environment.GetEnvironmentVariable("WEBSITE_SITE_NAME", EnvironmentVariableTarget.Process);
var yy = ConfigurationManager.AppSettings["WEBSITE_SITE_NAME"];
}
}
}
My local settings file is
{
"Values": {
"WEBSITE_SITE_NAME": "My Site Name",
"WEBSITE_NAME_2": "My Site Name 2"
}
}
But there is ### no way it loads any of the variables in the file (local settings is set to copy if newer and I also tried to copy always).
Developing it using .net core 2.1
Any help would be appreciated.

You are right, .NET core has no solution for reading the local.settings.json file, it's a huge gaping whole in the documentation. There are a million so called solutions out there but they don't work, it will not and does not read the local.settings.json file

Figured it out thanks to https://blog.jongallant.com/2018/01/azure-function-config/
The following works:
public static void Run([TimerTrigger("*/1 * * * * *")]TimerInfo myTimer, ILogger log, ExecutionContext context)
        {

            var config = new ConfigurationBuilder().SetBasePath(context.FunctionAppDirectory).AddJsonFile("local.settings.json", optional: true, reloadOnChange: true).AddEnvironmentVariables().Build();
            var setting1 = config["DevMode"];


Simplify the process for joining the Danger ORG

In all pull requests, the Danger bot asks new contributors if they would like to join the Danger ORG, but they need to be manually added.
I've created OrgManager, an invite system for GitHub organizations. It would allow to provide a link that the user can follow to join the org, making this process simpler.
You may want to check the hosted version (we're improving the frontend), check the GitHub repository, try a demo or read an article explaining how it works.
(ping @orta )

Hey @m1guelpf - this is cool and a great way to attack some of the social problems with orphoned project.
We ended up building a tool for doing this after a PR has been merged Moya/Aeryn which I really do need to set up at some time :D

@orta If you don't mind, I'll add the webhook option to the OrgManager roadmap, as it is a very good idea.

Of course 👍

@orta Just deployed the OrgManager Autoinviter to production!

@orta If you want to use it, you have to follow two simple steps:

Add the Danger organization to OrgManager. Direct Link
Install the OrgManager Autoinviter GitHub Integration to the Danger Organization, and select the repos you want to use it with.
And it should be ready!


Mode of transmission terminology

Is your feature request related to a problem? Please describe.
I cant make out what TBD stands for in mode of transmission column
Describe the solution you'd like
To give the full forms of any such abbreviations used
Describe alternatives you've considered
Searched the internet of TBD in relation to COVID-19 transmission but it was of no help
Additional context
Add any other context or screenshots about the feature request here.

I think that stands for To Be Declared.


Web-Console: add clipboard modal

The blue clipboard has been replaced with the "more" ellipses that open a model will the full value of the cell. Additionally any occurrences of ...0 omitted.. have been fixed.  previously the omitted value was calculated by taking the length minus the max length plus 17 characters for the omitted text. This has been changed to be the max length minus 17 characters for the omitted text, because in reality only 33 characters or preview text will be shown.

CI failures look maybe legitmate:
https://travis-ci.org/apache/incubator-druid/jobs/550535292#L8827

@mcbrewster this has conflicts

looks like legit CI failures

You need to update the snapshots again

awesome, thank you 👍


Rendering issue

Sometimes black rectangles are briefly displayed.
Tabs open:
https://www.amazon.com/Google-Pixel-7a-Unlocked-Smartphone/dp/B0BZ9XNBRB/?th=1
https://www.theverge.com/
Additional command line arguments: --force-device-scale-factor=1
GPU: FirePro M4000

So AMD seems to be the common denominator here. I'll look for any commits related to AMD GPU acceleration/driver support.

So AMD seems to be the common denominator here. I'll look for any commits related to AMD GPU acceleration/driver support.

I'm actually experiencing the same graphical issue here with Intel HD 4000 as well. It only appears briefly, and mostly affects the (default) New Tab page.

So AMD seems to be the common denominator here. I'll look for any commits related to AMD GPU acceleration/driver support.

I'm actually experiencing the same graphical issue here with Intel HD 4000 as well. It only appears briefly, and mostly affects the (default) New Tab page.

Meanwhile at mine with intel hd graphics (1st generation from 2010)

at least in youtube

Finally, a GPU that is similar to one I actually have (Quadro K2200). Which driver is being used?

Finally, a GPU that is similar to one I actually have (Quadro K2200). Which driver is being used?
Driver v441.22 (probably version that was shipped with CUDA 10.2)

118.0.5991.0 not render black cubes as previous, looks like somehow issue solved for me on my RX570

Topic starter, issue still actual?

Topic starter, issue still actual?

Appears fixed for me with 118.

Nice


Make CalculateRandomizedTelemetry a constant

Type of issue

[ ] Bug
[ ] New feature
[x] Improvement

Description
Issue tracking this todo:
// TODO: make this property a constant
if ((bool) actor.DeviceState["CalculateRandomizedTelemetry"])
The purpose of the variable is enabling/disabling the state update via JS function, so we might also consider different names, e.g. "StateSimulationEnabled", "SuspendStateSimulation" etc.

done with https://github.com/Azure/device-simulation-dotnet/pull/75


[occm] CrashLoopBackOff runtime: mlock of signal stack failed: 12

Is this a BUG REPORT or FEATURE REQUEST?:
/kind bug
What happened:
CrashLoopBack with error;
runtime: mlock of signal stack failed: 12
runtime: increase the mlock limit (ulimit -l) or
runtime: update your kernel to 5.3.15+, 5.4.2+, or 5.5+
fatal error: mlock failed

What you expected to happen:
I expect it should run.
How to reproduce it:
Install charmed-kubernetes in Openstack.
Anything else we need to know?:
There seems to be a lot of similar issues with Go1.14 on Focal. The reported kernel version 5.4.0-48-generic #52-Ubuntu, which I understand is patched for the memory issue.

Thanks. I expect this would solve it, but it is not so easy to test. Problem here appears to be not with occm, sorry. It is the cdk_addons snap (from openstack-integrator) which is pinning the version to 1.18.0

OK, thanks for confirming @jah23, so do you mind we closing this issue for now?

Yes closing this. I raised with the cdk-addons folk. Many thanks!