Add cleanmymac version 2

See #10465 - that's probably more complete as it solves the OSX version dependencies too?

hm, wrong thread, sorry :)

A few things to be sorted out before we merge this in:

where possible, we try to use versioned URLs instead of latest as it makes it easier for users to upgrade, which in this case makes

version :latest => version '1.11' (for classic) and version '2.3.5' (for 2)
url => https://dl.devmate.com/com.macpaw.CleanMyMac/1.11/1417522595/CleanMyMacClassic-1.11.zip and https://dl.devmate.com/com.macpaw.CleanMyMac2/2.3.5/1427986644/CleanMyMac2-2.3.5.zip
and appropriate sha256 for both versions

we do prefer HTTPS where available and most of the URLs (both url stanzas and homepage) seem to have HTTPS versions with no redirects
appcast stanzas will probably need to stay HTTP as these actually redirect back to HTTP when using HTTPS :disappointed:

This looks simply like [a duplicate of the main cask](without extra options), so why add it here? The changes suggested by @radeksimko should be made to the main cask, though.

@vitorgalvao Your link is pointing to nowhere, but I assume you meant to link to https://github.com/caskroom/homebrew-versions/blob/master/Casks/cleanmymac-beta.rb ?
In which case I agree we can leverage that cask, but considering the naming convention vendor seem to have, it should be renamed as well from cleanmymac-beta to cleanmymac-2.

No, I meant the cask in the official repo. That beta looks like it should be removed, though, it’s no longer a beta, and an old version, at that.

In that case I disagree, we should keep version 2 in homebrew-versions in case someone deliberately wants to install that version instead of 3.

That’s what I mean. In that case your suggested changes should also be implemented in this cask, but “classic” should be removed.

@toonetown Do you plan on updating this?

I wasn't - but I can. The reason I submitted this pull frequent was just to keep track of the version that was in the main repo before updating it to version 3.

On May 10, 2015, at 9:06 AM, Vítor Galvão<EMAIL_ADDRESS>wrote:
@toonetown Do you plan on updating this?
—
Reply to this email directly or view it on GitHub.

I mean updating as in with the discussed changes.

I can do it tomorrow if you would like.

Thank you. Please @mention me or @radeksimko (or both) when you do, so we get a warning to check back.

@vitorgalvao, @radeksimko - I updated with the suggestions given (use HTTPS, actual version, SHA sum, and remove the "classic" stuff)

Thank you.


Keyed Decoder Type Mismatch Error has Incorrect Coding Path

The decoding method for _URLEncodedFormKeyedDecoder doesn't properly construct the the coding path that is thrown with the DecodingPath.typeMismatch error.
Instead of passing in codingPath, it should be codingPath + [key].

Great catch, thanks @calebkleveter!


per_coin = True in coin_monitor_config

Hello, i am not a software deloveper, i was just trying to use your script -> coin_monitor.py
i could not run your script without changing per_coin = True to per_coin_email = True in coin_monitor_config
after chaning that it is working.
maybe this is something to fix. i just wanted to let you know. thanks.

Thank you, yes I had altered the ode and forgotten to update the coin_monitor_config file!
I appreciate you letting me know so I could change it.


Add Buffer support

just added Buffer.byteLength() so passing a buffer will break this (at least it used to)

Yes, it will. Actually, it won't work for anything but strings. buffer.length reports the correct size, though. Maybe something along the lines of:
      // content-length
      if (data && !req.getHeader('Content-Length')) {
        this.set('Content-Length', typeof data === 'string' ? Buffer.byteLength(data) : data.length);
      }

This should work for both buffers and strings.

yup

Content-Length is fixed. I won't have time to look into this any further for today, but do you have some pointers to code that needs adaption off the bat?

@noisebeuter cool thanks man. In general? or related to this buffer stuff? we should definitely add a few tests for this in ./test/node/*


vim pager prevents the automatic update of  plugins requires typing

Issue description
I tried adding 3 new vim plugins https://github.com/teto/nixpkgs/tree/vim-gutentags by running the command advised in pkgs/misc/vim-plugins/default.nix:
nix-shell -I nixpkgs=. -p vimPlugins.pluginnames2nix --command "vim-plugin-names-to-nix </dev/null"
but vim pager keeps asking for input:
fetching git://github.com/junegunn/vim-easy-align
-- More --
fetching git://github.com/thinca/vim-ft-diff_fold
-- More --
fetching git://github.com/lambdalisue/vim-gista
-- More --
fetching git://github.com/airblade/vim-gitgutter
-- More --

I don't believe this is the expected behavior ? Maybe a flag should be passed when starting vim to ensure pager doesn't wait for input (or use a stock vim).
Not sure who to ping ? /cc @MarcWeber

I've seen this too, I forget what I did to resolve it.  I believe the "</dev/null" is an attempt to address this, I'm not sure what the story is there (why doesn't it work, if it did previously?).
My shell history contains:
$ nix run -I nixpkgs=$HOME/nixpkgs nixpkgs.vimPlugins.pluginnames2nix -c vim-plugin-names-to-nix </dev/null

Which is probably equivalent to what you're doing (err note how I set nixpkgs=, that's specific to my checkout location) if the < /dev/null is moved outside the quoted argument to --command? Might be worth trying that...
It seems to resolve the pager issue but it's still running so I haven't checked if at the end the new metadata is in a working vim instance or not...

Thanks for confirming I am not crazy :) I haven't investigated yet, but I am curious why would need to run vim at all ? vimscript is not so reliable that we should rely on it. Maybe there is a valid reason but I am dubious.

@mic92 I rebased the branch on master and ran nix-shell -I nixpkgs=. -p vimPlugins.pluginnames2nix --command "vim-plugin-names-to-nix +'w result' +qall" but I still have the problem
fetching https://github.com/google/vim-codefmt
fetching https://github.com/google/vim-jsonnet
-- More --
fetching https://github.com/google/vim-maktaba
-- More --
fetching https://github.com/gregsexton/gitv

also the ^C won't stop the update.

cc @LnL7

Blame points to https://github.com/NixOS/nixpkgs/commit/7d80c755e8b66ebfded9034a604c4660ee1c25c0
Ran into this too. I actually managed to get thru them all but now I don't know where I'm supposed to find this generated expression - anyone know?
The docs suggest running this command to generate a new expression, but we shouldn't have to fetch all these vim plugins to generate one new expression. Probably the instructions could be updated to say you should delete all but the new one in the meantime?


test(assets): Re-serialize all ORT result files

The file format meanwhile has changed slightly, so update the files by
just de-serializing and serializing them again. This also fixes broken
formatting in several places. Most importantly it simplifies upcoming
changes.
Note: The re-ordering of license IDs within SPDX expressions requires
to align the expected output files of the evaluated model reporter
tests.

@fviernau closed this 9 minutes ago

I guess something went wrong...

@fviernau closed this 9 minutes ago

I guess something went wrong...

Ok, somehow this still laded in main.

Ok, somehow this still laded in main.

Yeah, the UI I was giving me the error message that it could not rebase. So, I did it manually and pushed.
But when the push arrive the PR meanwhile got merged and closed.
So all went fine in the end


Browser support

Hi,
Kivy looks interesting. Are there any plans to support outputting projects against HTML5/Javascript?
This might be naive (I don't know much about these technologies), but if Kivy is based on Cython, it might be possible to use Emscripten to compile it into Javascript. I know they discussed this in a Skulpt issue.

This has also been talked about at https://groups.google.com/forum/#!searchin/kivy-dev/html5/kivy-dev/xBeaPv1aXWo/PLGdnCAOAwAJ. And as mentioned we have no current plans to do this.

I'm also very interested in deploying Kivy apps via the web, running directly in the browser. It would be a great additional platform for some apps.
Looking through the groups discussion and a few others there seems to be two ideas here. One is to make the apps run completely in the browser (either by transpiling Python or using emscripten). Another is to have the app run on the server but render its display in the browser (this is a thin client set up).
I don't think the thin client idea scales very well, I would much prefer to have the whole app running in the browser. So I gave it a try: pong demo. Please note that the page loads very slowly, and I have only seen it work with Firefox, but if it does work you should see the Pong demo running, and if you open up the developer tools console some familiar Kivy startup output. This is the real Pong demo too, with a Python file and a kv file. I may have changed two lines of code at most.
To get this far I started by compiling Python 3.5.2 with emscripten. This work can be found here.
Kivy has a number of Cython extensions in packages and they proved quite difficult to statically link (an emscripten requirement) but I now have a solution for that which I need to write up. I'll be adding an example to my project.
With the compiled parts in place I made the Python sources available to the virtual file system and then started working though a bunch of import errors. Emscripten doesn't support pthreads so those libraries gave some trouble. The same for sockets as used by tuio. However the number of changes to get Pong working were encouragingly small. Emscripten has support for SDL2 and OpenGL ES so graphics just sort of worked, which is nice.
I have some experiments to run (trying more apps, working out what fails in some browsers), some steps to write up and some code to check in. I just wanted to offer some hope for people who really wanted this and to share my progress. I don't see any reason why support for this platform couldn't end up in master, even if the build instructions are maintained separately (they are quite involved).
Hope it works for at least one other person out there...

Yeah, seems like it's Firefox only thing. Also I noticed multitouch is broken. The rest however seems to be quite smooth if you have just that tab/page opened. Also if you try to open console or inspect an element, it'll start masively lagging until the console is open. Probably a reaction to changing the screen size. Yet it's really fancy to see Kivy work at least in some browser! Was it compiled with GCC or CL/MSVC?

i'm prety sure emcasripten is a frontend to llvm. so neither gcc or cl/msvc.

I have had emscripten compiled projects working on other browsers before, including Chrome, Android, Safari, iOS and IE. I hope the problem(s) with my current build can be tracked down and fixed.
Yes, that would be llvm doing the compiling.
Out of the box no mouse input was working, I had to make some small changes to the WindowSDL class to create the touch events based off SDL2 events. If browsers support multitouch (I'm sure they do) there should be no issue adding another input provider.
Audio does not work at all yet. I'm not sure that there is an emscripten port of the SDL2 mixer.
The lag when opening the developer tools is because the compiled javascript source is massive and takes a long time to render. I avoid the source code tab and everything seems fine. This situation might get much better if WebAssembly support becomes mainstream. WebAssembly should also reduce the size of the program being downloaded and its parse+start up time.
As for performance of the app - some emscripten compiled code has been shown to run at up to 50% of the speed of natively compiled code. That was the best case but I think we might hope for only 5-10 times slower than a native app over all for CPU stuff. Some of this could be regained by compiling everything through Cython when doing a web release. Rendering shouldn't take such a hit as it is still handled by the GPU.
I guess we will see as we get more stuff working.

@dgym does this mean that there are now "official" plans for Kivy to support HTML5?

I'm just trying to make it work at all. It would be up to others to decide if adding this support to Kivy master is the best way forward.

This is great, very nice work!
Personally, I'd love to have this working smoothly in kivy master - I'm not sure if we'd be able to officially support it much, but I don't think that should get in the way of making it as easy as possible.

Let's reopen, we are very much in favor of seeing this integrated in some form, though as others noted, it will most likely happen as a community effort.

I have added my work so far to this branch: https://github.com/dgym/kivy/tree/emscripten-wip
It breaks some things and I'm not convinced that the build process should even be in the Kivy repo. The submodule I added certainly shouldn't be. However it should hopefully give anyone interested a way to reproduce my work and builds.
So those caveats are quickly adding up, here are some things I'm having to deal with:
Building this is horribly slow
Linking with emcc takes a long time, and any project with pyx modules will have to go through this. I have managed to separate out all the .py files though - they get transferred in zip files so rebuilding them is quick.
The generated files are huge
The whole thing is about 40MB of javascript files, and although they compress well (~5MB over the network) it is still a lot of source for the client to process. In fact it is too much for Chrome to process (see below).
The page takes a long time to load
Firefox on my desktop takes many seconds to load the page. Mobile devices would presumably suffer even more.
It doesn't work with Chrome
Chrome has a hard coded limit for the size of a single js file. The current builds exceed that limit. It is possible to work around this by switching to dynamically linked modules instead of the current static linking process but calling functions in another module is slow, this could really hurt performance.
Many of these issues should be considerably improved once WebAssembly (wasm) gets widespread support. Emscripten will have wasm support too so everything done on this proof-of-concept branch is well worth having.
I'm thinking the next steps would be to:

Package up all the examples, this should give a good idea of what isn't working.
Add multi touch support.
Add sound support.

@helenst kindly put together builds for lots of the examples:
https://dgym.github.io/kivy-browser-demo/
It seems there is a text input rendering problem - another thing to add to the list.

@dgym, you've been invited to the Contributor team, this gives you write access in case you'd like to work in a branch directly. Thanks a million times for your work, your demo is truly amazing.

Some updates, but sadly no progress:
I was looking into Chrome support, but although I got a simple Python+SDL2 small enough to run I have had no such luck when adding Kivy. I have also tried using Emscripten's dynamic linked library support to split things up but without success so far.
I have found some build flags that reduce the js file size from ~40MB to ~30MB, unfortunately at the cost of link times, which end up at tens of minutes.
The TextInput rendering issue looks like a npot texture problem to me. IIRC WebGL doesn't support non-power-of-two textures and yet something is clearly visible even if a little squashed. I don't know if this is something being handled in Emscripten's GL stack or in Kivy's internals so more investigation is required.
For multitouch the browser does indeed have support. SDL2 has touch events but I don't know if they are hooked up by default. Unfortunately I don't have a multitouch device that will run this stuff, so I haven't figured out how to develop this feature yet.

The Pong demo from here did not work for me with latests Firefox on Windows 7 :-(
But nice work and great project! Can't await to have Python in browser(s) and JavaScript buried ... my biggest dream --> prowser ;-)

@dgym That was really awesome, your demo, repository, ... it was too good. I liked it and would love to work further in it. Thanks for your contribution. :+1:

Maybe this is crazy or maybe it has already been discussed, but about the pong demo, maybe a chrome or firefox extension with the kivy library could help it load faster

❤❤❤ Python in the browser ❤❤❤

The initial version of WebAssembly has reached cross-browser consensus.
-->

How are chances now for WebAssembly to make Kivy live in the browser?
WebAssembly Home
wasm High-Level Goals
wasm Use Cases
wasm Github
wasm spec draft
... still dream of it and love the idea of Python in the browser ...
This would make the world a better place! 😀

@dgym Great job to bring back this project to life :) You've gone further than my POC, which is great! The website is awesome. Again, good job :)

What about brython and skulpt as backends?

@lrq3000 Brython could be probably a better option as it works with python 3.x

Maybe this is something that culd help.

PyPy.js is an experiment in building a fast and compliant python environment for the web.
It uses the PyPy python interpreter, compiled for the web via emscripten, with a custom JIT backend that emits asm.js code at runtime.
Try it out below, or see the links above for benchmarks and download information.

Hi everybody
I'm about to write a thesis proposal to work on the issue of kivy running in the browser.
All possible additional info about possible approaches is certainly welcome!
kind regards
Lieven

Since Pyodide used cpython-emscripten for run python in browser, i think that it will be possible to run Kivy Apps in Browser
https://hacks.mozilla.org/2019/04/pyodide-bringing-the-scientific-python-stack-to-the-browser/
Has someone already tried ?

No one tried this to my knowledge. After having tried getting kivy in the browser to work with vispy's backend, I'm actually wondering why someone would want to run kivy in the browser other than curiosity or to scratch an itch?
I was interested in this purely for educational reasons so people can try simple kivy demos in the browser, but I can't see how this would work with any real app. E.g., Pyodide, even though it could potentially run kivy and other python code there's many things it cannot do and would need some js code to be able to do something useful. E.g. threading, files (except virtual files), and asyncio (meaning no network stuff) doesn't work. So to interact with the outside world you'd need to write some js code for these missing things. And at that point why not just write the app in js completely?
Also, it seems like a kivy app in the browser would have a completely different feel than normal web apps, which users may not like. And that's not including the initial loading time, which isn't faced by normal webapps, or if running kivy natively (as you download only once, not every time you load the website).
Are there situations where kivy wouldn't work normally so you'd want to use a browser instead? I did look briefly at pyodide when it came out and just now again and it looks fairly doable. But besides the issues I mentioned, it's at such an alpha stage that you can't really write a real app. E.g. there's no easy way afaict to download arbitrary pure python packages from pypi, except by adding it manually to the pyiodide repo.

Here's a experimental implementation of kivy running in Pyodide. You can explore with it here: https://alpha.iodide.io/notebooks/2882/.
A few things to keep in mind:

Pyodide is still highly experimental and so is my implementation of kivy it.
Read the explanation text in the notebook.
The kivy window is shown at the bottom of the text to the right, so scroll all the way down after you run the app.
Make sure to wait a little before running each cell, especially the first time before you run the actual app. Otherwise you may get OSError: broken data stream when reading image file. If you do get that error, just refresh the page and try again, or run the code again.
There seems to be a transparency issue where the background is not cleared.
Text looks awful.
This is run using native js api (I wrote a new window and gl provider using the js native API), while this prevents any compilation issues it probably (maybe) is slower than the sdl2.
I did not implement the keyboard and clipboard yet. Keyboard should be easy, clipboard we'll have to work out the permissions.

@matham is it just me or does your notebook no longer work? I've been trying just about every approach to get kivy in the browser recently for my thesis, so I'd love to get your attempt working and look into improving it.
For reference, this is the error appearing in my browser console when executing the block which defines kpy:
LinkError: import object field '_hiwire_get_bool' is not a Function iodide.eval-frame.js line 2 > eval:312:45

@matham, @Epse, et al.: I'm very interested in getting Kivy working in the browser and it sure looks like Pyodide may be a solid means for achieving this goal. It looks like you've already made some amazing progress.
If you're no longer working on it, would you be willing to share how far you got and your basic approach (I'm new to Pyodide, so am just getting familiar with porting simple packages)?
If you're still interested and working on it, I'd be happy to help out in whatever way I can (and will try and recruit colleagues to join the fun). This is certainly going to entail a good bit of work with many decision-points along the way, so I figure putting a lot of minds together might help make it happen.

Hi @psederberg
@Epse is a thesis student I'm mentoring. Though the corona crisis makes mentoring significantly harder.
It seems to me there is a need for a vast body of knowledge in order to get this working properly. In that regard: The more the merrier!
I'll discuss things with @Epse and get back to you.

Hi @psederberg, @Epse
The thesis has ended, and we came to one major conclusion.
We need the pyodide working on the new emscripten (with the llvm backend) in order to get this working again. This seems to be the shortest path to getting kivy on the browser.
A number of issues arose when trying to build the demo's created by dgym, and most of them seemed related to version mismatches between pyodide, emscripten and dgym's fork of kivy. (Emscripten's build system has changed drastically since dgym's work, hence we did not succeed in using an identical version dgym used)
I'm hoping to have another thesis student working on this, but have found none so far.
@psederberg: Are you still interested in this? If so, feel free to contact me.

Hi @tytgatlieven! I'm definitely still very interested. Please feel free to send me an email (just add gmail.com to my github username) and we can discuss motivation for why we need it and try and figure out a plan for making it happen.
If anyone else is similarly interested, feel free to reach out, as this is going to take a real team effort to get kivy into the browser!

Blazor (c# wasm) and Iced.rs (rust wasm) is good pattern for us !

I'm coming from the angle of wanting to do this via pyodide where I opened this issue. Maybe some kind of webgl adapter can be possible. Idk yet but I'm willing to try.

No one tried this to my knowledge. After having tried getting kivy in the browser to work with vispy's backend, I'm actually wondering why someone would want to run kivy in the browser other than curiosity or to scratch an itch?

For the reason why the team I work picked flutter for our mobile+web app project - to have the same codebase for Android app, iOS app and web app. It would be much nicer if we could have done it with Python.

Hi,
Just a small message to say that I would be extremely happy to have a working in-browser kivy app solution too (for instance using Pyodide).

I would like to say that PyScript has been launched recently and I wonder how far we are from having Kivy apps running on the browser. It uses Pyodide and emscripten.
I hope someone at least take a look, or provide general directions like "if we do X, Y, Z, we may be able to make Kivy to work with PyScript".

I posted this on Discord but didn't get any reaction so thought I would post here as I believe there may be some useful insight from this project even if this isn't really the solution that most Kivy users would want.
In short, I've been experimenting with rolling my own (currently) small subset of Kivy equivalent widgets in JavaScript using a lot of ES6 features and the Html5 Canvas. Here's a simple pong demo: https://github.com/spillz/eskv-pong. This is not module code, so if you clone the project you should be able to just open index.html in your browser of choice and it will run. js/pong.js has the code you want to look at. It should work on any not ancient Firefox, Chrome or Edge browsers, and recent-ish Safari versions (both iOS and macOS) and work on most devices (PC, tablet, phone, possibly even Xbox if code is hosted somewhere).
You can think of this as coming at the Kivy in the Browser problem from the opposite direction. Let's start with native JavaScript and see how close we can get to replicating a Kivy experience in the browser. The answer seems to be pretty close! Frame rates are solid even with big widget layouts on portable devices. I can share the bigger project if that's of interest where I found I get better performance in the browser version than I did in python+Kivy (see below for possible reasons why).
The reason this exists is because I decided to port a reasonably complex card game written in Kivy that I've been working on to run in the browser. I started out thinking I could just transpile the game + kivy library and see what happens. I used transcrypt to do the transpilation because it produces compact+readable JavaScript from python code. Unfortunately, it doesn't support Cython so I hit a bottleneck from the outset getting the core of Kivy ported across and there's a lot of Cython code there.
I had stumbled on this Github issue a while back but replicating dgym's work seemed daunting for a part-timer, to say the least. Instead I decided that it wouldn't be too hard to replicate the subset of the kivy backend I needed directly in JavaScript. One reason that was feasible is because the ES6 flavor of JavaScript brings a lot of features that make it easy to compactly represent Python idioms--improvements to Objects, Classes, Array.prototype, generators, proxy objects, and so on--plus replicating Kivy drawing instructions was trivial in Canvas. Unfortunately, no operator overloading so there's still a bit of loss in expressiveness (It's worth noting that transcrypt does a pretty elegant job replicating python in transpiled JS code given the JS limitations).
Replicating Kivy wasn't my goal and as a result, what this has evolved to is very far from a 1:1 port of Kivy to an ES6 equivalent even for the very small subset I've ported so far. For example, to be cautious about performance I've essentially disallowed binding to geometry (x,y,w,h) of widgets (there's a workaround for widgets that absolutely need it but I find that's rarely needed), ditched the declarative drawing calls for the native imperative Canvas drawing instructions, changed how Label works because that always drove me batty, and dropped the KV language. I found that I was able to replicate KV language's automatic property binding by allowing properties to be set by arrow function then parsing the arrow function for objects that need to be bound to. So you can more or less replicate the structure of a KV file in native JS albeit with a lot more curly and round braces.
From this experiment, I'm pretty confident that it would be feasible to build a reasonably compact Kivy runtime library in native JS using a mix of transpilation and backend rewiring (OpenGL=>Canvas/WebGL, touch interface=> browser touch interface, etc) of the native Kivy library. That runtime could be imported by transpiled Python+Kivy user code and deployed as a WebApp. What would be trickier is getting it to work with KV language files -- I suspect you'd need to extend your transpiler of choice to handle those too so that you aren't literally carrying around a python interpreter in Java. The end result should be a lot more compact and performant than the alternative of transpiling everything even with the promise of WebAssembly. Whether someone wants to go to all this trouble is a different question. Hopefully this is somewhat helpful and not just noise.

@spillz I would love to see a minimal runnable example of this whole process.
Like, at least  Hello World app.
Thanks for sharing your experience on that, I'm very curious about how it looks like in the end.

@FilipeMarch, for current JavaScript experiments, here's a live demo of the pong example, which is just a little more than Hello World:
https://spillz.github.io/eskv-pong/index.html
As far as the user code goes, you need a stub html file that creates a canvas and takes care of the module imports and the user module "pong.js" in this case: https://github.com/spillz/eskv-pong/blob/main/index.html
And here's the code for pong.js itself: https://github.com/spillz/eskv-pong/blob/main/js/pong.js
Notice there are no imports in pong.js. That's because when you aren't using module code, every JS script imported in index.html gets its declared objects imported at global scope. I plan to convert this to module code at some point and then you'll see explicit import statements in pong.js rather than index.html much the same way you'll see python imports for a standard kivy program. To get a sense of what module code might look like, check out the getting started guide for Pixi.js (think pygame for JavaScript) here: https://pixijs.io/guides/basics/getting-started.html. Note that you could also embed the pong.js code directly in a script block in the index.html file itself just like in the Pixi.js example if you really wanted a single page example.
As far as how this would look with an actual Python Kivy toolchain that supports a Html5 target (this is all hypothetical, none of it exists):

You would create a standard Kivy program with main.py, kv file, etc. and a manifest that specifies that Html5 is the target and what files are part of the target.
You would run a Kivy Html5 toolchain command that would read the manifest and transpile the main.py and kv file (and any other needed files) into a target folder with python converted to equivalent javascript.
The transpiled code would replace python imports with equivalent JS imports from a pre-built Kivy JS runtime module.
To test the program, upload the target folder bundle to a webserver (possibly localhost) and open the URL in your browser (this deployment could be part of the toolchain).

We are so excited to see run kivy on browser.


flowtime: 3.1 -> 6.1

Description of changes
Update flowtime to 6.1.
As GNOME 45 is still WIP #247766, this pr cannot be merged right now, I will leave it as-is until 45 is ready.
It should now working with latest master branch.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Priorities
Add a :+1: reaction to pull requests you find important.

Thank you for stepping up as a maintainer. IIRC, this app got ahead with using libadwaita beyond what is available from nixpkgs so it didn't get the updates. 😅
Runs and works fine to me.

Result of nixpkgs-review pr 268890 run on x86_64-linux 1

1 package built:

flowtime


Timm Wille.md

title:  "Timm Wille"
metadate: "hide"
categories: [ Mentor, Github ]
image: "/assets/images/timm.jpg"
Hello World! You can call me Timm

I am an Open Source Hardware and Circular Economy activist and renewable engergy engineer from Berlin, Germany.
Sharing knowledge and hands-on skills on #OpenTech  and sustainable transformation is my mission and passion since 2013 when I joined the Open Source Ecology movement.
Runinng events, talks, workshops and founding initiatives as well as working in the field in South Sudan and Uganda led me to become a trainer and organizer for Open Source Ecology Germany and beyond.
I started to research and develope methodes for Open Process Documentation and toolboxes like #ASKotec (Access to Skills and Knowledge open tech emergency case) to shape an innovative and #sustainable future on a global scale.
I see sharing knowledge as a form of true democracy and empowerment for the future solutions we need.

If you would like to connect or read more in detail you can choose here:

Open Source Ecology Germany Profile | German
Open Source Ecology Germany Profile | English

@bmen there is a formatting issue with the links on the bottom of Timms profile that I can't figure out
file: https://github.com/ASKnet-Open-Training/ASKnet-Track-II-participants-stories-Community-Empowerment-2020-2021/blob/Pintereso-Theme/_posts/2020-07-02-Timm-Wille.md
page where error occurs: https://asknet-open-training.github.io/ASKnet-Track-II-participants-stories-Community-Empowerment-2020-2021/Timm-Wille/

I think the problem is the | character in the link text


Feature: Updating the number of comments on a post when sending or deleting a comment

Fixed by f4d8748 commit


Support new docker build features

It would be great if the image resource could support:

cache-from
network
target

I agree. Let me know if you're interested in submitting a PR to add them.
Otherwise I will try to get to it this weekend

I don't have spare cycles right now, but you've just found a beta tester!

I'm not seeing those flags supported in https://github.com/fsouza/go-dockerclient/ just yet, so we'll either need to submit a PR to add them, or wait a little bit.

I've updated to description to include target as well, which was added in 17.05.
I don't think we should support squash. It's very likely going to be removed from docker because the new multi-stage builds provide a better way to create squashed images.

I may try to pick this up if I find some spare time.  This issue is the only thing really holding me back from starting to use dobi for our project.  I need the new network attachment during building for a shared "secrets" container...
Right now, we're using docker-compose + a bunch of wrapper bash scripts.  compose is seriously lacking features for builds (multiple tags, pushing of those tags, boostrapping, build mounts, etc), hence the need for extra bash scripts...
I really think this project has some potential if more people start contributing!

It looks like network (specified as NetworkMode in go-dockerclient) and CacheFrom are available in go-dockerclient, but target needs a PR.

I'll release version 0.11 soon, which will have these fields added.


[Chain] Add Verification logic to chain package

Currently the chain is missing two components:

The verification logic for a block and tx

A suitable place to insert the genesis block

More information has been added in the package with XXX

As the verification of Tx is a huge undertaken in itself, I have created a separate issue for this.
https://github.com/CityOfZion/neo-go/issues/214

Looks like this issue is related to 12 and 214 but here it has description which covers both of them. Am I missing smth?

I think now it duplicates #12, so this one can be closed.


Applications: Live attributes update

Changelog Description
Update attribute values on settings save.
Additional info
This helps to update the attribute live on settings change. It does work from this version up. The update does not require restart of server, but the live attributes update is available from server version 1.0.7 .
Testing notes:

Make sure you have server 1.0.7 or newer.
Create packages on server addons from this PR.
Upload applications addon.
Use the version in production/staging bundle.
Add new vartiant of applications and save settings.
Go to any project anatomy and check if the variant is available in the attribute.

Adding new variants with live updating works, but default variants (both for tools and applications) are present in enums even if i remove them and replace with others. i purged all previous versions of the application addon as well as all settings, but old variants are still there.

Did you remove them in both the production settings AND the staging settings?

to the end of update_enums? it is not required for now, but in a future release (soon) this will invalidate attribute cache in redis, which is going to be needed for horizontal scaling of the server. At this point, it won't hurt doing it, so it is just for forwards compatibility.

Could you add function reset_attribute_cache which does it? This is too specific for cases the logic would change in future.
from ayon_server.entities.core import attribute_library
await attribute_library.load()

It works only in case you manually refresh the page to force the enum to reload.

That's out of scope of this PR and my competence.

It works only in case you manually refresh the page to force the enum to reload.

after CTRL+R it is there

Yep. But it's better than restarting the server. Also we might be able to do that without page reload, but that's a frontend/backend issue (planned)


[PE-D][Tester E] Viewing person UI is not updating

After viewing a person, running other commands does not update the view person UI section and it still indicate that I am viewing that particular person.
The same applies to viewing companies
Screenshot:

Commands ran in order:
view p 1
add p n/John Doe p/98765432<EMAIL_ADDRESS>a/311, Clementi Ave 2, #02-25 t/friend t/colleague
As a user, I don't know how to navigate back out of the UI page.
After deleting a company because the UI is not updated, I can still view that deleted company

Labels: severity.High type.FeatureFlaw
original: nreHieW/ped#7

As a user, I don't know how to navigate back out of the UI page.

This is not planned.

Closed. This is not planned.


Building mediapipe with custom OpenCV path

I am using Archlinux with OpenCV in /usr/local/include, /usr/local/lib. I haven't found documentation on how to change the OpenCV default directories used by mediapipe. The build error says that the <opencv2/...> include files can't be found. The solutions I found online, like adding
copts = ["-I/usr/local/include/opencv4/"]
to opencv_linux.BUILD do not work. Using --define=OPENCV=source fails because some enums are not defined.
Could you please add some documentation on how to set the OpenCV path manually? Thanks!

Did you check https://google.github.io/mediapipe/getting_started/install.html, there are multiple options to setting up OpenCV.

Ah..sorry about that. For what it's worth, here are the steps necessary to build mediapipe on Archlinux:
OpenCV

Some special opencv_contrib modules are required which are not built by default by OpenCV. Following the commands from mediapipe/setup_opencv.sh works. I used OpenCV's default "4.x" branches for both repositories rather than the "3.4" from the file.
In mediapipe's install instructions, scroll down to "OpenCV 4 setup" and change mediapipe/WORKSPACE and mediapipe/thirdparty/opencv_linux.BUILD accordingly.

Bazel

change mediapipe/.bazelversion to contain the version your system is using (I used 5.3.2)
Bazel has known issues with openjdk17. The workaround mentioned in that issue, adding --host_jvm_args="--add-opens=java.base/java.lang=ALL-UNNAMED", works for me.

Compiling
bazel --host_jvm_args="--add-opens=java.base/java.lang=ALL-UNNAMED" build -c opt --define MEDIAPIPE_DISABLE_GPU=1 mediapipe/examples/desktop/hand_tracking:hand_tracking_cpu


CrashLoopBackOff for pods in local development

Description
The mcmc-stats-server and scheduler pods are broken in local development:
$ kubectl get pods
NAME                                 READY   STATUS             RESTARTS        AGE
graphite-0                           1/1     Running            0               16m
mcmc-stats-server-5b5fcdd8f7-p4dg4   0/1     CrashLoopBackOff   7 (3m57s ago)   16m
minio-0                              1/1     Running            0               38m
minio-1                              1/1     Running            0               38m
minio-2                              1/1     Running            0               38m
minio-3                              1/1     Running            0               38m
postgres-0                           1/1     Running            0               16m
redis-0                              1/1     Running            0               16m
scheduler-6ddd7b86b8-xzsml           0/1     CrashLoopBackOff   7 (14s ago)     16m
scheduler-worker-568cf8bbb5-nqp7p    1/1     Running            0               16m

Logs:
Both are getting ModuleNotFoundError.
$ kubectl logs mcmc-stats-server-5b5fcdd8f7-p4dg4
[uWSGI] getting INI configuration from /app/app/mcmc_stats_server/chainsail/mcmc_stats_server/app.ini
*** Starting uWSGI 2.0.20 (64bit) on [Thu Mar 30 07:33:18 2023] ***
compiled with version: 8.3.0 on 29 March 2023 04:24:09
os: Linux-5.19.0-38-generic #39~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Fri Mar 17 21:16:15 UTC 2
nodename: mcmc-stats-server-5b5fcdd8f7-p4dg4
machine: x86_64
clock source: unix
detected number of CPU cores: 16
current working directory: /app
detected binary path: /app/app/mcmc_stats_server/.venv/bin/uwsgi
!!! no internal routing support, rebuild with pcre support !!!
uWSGI running as root, you can use --uid/--gid/--chroot options
setgid() to 33
setuid() to 33
your memory page size is 4096 bytes
detected max file descriptor number: 1048576
lock engine: pthread robust mutexes
thunder lock: disabled (you can enable it with --thunder-lock)
uwsgi socket 0 bound to TCP address <IP_ADDRESS>:5002 fd 3
Python version: 3.8.7 (default, Feb  9 2021, 08:21:15)  [GCC 8.3.0]
*** Python threads support is disabled. You can enable it with --enable-threads ***
Python main interpreter initialized at 0x55a7e722e8f0
your server socket listen backlog is limited to 100 connections
your mercy for graceful operations on workers is 60 seconds
mapped 218760 bytes (213 KB) for 2 cores
*** Operational MODE: preforking ***
ModuleNotFoundError: No module named 'chainsail.mcmc_stats_server'
unable to load app 0 (mountpoint='') (callable not found or import error)
*** no app loaded. GAME OVER ***

$ kubectl logs scheduler-6ddd7b86b8-xzsml
[uWSGI] getting INI configuration from /app/app/scheduler/chainsail/scheduler/app.ini
*** Starting uWSGI 2.0.21 (64bit) on [Thu Mar 30 07:31:59 2023] ***
compiled with version: 8.3.0 on 29 March 2023 04:13:50
os: Linux-5.19.0-38-generic #39~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Fri Mar 17 21:16:15 UTC 2
nodename: scheduler-6ddd7b86b8-xzsml
machine: x86_64
clock source: unix
detected number of CPU cores: 16
current working directory: /app
detected binary path: /app/app/scheduler/.venv/bin/uwsgi
!!! no internal routing support, rebuild with pcre support !!!
uWSGI running as root, you can use --uid/--gid/--chroot options
setgid() to 33
setuid() to 33
your memory page size is 4096 bytes
detected max file descriptor number: 1048576
lock engine: pthread robust mutexes
thunder lock: disabled (you can enable it with --thunder-lock)
uwsgi socket 0 bound to TCP address <IP_ADDRESS>:5001 fd 3
Python version: 3.8.7 (default, Feb  9 2021, 08:21:15)  [GCC 8.3.0]
*** Python threads support is disabled. You can enable it with --enable-threads ***
Python main interpreter initialized at 0x55c6dbd20c70
your server socket listen backlog is limited to 100 connections
your mercy for graceful operations on workers is 60 seconds
mapped 218760 bytes (213 KB) for 2 cores
*** Operational MODE: preforking ***
ModuleNotFoundError: No module named 'chainsail.scheduler'
unable to load app 0 (mountpoint='') (callable not found or import error)
*** no app loaded. GAME OVER ***

To Reproduce
Follow the instructions for local development in https://github.com/tweag/chainsail/blob/main/docs/deployment.md#local-deployment.
Expected behaviour
The pods are not failing.
Environment

OS: Ubuntu 22.04.2 LTS
Version of the code:

dbf9466638aa18ee1b73b7a71d95388e5bc3a226 on the nixify-scheduler branch.
Also broken on main at 2d26ae0
Also broken as far back as f7d33e39aada7c4a00eba9a43a239ebc365f99e6 from 02-Nov-2022.

Additional context
My Docker installation uses buildx out of the box.

I tracked this down to a permissions problem. The www-data user could not read the Python files. This is because in my local development environment I uses a restricted umask (0077) and the Dockerfile didn't explicitly give ownership of the files from root to www-data. In the earlier Docker days, folks would use chown -R www-data:www-data /app, but now the ADD and COPY commands have the --chown=www-data:www-data option.


date adapter support for other calendars

What problem does this feature solve?
This problem feature will be useful for many programmers who use a calendar other than the Gregorian calendar. Like Jalali, Islamic Civil, Islamic Umm al-Qura, Hebrew, Buddhist
What does the proposed API look like?
Please add date adapter support for other calendars to the framework, this feature would be very efficient and useful.

good feature..., please develop it.

very useful👍

good feature


[SPARK-10381] Fix mixup of taskAttemptNumber & attemptId in OutputCommitCoordinator (branch-1.3 backport)

This is a backport of #8544 to branch-1.3 for inclusion in 1.3.2.

Merged build triggered.

Merged build started.

Test build #42561 has started for   PR 8790 at commit bb34d15.

This patch merges cleanly.

Test build #42561 has finished for   PR 8790 at commit bb34d15.

This patch fails Scala style tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/42561/
Test FAILed.

Merged build triggered.

Merged build started.

Test build #42569 has started for   PR 8790 at commit dd615db.

This patch merges cleanly.

Test build #42569 has finished for   PR 8790 at commit dd615db.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/42569/
Test FAILed.

Jenkins, retest this please.

Merged build triggered.

Merged build started.

Test build #42696 has started for   PR 8790 at commit dd615db.

This patch merges cleanly.

LGTM. We can merge it once jenkins is good.

Test build #42696 timed out     for PR 8790 at commit dd615db     after a configured wait of 120m.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/42696/
Test FAILed.

Merged build finished. Test FAILed.

Jenkins, retest this please.

Merged build triggered.

Merged build started.

Merged build triggered.

Merged build started.

Test build #42704 has started for   PR 8790 at commit dd615db.

This patch merges cleanly.

Test build #42705 has started for   PR 8790 at commit dd615db.

This patch merges cleanly.

Test build #42705 has finished for   PR 8790 at commit dd615db.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/42705/
Test FAILed.

Jenkins, retest this please.

Merged build triggered.

Merged build started.

Test build #42715 has started for   PR 8790 at commit dd615db.

This patch merges cleanly.

Test build #42715 has finished for   PR 8790 at commit dd615db.

This patch fails PySpark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/42715/
Test FAILed.

Jenkins, retest this please.

Merged build triggered.

Merged build started.

Test build #42763 has started for   PR 8790 at commit dd615db.

This patch merges cleanly.

Test build #42763 timed out     for PR 8790 at commit dd615db     after a configured wait of 120m.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/42763/
Test FAILed.

test this please

Merged build triggered.

Merged build started.

Test build #42850 has started for   PR 8790 at commit dd615db.

This patch merges cleanly.

It looks like all of the tests passed on this last run; it just timed out during MiMa checks while fetching some old versions of dependencies. The tests that failed in earlier runs are known to be flaky. Given this, I'm going to merge this now.

Test build #42850 has finished for   PR 8790 at commit dd615db.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/42850/
Test FAILed.


Support overriding the types of a set of JSON files

Suggestion
🔍 Search Terms
JSON declare module change type resolveJsonModule
✅ Viability Checklist
My suggestion meets these guidelines:

[X] This wouldn't be a breaking change in existing TypeScript/JavaScript code
[X] This wouldn't change the runtime behavior of existing JavaScript code
[X] This could be implemented without emitting different JS based on the types of the expressions
[X] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, new syntax sugar for JS, etc.)
[X] This feature would agree with the rest of TypeScript's Design Goals.

⭐ Suggestion
Allow applications to override/declare the imported type of a set of JSON modules.
We seem to be able to declare types of imported modules with declare module, but if the target module ends with .json extension, the declaration does not seem to take effect. For example, this works, with some limitations:
type ResourceId = string & { __ResourceId: void };
declare module "*.locstring" {
  const value: { [key: string]: ResourceId };
  export default value;
}

But this does not work (just because of the .json extension):
type ResourceId = string & { __ResourceId: void };
declare module "*.locstring.json" {
  const value: { [key: string]: ResourceId };
  export default value;
}

📃 Motivating Example
This feature would allow developers to, at compiler time, use branded string types to identify strings that were loaded from specific JSON files, as opposed to plain strings. The compiler could then detect if functions that expect such branded strings are called with other types of strings.
💻 Use Cases
Our application stores strings for localization in *.locstring.json files.
For example, hello.locstring.json might contain:
{ "hello": "Hello World" }

Code consumes these strings by importing the locstring file and calling a loc(resourceId: string): string function. For example:
import React from 'react';
import strings from './hello.locstring.json';
export function Hello() {
    return <div>{loc(strings.hello)}</div>
}

We're using resolveJsonModule, so the strings variable is properly typed and the compiler will detect if you try to access a field that does not exist, like strings.helloWorld. The type of strings.hello comes as string as one would expect from a normal .json file.
This presents a problem - while it is valid to call loc with strings.hello as parameter, it should be invalid to call loc with "Hello World", for example. When multiple functions and parameters are involved, people accidentally end up calling things that look like loc(loc(strings.hello)) and that does not work, because loc expects the parameters to be 'resource ID' (ie, fields from the locstring files), and not any plain string.
The reason for this is that in debug mode, loc is pretty much a pass-through, so it outputs the "localized" string as found in the JSON file. But in retail there is a lookup involved. At build time, the contents of all *locstring.json files are processed and the string we get back from strings.hello ends up being a unique identifier, let's say "a2w" or something like that. When the application runs, it will load the actual set of strings and put them into a map, and then loc will take the given resourceId passed as parameter and lookup the corresponding string in the current language.
In this scenario, passing a random plain string to loc as a parameter is a bug, since it will not exist on the map - or worse, the random string is user input (like a file name) and it just happens to match one of the resource ID and it would be localized to a random string, so that can't happen.
Ideally, we want to detect invalid calls to loc at compile time.
We could use a branded string type to limit the types of strings one can pass to loc, for example:
type ResourceId = string & { __ResourceId: void };
export function loc(resourceId: ResourceId) : string {
   return resourceIdToLocalizedStringMap[resourceId];
}

Doing so causes every call to loc(string.someId) to be flagged as an error, because the compiler rightfully believes string cannot be assigned to ResourceId.
Trying to tell the compiler that the fields it gets from the *.locstring.json files are in fact ResourceId does not seem to work:
declare module "*.locstring.json" {
  const value: { [key: string]: ResourceId };
  export default value;
}

// We end up with this, suppose test.locstring.json has two strings in it, Hello and World:
import locStringJson from "./test.locstring.json";

// import from *.locstring.json does have both fields, but still typed as plain strings.
// I wish these would be typed as ResourceId
export const hello: string = locStringJson.Hello;
export const world: string = locStringJson.World;
//export const worldAsResourceId: ResourceId = locStringJson.World; // BAD: Fails with string cannot be assigned to ResourceId
//export const invalid: string = locStringJson.Bad; // GOOD: Correctly fails with 'Property Bad does not exist in type...

On the other hand, IF the files were named just .locstring (without the .json extension) then it kinda works, although we lose one thing in the process:
import locStringOnly from "./test.locstring";

// This is not ideal, since our strings are in *.locstring.json files, but it shows there could be some way to do it.
// import from *.locstring has proper type in fields, but since it comes up as a record, one can make typos.
export const hello2: ResourceId = locStringOnly.Hello2;
export const world2: ResourceId = locStringOnly.World2;
export const invalid: string = locStringOnly.Bad; // BAD: Ideally this must fail with 'Property Bad does not exist in type...

For us, renaming the files at this point is not feasible because there are several devops processes around them.
The other issue is that, IF the declare module "*.locstring.json" were to work as expected, with that particular definition we would be losing the detection of incorrect field names. That comes from writing simply value: { [key: string]: ResourceId } in the declaration. I'm not sure there's a way to refer to the original type of the JSON.
Bonus points:
Our locstring files can contain multiple strings, and every localizable string must also contain a comment for localization to know how to properly deal with it, with the name derived from the original name. For example, a login.locstring.json file would look like this:
{
    "nameLabel": "Name",
    "_nameLabel.comment": "Label for the username field in the login screen",
    "passwordLabel": "Password",
    "_passwordLabel.comment": "Label for the password field in the login screen",
}

Ideally only strings.nameLabel and strings.passwordLabel would be valid ResourceId to be passed to loc.
That being said, it is not that big of a deal if the "_id.comment" fields also come up as ResourceId because using them is cumbersome and people don't make that mistake.
So, the two requests in this issue are:

Can we allow declare module "*.some_extension.json" to override the type produced by a plain .json file?
Can we write the overriding type in such a way that it will preserve the set of fields the plain .json file would have had, replacing only the types of the fields?

A few extra comments:

A somewhat similar question in StackOverflow: https://stackoverflow.com/questions/64077930/change-the-type-of-an-imported-json-in-typescript
Another one, suggesting a cast of the import: https://stackoverflow.com/questions/65398673/typescript-resolve-exact-types-from-json-file

In our codebase, we have several thousand locstring files, and that many more imports of them, so explicitly casting each import would be considered cumbersome.

Can we allow declare module "*.some_extension.json" to override the type produced by a plain .json file?

I don't see any immediate blocker here. @weswigham any concerns with making ambient module declarations apply to json extensions? I would have expected this to work already

Can we write the overriding type in such a way that it will preserve the set of fields the plain .json file would have had, replacing only the types of the fields?

This would be a pretty big architectural lift from our end; I'd really rather not. This seems like a place where some pre-build tooling would be appropriate depending on the scenario.

any concerns with making ambient module declarations apply to json extensions? I would have expected this to work already

Yeah, I don't know why it doesn't already - probably some weird prioritization logic for json modules.

This seems like a place where some pre-build tooling would be appropriate depending on the scenario.

Definitely. It's what we do here - generate declarations from loc json.
It's probably worth noting that even if ambient pattern declarations don't currently apply to .json documents, you can write a .json.d.ts that we will pick up, at least in commonjs (I'm less sure about in modes that require exact extension matches...).

TypeScript infers the JSON types, this behavior is really painful, because sometime JSON files are use as "database-like" code.
for example:
// config-like json
// hand writing JSON, it's good for tsc to infer the types.
{
    "username": "hello",
    "password": "world"
}

// database-like.json
// auto-generate JSON, it's bad for tsc to infer the types.
[
    {"a": 1},
    {"a": 2},
    {"a": 3},
    ...
    {"a": 10000},
]

// tsc will raise "JavaScript heap out of memory" if the JSON file is so big
import data from './database-like.json';

Iooking for something feature disable the JSON type infer:
// tsc should import as type `any` or `unknown`
import JSON_DATA from './database-like.json';

type Item = Record<string, any>;

const data = JSON_DATA as Item[]; // cast it a more loose for later use

JSON files can now have types provided for them by an adjacent .d.json.ts file - this is different than the details of the proposal in the OP's request, but definitely satisfies the title and is close enough that I'm OK closing this. A new issue can be filed in its' place explaining why the declaration file solution is somehow insufficient, should that be the case~

Sorry to dig up an old issue, but out of curiosity, is the intent of .json.d.ts files to also take precedence over the types from resolveJsonModule: true? Because when I am using both, I only ever get types from resolveJsonModule: true, never from my .json.d.ts files.
Happy to open an issue + repro for this to demonstrate.

You want .d.json.ts, not .json.d.ts. The first corresponds to a .json file, the later to a .json.js file, which, in the context of cjs automatically adding .js to your imports, was sometimes close enough, but is not quite the same.

You want .d.json.ts, not .json.d.ts. The first corresponds to a .json file, the later to a .json.js file, which, in the context of cjs automatically adding .js to your imports, was sometimes close enough, but is not quite the same.

Thanks! I gave that a try, but TS couldn't seem to find the type declarations for the .json import like it usually would with .json.d.ts.
I enabled allowArbitraryExtensions and both TS and JS runtime are happy, but then tsup seems unable to build the DTS files for the project because it stumbles on not knowing what to do with .d.json.ts. I tried:

exclude in tsconfig.json
specifying loader in tsup.config.ts to treat .d.json.ts as ts

To clarify, importing a .json file that had a corresponding .json.d.ts does seem to work when resolveJsonModule is disabled. So it seems like the tooling above mostly knows what to do with the declaration files with this naming, but not sure if that's a happy and unintended side effect of something else.
Anything else I should try? I feel like I am missing something.

but then tsup seems unable to build the DTS files for the project because it stumbles on not knowing what to do with .d.json.ts

I imagine tsup was never updated to handle allowArbitraryExtensions correctly, then, if it doesn't treat .d.*.ts files as declarations correctly (it shouldn't need to build a declaration file - it already is one) - I'd go file an issue on them and see what happens.


Highlight active section in navbar

Highlight active section in navbar

Assign me under JWOC

Assign me under JWOC

@Jagroop2001  pls Assign me
under JWOC


Update service-fabric-cloud-services-migration-differences.md

Fixing typo.

Hi @alexandair, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
We will now validate the agreement and then real humans will evaluate your PR.
TTYL, AZPRBOT;

@alexandair : Thanks for your contribution to the Azure documentation! The author, @vturecek, has been notified to review your proposed change.

@alexandair thank you again!

#sign-off


Support UPDATE ... FROM ( subquery ) in some dialects

Closes #534
Apply UPDATE .. FROM (subquery) for

BigQuery
Redshift
Snowflake
SQL Server
GenericDialect

@AugustoFKL Thank you for reviewing. I added GenericDialect.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

59 of 59 (100.0%)  changed or added relevant lines in 2 files are covered.
3 unchanged lines in 2 files lost coverage.
Overall coverage increased (+0.02%) to 85.973%

Files with Coverage Reduction
New Missed Lines
%

src/parser.rs
1
83.63%

src/lib.rs
2
10.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.02%

Covered Lines:
10904

Relevant Lines:
12683

💛  - Coveralls

I took the liberty of merging this PR to the master branch and resolving the conflicts (from #666) so I could include it in the release I am working on now


feat: allow marking some cross-origin scripts as dynamic

Although we should avoid this case as much as possible, it could happen that we depend on an external cross-origin script that is dynamically generated.
This implies that we cannot compute a reliable SRI hash for it.
As a solution, we could improve this library with the next points:

[ ] Detect when a script has a data-dynamic-resource attribute
[ ] Detect when a stylesheet has a data-dynamic-resource attribute
[ ] Avoid generating the SRI hash for resources marked as "dynamic"
[ ] Add metadata about the marked dynamic resources to the objects exported in the generated module.

Won't do.


Special Character that work only on IOS Platform

Is there someone can help me? I'm planning to use this symbol:
ݺ
it's for Arabic Language that makes the word with style, as what on the image I put.

it will only looks like this on the Flutter

it's only work on IOS platform like WhatsApp Application. Hoping to make it also on Flutter.

@shinroketore
Not sure I clearly understand the issue. What are you trying to achieve ? Can you elaborate by providing flutter doctor -v and a sample code that we can directly use which highlights this ?
Thanks.

@shinroketore
Not sure I clearly understand the issue. What are you trying to achieve ? Can you elaborate by providing flutter doctor -v and a sample code that we can directly use which highlights this ?
Thanks.

hello, thanks for the reply.
im using this package right now
https://github.com/henryleunghk/flutter-native-text-input
it will show that the native UITextView will work on textfield. as what the image show below:

im planning to put it also on Text Widget, but I cant achieve it. It's only look like this:

[✓] Flutter (Channel stable, 2.0.6, on macOS 11.4 20F71 darwin-x64, locale en-US)
• Flutter version 2.0.6 at /Users/kink/flutter
• Framework revision 1d9032c7e1 (10 weeks ago), 2021-04-29 17:37:58 -0700
• Engine revision 05e680e202
• Dart version 2.12.3
[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
• Android SDK at /Users/kink/Library/Android/sdk
• Platform android-30, build-tools 30.0.3
• Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)
• All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS
• Xcode at /Applications/Xcode.app/Contents/Developer
• Xcode 12.4, Build version 12D4e
• CocoaPods version 1.10.1
[✓] Chrome - develop for the web
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
[✓] Android Studio (version 4.0)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin version 51.0.1
• Dart plugin version 193.7547
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)
[✓] Connected device (2 available)
• iPhone 12 Pro Max (mobile) • F5839A40-E3AE-492D-ADC5-D226275B1AC9 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-4 (simulator)
• Chrome (web)               • chrome                               • web-javascript • Google Chrome 91.0.4472.114
! Error: Errors were encountered while preparing your device for development. Please check the Devices and Simulators Window.  (code -1)
• No issues found!

@shinroketore
The plugin you are using is a 3rd party and it's better to add this request in the plugin's dedicated repo: https://github.com/henryleunghk/flutter-native-text-input/issues to add support for text widget.
Closing from here as this isn't a flutter issue, but the plugin implementation.


apps/production/kustomization.yaml: namespace left out by intention?

There is no namespace in the production file, while it exists in the staging one?
https://github.com/fluxcd/flux2-kustomize-helm-example/blob/main/apps/production/kustomization.yaml#L3
vs.
https://github.com/fluxcd/flux2-kustomize-helm-example/blob/main/apps/staging/kustomization.yaml#L3

I think we've had this conversation elsewhere, reminds me of a thread in Slack.
I don't think this is an error, the production resources already have the production namespace in them, in this case it's podinfo since the app being deployed to production is podinfo, and production might have many apps in it.
https://github.com/fluxcd/flux2-kustomize-helm-example/blob/main/apps/base/podinfo/kustomization.yaml
The namespace directive is used in the ../base/podinfo kustomization overlay, and it's overrided in the staging so that staging can live on the same cluster as production. (If there were multiple apps, then staging would need to find a different method.)


Update parser.go to fix path error

like https://github.com/golang/go/issues/30616
filepath.Join will have bug on windows
path.Join will be fine

Thank you for contributing to Coraza WAF, your effort is greatly appreciated
Before submitting check if what you want to add to coraza list meets quality standards before sending pull request. Thanks!

Make sure that you've checked the boxes below before you submit PR:

[ ] My code includes positive and negative tests.
[ ] I have an appropriate description with correct grammar.
[ ] I have read Contribution guidelines, maintainers note and Quality standard.
[ ] My code is properly linted and passes pre-commit tests.

Thanks for your contribution :heart:

Thanks for coming by @k4n5ha0,
Is this truly a bug? We currently don't support windows but what I would
like to see here is a job enabled on windows and a failing test otherwise
we cannot trust the fix.
José Carlos Chávez
fre. 5. apr. 2024 kl. 03:46 skrev k4n5ha0 @.***>:

@k4n5ha0 https://github.com/k4n5ha0 requested review from
@corazawaf/core-developers on: #1036
https://github.com/corazawaf/coraza/pull/1036 Update parser.go to fix
path error as a code owner.
—
Reply to this email directly, view it on GitHub
https://github.com/corazawaf/coraza/pull/1036#event-12366575762, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAXOYAX723T6ZRDSCDJCMH3Y3X67HAVCNFSM6AAAAABFYJJFJ2VHI2DSMVQWIX3LMV45UABCJFZXG5LFIV3GK3TUJZXXI2LGNFRWC5DJN5XDWMJSGM3DMNJXGU3TMMQ
.
You are receiving this because your review was requested.Message ID:
@.***>

I agree with @jcchavezs; there is no support for Windows, and it might imply the refactoring of multiple components. For example, in some places, we point tests straight into /dev/null
If we are going to support windows, we require a new github action build for Windows, and a feature request

@jcchavezs @jptosso  hi，I am a web security engineer, mainly working on Windows devices. I mainly research vulnerability attack and defense techniques, but I am not very familiar with the development level GitHub pipeline. If the development goal does not include Windows, please ignore this PR. Thank you

It does not include windows as of now mainly because we don't know windows users. If you know any we are up to support it.


Enable to use Karpenter v1 controller policy

This PR attaches a controller policy for Karpenter v1 in the karpenter module. The policy content is taken from https://github.com/aws/karpenter-provider-aws/blob/v1.0.6/website/content/en/preview/getting-started/getting-started-with-karpenter/cloudformation.yaml. I've added module variables v1 and v1beta to help migration as you did in https://github.com/cookpad/terraform-aws-eks/pull/368.

policy JSON diff extracted from the cloudformation.yaml: https://gist.github.com/coord-e/04ad1c4bc54b60899e7b4f2b33bf07dd#file-policies-diff
policy document Terraform diff extracted from this PR: https://gist.github.com/coord-e/04ad1c4bc54b60899e7b4f2b33bf07dd#file-documents-diff

I'll make a PR to backport this to v0.29 and v0.30 after this is merged.

LimitExceeded: Maximum policy size of 10240 bytes exceeded for role Karpenter-terraform-aws-eks-testing-3n8AYX

Including both v1 and v1beta policies inline in the role seems to exceed the IAM role's policy size limit.
https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html
This can be resolved by using managed policies. However, there should be no reason to attach both, as the v1 policy is strictly more restrictive than the v1beta policy (there should be no operations allowed by the v1 policy that aren't allowed by the v1beta policy, and Karpenter v1 should work with the v1beta policy). Therefore, it would be better to make them mutually exclusive.
Making v1 = false by default to avoid breaking changes, while allowing module users to set v1 = true if they wish to verify that their configuration works with v1 policies before v1beta is dropped.

LimitExceeded: Maximum policy size of 10240 bytes exceeded for role Karpenter-terraform-aws-eks-testing-3n8AYX

Including both v1 and v1beta policies inline in the role seems to exceed the IAM role's policy size limit.
https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html
I resolved this with managed policies, now tests are passing 7257bc8e08b3007616b73c3b950124d2b006024c

thank you!


Dashboard: Explanation for Label "TestV adjustments" needed

Where to find the issue

https://www.coronawarn.app/en/analysis/
https://www.coronawarn.app/de/analysis/

Describe the issue
The label "TestV adjustments" / "TestV Anpassungen" is not self-explanatory and, in my opinion, needs an explanation.
Suggested change
At least: Add a FAQ entry on the TestV changes form 01.03.2023 so that users can head over to the FAQs from the dashboard page
Best: Explain the change in an info box which, i.e., pops up when the label is clicked.

@Ein-Tim

This circles back to issue https://github.com/corona-warn-app/cwa-website/issues/3415 which I closed since there was no resulting action to document the external legal change to TestV with its organisational impact. The app and infrastructure was not changed, only the testing ecosystem.
See https://www.bundesgesundheitsministerium.de/coronavirus/nationale-teststrategie/faq-covid-19-tests.html for German explanation

Thank you @larswmh & @dsarkar!


Convert Enum To String Benchmark

Hello Mj,
I've just created a pull request for converting an enum to string, visualized benchmark, according to our previous conversation in
Performance-Wars-Benchmarking-CSharp.
I didn't add this benchmark in the ReadMe but if it should be there please let me know.
Thanks.

Hi Erfan
Good job and thank you. but why in this repo!? :)
You should add this benchmark to Performance-Wars-Benchmarking-CSharp
In that conversation I meant to just use BenchmarkDotNetVisualizer to visualize your Convert-Enum-To-String-Benchmark


chore: fix cargo clippy

Which issue does this PR close?

None
Rationale for this change

Rust has been to upgraded to 1.83.0, which has caused some issues related to Clippy. such as:
https://github.com/apache/opendal/actions/runs/12097756740/job/33733480298?pr=5370
https://github.com/apache/opendal/actions/runs/12097756774/job/33733479648?pr=5370
https://github.com/apache/opendal/actions/runs/12097756741/job/33733480352?pr=5370
What changes are included in this PR?

Are there any user-facing changes?

Hi @meteorgan, it seems the clippy lints haven't been fully resolved. Could you take another look at them?

Okay. I found them late last night. I'll submit another PR soon

@meteorgan You could directly run the following command, so nothing will be missed.
cargo clippy --all-targets --all-features --fix

@meteorgan You could directly run the following command, so nothing will be missed.
cargo clippy --all-targets --all-features --fix

Thanks. I'll give it a try


fr: Removing old CSS includes from tutorials and fix html href, fixes #45327

French tutorials still include old CSS files. However, if you visit these pages, the browser will try to access them and return 404 (e.g.).
They were removed from the English tutorials in https://github.com/kubernetes/website/pull/34188. This PR removes them from the French localisation.
PS: Not directly related to this PR,  even though https://katacoda.com/embed.js was included on those pages next to the CSS files I did not remove them.
I also wanted to let you know that all Katacoda-related pieces should be removed from the localisation since these interactive tutorials are not supported anymore and need replacing. Here is an umbrella issue for this task #41496
To get rid of Katacoda, many texts need corrections, which I can't do without French team knowledge.
fixes #45327
/sig docs
/language fr
/area localization

/easycla

/lgtm
/approve


Assertions for datalists needed

I think this package needs a AssertDatalist class, so that we can perform assertions on the datalist.
$form->assertDatalistExists('#authors', function(AssertDatalist $datalist) {
   $datalist->hasValue('Jordan, Robert');
   $datalist->hasValues([
      'Eddings, David',
      'Jordan, Robert',
    ]);
});

I'll look into that. But isn't datalists single value as they are bound to an input? So only ->hasValue() would make sense here

They have multiple options just like a select would.
    <label for="format">Format:</label>
    <input list="formats" value="{{ old('format_name', $book->format) }}" id="format" name="format_name" placeholder="Format...">
    <datalist id="formats">
        @foreach($formats as $format)
            <option value="{{ $format->name }}"></option>
        @endforeach
    </datalist>

I think maybe that this syntax might be more appropiate since it has options rather than values, even though the option uses the attribute value.
it('contains a list of authors', function () {
    get(route('books.edit', $this->book))
        ->assertOk()
        ->assertFormExists(function (AssertForm $form){
            $form->findDatalist('#authors', function (AssertDataList $datalist) {
                $datalist->hasOptions([
                    'Eddings, David',
                    'Goodkind, Terry'
                ]);
           });
        });
});

It has been released in 1.1.1


Deploy preview for PRs

Do you want to request a feature or report a bug?
feature
What's the expected behavior?
After submitting a PR, a bot shall deploy the site in a PR-specific url for previewing the changes made by PR.
Recently I submit a PR in slateJS. I find that they are using netlify.com; So each time after submitting a commit, then it will use netlify.com to deploy a example-site based on that PR (like https://github.com/ant-design/ant-design/pull/11189#issuecomment-402970977). When new commits comes to the PR, the deployed example will be automatically updated.
Then we can easily understand that changes made by the PR by viewing the provided deploy preview.

The deploy preview is very easy to set.  Just go the netifly.com, tell

which repo want to deploy preview
which cmd is used to generate deploy
the directory path (build/ in this project) to store index.html for deploy.

If you feel up for setting it up, I say go for it! It sounds like a great tool :)

@knod Hi, I need to be a member of codeforboston organization to set-up netifly
As the image below, I need to grant permission as an organization member.

Shoot! Didn't realize no one had added you yet. Will do now.

Ah, sorry, I didn't quite understand the requirement. We'll have to talk to the core team at CfB to see how they think this can work.


[New API] : NEST Js + Type ORM + Postgres SQL +JWT  API

Brief Description 🤓
This REST API features CRUD routes for users, along with registration, login functionalities, and route protection. 🚀🔐
How will you develop it?🤩
Using NEST Js + Type ORM + Postgres SQL +JWT Tokens
Deployment
None
Select the open source program you are contributing to
Other
Code of Conduct

[X] I follow CONTRIBUTING GUIDELINES of this project.

Greetings @Puskar-Roy🎀 ! , We are excited to have you dive into another issue with us!🚀
Your involvement in our project has been invaluable, and we're confident that your skills and insights will help us conquer this challenge😇.  Use command /gssoc24 to self assign the issue.  This issue represents an exciting opportunity for us to improve and enhance our project, and we are thrilled to have you on board.
We request you to follow CONTRIBUTING GUIDELINES.
Looking for your PR soon!
In case of any issues, you can contact us on Discord.❣

/gssoc24

Hey @Puskar-Roy ! I wanted to inform you that we have closed issue.Thank you for your understanding, and we look forward to your continued engagement with our repository🤗.
In case of any issues, you can contact us on Discord.
Thank you! ❣
Happy Coding! ✨
Will See you soon❣


chore; create a documentation site for the node

Done.
https://github.com/mindsphere/mindsphere.github.io/tree/master/node-red-contrib-mindconnect
The documentation will appear under developer.mindsphere.io once the PR to the docs has been merged.


Syntax error in multi statement migration puts you in a bad state

SQLIte project. Made a creation migration that included multiple statements. One of which had a flaw
~/code/babble-note/babble-backend-src/native master*
❯ migrant apply --all
Applying[Up]: "/Users/bachmann/code/babble-note/babble-backend-src/native/migrations/20200615025736_init/up.sql"
Error: MigrationError: Migration was unsucessful...
MigrationError: near "text": syntax error

I fixed the migration but it looks like the original statements were not rolled back (not running in a transaction maybe?)
❯ migrant apply --all
Applying[Up]: "/Users/bachmann/code/babble-note/babble-backend-src/native/migrations/20200615025736_init/up.sql"
Error: MigrationError: Migration was unsucessful...
MigrationError: table tag already exists

But I cant go down because the original migration is not marked as ... up
~/code/babble-note/babble-backend-src/native master*
❯ migrant apply --down
Error: MigrationComplete: No un-applied `Down` migrations found

There's a note in the readme that should probably be larger

Note: SQL statements are batch executed as is. If you want your migration to happen atomically in a transaction you must manually wrap your statements in a transaction (begin transaction; ... commit;).

That requirement stems from two things:

going with the lowest common denominator, mysql doesn't support migrations in transaction
an original "feature" of this tool where it would fallback to using the command line utilities (psql, sqlite, mysqlsh) if the CLI was compiled without the database driver libraries.

Number 2 is no longer a "feature", now it's just tech debt that I need to get rid of - after that, db's that support ddl changes in transactions can run all migration sql in a transaction automatically.

:doh: thats what I get for not reading the readme close enough


Salesforce Refresh Instance July 15

There is any impact with this remote site setting when Salesforce executes the refresh instance?
dlrs_mdapi: https://abbenterprisesoftware--dlrs.na4.visual.force.com

However, I think the action for this case is to redirect a new url instance when the app lets you know automatically when the instance changed. Right?

We have Declarative Lookup Rollup Summaries Tool (Version 2.9) in our org (attached screen) and there is a remote site setting in the SFDC Setup -> Security Controls -> Remote Site Setting call dlrs_mdapi that is associated with remote site URL - 	https://abbenterprisesoftware--dlrs.na4.visual.force.com
Our SFDC instance (Production) is going to have instance refresh by Salesforce.com this Satursday (July 15, in 2 days, NA4 becomes NA67) so we would like to know what do we need to do to handle this remote site setting for dlrs.
Is the job simply to update the remote site setting to replace na4 with na67 ? If there are other updates or treatment, please reply to this post with the information.
Since the instance refresh is coming in 2 days, any prompt response will be much appreciated.
Thanks.

The remote is only used to auto deploy the triggers. Wait for the instance
move delete the remote setting then go back to dlrs and it will detect that
it is missing the remote setting and ask you to auto set it back up.
On Jul 13, 2017 11:01 AM, "neuranet8"<EMAIL_ADDRESS>wrote:

We have Declarative Lookup Rollup Summaries Tool (Version 2.9) in our org
(attached screen) and there is a remote site setting in the SFDC Setup ->
Security Controls -> Remote Site Setting call dlrs_mdapi that is associated
with remote site URL - https://abbenterprisesoftware-
-dlrs.na4.visual.force.com
Our SFDC instance (Production) is going to have instance refresh by
Salesforce.com this Satursday (July 15, in 2 days, NA4 becomes NA67) so we
would like to know what do we need to do to handle this remote site setting
for dlrs.
Is the job simply to update the remote site setting to replace na4 with
na67 ? If there are other updates or treatment, please reply to this post
with the information.
Since the instance refresh is coming in 2 days, any prompt response will
be much appreciated.
Thanks.
[image: dlrs_capture]
https://user-images.githubusercontent.com/20980333/28180679-a877ea4e-67ba-11e7-949e-00eebc46c5e5.JPG
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/afawcett/declarative-lookup-rollup-summaries/issues/531#issuecomment-315155917,
or mute the thread
https://github.com/notifications/unsubscribe-auth/APXKqgbuEt_iBi2Ac468zHxawkjKLnHyks5sNluXgaJpZM4OXP6p
.

NOTE: The remote site is also used by the Manage Rollup Summaries page.

Also @sharstream , also in answer to question, yes, "is the job simply to update the remote site setting to replace na4 with na67"


Rancher deployment

Hold off on merging. Will add more detailed instructions to the readme.

Superseded by #10


sane-airscan: output library missing the version suffix, fixed upstream

Describe the bug
SANE does not find the backend
To Reproduce
Steps to reproduce the behavior:

add  sane-airscan backend to hardware.sane.extraBackends
run SANE_DEBUG_DLL=2 scanimage -L
observe the  [dll] load: couldn't find backend 'airscan' (No such file or directory) error

Expected behavior
SANE loads the airscan backend.
Screenshots
Listing of symlinks to SANE-Backends:
ll $LD_LIBRARY_PATH
total 1428
# [...]
/xhvl6yg66iz58qbhilhdgagayiiazyc2-sane-backends-1.0.28/lib/sane/libsane-agfafocus.la
lrwxrwxrwx 1 root root  94 Jan  1  1970 libsane-agfafocus.so -> /nix/store/xhvl6yg66iz58qbhilhdgagayiiazyc2-sane-backends-1.0.28/lib/sane/libsane-agfafocus.so
lrwxrwxrwx 1 root root  96 Jan  1  1970 libsane-agfafocus.so.1 -> /nix/store/xhvl6yg66iz58qbhilhdgagayiiazyc2-sane-backends-1.0.28/lib/sane/libsane-agfafocus.so.1
lrwxrwxrwx 1 root root 101 Jan  1  1970 libsane-agfafocus.so.1.0.28 -> /nix/store/xhvl6yg66iz58qbhilhdgagayiiazyc2-sane-backends-1.0.28/lib/sane/libsane-agfafocus.so.1.0.28
lrwxrwxrwx 1 root root  91 Jan  1  1970 libsane-airscan.so -> /nix/store/lmaxxpfdp2k0gjwbxy7m2msc6pv08qh7-sane-airscan-0.9.17/lib/sane/libsane-airscan.so
lrwxrwxrwx 1 root root  90 Jan  1  1970 libsane-apple.la -> /nix/store/xhvl6yg66iz58qbhilhdgagayiiazyc2-sane-backends-1.0.28/lib/sane/libsane-apple.la
lrwxrwxrwx 1 root root  90 Jan  1  1970 libsane-apple.so -> /nix/store/xhvl6yg66iz58qbhilhdgagayiiazyc2-sane-backends-1.0.28/lib/sane/libsane-apple.so
lrwxrwxrwx 1 root root  92 Jan  1  1970 libsane-apple.so.1 -> /nix/store/xhvl6yg66iz58qbhilhdgagayiiazyc2-sane-backends-1.0.28/lib/sane/libsane-apple.so.1
# [...]

Additional context
libsane-airscan.so is missing the version suffix, so SANE does not use the library. The issue has been fixed on upstream master, but no new version has been released yet. Should we just update the package via commit-hash (it's still in early development anyhow), or wait for the next release for updating it? Using https://github.com/alexpevzner/sane-airscan/commit/fbf33ec5821716fd81b40bb60c3a595b77ed5338 in my local nixpkgs fixes the problem.
Notify maintainers
@zaninime
Metadata
nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 5.4.39, NixOS, 20.03.1822.5adf2a6c116 (Markhor)`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.3.4`
 - channels(root): `"nixos-20.03.1822.5adf2a6c116, nixos-unstable-20.09pre222244.22a3bf9fb9e"`
 - channels(dwagenk): `"nixos-19.09.2426.9237a09d8ed, nixos-unstable-20.09pre222244.22a3bf9fb9e"`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

Maintainer information:
# a list of nixpkgs attributes affected by the problem
attribute: sane-airscan
# a list of nixos modules affected by the problem
module: services.hardware.sane

I will quickly get in touch with the maintainer of sane-airscan to see if he can cut another release for us. It feels important enough to cut a bugfix release ;) thanks for taking the time for writing such a detailed explanation!


Build errors.

'tr1/unordered_map' file not found
On a Mac, what am I missing?
npm install pcre

><EMAIL_ADDRESS>install /Users/briancullinan/jupytangular2/node_modules/pcre
> node-gyp rebuild

  CC(target) Release/obj.target/libpcre/deps/libpcre/pcre_byte_order.o
  CC(target) Release/obj.target/libpcre/deps/libpcre/pcre_chartables.o
  CC(target) Release/obj.target/libpcre/deps/libpcre/pcre_compile.o
  CC(target) Release/obj.target/libpcre/deps/libpcre/pcre_config.o
  CC(target) Release/obj.target/libpcre/deps/libpcre/pcre_exec.o
  CC(target) Release/obj.target/libpcre/deps/libpcre/pcre_fullinfo.o
  CC(target) Release/obj.target/libpcre/deps/libpcre/pcre_get.o
  CC(target) Release/obj.target/libpcre/deps/libpcre/pcre_globals.o
  CC(target) Release/obj.target/libpcre/deps/libpcre/pcre_jit_compile.o
  CC(target) Release/obj.target/libpcre/deps/libpcre/pcre_maketables.o
  CC(target) Release/obj.target/libpcre/deps/libpcre/pcre_newline.o
  CC(target) Release/obj.target/libpcre/deps/libpcre/pcre_ord2utf8.o
  CC(target) Release/obj.target/libpcre/deps/libpcre/pcre_refcount.o
  CC(target) Release/obj.target/libpcre/deps/libpcre/pcre_string_utils.o
  CC(target) Release/obj.target/libpcre/deps/libpcre/pcre_study.o
  CC(target) Release/obj.target/libpcre/deps/libpcre/pcre_tables.o
  CC(target) Release/obj.target/libpcre/deps/libpcre/pcre_ucd.o
  CC(target) Release/obj.target/libpcre/deps/libpcre/pcre_valid_utf8.o
  CC(target) Release/obj.target/libpcre/deps/libpcre/pcre_version.o
  CC(target) Release/obj.target/libpcre/deps/libpcre/pcre_xclass.o
  LIBTOOL-STATIC Release/pcre.a
  CXX(target) Release/obj.target/pcre/src/binding.o
../src/binding.cc:5:11: fatal error: 'tr1/unordered_map' file not found
# include <tr1/unordered_map>
          ^
1 error generated.
make: *** [Release/obj.target/pcre/src/binding.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:276:23)
gyp ERR! stack     at emitTwo (events.js:106:13)
gyp ERR! stack     at ChildProcess.emit (events.js:194:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:215:12)
gyp ERR! System Darwin 16.7.0
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/briancullinan/jupytangular2/node_modules/pcre
gyp ERR! node -v v7.7.2
gyp ERR! node-gyp -v v3.5.0
gyp ERR! not ok
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none was installed.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none was installed.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none was installed.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none was installed.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none was installed.
npm ERR! Darwin 16.7.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "pcre"
npm ERR! node v7.7.2
npm ERR! npm  v4.1.2
npm ERR! code ELIFECYCLE

npm ERR<EMAIL_ADDRESS>install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>install script 'node-gyp rebuild'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the pcre package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp rebuild
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs pcre
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls pcre
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/briancullinan/jupytangular2/npm-debug.log

What does gcc -v show?

I see this too.

What does gcc -v show?

Configured with: --prefix=/Applications/Xcode9.4.1.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 9.1.0 (clang-9<IP_ADDRESS>)
Target: x86_64-apple-darwin17.7.0
Thread model: posix
InstalledDir: /Applications/Xcode9.4.1.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

same here ... no solution I guess


Model State

I believe this should be the final fix for #244
Not sure if it's the best approach because we will have large parameters on the backend, and also be storing them as constants in a large program. I think there might be a more efficient way to just pass the params in and still jit the whole eval step

Yes, I think this is problematic because:

It will force each step to JIT again because it has a different closure
We will copy the tensor data

I believe the correct fix is to add a new parameter to the training step. We need both parameters and model state (think about it as a map reduce, rather than a reduce). If that's a large change, then you can hide inside the parameter as you get data in and out of the training steps.

How many changes would be required to change step_fn (and related functions) to explicitly receive model_state as a parameter? :)

@josevalim I've pushed another fix which might be an option

In other words, I am proposing to go from this:
model
|> Axon.Loop.evaluator(model_state)
|> Axon.Loop.metric(:accuracy, "Accuracy")
|> Axon.Loop.run(Stream.zip(test_images, test_labels), compiler: EXLA)

to this:
model
|> Axon.Loop.evaluator()
|> Axon.Loop.metric(:accuracy, "Accuracy")
|> Axon.Loop.run(model_state, Stream.zip(test_images, test_labels), compiler: EXLA)

There is also another option which is to not JIT init_fn but I am not sure of the remaining consequences of that. You can either not JIT it or force it to not be a function (therefore a regular map).


Add a tool to measure the time of each step

It'd be nice to analyse the time taken (and possibly other stats from Unix's /usr/bin/time) for each job that ninja completes, and have it written to a log file.
$ # Example
$ ninja -t time
$ cat .ninja-time.log
[1/3] clang++ ...
real:
user:
sys:
[2/3] clang++ ...
real:
user:
sys:
[3/3] ld.lld ...
real:
user:
sys:

In terms of an external utility, apparently there's a ninjatracing tool which converts .ninja_log to Chromium's about:tracing format, so the times taken may be viewed in a browser.

This can be accomplished with linux native features, a cron job. Is this something your team would still like help with?

If you only care about the start/end times, they are already availablein the .ninja_log file, which is what ninjatracing and other tools use. The format is basic enough you can parse it with tools like awk or sed.


Cannot use commands on WidgetBot

I'm using WidgetBot on a website and one of the requests is to make possible to use RoD Bot commands, but when I try the command is read as a simple message.
First I make contact with Widgetbot's creator and he replied with:

users cannot use slash commands from WidgetBot; it is not possible for us to add bot slash commands to the widget due to a Discord limitation

for old message-based bot commands, the bot can see messages sent through WidgetBot, but it may be choosing to ignore it. You'll need to talk to the developers of rod-bot for more information.

So, now I'm here :)
Is it possible to fix it?

I have no idea what Widgetbot is, can you link to it?

Sorry, I totally forgot the link
Widgetbot

I'm not sure if you could automate this, but other bots can talk to Rod by prepending the message with |rod-bot|. So something like |rod-bot|.roll d20 should work just fine. Some things might not work well because they expect an actual user to say them, but it's the only real answer here. I can't blanket open Rod to other bots, or there'll be infinite loops of chaos on some servers.


No exported member "Mutation"

Describe the bug
It looks like exports from mutation.d.ts are not picked up correctly by TS. Instead a 'no exported member' error is thrown, making explicit typing with Mutation and other members impossible. Contrast that with importing Query which works fine.
To Reproduce
Repro sandbox here
Expected behavior
Type for Mutation is imported

you should be able to import UseMutationOptions and UseMutationResult. What would you need Mutation for please?

you should be able to import UseMutationOptions and UseMutationResult. What would you need Mutation for please?

Strongly typing my global error handlers for QueryCache and MutationCache, see updated sandbox 🙂

ah, now I see what you mean. if possible, would you like to contribute that?

:tada: This issue has been resolved in version 3.32.1 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Adding the release drafter

This pull request adds support for the release drafter - an automated tool to help improve (and not replace!) writing release notes. It takes the name of a given PR, and inserts it as an entry, into a proposed "release", to be managed within the releases tab of the repository.
The drafter makes use of the following labels - which would need to be configured in this repository. A good, practical output of the drafter assisting with releases can be viewed at this version of redis-py.

bug - If a PR is marked as a bug, it will show up as a bug fixed, in the release notes
feature - When a PR is marked thus, it shows up as a feature
breakingchange - While we never want them, of course they're unavoidable. This is a call out that something is a breaking change
maintenance - For CI, documentation, and other things that people sued to call "chores", but are super valuable!
experimental - Anything marked thus, is also called out so the community can know that it's both new, and not necessarily reliable.

@tillkruss WDYT?

I guess if this repo gets busy, sure. I can add those issue labels.

Given our chat... I went ahead and added the labels, using this PR. WDYT?

@tillkruss added you as a reviewer - and want to make sure we have the same process down. Assuming you approve, would you rather I squash+merge or you?  I don't want to step on toes.

I've never used this thing, let's try it 👍


Bump machine-api-operator to 25e61c2

It bumps machine-api-operator to the latest revision.

/approve
/lgtm


Add throwable to php try/catch block snippet

Add Throwable to try catch block snippet as requested:
https://github.com/Microsoft/vscode/commit/3edd27449eaa91b3440d08e861185583d389365c#r30777567

Unreachable exception removed - user editable catch parameter added, this should cover most use cases - thanks for your help @oneslash