Browser support

I did like to use jco for handling wasi preview2 in browser_wasi_shim. Is it possible to use jco directly in the browser to take a wasm component, run the transpilation step and directly run it as a shim until browsers natively support the wasm component model? Or does it only run in nodejs and does it only support writing out javascript files to the filesystem that can later be imported rather than directly evaluated using new Function or eval?

A browser build would be straightforward to add, and we could support all API methods except for optimize. It would just require careful handling of the imports in the API entry point to not throw in browsers. Marking this issue to track the feature.

+1 as I'm running into this now when I try to import transpile in a browser context:
// in the browser, doesn't work
import { transpile } from '@bytecodealliance/jco';

It can't be done because top level await and a module called "module" that Webpack inserts.
Even if I were to import it, could I call transpile in the browser?

Dug a bit deeper, I noticed that js-component-bindgen-component exports { generate } which output the files without any NodeJS deps:
let { files, imports, exports } = generate(component, opts);

...we could use rollup to bundle those deps into a script directly usable by the browser.

That only works if you work on the assumption that the artifact can/should be changed for different targets. If you want to be able to deploy a single wasm component and have it run in multiple environments, having to then do a separate step for just the browser defeats a decent chunk of the purpose. Especially for use-provided logic.

@guybedford I finished writing the Rollup Plugin 🚀
https://github.com/DougAnderson444/rollup-plugin-wit-component
This plugin essentially bundles all the dependencies from
// import { generate } from 'obj/js-component-bindgen-component.js'
let { files, imports, exports } = generate(wasmBytes, opts);

into a single file that browsers can use to import the javascript functions.
This bundling step can even occur in the browser itself! That is what the demo does.
The plugin can be used on it's own, but in my mind it would make more sense to somehow make it available from jco as it's the go-to place for wit javascript stuff.

@DougAnderson444 this is awesome!! import { generate } from '@bytecodealliance/jco' should work I believe as a dependency of the plugin?
For the browser support, that definitely should be upstreamed I think, would you be interested in upstreaming this? Or is it only working because you managed to work around the FS by avoiding WIT deps and stubbing out the WASI dependencies in the build?
The online demo looks great - would be amazing to have an interactive demo.

When I try to use import { generate } from '@bytecodealliance/jco' I run into the Top Level Await issue because the webpack in the dist exports await top level, but the browser can't handle it, so I had to drill down in the code until I didn't hit any node deps.
I was able to re-use most of the code from jco, including the WIT deps I think you are referring to.
Glad you agree it should be upstreamed for browsers, I am happy to help where I can. I do think jco should be exporting ES modules in the dist as well, perhaps we can incorporate that at the same time. I'm surprised you didn't use rollup for jco?
I was thinking of an interactive demo too, I really like the browser stuff over at wasmbuilder.app and I've been thinking of ways to either incorporate it there or do something similar. The demo would have to pull out the function names and input types and make a best-guess form to call the functions. I'll figure something out.

When I try to use import { generate } from '@bytecodealliance/jco' I run into the Top Level Await issue because the webpack in the dist exports await top level, but the browser can't handle it, so I had to drill down in the code until I didn't hit any node deps.

Good to know - we can update the JCO internal build to use the --tla-compat build option to resolve this. I wasn't sure if we needed that for downstream users, but it sounds like we do.
If we got that resolved what would be remaining to support it being a direct import of the plugin?

I do think jco should be exporting ES modules in the dist as well, perhaps we can incorporate that at the same time. I'm surprised you didn't use rollup for jco?

I'm open to changing the build to move away from ncc, not tied to it by any means.
For interactive demos, we used to have a really nice live WIT bindgen demo here - https://bytecodealliance.github.io/wit-bindgen/. It is no longer maintained though but may help for inspiration.

We're getting there, but there still seems to be a bit of a nodejs dependency that I can't seem to get Vite to work around:
jco > ora > restore-cursor > signal-exit (then process)
Looks like it's coming from here:
https://github.com/bytecodealliance/jco/blob/dd8822c40d36c717de008f202f294320b13632a5/src/cmd/transpile.js#L134-L138

ora is a terminal-specific library - so I'd suggest abstracting the spinner out to an interface/proxy object, and then using ora only in the command line/node version of the library. You can potentially use https://www.npmjs.com/package/@rollup/plugin-alias or https://github.com/KeJunMao/vite-plugin-conditional-compile to provide a different version of the spinner in node and on browser, or just have a stub browser implementation that does nothing...

A browser shim would be great, I've started some work on that in https://github.com/bytecodealliance/jco/pull/97. If someone wants to pick this up further that would be a huge help!

I do not know how realistic would be to make it synchronous ... the entire source of jco could (in theory) be put into a singe .js file, and that could be fed into js-sys::eval, which is synchronous. But I assume that might be unrealistic.

Compiling WebAssembly modules is always asynchronously.

Compiling WebAssembly modules is always asynchronously.

Maybe from JS, but not from Rust. The WebAssemnly::Module::new function is js-sys compiles bytes to a webassembly module, and does so synchonously.
You can then put this method into a JS closure and pass it to JS, and now you have a JS function that compiles bytes to wasm synchronously.
I am already using this approach in wasm-bridge; for example, here I "massage" the "instantiate" function so that it is synchronous and a "normal js function" instead of an module with exports, and here I pass the synchronous "load wasm" function to JS.

Maybe from JS, but not from Rust. The WebAssemnly::Module::new function is js-sys compiles bytes to a webassembly module, and does so synchonously.

Looks like the new Webassembly.Module() constructor in Javascript allows synchronous compilation, but the docs warn that it can be expensive and that you should only use it when absolutely required. It also says that a browser is allowed to throw RangeError when trying to synchronously compile a large enough wasm module on the ui thread. I couldn't find any such code in Blink, Gecko and WebKit though.

I couldn't find any such code in Blink, Gecko and WebKit though.

Good digging. I guess exporting both options (sync for convenience and async for non-blocking performance) and letting the user decide which they want to use would be best.

Keep in mind that new Webassembly.Module() is for wasm Modules, whereas jco is for wasm Components (the Component Model). The browser does not currently support the Component Model, hence all the shims.
What I would do for your project is use jco to generate the JS bindings for the browser (like I do in DougAnderson444/rollup-plugin-wit-component) then call those JS bindings from Rust using js-sys.

What I would do for your project is use jco to generate the JS bindings for the browser

Yes, that's what I am doing. In fact, here is the jco transpile command.
But this requires the user to manually convert the components using jco. If jco would run on the web, they could use the original wasm component and my crate would transpile it during runtime. This would be slower at runtime, but more convenient.
Although, I have noticed your example is using wasi, so I will definitely look into that.

If jco would run on the web, they could use the original wasm component and my crate would transpile it during runtime.

That is exactly what my rollup plugin does :)
There is a bit of work to be done to incorporate it directly into jco just looking for some time to do that.

Although, I have noticed your example is using wasi

I think you can also use wasm-unknown-unkwown too

I want to see an example of wasmtime rust runtime running a wit component with wasi

You can check my other repo https://github.com/DougAnderson444/wit-wasm I think is what you are looking for?

I think is what you are looking for?

Yes, many thanks. But I don't really understand how to put it together. The example at smoke.rs uses wasi 2 preview, but the xtask is using preview 1, so I'm not sure if I'm looking at the right files.

Yes, I understand, I I think the names are a bit confusing too. There is an adapter that converts from preview1 to preview2 and it has preview1  in the name, but the output is set for preview2.  You can actually skip this step that I did by using bytecodealliance/cargo-component which has that adapter built into the build step.
Then it is linked using  preview2 in smoke.rs
As far as putting it together, yes also a confusing complicated step. We really ought to write a Blog post, but this stuff was changing so often I wasn't sure if the Blog would be obsolete very soon.

. It also says that a browser is allowed to throw RangeError when trying to synchronously compile a large enough wasm module on the ui thread.

Ok, Google Chrome on mobile doesn't seem to like it:
liquislime-bevy.js:530 panicked at 'called `Result::unwrap()` on an `Err` value: JsValue(RangeError: WebAssembly.Compile is disallowed on the main thread, if the buffer size is larger than 4KB. Use WebAssembly.compile, or compile on a worker thread.
RangeError: WebAssembly.Compile is disallowed on the main thread, if the buffer size is larger than 4KB. Use WebAssembly.compile, or compile on a worker thread.

and neither does Samsung Internet, but I couldn't get the error trace. Looks like I will have to not be laze and do the asynchronous compilation after all. Anyway, that is kind of off topic.

Hello @DougAnderson444 , the jco rollup plugin is working well. I was able to remove the dependency on rollup and even the plguin from rollup-plugin-wit-component, and only use the bindgen "file". Here is the "js code", build and run it with this script.

That's awesome that you were able to streamline the code! Amazing that this works in the browser =D

If I understand correctly, the bindgen "module" is jco componentized to a wasm component and then transpiled by (essentially) itself to run on the web? That is getting pretty meta, but it works.

I am a big fan of having everything compile in the browser if possible. Have you checked out https://wasmbuilder.app/?

Future collaboration
What I wanted to ask is if I can add this folder that contains your "generate" plugin to wasm-bridge? This would allow the end user to use the same component bytes on desktop and on the web, which would be awesome.

Yes that would be amazing too!

What version of jco did you use? I am using 0.9.4.

I looked back at the code, it was using 0.8.0, I haven't had time to try with the latest version yet.
Version 0.8.0 is when Guy bumped the WIT model version, there must have been these other bugs stuck in there too.
But your method without Rollup seems to be more streamlined?

Have you checked out https://wasmbuilder.app/?

That looks really cool. When I hover over the exports/imports, it doesn't tell me what it is (for example, signature for functions, etc), but otherwise, it is pretty interesting.
Also, I am no longer using that solution. I have code in Rust that is compiled into wasm32 and needs to load and execute wit components, and it turns out I can just use js-component-bindgen directly, instead of transpiling it by jco.
But you are welcome to use the tricks (or hacks, to be precise), from the repo I linked before to streamline the use of your rollup plugin.

@kajacx are you trying to run that wasm32 component in the browser though? Because I was under the impression that you couldn't run a wasm32-unknown-unknown WIT component in the browser via wasm-bindgen (in other words, you can't run a WIT component in wasm-bindgen).  Did you get this to work?

@DougAnderson444 You can't load it directly, but you can load the transpiled component with js-sys from Rust. I have tried to illustrate it here:

Your Rust code will load a wasm component, and then wasm-bridge will transpile it using the Rust crate that jco uses, and then gives the result wasm module to the browser via js-sys.
For the end user, it works exactly the same way as on desktop, they can have one singe source core in Rust that loads and executes wasm components the same way you would do it in wasmtime, but it works on desktop as well as on the web.

Hey @guybedford, everybody,
as a hackathon project last week we did PoC of browser host in just JavaScript
https://github.com/pavelsavara/jsco
Good part: it has just 35KB!
Bad part: I cut many corners, it's a demo-ware. It can't run your component. Yet!
Live demo here https://pavelsavara.github.io/jsco/
If anyone is interested to help, please reach out directly to me or open an issue on jsco project.
There is also detailed to-do list https://github.com/pavelsavara/jsco/blob/main/TODO.md


fix: update Basic Node and Express challenge text

Checklist:

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the main branch of freeCodeCamp.
[x] I have tested these changes either locally on my machine, or GitPod.

Related to https://github.com/freeCodeCamp/freeCodeCamp/issues/46910

This updates the challenge text for a couple of challenges where learners should no longer have to install body-parser or dotenv themselves.
As mentioned in https://github.com/freeCodeCamp/boilerplate-express/pull/98, if it's decided that we should't preinstall the dotenv package for local development, I can remove the commit that updates the challenge text here.

Thank you for catching those things @Sembauke and @ieahleen, and for your helpful suggestions.
This should be ready for another round of reviews.


CheckBox in CompnentBase Class

Error: System.InvalidOperationException: Object of type 'MatBlazor.Components.MatCheckbox.MatCheckbox' does not have a property matching the name 'ChildContent'

Error when using checkbox in a page when the page inherits a class with the ComponentBase class. It looks like this parameter is missing. I am submitting a PR for it now. I am not 100% if other components need this as well.
Also I am getting the error in my app and was able to recreate it in the MatBlazor.Demo.App.

That's strange, because I can not reproduce your error if I remove ChildContent parameter from BaseMatCheckbox.
I think that the problem not in INheritance.
You just try put something inside MatCheckBox element and this is not supported.
This code produce your error, but this is right.
<MatCheckbox bind-Checked="@MyCheck" class="filled-in chk-col-blue">You put something here, but you shouldn't</MatCheckbox>

Maybe I will allow ChildContent for MatCheckBox for Label.
Right now Label - only is Parameter.

Oh yes, that is the issue. My error. Was working too late and didn't figure that out.  Angular Material allows for the Label as a Child Element and I attempting to convert some of my Angular to Blazor. So do you want me to update my PR to allow for the checkbox Label / ChildContent?

Your PR very big and with example of  this issue.
Maybe it's better to reject this changes.
But yes - if you want contrubute, you can add Parameter childcontent to CheckBox and render ChildContent near label and make new PR.
Thank you.


Atom launcher showing browser windows

Prerequisites

[X] Put an X between the brackets on this line if you have done all of the following:

Reproduced the problem in Safe Mode: https://flight-manual.atom.io/hacking-atom/sections/debugging/#using-safe-mode
Followed all applicable steps in the debugging guide: https://flight-manual.atom.io/hacking-atom/sections/debugging/
Checked the FAQs on the message board for common solutions: https://discuss.atom.io/c/faq
Checked that your issue isn't already filed: https://github.com/issues?utf8=✓&q=is%3Aissue+user%3Aatom
Checked that there is not already an Atom package that provides the described functionality: https://atom.io/packages

Description

Steps to Reproduce
A

Right click atom launcher
Click "All windows"

B

Right click atom launcher
Click "New window"

Expected behavior:
A. Only seeing atom windows in unity atom launcher.
B. Seeing atom launch with an empty window.
Actual behavior:
A. Seeing browser tabs in atom launcher
B. Atom launches into 2 tabs, one labelled ATOM_DISABLE_SHELLING_OUT_FOR_ENVIRONMENT=false on the left and one labelled 'atom' (/usr/bin) next to it.
Reproduces how often:

Versions
1.51.0 x64, running on Ubuntu 20.04.
apm  2.5.0
npm  6.14.5
node 10.20.1 x64
atom 1.51.0
python 3.8.2
git 2.25.1
Additional Information
Browser is firefox. Closing browser and all atom windows resolves (A) but not (B).

Thanks for taking the time to contribute!
We noticed that this is a duplicate of https://github.com/atom/atom/issues/20997. You may want to subscribe there for updates.
Because we treat our issues list as the Atom team's backlog, we close duplicates to focus our work and not have to touch the same chunk of code for the same reason multiple times. This is also why we may mark something as duplicate that isn't an exact duplicate but is closely related.
For information on how to use GitHub's search feature to find out if something is a duplicate before filing, see the How Can I Contribute? section of the Atom CONTRIBUTING guide.


http://jira.pentaho.com/browse/PDI-8790

Added sequence functionality for Vectorwise

Thanks for the commit.  I would recommend taking a look at #1098, as there are some other DatabaseMeta methods that need to be overridden, to ensure that the "Add Sequence" step works, including the settings UI.

closing this due to merge conflicts and to the fact there are a lot of non-related commits here.
Please rebase and reissue if still relevant


[1.1 Backport] Fix default connector port in devmode consensus engine

Validator will default listen on 5050 port, make example devmode
to connect on 5050 instead of 5005.
This is a backport of https://github.com/hyperledger/sawtooth-core/pull/1966 to 1.1 branch
Signed-off-by: S m, Aruna<EMAIL_ADDRESS>

@arsulegai ready to merge?

@arsulegai ready to merge?

Yes


Create a dogfood azure subscription for use in test infrastructure

DogFood Azure is a completely separate environment. Need to provision a subscription (with our team as owners) that has access to this environment.

@maririos Would you mind dropping a comment here when you've had a chance to validate that the subscription is working for you? thx!

It works as expected. Thank you @bsiegel !


absX in measureOffset() is not reliable?

Hi,
I am using the latest master 8cf9b24 from this repo, and I'm using this in a View that has an animation which shift this component into the screen (from right edge of the screen).
From the documentation onLayout is fired immediately once the layout has been calculated.
on Android, the x in measureOffset() is always 0, but on iOS, it there's a chance it won't be 0, but some number between [0, width]
So the x in measureOffset() will eventually be 0 once the animation is finished, but depends on when onLayout() is called, it might not? 🤔 (I'm new to React, maybe I have no idea what I'm talking about)
measureOffset () {
    /*
    * const {x, y, width, height} = nativeEvent.layout
    * onlayout values are different than measureInWindow
    * x and y are the distances to its previous element
    * but in measureInWindow they are relative to the window
    */
    this.self.measureInWindow((x, y, width, height) => {
      const window = Dimensions.get('window')
      const absX = x % width
      const radius = Math.min(width, height) / 2
      const offset = {
        x: absX + width / 2,
        y: y % window.height + height / 2,
      }

      this.setState({
        offset,
        radius,
        height,
        width,
        top: y % window.height,
        left: absX,
      })
      this.forceUpdate(this.state.currentColor)
    })
  }

for now I would just forcefully set absX to 0 instead of x % width since my animation will make x to be 0 eventually.
But I wonder if there is there a nicer way to do this?

onlayout is called on every render, if you need to make sure that the layout is calculated after your animation is over, just call measureOffset() on the colorwheel. you can use a ref to grab a reference.

Got it, thanks!


Export the util::amount::Denomination type

Just thought this might be useful for some people. I don't think there will every be a conflicting type named Denomination anyway. If people think this clutters the API, just as good.

:+1:


devicetree: add DT(_INST)_FOREACH_PROP_ELEM_SEP(_VARGS)

Add a new set of helpers for expanding property entries with a
separator. These macros complement DT(_INST)FOREACH_PROP_ELEM(_VARGS) by
adding the capability to expand with a custom separator between property
entries. This allows, in some cases, to re-use existing macros (e.g.
DT_PROP_BY_IDX) without creating an auxiliary macro that just appends a
separator. Example:
n: node {
	...
	my-gpios = <&gpioa 0 GPIO_ACTIVE_HIGH>,
		   <&gpiob 1 GPIO_ACTIVE_HIGH>;
};

Before:
 #define GPIO_DT_SPEC_BY_IDX_AND_COMMA(node_id, prop, idx) \
	GPIO_DT_SPEC_BY_IDX(node_id, prop, idx),

struct gpio_dt_spec specs[] = {
	DT_FOREACH_PROP_ELEM(DT_NODELABEL(n), my_gpios,
			     GPIO_DT_SPEC_BY_IDX_AND_COMMA)
};

After:
struct gpio_dt_spec specs[] = {
	DT_FOREACH_PROP_ELEM_SEP(DT_NODELABEL(n), my_gpios,
				 GPIO_DT_SPEC_BY_IDX, (,))
};

Signed-off-by: Gerard Marull-Paretas<EMAIL_ADDRESS>

@gmarull I have removed the 3.2 milestone as we are past the feature freeze date for this release. Kindly pick a milestone from a future release.

rebased to fix conflicts


rate limiting and circuit breaking in SMI

During the calls, multiple people have mentioned interest in seeing how we can define rate limiting and circuit breaking in the spec part of Traffic Split or in another object referenced by TrafficSplit. @grampelberg brought up the point that we need to define circuit breaking because there are multiple definitions as a first step. That's something I can take on. Does anyone have any additional thoughts on how they want to see these two things defined in SMI?

Wouldn't rate limiting be part of TrafficTarget?

Yes! When we're trying to rate limit traffic to particular service or destination, it makes sense to specify that information as part of TrafficTarget because TrafficTarget allows us to define a set of rules around what traffic can be routed to the destination. Good catch. Thanks.


Ehpr 112 cypress testing

Added local cypress testing and testing for the first three pages.
All the cydata props are to allow cypress to accurately select elements for testing.

Can we name the cypress tests based on their UX names?
Primary Contact Credentials Preferences Review
Also what do you think of changing cyData to data-test-id to be more reusable by other test suites?

Absolutely for the first part.
The second part I'm a bit fuzzier on. I think a deeper discussion on testing strategy may be needed if this project continues.
I feel I owe a bit of an explanation. This PR is pretty rough because cypress testing was descoped. This is mostly WIP. It may be worth just keeping it on the branch, but then it's pretty likely that it'll be forgotten.

Let's mark this as a draft/close it and put the ticket back in Todo in that case


Formatting ident stop working

There was another .edge extension for vscode, this all happens, whenever vscode updates the identification it stops working, I don't know what I could do to get around this problem, it was working correctly. =/
vscode version
1.83.0
Version extension
0.9.2

Hey, this extension does not manage the formatting of .edge files
See : https://github.com/Julien-R44/adonis-vscode-extension/issues/20#issuecomment-1460543255


Support for Gerbil Scheme

I'm attempting to add support for Gerbil scheme (a wrapper around Gambit), but am seeing some really bizarre behavior from Conjure. I've created a new folder in clients/ called gerbil with a stdio.fnl file in it largely copied from scheme. There's some peculiarities with the raw scheme backend, as it seems to look for .scm files, which aren't typically used for Gerbil which uses .ss files.
I'm testing with a simple Gerbil file:
(export main)
(def (main . args)
    (displayln "Hello"))

and receive this error:
E5108: Error executing lua: Vim:Error executing Lua callback: Conjure client '' doesn't support function: eval-file
stack traceback:
...

I've elided the stacktrace, as it has nothing helpful in it. It seems Conjure is not detecting which backend it should use, it's very not clear how it even selects the backend. Assistance with this would be appreciated, otherwise the next best thing is some documentation.

To have Conjure associate .ss files to your Gerbil Scheme client, set the buffer suffix to .ss in your client/gerbil/stdio.fnl file like so:
(def buf-suffix ".ss")

If you haven't already, you should probably set this so that the configuration for your Gerbil Scheme client is set up correctly with Conjure:
(def- cfg (config.get-in-fn [:client :gerbil :stdio]))

Have you read https://github.com/Olical/conjure/wiki/Client-features or :h conjure-clients? Either should be helpful with creating a new Conjure language client or understanding an existing one. I took me a while to get a tiny bit of understanding but they do help.

I've already done all of that, which is why I'm so confused. I'll take another look shortly. Even though it's technically a Scheme, is there any appetite for accepting PRs that add this in?

So the issue with this was the filetype was matching (it was scheme), but the suffix did not, as Gerbil tends to use .ss files. I added that to the global config and submitted a PR. Thanks for the assistance!

Merged! Thanks for finding and addressing that.


Another approach on Debian

This project is awesome, and I was looking where to put the files on Debian and came across this by chance: https://cryptsetup-team.pages.debian.net/cryptsetup/README.gnupg.html (and https://cryptsetup-team.pages.debian.net/cryptsetup/README.gnupg-sc.html).
It seems like (on Debian at least) there's cryptgnupg, cryptgnupg-sc hooks in /usr/share/initramfs-tools/hooks.  I haven't tried them yet.
Anyways, I thought I'd post something here in case there was interest collaborating or something.

Systemd added native suppport for unlocking luks with smartcard which I guess would obsolete other alternatives in future.

Oh awesome!  Yeah, having some keyboard issues with the pin entry with the debian scripts, so the more alternatives the better.  Although it would be nice to keep my involved technologies and file formats down to just gpg.


Fetching images of AIMAGE_FORMAT_JPEG fails

When fetching images I encounter something strange:
ASSERT(AIMAGE_FORMAT_JPEG == src_format, "Failed to get format");
AImage_getHeight(image, &height);
AImage_getWidth(image, &width);
AImage_getPlaneData(image, 0, &pixel, &y_len);

AImage_getPlaneRowStride(image, 0, &stride); // <-- NOT SUPPORTED FOR JPEG
AImage_getPlanePixelStride(image, 0, &pixel_stride); // <-- NOT SUPPORTED FOR JPEG

Note, that the last 2 commands return AMEDIA_ERROR_UNSUPPORTED for that format.

Now writing on the buffer:
  uint8_t *out = buf.data;
    for (int y = 0; y < height; y++) {
        const uint8_t *pY = pixel + width*3*y;

        for (int x = 0; x < width; x++) {
            out[x*3 + 0] = pY[x*3 + 0];
            out[x*3 + 1] = pY[x*3 + 1];
            out[x*3 + 2] = pY[x*3 + 2];
        }
        out += width*3;
    }

fails for some reason. The logcat does not output something meaningful to me - at least not readable.

need to dig a little more on jpeg thing.  the write out portion, got to use stride ( not the width ) when advancing lines, correct? I would need to experiment is myself before I move on to AImage_* owner.

@ggfan yeah, so I found out that getPlaneData returns undecoded images with JPEG which is why the size varies from call to call. I think one must decode it by hand via BitmapFactory or so...

I would think it is compressed jpeg file format, then it is saved into disk or cloud as photo.  for displaying it, got to decode it.  NDK packed MediaCodec:
AMediaCodec* AMediaCodec_createDecoderByType(const char *mime_type);
not sure that could be used to decode jpeg file captured from camera too.  I like to rout you to android-ndk forum, I believe camera team monitors that forum closely.  closing this now since I do not think I could add value.


Before matching, delete all rows from "Awaiting Confirmation" that are more than 5 days old

Functionality still unclear to me. The rows in "Awaiting Confirmation" do not affect matching. When "Email Lawyers" is selected from the ESP menu, "Awaiting Confirmation" is cleared of all old rows, and populated with rows containing which cases were emailed to lawyer for confirmation.

This is to handle the case where a lawyer doesn't confirm their availability until 'too late'.

See also https://github.com/usdigitalresponse/npi-lawyer-client-matching/issues/73

Shifting to Airtable


多光谱检测 multispectral object detection

与之前的Issue#1287类似。
请问如何构建多模态的数据集的dataloader，满足网络双流的输入，比如配对的可见光和红外图片。
期待您的回答，十分感谢。 @open-mmlab
Similar to the previous Issue#1287.
How to build a dataloader of multi-modal data sets to meet the input of network dual-stream, such as paired visible and infrared images.
Looking forward to your answer, thank you very much！

@openmmlab-bot

You can implement a new LoadImageFromFile pipeline to load multiple images.

Thanks for your quick reply, I will try to do it.

You can implement a new LoadImageFromFile pipeline to load multiple images.

Hi @RangiLyu，how can I debug and test the  LoadImageFromFile pipeline.
Can I just test the pipeline，not the model training？

how can I debug and test the LoadImageFromFile pipeline.
Can I just test the pipeline，not the model training？

You can write a simple unit test to test this module.
You can refer to tests/test_data/test_pipelines/test_loading.py


Persisting replica connections

Memoize our custom ConnectionHandler
Prefer release_connection after swapping ActiveRecord::Base.connection_handler to its original handler instead of disconnect_read_pool!
Make resolve_connection_url private as per TODO note
Bump version to 1.1.1

Closes #2

Thanks for the PR! I must admit I do have a few questions.

If there is a thread pool used within using_read_replica_at, and multiple connection get checked out from both the read pool and the write pool, will they all be released using release_connection alone? I think this is something that would happen if you use disconnect! but I am not familiar with release_connection.
How does this solve the issue in #2? If the replica connection pool gets memoized at the class level, and the next call is to a different database - will it still reuse the old one? That would be extremely confusing, or I don't understand the code well enough to judge. For example:

config = resolve_config(replica_connection_spec_hash_or_url)
@custom_handler ||=

Given this code, if you call using_read_replica_at the second time, it would just reuse the cached adapter in the second call even though your connection config might be entirely different. That while using_read_replica_at was designed to revert all state of the AR connection management on return. If you want to cache the connections to the replica, I'd wager they have to be stored somewhere cached by the connection specification, and even then there should be a way to ensure the connections get torn down completely. Maybe release_connection already does that - again, I am not familiar with it. If you want a persistent pool you source read replica connections from I would vastly prefer the solution I proposed to @pedrocunha in #2 as this would explicitly demarcate where we manage connections and where the caller has to manage them. This, in turn, could very well use release_connection.
3) Missing tests ;-)

@hubb is there anything I can do? If you are undecided I will close the PR until the mentioned stuff is figured out ;-)


PR: Fix small error in get_spyder_conda_channel (Utils)

Description of Changes
This error was mentioned in https://github.com/spyder-ide/spyder/issues/23061#issue-2686198460
Issue(s) Resolved
Fixes #
Affirmation
By submitting this Pull Request or typing my (user)name below,
I affirm the Developer Certificate of Origin
with respect to all commits and content included in this PR,
and understand I am releasing the same under Spyder's MIT (Expat) license.

I certify the above statement is true and correct: @ccordoba12

@meeseeksdev please backport to 6.x


Design and implement RandomAStarMoveComponent

First design should be proposed. We need to consider the min/max number of cells (i.e. range) an entity can move and whether it is allowed to change its path without reaching the destination.
In addition, some implementation ideas below. This is to go com.almasb.fxgl.dsl.components
@Required(AStarMoveComponent.class)
public class RandomAStarMoveComponent extends Component {

    private AStarMoveComponent astar;

    private LocalTimer moveTimer;
    private Duration moveInterval;
    private Supplier<Duration> moveIntervalSupplier;

    public RandomAStarMoveComponent(Duration minInterval, Duration maxInterval) {
        moveIntervalSupplier = () -> Duration.seconds(FXGLMath.random(minInterval.toSeconds(), maxInterval.toSeconds()));
        moveInterval = moveIntervalSupplier.get();
    }

    @Override
    public void onAdded() {
        moveTimer = FXGL.newLocalTimer();
        moveTimer.capture();
    }

    @Override
    public void onUpdate(double tpf) {
        if (moveTimer.elapsed(moveInterval)) {
            if (astar.isPathEmpty() && !astar.isMoving()) {
                astar.getGrid()
                        .getRandomCell(c -> c.getState().isWalkable())
                        .ifPresent(astar::moveToCell);
            }

            moveInterval = moveIntervalSupplier.get();
            moveTimer.capture();
        }
    }
}

The basis for this is done in 11.13

The basis for this is done in 11.13


Wrong urls in mail notifications - docker

Hello, we run cachet in docker behind a reverse proxy and noticed that all urls in notification mails are wrong.
Urls are always http://ip.address:port instead of https://status.ourpublicdomain.com.
I tried to fix it with environment variables like:

- ASSET_URL=https://status.ourpublicdomain.com
- APP_URL=https://status.ourpublicdomain.com
- APP_NAME=https://status.ourpublicdomain.com

But nothing of these seems to work.
We have also set the public url in "administration configuration" of cachet, but this seems only affect the URL on the status page links.
Is there any way to get the this working ?
Maybe urls in mails should be generated with url given in cachet administration options ?
Thanks in advanced

I'm running this behind a proxy and I'm not having this issue at all.  Make sure you have the TRUSTED_PROXIES environment variable set to either the IP address(es) of your proxy, or to *.


I can't view cities.

There seems to be a problem when I search up cities. I can only see locations of certain statues or places e.g. "The Great Wall of China", but when I search up e.g. "Hebron", I can't click on it. I hope this can be fixed.

07544fa466510aa8a562febbb9d7cce9fa8b1681
Attempted to locate the map element using #dimg_1, but it doesn't really work as intended. If clicked fast enough, it opens the Google Maps link, but if the element fully loads, the click doesn't work.
I'll take a stab at it, but for now that's it. If anyone knows of a simple way to deal with this.. javascript is not my specialty 😅


Fix sweep test to allow delay to test hyperband against qa or prod

This takes a while to run but it will generate a nice project with stopped runs:
./sweep_check.py -t grid_hyper --grid_hyper_delay 30

Do you have a completed project I can look at? Not sure what your u/n on wandb.ai is.

Do you have a completed project I can look at? Not sure what your u/n on wandb.ai is.
I still see stopped, saw: 0, expecting 3 when i run it. was this supposed to fix the test?

The test works and checks what it can, but the public api is no longer returning "stopped" flag so we can test it.
This fix just adds a delay that allows us to run an automated hyperband sweep against a live gorilla server without modifying the test.

Gotcha, I misunderstood scope.


telegram-desktop: 5.1.8 -> 5.2.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for telegram-desktop is: Telegram Desktop messaging app
meta.homepage for telegram-desktop is: https://desktop.telegram.org/
meta.changelog for telegram-desktop is: https://github.com/telegramdesktop/tdesktop/releases/tag/v5.2.0
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 5.2.0 in filename of file in /nix/store/p0qwn4anaix2fgcjflvj9vbx2djwhb1n-telegram-desktop-5.2.0

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

telegram-desktop

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/p0qwn4anaix2fgcjflvj9vbx2djwhb1n-telegram-desktop-5.2.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A telegram-desktop https://github.com/r-ryantm/nixpkgs/archive/05e9ba7658d7290b60a18b25ca09bf33ac4027e0.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/05e9ba7658d7290b60a18b25ca09bf33ac4027e0#telegram-desktop

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/p0qwn4anaix2fgcjflvj9vbx2djwhb1n-telegram-desktop-5.2.0
ls -la /nix/store/p0qwn4anaix2fgcjflvj9vbx2djwhb1n-telegram-desktop-5.2.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

telegram-desktop

Maintainer pings
cc @NickCao for testing.

https://github.com/NixOS/nixpkgs/pull/323689


TranscodeMain fails

Using latest code version (#3d4a258) on macOS 10.12.3, Java 1.8.0_112.
I was able to use SequenceEncoder to transcode a series of png files into a mp4/h.264 movie.
When I tried to adapt the SequenceEncoder to create an Apple Prores file, it failed at the end with:
Exception in thread "Thread-0" java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
	at java.util.ArrayList.rangeCheck(ArrayList.java:653)
	at java.util.ArrayList.get(ArrayList.java:429)
	at org.jcodec.codecs.h264.H264Utils.createAvcCFromPS(H264Utils.java:455)
	at org.jcodec.containers.mp4.muxer.FramesMP4MuxerTrack.setCodecPrivateIfNeeded(FramesMP4MuxerTrack.java:372)
	at org.jcodec.containers.mp4.muxer.FramesMP4MuxerTrack.finish(FramesMP4MuxerTrack.java:257)
	at org.jcodec.containers.mp4.muxer.MP4Muxer.finalizeHeader(MP4Muxer.java:139)
	at org.jcodec.containers.mp4.muxer.MP4Muxer.finish(MP4Muxer.java:120)

So I thought I first try the included Transcoder to see what I'm doing wrong, but using TranscodeMain also fails for me.
steps to reproduce:

checkout current code
mvn package -DskipTests=true  (there is a failing test :-( )
cd target
Trying to encode as ProRes: java -cp jcodec-0.2.0.jar org.jcodec.api.transcode.TranscodeMain /path/to/img-%d.png -o:vc prores /path/to/myMovie.mov results in:

[INFO]	org.jcodec.containers.imgseq.ImageSequenceDemuxer.getMaxAvailableFrame (ImageSequenceDemuxer.java:143):	Max frame found: 6123
Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
	at java.util.ArrayList.rangeCheck(ArrayList.java:653)
	at java.util.ArrayList.get(ArrayList.java:429)
	at org.jcodec.containers.mp4.muxer.MP4Muxer.movieHeader(MP4Muxer.java:175)
	at org.jcodec.containers.mp4.muxer.MP4Muxer.finalizeHeader(MP4Muxer.java:135)
	at org.jcodec.containers.mp4.muxer.MP4Muxer.finish(MP4Muxer.java:120)
	at org.jcodec.api.transcode.Transcoder.finishEncode(Transcoder.java:391)
	at org.jcodec.api.transcode.Transcoder.transcode(Transcoder.java:622)
	at org.jcodec.api.transcode.TranscodeMain.main(TranscodeMain.java:284)

Trying to encode as H.264: java -cp jcodec-0.2.0.jar org.jcodec.api.transcode.TranscodeMain /path/to/img-%d.png  /path/to/myMovie.mp4 results in the same error message as above.

What am I doing wrong?

Thanks for reporting!
Looking.

Thanks for the updates, it now works!
Re: adapting SequenceEncoder to ProRes.
You were right, in one place I overlooked a H264, after changing it to Codec.PRORES it works.
Re: Transcoder.
With the latest code update it works now as well, even with the same files, so it does not seem to be a problem with the PNGs I used.
 I had to comment that line out in order to compile the code.
Thanks again for the changes!


rename applauncher.js [SATURN-1877]

rename applauncher to galaxylauncher, tested galaxy launch flow in UI

misunderstood the point of the ticket, rolling back these changes sorry!


STATUS_DATATYPE_MISALIGNMENT for 64-Bit structures used by Wow64 process

64-Bit system calls executed by a wow64 process require structures aligned on a 16 byte boundary. A misaligned structure will sometimes result in the system call returning STATUS_DATATYPE_MISALIGNMENT. For example fix, OBJECT_ATTRIBUTES64 in phnt_ntdef.h would be defined like:
typedef struct DECLSPEC_ALIGN(16) _OBJECT_ATTRIBUTES64
{
    ULONG Length;
    ULONG64 RootDirectory;
    ULONG64 ObjectName;
    ULONG Attributes;
    ULONG64 SecurityDescriptor;
    ULONG64 SecurityQualityOfService;
} OBJECT_ATTRIBUTES64, *POBJECT_ATTRIBUTES64;

The only change required here is using DECLSPEC_ALIGN(16)  or __declspec(align(16))
:+1:

For example fix, OBJECT_ATTRIBUTES64 in phnt_ntdef.h would be defined like:

The definition we're using exactly matches what's included in the Windows SDK?

64-Bit system calls executed by a wow64 process

There are a number of cases where this won't work. You should be using the 32bit versions.

Okay, fair enough.


Color Camera doesn't work

I launch the Azure Viewer only Color Camera.
but it doesn't work;;;(Depth Camera is fine. it works very well)
PC
OS : windows 10 enterprise 2016 LTSB 64bit
CPU : intel i7-7700K cpu @ 3.60GHz
RAM : 8 GB
GPU : Intel HD630
SDK : 1.3.0
USB 3.0 plug of PC has just one.
Viewer shows this.

full logs
[ warning  ] : CFrameContext(). No metadata attached to the sample
[ warning  ] : CFrameContext(). No metadata attached to the sample
[ warning  ] : CFrameContext(). No metadata attached to the sample
[ warning  ] : CFrameContext(). No metadata attached to the sample
[ warning  ] : CFrameContext(). No metadata attached to the sample
[ warning  ] : CFrameContext(). No metadata attached to the sample
[ warning  ] : CFrameContext(). No metadata attached to the sample
[ warning  ] : CFrameContext(). No metadata attached to the sample
[ warning  ] : CFrameContext(). No metadata attached to the sample
[ warning  ] : CFrameContext(). No metadata attached to the sample
[ warning  ] : CFrameContext(). No metadata attached to the sample
[ warning  ] : CFrameContext(). No metadata attached to the sample
[ warning  ] : CFrameContext(). No metadata attached to the sample
[ warning  ] : CFrameContext(). No metadata attached to the sample
[ warning  ] : CFrameContext(). No metadata attached to the sample
[ warning  ] : CFrameContext(). No metadata attached to the sample
[ warning  ] : CFrameContext(). No metadata attached to the sample
[ warning  ] : CFrameContext(). No metadata attached to the sample
[ warning  ] : CFrameContext(). No metadata attached to the sample
[ warning  ] : CFrameContext(). No metadata attached to the sample
[ warning  ] : CFrameContext(). No metadata attached to the sample
[ warning  ] : CFrameContext(). No metadata attached to the sample
[ warning  ] : CFrameContext(). No metadata attached to the sample
[ warning  ] : CFrameContext(). No metadata attached to the sample
[ warning  ] : CFrameContext(). No metadata attached to the sample
[ warning  ] : CFrameContext(). No metadata attached to the sample
[ warning  ] : CFrameContext(). No metadata attached to the sample
[ warning  ] : CFrameContext(). No metadata attached to the sample
[ warning  ] : CFrameContext(). No metadata attached to the sample
[ warning  ] : CFrameContext(). No metadata attached to the sample
[ warning  ] : CFrameContext(). No metadata attached to the sample
[ warning  ] : CFrameContext(). No metadata attached to the sample
[ warning  ] : CFrameContext(). No metadata attached to the sample
[ warning  ] : CFrameContext(). No metadata attached to the sample
[ warning  ] : CFrameContext(). No metadata attached to the sample
[ warning  ] : CFrameContext(). No metadata attached to the sample
[ warning  ] : CFrameContext(). No metadata attached to the sample
[ warning  ] : CFrameContext(). No metadata attached to the sample
[ warning  ] : CFrameContext(). No metadata attached to the sample
[ warning  ] : CFrameContext(). No metadata attached to the sample
[ warning  ] : CFrameContext(). No metadata attached to the sample
[ warning  ] : CFrameContext(). No metadata attached to the sample
[ warning  ] : CFrameContext(). No metadata attached to the sample
[ warning  ] : CFrameContext(). No metadata attached to the sample
[ warning  ] : CFrameContext(). No metadata attached to the sample

I searched issues. and I think this is similar problem.
https://github.com/microsoft/Azure-Kinect-Sensor-SDK/issues/839
I checked Device Manager. it look like fine..

I checked Win Event Viewer. There is not any error logs.
I did uninstall & install SDK and plug-in & plug-out USB cable several times. but it doesn't work..
what I have to do next??

You have something installed on your PC interfiering with your camera pipeline. Is anything in this https://github.com/microsoft/Azure-Kinect-Sensor-SDK/issues/459#issuecomment-541994957 helpful?

No response. Closing this issue. Please let us know if the problem continues.

You have something installed on your PC interfiering with your camera pipeline. Is anything in this #459 (comment) helpful?

There is no interfiering with my camera. it has only 1 kinectDK connected.


Add the ability to tap the background to dismiss the menu

It's a common pattern to tap a non-content area of an overlay to dismiss it, so I have added it to my fork. Feel free to merge if you agree!

@justindhill Thanks for the PR :+1:
Btw, I made a small change from your code (using if let... where)
override func hitTest(point: CGPoint, withEvent event: UIEvent?) -> UIView? {
        if let hitView = super.hitTest(point, withEvent: event) where hitView.isKindOfClass(BTTableCellContentView.self) {
            return hitView
        }
        return nil;
    }

You're welcome! :+1:


Resolve problems reported by shellcheck for gather_ceph_resources script

When I run shellcheck on must-gather/collection-scripts/gather_ceph_resources script, I see the following problems:

In must-gather/collection-scripts/gather_ceph_resources line 26:
    secretName=`oc get secrets -n $namespace $CEPH_MON_SECRET_NAME -o jsonpath="{.metadata.name}"`
               ^-- SC2006: Use $(...) notation instead of legacy backticked `...`.
                                  ^--------^ SC2086: Double quote to prevent globbing and word splitting.

In must-gather/collection-scripts/gather_ceph_resources line 27:
    if [ -z ${secretName} ]; then
            ^-----------^ SC2086: Double quote to prevent globbing and word splitting.

In must-gather/collection-scripts/gather_ceph_resources line 30:
    adminKey=`oc get secrets -n $namespace $CEPH_MON_SECRET_NAME -o jsonpath="{.data.admin-secret}" | base64 --decode`
             ^-- SC2006: Use $(...) notation instead of legacy backticked `...`.
                                ^--------^ SC2086: Double quote to prevent globbing and word splitting.

In must-gather/collection-scripts/gather_ceph_resources line 31:
    configMapName=`oc get configmap -n $namespace $CEPH_MON_CONFIGMAP_NAME -o jsonpath="{.metadata.name}"`
                  ^-- SC2006: Use $(...) notation instead of legacy backticked `...`.
                                       ^--------^ SC2086: Double quote to prevent globbing and word splitting.

In must-gather/collection-scripts/gather_ceph_resources line 32:
    if [ -z ${configMapName} ]; then
            ^--------------^ SC2086: Double quote to prevent globbing and word splitting.

In must-gather/collection-scripts/gather_ceph_resources line 35:
    monEndPoints=`oc get configmap -n $namespace $CEPH_MON_CONFIGMAP_NAME -o jsonpath="{.data.data}"`
                 ^-- SC2006: Use $(...) notation instead of legacy backticked `...`.
                                      ^--------^ SC2086: Double quote to prevent globbing and word splitting.

In must-gather/collection-scripts/gather_ceph_resources line 36:
    monEndPoints=`echo ${monEndPoints} | sed "s/[a-z]\+=//g" | sed "s/rook-ceph-mon[0-9]\+=//g"`
                 ^-- SC2006: Use $(...) notation instead of legacy backticked `...`.
                       ^-------------^ SC2086: Double quote to prevent globbing and word splitting.

In must-gather/collection-scripts/gather_ceph_resources line 39:
    cat ${CEPH_KEYRING_TEMPLATE} | safe_replace "REPLACE_WITH_KEYRING" ${adminKey} > ${KEYRING_FILE}
        ^----------------------^ SC2002: Useless cat. Consider 'cmd < file | ..' or 'cmd file | ..' instead.
                                                                       ^---------^ SC2086: Double quote to prevent globbing and word splitting.

In must-gather/collection-scripts/gather_ceph_resources line 40:
    cat ${CEPH_CONFIG_TEMPLATE} | safe_replace "REPLACE_WITH_MON_ENDPOINTS" ${monEndPoints} | safe_replace "REPLACE_WITH_KEYRING_PATH" ${KEYRING_FILE} > ${CEPH_CONFIG_FILE}
        ^---------------------^ SC2002: Useless cat. Consider 'cmd < file | ..' or 'cmd file | ..' instead.
                                                                            ^-------------^ SC2086: Double quote to prevent globbing and word splitting.

In must-gather/collection-scripts/gather_ceph_resources line 79:
for resource in ${ceph_resources[@]}; do
                ^------------------^ SC2068: Double quote array expansions to avoid re-splitting elements.

In must-gather/collection-scripts/gather_ceph_resources line 80:
    openshift-must-gather --base-dir=${CEPH_COLLLECTION_PATH} inspect ${resource} --all-namespaces
                                     ^----------------------^ SC2086: Double quote to prevent globbing and word splitting.
                                                                      ^---------^ SC2086: Double quote to prevent globbing and word splitting.

In must-gather/collection-scripts/gather_ceph_resources line 85:
    openshift-must-gather --base-dir=${CEPH_COLLLECTION_PATH} inspect ns/${ns}
                                     ^----------------------^ SC2086: Double quote to prevent globbing and word splitting.
                                                                         ^---^ SC2086: Double quote to prevent globbing and word splitting.

In must-gather/collection-scripts/gather_ceph_resources line 86:
    if [ $(generate_config ${ns}) -eq 1 ]; then
         ^----------------------^ SC2046: Quote this to prevent word splitting.
                           ^---^ SC2086: Double quote to prevent globbing and word splitting.

In must-gather/collection-scripts/gather_ceph_resources line 91:
    mkdir -p ${COMMAND_OUTPUT_DIR}
             ^-------------------^ SC2086: Double quote to prevent globbing and word splitting.

In must-gather/collection-scripts/gather_ceph_resources line 92:
    mkdir -p ${COMMAND_JSON_OUTPUT_DIR}
             ^------------------------^ SC2086: Double quote to prevent globbing and word splitting.

In must-gather/collection-scripts/gather_ceph_resources line 97:
        ${ceph_commands[$i]} --connect-timeout=15 >> ${COMMAND_OUTPUT_FILE}
                                                     ^--------------------^ SC2086: Double quote to prevent globbing and word splitting.

In must-gather/collection-scripts/gather_ceph_resources line 99:
        ${ceph_commands[$i]} --connect-timeout=15 --format json-pretty >> ${JSON_COMMAND_OUTPUT_FILE}
                                                                          ^-------------------------^ SC2086: Double quote to prevent globbing and word splitting.

In must-gather/collection-scripts/gather_ceph_resources line 105:
        for osdPod in $(oc get pods -n ${ns} -l app=rook-ceph-osd --no-headers | awk '{print $1}'); do
                                       ^---^ SC2086: Double quote to prevent globbing and word splitting.

In must-gather/collection-scripts/gather_ceph_resources line 106:
            pod_status=`oc get po ${osdPod} -n ${ns} -o jsonpath='{.status.phase}'`
                       ^-- SC2006: Use $(...) notation instead of legacy backticked `...`.
                                  ^-------^ SC2086: Double quote to prevent globbing and word splitting.
                                               ^---^ SC2086: Double quote to prevent globbing and word splitting.

In must-gather/collection-scripts/gather_ceph_resources line 111:
            oc -n ${ns} exec ${osdPod} -- ${ceph_volume_commands[$i]} >> ${COMMAND_OUTPUT_FILE}
                  ^---^ SC2086: Double quote to prevent globbing and word splitting.
                             ^-------^ SC2086: Double quote to prevent globbing and word splitting.
                                          ^-------------------------^ SC2086: Double quote to prevent globbing and word splitting.
                                                                         ^--------------------^ SC2086: Double quote to prevent globbing and word splitting.

In must-gather/collection-scripts/gather_ceph_resources line 119:
        mkdir -p ${NODE_OUTPUT_DIR}
                 ^----------------^ SC2086: Double quote to prevent globbing and word splitting.

In must-gather/collection-scripts/gather_ceph_resources line 120:
        oc debug nodes/${node} -- bash -c "test -f /host/var/lib/rook/log/${ns}/ceph-volume.log && cat /host/var/lib/rook/log/${ns}/ceph-volume.log" > ${NODE_OUTPUT_DIR}/ceph-volume.log
                       ^-----^ SC2086: Double quote to prevent globbing and word splitting.
                                                                                ^----------------^ SC2086: Double quote to prevent globbing and word splitting.

For more information:
  https://www.shellcheck.net/wiki/SC2068 -- Double quote array expansions to ...
  https://www.shellcheck.net/wiki/SC2046 -- Quote this to prevent word splitt...
  https://www.shellcheck.net/wiki/SC2086 -- Double quote to prevent globbing ...

https://github.com/openshift/ocs-operator/pull/296

this issue is fixed


Added css style for blocked state of day for DatePicker

PR Checklist
Check these before submitting your pull request:

[ ] Visual and behavioral components are separated
[ ] Exported components are documented with examples
[ ] Props have JSDoc comments
[ ] All relevant visual sub-components can be overridden via props
[ ] Any extra props are spread into the outermost rendered element

Breaking Changes
Currently we use isOutsideRange property for DatePicker to prevent out of range dates. But in this case you cannot handle out of range date if you set it by hands (print date). Because onDateChange will have date as null.
I found a solution how to solve this. We can change isOutsideRange to isDayBlocked property.
In this case everything works fine. But we don’t have  ccs style for Blocked state of DatePicker.
Because currently isDayBlocked days looks as Available for choose

@a-type @zelitzsi May I ask you to publish this and build new version of SCL if everything is fine. Thanks

@safronenko23 We'll release it with #262.


First commit

Coding standard and best practices has been checked

Just formated some code?

yes.I have just formatted some code.I'm a GSoC student.I'm just initiated code base understanding and setting up the working environment .

Merged, thanks!

@AaqibAhamed Since the dotnet core 3.1 has released for a long time, do you have interest to upgrade the dependencies of this project to latest?

https://github.com/casbin-net/EFCore-Adapter/issues/12

Yeah sure.I'll do it

This issue has been solved.I have send a Pull request,check it and merged with origin/master.

Thanks for the help, look at this issue pls. 😄
#12
The issue #12 has been solved.I have send a Pull request,check it and merged with origin/master.


fitBounds is broken in 2.1.0

fitBounds in v. 2.1.0 only accepts actual values for the extents (eg lat1 = 10). Any attempt at using variables causes exception. Rolling back to 2.0.3 fixes it.

@Falke-Design I suspect Leaflet for R - see how https://github.com/Leaflet/Leaflet/issues/8069 reports using version 2.1.0

Yes, leafet for R.
Chris Moeseneder
Senior Experimental Scientist
Oceans and Atmosphere  |  CSIRO
<EMAIL_ADDRESS>|  07 3833 5946  |  0468 932 499
Queensland Bioscience Precinct, 306 Carmody Road, St Lucia, Qld 4067, Australia
[cid:04d6e3f8-314a-45e6-ac9d-85562c0875c4]
CSIRO Australia’s National Science Agency  |  csiro.au

From: Iván Sánchez Ortega @.>
Sent: Friday, March 18, 2022 3:08 AM
To: Leaflet/Leaflet @.>
Cc: Moeseneder, Chris (O&A, St. Lucia) @.>; Mention @.>
Subject: Re: [Leaflet/Leaflet] fitBounds is broken in 2.1.0 (Issue #8072)
@Falke-Designhttps://github.com/Falke-Design I suspect Leaflet for R - see how #8069https://github.com/Leaflet/Leaflet/issues/8069 reports using version 2.1.0
—
Reply to this email directly, view it on GitHubhttps://github.com/Leaflet/Leaflet/issues/8072#issuecomment-1071100724, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AF447FMWDSMSX5UT7ZVMKU3VANRINANCNFSM5Q6CVIFQ.
Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.Message ID: @.***>

@csiro-chris-m Then the answer is the same as in https://github.com/Leaflet/Leaflet/issues/8069 .

Alright. I hope you find the resources to support some of the other platforms. As nice as leaflet is, I can't roll out software if I'm stuck at a specific version.

From: Iván Sánchez Ortega @.>
Sent: Friday, March 18, 2022 3:15 AM
To: Leaflet/Leaflet @.>
Cc: Moeseneder, Chris (O&A, St. Lucia) @.>; Mention @.>
Subject: Re: [Leaflet/Leaflet] fitBounds is broken in 2.1.0 (Issue #8072)
@csiro-chris-mhttps://github.com/csiro-chris-m Then the answer is the same as in #8069https://github.com/Leaflet/Leaflet/issues/8069 .
—
Reply to this email directly, view it on GitHubhttps://github.com/Leaflet/Leaflet/issues/8072#issuecomment-1071110429, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AF447FLREAGYM2LMZAYJUUTVANSD5ANCNFSM5Q6CVIFQ.
Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.Message ID: @.***>


Grading Project Overview

Automated Grading System for Computer Science Assignments
1. Submission
Project Name: Automated Grading System for Computer Science Assignments
Objective:

Develop a backend system that automates the grading of coding assignments.
Leverage APIs to assess code correctness, quality, and submission punctuality.
Provide continuous feedback to students using integrations with version control (GitHub).

2. Key Features

Automated Code Submission and Testing:

Accepts code submissions in multiple programming languages.
Executes code and tests it with predefined test cases.
Provides immediate feedback on test case success/failure.

Grading Automation with Custom Rubrics:

Supports customizable grading rubrics (correctness, code quality, efficiency).
Grades based on passing test cases and code analysis tools (linters).

Late Submission Penalty System:

Tracks submission timestamps and applies penalties for late submissions.
Instructors define penalty rules.

Version Control Integration with GitHub:

Students submit GitHub repository links for version tracking.
Provides continuous feedback after each commit.
Offers feedback on version control practices (commit frequency, messages).

3. System Workflow

Student Code Submission:

API accepts code uploads or GitHub repository links.
The code is passed to an execution environment via an external API (e.g., JDoodle).

Test Case Execution:

Submitted code is tested against predefined test cases.
Feedback is generated on the outcome of each test case.

Grading Process:

Rubrics define grading criteria (correctness, efficiency, style).
Linters (e.g., Pylint or Checkstyle) assess code quality.

Late Submission Penalty:

The system tracks submission timestamps.
Late penalties are applied based on predefined rules.

Continuous Feedback:

GitHub webhooks trigger regrading whenever new commits are pushed.
Feedback is updated continuously as the student improves the code.

4. Technologies Used

Backend Framework: Node.js/Express or Python/Flask
Code Execution API: JDoodle or Sphere Engine
Database: MongoDB or MySQL (storing submissions, grades, rubrics, penalties)
Code Quality Tools: Pylint (Python) or Checkstyle (Java)
Version Control Integration: GitHub API for repository submissions

Summary
Section 1: Code Submission and Execution API

Allows submission of code in various programming languages.
Executes the code and runs it against predefined test cases.

Section 2: Grading Automation with Rubric Integration

Supports custom rubrics for different assignments.
Grades based on correctness, style, and efficiency, with partial credit.

Section 3: Late Submission Penalty System

Handles submission timestamps and applies late penalties automatically.
Adjusts grades based on lateness.

Section 4: Continuous Feedback with GitHub Integration

Integrates with GitHub for version control.
Provides continuous feedback on code improvements with each new commit.


Not Working

I tried to create docker image with the steps in README, and docker image got created , but when I am trying to start teh container it gives me below message and get killed
logspout v3-master by gliderlabs
adapters: kafka
options : persist:/mnt/routes
jobs    : http[routes,logs]:80 pump
routes  : none
2016/02/02 23:17:26  ended: %!s(<nil>)```

@abhishekamralkar, I had a same error message. The problem was that I was mounting /mnt/routes incorrectly and /mnt/routes directory inside of the container was empty.


Added Sarama admin client recreation on EOF connection error

This PR fixes #94 and #98 closing and recreating the Sarama admin client when an EOF error happens (i.e. Kafka rolling, re-authentication timeout, ...) due to Sarama issue not able to reconnect on its own in this use case.

@k-wall can you take a look as well, please?

I was going to suggest that until there is a Sarama fix, that you special case the EOF condition associated with use of the admin client and not increment the error counters.  In some cases the EOF condition is currently not an error condition.   However, on reflection, maybe this makes things more complicated rather than less.  It would mean that a user cannot distinguish between a real problem and this transient issue.
Maybe users of the canary simple need to compensate for the fact that the counters behave in this way when designing their alerts.


Bad request on say

Now playing: assets/match.oga
[16:26:59.516006] on_message (../src/stt.cpp:90): STT text: Computer.Tell me a joke.
[16:26:59.516141] on_message (../src/stt.cpp:104): STT mangled: Tell me a joke.
[16:26:59.516282] sendCommand (../src/wsclient.cpp:58): WS sendCommand: {"type":"command","text":"Tell me a joke."}
WS Received data: {"type":"command","command":"Tell me a joke.","id":9}
WS Command: Tell me a joke.
WS Received data: {"type":"new-program","uniqueId":"uuid-7f0798e3-f392-4d04-9c1b-e7274d8f6578","name":"Icanhazdadjoke","code":"@com.icanhazdadjoke.get();","results":[{"id":"yItzAdUKBd","text":"A horse walks into a bar. The bar tender says \"Hey.\" The horse says \"Sure.\""}],"errors":[],"icon":"com.icanhazdadjoke","id":10}
WS new-program
WS Received data: {"type":"text","text":"A horse walks into a bar. The bar tender says \"Hey.\" The horse says \"Sure.\".","icon":"com.icanhazdadjoke","id":11}
[16:27:01.339074] dispatch_queue (../src/audioplayer.cpp:433): Now playing: A horse walks into a bar. The bar tender says "Hey." The horse says "Sure.".
WS Received data: {"type":"askSpecial","ask":null}
WS askSpecial: ask (null)
Error: Bad Request

Should be fixed, used the JSON stuff to compose the payload


Propose future approach to namespaces

This issue captures the need to discuss the future of namespaces within docker and docker/distribution.
What are the goals of namespaces?
What are they?
How do they work?
What changes need to be made in the near future?
Are current specifications in line with goals?
We'll discuss during upcoming distribution meetings.

This definition should also cover what is needed for #80, the discovery of registry endpoints given a namespace.

@dmcgowan Agreed. It should outline the framework under which a proposal like #80 should be implemented under.


Cross-Origin Request Blocked

Hi all,
the spliceAI website looks broken today. The Firefox console shows the following message

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://spliceailookup-api.broadinstitute.org/spliceai/?hg=38&distance=500&mask=0&variant=8-140300616-T-G&raw=chr8-140300616-T-G. (Reason: CORS request did not succeed). Status code: (null).

Apologies - yes. The server went down 3 hours ago, but is now back online.

I will see if I can add better monitoring & redundancy to reduce the chances of a long outage.

thanks !


Send review request to team

#29
https://docs.github.com/en/rest/pulls/pulls?apiVersion=2022-11-28#list-pull-requests
In latest api, there is requested_teams in response schema, this pr use this field to send notification

I built dist with node 16.20.2.

Looks good to me, thank you for the PR 👍


Polyline quality regression in 1.10

Compare the 1.9 CZML example with the 1.13 one.
1.9 CZML Example
1.13 CZML Example
In 1.9, the lines are nice and smooth

In 1.10-1.13 they are jagged and ugly

This isn't really noticeable on Chrome 46 Beta, win7, and a nvidia quadro card.
1.9

1.13

I do notice it on a another desktop though (Win10, Chrome 45, Radeon R9 270x).

I see it in both 45 and 47 on my Win 10 laptop (5200M Quadro) and my Win 7 desktop (650ti) both with the latest drivers.  I could depend on the capabilities of the card and which render passes we are taking.

@mramato is this still a problem?

With my Windows NVIDIA GeForce, there are slightly more artifacts in 1.29 than 1.9 likely due to FXAA.
Compare:
http://cesiumjs.org/releases/1.9/Apps/Sandcastle/index.html?src=CZML.html&label=Showcases
http://cesiumjs.org/releases/1.29/Apps/Sandcastle/index.html?src=CZML.html&label=Showcases
I am OK with closing this.

Disabling fxaa makes things look even work in my opinion, not better.  But given how long this has been open, I'm okay with closing this.  However when we have time we really need to investigate overall image quality improvements for Cesium.

this is problem is ok ?


Error when 'make all' on ubuntu 22.04.1 LTS

Hello,
when trying to build mfem with 'make all' cmd on ubuntu 22.04.1 LTS an error message prompted.
It appears to be linked with the 'catch.hpp' header. The post hereafter helped me to solve it:
https://github.com/madMAx43v3r/chia-plotter/issues/1002#issuecomment-1219024593
I changed
static constexpr std::size_t sigStackSize = 32768 >= MINSIGSTKSZ ? 32768 : MINSIGSTKSZ;
into
static constexpr std::size_t sigStackSize = 32768;
I am new to C++ and just starting with mfem, I hope this comment will be useful to code developers.

Hi @etiennespieser,
Thanks for reporting this. What compiler and whis version was it with?
Tzanio

Hi @tzanio ,
Sorry, I don't know exactly which compiler was used. It must have been g++ 11. Here are the list of compiler installed on my computer:
$ dpkg --list | grep compiler
ii  g++                                        4:11.2.0-1ubuntu1                       amd64        GNU C++ compiler
ii  g++-11                                     11.2.0-19ubuntu1                        amd64        GNU C++ compiler
ii  gcc                                        4:11.2.0-1ubuntu1                       amd64        GNU C compiler
ii  gcc-11                                     11.2.0-19ubuntu1                        amd64        GNU C compiler
ii  gcc-11-multilib                            11.2.0-19ubuntu1                        amd64        GNU C compiler (multilib support)
ii  gcc-multilib                               4:11.2.0-1ubuntu1                       amd64        GNU C compiler (multilib files)
ii  libllvm13:amd64                            1:13.0.1-2ubuntu2.1                     amd64        Modular compiler and toolchain technologies, runtime library
ii  libllvm14:amd64                            1:14.0.0-1ubuntu1                       amd64        Modular compiler and toolchain technologies, runtime library
ii  libllvm9                                   2:9.0.1-0ppa4~ubuntu22.04               amd64        Modular compiler and toolchain technologies, runtime library
ii  libparams-validationcompiler-perl          0.30-1                                  all          module to build an optimized subroutine parameter validator
ii  libxkbcommon-dev:amd64                     1.4.0-1                                 amd64        library interface to the XKB compiler - development files
ii  libxkbcommon0:amd64                        1.4.0-1                                 amd64        library interface to the XKB compiler - shared library
ii  rpcsvc-proto                               1.4.2-0ubuntu6                          amd64        RPC protocol compiler and definitions
The precise cmd lline I used to build MFEM are
$ make build
$ make all -j4
Here is a sample of the log output displaying the error msg:
'''
g++ -O3 -std=c++11 -I../.. seq_test.o -o seq_test -L../.. -lmfem -lrt
make -C tests/unit
make[1]: Entering directory '/home/espieser/Documents/MFEM_debug_test/mfem-4.4/tests/unit'
g++ -g -c /home/espieser/Documents/MFEM_debug_test/mfem-4.4/tests/unit/unit_test_main.cpp  -O3 -std=c++11 -I../..  -I. -I../.. -o unit_test_main.o
g++ -O3 -std=c++11 -I../.. seqheat.o mtop_integrators.o paramnonlinearform.o pparamnonlinearform.o -o seqheat -L../.. -lmfem -lrt
rm mtop_integrators.o pparamnonlinearform.o paramnonlinearform.o seqheat.o
make[1]: Leaving directory '/home/espieser/Documents/MFEM_debug_test/mfem-4.4/miniapps/mtop'
g++ -g -c /home/espieser/Documents/MFEM_debug_test/mfem-4.4/tests/unit/fem/test_1d_bilininteg.cpp  -O3 -std=c++11 -I../..  -I. -I../.. -o fem/test_1d_bilininteg.o
g++ -O3 -std=c++11 -I../.. seq_example.o -o seq_example -L../.. -lmfem -lrt
rm seq_test.o seq_example.o
make[1]: Leaving directory '/home/espieser/Documents/MFEM_debug_test/mfem-4.4/miniapps/autodiff'
g++ -g -c /home/espieser/Documents/MFEM_debug_test/mfem-4.4/tests/unit/fem/test_2d_bilininteg.cpp  -O3 -std=c++11 -I../..  -I. -I../.. -o fem/test_2d_bilininteg.o
In file included from /usr/include/signal.h:328,
from /home/espieser/Documents/MFEM_debug_test/mfem-4.4/tests/unit/catch.hpp:8030,
from /home/espieser/Documents/MFEM_debug_test/mfem-4.4/tests/unit/unit_tests.hpp:15,
from /home/espieser/Documents/MFEM_debug_test/mfem-4.4/tests/unit/run_unit_tests.hpp:15,
from /home/espieser/Documents/MFEM_debug_test/mfem-4.4/tests/unit/unit_test_main.cpp:14:
/home/espieser/Documents/MFEM_debug_test/mfem-4.4/tests/unit/catch.hpp:10818:58: error: call to non-‘constexpr’ function ‘long int sysconf(int)’
10818 |     static constexpr std::size_t sigStackSize = 32768 >= MINSIGSTKSZ ? 32768 : MINSIGSTKSZ;
|                                                          ^~~~~~~~~~~
In file included from /usr/include/x86_64-linux-gnu/bits/sigstksz.h:24,
from /usr/include/signal.h:328,
from /home/espieser/Documents/MFEM_debug_test/mfem-4.4/tests/unit/catch.hpp:8030,
from /home/espieser/Documents/MFEM_debug_test/mfem-4.4/tests/unit/unit_tests.hpp:15,
from /home/espieser/Documents/MFEM_debug_test/mfem-4.4/tests/unit/run_unit_tests.hpp:15,
from /home/espieser/Documents/MFEM_debug_test/mfem-4.4/tests/unit/unit_test_main.cpp:14:
/usr/include/unistd.h:640:17: note: ‘long int sysconf(int)’ declared here
640 | extern long int sysconf (int __name) __THROW;
|                 ^~~~~~~
In file included from /home/espieser/Documents/MFEM_debug_test/mfem-4.4/tests/unit/unit_tests.hpp:15,
from /home/espieser/Documents/MFEM_debug_test/mfem-4.4/tests/unit/run_unit_tests.hpp:15,
from /home/espieser/Documents/MFEM_debug_test/mfem-4.4/tests/unit/unit_test_main.cpp:14:
/home/espieser/Documents/MFEM_debug_test/mfem-4.4/tests/unit/catch.hpp:10877:45: error: size of array ‘altStackMem’ is not an integral constant-expression
10877 |     char FatalConditionHandler::altStackMem[sigStackSize] = {};
|                                             ^~~~~~~~~~~~
g++  -O3 -std=c++11 -I..  ex9.cpp -o ex9 -L.. -lmfem -lrt
make[1]: *** [makefile:134: unit_test_main.o] Error 1
make[1]: *** Waiting for unfinished jobs....
g++  -O3 -std=c++11 -I..  ex10.cpp -o ex10 -L.. -lmfem -lrt
g++  -O3 -std=c++11 -I..  ex14.cpp -o ex14 -L.. -lmfem -lrt
make -C miniapps/electromagnetics
make[1]: Entering directory '/home/espieser/Documents/MFEM_debug_test/mfem-4.4/miniapps/electromagnetics'
make[1]: Nothing to be done for 'all'.
'''
Etienne

What is the output of g++ --version?
Does anyone else suse g++ 11 or newer?

Hi @tzanio,
g++ --version gives me the output g++ (Ubuntu 11.2.0-19ubuntu1) 11.2.0.
Serial examples are building and running properly with this version of g++, however I run into troubles with the parallel examples using mpirun (Open MPI) 4.1.2. The provided examples are building but return a segmentation fault error when they are run in parallel (my config.mk is maybe not set up correctly...).
The turnaround I have found was to use MFEM provided along with Spack, it is more convenient to use for a beginner like me since all dependencies are easily verified.
Etienne

Spack is definitely the easiest if that works for you 👍
It could be that your OpenMPI and g++ compilers or runtimes are not synchronized.

I can't reproduce this and the OP has found a workaround, so I am closing this now.
Please feel free to reopen, if this is still an issue with recent g++ versions.


Long overdue

About the PR
Changelog

:cl: Todd

add: Added flip flap to the lobby themes.
remove: Removed Herobrine.

Isn't Flip-Flap technically not allowed to use? I mean, SS13's been doing it for years, but I think it's under regular copyright.

Checked out the copyright and its free to use for non profit


Gracefully handle an interface with no known implementors

Before this change, the generated code would have included:
__resolveType: TypeResolveFn<, ParentType, Context>

which would fail to parse due to the missing type parameter

Awesome! Thanks @mdlavin !


[Do not merge yet] Renames WoF API docs to Mapzen Places

These changes basically renames the Who's on First API to Mapzen Places.
Summary:

updates docs build process to pull from mapzen branch source files, rather than master
renames banner and tagline
renames any examples of wof to be places in build process
deletes the wof config file and replaces it with places
updates automated tests to refer to places
adds URL redirects for any existing topic with a /wof. If you go to documentation/wof, for example, it will redirect to documentation/places

Note: this PR updates the documentation build process. Any content changes to be done in source files.
cc @thisisaaronland @dphiffer @mjcunningham @kkowalsky

👍  looks good to me

See also https://github.com/whosonfirst/whosonfirst-www-api/issues/85 for content changes


Blob URLs

I'm working on an application that generates blob URLs like this:
blob:https://domain.com/path
The blos are json data containing responses from APIs.
When I click on the extension icon I see this:

Not sure if it's possible but it would be nice if I you could make formatting work for blobs too.

I'm working on an application that generates blob URLs like this:
blob:https://domain.com/path
The blos are json data containing responses from APIs.
When I click on the extension icon I see this:

Not sure if it's possible but it would be nice if I you could make formatting work for blobs too.

@callumlocke can you please confirm this extension does not work for blob URLs ?

I'm pretty sure this isn't possible, sorry.
But I'm curious, can you give me more of an example of how you might expect this to work? Is there a way that you can currently display a blob URL containing JSON in a browser tab, unformatted? I might be misunderstanding something.

But I'm curious, can you give me more of an example of how you might expect this to work? Is there a way that you can currently display a blob URL containing JSON in a browser tab, unformatted? I might be misunderstanding something.

Hi @callumlocke. You can create a json blob like this:
const obj = { hello: "world" };
const blob = new Blob([JSON.stringify(obj, null, 2)], {
  type: "application/json",
});

Then open the blob in a new tab:
const url = URL.createObjectURL(blob);
window.open(url, '_blank');

The content-type header of the response is correct, so I'd expect the extension to format it:

Thank you for the example @AmdJonPugh. When I created this issue in 2022 it was something I used to see almost every day. Maybe it's not possible to format blob URLs due to browsers' limitations but it could help other developers.


Multiple devices are not recognized

from this bug report: https://community.home-assistant.io/t/toshiba-home-ac-control/137698/57
I only have one device - so I cannot reproduce this nor verify. a possible hint would be this line:
https://github.com/KaSroka/Toshiba-AC-control/blob/3b0b6ca8c82f003cadcd882465c54993c3ac7e3c/toshiba_ac/device_manager.py#L53
Maybe device.ac_unique_id is unique only per customer - not per device. and therefore the list entries are overwriten.

2021-09-03 16:08:31 DEBUG (MainThread) [toshiba_ac.device_manager] Found devices: [ToshibaAcDeviceInfo(ac_id='66ef012f-08f2-41dc-aab7-13abb1176ef4', ac_unique_id='8cb89f51-7c8b-461b-9f78-041b3f4945d9', ac_name='chambre Jade'), ToshibaAcDeviceInfo(ac_id='bdff4db5-8dbe-457a-a247-1935aaf1942e', ac_unique_id='42c333ed-e969-4b42-a046-f6be6f128248', ac_name='chambre invitée'), ToshibaAcDeviceInfo(ac_id='c33e8484-9c3c-4a76-aa86-8cd807c89ec7', ac_unique_id='fdae801b-9383-4dd5-9851-7cf0b276026b', ac_name='chambre parental'), ToshibaAcDeviceInfo(ac_id='03ccb237-2b6b-4e7b-ac85-aa0634c82521', ac_unique_id='df0c721f-b357-4143-9ee2-3a05e59c3dd5', ac_name='chambre Louna'), ToshibaAcDeviceInfo(ac_id='8d9a01ec-5cb6-45ac-b69a-54097973204c', ac_unique_id='9c9eb6af-7cc1-42a9-b34f-64fa4eb720d5', ac_name='cuisine'), ToshibaAcDeviceInfo(ac_id='c3ea10bc-3951-4b3b-bc39-789a5e17a774', ac_unique_id='294063ac-4b7a-41a1-8e9d-e0569d3df087', ac_name='salon'), ToshibaAcDeviceInfo(ac_id='bc6d7899-9163-4ba6-96dd-8bfc082bb5e2', ac_unique_id='bec2b893-e8f0-4e3c-ad56-0f34c3b26573', ac_name='salle à manger')]
2021-09-03 16:08:31 DEBUG (MainThread) [toshiba_ac.device] [chambre Jade] AC state from HTTP:<PHONE_NUMBER>3230101b22fe0b000010ff000000
2021-09-03 16:08:31 INFO (MainThread) [toshiba_ac.device] [chambre Jade] Current state: AcStatus: OFF, AcMode: COOL, AcTemperature: 20, AcFanMode: MEDIUM, AcSwingMode: NOT_USED, AcPowerSelection: POWER_50, AcMeritBFeature: FIREPLACE_2, AcMeritAFeature: OFF, AcAirPureIon: OFF, AcIndoorAcTemperature: 27, AcOutdoorAcTemperature: 34, AcSelfCleaning: OFF
2021-09-03 16:08:32 DEBUG (MainThread) [toshiba_ac.device_manager] Adding device ToshibaAcDevice(name=chambre Jade, device_id=m2k93330_3e6e4eb5f0e5aa46, ac_id=66ef012f-08f2-41dc-aab7-13abb1176ef4, ac_unique_id=8cb89f51-7c8b-461b-9f78-041b3f4945d9)
2021-09-03 16:08:32 DEBUG (MainThread) [toshiba_ac.device] [chambre invitée] AC state from HTTP:<PHONE_NUMBER>6400101a1afe0b000010ff000000
2021-09-03 16:08:32 INFO (MainThread) [toshiba_ac.device] [chambre invitée] Current state: AcStatus: OFF, AcMode: COOL, AcTemperature: 17, AcFanMode: MEDIUM_HIGH, AcSwingMode: NOT_USED, AcPowerSelection: POWER_100, AcMeritBFeature: OFF, AcMeritAFeature: OFF, AcAirPureIon: OFF, AcIndoorAcTemperature: 26, AcOutdoorAcTemperature: 26, AcSelfCleaning: OFF
2021-09-03 16:08:32 DEBUG (MainThread) [toshiba_ac.device_manager] Adding device ToshibaAcDevice(name=chambre invitée, device_id=m2k93330_3e6e4eb5f0e5aa46, ac_id=bdff4db5-8dbe-457a-a247-1935aaf1942e, ac_unique_id=42c333ed-e969-4b42-a046-f6be6f128248)

hello everyone, always the same problem to know: each time HA is restarted I have to deactivate the plugin and then reactivate it to make it work

Hi @m2k93 thanks for the report. Unfortunately logs shows that it's perfectly fine - 7 AC devices are found.
Can you extend logging configuration to this:
logger:
  default: warning
  logs:
    toshiba_ac: debug
    custom_components.toshiba_ac: debug

And check if there is some log with error, warning, exception, traceback or something similar? Also, do you use latest version of the integration - 2021.8.6?


Add support for iOS Permissions or new Repo for Project that supports both Android and iOS

Hey,
this project works well for Android, but we are developing for both platforms and would like to use the same lib for both android and ios.
Having this resource(or a new repo) support Android and iOS would be awesome. That way it's easier to query permissions cross platform. (I saw some of the required code already in UnityNativeCamera)
Cheers, John

Unlike Android, each permission in iOS is handled in a different way and some require a separate framework, e.g. camera permission requires Photos framework (or AssetsLibrary framework on older iOS versions). I don't think a user who is only interested in e.g. location permission would want to bloat their project with numerous additional frameworks.
Thank you for the feedback but I'm not planning to add iOS support.

Thanks, did some research aswell and came to the same conclusion. Thanks for responding so quickly


cabal's Paths_ module does not built with ob run

Cf. this answer for a quick overview of Paths_*
Paths_* modules are only generated during builds. ob run relies on ghcid I guess, which doesn't generate the Paths_ modules unless you run it with a flag:
ghci -idist/build/autogen

The troubles I have are caused by pandoc-types. Just add pandoc-types as dependency in, say, frontend.cabal and then try ob run to see the error.

I switched to the development branch and the problem disappeared.

Turns out my issue is different and probably specific to my set-up:
/home/ruben/code/my-palantype/learn-palantype/dist-newstyle/tmp/src-125670/pandoc-types-1.22.2/src/Text/Pandoc/Definition.hs:100:1: error:
    Could not load module ‘Paths_pandoc_types’
    It is a member of the hidden package ‘pandoc-types-1.23’.
    You can run ‘:set -package pandoc-types’ to expose it.
    (Note: this unloads all the modules in the current scope.)
    Use -v (or `:set -v` in ghci) to see a list of the files searched for.
    |
100 | import Paths_pandoc_types (version)
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

For some reason, I have a dependency to pandoc-types-1.22 that than believes that it depends on some pandoc-types-1.23 for the module Paths_pandoc-types. It doesnt make sense. I should only have pandoc-types-1.23 in the first place.
This is my default.nix:
{ system ? builtins.currentSystem
, pkgs ? import <nixos-unstable> {}
}:
let
  obelisk = (import ./.obelisk/impl {
    inherit system;
    iosSdkVersion = "13.2";
    terms.security.acme.acceptTerms = true;
    useGHC810 = true;
  });

in
  with pkgs.haskell.lib;
  obelisk.project ./. ({ ... }: {
    android.applicationId = "systems.obsidian.obelisk.examples.minimal";
    android.displayName = "Palantype";
    ios.bundleIdentifier = "systems.obsidian.obelisk.examples.minimal";
    ios.bundleName = "Palantype";

    staticFiles = import ./static.nix { inherit pkgs; };

    shellToolOverrides = self: super: {
      inherit (pkgs.haskellPackages) cabal-plan cabal-install;
    };

    overrides = self: super: {

      mkDerivation = args: super.mkDerivation (args // {
          doCheck = false;
          doHaddock = false;
          enableLibraryProfiling = false;
        });

      # for persistent
      lift-type = self.callHackage "lift-type" "<IP_ADDRESS>" {};
      # esqueleto's test suite introduces dependencies to persistent-... packages
      esqueleto = self.callHackage "esqueleto" "<IP_ADDRESS>" {};
      persistent = self.callHackage "persistent" "<IP_ADDRESS>" {};
      # the version <IP_ADDRESS> still got a bug with mariadb
      #persistent-mysql = self.callHackage "persistent-mysql" "<IP_ADDRESS>" {};
      persistent-mysql = self.callHackageDirect {
        pkg = "persistent-mysql";
        ver = "<IP_ADDRESS>";
        sha256 = "0mnrgq05nk7ghfavfr2rhcz2yc0lciw88idri0ljsk2nymsnrbb8";
      } {};

      gerippe = self.callCabal2nix "gerippe" (pkgs.fetchFromGitHub {
        owner = "rubenmoor";
        repo = "gerippe";
        rev = "041f32de5094589ebc7dfe2bfd6e8078470ef2b6";
        sha256 = "1mfxxn0q09wa81bdw4ngisklaaib4lz1ibxayrpk7g7l44hy92sm";
      }) {};
      #gerippe = self.callCabal2nix "gerippe" ../../gerippe {};

      gridtables = self.callHackageDirect {
        pkg = "gridtables";
        ver = "<IP_ADDRESS>";
        sha256 = "zMQW1jbntZ1pxWKT+D+tt/LKy7SkADFN3o+Wn3VdD88=";
      } {};

      jira-wiki-markup = self.callHackageDirect {
        pkg = "jira-wiki-markup";
        ver = "1.5.0";
        sha256 = "a0/b2AfcA7mMmfrcbEEh5pNUq/OjJw4H7uLTpkl+Y1c=";
      } {};
      pandoc-types = self.callCabal2nix "pandoc-types" ../pandoc-types {};
      #pandoc-types = self.callHackageDirect {
      #  pkg = "pandoc-types";
      #  ver = "1.23";
      #  sha256 = "BfwTC6irH6/dYIuqd+rMqLNzH8DP1g/7mFJhZZ9O9Fo=";
      #} {};

      commonmark-pandoc = self.callHackageDirect {
        pkg = "commonmark-pandoc";
        ver = "<IP_ADDRESS>";
        sha256 = "0JXjvqZVFa8RR64Wi9NZ97tQ9S900qRaE6/4adQaQaU=";
      } {};
      commonmark = self.callHackage "commonmark" "0.2.2" {};
      commonmark-extensions = self.callHackageDirect {
        pkg = "commonmark-extensions";
        ver = "<IP_ADDRESS>";
        sha256 = "J0sdUT4X0yjJ4iAu/ne7EA4IzFAoyBWf59hx5FyOsH4=";
      } {};
      unicode-data = self.callHackageDirect {
        pkg = "unicode-data";
        ver = "0.3.1";
        sha256 = "p3uoLleamcIYEqe9c+EFRO3mPMZGgLf9XQ3/qwdmiF8=";
      } {};

      texmath = self.callHackageDirect {
        pkg = "texmath";
        ver = "0.12.6";
        sha256 = "r5R3TfWOYfgMH4JDXMX14JPykGjKXuJn6IovJ4rSnTo=";
      } {};
      citeproc = self.callHackageDirect {
        pkg = "citeproc";
        ver = "0.8.1";
        sha256 = "XhaAQo0kYCZzenyUftgiCqNs/5esca2udcfeSpBOTjI=";
      } {};

      doclayout = self.callHackage "doclayout" "0.4" {};
      emojis = self.callHackage "emojis" "0.1.2" {};
      doctemplates = self.callHackageDirect {
        pkg = "doctemplates";
        ver = "0.11";
        sha256 = "8xT3CJzWjhLEHTBcbl+BCF0lc5fVQUQ0IRdLMNmthmc=";
      } {};
      ipynb = self.callHackage "ipynb" "0.2" {};
      mime-types = self.callHackageDirect {
        pkg = "mime-types";
        ver = "<IP_ADDRESS>";
        sha256 = "HnBsPBdONbaw42/JnpONXAIwsEwc/fMyUXcm4cJdWUQ=";
      } {};

      pandoc = self.callCabal2nix "pandoc" (pkgs.fetchFromGitHub {
        owner = "rubenmoor";
        repo = "pandoc";
        rev = "8fa46a2e5701db1ed579cc65378a927746ca8586";
        sha256 = "0vl1ikgg80rkwdz6chj2s2h5xdkylvi4ymcziq3v0s62pnqf8bk3";
      }) {};

      skylighting-core = self.callHackage "skylighting-core" "0.9" {};
      skylighting = self.callHackage "skylighting" "0.9" {};

      #reflex-dom-pandoc = self.callHackage "reflex-dom-pandoc" "<IP_ADDRESS>" {};
      # waiting for my pull request to make it into upstream
      reflex-dom-pandoc = self.callCabal2nix "reflex-dom-pandoc" (pkgs.fetchFromGitHub {
        owner = "rubenmoor";
        repo = "reflex-dom-pandoc";
        rev = "7878b040d15ba9d327a56e673231c6467d7c5973";
        sha256 = "111x4qs958jq38vrm56m4jl4jrww3jjw2kyd2l2clwmxp7wipkz0";
      }) {};

      #servant-reflex = self.callCabal2nix "servant-reflex" ../servant-reflex {};
      servant-reflex = self.callCabal2nix "servant-reflex" (pkgs.fetchFromGitHub {
        owner = "rubenmoor";
        repo = "servant-reflex";
        rev = "00b101c46fb3ecb3d35fa55080b4b32455cee66e";
        sha256 = "1gghpfgsw8p2v6msz17sr5nn30pkg2c59pz7gvazqrv80v8102bb";
      }) {};

      #servant-snap = self.callCabal2nix "servant-snap" ../servant-snap {};
      servant-snap = self.callCabal2nix "servant-snap" (pkgs.fetchFromGitHub {
        owner = "rubenmoor";
        repo = "servant-snap";
        rev = "657af13efa002b4f7c24bfc20d63d59e85a1086f";
        sha256 = "0p1h1a1rnrg5c63cpir8i26w93af6hqwxgqc6w2h94wjz2fbxp4c";
      }) {};

      my-palantype = self.callCabal2nix "my-palantype" ../my-palantype { };
      #my-palantype = self.callCabal2nix "my-palantype" (pkgs.fetchFromGitHub {
      #  owner = "rubenmoor";
      #  repo = "my-palantype";
      #  rev = "c258a5f678011dde1ff24ead2b5574c61d6398cb";
      #  sha256 = "0hqd5vbc8wamm4npvsvg06vghv7vcin6pmx15wd9lysi3q7zf2s4";
      #}) {};

      bytestring-trie = self.callHackage "bytestring-trie" "0.2.7" {};
    };
  })

I should mention, though that both, nix-shell -A shells.ghc and nix-build -A exe run fine without complaints.

I set up my repo for easy reproduction of the problem, see here:
https://discourse.nixos.org/t/version-mismatch-with-pandoc-types-and-ob-run-ghci/25771/4?u=rubenmoor

I solved it by
$ nix-shell -A shells.ghc
$ cabal clean


is it using a vpn by any chance?

ok so when reviving a mobile game i got the following error
gotcha!
your location is unsupported
which i never got previously so does this use a sort of vpn is so whats the location

no it dosnt

uhm does the traffic get redirected to stunel or something like that?


Typescript: support async function types in invoke service src

As a follow up to #988, I think it'd be great to support async functions in invoke src types.

Isnt src: () => async function(){} working already?

Isnt src: () => async function(){} working already?

I don't believe this works if the async function is a callback function rather than a promise.

Isnt src: () => async function(){} working already?

I don't believe this works if the async function is a callback function rather than a promise.

Aren't all async functions promises?

Aren't all async functions promises?

No:

Truth to be told - both works: https://codesandbox.io/s/determined-morse-nxm9j?file=/src/index.js , but the preferred way should be:
asyncFn: async (context, event) => { /* implementation */ }

I also can't find any problem with TS in this regard:
https://codesandbox.io/s/small-glade-nbikr?file=/src/index.ts
@haywirez Could you prepare a repro case of your problem?

Closing as this is supported.


chore: release v0.6.21

:robot: I have created a release beep boop
0.6.21 (2024-05-28)
What's Changed

chore(deps): bump github.com/charmbracelet/lipgloss from 0.10.0 to 0.11.0 by @dependabot in https://github.com/coffeebeats/gdenv/pull/250
fix(gdenv-shim): disable windows GUI during build to prevent extra console window by @coffeebeats in https://github.com/coffeebeats/gdenv/pull/251

Full Changelog: https://github.com/coffeebeats/gdenv/compare/v0.6.20...v0.6.21

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/coffeebeats/gdenv/releases/tag/v0.6.21 :sunflower: