[Pairing Reliability] #8 Failure: Unpairing function is failed with src/app/ReadClient.cpp:682: CHIP Error 0x00000032: Timeout

Description:
I have used python controller to run a stress test on my RPI sample dut (all-clusters-app) on Pair-Unpair test scenario for 10,000 iterations. The test passed in iteration 5688 without any error but the iteration 5689 is failed to Unpair the dut during the OnReadAttribute step for the currentFabricIndex attribute with the below traceback error

Traceback (most recent call last):
File "/Users/chaitanyajandhyala/code/python/matter-qa/src/matter_qa/library/helper_libs/matter_testing_support.py", line 1187, in unpair_dut
controller.UnpairDevice(node_id)
File "/Users/chaitanyajandhyala/code/python/matter-qa/.venv/lib/python3.9/site-packages/chip/ChipDeviceCtrl.py", line 452, in UnpairDevice
return self._ChipStack.CallAsync(
File "/Users/chaitanyajandhyala/code/python/matter-qa/.venv/lib/python3.9/site-packages/chip/native/init.py", line 87, in raise_on_error
raise self.to_exception()
chip.exceptions.ChipStackError: src/app/ReadClient.cpp:682: CHIP Error 0x00000032: Timeout)

GitHub hash of the SDK that was being used: https://github.com/project-chip/connectedhomeip/commit/3718e996b56f36a553c1b4571f77728396590776
Platform
controller - python controller running on raspi,
DUT - all-cluster-app running on raspi
Provisioned using on-network
Platform Version(s)
RPI-4, 8GB RAM
Test Scenario
Pair/Provision the DUT (All-cluster-app running on raspi) using on-network
Read device information after the device is provisioned
sleep for 2 secs
Unpair the DUT (i.e. removing the fabric)
factory reset the DUT
repeat step1 - 6 for 10,000 iterations
Script reference: https://github.com/CHIP-Specifications/matter-qa/blob/main/src/matter_qa/scripts/reliability_scripts/TC_Pair.py
Reference log:
Example of Passed iteration details:
The iteration number 5688 is passed, below log files for the same
TH log: log_2024-04-27_04-43-23.log
DUT log: Dut_log_5688_2024-04-27T04_43_33_846904.log
Example of Failed iteration details:
The iteration number 5689 is failed with this error below the logfile
TH log : log_2024-04-27_04-43-44.log
DUT log: Dut_log_5689_2024-04-27T04_48_18_251279.log
For the detailed summary please reference this json: summary.json

controller - python controller running on raspi,

TH log says:
2024-04-27 04:43:44,477 - chip.native.DIS - ERROR - __init__.py:_RedirectToPythonLogging:38 - Mdns: Browse failure (src/platform/Darwin/DnssdImpl.cpp:412: CHIP Error 0x00000074: The operation has been cancelled)

so this is not a raspi.  The log also says:
2024-04-27 04:43:48,353 - chip.native.DMG - DEBUG - __init__.py:_RedirectToPythonLogging:42 - SendReadRequest ReadClient[0x2df35b480]: Sending Read Request
...
2024-04-27 04:43:48,354 - chip.native.ATM - INFO - __init__.py:_RedirectToPythonLogging:40 - 	"payload" :
2024-04-27 04:48:18,065 - chip.native.ATM - INFO - __init__.py:_RedirectToPythonLogging:40 - 	{

so we once again lost timesliace in mid-trace for about 4.5 minutes. Just like https://github.com/project-chip/connectedhomeip/issues/33993

Duplicate of https://github.com/project-chip/connectedhomeip/issues/33993


Request add IES Gran Capitán

@jaimerabasco First stage of verification passed, official domain is facebook.com as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision. Proof of domain ownership: https://www.facebook.com/Informatica.IESGranCapitan/

@philipto
Educational Institution: IES Gran Capitán (Córdoba, Spain)
Websites:

https://www.iesgrancapitan.org  // Educational Institution website
https://informatica.iesgrancapitan.org  // IT Department website

Social Networks of our IT Department:

https://twitter.com/sisblog
https://twitter.com/daw_gc
https://www.facebook.com/Informatica.IESGranCapitan/

Social network of our educational institution:

https://twitter.com/ies_grancapitan
https://www.facebook.com/iesgrancapitan
https://www.instagram.com/iesgrancapitan

@jaimerabasco  Thank you for the clarifications. Pull request merged.


hyperlinkSource = false doesn't seem to be working

See my commented out code at https://github.com/forked-upstream-packages-for-ghcjs/ghcjs/blob/nix/default.nix#L36-L39.
Moreover, wouldn't it be less rebuilding to always use haskelPackages.hscolour for this? Or are we worried it might be too old to support some new syntax in a bleeding-edge package set?

I'm not sure what you're expecting, but hyperlinkSource = false does not mean "don't build hscolour". It means "don't run hscolour". If you want to avoid building that particular program, then you must replace the default version of mkDerivation with:
mkDerivation.override { hscolour = null; }

About your second question: we cannot use the default version of hscolour in this context because that would create an inifinite recursion.

But if hscolour isn't run, shouldn't it not need to be built either?
Heh, silly me forgetting that even if haskellPackages.hscolour didn't colorize itself, we'd still need to disable coloring in all packages used to boot haskellPackages. How about instead always using the booting package set's hscolour? You may be interested in this https://github.com/Ericson2314/nixpkgs/commit/93986e6b2198071c414e6c311b6ae22ab2887219 as a foundation to to do so without overriding hscolour in the current package set (as is sometimes done today).

But if hscolour isn't run, shouldn't it not need to be built either?

The generic builder does not reference hscolour if hyperlinkSource is false. If it gets built anyway, then probably some other build is still using it.

How about instead always using the booting package set's hscolour?

I'd rather not make that change in Nixpkgs, because it feels wrong for the default builder to use a version of hscolour outside of the package set it's building. This behavior would certainly surprise me as a user. But in your particular setup you can pass any hscolour you'd like using the override I mentioned in my previous message.

Oh wow, I was forgetting about transitive dependencies. Obviously I'd need to disable hyperlinking on those too. For now I'll just make hscolour come from the same pkg set as ghc.
Well, to tie everything together, that commit comes from a branch for cross compiling, which I am testing by making ghcjs our first cross compiler, and using nix instead of ghcjs-boot to boot it. If such a thing were to land, then I think it is useful to distinguish between build tools vs other packages---hscolour in the package set would be cross-compiled, bootPkgs.hascolour wouldn't be. But yes, without the rest of the changes, just overriding hscolour in the current package set makes sense.


Error with RenderDoc

Description

Steps to reproduce

Environment

RenderDoc version: 1.31
Operating System: Windows 10
Graphics API: XXX

Hi there, your issue has been closed due to not correctly following the issue template. Please read the documentation about filing issues and open a new issue which does follow the issue template. Do not reply to this issue with more information or with a correctly formatted issue, as that will only lead to confusion.
I try to address all github issues and fix bugs quickly, but badly formatted issues or poorly described bug reports especially are a significant drain on project resources. Taking a few minutes to file a good issue makes a huge difference and will get it addressed faster - everybody wins!
In github when you first create a new issue the form is pre-populated with a template which you should read over and follow. As linked above there is documentation going into more detail about what makes a good issue.


[vite-plugin-top-level-await] Cannot read properties of undefined (reading 'transformNeeded')

[vite-plugin-top-level-await] Cannot read properties of undefined (reading 'transformNeeded')
error during build:
TypeError: Cannot read properties of undefined (reading 'transformNeeded')
at  ....\node_modules\vite-plugin-top-level-await\dist\transform.js:158:75
how to resolve this problem?
thanks

rendering chunks (90)...[vite-plugin-top-level-await] Cannot read properties of undefined (reading 'transformNeeded')
error during build:
TypeError: Cannot read properties of undefined (reading 'transformNeeded')
at xxxxxx\node_modules\vite-plugin-top-level-await\dist\transform.js:158:75
at transformByType (xxxxx\node_modules\vite-plugin-top-level-await\dist\transform.js:18:16)
at transformByType (xxxxxx\node_modules\vite-plugin-top-level-await\dist\transform.js:15:25)
at transformByType (xxxxxx\node_modules\vite-plugin-top-level-await\dist\transform.js:15:25)
at transformByType (xxxxxx\node_modules\vite-plugin-top-level-await\dist\transform.js:15:25)
at transformByType (xxxxxx\node_modules\vite-plugin-top-level-await\dist\transform.js:15:25)
at transformByType (xxxxxx\node_modules\vite-plugin-top-level-await\dist\transform.js:15:25)
at transformByType (xxxxxx\node_modules\vite-plugin-top-level-await\dist\transform.js:15:25)
at transformByType (xxxxxx\node_modules\vite-plugin-top-level-await\dist\transform.js:15:25)
at transformByType (xxxxxx\node_modules\vite-plugin-top-level-await\dist\transform.js:15:25)

reproduce project pls

delete node_modules  and  npm install again, but not take effect

This happens in the scenario where CSS is being extracted into its own file. It doesn't have an AST so https://github.com/Menci/vite-plugin-top-level-await/blob/main/src/transform.ts#L243 fails.
I've made a PR with a test https://github.com/Menci/vite-plugin-top-level-await/pull/23

@steveworkman Are there any example? import "./xxxx.css" generates __vitePreload() for me. It doesn't generate import "./xxxx.css" statements.

We are dynamically importing CSS from our main.ts file. Do that with vite
defaults gives this error
On Sun, 5 Feb 2023, 12:54 Menci, @.***> wrote:

@steveworkman https://github.com/steveworkman Are there any example? import
"./xxxx.css" generates __vitePreload() for me. It doesn't generate import
"./xxxx.css" statements.
—
Reply to this email directly, view it on GitHub
https://github.com/Menci/vite-plugin-top-level-await/issues/18#issuecomment-1417758765,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAHS4WPY2SZAQUEIMRONCL3WV6PHRANCNFSM6AAAAAASZER4XY
.
You are receiving this because you were mentioned.Message ID:
@.***>

@steveworkman I can't reproduce. Vite generates __vitePreload(() => Promise.resolve({}),true?["assets/semantic.be4f5b7e.css"]:void 0); for me.
Could you send me a example project?

Run npm run build on this https://github.com/steveworkman/vite-tla-bug and you get:
vite v4.1.1 building for production...
✓ 8 modules transformed.
rendering chunks (2)...[vite-plugin-top-level-await] Cannot read properties of undefined (reading 'transformNeeded')
error during build:
TypeError: Cannot read properties of undefined (reading 'transformNeeded')
    at /Users/steve/code/vite-project/node_modules/vite-plugin-top-level-await/dist/transform.js:204:75
    at transformByType (/Users/steve/code/vite-project/node_modules/vite-plugin-top-level-await/dist/transform.js:19:16)

Got it. There're other transforms after this plugin that removed the import() expressions so I never noticed it.

Fixed in v1.2.4


Support serverside usage in nodejs

I figured out a sort of hacky way to use hammerjs in nodejs by using the library jsdom. Hammer expects there to be some global browser objects in order to do stuff. I wonder if there is  a better way to do this?
import { JSDOM } from "jsdom";
global.document = new JSDOM("").window.document;
global.HTMLElement = global.document.defaultView.HTMLElement;
import * as hammer from "htmlhammer";
Object.assign(global, hammer);

let items = [{ value: 1 }, { value: 2 }];

const mydiv = div(
  { style: { color: "red" } },
  h1("I am the title"),
  a({ href: "#" }, "Click me!"),
  table(tr({ $for: items }, (item) => td(item.value))),
);

// to get raw html string, do
mydiv.outerHTML;

export default mydiv;

I like hammer's api, but if there's a better library to let me gen html serverside like this, let me know.

relevant blogpost:
https://dustinpfister.github.io/2018/01/11/nodejs-jsdom/

i'll probably go with this
https://github.com/ohanhi/hyperscript-helpers

Hi,
I was thinking of adding some sort of SSR support(even though this may not be your real need but maybe just templating) and I will probably add it when I catch some spare time :)
For testing purposes I used basichtml as a browser DOM implementation but this dependency will be replaced in the near future. At the time of making I considered jsdom but it seemed too heavy for what I needed. TBH, I haven't tried htmlhammer on the backend side yet but after your post I may give it a shot. I will look at you proposal when my daily work allows it.
I am glad you liked htmlhammer, thanks :)

@kleutzinger I forgot to mention something, take a look at this GitHub account -> https://github.com/WebReflection. I think you will find everything you need here :)


New color scheme has low contrast.

https://github.com/haskell/hackage-server/issues/811
The background of color block is too close to the default white:

The bullet arrow is too subtle, could it be filled?

Also the body (virtually everything "black") color text is #333, which is IMO too light, given the font-family is very light on itself.

@phadej These seem like reasonable requests. Perhaps you'd like to take a stab at fixing this?
Note also that there is not very little time left until the 8.8 release!

Here's how it looks with the body to #111 and the background (which should be set for at least pre, .src, and #contents-list) to #eee.

Note that the bullet is a unicode literal. It will look different depending on the fonts on the system. So it comes in for me (os x) like this:

Changing it from "WHITE RIGHT-POINTING SMALL TRIANGLE" to "BLACK RIGHT-POINTING SMALL TRIANGLE" makes it come in like this:

I actually prefer the first one, in this case.

@gbaz note that the triangle is different on my machine/screenshot, it depends on the font.

@gbaz @phadej Just a head's up: if you'd like this to be in the coming release, please open a PR! Otherwise, this is just going to slip by...

should be resolved by #1037

Thanks all for discussion!


Support for constructing mocks with when() containing any()

I actually think this may not be possible, at least with the current way Binding and any() are implemented. For the free function when() to be able to take an AnyArgument, it would have to have all of its arguments defined as Any types, which precludes it from being able to deduce its generic type arguments.


compatible with TCL TFIAC?

Hello, I have a based TCL AC with BroadLink wifi module,
I've been working fine with the official TFIAC integration for a few years, but now it's been deprecated and I can't find any alternative.
https://www.home-assistant.io/integrations/tfiac/
I have tried to test this addon, but I can't get it to work, I'm putting the log here:
s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service legacy-services: starting
s6-rc: info: service legacy-services successfully started
{"time":"2024-10-06T09:23:22.492274294Z","level":"INFO","source":{"function":"github.com/ArtemVladimirov/broadlinkac2mqtt/app/mqtt.NewMqttConfig.func2","file":"/app/broadlinkac2mqtt/app/mqtt/mqtt.go","line":42},"msg":"Connected to MQTT"}
{"time":"2024-10-06T09:23:23.379359065Z","level":"ERROR","source":{"function":"github.com/ArtemVladimirov/broadlinkac2mqtt/app/service.(*service).GetDeviceAmbientTemperature","file":"/app/broadlinkac2mqtt/app/service/service.go","line":228},"msg":"Checksum is incorrect","input":{"Command":106,"Payload":"ikFM5m1p/6juZnwqYuVDFA==","Mac":"780f77d36798"}}
{"time":"2024-10-06T09:23:23.379577252Z","level":"ERROR","source":{"function":"github.com/ArtemVladimirov/broadlinkac2mqtt/app/service.(*service).StartDeviceMonitoring","file":"/app/broadlinkac2mqtt/app/service/service.go","line":1234},"msg":"failed to get ambient temperature","err":"ErrorInvalidResultPacket","device":"780f77d36798"}
{"time":"2024-10-06T09:23:24.2303231Z","level":"ERROR","source":{"function":"github.com/ArtemVladimirov/broadlinkac2mqtt/app/service.(*service).GetDeviceAmbientTemperature","file":"/app/broadlinkac2mqtt/app/service/service.go","line":228},"msg":"Checksum is incorrect","input":{"Command":106,"Payload":"ikFM5m1p/6juZnwqYuVDFA==","Mac":"780f77d36798"}}
{"time":"2024-10-06T09:23:24.230432533Z","level":"ERROR","source":{"function":"github.com/ArtemVladimirov/broadlinkac2mqtt/app/service.(*service).StartDeviceMonitoring","file":"/app/broadlinkac2mqtt/app/service/service.go","line":1234},"msg":"failed to get ambient temperature","err":"ErrorInvalidResultPacket","device":"780f77d36798"}
{"time":"2024-10-06T09:23:25.584390361Z","level":"ERROR","source":{"function":"github.com/ArtemVladimirov/broadlinkac2mqtt/app/service.(*service).GetDeviceAmbientTemperature","file":"/app/broadlinkac2mqtt/app/service/service.go","line":228},"msg":"Checksum is incorrect","input":{"Command":106,"Payload":"ikFM5m1p/6juZnwqYuVDFA==","Mac":"780f77d36798"}}
{"time":"2024-10-06T09:23:25.584468197Z","level":"ERROR","source":{"function":"github.com/ArtemVladimirov/broadlinkac2mqtt/app/service.(*service).StartDeviceMonitoring","file":"/app/broadlinkac2mqtt/app/service/service.go","line":1234},"msg":"failed to get ambient temperature","err":"ErrorInvalidResultPacket","device":"780f77d36798"}
{"time":"2024-10-06T09:23:26.924525818Z","level":"ERROR","source":{"function":"github.com/ArtemVladimirov/broadlinkac2mqtt/app/service.(*service).GetDeviceAmbientTemperature","file":"/app/broadlinkac2mqtt/app/service/service.go","line":228},"msg":"Checksum is incorrect","input":{"Command":106,"Payload":"ikFM5m1p/6juZnwqYuVDFA==","Mac":"780f77d36798"}}
Any solution please? Thanks

This project works with my air conditioner, with an esp01 and the hw580 board
https://github.com/lNikazzzl/tcl_ac_esphome


Need feedbacks on the Jupyter lab for trying GMT and its wrappers online

This repository sets up a single Jupyter lab environment, with the latest/stable GMT, PyGMT, and GMT.jl installed. The idea and some contents of this repository are from our older projects, gmt6demo, try-gmt-python, and foss4g2019oceania.
Anyone can run GMT commands (i.e., in bash), PyGMT, and GMT.jl in this online Jupyter lab, with no need to install anything locally.
I believe this Jupyter lab would be useful for both new and old GMT users who want to try GMT and its wrappers before spending some time setting up a local environment. It also provides a uniform environment for future GMT workshops and short courses, so that we don't have to spend hours solving the GMT installation problems (I'm not sure about its performance if dozens of peoples use it simultaneously).
The Jupyter lab is freely hosted by Pangeo Binder. You can try it by clicking the badge below:

it usually takes <30 s to launch the Jupyter lab, the you can try the three demos for bash, Python, and Julia, respectively.
Future Plans
Here are some of my thoughts to improve it:

[x] Cache the low-resolution (>06m) earth relief data so that users don't have to wait for downloading them [Done in #4]
[ ] Install a few extra Python packages (e.g., scipy, matplotlib) and Julia packages to make it more suitable for practical plots
[ ] Create a dev branch and set up another Jupyter lab environment with the master/unstable/developing GMT, PyGMT, and GMT.jl installed.
[x] Host it on Google's colab servers (also free), which seem faster.
[x] Post it on the GMT forum to increase its visibility (https://forum.generic-mapping-tools.org/t/try-gmt-pygmt-gmt-jl-online-at-pangeo-binder/561)
[x] Add a "Try it online!" menu on the GMT homepage to increase its visibility (https://github.com/GenericMappingTools/website/pull/71)
[ ] Add "Try it online!" badges to the README file of GMT, PyGMT and GMT.jl repositories?

Any thoughts and suggestions? @GenericMappingTools/core @GenericMappingTools/gmt-contributors @GenericMappingTools/python @GenericMappingTools/python-contributors

This is very cool!  I support having a link to this on the webpage.  I tried the Python example and wonder if we can improve the colorbar.  It defaults to the full range and the number of slices but these are not good annotation markers in the colorbar.  Might you default to the equivalent of  -Baf if no arguments are set to avoid this?

I tried the Python example and wonder if we can improve the colorbar. It defaults to the full range and the number of slices but these are not good annotation markers in the colorbar. Might you default to the equivalent of -Baf if no arguments are set to avoid this?

That's a known issue of GMT 6.0.0 and was already fixed in GMT master branch. With GMT master branch, it looks like:

This is awesome. Will be very helpful for e.g. https://github.com/GenericMappingTools/pygmt/issues/433

Thanks a lot, this will be very useful. Will explore later. Now must dive in the debugger for a while.

Great work! We should definitely increase the visibility of this on the forum and website :smile:

It also provides a uniform environment for future GMT workshops and short courses, so that we don't have to spend hours solving the GMT installation problems (I'm not sure about its performance if dozens of peoples use it simultaneously).

I've tested Pangeo binder during the FOSS4G 2019 Oceania workshop on 9 people, and it seems to work well. The only snag is that it will time out after 30 minutes of inactivity, i.e. no long coffee breaks :laughing:
There's also the non-Pangeo binder , which feels somewhat slower (and defaults to Jupyter notebook instead of Lab) as more people use it, but is useful as a backup in case the Pangeo one doesn't work for some reason. I think the non-Pangeo binder allow up to 100 people according to https://mybinder.readthedocs.io/en/latest/user-guidelines.html#maximum-concurrent-users-for-a-repository, not sure about the Pangeo binder, but I don't expect us hosting a 100+ people workshop anytime soon.

* Cache the low-resolution (>06m) earth relief data so that users don't have to wait for downloading them

Yes, this is definitely a must, though it might slow down the initial build time. Just need to trigger the docker build before a workshop/hackathon/whatever, and subsequent launches will be super fast.

* Host it on [Google's colab servers](https://colab.research.google.com/) (also free), which seem faster.

Here's the button: . Cons are you'll need a google login, and it doesn't install the dependencies like Pangeo Binder does. Pros are it's faster (I guess?), and you can save your notebooks.

@seisman can you also install the pyjulia package. That allows to alternatively run the julia wrapper from python.

Thanks @seisman this is really cool! Yes, Jupyter Lab would be the way to go. You could have gmt scripts, run them in the built in terminal and open the output png/pdf files in Jupyter lab.
Since it’s only meant as a demo, there is no problem if it times out after a while. We should probably warn people not to use this for actual work.

Each of the environments hosted on MyBinder take 2-4 minutes to start. @seisman, do you know if this is should be expected? Upon starting, I receive the warning
Build Recommended
JupyterLab build is suggested:
jupyter-offlinenotebook needs to be included in build.

This warning does not pop up for the Google Colab version, which loads in a few seconds.

Each of the environments hosted on MyBinder take 2-4 minutes to start. @seisman, do you know if this is should be expected? Upon starting, I receive the warning
Build Recommended
JupyterLab build is suggested:
jupyter-offlinenotebook needs to be included in build.

This warning does not pop up for the Google Colab version, which loads in a few seconds.

Each of the environments hosted on MyBinder take 2-4 minutes to start. @seisman, do you know if this is should be expected?

Yes, the one hosted on pangeo may be the fatest one, usually less than 30 seconds.

Upon starting, I receive the warning
Build Recommended
JupyterLab build is suggested:
jupyter-offlinenotebook needs to be included in build.

I think this is something new in recent jupyter versions (see https://github.com/jupyterhub/mybinder.org-deploy/issues/1607). I haven't find the solution yet.

This warning does not pop up for the Google Colab version, which loads in a few seconds.

Yes, but for Google colab, users have to install conda and all packages themselves, which may take one or more minutes after starting up.

Each of the environments hosted on MyBinder take 2-4 minutes to start. @seisman, do you know if this is should be expected?

Yes, the one hosted on pangeo may be the fatest one, usually less than 30 seconds.

Upon starting, I receive the warning
Build Recommended
JupyterLab build is suggested:
jupyter-offlinenotebook needs to be included in build.

I think this is something new in recent jupyter versions (see https://github.com/jupyterhub/mybinder.org-deploy/issues/1607). I haven't find the solution yet.

This warning does not pop up for the Google Colab version, which loads in a few seconds.

Yes, but for Google colab, users have to install conda and all packages themselves, which may take one or more minutes after starting up.

Thanks for the clarification. This is a great resource, I agree that it will be really useful.

Thanks for the clarification. This is a great resource, I agree that it will be really useful.

The launch time seems much slower than before (~15 minutes before), which seems to be related to a non-zero exit code for the RUN JULIA_PROJECT command.
In a more general sense, do you have expectations for whether the launch time is much greater for all three programs (GMT, PyGMT, GMT.jl) versus if these had separate environments? i.e., is most of the time associated with installing core GMT and its dependencies or the Julia/Python environments? I am not sure how often people would want to try all three, versus being interested in a particular flavor of GMT, while I expect launch time is important for most people.


Use separate test config for Mocha and Jest

After addressing issues of uncaught promises in the Mocha run, it became apparent that our underlying problem, and a source of unpredictability was the use of jsdom in Mocha tests. Because all Mocha tests are using benv to mock the window, we were getting unpredictable conflicts in tests that require jQuery and some window functions.
This PR separates the test environments for Jest and Mocha entirely, and removes any Mocha-specific config from test.config.js
Locally this is running consistently green and no failures seem to be random.
The giant error stack that has been appearing at the top of our Mocha run is now also gone.

Fails

:no_entry_sign:

Danger failed to run dangerfile.ts.

Error GraphQLError
Syntax Error: Cannot parse the unexpected character "<".
GraphQLError: Syntax Error: Cannot parse the unexpected character "<".
    at syntaxError (/home/circleci/project/node_modules/graphql/error/syntaxError.js:24:10)
    at readToken (/home/circleci/project/node_modules/graphql/language/lexer.js:302:32)
    at Object.lookahead (/home/circleci/project/node_modules/graphql/language/lexer.js:61:43)
    at Object.advanceLexer [as advance] (/home/circleci/project/node_modules/graphql/language/lexer.js:52:33)
    at expect (/home/circleci/project/node_modules/graphql/language/parser.js:1296:11)
    at parseDocument (/home/circleci/project/node_modules/graphql/language/parser.js:107:3)
    at parse (/home/circleci/project/node_modules/graphql/language/parser.js:38:10)
    at buildSchema (/home/circleci/project/node_modules/graphql/utilities/buildASTSchema.js:447:43)
    at Object._callee3$ (/home/circleci/project/scripts/validateSchemas.js:143:31)
    at tryCatch (/home/circleci/project/node_modules/@babel/runtime/node_modules/regenerator-runtime/runtime.js:62:40)

Dangerfile
19|   const changes: string[] = await getBreakingChanges(versionToCheck)
20|
21|   // There are breaking changes with the schema
22|   if (changes.length) {
23|     if (isReleasePR) {
------------^
24|       const deployURL = "https://github.com/artsy/metaphysics#deployment"
25|       fail(
26|         `You need to promote Metaphysics from staging to production. The schema used in Reaction, is further ahead than the version in Metaphyisc production. This could cause your queries to fail. You can see how to [deploy here](${deployURL}).`
27|       )

  Generated by :no_entry_sign: dangerJS against b9477a851aa2fec94e3616657bc0a6cb3546c442

Running this repeatedly to see if any more flaky fails come up, but looking good from here. Hopefully the result in master is not different.


Straw man prototype for V3 refactor.

@alainjobart @erzel @sougou @aaijazi @michael-berlin
This started as some notes I was taking to try to understand the
implications of the proposed refactor. I decided to put it up as a straw
man to start pushing the discussion into more concrete terms. It's not
intended to be efficient or even functional. It's just a
whiteboard-level proposal of how we might try to organize the ideas
we've been discussing, typed up instead of written by hand.

This change is

Reviewed 7 of 11 files at r1.
Review status: 7 of 11 files reviewed at latest revision, all discussions resolved, some commit checks failed.

Comments from the review on Reviewable.io


🐛 Selecting connections circle now disables other circles when sharing/filtering

This is based on this Canny bug report: Selecting Cycles and Connect - Logic error.
What I've changed:

If you select the Connections circle when sharing a post, all other circles (except World) are auto-selected and disabled. This mirrors the behaviour of selecting the World circle.
If you select the Connections circle when filtering the timeline, all other circles are auto-selected and disabled.
Moved Connections to the top of the circle list in the timeline filter (to match the order they are in when sharing a post).

Thanks!


Reload flash

I think it'd be good if navi didn't render anything until all bundles were loaded on the first load to avoid flashing.
You can see this on my personal site:
https://nhooyr.io/time-to-give-back
Just reload and the header appears first and then the content renders.
I suppose I could server side render as well.

Ended up integrating static rendering into my app.
https://github.com/nhooyr/blog/pull/27


MinimalLib: Bonds are parallel in SVG but not on an HTML5 Canvas

Describe the bug
In certain rotations, bonds drawn in two parallel lines have these lines actually not parallel.
To Reproduce
It can be seen directly on https://rdkit.org/rdkitjs/beta/GettingStartedInJS.html. Produce an SVG, then check the corresponding Canvas drawing, to notice the parallel lines (in the top bond) are slightly not parallel, while many others are actually parallel:

It is seen more strongly in other occasions:

Expected behavior
Parallel lines remain parallel.
Configuration (please complete the following information):
Chrome Version 88.0.4324.182 (Official Build) (64-bit)
RDKit Minimal Lib from https://rdkit.org/rdkitjs/beta/GettingStartedInJS.html.
Additional context
It may be some rounding error involved in producing this behaviour.

@dskatov Hi Dan, yep, this is already on my to-do list.


[        ]     |       "rootUri":
"file:///C:/Users/taha/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/video_player_platform_interface-3.0.0-nullsafety.
2",
[        ]     |       "packageUri": "lib/",
[        ]     |       "languageVersion": "2.12"
[   +1 ms]     |     },
[        ]     |     {
[        ]     |       "name": "video_player_web",
[        ]     |       "rootUri":
"file:///C:/Users/taha/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/video_player_web-2.0.0-nullsafety.1",
[        ]     |       "packageUri": "lib/",
[        ]     |       "languageVersion": "2.12"
[        ]     |     },
[        ]     |     {
[        ]     |       "name": "vm_service",
[        ]     |       "rootUri":
"file:///C:/Users/taha/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/vm_service-5.2.0",
[        ]     |       "packageUri": "lib/",
[        ]     |       "languageVersion": "2.6"
[        ]     |     },
[        ]     |     {
[        ]     |       "name": "watcher",
[        ]     |       "rootUri":
"file:///C:/Users/taha/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/watcher-0.9.7+15",
[        ]     |       "packageUri": "lib/",
[        ]     |       "languageVersion": "2.2"
[        ]     |     },
[        ]     |     {
[        ]     |       "name": "web_socket_channel",
[        ]     |       "rootUri":
"file:///C:/Users/taha/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/web_socket_channel-1.1.0",
[        ]     |       "packageUri": "lib/",
[        ]     |       "languageVersion": "2.0"
[        ]     |     },
[        ]     |     {
[        ]     |       "name": "webdriver",
[        ]     |       "rootUri":
"file:///C:/Users/taha/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/webdriver-2.1.2",
[        ]     |       "packageUri": "lib/",
[        ]     |       "languageVersion": "2.0"
[        ]     |     },
[        ]     |     {
[        ]     |       "name": "webkit_inspection_protocol",
[        ]     |       "rootUri":
"file:///C:/Users/taha/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/webkit_inspection_protocol-0.7.4",
[        ]     |       "packageUri": "lib/",
[        ]     |       "languageVersion": "2.0"
[        ]     |     },
[        ]     |     {
[        ]     |       "name": "yaml",
[        ]     |       "rootUri": "file:///C:/Users/taha/AppData/Local/Pub/Cache/hosted/pub.dartlang.org/yaml-2.2.1",
[        ]     |       "packageUri": "lib/",
[        ]     |       "languageVersion": "2.4"
[        ]     |     },
[        ]     |     {
[        ]     |       "name": "flutter_gallery",
[        ]     |       "rootUri": "../",
[        ]     |       "packageUri": "lib/",
[        ]     |       "languageVersion": "2.2"
[        ]     |     }
[        ]     |   ],
[        ]     |   "generated": "2020-11-09T13:00:07.827496Z",
[        ]     |   "generator": "pub",
[        ]     |   "generatorVersion": "2.12.0-27.0.dev"
[        ]     | }
[  +10 ms] Running "flutter pub get" in flutter_gallery... (completed in 1,232ms)
[  +47 ms] Found plugin integration_test at C:\Code\flutter\packages\integration_test\
[  +13 ms] Found plugin connectivity at
C:\Users\taha\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\connectivity-3.0.0-nullsafety.1\
[   +1 ms] Found plugin connectivity_macos at
C:\Users\taha\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\connectivity_macos-0.1.0+7\
[   +5 ms] Found plugin device_info at
C:\Users\taha\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\device_info-2.0.0-nullsafety.1\
[  +23 ms] Found plugin url_launcher at
C:\Users\taha\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\url_launcher-6.0.0-nullsafety.1\
[   +1 ms] Found plugin url_launcher_linux at
C:\Users\taha\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\url_launcher_linux-0.1.0-nullsafety.1\
[   +1 ms] Found plugin url_launcher_macos at
C:\Users\taha\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\url_launcher_macos-0.1.0-nullsafety.1\
[   +1 ms] Found plugin url_launcher_windows at
C:\Users\taha\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\url_launcher_windows-0.1.0-nullsafety.1\
[   +2 ms] Found plugin video_player at
C:\Users\taha\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\video_player-2.0.0-nullsafety.2\
[   +1 ms] Found plugin video_player_web at
C:\Users\taha\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\video_player_web-2.0.0-nullsafety.1\
[  +63 ms] Found plugin integration_test at C:\Code\flutter\packages\integration_test\
[   +4 ms] Found plugin connectivity at
C:\Users\taha\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\connectivity-3.0.0-nullsafety.1\
[   +1 ms] Found plugin connectivity_macos at
C:\Users\taha\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\connectivity_macos-0.1.0+7\
[   +3 ms] Found plugin device_info at
C:\Users\taha\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\device_info-2.0.0-nullsafety.1\
[  +16 ms] Found plugin url_launcher at
C:\Users\taha\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\url_launcher-6.0.0-nullsafety.1\
[   +1 ms] Found plugin url_launcher_linux at
C:\Users\taha\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\url_launcher_linux-0.1.0-nullsafety.1\
[   +1 ms] Found plugin url_launcher_macos at
C:\Users\taha\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\url_launcher_macos-0.1.0-nullsafety.1\
[   +1 ms] Found plugin url_launcher_windows at
C:\Users\taha\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\url_launcher_windows-0.1.0-nullsafety.1\
[   +1 ms] Found plugin video_player at
C:\Users\taha\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\video_player-2.0.0-nullsafety.2\
[   +1 ms] Found plugin video_player_web at
C:\Users\taha\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\video_player_web-2.0.0-nullsafety.1\
[   +7 ms] Generating
C:\Code\flutter\dev\integration_tests\flutter_gallery\android\app\src\main\java\io\flutter\plugins\GeneratedPluginRegist
rant.java
[  +26 ms] "flutter get" took 1,641ms.
[ +260 ms] ensureAnalyticsSent: 258ms
[   +7 ms] Running shutdown hooks
[   +1 ms] Shutdown hooks complete
[   +1 ms] exiting with code 0

flutter doctor -v
[✓] Flutter (Channel master, 1.24.0-8.0.pre.149, on Microsoft Windows [Version 10.0.19042.610], locale en-US)
    • Flutter version 1.24.0-8.0.pre.149 at C:\Code\flutter
    • Framework revision 8e7748e74c (8 hours ago), 2020-11-08 20:32:04 -0800
    • Engine revision 0f7cdca65f
    • Dart version 2.12.0 (build 2.12.0-27.0.dev)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
    • Android SDK at C:\Code\sdk
    • Platform android-30, build-tools 30.0.2
    • Java binary at: C:\Code\android-studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
    • All Android licenses accepted.

[✓] Chrome - develop for the web
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[✓] Visual Studio - develop for Windows (Visual Studio Community 2019 16.7.7)
    • Visual Studio at C:\Program Files (x86)\Microsoft Visual Studio\2019\Community
    • Visual Studio Community 2019 version 16.7.30621.155
    • Windows 10 SDK version 10.0.18362.0

[✓] Android Studio (version 4.1.0)
    • Android Studio at C:\Code\android-studio
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)

[✓] VS Code (version 1.51.0)
    • VS Code at C:\Users\taha\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.16.0

[✓] Connected device (4 available)
    • Windows (desktop) • windows    • windows-x64    • Microsoft Windows [Version 10.0.19042.610]
    • Web Server (web)  • web-server • web-javascript • Flutter Tools
    • Chrome (web)      • chrome     • web-javascript • Google Chrome 86.0.4240.183
    • Edge (web)        • edge       • web-javascript • Microsoft Edge 86.0.622.63

• No issues found!

cc @jonasfj did we land any fixes that may have changed this?

Yeah, we used to do a null-safety analysis after pub get, we stopped doing that, which may have fixed this issue.

Is this still a problem?

Is this still a problem?

This appears to work now; closing:
$ cd ~/dev/flutter/dev/integration_tests/
$ flutter pub get
$ flutter analyze
Analyzing flutter_gallery...
No issues found! (ran in 13.8s)
mit-macbookpro4:flutter_gallery mit$

This appears to work now; closing:
$ cd ~/dev/flutter/dev/integration_tests/
$ flutter pub get
$ flutter analyze
Analyzing flutter_gallery...
No issues found! (ran in 13.8s)
mit-macbookpro4:flutter_gallery mit$


When request doesn't contain proper security scheme, return the user-defined 401 first

When a request to an endpoint does not meet the security scheme (i.e, lacking bearer token), Prism currently looks for a 422 definition, followed by a 400 definition, followed by 401.  This seems odd, if we have our own 401 defined, it should be the first one tried by Prism.
To Reproduce

Given an endpoint defined like so:

/users:
    get:
      summary: "Retrieves the authenticated user"
      description: "Returns the `user` object associated with the bearer token in the Authorization header."
      responses:
        200:
          $ref: '#/components/responses/SuccessfulUserResponse'
        400:
          description: "The provided user data was malformed, or attempted to modify a read-only field (such as `balance`)."
        401:
          $ref: '#/components/responses/InvalidAuthorizationTokenResponse'

Curl the endpoint without an "Authorization: Bearer" token
Prism log:

    [VALIDATOR] ⚠  warning   Request did not pass the validation rules
    [NEGOTIATOR] ●  note      Unable to find a 422 response definition
    [NEGOTIATOR] ✔  success   Found response 400. I'll try with it.
    [NEGOTIATOR] ●  note      Unable to find a content with an example defined for the response 400
    [NEGOTIATOR] ✔  success   The response 400 has a schema. I'll keep going with this one
    [NEGOTIATOR] ✔  success   Responding with the requested status code 400

Expected behavior
That the 401 we defined would be used first, before trying 422/400 since this is explicitly an authorization failure.

Ahh yes for sure. I think this is another hint that it's time to refactor our validation logic. All headers/param/etc checking is "validation" and all validation uses 422/400, but "security validation" should not be triggering the same responses as that generic validation. It should look for 401 not 422/400.
We'll get this ironed out.

Y'all the best! Thank you!


stream_settings: Show disabled create stream button and text.

[x] Now user who don't have permission can see disabled stream create button with message.
[x] If user types in a streams filter query with no matches this text will shown No channels match your filter.

fixes #18332.
user without the create stream permission:
First commit

Dark
Light

Second commit

At the time the issue was opened, the Not Subscribed tab was not available. However, it is now present, so the text will be displayed in Not Subscribed tab too.

when no channel match filter query
when there is no channel

Self-review checklist

[ ] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[x] Explains differences from previous plans (e.g., issue description).
[ ] Highlights technical choices and bugs encountered.
[ ] Calls out remaining decisions and concerns.
[ ] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[x] Each commit is a coherent idea.
[x] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[x] Visual appearance of the changes.
[x] Responsiveness and internationalization.
[x] Strings and tooltips.
[x] End-to-end functionality of buttons, interactions and flows.
[x] Corner cases, error conditions, and easily imagined bugs.

A disabled button should look like other disabled buttons, e.g., "Confirm" in the move messages modal:

@alya updated the Kindly review:)

Is this PR is WIP (like the title says), or is it ready for review?

If it's ready, @sahil839 could you please take a first pass? I haven't tested.

You also need to complete the self-review process first.

@zulipbot add "buddy review"

@zulipbot remove "has conflicts"

@adnan-td left some comments above

@zulipbot add "mentor review"

@zulipbot remove "buddy review"

@yogesh-sirsat can you review this ?

@zulipbot remove "mentor review"

@alya is this pr ready for maintainer review ?

@alya  said:

A disabled button should look like other disabled buttons, e.g., "Confirm" in the move messages modal:

I guess disabled button color is now changed to blue, so therefore I have also implement same thing create channel button

move message btn
create channel btn

@sahil839 made all the changes you have suggested kindly look:

I guess disabled button color is now changed to blue, so therefore I have also implement same thing create channel button

Sounds good; please make sure the screenshots in the PR description are up to date.

@sahil839 made the changes also updated the PR description

Looks great, merged, thanks @sujalshah-bit!


fixes your economy :3

Proposed change: Change Cataine Price #12 from 4 Professor cats to 4 Divine cats
Reasoning: Currently, there is a huge mismatch in what one might expect to be the rarity of cats. A "Divine" cat would be expected to be rare and elusive. A Professor cat, while rare, should not be nearly on the same level as a Divine cat, let alone rarer. However, due to the situation created by Divine cats being a voting reward and Professor cats being a major roadblock in the way of progression in cataine, Professor cats are rarer. Not just slightly rarer, either- my model suggests that Professor cats in an optimal economy should be 3x rarer than Divine cats. In a less optimal economy like that of Cat Stand (or any server, I suppose) this difference is further exaggerated by a factor difficult to measure, but as seen by a trade between players "sack.ofcats" and "sillysnake2.0", 6 Divine cats were traded for 1 Professor cat. While this trade in particular may be seen as a move of desperation, it certainly reflects the attitude most people have towards Divine and Professor cats. By replacing the 4 Professor price of cataine with 4 Divine cats, this would be easily fixed. Professors would no longer be direly required, the roadblock represented by that price would be smoothed out significantly, and some of the unusual commonality of Divine cats would be removed. This alone will not make Professor cats more common than Divine cats- my math still suggests that Professor cats will be 50% more valuable. However, this is progress. To make Divine cats rarer than Professor cats, I suppose you could either remove them as a voting reward, add Professor cats as a voting reward, or change the price of this cataine to 8 Divine (although that would be a rather absurd price, to be fair.) I do hope that you accept this suggestion. Thank you for your time.

i feel like there is some ill intent behind this pr but it seems at the very least it wouldnt crash so


application crash on NSUserDefaults setObject

Hi.
Sometime on the crash logs and on uninstall and reinstall via emulator my app crashes.
this is the location
`@synthesize installId = _installId;
-(NSString *) installId
{
if(!_installId) {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
_installId = [defaults stringForKey:@"WindowsAzureMobileServicesInstallationId"];
if(!_installId) {
CFUUIDRef newUUID = CFUUIDCreate(kCFAllocatorDefault);
_installId = (__bridge_transfer NSString *)CFUUIDCreateString(kCFAllocatorDefault, newUUID);
CFRelease(newUUID);
        //store the install ID so we don't generate a new one next time
        [defaults setObject:_installId forKey:@"WindowsAzureMobileServicesInstallationId"];
        [defaults synchronize];
    }
}

return _installId;

}`
the crash is happening on this line
[defaults setObject:_installId forKey:@"WindowsAzureMobileServicesInstallationId"];
I dont have more details since xcode doesn't give me more.
When i first start up my app i do 2 get request at the same time. maybe there is a race condition?

@Nazgaul
What are you trying to accomplish here? If you're just looking for a new UUID/GUID as an app identifier, this code might be a little bit simpler:
NSUUID *uuid            = [NSUUID UUID];
NSString *uuidString    = [uuid UUIDString];

Anyway, are you sure that your _installId is always created and correctly populated with a valid NSString object before you try to save it to NSUserDefaults? Because none of this code looks like it has anything to do with Azure or the Azure SDK; just plain ol' Objective-C/Cocoa.

Hi @Nazgaul
Despite the fact that I couldn't personally reproduce the problem, I did PR (#163) to make that part of code thread-safe.
Let me know if the issue still will be in the next version (coming soon).

@Nazgaul Were you able to fix this issue? Please let us know if you need help from our team. Thanks!

@elamalani . I don't get this crash anymore. thanks for the fix.


[SP-4468][SP-4469] Data lineage analyzers for the Hadoop input and output steps

Build Completed
:fire: This pull request has some issues. It would be preferable to fix them in order for it to be just perfect. See below for more details. Some links are also available below for further assistance in addressing those issues.
Build Commands
mvn -B -fn -f 'pom.xml' -pl 'engine' -P '!assemblies' -Dsurefire.runOrder=alphabetical -Daudit -amd clean install

Cleanup Commands
mvn -B -f 'pom.xml' -pl 'engine' -P '!assemblies' -amd build-helper:remove-project-artifact

Changed files
  engine/src/main/java/org/pentaho/di/trans/steps/file/BaseFileOutputMeta.java
  engine/src/main/java/org/pentaho/di/trans/steps/textfileoutput/TextFileOutputMeta.java
  engine/src/test/java/org/pentaho/di/trans/steps/textfileoutput/TextFileOutputMetaInjectionTest.java

Unit Test Coverage
These statistics help you identify how your changes have affected the coverage of the following files. If a file is not in this list, then its coverage was not affected by your changes. To get some help interpreting these metrics, please refer to Jacoco's documentation.

:warning: Coverage Changes (click to expand)
org.pentaho.di.job.entries.evalfilesmetrics.JobEntryEvalFilesMetrics

Branch Change: -0.4% :small_red_triangle_down:
Complexity Change: -0.5% :small_red_triangle_down:
Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.datagrid.DataGridMeta

Branch Change: -2% :small_red_triangle_down:
Complexity Change: -1.7% :small_red_triangle_down:
Instruction Change: -0.2% :small_red_triangle_down:

org.pentaho.di.trans.steps.memgroupby.MemoryGroupByMeta

Branch Change: -2.2% :small_red_triangle_down:
Complexity Change: -2.6% :small_red_triangle_down:

org.pentaho.di.trans.steps.singlethreader.SingleThreaderMeta

Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.textfileoutput.TextFileOutputMeta

Method Change: -2.1% :small_red_triangle_down:

org.pentaho.di.www.WebServerShutdownHook

Branch Change: -50% :small_red_triangle_down:
Complexity Change: -20% :small_red_triangle_down:
Instruction Change: -16.6% :small_red_triangle_down:
Line Change: -16.6% :small_red_triangle_down:
Method Change: -25% :small_red_triangle_down:

org.pentaho.di.trans.steps.salesforceupdate.SalesforceUpdateMeta

Instruction Change: -0.2% :small_red_triangle_down:

@pentaho/r2d2


Adapt scheduled tasks to work with workflows

Scheduled tasks currently only work with Functions, but we also want them to support workflows.  In order to do this, we'll want to move away from having a direct foreign key to Function on the ScheduledTask model and instead have a more general foreign key setup (separately record the id and model of the related object).
Django's contenttypes framework, and specifically the GenericForeignKey seem designed for this exact scenario.  We should look to utilize that as our primary option. If that doesn't work out, implementing a similar concept manually should be pretty straightforward.
In addition to the model changes, the the run_scheduled_task function in core/utils/tasking.py will need to be updated so that it creates either a WorkflowRun or a Task depending on the related object of the ScheduledTask.  Alternatively, there's an argument to be made that we should perhaps drop the concept of a WorkflowRun and instead apply this same generic relation concept to Task, where a Task could be either a single function execution or a workflow execution.  This approach has several benefits, such as making it much easier to show function and workflow executions in a single, ordered list to get a full picture of all activity.  This should be discussed and a separate issue opened as appropriate before proceeding with work on this issue.

After discussion we are going to pursue the WorkflowRun and Task consolidation, which is now tracked in #242.  We should complete that before proceeding with this issue.


Read/write flash status registers

Hi @gregdavill and sorry for taking up so much of your time.
I'd like to extend ecpprog to read/write flash status registers since the ecp5_evn board has a chip (Macronix MX25L12833F) that have QIO disabled by default and I am unsure about how dummy cycles are configured.

Would you accept such a PR?
Do you have an idea of a clean API for that? I think the registers name are inconsistent between vendors (i.e. QE is bit 2 of FC_RSR2 (0x35) for Winbond W25Q128JV while it is bit 6 of FC_RSR3 (0x05) for MX25L12833F) so maybe it is better to use opcodes directly.

Also do you know how the ECP5 handles the various flash configurations (e.g. dummy cycles, DIO/QIO) for transparent JTAG programming and for loading bitstream from flash? Does the ECP5 expect a flash chip always in a specific configuration?
Many thanks!

The main issue I see, which you've identified is that there are lots of different FLASH chips available. And while most stick to industry defined registers, there are lots of exceptions.
I think initially maybe we can support some form of raw mode. Which will basically give you peek/poke access to these registers. But you need to know the register addresses yourself.
The ECP5 shouldn't care about dummy cycles, it always starts with a standard read. It will read a few hundred bytes looking for the start of a bit-stream, once it has this is starts loading.
One of the early frames contains configuration for the sysconfig, which enables QSPI and faster clock rates.
To be honest, I'm not entirely sure what happens at that point if QSPI is enabled, maybe it restarts loading from 0x0 but in QSPI mode? Or it restarts from the current frame, but in QSPI mode.

I have to postpone this until I can get my hands on some fast-enough logic analyser.
My chip doesn't respond to some commands as it should per the datasheet so I have to fallback to using an external MCU.

Interesting. There are a few things that you need to make sure of before you can communicate with the SPI bus.

ECP5 can not be configured to use the SPI interface. (We perform a bitstream reset to ensure this)
You need to run enter_spi_background_mode()
The CS line is active when in the SHIFT-DR state, CLK, TDI/TDO are connected directly to teh SPI bus.

When poking around with new stuff it's easiest to add it here to test: https://github.com/gregdavill/ecpprog/blob/master/ecpprog/ecpprog.c#L955
That way the SPI bus is already configured, and you can verify the SPI_ID is correct before your custom functions run.
Note when writing data to the Status registers calling flash_write_enable() is required as the instruction right before the write. flash_disable_protection() is an example of performing this write and validating the result.
The SPI I/O drivers on the ECP5 are very fast, you may need to place an inline resistor with CLK. I've found that when my logic analyser was attached, there was extra ringing on the CLK line from the probe, and the FLASH interpreted that as 2 clocks per edge.

Thank you for your extensive help and sorry for the late reply. Even with your remarks, I wasn't able to enable Quad I/O mode using the ECP5 so I had to fallback to connecting an ESP32 directly to the flash and it worked flawlessly (snippet here).

When poking around with new stuff it's easiest to add it here to test: https://github.com/gregdavill/ecpprog/blob/master/ecpprog/ecpprog.c#L955
That way the SPI bus is already configured, and you can verify the SPI_ID is correct before your custom functions run.

That is exactly how I started. To set the QE bit, I am doing something like that:
static void flash_quad_enable()
{
	uint8_t rdsr[2] = { 0x05 };
	xfer_spi(rdsr, 2);
	fprintf(stderr, "SR: 0x%02X\n", rdsr[1]);
	fprintf(stderr, " - WEL: %s\n",
		((rdsr[1] & (1 << 1)) == 0) ?
			"disabled" :
			"enabled");
	fprintf(stderr, " - QE: %s\n",
		((rdsr[1] & (1 << 6)) == 0) ?
			"disabled" :
			"enabled");

	uint8_t wrsr[3] = { 0x01, (uint8_t)(1 << 6), 0 };
	send_spi(wrsr, 2); // config register is optional, could also use send_spi(wrsr, 3)

	xfer_spi(rdsr, 2);
	fprintf(stderr, "SR: 0x%02X\n", rdsr[1]);
}

And flash_quad_enable() is called within the following block:
/* Reset ECP5 to release SPI interface */
ecp_jtag_cmd(ISC_ENABLE);
ecp_jtag_cmd(ISC_ERASE);
ecp_jtag_cmd(ISC_DISABLE);

/* Put device into SPI bypass mode */
enter_spi_background_mode();

flash_reset();
flash_write_enable();
flash_quad_enable();

However, send_spi(wrsr, 2) does not affect the register value. Indeed, ecpprog has to be called without the --verbose flag as flash_write_enable() sends commands that are not compatible with my flash.
For reference, here is the recommanded flow chart to enable Quad I/O:

Interesting. If you can get a logic analyser on the system it would be interesting to see why it wasn't working over JTAG. But I'm glad you've got it working! :)


Git / Stage Selected Ranges doesn't work with UTF-16LE files

VSCode Version: 1.33 and 1.34.0-insider
OS Version: Latest Windows 10 x64
Git: latest version 2.21.0

Steps to Reproduce:

Unpack attached repository
Switch to Source Control View
Choose utf16le.rh file
Try to select change on the first line and choose Stage Selected Ranges command

You will receive following error: "Git: Could not hash object."

git hash-object --stdin -w --path utf16le.rh

Same operation for UTF-8 encoded file utf8.h works fine.
Command line git add -p works for both utf16le.rh and utf8.h files.

Does this issue occur when all extensions are disabled?: Yes
git_utf16le_problem.zip

Moreover when I select second change (line "define 20") in utf16le.rh file (when viewing changes) and click Stage Selected Ranges command from right-click context menu, it seems to stage selected line, but the result is corrupted utf16le.rh file in stage area. I have to unstage utf16le.rh file to continue working.
It seems to me that change in utf16le.rh file is staged without automatic conversion from UTF-16LE to UTF-8. This conversion is set in .gitattributes on this line:
*.rh         text working-tree-encoding=UTF-16LE-BOM
When I tried to stage that line with command line version of git, it works well:
git add -i
p
1
<empty-line = just press Enter>
n
y
q
X:\DOWNLOAD\git_utf16le_problem\git_utf16le_problem>git add -i
           staged     unstaged path
  1:    unchanged        +2/-2 utf16le.rh
  2:    unchanged        +2/-2 utf8.h

*** Commands ***
  1: status       2: update       3: revert       4: add untracked
  5: patch        6: diff         7: quit         8: help
What now> p
           staged     unstaged path
  1:    unchanged        +2/-2 utf16le.rh
  2:    unchanged        +2/-2 utf8.h
Patch update>> 1
           staged     unstaged path
* 1:    unchanged        +2/-2 utf16le.rh
  2:    unchanged        +2/-2 utf8.h
Patch update>>
diff --git a/utf16le.rh b/utf16le.rh
index 5195bcf..c0d61a7 100644
--- a/utf16le.rh
+++ b/utf16le.rh
@@ -1,4 +1,4 @@
-#define 1
+//#define 1
 #define 2
 #define 3
 #define 4
Stage this hunk [y,n,q,a,d,j,J,g,/,e,?]? n
@@ -17,4 +17,4 @@
 #define 17
 #define 18
 #define 19
-#define 20
\ No newline at end of file
+//#define 20
\ No newline at end of file
Stage this hunk [y,n,q,a,d,K,g,/,e,?]? y

*** Commands ***
  1: status       2: update       3: revert       4: add untracked
  5: patch        6: diff         7: quit         8: help
What now> q
Bye.

#36219


Scrolling up in the dropdown menu does not work

When a dropdown menu is open (e.g. when choosing your origin), trying to scroll up instead triggers a reload within the app and resets the dropdown.
Scrolling down works fine, and if you scroll down a little and don't lift your finger up, scrolling up works.

I can't reproduce this problem on my device. What device and Android version are you using?

I have a Moto G (falcon) with CyanogenMod 12.1 snapshot (Android 5.1.1)

Happens also for me now.


update crate version to 0.2.148

Please make a release so I can use the changes I made for MIPS R6 :)

and I would like to let #3301 go too. Thanks!

Could you merge it? Thanks. @JohnTitor

Let me clean up the PR queue before this.

Sorry for not getting back to y'all sooner! I haven't had enough time to cut a new release, but I will have it this weekend (hopefully, though!).

Did you have enough time this weekend 😇

Sorry, no! @Amanieu Could you handle this if you have time?

@joshtriplett Could you handle this if you have time?

@joshtriplett I see that you bumped the version of the main crate, but not the dependency of the test. This PR should now do it for you.


[Role] az ad/role: Azure AD Graph API to Microsoft Graph API migration

Description
Resolve #12946
According to https://docs.microsoft.com/en-us/graph/migrate-azure-ad-graph-overview

Azure Active Directory (Azure AD) Graph is deprecated but won't be retired on June 30, 2022 as previously announced. Listening closely to your feedback about the challenges of migrating such a critical dependency, we're delaying the retirement date through at least the end of this year, 2022. We’ll provide a retirement update mid-calendar year including releasing more tools to help you to migrate your apps.

This PR migrates the underlying API of az ad and az role from AD Graph API to Microsoft Graph API.
Testing Guide
az ad sp create-for-rbac
az ad app create --display-name mytestapp

# Other commands under
az ad ...
az role ...

History Notes
[Role] BREAKING CHANGE: az az/role: Migrate the underlying API of az ad and az role from AD Graph API to Microsoft Graph API. For more details, see Microsoft Graph migration

/azp run

Role

History notes should be added after merging this PR to bypass "Check the Format of Pull Request Title and Content".
History Notes
[Role] BREAKING CHANGE: az az/role: Migrate the underlying API of az ad and az role from AD Graph API to Microsoft Graph API. For more details, see Microsoft Graph migration

Awesome job, great news! Can you estimate when it will be released?

Thanks @lkurzyniec. 😊 You may refer to the release schedule here: https://github.com/Azure/azure-cli/milestone/118


Error with react-native-compat + Expo Go crashes on iOS when trying to create a Web3Wallet instance

Description
I'm trying to use a Web3Wallet library in my app. I followed the documentation presented here and here and I have two issues:
First, the import of @walletconnect/react-native-compat throws an error: react-native-compat: Application module is not available
While searching for similar problems, I only found one example but it was not solved
Second, if I try to run the app on iOS Simulator or an iPhone, running Web3Wallet.init (clicking on the button in the Reproducer example) crashes my Expo Go app without even throwing a single log. It may be somehow connected to the first issue but I'm not sure since it works fine on an Android device
Steps to reproduce
Follow the Readme file in the Reproducer link
React Native Version
0.74.1
Affected Platforms
Runtime - iOS
Output of npx react-native info
System:
  OS: macOS 14.4.1
  CPU: (10) arm64 Apple M1 Pro
  Memory: 1.28 GB / 32.00 GB
  Shell:
    version: "5.9"
    path: /bin/zsh
Binaries:
  Node:
    version: 18.18.2
    path: ~/.nvm/versions/node/v18.18.2/bin/node
  Yarn:
    version: 1.22.19
    path: /opt/homebrew/bin/yarn
  npm:
    version: 10.8.1
    path: ~/Documents/Test-Expo-and-Web3Wallet/node_modules/.bin/npm
  Watchman:
    version: 2<IP_ADDRESS>
    path: /opt/homebrew/bin/watchman
Managers:
  CocoaPods:
    version: 1.14.3
    path: /opt/homebrew/bin/pod
SDKs:
  iOS SDK:
    Platforms:
      - DriverKit 23.5
      - iOS 17.5
      - macOS 14.5
      - tvOS 17.5
      - visionOS 1.2
      - watchOS 10.5
  Android SDK:
    API Levels:
      - "33"
      - "34"
    Build Tools:
      - 30.0.3
      - 33.0.0
      - 33.0.1
      - 34.0.0
    System Images:
      - android-33 | Intel x86_64 Atom
      - android-33 | Google TV Intel x86 Atom
      - android-33 | Google APIs ARM 64 v8a
      - android-34 | Google APIs ARM 64 v8a
    Android NDK: Not Found
IDEs:
  Android Studio: 2022.3 AI-223.8836.35.2231.10671973
  Xcode:
    version: 15.4/15F31d
    path: /usr/bin/xcodebuild
Languages:
  Java:
    version: 17.0.11
    path: /usr/bin/javac
  Ruby:
    version: 2.6.10
    path: /usr/bin/ruby
npmPackages:
  "@react-native-community/cli": Not Found
  react:
    installed: 18.2.0
    wanted: 18.2.0
  react-native:
    installed: 0.74.1
    wanted: 0.74.1
  react-native-macos: Not Found
npmGlobalPackages:
  "*react-native*": Not Found
Android:
  hermesEnabled: Not found
  newArchEnabled: Not found
iOS:
  hermesEnabled: Not found
  newArchEnabled: Not found

Stacktrace or Logs
At the start of application:
ERROR  react-native-compat: Application module is not available

And after clicking on the button, it just crashes, there are no logs at all.

Reproducer
https://github.com/Patryqss/Test-Expo-and-Web3Wallet
Screenshots and Videos
https://github.com/facebook/react-native/assets/53139396/2b64b7ae-bf98-4c2d-8d88-ee548190d503

Also for the issue related to @walletconnect/react-native-compat, please open this same issue against the library issue tracker


get_historical_klines, futures

how get_historical_klines for futures? I tried to do client=Client(apiKey,apiSec) candles = client.get_historical_klines('BNBUSDT', Client.KLINE_INTERVAL_2HOUR, "10 day ago UTC",klines_type=HistoricalKlinesType.FUTURES) but it doesn't work.

bump, I have the same problem

Declare client = Client(api_key= api_key, api_secret= secret_key, tld= "com") Then run client.futures_klines(symbol="XRPBUSD", interval="5m", start_str = "30 minutes ago UTC").
However, there's a problem with futures_klines(**params) and that is the fact that it DOESN'T understand the start date string in UTC format, when it should just as get_historical_klines(**params) does

Declare client = Client(api_key= api_key, api_secret= secret_key, tld= "com") Then run client.futures_klines(symbol="XRPBUSD", interval="5m", start_str = "30 minutes ago UTC").
However, there's a problem with futures_klines(**params) and that is the fact that it DOES NOT understand the start date string in UTC format, when it should just as get_historical_klines(**params) does

Actually, I just realized that the right method to use in my case is futures_historical_klines(**params), so it should be run client.futures_historical_klines(symbol="XRPBUSD", interval="5m", start_str= "30 minutes ago UTC")

candlesticks = await async_client.futures_coin_klines(symbol="BTCUSDT", interval=AsyncClient.KLINE_INTERVAL_1MINUTE, startTime=1641042000000, endTime=1641042060000)

This gives me different data than:
https://fapi.binance.com/fapi/v1/klines?symbol=BTCUSDT&interval=1m&startTime=1641042000000&endTime=1641042060000
Why is that?


routing and device with pub socket

Hi Guys, Another noobs here. I want to ask something.

Suppose i got 2 worker behind a device, worker 'a' and 'b'. The requester want to send msg to worker 'a'. If i do this on micro controller, i send the msg to all worker, but only worker that being specified from the sender respond it, the other just throw the msg. If i do this using zmq, i got some socket id option so that i send it to that ID. When i use nanomsg, i'm thinking about the bus socket but how i can do it?

Can i see what the message that going through or even stuck in the socket? Or using some proxy device/monitoring device/forwarder with pub socket?

You can write a "custom" device to do this.  You need to put the sockets in Raw mode, but then you can see headers, and of course the contents as well, and selectively forward in your custom device implementation.  You can look in device.go to see the trivial non-filtering device implementation I created.  You'll need to do some more meaty work, and want to support more than one socket on each side.
To introspect inside the sockets themselves, you'd need to modify the code.   There are actually hooks for that, but I consider this internal implementation to mangos, and subject to change without notice.  (These hooks are used in the implementation of the actual protocols, themselves.)

I see.. thx..


Remove unnecessary constraints

Remove unnecessary constraints.
This merge proposal was created automatically by the Janitor bot.
For more information, including instructions on how to disable
these merge proposals, see https://janitor.debian.net/scrub-obsolete.
You can follow up to this merge proposal as you normally would.
The bot will automatically update the merge proposal to resolve merge conflicts
or close the merge proposal when all changes are applied through other means
(e.g. cherry-picks). Updates may take several hours to propagate.
Build and test logs for this branch can be found at
https://janitor.debian.net/scrub-obsolete/pkg/alabaster/56f180e3-7aac-499d-98db-b331861d49e3.
These changes have no impact on the binary debdiff.
You can also view the diffoscope diff (unfiltered).

This merge proposal will be closed, since all remaining changes have been
applied independently.


Fix the handling of time and date time columns in rule engine

Fix the handling of time and date time columns and remove corresponding limitations
FlagQueryRule - Flags queries with tables that have time column (deprecated) or one or more DateTime columns (new way of specifying time columns) but don't use it in queries in the filter clause as a feedback to the user that they should consider using the time column as a filter. Two things need to be fixed in this rule

Should also consider DateTime columns in addition to the Time column
Fix a bug - if the schema of the table doesn't have a time/datetime column(s), it is stored as null and thus flags queries even for the tables that don't have such columns in the schema because it checks the presence of null in the set of filter columns.
This will also require some cleanup in InputManager.

There are some other restrictions in the rule engine around the use of time/datetime column that we can relax.
The function isPrimaryDateTime(String col) checks if the provided column is the time column. Let's rename this to more meaningful - something like isTimeOrDateTimeColumn(String col)
Now we can fix the usage of this function in BloomFilterRule and InvertedSortedIndex recommendation rules.
Our initial implementation of these rules somehow assumed that typically time/datetime columns will always be used in range predicates thus precluding the use of inverted/sorted index and bloom filters on such columns because such structures only help with =, IN filter operators. Thus the implementation of these rules outright ignore the time/datetime column from the recommendation upfront. However, users may have =/IN queries on time/datetime column and so might benefit from inverted/sorted/bloom. So, let's remove this restriction from the rules.

Closed by PR - https://github.com/apache/incubator-pinot/pull/6938


[Bug] AccountMeta does not match what it should be

Describe the bug
The code interface is awkward or incorrect, when an account need to be a signer, Account is provided
https://github.com/bmresearch/Solnet/blob/93b568458abe5f866d0e030ac0fe1369f32e2d03/src/Solnet.Rpc/Models/AccountMeta.cs#L41-L48
I think that is quite a big change that makes it misaligned to how the rust solana_sdk or web3.js works. This also destroys the opportunity to build the transaction with C# then provide it to another component to be signed, as any signer need to be provided at instruction construction. So impossible to achieve multisig from different physical places, signing by hardware wallet...
It is quite important to respect the same interface between abstractions to also avoid a steeper learning curve between each abstraction.
I propose to just do it like web3.js
https://solana-labs.github.io/solana-web3.js/modules.html#AccountMeta
Another option is to follow the rust way, with a static method that sets one of the properties AccountMeta.readOnly(publicKey, isSigner)
Then providing Signer[] is done at the transaction level

It has been a while since we refactored programs to be like that and the goal of it was for the abstraction to have a lower learning curve, not a steeper one. As this allowed us to build transactions and not even to worry about the order of the signers when passing them into the TransactionBuilder.Build().
OTOH most of our program implementations so far have been from looking at their rust implementation so, from my point of view it would make it easier and overall make more sense to have our implementation be similar to the ::new_readonly() it uses.
I'm gonna give this some more thought and see if there's any way to keep the TransactionBuilder as is, but it looks like this is a major breaking change at various levels.


File icon too big

Same issue as stated here: https://bitbucket.org/asomov/snakeyaml/issues/398/file-icon-too-big
The icon is to big in the JetBrains' IDEs (PyCharm, IntelliJ, ...).

please fix, it results in the filename tabs to be 2x their normal size in the editor ...

Too long ago.
Is this still an actual issue?
Feel free to close.


[Bug]: Report about Report 596 - Exch. Rate Adjustment in Business Central version 24.x

Describe the issue
Dear Team Members,
We would like to report a bug about Business Central Report 596 - Exch. Rate Adjustment
The report does not function the same way for the vendors as it does for the customers, and the correct way of the function is that for the customers.
The difference was determined by our consultants in the following scenario:

On 05 May 2024 the vendor issues an invoice in a foreign currency, say 10.000 USD (1 USD = 30.0000 LCY)
On 10 June 2024 we pay the invoice in the same currency same exch.rate with invoice (1 USD = 30.0000 LCY)
On 10 June 2024 we apply the payment to the invoice.
On 11 June 2024 we run the Report 596 - Exch. Rate Adjustment to calculate unrealized gains/losses as of 31 May 2024. The exchange rate is 1USD = 31.0000 LCY for 31 May 2024

After the execution of the report 596, the necessary records for the unrealized loss of 1,000.00 LCY is recorded for the invoice on 05 May 2024, but the reversing transaction is not recorded. This is an incomplete transaction.
(The similar scenario run for the Customer with the same values and dates would also insert a record which reverses the unrealized loss, which is the expected and correct behaviour.)
We would kindly ask you to escalate this bug to the necessary department.
In case that you are not the correct team to report this bug, we would kindly ask you to advise us about the correct point to proceed.
Thank you for your support.
Expected behavior
Reporting does not work for suppliers the same way it works for customers, and the correct way to do it must work is the same way it works for customers.
The 3rd transaction line in the image below does not occur for the suppliers.

Steps to reproduce

On 05 May 2024 the vendor issues an invoice in a foreign currency, say 10.000 USD (1 USD = 30.0000 LCY)
On 10 June 2024 we pay the invoice in the same currency same exch.rate with invoice (1 USD = 30.0000 LCY)
On 10 June 2024 we apply the payment to the invoice.
On 11 June 2024 we run the Report 596 - Exch. Rate Adjustment to calculate unrealized gains/losses as of 31 May 2024. The exchange rate is 1USD = 31.0000 LCY for 31 May 2024

After the execution of the report 596, the necessary records for the unrealized loss of 1,000.00 LCY is recorded for the invoice on 05 May 2024, but the reversing transaction is not recorded. This is an incomplete transaction.
Additional context
No response
I will provide a fix for a bug

[ ] I will provide a fix for a bug

I found the wrong code. When I change the code I marked in red below to "DetailedVendLedgEntry."Posting Date"", the problem is fixed.
Wrong:

Correct

I'm glad that someone else add a new issue about this problem. We found out this (the same example) a couple of weeks ago and it was in my to-do list to enter it, but...there was no time.
@yildiz-ozdemir maybe you can try to contribute and do your fix on your own? ;-)

Awesome ! :) I'm trying right now
i just sent request to be included BusinessCentralApps platform, when accepted, i will contribute :) @RadoArvay

@yildiz-ozdemir, I've added you to the pilot! You should have access now. I'm transferring this issue, as it's a problem in the BaseApp 🙂


Refresh Flutter Cirrus Key

Had a note in my calendar that this week the flutter cirrus key needs to be refreshed. This bug is just to track that.

The key has been changed in two places, waiting for some tests to pass on flutter/packages

Key updated everywhere. Closing!


Migrate dynamic provisioning documentation

related issue: #5823

This change is

@saad-ali pls help review, thanks.

@tengqm A few comments in the text. Otherwise docs LGTM. @saad-ali, can you do a tech review/approval? Thanks.

@steveperry-53 Revised based on your comment.

@jingxu97 could you take a tech review for this PR?

/lgtm
/approve


Fix cluster_render.glsl failing on some Macs

Some Macs encounter an internal error when compiling cluster_render.glsl caused by a likely bug in the MVK/Metal
compiler when using gl_HelperInvocation.
The fix removes a conditional that avoids atomic buffer stores when running in a helper invocation. Functionally it should be identical because atomicOr is guaranteed to not not write anything when in a helper invocation anyway, but I'm not 100% sure there aren't any performance differences. (Depends on if the atomicOr is truly a NOP when in a helper invocation or not, which the documentation doesn't really specify. It just says it has no effect on the underlying image or buffer memory.) To minimize any potential downsides I only removed the conditional when using MoltenVK.
There is a second code path in the shader that uses subgroups, and I chose to not remove the conditional in that path, because I had the feeling (but no actual data) that any Mac GPUs that take this path also don't suffer from the issue. (I think it's specific to an older Intel GPU codepath.)
This PR fixes issue #62322

I think this is the right approach to take. My understanding was the !gl_helperInvocation branch was added for correctness, in which case it should be safe to remove. But would be nice to have input from @reduz

It's probably fine, but I can't test it since it seems to be an Intel GPU only issue.

It was not entirely clear to me whether HelperInvocation truly ignored imageAtomicStore, but if this is the case, then the conditionals should be safely removed. I think this warrants a bit more research.

It was not entirely clear to me whether HelperInvocation truly ignored imageAtomicStore, but if this is the case, then the conditionals should be safely removed. I think this warrants a bit more research.

Yes, this is why I didn't just straight up remove it. The full reference text is:
Atomic operations to image, buffer, or atomic counter variables performed by helper invocations have no effect on the underlying image or buffer memory. The values returned by such atomic operations are undefined.
This could theoretically mean that it still performs a bunch of costly operations but just doesn't do the final write to the underlying data. Not sure how to get a definitive answer on that though?

The speed of launching Godot 4 beta4 with Mobile rendering is improved but it didn't work to Forward+ rendering

Thanks!


Support TEXT type in MySQL codepath or core SQL path

What problem does the new feature solve?
This DDL failed:
CREATE TABLE t(ts TIMESTAMP TIME INDEX, payload MEDIUMTEXT);

ERROR on_query{protocol="mysql"}:mysql::do_query:do_query: frontend::instance: Failed to execute query: CREATE TABLE t(ts TIMESTAMP TIME INDEX, payload MEDIUMTEXT) err=0: Table operation error, at src/frontend/src/instance.rs:274:14
1: Failed to parse SQL, at src/operator/src/expr_factory.rs:318:18
2: SQL data type not supported yet: Custom(ObjectName([Ident { value: "MEDIUMTEXT", quote_style: None }]), [])

What does the feature do?
Support more SQL data type to extend our scenarios. MEDIUMTEXT is necessary to use SkyWalking's MySQLTableInstaller and then integrates with SkyWalking as its data storage.
Implementation challenges
I wonder if this can be a good first issue if it's no more than mapping TEXT to VARCHAR, or follow the impl path of VARCHAR and mapping it into String.

Hi, I'd like to try to implement this :). For me the former impl method seems reasonable since MEDIUMTEXT is similar to TEXT and VARCHAR with different maxium length according to docs of mariadb. I wonder if there's some difference of the TEXT data type in greptimedb.

We actually store Char Varchar Text String all as String underneath. I support we can treat all the text as DataType::Text. Check the follow related code:
https://github.com/GreptimeTeam/greptimedb/blob/d2e081c1f9da11584e6a5d7dbb8532092dfe8ae2/src/sql/src/statements/transform/type_alias.rs#L134-L163


[QA] API test TrashbinContext userTriesToRestoreElementInTrash

Describe the bug
restoreElement has no return value if the path to restore $originalPath does not exist.
But restoreElement says that it always returns ResponseInterface
It currently can end up returning null
Investigate, and sort out the proper return type, and what happens in userTriesToRestoreElementInTrash if restoreElement does not return a ResponseInterface
Setup
CI

I'm currently working on this issue.


Live audio visualisation

Firstly I would like to say, really cool project, thanks for your fantastic work!
Is there a way to capture the data live while the microphone is recording without having to stop the recording first? I am interested in this because I would like to do some kind of audio visualisation, for example like in a WhatsApp voice message while recording.
Thank you very much in advance for your answer!

Thanks, I tested WhatsApp on iOS and the Only thing I saw was a timer that starts when you start recording. can you give me info?

Thanks, I tested WhatsApp on iOS and the Only thing I saw was a timer that starts when you start recording. can you give me info?

Yes, i also want to implement a timer, but it isn't a real problem because they are a lot of workarounds.
The biggest issue for me is like that:
So i want to create on recording a live sound wave. For me that means I have to be able to access the recording in real time (while recording) via some kind of event listener.

Thank you so much! 😊
On the web, for example, there are many frameworks/plugins that make exactly this possible. The way a developer implements this in their Ionic Capacitor app should be left up to them. I think, the live stream from the microphone with data content alone would be enough to be able to build something like this.
Interestingly, someone has already tried something like this with your repo: https://github.com/simonschmalfeld/capacitor-microphone/commit/36bb2f9e9cdc2e532011fd9fe4c450de3f144aff

Any new news? @Mozart-Alkhateeb

This is a little bit more complicated than I thought at least for android, haven't checked iOS yet.
I use Media Recorder for the underlying native implementation on Android, what you are asking for might require the usage of Audio  Recorder (i.e rewriting most of the code) and you're still far from VoIP.
It is a feature that I might add and will be experimenting with in my freetime.
If you need this for a project at this time, then you should be looking for a different plugin.


Add ability to specify ID ranges for userns

Allow specifying root ID and range length for uid/gid mappings.
Signed-off-by: Phil Estes<EMAIL_ADDRESS>@jfrazelle wanted to see if you thought this was reasonable before I merged

NICE! lgtm!


removed unnecessary letter from block of what are we in about page

issue ;- Block of what we are has unnecessary letter .
fixed it.
before

after

Thank you. 👍


sorbet.semantic_family dropped from query results

This appears to be a consequence of:

https://github.com/rerun-io/rerun/pull/8499/files

This breaks the new send_dataframe functionality introduced in:

https://github.com/rerun-io/rerun/pull/8461

Code to repro:
from __future__ import annotations

import tempfile

import rerun as rr

with tempfile.TemporaryDirectory() as tmpdir:
    rrd = tmpdir + "/tmp.rrd"

    rr.init("rerun_example_test_recording")
    rr.set_time_seconds("my_index", 1)
    rr.log("points", rr.Points3D([1, 2, 3]))
    rr.save(rrd)

    recording = rr.dataframe.load_recording(rrd)
    assert recording is not None

df = recording.view(index="my_index", contents="points").select().read_all()
print(df.schema.field("/points:Position3D").metadata)

Prior to  https://github.com/rerun-io/rerun/pull/8499/files
➜ python dump_tags.py
{b'sorbet.path': b'/points', b'sorbet.logical_type': b'positions', b'sorbet.semantic_family': b'Points3D', b'sorbet.semantic_type': b'Position3D'}

After https://github.com/rerun-io/rerun/pull/8499/files
➜  python dump_tags.py
{b'sorbet.path': b'/points', b'sorbet.semantic_type': b'Position3D'}

I checked on the 0.19 / 0.20 releases.
Even though the code existed to set semantic_family:
https://github.com/rerun-io/rerun/blob/d44b701931a589a55f21baeb79bdff5298148ff1/crates/store/re_chunk_store/src/dataframe.rs#L276-L281
This repro code shows it wasn't being set there either. We just didn't notice.

Can confirm this can be worked around by specifying include_indicator_columns = True on the view. This makes sense for a pre-tagged-component world.


GitLens steals Alt+F

GitLens steals the Alt+F keyboard shortcut which should be reserved for File menu. As a workaround, the keybinding can be removed.

Ah -- right. I'll look for a new shortcut key for that in the next release. Thanks!

@borekb FYI you can try the new beta here: v3.5.0-beta? You can find installation instructions here: Installing Beta Releases
This version changes the alt+f shortcut to alt+/.

I can't currently test it but trust that the mapping would work :)

Fixed in 3.5.0


Decouple Lokomotive versioning from lokoctl

Currently the Lokomotive version is embedded in the lokoctl binary. That is, to update Lokomotive you need to get the new lokoctl binary and run lokoctl cluster apply.
We should consider decoupling the Lokomotive version from lokoctl and have some kind of release manifest.

I have some ideas how to address that.

Something interesting about Go plugins I found:
FATA[0000] Getting release: opening plugin ./release.so: plugin.Open("./release"): plugin was built with a different version of package github.com/kinvolk/lokomotive/pkg/release  command="lokoctl component list"

So, the main thing I struggle right now with Go plugins implementation is fact, that github.com/kinvolk/lokomotive/pkg/assets package import must be only imported in the release plugin code and not in cli/cmd package. This is required, as otherwise embedded assets files are still taken from the lokoctl binary rather than from release.so file.
This turns out to be surprisingly difficult because of the way our code is structured.
The fact that CLI code currently implements most of the cluster operations logic rather than just being a gate to trigger it is a problem. We also have many tiny imports, which additionally clutters the dependencies tree and we still use #630 in too many places, which makes it more difficult to move code around.


Possible integration with Tizonia project

https://github.com/tizonia/tizonia-openmax-il

Tizonia uses youtube-dl under the hood as well...


Feature: add endpoint  /api/v1/metadata for metadata/key rotation

Add /api/v1/metadata with method POST for Metadata/key rotation.
This feature allows RSTUF administrators to rotate the root metadata
and the online keys, which require signing with offline keys (root
keys).
This endpoint publishes a message/task in the RSTUF configured
message queue. The RSTUF Worker consumes the queue and executes the
metadata rotation.
The implementation is done in 3 steps:
1. refactoring for metadata.py.
This python package name conflicts with the new /api/v1/metadata
naming.
The current implementation on repository_service_tuf_api/metadata.py
package are core initialization required across other implementations
and were moved to repository_service_tuf_api/__init__.py.
It doesn't affect or change the user usage of the RSTUF API.
2. makes the TUF BaseModels reusable in a common package.
These models will be used to implement /api/v1/metadata
3. Feature: add endpoint  /api/v1/metadata for metadata/key rotation
Depends on: https://github.com/vmware/repository-service-tuf-cli/issues/222
Closes #289

Codecov Report
Patch coverage: 94.35% and project coverage change: +0.43 :tada:

Comparison is base (92114a8) 93.52% compared to head (b5124f3) 93.95%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #323      +/-   ##
==========================================
+ Coverage   93.52%   93.95%   +0.43%
==========================================
  Files          17       19       +2
  Lines         618      662      +44
==========================================
+ Hits          578      622      +44
  Misses         40       40

Impacted Files
Coverage Δ

repository_service_tuf_api/token.py
100.00% <ø> (ø)

repository_service_tuf_api/__init__.py
76.59% <46.15%> (-4.89%)
:arrow_down:

app.py
89.65% <100.00%> (+0.76%)
:arrow_up:

repository_service_tuf_api/api/metadata.py
100.00% <100.00%> (ø)

repository_service_tuf_api/bootstrap.py
100.00% <100.00%> (ø)

repository_service_tuf_api/common_models.py
100.00% <100.00%> (ø)

repository_service_tuf_api/config.py
84.84% <100.00%> (-0.45%)
:arrow_down:

repository_service_tuf_api/metadata.py
100.00% <100.00%> (+50.00%)
:arrow_up:

repository_service_tuf_api/targets.py
100.00% <100.00%> (ø)

repository_service_tuf_api/tasks.py
100.00% <100.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

I am going to approve it, but I think you need to update the docs again.


docs: publish swagger files, update swagger readme

Signed-off-by: Anthony Casagrande<EMAIL_ADDRESS>

If your build fails  due to your commit message not passing the build checks, please review the guidelines here: https://github.com/edgexfoundry/edgex-go/blob/main/.github/Contributing.md
PR Checklist
Please check if your PR fulfills the following requirements:

[ ] I am not introducing a breaking change (if you are, flag in conventional commit message with BREAKING CHANGE: describing the break)
[ ] I am not introducing a new dependency (add notes below if you are)
[ ] I have added unit tests for the new feature or bug fix (if not, why?)
[ ] I have fully tested (add details below) this the new feature or bug fix (if not, why?)
[ ] I have opened a PR for the related docs change (if not, why?)

Testing Instructions

New Dependency Instructions (If applicable)

Codecov Report

Merging #130 (9210064) into main (9690a38) will not change coverage.
The diff coverage is n/a.

:exclamation: Current head 9210064 differs from pull request most recent head 6049b64. Consider uploading reports for the commit 6049b64 to get more accurate results

@@          Coverage Diff          @@
##            main    #130   +/-   ##
=====================================
  Coverage   9.13%   9.13%
=====================================
  Files         18      18
  Lines       1795    1795
=====================================
  Hits         164     164
  Misses      1610    1610
  Partials      21      21

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Write unit tests for the Book model

Tests I want to see:

Book.ordered
Book.search
Book.featured

Bonus points:

Book.to_csv

Even more bonus points. Tests for validations of:

ISBN
Name

We'll have a discussion tomorrow about when, why, and how to test them

Even more bonus points - tests for:

User.ordered
User.search

Tests for validating the presence of name


Better highlight ms

Highlighting our own offer was overall well received during the arch meeting. Let's roll this out to all AMS-es.

@llarsson I changed my mind about your "as of YYYY-MM-DD". We have a mature product management process now. We have no excuse for reporting on our feature maturity as if .io was maintained by Wikipedia-like volunteers. :smile:


Ping.js

I am having issues connecting to my server with ping.js. I am getting a 304 error with ping.

Could you copy paste the part with the ping.js that's giving you the issue so I can see it?

I'm going to assume this was fixed.


Revise hot water analysis not enough data message

closing this as it needs some work on the analytics side


[RB-2.5] exec_prefix for PyIlmBase

While packaging OpenEXR 2.5.8 for Gentoo, I noticed, the exec_prefix for the pkgconfig file of PyIlmBase is wrong. According to GNU standards[1], it should usually be ${prefix}, which IMO implies it needs to be an absolute path. The current pkgconfig file for PyIlmBase lists exec_prefix=bin.
[1] https://www.gnu.org/prep/standards/html_node/Directory-Variables.html

Clean up loose ends, this should be closed now.


Tag to Badge

part of #224

It may be worth it to alias Tag and Badge, so it will not be a breaking change. People could still use Tag, it will output the badge classes as well as Badge, which matches bootstraps naming. I only ask because bootstrap's breaking changes do not necessarily mean a reactstrap breaking change.
Also we could deprecate Tag while doing that to eventually get rid of it.
Just food for thought.

bootstrap's breaking changes do not necessarily mean a reactstrap breaking change.

The current rule of thumb is, latest version of reactstrap should support the latest version of bootstrap released. If a breaking change happens in bootstrap, (classes/component renamed), it means a major version bump because consumers should have some sort of guarantee that classes won't change. I think jest snapshot tests would be helpful here for us and them. If a consumer had their own snapshot tests, they should only have failing tests when a) something that was already incorrect was fixed or b) there was a major version change.
It's probably safer not to do unrelated reactstrap api changes alongside the bootstrap breaking changes. This should hopefully make transitioning easier. Also, I'd prefer not to have master in a weird state with conditional classes, props (ex: isOpen || isActive), or aliases.
I've setup a v4 branch to merge things that aren't ready for 3.x.x.

Merged via #230. We can chat more about this in #224.