CT101 Thermostat Showing as two climate entities, and no fan

Is your problem within Home Assistant (Core or Z-Wave JS Integration)?
NO, my problem is NOT within Home Assistant or the ZWave JS integration
Is your problem within Z-Wave JS UI (formerly ZwaveJS2MQTT)?
NO, my problem is NOT within Z-Wave JS UI
Checklist

[X] I have checked the troubleshooting section and my problem is not described there.

[X] I have read the changelog and my problem was not mentioned there.

Describe the bug
See attached Bug from the following Home Assistant Issue: https://github.com/home-assistant/core/issues/48452
Device information
Manufacturer:  Radio Thermostat of America
Model name:  CT101
Node ID in your network: 3
How are you using node-zwave-js?

[ ] zwave-js-ui (formerly zwavejs2mqtt) Docker image (latest)
[ ] zwave-js-ui (formerly zwavejs2mqtt) Docker image (dev)
[ ] zwave-js-ui (formerly zwavejs2mqtt) Docker manually built (please specify branches)
[ ] ioBroker.zwave2 adapter (please specify version)
[X] HomeAssistant zwave_js integration  (please specify version)
[ ] pkg
[ ] node-red-contrib-zwave-js (please specify version, double click node to find out)
[ ] Manually built from GitHub (please specify branch)
[ ] Other (please describe)

Which branches or versions?
version:
node-zwave-js branch: stable
zwave-js-ui branch: stable
Did you change anything?
no
If yes, what did you change?
No response
Did this work before?
Don't know, this is a new device
If yes, where did it work?
No response
Attach Driver Logfile
See attached Bug from the following Home Assistant Issue: https://github.com/home-assistant/core/issues/48452
If more are required other than this already filed issue, I can gather if needed. First time filing, so I can definitely gather if required.

Please make a driver log of a re-interview, loglevel debug and attach it here as a file (drag & drop into the text field).

Attaching zwave_js.log Driver log re-interview as loglevel debug
zwave_js.log

Is there any more information required from me?

Sorry, I just missed the ping. From that driver log it looks like the fan mode and fan state are queried and values for those are created/exposed. Given that the HA issue is already 2 years old, I think it's worth taking another look at the HA side of this.
@raman325 @marcelveldt

I'm not sure that's the same problem. According to the interview above, the device has 2 endpoints in addition to the root, all of which are General Thermostat V2. That device class only has mandatory support for Thermostat Mode and Thermostat Setpoint.
The 2 endpoints have identical capabilities
2023-07-17T15:26:24.923Z CNTRLR « [Node 003] received response for device endpoints:
                                  endpoint count (individual): 2
                                  count is dynamic:            false
                                  identical capabilities:      true

and only support these two non-mandatory CCs:
supported CCs:
· Multilevel Sensor
· Association

Only the root device has support for the fan CCs:
2023-07-17T15:26:23.473Z CNTRLR « [Node 003] node info received
supported CCs:
· Basic
· Clock
· Indicator
· Manufacturer Specific
· Multilevel Sensor
· Thermostat Mode
· Thermostat Operating State
· Thermostat Fan Mode
· Thermostat Fan State
· Thermostat Setpoint
· Version
· Configuration
· Battery
· Association
· Multi Channel

Therefore the fan stuff belongs on the root endpoint and isn't mapped despite the compat flag. Maybe we need to force-remove all thermostat related CCs from the endpoints and just keep the ones on the root? Seems like that functionality is entirely duplicated anyways.

Adding my comment from Discord here for visibility:

discovery is triggered by the presence of certain values, in this case a thermostat mode CC value (https://github.com/home-assistant/core/blob/dev/homeassistant/components/zwave_js/discovery.py#L641-L650), which in turns triggers entity creation. During climate entity creation, we look for all of the other values that provide the additional  capabilities (https://github.com/home-assistant/core/blob/dev/homeassistant/components/zwave_js/climate.py#L143-L193). Typically we check for additional values on the same endpoint as the discovered value, but I also had a CT101 and ran into a similar issue where values that needed to be related were on different endpoints, so we updated the climate platform to search for values on other endpoints if it can't find it on the same endpoint as the discovered value (https://github.com/home-assistant/core/blob/dev/homeassistant/components/zwave_js/entity.py#L284-L298).

The discovery logic does not have any intelligence between discovered values, so the two climate entities get created because the two thermostat mode values are found from each of the non root endpoints. But both should have fan mode support even if the value exists on the root endpoint because of the logic to check other endpoints

@blacktirion can you please restate what the issue is that you are experiencing? I have a hard time believing your issue is exactly the same as what was reported in that issue because we made modifications to account for this scenario (per above)

Here is my entity state, from the page on the device integration page.
Additionally, here's the entity itself.

Notice that I DO have fan control here, but as I've seen on other Zwave thermostats, this should also have a fan entity, should it not?
Lastly, I noticed that the active mode reported on the thermostat does not always match the current mode that is active. For example, it will show "Cooling" when it's Idle, or "Idle" when it is cooling.
Another example of this dual entity behavior happens on my brother's house. He is also running the CT101, same firmware level. However, he's on the Aeotec Gen5 Zwave stick, where as I am on a Zooz 800 LR stick.
I hope this explains more about what I'm seeing. I can post more if I need.
The fan entity missing/being disabled does not really bother me, so much as the dual climate entities as well as the active mode not matching.

That is what should be the fan control, but it is disabled by the integration by default. Enabling it will bring it to active, but when you attempt to perform an action, it says "failed to call service fan/turn_on connection lost".
Since the fan is controllable by the climate entity, instead of fan entity, I will be fine with that. Additionally, either of the climate entities seem to control the unit, so I am OK with disabling it, if that is the recommendation. I wanted to mostly open this issue to make sure other people reading down the line had some more information. I was hoping the issue where the active state of the unit not syncing was related to the dual entity presentation, but if it is not, it does not seem like much I can do.
If the solution is to control the fan state via the climate entity + disable the second entity, I will accept that. I figured it should have been reported down stream from the original issue on the other post and it doesn't seem like that OP ever got around to it.
Thanks for your time @kpine.

Are you waiting long enough for that? If so, please provide HA logs here, or feel free to create a new issue in the HA project. There shouldn't be any problems using the entity.

Yup, it took about 30-60 seconds to become active, and it "lit up" but clicking those buttons did nothing. I'll open a separate case on the HA project if it becomes an issue.

If you want to debug this problem further, I think you'll need to enable driver logs and try to observe whether changes to the thermostat operating state is being communicated by the device.

Polling the device by using the zwave_js.refresh_value service with the refresh_all_values attribute did seem to synchronize it. This itself might be an HA issue as well.

Also check the group associations and make sure the Lifeline group is assigned to the controller, but if were not you'd get no events at all. Or maybe only the root endpoint gets the events, which would be a problem with the device configuration.

This is a bit over my head :) I'll see if I can figure it out. I assume that since it IS getting data back via a manual poll, that it is functioning properly, but since my previous venture into Zwave was with SmartThings, I was using a custom driver, and I don't recall exactly how often it refreshed the state.
I'm not enough of a z-wave expert to inform anything, so I'll just do what the experts recommend :)

Polling the device by using the zwave_js.refresh_value service with the refresh_all_values attribute did seem to synchronize it. This itself might be an HA issue as well.

To confirm this, check the logs. Specifically, open the live log window, switch to debug mode, and then attempt to switch your thermostat to cooling/idle and check the logs to see if it reflects the change in operating mode. As @kpine mentioned, if you don't see it in the logs, that means HA can't see it and it is either a device or a driver problem. My bet is on the device because the driver (and the HA integration) handles these value updates fine for other devices that use the same command class.

This is a bit over my head :) I'll see if I can figure it out. I assume that since it IS getting data back via a manual poll, that it is functioning properly, but since my previous venture into Zwave was with SmartThings, I was using a custom driver, and I don't recall exactly how often it refreshed the state.

Many Z-Wave controllers (SmartThings included) implement automatic polling to bypass issues like this. zwave-js has opted not to do that automatically and to give control to the user on applying any polling that is needed. This is better for battery and performance, but it means that some devices will have stale state until you call the refresh service, which causes the driver to poll the device for the latest state information.

I have these devices and they are a PITA.  The only reliable (timely) value is the air temperature (validated with a zniffer). I have a rule to 1) poll the Opstate (66) when Air=Setpoint and Opstate (running (1 or 2) to get the Opstate to zero and 2) when Air > Setpoint by the (cooling) hysteresis (112-0-7) and Opstate =0 to get the Opstate to 2.  I'd say it triggers the polls about half the time.
I'm not a HA user, so don't know how to translate all that to your system

@apella12 do you know if the thermostat-related functionality on the additional endpoints is needed at all? Or do they expose everything but the additional sensors on the root endpoint 0?
If the latter is the case, we could remove all non-root endpoint functionality, (maybe except the multilevel sensor on endpoint 2), similar to what we did on the CT32.

I do not have complete understanding, but the endpoint quirks (as opposed to the reporting quirks) are related to the humidity reading.  The humidity is on endpoint 2. Further, at least for the OH binding it comes across in a non-standard way (multiInstance but uses the multiSensor format).

I have used this unmerged PR https://github.com/openhab/org.openhab.binding.zwave/pull/1344/files to get the humidity reading for my devices locally.  In my testing of Zwave-js-ui there has been no problem with humidity reporting as it seems to convert the frame to multisensor.
AFAIK for all the non-humidity items are only root or endpoint 1. From my zwave-js-ui/mqtt it looks like CC 64 and 67 are on on EP 1, but the duplication of those CC's on EP 2 are not used).
I hope that helps

I have a PR up that should fix this issue. Would be good if someone with the device could verify it works though.
The file: https://raw.githubusercontent.com/zwave-js/node-zwave-js/f5b81cfd6ec2c1de053565429498620f4b424853/packages/config/config/devices/0x0098/ct101.json
How to test: https://zwave-js.github.io/zwave-js-ui/#/device-support/custom-device-files

two questions before I embark on this adventure with a working installation.

Currently I do not see EP 0 on the proposed EP1 and EP2 removals.  Will that appear on rediscovery?

Can I get back to what I have now by deleting the file in the config folder?

yes and yes (2. needs another re-interview then)

Ok seems to work fine (for about an hour anyway).  Note that Basic CC still has the two EPs.  Not sure if it is used for anything.  After reinterview and MQTT clean-up

Basic CC still has the two EPs. Not sure if it is used for anything

I wasn't sure either. The manual doesn't mention it aside from it being supported. Guess I can remove that too.

FYI- I looked a bit about this "issue" and it is probably obvious to you, but I'm not using the HA preformatted json, instead subscribing to the relevant messages, regardless of EP, so never had the "issue" described. With the PR, I just redirected my subscriptions to EP 0, so not a test of the HA json.


Unable to run the .jar in macOS

Hi,
I tried to run the demo but it is not working on macOS 10.15.7
 java -jar recast-demo-1.2.2-SNAPSHOT.jar                                                                                20:32:25
Exception in thread "main" java.lang.ExceptionInInitializerError
	at org.lwjgl.glfw.GLFW.glfwCreateWindow(GLFW.java:1831)
	at org.recast4j.demo.RecastDemo.start(RecastDemo.java:220)
	at org.recast4j.demo.RecastDemo.main(RecastDemo.java:593)
Caused by: java.lang.IllegalStateException: GLFW windows may only be created on the main thread and that thread must be the first thread in the process. Please run the JVM with -XstartOnFirstThread. For offscreen rendering, make sure another window toolkit (e.g. AWT or JavaFX) is initialized before GLFW.
	at org.lwjgl.glfw.EventLoop$OffScreen.<clinit>(EventLoop.java:39)
	... 3 more

^ The above seems to be solved adding -XstartOnFirstThread
And then:
user@machine:/Users/user/Desktop/recast4j-parent-1.2.5/recast-demo/target: java -XstartOnFirstThread -jar recast-demo-1.2.2-SNAPSHOT.jar                                                                                20:32:34
20:36:06.321 [main] DEBUG org.recast4j.demo.RecastDemo - Intel Inc.
20:36:06.323 [main] DEBUG org.recast4j.demo.RecastDemo - 2.1 INTEL-14.7.8
20:36:06.323 [main] DEBUG org.recast4j.demo.RecastDemo - Intel(R) Iris(TM) Plus Graphics 655
20:36:06.323 [main] DEBUG org.recast4j.demo.RecastDemo - 1.20
Exception in thread "main" java.lang.IllegalStateException
	at org.recast4j.demo.ui.NuklearGL.<init>(NuklearGL.java:184)
	at org.recast4j.demo.ui.NuklearUI.<init>(NuklearUI.java:89)
	at org.recast4j.demo.RecastDemo.start(RecastDemo.java:331)
	at org.recast4j.demo.RecastDemo.main(RecastDemo.java:593)

Which is throwing at:
if (glGetShaderi(vert_shdr, GL_COMPILE_STATUS) != GL_TRUE) {
Do you know why?
PS: It never runs on a windows Virtualbox Windows 10 machine which shows as the graphic device:
23:32:14.486 [main] DEBUG org.recast4j.demo.RecastDemo - VMware, Inc.
23:32:14.486 [main] DEBUG org.recast4j.demo.RecastDemo - 2.1 Mesa mesa-17.3.9
23:32:14.486 [main] DEBUG org.recast4j.demo.RecastDemo - SVGA3D; build: RELEASE;
23:32:14.486 [main] DEBUG org.recast4j.demo.RecastDemo - 1.20

And then the same error for NuklearGL.java:184

Hi,
The following entry in the logs contains the version of the GLSL:
23:32:14.486 [main] DEBUG org.recast4j.demo.RecastDemo - 1.20

The shaders used in RecastDemo require GLSL 1.5 or higher. The code tries to ensure the proper version of the GLSL by settings the following:
        glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
        glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 2);

but apparently it is not respected on your device.

Closing inactive issue


OnEvent cast incorrect event Object

Thanks for your great library.I am using eventbus 2.4.0 and have this problem. I declared it in stackoverflow, and I hope you take a look and help me soon
http://stackoverflow.com/questions/40859220/onevent-cast-incorrect-event-object-using-eventbus
Thanks !

Ok, my mistake.
I have onEvent in service and It alreadly steal my XYZEvent. (bow)


fix: Additive scene can respawn objects safely

:tada: This PR is included in version 5.1.7 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Add hidden nodes to the API reference

There are some nodes with nice docstrings, but do not show up in the API reference. I added them to the proper subsections.
There are two more nodes I did not add:

DaisyRequestBlocks (not sure in which API subsection that should go)
ShiftAugment (missing docstring)

Nice!
Not sure about the N5Write docs though. The n5 specific nodes have been removed in v1.2-dev branch (they are redundant since the Zarr nodes can handle n5. This also allows us to drop the z5py dependency).
Also I'm not sure how to see the docs for other gunpowder versions other than 1.1, so maybe we want to include these in the next patch (patch-1.1.6) for master. Could you switch the pull request target?
I would say the DaisyRequestBlocks docs should go in the Training/Prediction group since I think it is mostly used for large scale prediction.

Made a new PR #107 with your suggestions.


v5: Move from JS input button group toggling to all CSS

Takes #25185 and starts work on the docs and JS to drop code that was previously handling active states.
/cc @ysds

[x] make sure the CSS changes are OK
[x] make sure the JS changes are OK, tests pass, visual tests are also OK
[ ] Check if we need to revisit bundlesize limits
[x] Finally, make sure all functionality we had before is still there, especially accessibility-wise /CC @patrickhlauke

Superseded by #28463.

The CSS LGTM👍  IMO, it is better to move the documents to the button group page.

Do not merge yet, @mdo, until 1) we make sure we don't lose any functionality, and 2) JS and its tests/including visual are fine.

And who's going to handle aria pressed?
On Tue, Mar 12, 2019, 22:48 Mark Otto<EMAIL_ADDRESS>wrote:

@mdo commented on this pull request.
In js/src/button.js
https://github.com/twbs/bootstrap/pull/28463#discussion_r264876819:

if (triggerChangeEvent) {

 this._element.classList.toggle(ClassName.ACTIVE)

}

this._element.classList.toggle(ClassName.ACTIVE)

Yeah, we might be able to nix all the JS—can anyone confirm that? Only
reason I could see us leaving some JS for a non-input implementation is
quickly toggling active on/off, but I feel like most folks could do that
themselves with very little code and their own syntax.
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub
https://github.com/twbs/bootstrap/pull/28463#discussion_r264876819, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAVVtVsLpVRuedaqHbVJKgo5IdqJ9DvSks5vWBK3gaJpZM4bp4Wd
.

It will be difficult to solve the #25122 and #27600 issues as long as we use <input type="checkbox"> and <input type="radio"> to handle the aria-pressed.
According to @scottaohara's explanation, there is a radio button group implementation pattern without aria-pressed.
Also, his comment at the end of the article suggests a grouping of <button>s. It is probably something like the WAI-ARIA practice.

Alternatively, a grouping of button elements that are aware of each other's state, and utilize aria-pressed="true/false" to indicate their own state, may be more appropriate and understandable to users.

So in terms of Pure CSS and accessibility, we'll need decide to which one:

A. Implement by Pure CSS (<input>) without aria-pressed
B. Implement with <button> using JavaScript to control the aria attributes

Also, his comment at the end of the article suggests a grouping of <button>s. It is probably something like the WAI-ARIA practice.

that could be one method but not necessarily the only method, in that a grouping could be just a group of buttons, rather than a toolbar. More importantly though, each would provide different user expectations to the manner in which they were keyboard accessible, as would checkboxes and radios.
As I'm not deeply familiar with what it is you're trying to solve for here, and honestly i'm a bit confused reading through just this thread with the number of different elements being referenced, I'd definitely defer to @patrickhlauke's guidance.

coming in late on this...so: skimming over the changes, it looks like we're going for clean CSS version here? just layering over texisting <input> elements? in that case, if those inputs are there and focusable (and not suppressed), there won't be need for any JS or aria or anything, unless I'm missing something.

Yeah, the idea is to use only CSS for buttons. If we don't need to handle aria, I can update the branch dropping more stuff.

ah, hang on...i think the confusion here is because there's two separate things going on...there's the "checkboxes and radio buttons that look like a toolbar/button strip" https://getbootstrap.com/docs/4.3/components/buttons/#checkbox-and-radio-buttons (which is what wouldn't need any JS nor aria-pressed or anything, and can be solved purely with CSS), and then there's the "set of buttons that acts as mutually exclusive toggles" https://getbootstrap.com/docs/4.3/components/button-group/ (which DO need aria-pressed to denote their current toggle state)
I'll be honest, i find these two things related, but confusing. Most confusing that the checkbox/radio ones are under the "Buttons" documentation - should they perhaps be under their own component topic for checkbox/radio button group?

Hmm then I'm also lost. Not sure how to proceed. Maybe we should rename button to something else and only keep what we need in JS?

incidentally, am i missing something, or are the groups in https://getbootstrap.com/docs/4.3/components/button-group/ not actually doing anything fancy JS wise at the moment? are they supposed to have aria-pressed and act like sets of radio buttons or not? the "button plugin" mention on there simply points back to the buttons page...so seems we're making some kind of circular reference here.
worth taking a step back and deciding overall what we want. certainly the easiest part is:

we can style checkboxes and radio buttons with CSS to appear button-like; behind the scenes, it's still just an <input> and a , and uses CSS - no need for JS/ARIA. this is probably a special case of form element styling, not necessarily/logically something that should fall under "button" component documentation?
for <button> elements to act as on/off type toggles, they need JS and aria-pressed handling

Now, button groups are like an extended version of the single button that acts as a toggle. A group can be mutually exclusive (acting like a set of radio buttons) or not (like a toolbar in a wysiwyg tool, where each on/off toggle is independent - set bold, or italic, or underline, independently. Those, again, need JS. and for the mutually exclusive capability, they need JS beyond just the pure toggle JS functionality, as it needs to not only toggle aria-pressed on what the user selected, but also unset it on any others in the same group.
Conceptually then, the single toggle button plugin thing, and button groups, probably should go into their own component documentation page together, as they're thematically related (groups build on the single toggle). Whereas the implementation using radio/checkbox is just a differently styled set of form controls?

Answering some questions here...

Buttons in button groups are not intended to include JS functionality. Button groups are a component for controlling layout of buttons. None of these buttons need JS from us—anyone can write their own JS to toggle the .active class.
My proposal earlier is to drop our button JS plugin and use only <input>s and  combos.
Given that, and per @ysds's feedback, we can then move the input/label examples to the button group docs page.

If all that's true and agreeable, it sounds like we don't need any JS here or any aria attributes. If that doesn't sound right, let's reframe the conversation around "how do we remove all this JS?" and answer any questions that come from that.

@mdo thanks for clarifying. so yes, basically removing the "Add on optional JavaScript radio and checkbox style behavior with our buttons plugin." sentence, and just making button groups a visual style? And just having actual radio/checkbox inputs to act as such, without the button plugin? In that case yes, no need anymore for the JS nor ARIA. and it would remove the confusion.
Would be good to provide some clearer examples for button groups, as currently some of them make it still look like they're supposed to be some mutually exclusive radios. But that can be revisitied in a separate PR.

related, if we want to at least fix current keyboard issue in v4 https://github.com/twbs/bootstrap/pull/28565

one thing i did notice: when using real <button> (for toggles and elsewhere), IE11 does the "content of the button moves down and right a few pixels when pressed" dance. surprised this wasn't normalised away...was it not before?

https://deploy-preview-28463--twbs-bootstrap.netlify.com/docs/4.3/components/buttons/#checkbox-and-radio-buttons work and look as they should
https://deploy-preview-28463--twbs-bootstrap.netlify.com/docs/4.3/components/buttons/#button-plugin works great too
and both automated and visual tests are all ok
so, at this stage - barring any fundamental changes or concerns that maybe i've gone too far in slashing things apart - this seems functionally good from my point of view...

I'll see if I can fix up the old-school button in IE11 issue with the text dropping down when pressed/clicked...after that, this may be ready to properly review

I'll see if I can fix up the old-school button in IE11 issue with the text dropping down when pressed/clicked...after that, this may be ready to properly review

doesn't seem to be any clean fix (some stuff i've seen involves wrapping all the content of the button in a  and applying some CSS translate stuff, or setting position:relative ... but in any case, stuff that would need extra markup that I wouldn't want to require from authors just so that the IE11 fix works). as we've not normalized/reset this in the past, i think then that that can stay as is, and this PR is ready for review. /cc @twbs/css-review @twbs/js-review

just skimming over the previous early conversation here, there was the idea of moving the checkbox/radio stuff to button group rather than leaving them in the button docs page. i see the point to an extent, but i think more logically the now amended checkbox/radio stuff goes well in button docs page, as it shows how you can make checkboxes/radio buttons that look like buttons. the fact that they're in a button group is incidental

actually, few more tiny tweaks that make this even more explicit...

"tiny" tweaks ended up simplifying the required structure for the new button-like radio/checkbox buttons (now just needs the input and label adjacent, no wrapper around it), more clearly showing the difference between having a series of these, and having them in a seamless-looking button group. docs now show this nicely/clearly as well

now just needs the input and label adjacent, no wrapper around it

Oh, I intentionally wrapped those in .btn-group for margin control. https://codepen.io/anon/pen/QRXYgm Please see the left edge (-1px margin).
And it also available of labeling without id/for.

Oh, I intentionally wrapped those in .btn-group for margin control. https://codepen.io/anon/pen/QRXYgm Please see the left edge (-1px margin).

Can that be fixed in the current approach?

And it also available of labeling without id/for.

Example?

e.g.

  <input type="checkbox" class="btn-group-input">
  Single toggle

Can that be fixed in the current approach?

The current negative margins and border radius control are very complex:

Current negative margins and border radius control are very complex.
It is not easy to check that the current approach has no problem in various markup by various users. The .btn-group wrappers will be a safe approach for that.

then i suggest the classnames get changed. it's not a button group, it's a custom button wrapper. i'll have a think

Current negative margins and border radius control are very complex.

would need some testing, but I'm sure something like
.btn-group .btn-input + .btn:first-of-type { margin-left: $btn-border-width }

of similar could do it.
Perhaps it would be good offering this way (using just the input adjacent label) as an option, and also providing a new class .btn-input-wrapper ? I just feel .btn-group is misleading, as you're not wrapping it around a group, but around a single checkbox/radio <input> and its related label text element (either a  or a  or whatever, like in your example. Thoughts?

@ysds @mdo see what you think of this approach...a bit more involved than i originally anticipated, but essentially adds a .btn-input-wrapper (instead of piggy-backing inappropriately on .btn-group). expanded the docs to show various examples, both with explicit (for/id) and implicit  elements. also tweaks the toggle example slightly to show both pre-toggled and regular toggle.
see https://deploy-preview-28463--twbs-bootstrap.netlify.com/docs/4.3/components/buttons/#checkboxes-and-radio-buttons / https://deploy-preview-28463--twbs-bootstrap.netlify.com/docs/4.3/components/buttons/#toggle-states / https://deploy-preview-28463--twbs-bootstrap.netlify.com/docs/4.3/components/button-group/#checkbox-and-radio-button-groups and the added radio button example for vertical variant https://deploy-preview-28463--twbs-bootstrap.netlify.com/docs/4.3/components/button-group/#vertical-variation

as mentioned, would have loved to use the outline variants for these examples (particularly for the button group examples), but it appears currently we lack visual differentiation between hover and active on those (by design it seems), which makes them horribly confusing. will look at addressing that in a separate PR, after which we can revisit the examples here, but that shouldn't hold up review of this one.

late night realisation ... these radio/checkbox style buttons lack styles for disabled inputs. putting this back in the oven for a bit longer, should find some time tomorrow to add those as well.

ok...the checkbox/radio button buttons now have proper handling for disabled input inside, and i fixed up a few stragglers like the box shadow not being correct. lastly, added extensive examples to both the buttons and button group docs page to show variations/uses. @mdo @ysds thoughts?

Trying to figure out the HTML and CSS here... I'd like to avoid adding tons of new selectors to account for this. Might be impossible, but I'm not giving up just yet. 😬 Starting a Codepen to capture some things with a modified version of our compiled CSS: https://codepen.io/emdeoh/pen/agZGqa?editors=1100.

Trying to figure out the HTML and CSS here... I'd like to avoid adding tons of new selectors to account for this. Might be impossible, but I'm not giving up just yet. 😬 Starting a Codepen to capture some things with a modified version of our compiled CSS: https://codepen.io/emdeoh/pen/agZGqa?editors=1100.

fundamentally, it's confusing to just piggy-back onto btn-group for what is not an actual button group, but rather a button-like input. i'd take a few extra selectors for clarity over a bastardisation of btn-group, particularly since these constructs aren't just button groups, but live conceptually under the button component itself (but then CAN be turned into an actual group).

i.e. look here https://deploy-preview-28463--twbs-bootstrap.netlify.com/docs/4.3/components/buttons/#checkboxes-and-radio-buttons - these aren't "button groups" and reusing that class just to encapsulate the button-like "input followed by label" or "label wrapped around an input and some text acting as the visible label text" would be confusing and misleading, i'd say

fundamentally, it's confusing to just piggy-back onto btn-group for what is not an actual button group, but rather a button-like input.

The current inline dropdown's markup is:

  <button type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown" ...>
    Action
  </button>

     ...

(Color variant snippets in https://getbootstrap.com/docs/4.3/components/dropdowns/#single-button)
What do you think about this? That is not an actual button group.
(I'm still supporting using .btn-group for dropdowns and toggle buttons)

not a fan of the use for dropdowns either, but can more easily rationalise that in that it groups a button and a dropdown together. less so when it's grouping only one thing (and a hidden radio/checkbox)

incidentally, the .btn-input-wrapper class i proposed here could be renamed to something more generic like .btn-wrapper, and applying that to those dropdowns would have the same effect as well.
or perhaps taking a step back, renaming .btn-group to .btn-wrapper, and patching in any extra styles/selectors created here for .btn-input-wrapper and applying them to that, could also work. gives the class itself a more generic name, and it's then applied in different contexts where it "wraps" various things relating to a button-like look.

I don't stick to the name of the .btn-group. I just don't want to increase the complexity of selectors and CSS. The changes to the _button-group.scss are very complex for now.
Looking for a wrapper class name (alt .btn-group) that everyone is convinced might be a great solution.

btw note that even if we just reused .btn-group it wouldn't remove the need for all of the new selectors (like .btn-input), as they cover scenarios that weren't covered before just through .btn-group

@mdo let me know if you want me to have a crack at renaming btn-group (and what your preference would be, if any) and re-simplifying some of the css selectors?

btw note that even if we just reused .btn-group it wouldn't remove the need for all of the new selectors (like .btn-input)

Yep, I showed that (just adding one new class) in my original PR #25185.

Hey @twbs/css-review and @twbs/js-review  I removed QUnit and switch to Jasmine, so now your unit tests should go there: https://github.com/twbs/bootstrap/blob/master/js/src/button/button.spec.js
js/tests/unit/button.js have been removed, so if you need any help do not hesitate 😉

@mdo just bumping this to see if it's likely to be used/picked up/worked on further...

so...coming back to this, as i worked my socks off at the time to reorganise stuff, create some more explanations and examples, etc ... what's happening? should this all be closed? is it too far gone to salvage the bits that aren't controversial (since the creation/renaming of the class wasn't to everybody's liking)? /cc @mdo

Who's up to do a proper rebase for this branch? 😇

cursed branch :)

Just discovering this one! Looks interesting but pretty confused with all the things going on here, so if anyone's able to summarize the need, I'd be glad to help.
And if not, this topic might not be clear enough!

in very broad strokes, from what i remember, this change does the following:

kills off the clunky JS-based button groups for checkbox/radio button groups, instead relying purely on using the underlying <input type="radio"> / <input type="checkbox"> ... avoiding a LOT of the extra messing around we have had with these components in the past (all to make them behave like real radios/checkboxes)
renames (currently, though that was then a big point of contention) the button group class
reorders and expands examples to clarify and more clearly distinguish between the styles to make button groups and then the actual dynamic component to handle ARIA-based toggles

If I understood correctly, we have three features that kind of interact with each others:

styling a button group — without any specific behaviour, just to style multiple appended buttons of any kind;
first behaviour: using radios or checkboxes;
second behaviour: using JS and aria-pressed.

And after reading this dicussion carefully, I have a question: the first need for this PR was to remove JS. I can't see anyone in this discussion arguing to keep this JS part (except the fact that it already exists…). Am I wrong?
@patrickhlauke IMHO both behaviours are to be accomplished with inputs.
Is there any reason to keep mentionning the ARIA pattern here? Am I missing something?

ARIA is still needed for toggle buttons (<button aria-pressed="true">). faking them using, say, an <input type="checkbox"> is not ideal/recommended.

not to keep flogging a dead horse, but... @mdo et al, any idea on this whether we want to proceed or not?

@patrickhlauke, I'll have a look in another PR with another approach. So you're ok with dropping the js think with active classes and just rely on the CSS only label-buttons for v5?

yes, the move to CSS only (except for controls/toggles that need aria-pressed) is non-controversial. but this PR also contains reordering/reorganisation of some docs aspects (moving the radio button group stuff, making up new classes for those situations, and lots more specific usage examples). it's that stuff as well that i'm quite keen to get a decision on

Closing for #30650.


update bibtex

Due to the JOSS submission: https://github.com/openjournals/joss-reviews/issues/5510

Thanks @jbytecode for these corrections.  Just wondering what is the special meaning of {} in these cases?

@miniufo - it is about capitalizing the programming names, e.g., python -> Python

I only changed markdown and bibtex files so the error should not be directly related to the latest changes. your review is completed, so you can correct the error before pumping a new release but not now.

If you think the problem is about v3.7 of software, you can downgrade the version to get everything fixed


Unable to connect to Chrome - No such file or directory libgbm.so.1

Description
I am receiving the following when running the latest image on macOS v10.14.5.
Command line I used to start the container
docker run --rm --cap-add=SYS_ADMIN --name "lighthouse" -t -v "$(pwd)/lighthouse-reports/:/home/chrome/reports" "femtopixel/google-lighthouse:latest" "http://www.google.com"
Steps to reproduce the issue:

Run the docker run command above
Recieve the below error

Describe the results you received:
ChromeLauncher Waiting for browser....................................................................................................... +503ms   ChromeLauncher:error connect ECONNREFUSED <IP_ADDRESS>:45353 +3ms   ChromeLauncher:error Logging contents of /tmp/lighthouse.io8VYLM/chrome-err.log +0ms   ChromeLauncher:error /usr/bin/chromium-browser: error while loading shared libraries: libgbm.so.1: cannot open shared object file: No such file or directory   ChromeLauncher:error  +1ms Unable to connect to Chrome
Describe the results you expected:
Lighthouse to run successfully. The below was gained by running the following command
docker run --rm --cap-add=SYS_ADMIN --name "lighthouse" -t -v "$(pwd)/lighthouse-reports/:/home/chrome/reports" "femtopixel/google-lighthouse:v5.5.0" "http://www.google.com"
status Generating results... +0ms   Printer html output written to /home/chrome/reports/_2020-03-02_10-49-22.report.html +130ms   CLI Protip: Run lighthouse with --view to immediately open the HTML report in your browser +1ms   ChromeLauncher Killing Chrome instance 21 +1ms
Additional information you deem important (e.g. issue happens only occasionally):
It seemed to be working last week when we were using the latest version. Just began having issues today

Thank you for reporting this. If you find this product useful, please consider donation to help me continue maintain and create great products (  )

Getting this error too,  I've pulled the latest digest from docker:
sha256:801f73049224c761d66e01269bc40758fd87994e7be0663af294ae9d55f81292
and still getting  the error

Thank @dburrows for your support, this is very appreciated!


Review ticket overview

Review ticket guide
Each assignment we will be required to make a ticket review. Most assignments provided will have a hacks section. A Hack is a term for coding, a fun term

short description
code fragments
Screen captures are nice for hacks

Markdown samples markdown cheatsheet
Using markdown form index.md. We are learning markdown.
This text below is something called Markdown. This is a heading, inside of code scaffolding.
Investing in Your Technical Future XXXYYY

This is emphasis

Explore the Computer Science Pathway at Del Norte High School and invest in your technical skills. All Del Norte CompSci classes are designed to provide a real-world development experience. Class time includes tech talks (lectures), peer collaboration, communication with teachers, critical thinking while coding, and creativity in projects. Grading is focused on time invested, participation with peers, and engagement in learning.

Sample of bullets

Introduction to concepts and requirements by the teacher

Project-based learning with teacher support, performing Agile/Scrum development

Coding, frontend, backend, devops, version control and algorithmic thinking

Creativity, research, design, data structures, and utilizing ChatGPT

Performing team work, team communication and collaboration, peer reviews/grading

Focus on tehnical communications through project presentations and student led teaching

Grades are on projects, learnt concepts, and live reviews between student(s) and teacher


robot_publisher.launch tf joint_publisher in ros noetic ign cital

pls help me how to edit robot_publisher.launch tf joint_publisher in ros noetic ign cital

Hi @xzjohy  , please direct questions to https://answers.gazebosim.org/. This issue tracker is for bug reports and feature requests.
And also please use the issue template next time.
See you at Gazebo Answers.


Documentation links are broken

Hi,
doc links are broken
doc 1.2
doc 2.0-M2
can you correct them please

Sorry @AlexanderRay, I'm in the middle of a release that's taking forever due to problems. Will fix.

In the meantime, see doc 1.1.

thanks.
I'm looking for reactive streams in scala.js, and think monix would be a good solution ..

@AlexanderRay fixed.


custom readiness queue misses events

OS & toolchain : both of macOS-10.14-nightly-x86_64-apple-darwin and Ubuntu-16.04.2-nightly-x86_64-unknown-linux-gnu.
I write a demo about async-fs and here is the code.
The problem is, when I execute cargo test -- --nocapture, I can see poll always gets timeout and goes to dead-loop, even when I register custom registration with PollOpt::level()
However, when I reregister it by uncomments this line, it will never miss events.

Custom readiness queue has been removed.


Is there a way to get the private claims from request calls? or a helper?

Look at this, BearerTokenValidator.php#L126-L131,
// Return the request with additional attributes
return $request
    ->withAttribute('oauth_access_token_id', $claims->get('jti'))
    ->withAttribute('oauth_client_id', $this->convertSingleRecordAudToString($claims->get('aud')))
    ->withAttribute('oauth_user_id', $claims->get('sub'))
    ->withAttribute('oauth_scopes', $claims->get('scopes'));

For example, I has company_id on private claims, and the middleware check works correctly, but I want to use the id to make queries with results only from that company,
It would be useful to have a static property where the token is stored, and a helper, so we can get the claims from anywhere
Example:
///
$query->where('company_id', token_private_claim('company_id'))
///

check how I parse the token in the middleware and add that to a helper

Yes, i already did that, but since that code is already there, it could be made available
Would any PR be accepted for that?


[FEATURE]: Bulk download for photos in gallery

Is your feature request related to a problem?
No
Description
Hi !
Thanks for this amazing project!
I was able to setup it in less than 3 days.
I made a small script to disable all keyboard keys (except space) to leave it unattended.
Some users asked me to be able to bulk download photos in gallery
Thanks a lot!
Describe the solution you'd like
Bulk download of photos in gallery
Can be checkboxes and a download button that zip all selected photos.
Describe alternatives you've considered
I used a Nextcloud plugged to the folder of the photobooth project and a cron to update the db.txt file
So that people can bulk download and can drop photos of the event from their phone at the same time.
I used a small router to make an access point with pihole installed on the machine where photobooth was installed to have a local dns for the gallery and the nextcloud
People download either from a "beautiful" name or a QRCode
Additional context
No response

https://github.com/PhotoboothProject/photobooth/pull/208
Nextcloud integration is WIP and should be available on next release.

Hi.
At first: Thank you for your very nice project.
I made a photobooth for the weeding in our family and for the birthdays of our kids.
The responce is allways great !
Is it possible -when you implement the Nextcloud adaptation- to install also an access to PCloud ?
I think PCloud is also a good Cloud-Service...
Best regards

Hey and thanks for your request. I am not going to add more cloud services myself. If someone of the community likes to add it I am glad to review needed changes for it. The Nextcloud integration also is a community contribution.
Best regards
Andi

Hi,
My query is not to add Nextcloud into Photobooth project. It was the alternative I used.
I ask only to allow bulk download in gallery. Please re-read the issue description
Have a good day

This issue went off as a request for Nextcloud integration. However, coming back to the original idea:
Could we support a bulk download? At the moment the only two ways of getting all pictures is through USB Sync or via direct file system access with SSH. Is there anything else I don't know? Thanks!

There was an quite experimental option to download the whole data folder via disk usage page (access via Adminpanel), but I think this got lost while switching to tailwind-css for the admin UI.
For now you could create an own page inside private/ folder of Photobooth to use the endpoint
https://github.com/PhotoboothProject/photobooth/blob/dev/api/diskusage.php

Reopened, maybe something to add in future.

Unstale


add session context and remove old contextvars

Fixes #131; adds sessioncontext, which will help us not have circular imports.

Looks good to me. No changes needed but a couple thoughts I had while reading:

A lot of files' imports have a from mentat.session.. block followed by a from .session.. block. These could be combined but doesn't need to happen here. I'd say remove mentat from imports where possible, if nothing else so our code has fewer tokens.
If a function uses only one context variable, I think it's fine to say stream = SESSION_CONTEXT.get().stream, instead of having two lines. This is of course preference, but I do see it in a couple places here.

I'll add an issue for the imports, because it's definitely true that we need some formatter for standardized imports


[Kaggle Dataset] Adding utility to fetch Dataset Metadata and saving it next to the dataset

The below tasks were performed via this PR:

Adding the script to get metadata using the Kaggle API
Renaming the .csv file, saving the downloaded dataset metadata to the right folder
Adding docs to illustrate how to use the script

TODO: we still need to know how to fetch column metadata from the Dataset for eg. the descriptions added to the various columns of the .csv file in the dataset.

Column field Meta-data json created manually

@manishkr1754 the same thing happened here!

@manishkr1754 we need to extend this branch/PR changes to now push the metadata for the columns data to Kaggle's Dataset, then we will be complete in our cycle.

MetaData with column fields has been uploaded to kaggle Dataset today.

is this merged?


In objscene example, the texture read 180 degrees rotated

Hi @sketchbooks99!
Have you seen one bug in objscene example-code, the texture (some textures actually) is in 180 degrees rotated than the original position it should be.
For example, let's see the San_Miguel scene, the texture is in opposite directions. Also, in the second figure, that made the whole arch dark pixel (lack of texture).

Okay, now I see the problem. This example only reading the diffuse shaders, so specular texture is un-read.

@bipul-mohanto
Thank you for raising the issue.
You can read textures other than diffuse by specifying the name.
Please refer to the following implementation.

P.S. The models, e.g., the sponza scene you have used in your example have warning messages like this:
[Warning] TinyObjReader: Both `d` and `Tr` parameters defined for "leaf". Use the value of `d` for dissolve (line 8 in .mtl.)
Both `d` and `Tr` parameters defined for "vase_round". Use the value of `d` for dissolve (line 24 in .mtl.)
Both `d` and `Tr` parameters defined for "Material__57". Use the value of `d` for dissolve (line 39 in .mtl.)
Both `d` and `Tr` parameters defined for "Material__298". Use the value of `d` for dissolve (line 54 in .mtl.)
Both `d` and `Tr` parameters defined for "bricks". Use the value of `d` for dissolve (line 70 in .mtl.)
Both `d` and `Tr` parameters defined for "arch". Use the value of `d` for dissolve (line 86 in .mtl.)
Both `d` and `Tr` parameters defined for "ceiling". Use the value of `d` for dissolve (line 100 in .mtl.)
Both `d` and `Tr` parameters defined for "column_a". Use the value of `d` for dissolve (line 114 in .mtl.)
Both `d` and `Tr` parameters defined for "floor". Use the value of `d` for dissolve (line 129 in .mtl.)
Both `d` and `Tr` parameters defined for "column_c". Use the value of `d` for dissolve (line 144 in .mtl.)
Both `d` and `Tr` parameters defined for "details". Use the value of `d` for dissolve (line 159 in .mtl.)
Both `d` and `Tr` parameters defined for "column_b". Use the value of `d` for dissolve (line 173 in .mtl.)
Both `d` and `Tr` parameters defined for "Material__47". Use the value of `d` for dissolve (line 188 in .mtl.)
Both `d` and `Tr` parameters defined for "flagpole". Use the value of `d` for dissolve (line 200 in .mtl.)
Both `d` and `Tr` parameters defined for "fabric_e". Use the value of `d` for dissolve (line 214 in .mtl.)
Both `d` and `Tr` parameters defined for "fabric_d". Use the value of `d` for dissolve (line 228 in .mtl.)
Both `d` and `Tr` parameters defined for "fabric_a". Use the value of `d` for dissolve (line 242 in .mtl.)
Both `d` and `Tr` parameters defined for "fabric_g". Use the value of `d` for dissolve (line 256 in .mtl.)
Both `d` and `Tr` parameters defined for "fabric_c". Use the value of `d` for dissolve (line 270 in .mtl.)
Both `d` and `Tr` parameters defined for "fabric_f". Use the value of `d` for dissolve (line 284 in .mtl.)
Both `d` and `Tr` parameters defined for "chain". Use the value of `d` for dissolve (line 298 in .mtl.)
Both `d` and `Tr` parameters defined for "vase_hanging". Use the value of `d` for dissolve (line 314 in .mtl.)
Both `d` and `Tr` parameters defined for "vase". Use the value of `d` for dissolve (line 329 in .mtl.)
Both `d` and `Tr` parameters defined for "Material__25". Use the value of `d` for dissolve (line 344 in .mtl.)
Both `d` and `Tr` parameters defined for "roof". Use the value of `d` for dissolve (line 359 in .mtl.)

Loading JPG file 'C:/Users/local-admin/Desktop/PRayGround\resources/model/sponza\SP_LUK.JPG' ...
Loading JPG file 'C:/Users/local-admin/Desktop/PRayGround\resources/model/sponza\00_SKAP.JPG' ...
Loading JPG file 'C:/Users/local-admin/Desktop/PRayGround\resources/model/sponza\01_STUB.JPG' ...
Loading JPG file 'C:/Users/local-admin/Desktop/PRayGround\resources/model/sponza\01_STUB.JPG' ...
Loading JPG file 'C:/Users/local-admin/Desktop/PRayGround\resources/model/sponza\01_S_BA.JPG' ...
Loading JPG file 'C:/Users/local-admin/Desktop/PRayGround\resources/model/sponza\01_ST_KP.JPG' ...
Loading JPG file 'C:/Users/local-admin/Desktop/PRayGround\resources/model/sponza\01_STUB.JPG' ...
Loading JPG file 'C:/Users/local-admin/Desktop/PRayGround\resources/model/sponza\X01_ST.JPG' ...
Loading JPG file 'C:/Users/local-admin/Desktop/PRayGround\resources/model/sponza\00_SKAP.JPG' ...
Loading JPG file 'C:/Users/local-admin/Desktop/PRayGround\resources/model/sponza\KAMEN-stup.JPG' ...
Loading JPG file 'C:/Users/local-admin/Desktop/PRayGround\resources/model/sponza\RELJEF.JPG' ...
Loading JPG file 'C:/Users/local-admin/Desktop/PRayGround\resources/model/sponza\SP_LUK.JPG' ...
Loading JPG file 'C:/Users/local-admin/Desktop/PRayGround\resources/model/sponza\KAMEN.JPG' ...
Loading JPG file 'C:/Users/local-admin/Desktop/PRayGround\resources/model/sponza\01_S_BA.JPG' ...
Loading JPG file 'C:/Users/local-admin/Desktop/PRayGround\resources/model/sponza\KAMEN.JPG' ...
Loading JPG file 'C:/Users/local-admin/Desktop/PRayGround\resources/model/sponza\PROZOR1.JPG' ...
Loading JPG file 'C:/Users/local-admin/Desktop/PRayGround\resources/model/sponza\VRATA_KR.JPG' ...
Loading JPG file 'C:/Users/local-admin/Desktop/PRayGround\resources/model/sponza\KAMEN.JPG' ...
Loading JPG file 'C:/Users/local-admin/Desktop/PRayGround\resources/model/sponza\VRATA_KO.JPG'

@bipul-mohanto
I haven't verified Crytek Sponza model on PRayGround. So, I don't know why the issue occurs.
I'll check it later, but I may not able to do it right now because I'm a little busy with the main job.

Thanks again. I will also check it soon, if I have found the probable solution. I am closing the issue for now.


Dashboard occasionally fails to add ETH

MetaMask - RPC Error: Error: [ethjs-rpc] rpc error with payload {"id":1501589002953,"jsonrpc":"2.0","params":["0xf891820182843b9aca0082ab7f9435a29348640e8e65568d7dccfaf8f7a8146580e6883782dace9d900000a4f340fa010000000000000000000000005c13fa4a1f056b723cea6bbec1b0d9c8eb00c3b629a0d879531632ad30380accedbf090fc8fb0e53c2f70a0be0e58f4f67abd1376447a06a560b13bf4e744edb9b4cc88d000973027a175a22240ee90d2faf68da990484"],"method":"eth_sendRawTransaction"} [object Object] Object

If this is expected behavior - more user-friendly message with some explanation would be appreciated

See also metamask/metamask-extension#8975 and metamask/metamask-extension#8483.

I was able to reproduce this scenario. I tested from different perspectives (owner / grantee / operator / authorizer) and everything works. I think this may be a problem with MetaMask. Definitely need more details. If you can post additional info, that would be great. Thanks!

As I posted above I was not able to recreate the described bug. If the bug still occurs with current dashboard feel free to reopen an issue.


Support for video

Hello @QiuYannnn, this is amazing!
If video could be added, it would be amazing. I would proposed to sample a few images and/or run whisper to extract the audio content. With both, one could infer what a video is all about too.
Ideally this project would support any file and would iteratively build its own tools needed to get the job done and would even submit a PR on its own if it works well.
Also it makes me think of https://github.com/OpenInterpreter/aifs
Keep up the good work and thank you for sharing 🙏

Hi @mysticaltech,
Thank you so much for your valuable feedback and suggestions! While I am still in the early stages of development, supporting a wider range of file formats is definitely part of our roadmap.
As I continue with future iterations, I will work to incorporate these features to make the tool even more user-friendly and efficient.  I am excited to evolve the project with these improvements in mind.
Thank you again for sharing your thoughts and for your encouragement! 🙏

Thank you @QiuYannnn


Make loading pre-trained TAN a one-liner

Right now we have to load in:

The TAN checkpoint
Config file
TFs
dims

(4) should be merged into (2); (3) should also be merged into (2) (see e.g. scuba repo); and then everything should be put into one folder so everything can be auto-loaded with one path

Just to clarify from our discussion: you should be able to pass in either a TAN object or a string as the first argument to TANDAImageDataGenerator


[BUGFIX] Ingress configuration values and schema

Description
This PR fixes https://github.com/perses/helm-charts/issues/38 and as a bonus removes kubernetes version checks in ingress manifest template (versions being checked against are end-of-life since years ago)
Checklist

[x] Pull request has a descriptive title and context useful to a reviewer.
[x] Pull request title follows the [<catalog_entry>] <commit message> naming convention using one of the following catalog_entry values: FEATURE, ENHANCEMENT, BUGFIX, BREAKINGCHANGE, IGNORE.
[X] All commits have DCO signoffs.

Hey @kryachkov thanks for working on that, just left some questions.

I guess we are good to merge right @nicolastakashi  ?

I guess we are good to merge right @nicolastakashi ?

Yes, sorry!
I though I did yesterday 😅
Thanks for your PR @kryachkov


AssertionError: Feature file for image 16395 does not exist.

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Traceback (most recent call last):
File "train_uniter.py", line 181, in
config['test_loader'].append(test_data_loader(os.path.join(config['data_path'], test_file)))
File "train_uniter.py", line 176, in test_data_loader
confidence_threshold=config['object_conf_thresh'])
File "/content/drive/My Drive/meme_challenge/data/dataset_template.py", line 66, in init
self._prepare_data_list()
File "/content/drive/My Drive/meme_challenge/data/meme_dataset.py", line 38, in _prepare_data_list
self._load_dataset()
File "/content/drive/My Drive/meme_challenge/data/meme_dataset.py", line 71, in _load_dataset
assert os.path.isfile(feature_file_name), "Feature file for image {} does not exist.".format(img_id)
AssertionError: Feature file for image 16395 does not exist.
This is showing me the feature file does not exist for image 16395  but i have feature file with 16395.npy and 16395_info.npy in own_feature.
can you please help me out

I have the same issue.

I have met the same issue. Could you tell me how you solved it? My email<EMAIL_ADDRESS>Thx a lot!

I have met the same issue. Could you tell me how you solved it? My email<EMAIL_ADDRESS>Thx a lot!


Fixed showing summary columns

Property $columnsSummary may be null
Related: https://github.com/contributte/datagrid/commit/f691665433f207688edb5367d895043bbc6bc305

:) 👍

Thanks.


New derived variables

This computes all missing variables of issue 222, except for certain cloud variables which are probably not possible with standard ACME output.

@painter1 I'm running a metadiags run now to test this; I'll let you know if I run across any unexpected issues.

Before we merge anything more into master we need the PR "Ps5 better for chris" done first. Several tests fail but this one will give Jerry something to test.  Once that one is done and the tests pass I'll start merging these into master.  On Monday, when Charles gets in we'll start to move.

@mcenerney1 did you get your branch to pass the tests? This is priority number 1 before we can move forward.

Not yet. The vcs issue is the problem.

@mcenerney1 the vcs issue was due to a syntax change in the newer vcs introduced by @danlipsa I fixed this code to set attributes on 1D plots the new (and proper) way.

This branch passes all tests.

  All my work was gone; there was no past git commit left (containing my work); it was impossible to recover.  This pull request should be revoked, and the branch deleted.  I restored my work from a disk backup system, and created another branch, merged-new-derived-variables, which should be used instead of this one.

Back on track. Standby!

Is this the same problem?
amwg plot set 13 listvars= ['CLISCCP']
14:     self.plan_computation( model, obs, varnom, seasonid, region, plotparms )
14:   File "/home/travis/miniconda/lib/python2.7/site-packages/metrics/packages/amwg/amwg.py", line 3935, in plan_computation
14:     vid1 = self.var_from_cdv( filetable1, varnom, seasonid, region )
14:   File "/home/travis/miniconda/lib/python2.7/site-packages/metrics/packages/amwg/amwg.py", line 3917, in var_from_cdv
14:     (lambda x,vid,season=self.season,region=region:
14:   File "/home/travis/miniconda/lib/python2.7/site-packages/metrics/packages/amwg/amwg.py", line 423, in commvar2var
14:     inputs = [ availdict[v].id() for v in svd._inputs if v in availdict] + builtin_variables
14: NameError: global name 'builtin_variables' is not defined

Yes it is.  That's because you're looking at the wrong branch.  The branch new-derived-variables is broken beyond repair.  Please use the branch merged-new-derived-variables instead.  I'll close this pull request to make the situation more clear.

oops!

Please don't re-open this pull request.  It's fine to delete the branch new-derived-variables too, but I'd rather wait until everything else has been merged and it's all settled down.

AGREED!


Correcting the position of the EOF-check in the parser example

Fixes Gitlab issue #336

Good catch, since it was the example that it was actually wrong!


Cannot override opts[:from]

I'm using Devise 4.7.1 with Rails 5.2.0.
I have created my own Devise mailer and I have successfully swapped out the template and subject line on occasion, seems to be working fine. Now I need to my confirmation_instructions to switch to a different sending domain in case users are registering from that domain. I use
opts[:from] =<EMAIL_ADDRESS>as described in the Howto. The Rails Mailer Preview also shows the email coming from that address.  In fact, I can call MyDeviseMailer.confirmation_instructions(User.last, "falsetoken", {}) in the console and it will send from that domain. The only place it doesn't work is when people actually register, so the same User.last got an automatic confirmation email from the wrong domain and then a console-induced confirmation email from the right domain. It seems that something is overwriting opts[:from] later in the process?!

In order to monkeypatch, I tried to re-open the Confirmable class and overwrite the function that sends out those emails in order to tell it to use my other mailer, but this does not seem to have any effect. I'd greatly appreciate help in fixing the original issue or doing a successful monkeypatch.

Hey, it's hard to understand why it's not properly working for you without any sample app where we can reproduce this issue. Could you please send one if it's still an issue for you?


[material-ui][Text Field] when click password visibility button, text caret position change to very front.

when click password visibility button, text caret position change to very front.
Suggestion
I referred to Ant Design source, and they modified same issue before. (code here)
before
https://github.com/mui/material-ui/assets/73057489/74eafec6-e513-4c7a-9f0c-92fadc6bb6dd
after
https://github.com/mui/material-ui/assets/73057489/9291aab4-2d6b-4338-af4d-54f400127502
thanks for read!

Could this be a breaking change? Developers might have already implemented local workarounds for this.

This is only a change in the docs so it won't cause any breaking changes 👍🏼

Thank you for approvals guys! @zanivan @DiegoAndai .
I ran pnpm docs:typescript:formatted, and occured ci error so I ran pnpm dedupe that CircleCI was recommended.
(duplicated packages error)
But confilcted file was happened, What can I do?

Hey @appleSimple, I recommend you do the following:

Revert the pnpm-lock.yaml changes in your branch
git checkout next
git pull upstream next
git checkout fix-prevent-caret-position-change
git merge next
pnpm install
pnpm dedupe
git push

Let me know if that works.

oh, @DiegoAndai Thank you very much!!
Finally I'm done, please check it. 😄


When using mobile => 'text' a padding left is missing

When using ''mobile" => 'text' a padding left is missing in mobile mode. However, should the icon be visible on mobile if "text" is set? I expected only the text to be shown.

Should be mobile => 'label'

Yes, it works. Might be missing docs. It does not say right away what choices there is to the "mobile". It's because it is a choice between two states.
The rest is self explaining by the examples but not "mobile".
Maybe just add this in the example on the mobile row:
//States: "icon" or "label"

Won't do it for now, cause I don't like the current state of how responsiveness is handled (or not handled). So I'm sure that this will change pretty soon (and the mobile option probably will be different or vanish).

Sometimes we want the icon and sometimes the label. That part will not change, if it's going to work the way it is now. On edit we always want the icon, but for loadtime it could not work at all with the icon. I'm a little bit afraid of the "vanish" solution here.
Maybe you have something totally different in mind? I just hope it's not getting poor.

No, with "vanish" I meant just the option in the way it's implemented now. There should always be a way to decide whether to show icon or label when little space.


added allowed_jobs in specification.py

I assume this is about the allowed job commands (so, jobs created with a certain command) on the entity? If so, i suggest to make it allowed_job_commands to make it extra clear?
@natabal @killanch

@pdellaert yes, it is meant for allowed commands on the entity. we plan to use in js code generator. sorry didnt notice your comment earlier, I committed the corresponding specs director PR as well.
https://github.com/nuagenetworks/specifications-director/pull/8
Let me know if this change is a must, I can change it in a new PR


Jobs are executed twice, instead of once

Hi!
Kue is a great package, but I am having a major problem, one I haven't been able to solve myself.
On my system, kue executes every job twice instead of once.
Run job #1
Execute
Run job #1
Execute

This is with the process:
function handler(job, done) {
    console.log("Run job #" + job.id);
    console.log("Execute");
    done();
}

I have concurrency 1, I run only 1 instance of my application, not multiple attempts on my job.
The only special thing is that my job data field contains near 9MB of data. However, I tested without that data and still, twice.
Creating the processor of the jobs:
this.queue.process(name, concurrent, (job: any, done: Function) => {
    const dom = domain.create();

    dom.on("error", (error: Error) => {
        console.error("Domain error for " + name + ":", error.stack);
        done(error);
    });

    dom.run(() => handler(job, done));
});

Creating the queue and storting it for the process
this.queue  = kue.createQueue({
            redis: {
                port: 6379,
                host: "redis",
                db: 1,
            },
        });
        this.queue.watchStuckJobs(1000);

Creating the job:
function import(options, files): Promise<any> {
        return new Promise((resolve: Function, reject: Function) => {
            const processor = "jobthing";

           // Workers.getQueue() returns the queue i created before.
            let job = Workers.getQueue().create(processor, {
                options: options,
                files: files,
            }).save((error: Error) => {
                if (error) {
                    return reject(error);
                }

                resolve(job);
            });

            job.on("complete", () => {
                job.data.files = null;
                job.update();
            });

            job.on("failed", () => {
                console.log("job #" + job.id + " failed");
            });

            job.on("failed attempt", () => {
                console.log("job #" + job.id + " failed attempt");
            });

            job.on("error", (error: Error) => {
                console.log("job #" + job.id + " error", error);
            });
        });
    }

I have error handlers in place and receive all useful events. Nothing shows up, all is fine.
I have tried a lot. No promises, no domains, no error handling, no single queue object (had the error before any of it).
I have also added logs in the kue code. To no avail. See below. I added comments.
// Worker asks to get a job (or wait)
[worker] get a job
// Just before calling BLPOP, waiting for a job to show up in the jobs list
blpop from  q:jobthing:jobs
<<Job is created>>
// Received a job, popping it
blpop: got a job for jobthing
// Finding a job in the inactive list
zpop from q:jobs:jobthing:inactive
// Found one, (2)
Did the zpop, err null res [ [ '01|2' ], 1 ] // this is inside zpop
zpopped from inactive, err: null id: 2 // inside getJob

// Just before self.process() in .start(). getJob gave us a job with ID 2
found a job 2
// Beginning of process
Process: start the thing
// My own code, as before
Run job #2
Execute
// Done() is called, worker runs getJob() again, as it is supposed to.
[worker] get a job
// blpop is started. It _should_ be hanging because the job is already done.
blpop from  q:jobthing:jobs
// In the next thick, my app receives the 'complete' event. This is after the complete state has been set, according to the code in the done() creator.
job #2 complete
// BLPOP got us a job! no way! there should be none.
blpop: got a job for jobthing
// Maybe it was not removed, and zpop will fail because the job is complete, not inactive.
zpop from q:jobs:jobthing:inactive
// Nope, it found an inactive job
Did the zpop, err null res [ [ '01|2' ], 1 ] // The same job! Again! But it was just completed...
zpopped from inactive, err: null id: 2

// And the job is running....
found a job 2
Process: start the thing
Run job #2
Execute

// Wait for another job...
[worker] get a job
blpop from  q:jobthing:jobs
/// Blocking, waiting for a job. This was the expected behaviour, before the second run.

I have no clue, not anymore. I think I tried everything.
I tested kue locally, updated its dependencies to match mine, updated my dependencies. Nothing. I tried to follow what happens in Redis, but that seems to be correct, or I am not fast enough.
I would appreciate any help you can give me.

I solved it, after hours and hours of trying stuff.
It seems that Job.prototype.update() adds the job to the joblist again, even when it already has completed.
I fixed it by replacing the update call with a job.set call.


Issue: What docstore to use in ChromaDB that isn't in memory?

Issue you'd like to raise.
I have the following ChromaDB setup:
parent_splitter = RecursiveCharacterTextSplitter(chunk_size=2000)
    child_splitter = RecursiveCharacterTextSplitter(chunk_size=400)

    vectorstore = None
    try:
        vectorstore = Chroma(persist_directory="storage/deploy/chroma-db", embedding_function=get_embedding_function())
        print("Loaded existing vector store")
    except:
        print("Creating new vector store")
        vectorstore = Chroma(
            collection_name=collection_name,
            embedding_function=get_embedding_function(),
            persist_directory="storage/deploy/chroma-db"
        )

    store = InMemoryStore()

    retriever = ParentDocumentRetriever(
        vectorstore=vectorstore,
        docstore=store,
        child_splitter=child_splitter,
        parent_splitter=parent_splitter
    )
    return retriever

The issue is if I add a bunch of documents to the retriever, the memory eventually can run out and crash the system. Is there a way for this to be done out of RAM instead? Or am I misunderstanding the usage of this.
Suggestion:
Is there a non-inmemory docstore that can be used in the ParentDocumentRetriever or does it not make sense in the use case.

Is this really the alternative solution? I don't have any chat history. Can I get more help on this matter?

This PR aims at adding support for document storage in a SQL database: https://github.com/langchain-ai/langchain/pull/15909

I have the same issue. I run out of memory and the system crashes when using InMemoryStore(). I do not have any chat history, I use this for document storage as I need it for the retriever.


Translate the HTML pages

All the code and the README are in English but the HTML pages en-savoir-plus.html and index.html are in French. It wouldn't be better to translate it in English?

Nope because CNIL is only in France and the class can be used by any organisation which have french trafic.

But these HTML pages are only here to test the script, no? I mean the developers won't use these HTML pages.

Some of dev juste copy/paste the demo, so I prefer to keep the code like that.


[Bug]: Quote not visible with large sticky contact card

As the contact card is now sticky, the quote informations are too. When the contact card is large and screen height is small, it could lead to the quote not beeing visible until the user scolls to absolute bottom.
We should think of another position for the quote fields or other sticky behaviour of the contact card.

Related: #268


KUBE-424: Migrate from core/v1 events to events.k8s.io/v1

Please, cover the failed attempt to create event in test also.

Added a test case, ven though we can't properly mock clientset to reply with error first.


Feature suggestion

Please add make_integrated_address command support for wallet rpc

https://github.com/monero-rs/monero-rpc-rs/pull/134
you can use my fork:
monero-rpc = { git = "https://github.com/qqqqqvb4/monero-rpc-rs" }

@Codi33

Thanks, @qqqqqvb4! Hope your pull request gets merged.


macOS 14+ dependencies?

I've come across this project and was excited to use it (seeing that it supported 10.13+), but after trying to build the framework (I tried with the make command and via Xcode too), it seems like it keeps coming across symbols and constants that appeared after macOS 13 (I'm running Ventura).
For example:

Is there any workaround around that, that I may be missing?
Thanks! (and congratulations on the project! 😉 )

It seems that the voice activity constants were introduced in macOS 14 but aren't decorated with availability information. I'm not sure if that is an oversight or if Apple doesn't typically do that for non-deprecated constants. I will look into either adding availability decorations or defining them manually if they're missing.

What Xcode version are you using?

Thanks! :)

What Xcode version are you using?

14.3.1 (14E300c)

Are you able to upgrade to Xcode 15? It requires macOS 13.5 or later. That would fix your issue.

Are you able to upgrade to Xcode 15? It requires macOS 13.5 or later. That would fix your issue.

Nice idea! I'll give it a try and will let you know. :) (Apparently, the 13.6 update is still available - not really sure I'll make the leap of faith to Sonoma, yet)

So... update:
your suggestion was literally spot on! I upgraded macOS to 13.6 (which was quite long due already) and also Xcode to v15.
It all works beautifully! Thanks! :)


Better handle text formatting

I had some balding used in the map. In XML is it:
... text="\\*Bold\\* regular" ...

Maybe it could be detected and replaced with the Markdown formatting (here **Bold** regular)? Possibly also for the other basic styles.

It seems better than just dropping out the formatting.

@szpak - formatting added and updated in new version

Thanks!

@szpak - were you able to test the formatting at all? I just want to make sure I didn't miss something.


Display oddity at frame 1288 in Demo game

Skip to frame 1285 and then advance to frame 1288 the invader on row 4 gets clobbered.

There are some other oddities when swapping players. Suspect bug in draw code when aliens are being initially drawn with a non zero offset.

There are some other oddities when swapping players. Suspect bug in draw code when aliens are being initially drawn with a non zero offset.


[Bug] Adapter Explanation

🐛 Bug
Was following the conversation here about Adapters - https://github.com/diem/diem/pull/8773
I understand Move VM as an agnostic chain execution environment. The VM would be a wasm, also the adapter would be another wasm. Also, read/write would be another wasm thus 3 separate smart contracts. Doesn't sound efficient but is that the general approach?
Additional context

This isn't really a bug report, so I think it would be better to move it to a discussion thread at https://community.diem.com/. Besides moving it over there, can you also clarify the context? Move and Diem do not currently use wasm and the different components that you mention are part of the core validator software for Diem, not smart contracts. Perhaps this is about the hackathon for NEAR? Anyway, please give some more context to your question.

If this is in the context of the NEAR hackathon: I believe best approach is for the adapter, VM, and storage to all live in a single WASM module.


Fix dump bug

Only check db version file if we aren't loading a dump or a snapshot, because we can assume that if we are loading a dump or a snapshot, then we can safely work with the database. The db version file will be (over)written just after that.
This was introduced by #2356.
fix #2389

@irevoire that's a good thing!

Bors merge

bors mergte


Drop EOL Django 1.6 and Python 3.3

Fixes https://github.com/treyhunner/django-simple-history/issues/292.

Codecov Report

Merging #334 into master will decrease coverage by 0.39%.
The diff coverage is 100%.

@@            Coverage Diff            @@
##           master     #334     +/-   ##
=========================================
- Coverage   97.63%   97.24%   -0.4%
=========================================
  Files          15       15
  Lines         593      580     -13
  Branches       73       72      -1
=========================================
- Hits          579      564     -15
- Misses          7        9      +2
  Partials        7        7

Impacted Files
Coverage Δ

simple_history/models.py
95.81% <100%> (-1.1%)
:arrow_down:

simple_history/admin.py
97.97% <100%> (-0.06%)
:arrow_down:

simple_history/registry_tests/tests.py
100% <100%> (ø)
:arrow_up:

...le_history/management/commands/populate_history.py
96.1% <100%> (-0.15%)
:arrow_down:

Continue to review full report at Codecov.

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


Ban command failed with reason has more than 512 letters, but still add to DB

What's wrong?
Right now, when issuing a ban ( !tempban for example ) if the reason is greater than 512, it will fail because discord only allow 512 letters.
However, the bot will still add the infraction to our DB and register it as an active ban, and thus subsequent ban will fail, saying that user is already banned.
Expected behaviour:
When the reason is greater than 512, either send a warning / confirmation that the reason is greater than 512 and so reason will be cut off to be used for .ban().
Or at the very least, .ban() should be wrapped inside a try except and will actually show the error.
Suggestion
The order of actions should be revised: ban first, then post to DB only if it succeeded.
The code can be found here:
https://github.com/python-discord/bot/blob/44b33d570642905d4eeb64300a3a2d3d0cb80b72/bot/cogs/moderation/infractions.py#L231-L262

I don't understand: Should this fail when reason is longer than 512 chars or should this cut this to 512 chars when applying ban?

It is up to debate:
The 512 chars limit is only applied to discord, in reality it should not affect us if we ever want to make a thorough ban reason, and limiting ourselves to 512 just because of Discord does not feel right, right?
However, if we decide to open the limit to more than 512, we might want to truncate the message to be used as reason for discord. In that case, a confirmation / warning that the reason will be truncated will be nice.

I don’t think we care if the ban reason sent to Discord’s API is truncated, I can only think of maybe a handful of situations where we’ve ever read the reason in the audit log vs. what we have stored on site, and 512 characters should give us a good enough understanding of why the member was banned.

@ikuyarihS One thing about this reordering actions: I think this is not a good idea, because after this when banning success, but adding to DB not, the situation is not good. I think better is when order stay like it is. The only change should that this cut reason.


:seedling: Change KubeConfigSecret to a struct type.

Summary
The KubeConfigSecret should not only be string but a struct in case we want to add addtional information such as context in the future.

/assign @qiujian16


💎 release 3.5.0

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 31.635%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
107

Relevant Lines:
284

💛  - Coveralls


[Hypersonic] ...

Extension – Hypersonic
Author: @prrrcl

Description
Great app! However, when invoking the "My Todos" command in Raycast, the resulting screen shows the Hypersonic loading animation, but my todos are not displayed. I have updated to the latest versions of both Raycast and the Hypersonic extension.

Steps To Reproduce

Open Raycast
Invoke the "My Todos" command

The current behavior
When invoking the "My Todos" command in Raycast, the resulting screen shows the Hypersonic loading animation, but my todos are not displayed, and there is an "Error Occured" message.
The expected behavior
When invoking the "My Todos" command in Raycast, the resulting screen should display my todos.
Raycast version
Version: 1.37.1

I figured it out — I changed the "Select" name in Notion, which caused an issue with the display of my todo list


status of subdirectories in project READMEs

I've had a few people ask me about the rust transaction builder and I've pointed them to this repo, however if the readme for that project said a little more about what's currently supported/unsupported and maturity I think that may help newbies.

We should also add docs on how to use this repo, some examples would go a long way.
When we get some short examples we can work on rendering it on the docs.cosmos.network site.

I'll add usage docs after I have an end-to-end test written and know it actually works 😉


Java NullPointer when going "back" twice and trying to set HomeAsUpIcon

If a window has a 'focus' event that tries to call the abx.setHomeAsUpIcon() function there will be a Java NullPointer exception
Steps to reproduce:

Create a window that uses actionbarextras (abx)

add an eventListener('focus') that calls abx.setHomeAsUpIcon()

Have functionality that allows this window to be opened multiple times (such as a label with an onClick event)

After opening this window multiple times, press the Android "back" button at least twice

The second "back", when calling the 'focus' event, will throw the following exception (stack trace truncated):
[ERROR] :  TiApplication: (main) [4329,18423] Sending event: exception on thread: main msg:java.lang.NullPointerException; Titanium 4.1.1,2015/08/16 21:42,7e39876
[ERROR] :  TiApplication: java.lang.NullPointerException
[ERROR] :  TiApplication: 	at com.alcoapps.actionbarextras.ActionbarextrasModule.getActionBar(ActionbarextrasModule.java:126)
[ERROR] :  TiApplication: 	at com.alcoapps.actionbarextras.ActionbarextrasModule.handleSetHomeAsUpIcon(ActionbarextrasModule.java:538)
[ERROR] :  TiApplication: 	at com.alcoapps.actionbarextras.ActionbarextrasModule.handleMessage(ActionbarextrasModule.java:178)
[ERROR] :  TiApplication: 	at android.os.Handler.dispatchMessage(Handler.java:95)

Hi @molsen-ee
Thanks for reporting this. I'll test this asap. Does this happen with the latest version of the module?

Yes, I was able to reproduce this bug with version 1.6.7 of the module.

Have you tried using the window property?

The window property of the abx object? I don't follow what you are asking.

Sorry, I'm not on a computer right now. But yes, abx has a window property which allows you to define a window reference. When you open multiple instances of a window, it could be a good idea to make use of this property. That way you can make sure that abx uses the actionbar according to the correct window. By default it uses the current window which is open. This could lead into timing issues. If it references a window that is not yet open or not open anymore the actionbar reference may be null. Thus there occur a NullPointerException. This is indeed just a guess but I'll test this tomorrow and let you know. I think there is a simple way to fix this.

Ah hah! That gave me just enough insight to get around the timing issue. In the controller logic I was creating the abx javascript variable via requre and setting the abx.window property. However in the focus event handler I was not setting the abx.window property to the current window so at the Java level it was still referencing a window that had been opened later in the logic flow.
Simplified version of my code:
var abx = require('com.alcoapps.actionbarextras');
abx.window = $.thisWindow;

$.thisWindow.addEventListener('focus', function(e) {
   abx.window = $.thisWindow;  // adding this line solved the problem!

   if (useDifferentIcon())
      abx.setHomeAsUpIcon("/images/differentIcon.png");
   else
      abx.setHomeAsUpIcon("/images/defaultIcon.png");
});

Hm, this NullPointerException should get catched here

@molsen-ee Can we close this issue?

I was confused about the stack trace's line numbering as well. Is the 1.6.7 jar built on the current code?
Yes, the change in logic is working for me. Thank you for the help.


groovy configuration file for mapping one Keycloak realm client role to nx-admin role, for managing Nexus with Keycloak Login.

Nexus provides us groovy configuration for automating the role mapping with LDAP users from the backend. Is it possible to do the same for automating the role mapping with Keycloak roles using this plugin from the backend.
The groovy file for LDAP role mapping can be found here:-
https://github.com/ansible-ThoTeam/nexus3-oss/blob/master/files/groovy/setup_ldap.groovy
Can the same be done using this plugin. If yes, can you please update the specific groovy configurations related to this particular plugin

@tejasrao97 It looks not so easy, maybe it will take a long time to support it, but I will have a hard try :).


Buttons with icon only became smaller with sap_fiori_3 theme

OpenUI5 version: latest
Browser/version (+device/version): Chrome
Any other tested browsers/devices(OK/FAIL): -
URL (minimal example if possible): https://sapui5.hana.ondemand.com/#/entity/sap.m.Button/sample/sap.m.sample.Button
User/password (if required and possible - do not post any confidential information here): -
Steps to reproduce the problem:
Hello colleagues. I've noticed, that in the latest sap_fiori_3 theme, buttons which have only icon (without text) are smaller, than in previous themes.
In the Button.less for sapMBtnIcon property font-size is set to 1rem in contrast to standard 1.375rem. Is there any articles describing this change in terms of UX?
https://github.com/SAP/openui5/blob/master/src/themelib_sap_fiori_3/src/sap/m/themes/sap_fiori_3/Button.less#L49
What is the expected result?
Buttons with icon only have the same size in sap_fiori_3 as in previous themes.
What happens instead?
Buttons are smaller.
Any other information? (attach screenshot if possible)

Hi @whydrae,
By fiori 3 design the icon should be 1rem in both states (cozy / compact). This 1.375rem size is leftover from sap_belize theme.
In belize icon has to be 1rem in compact and 1.375 in cozy state.
Best regards,
Nayden


Allow subscribers to access subscription admin-api

Motivation
Addressing #2964
Result
Subscribers will be able to access subscribe admin-api.

@rdhabalia Could this solved with the per-subscription auth mechanism which is already available?

per-subscription auth mechanism which is already available?

@merlimat I didn't see a placeholder which keeps map of authorized roles for a given subscription so, broker can authorize admin-api request. also, I am not exactly aware about per-sub auth, can you please point me the PR or change.

@rdhabalia  https://github.com/apache/pulsar/pull/899

Isn't it possible to give permissions to these subscriptions individually

Umm.. #899 doesn't store authorized subscriber role-names. it authorizes request based on the sub-name (eg. myRoleName-mysub). so, if sub-auth mode is enabled then sub-name has to start with myRoleName so, user with myRoleName role is authorized for mysub.
But existing subscription mysub can't be accessed by myRoleName because it doesn't start with role-name.
So, I am not sure how can we use this solution in a straight forward way to address above issue. Can you please let me know if I am missing anything here.

@merlimat I think #899 can be only useful to avoid conflicting name because for authorization it enforces role name prefix and it has to be part of sub-name and that is something not feasible.
So, for user, sub-auth-mode feature can be used to avoid conflicting name and sub-auth policies required for actual authorization. ??

Yes, next I wanted to integrate this policy with consumer authorization so, at that time we can deprecate sub-prefix-mode and utilize per-sub authorization mechanism. I will try to address it in next PR.

I almost agree with deprecating the sub prefix mode and introducing per-subscription auth mode.
Let me confirm:

Whoever has "consume" access on any of these, will be able to consume and perform admin related operations on that topic/subscription.

If we grant * on consume role, can any consumer subscribe regardless of per-subscription role?

however, if per-subscription auth is configured for a specific subscription-name then consumer's principal/role has to be authorized role as per per-subscription to connect to that specific subscription.
OK, thanks.

run integration tests

run integration tests


steam architecture

steam will never be integrate into the store/ feature -- the store feature will always be a stripe integration.
it's simply not feasible to imagine the store/ feature supporting alternative "hot swappable" payment processors.
steam will eventually become its own feature, as s/features/steam -- and it will be completely separate from, and have nothing to do with, the stripe store.
a steam integration won't even use the same roles for fulfillment.
s/features/store and s/features/steam will never interact, and will have no knowledge of each other at all.


Changed references to sockaddr to be lowercase

See https://docs.microsoft.com/windows/desktop/WinSock/sockaddr-2.

@rainerzufalldererste : Thanks for your contribution! The author(s) have been notified to review your proposed change.


HBASE-27069 Hbase SecureBulkload permission regression

Change-Id: I7364aacee5a88971c8ee16fd5067f63a9e673aa8

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
0m 38s
Docker mode activated.


Run go mod tidy

Per discussion, dagger requires go1.21 hence the need to bump this in the go.mod.


Added update and delete to the base_model

update: updates the current instance and applies the updated attributes to the caller.
generate_writer? was enabled for all subclasses to allow the caller to be updated.
delete: deletes the record and returns a copy of the original record.

@bdunne, @Fryguy - please review.
-cc @jameswnl, @gmcculloug

@miq-bot assign @bdunne

@syncrou Based on our discussion yesterday, you're going to make this feel more like ActiveRecord, correct?
Summary:

update -> update_attributes!
Add update_attributes
delete -> destroy
Keep the def generate_writer?; true; end (You could actually delete the method from BashModel since it is already true in HashModel)
Add save
Add save!


Jupyterhub - customize user environment

https://z2jh.jupyter.org/en/stable/jupyterhub/customization.html
I think in order to have our environment variables, we need to create a custom docker image. Also we want these notebooks to be sync'ed to our github, I think we need to use a tool called https://nbgitpuller.readthedocs.io/en/latest/ but maybe there are other choices. The driver for the environment variables is to be able to put things like passwords/keys to APIs in there and they would be available to anyone of us running jupyter notebook experiments.

[ ] Custom Docker Image
[ ] Environment Variables
[ ] LSP server
[ ] Sync'd with GitHub

dup of #56


grpc.WithTimeout is deprecated, DialContext must be used now

Untested

Tried it out locally with postgres, everything still works and I assume everything is working as intended. I added a sleep before retrying to connect to the server because when context deadline exceeded comes back, the waiter produces a lot of output very quickly. Thanks!


When the code will be released?

It is already one month since the repo is built.

I apologize for your waiting.
I spent most of my time on CVPR submission recently, so I still need more time for organizing the code and document.
I will make every effort to release the code in one week.
Thanks for the reminder.

By the way, you team will release both training and testing code?

By the way, you team will release both training and testing code?

By the way, you team will release both training and testing code?

By the way, you team will release both training and testing code?

Yes, both training and inference code will be released.

It is already two weeks, any progress? Could you please give a certain date?

Sorry for the delay.
The code has been uploaded.


⚠ TorrentLeech has degraded performance

In bf565f4, TorrentLeech ($TL) experienced degraded performance:

HTTP code: 200
Response time: 4371 ms

Resolved: TorrentLeech performance has improved in ebe39cb after 6 minutes.


[Question] Please clarify ServiceDiscoveryProvider settings in Kubernetes scenario.

Can you please clarify the ServiceDiscoveryProvider Host, Port and Token are used for?

Is ok to rely on the default values provided in documentation?
What are common scenarios when it's required/recommended to change them from what is shown in the documentation?
What are the guidelines for changing them? How does one generate a new Token?

I agree with you the documentation for this is not clear.
Also I don't understand why it won't work by using the service name as host, that is the way in which services communicates in kubernetes (at least in the same namespace).

Dear students,
Our SD docs

Kubernetes aka K8s
Service Discovery


Arrays are not initialized properly

package main
func main() {
  var x [3]int
  println(x[0])
}

Expected: 0
Actual: garbage

Actually, the problem is that we are printing the pointer and not the real value.


ESP32 S2/S3 USB HID Host for gamepads and joysticks (IDFGH-9618)

Is your feature request related to a problem?
Looking for a way to connect USB gamepads and joysticks to the ESP32 S2/S3 and to convert the USB streams into UART and CAN.
Describe the solution you'd like.
@Dazza0 wrote : Joy sticks (and other non-boot protocol HID devices) will take longer to support due to the need to parse HID report descriptors. Currently, there is already some logic in the esp_hid component for HID report descriptors. But our long term plan is to tidy up esp_hid and integrate USB Host HID with esp_hid somehow so that HID applications it can share the same HID descriptor logic with BT/BTLE HID devices as well. This will allow users to...
use a common  esp_hid (or similar) API for all HID devices, regardless of what protocol the device is running on (i.e., USB/BT/BTLE).
used the provided HID report descriptor APIs to easily add their own drivers for less common/custom HID devices
As for USB Hubs in Host mode, that is also in our roadmap. But, unfortunately I can't offer a release date for that yet.
What is the status of this topic?
Describe alternatives you've considered.
No response
Additional context.
No response

@relaxibus Unfortunately, we still don't have any updates on the esp_hid components (i.e., out of the box report descriptor parsing). However, were working on some updates to the Host HID driver API such that the user can obtain raw reports.
This should allow supporting of joysticks, though you'll need to implement your own parsing of reports and report descriptors.

Hi, any update on the topic of reading and parsing Gamepads/Joysticks?


Add method that can pin multiples edges

Add method that can pin multiples edges:

all(): Pin all edges on its superview's corresponding edges (top, bottom, left, right). Similar to calling view.top().bottom().left().right()
horizontally(): Pin the left and right edges on its superview's corresponding edges. Similar to calling view.left().right().
vertically(): Pin the top and bottom edges on its superview's corresponding edges. Similar to calling view.top().bottom().

Codecov Report

Merging #93 into master will increase coverage by 0.07%.
The diff coverage is 90%.

@@            Coverage Diff             @@
##           master      #93      +/-   ##
==========================================
+ Coverage   89.44%   89.51%   +0.07%
==========================================
  Files          31       31
  Lines        5692     5810     +118
==========================================
+ Hits         5091     5201     +110
- Misses        601      609       +8

Impacted Files
Coverage Δ

Sources/PinLayout.swift
100% <ø> (ø)
:arrow_up:

Sources/ObjectiveC/PinLayoutObjC.swift
0% <ø> (ø)
:arrow_up:

Sources/ObjectiveC/PinLayoutObjCImpl.swift
0% <0%> (ø)
:arrow_up:

Tests/BasicView.swift
80% <0%> (-0.65%)
:arrow_down:

Tests/PinEdgesSpec.swift
100% <100%> (ø)
:arrow_up:

Sources/PinLayoutImpl.swift
84.16% <83.33%> (+0.17%)
:arrow_up:

Sources/PinLayoutImpl+Coordinates.swift
87.65% <93.75%> (+1.13%)
:arrow_up:

Continue to review full report at Codecov.

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


Fix git rev-parse for certain cases

Without this, npm2nix would fail for, for example, parsoid with git rev-parse error.

Is there any ETA for moving to the reengineering? I have a package that needs this fix to be built out-of-tree for a long time now ^_^

I don't like reenginering because it's complicated and slow. This is fixed already. Actually we have parsoid in nixpkgs.

It is indeed fixed, thanks! grep shows nothing about parsoid on master though -- maybe I'm missing something?


Add Links to the Table of Contents to Part 04 in Lessons

New Issue
What can be improved?
A Table of contents with links to the subsections to improved navigation

Hey, I'd like to work in this issue.

Have solved issue https://github.com/rcallaby/Learn-Git/issues/84 and have added the required links to the table of contents. It navigates properly to respective sections upon clicking. Can you review it ?


Is this repo still alive?

If this repo is not alive, I'm going to update this project in a fork. Tank you in advance for this amazing project.

Hey @DevGabrielDeSouza. I'm still here, so if you want to make contribution, I would glad to see your PR.


Installation library name

It seems like the installation example command-line string contains an error with library naming:
Should be:
pip install pytrendline
Actually:
pip install trendln

Thank you ! It's been fixed