gnome3.five-or-more: 3.32.0 -> 3.32.1

Semi-automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/five-or-more/versions.
meta.description for gnome3.five-or-more is: "Remove colored balls from the board by forming lines"
meta.homepage for gnome3.five-or-more is: "https://wiki.gnome.org/Apps/Five_or_more"
Updates performed:

Version update
Quoted meta.homepage for RFC 45

Checks done (click to expand)

built on NixOS

The tests defined in passthru.tests, if any, passed

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found 3.32.1 with grep in /nix/store/jmkwaxa58pxqn3kjjvdnh57w511cylnq-five-or-more-3.32.1

directory tree listing: https://gist.github.com/e4250d47eba009733b33d054c284cd98

du listing: https://gist.github.com/a5cddc710a08dffd4647cc40a30ceded

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

3 total rebuild path(s)
1 package rebuild(s)
1 x86_64-linux rebuild(s)
1 i686-linux rebuild(s)
0 x86_64-darwin rebuild(s)
1 aarch64-linux rebuild(s)
First fifty rebuilds by attrpath
gnome3.five-or-more

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/jmkwaxa58pxqn3kjjvdnh57w511cylnq-five-or-more-3.32.1 \
  --option binary-caches 'https://cache.nixos.org/ https://r-ryantm.cachix.org/' \
  --option trusted-public-keys '
  r-ryantm.cachix.org-1:gkUbLkouDAyvBdpBX0JOdIiD2/DP1ldF3Z3Y6Gqcc4c=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

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

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/jmkwaxa58pxqn3kjjvdnh57w511cylnq-five-or-more-3.32.1
ls -la /nix/store/jmkwaxa58pxqn3kjjvdnh57w511cylnq-five-or-more-3.32.1/bin

cc @lethalman @jtojnar @hedning @worldofpeace for testing.

I guess we can merge it here:
(https://ftp.gnome.org/pub/GNOME/sources/five-or-more/3.32/five-or-more-3.32.1.news)
3.32.1 - 12 March, 2020
======================

* Fixed translations not working


Use TimezoneInterface to format date according to locale, translations

Dates in select in checkout are not translated to the stores locale. Use TimezoneInterface to properly format dates according to the selected stores locale. Also added a Dutch translation for the 'Select delivery date:' string:

Thank you 🙂


Control up and downlight simultaneously? Debugging light issues…

I have a new Haiku fan with both an uplight and a downlight. Both show up in HomeKit - but when I adjust the uplight brightness slider, it turns off the downlight, and vice versa. This changes the “mode” in the official app to “downlight only” or “uplight only” mode.
Q: Is there a way to set a fan light control slider to control “both” uplight and downlight?
Some background: I’ve been having some intermittent uplight issues with my haiku fan for several months, ever since I bought it. I installed the homebridge plugin to see if I could figure out what set of circumstances cause the uplight to no longer respond to control in the official iOS app. I’ve replaced the entire fan twice through Big Ass Fans customer support. When my fan gets into this funky state, are there any debug things I can run to see why my uplight is not responding to commands? My downlight always works.

Hello. Regarding the slider to control both lights, I'll look into it.   Honestly, I've forgotten how it works in the plugin.
About debugging, you can configure debug settings in the plugin which at their deepest level will show all the communications between the plugin and the  fan. Then it's a matter of interpreting the data it spits out.
When the uplight stops responding to the official app, does it still respond to the home app?  Do you have the official installed on multiple devices and are they all unable to control the uplight when the problem arrives?
For starters, adding
"debugLevels": [ ["light",1] ]
to the config for a fan should give you some debug info.

Thanks for the debug log tip! It's super intermittent as to when it stops working - sometimes it'll stop working overnight and be working again by the morning. I'm trying to nail down the set of circumstances when it stops working - but it seems like when the uplight stops working in the official app it stops working in the Home app and vice versa. It would intermittently get into this state for the past several months before I ever tried installing this plugin. That's what I'm trying to debug by interpreting the debug logs.
And yeah- it appears as though nothing is able to control the uplight when it gets into a weird state.  I'm in that state now. It is sending messages to the uplight, and the uplight isn't responding in either the official app or the Home app. The downlight works fine though.
A couple other things I'm noticing after turning on the debugLevels mode: in the official app, when I'm in "both" mode, it calls setTargetBulb: 0. The plugin never calls this, so it's essentially the equivalent of downlight-only or uplight-only mode.
In downlight only mode, official app (or the plugin, using the downlight slider) calls setTargetBulb : 1
uplight only mode, (or the plugin, using the uplight slider) it calls setTargetBulb: 2
The logs read slightly different for the specific functions in "how" it's modifying the brightness, between the official app and the plugin, though. Let me post the differences momentarily.

uplight only mode, official app:
[9/16/2023, 1:59:42 PM] [BigAssFans-i6] dblog light(1/1) Haiku - Up lightOnState value: 1
[9/16/2023, 1:59:42 PM] [BigAssFans-i6] dblog light(1/1) Haiku - setTargetBulb: 2
[9/16/2023, 1:59:42 PM] [BigAssFans-i6] dblog light(1/1) Haiku - update Up Brightness: 100
[9/16/2023, 1:59:42 PM] [BigAssFans-i6] dblog light(1/1) Haiku - Up lightOnState value: 1
[9/16/2023, 1:59:42 PM] [BigAssFans-i6] dblog light(1/1) Haiku - setTargetBulb: 2
uplight only slider in the Home app via the plugin:
[9/16/2023, 2:00:20 PM] [BigAssFans-i6] dblog light(1/1) Haiku - Set Characteristic Up Brightness -> 100
[9/16/2023, 2:00:20 PM] [BigAssFans-i6] dblog light(1/1) Haiku - Set Characteristic Up Brightness -> 96
[9/16/2023, 2:00:20 PM] [BigAssFans-i6] dblog light(1/1) Haiku - update Up Brightness: 96
[9/16/2023, 2:00:20 PM] [BigAssFans-i6] dblog light(1/1) Haiku - Up lightOnState value: 1
[9/16/2023, 2:00:20 PM] [BigAssFans-i6] dblog light(1/1) Haiku - setTargetBulb: 2

here's what adjusting the slider in "both" mode in the official app returns:
[9/16/2023, 2:05:36 PM] [BigAssFans-i6] dblog light(1/1) Haiku - update Up Brightness: 88
[9/16/2023, 2:05:36 PM] [BigAssFans-i6] dblog light(1/1) Haiku - update Down Brightness: 88
[9/16/2023, 2:05:36 PM] [BigAssFans-i6] dblog light(1/1) Haiku - update Down ColorTemperature: 370 (2700)
[9/16/2023, 2:05:36 PM] [BigAssFans-i6] dblog light(1/1) Haiku - Up lightOnState value: 1
[9/16/2023, 2:05:36 PM] [BigAssFans-i6] dblog light(1/1) Haiku - Down lightOnState value: 1
[9/16/2023, 2:05:36 PM] [BigAssFans-i6] dblog light(1/1) Haiku - setTargetBulb: 0

The logs read slightly different for the specific functions in "how" it's modifying the brightness, between the official app and the plugin, though. Let me post the differences momentarily.

The plugin logic moves through different code paths depending if the changes are prompted by the Home app or in the case of the BAF app, the fan itself.
Do you have an IR remote control or a wall control?

Were the logs you ent produced while the fan was in the funked state?

When the plugin log refers to target bulb it's 0 - both lights, 1 - downlight, 2 - uplight.
When you see lightOnState value: or update ... Brightness that's in response to the fan telling the plugin the state of the light.
When you see Set Characteristic that's in response to the Home app issuing a command to the fan.
setTargetBulb is in response to the fan telling the plugin what the target bulb setting is.
More light related log detail is available by changing the "light",1 to "light",2]

Were the logs you sent produced while the fan was in the funked state?

Yes

Do you have an IR remote control or a wall control?

I think it came with a Bluetooth remote. I don’t generally use it though.

How does the remote know which light you want to operate?

I think if I hold down the light button for a few seconds, I can cycle through modes- both/down only / up only

Did you replace the remote along with the fan?

Yep, whole thing- power supply, even the downtube, and the control board a third time

Generally if my uplight gets into this funky state I can force it to work again for some amount of time by switching the breaker off for 10 mins

Thanks.
Based on the logs, it seems the fan knows when you tell it to operate the uplight via the BAF app since it reports that to the plugin.  If BAF is actively trying to debug this, maybe they'd want to know that.
I assume they told you how to reboot the fan using the remote, without flipping the breaker.  If you tried that, did it fix it temporarily?

Based on the logs, it seems the fan knows when you tell it to operate the uplight via the BAF app since it reports that to the plugin. If BAF is actively trying to debug this, maybe they'd want to know that.

I haven’t been able to get in touch with someone on the software team, but I will let them know this.

I assume they told you how to reboot the fan using the remote, without flipping the breaker. If you tried that, did it fix it temporarily?

Hmm nope, they didn’t mention rebooting it- I can reset the fan entirely from the remote, without flipping the breaker though. Not sure if that fixes it temporarily but can try.

As a rule of thumb I'd say resetting via software is easier on the hardware than power-cycling.  But maybe that's just my bias.

Q: Is there a way to set a fan light control slider to control “both” uplight and downlight?
Regarding this...  I can replace the two light switches with one that controls whatever light(s) the BAF app has selected.  Alternatively I could add a third light switch that controls both.  Or I could add a switch that would make either slider control both if the switch is "on".

I'm assuming I could do these things but I won't know the complications until I try.  And any of the behaviors we decide on would be enabled with a configuration key/parameter/whatever it's called.  Is one of these what you had in mind or should we keep thinking about it?
PS - I might not be responsive again for a while or until tomorrow

Is one of these what you had in mind or should we keep thinking about it?

I imagine it’d be useful to either:
A) be able to manually set the mode to both/downlight/uplight, or B) add a third slider that always controls both.
im not particular though - mostly just trying to get it to work so that I can figure out what breaks it! :)

while uplight was working in Home plugin:
[9/16/2023, 6:46:03 PM] [BigAssFans-i6] dblog light(1/1) Haiku - Set Characteristic Up Brightness -> 90
[9/16/2023, 6:46:03 PM] [BigAssFans-i6] dblog light(1/1) Haiku - update Up Brightness: 90
[9/16/2023, 6:46:03 PM] [BigAssFans-i6] dblog light(1/1) Haiku - Up lightOnState value: 1
[9/16/2023, 6:46:03 PM] [BigAssFans-i6] dblog light(1/1) Haiku - setTargetBulb: 2
while uplight was working in big ass fans app:
[9/16/2023, 6:44:16 PM] [BigAssFans-i6] dblog light(1/1) Haiku - setTargetBulb: 2
[9/16/2023, 6:44:17 PM] [BigAssFans-i6] dblog light(1/1) Haiku - update Up Brightness: 93
[9/16/2023, 6:44:17 PM] [BigAssFans-i6] dblog light(1/1) Haiku - Up lightOnState value: 1
[9/16/2023, 6:44:17 PM] [BigAssFans-i6] dblog light(1/1) Haiku - setTargetBulb: 2
looks pretty identical to me. Sounds like i need to do debugLevel 2 to see if i can parse anything extra out of that?

I'll look into B).
If you set "redflags",1 in the debugLevels array ala
"debugLevels": [ ["light",1], ["redflags",1] ]
it's possible it would show if something weird is being spit out from the fan.
Are you using the BAF app's scheduling features?
Have you considered posting to the BAF subreddit (r/BigAssFans)?

If your uplight is set to 0% and your downlight is at 100% and you select both in BAF app what does the slider indicate?  I'm not sure how to handle that if I make a third slider.

I hacked a version of the plugin that tries to implement the "both" slider.  If you adjust the slider it should affect both lights.  I've been spinning my wheels with an issue where all the controls have the same name - the name of the fan.  That's something I thought I resolved 5 months ago.  But I don't want to burn more time debugging that aspect before I know if this "both" slider thing works at all for you.  Check out this beta and let me know what happens, if you're up for it.
<EMAIL_ADDRESS>

I forgot to mention you need to add
"bothlightsControl": true
to the fan's config.

If your uplight is set to 0% and your downlight is at 100% and you select both in BAF app what does the slider indicate? I'm not sure how to handle that if I make a third slider.

i'm not sure, it stopped working for most of today :-D
i recall there are definitely situations where the value slider is set to all-the-way-on but the uplight or the downlight is off for example, when changing modes, in the official app.
and thanks! I'll try those now

just before updating, i saw this redflag btw:
[9/17/2023, 4:32:35 PM] Homebridge v1.6.1 (HAP v0.11.1) (Homebridge 7898) is running on port 51321.
[9/17/2023, 4:32:35 PM] [BigAssFans-i6] dblog light(1/1) Haiku - update Down ColorTemperature: 370 (2700)
[9/17/2023, 4:32:35 PM] [BigAssFans-i6] dblog light(1/1) Haiku - Up lightOnState value: 0
[9/17/2023, 4:32:35 PM] [BigAssFans-i6] dblog light(1/1) Haiku - Down lightOnState value: 0
[9/17/2023, 4:32:35 PM] [BigAssFans-i6] dblog light(1/1) Haiku - setTargetBulb: 0
[9/17/2023, 4:32:35 PM] [BigAssFans-i6] dblog progress(0/0) Haiku - product type: Haiku H/I Series (0x48, 0x61, 0x69, 0x6b, 0x75, 0x20, 0x48, 0x2f, 0x49, 0x20, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73)
[9/17/2023, 4:32:35 PM] [BigAssFans-i6] dblog progress(0/0) Haiku - firmware: 3.2.1
[9/17/2023, 4:32:35 PM] [BigAssFans-i6] dblog redflags(1/1) Haiku - top level message, expected field "2", got field "0"
[9/17/2023, 4:32:35 PM] [BigAssFans-i6] dblog light(1/1) Haiku - Get Characteristic Down ColorTemperature -> 370 (2700)
[9/17/2023, 4:33:03 PM] [BigAssFans-i6] dblog light(1/1) Haiku - update Down ColorTemperature: 370 (2700)
[9/17/2023, 4:33:03 PM] [BigAssFans-i6] dblog light(1/1) Haiku - Up lightOnState value: 0
[9/17/2023, 4:33:03 PM] [BigAssFans-i6] dblog light(1/1) Haiku - Down lightOnState value: 0
[9/17/2023, 4:33:03 PM] [BigAssFans-i6] dblog light(1/1) Haiku - setTargetBulb: 0

Looks like the new “both” slider sets the mode to “downlight only” mode instead of “both” mode.

Are you using the BAF app's scheduling features?
Have you considered posting to the BAF subreddit (r/BigAssFans)?

Not using scheduling and haven’t posted there yet-  but getting the fans to spit out debug info / errors is the furthest I’ve gotten so far, so that’s good…

just before updating, i saw this redflag btw:

I see that occasionally also, I think it's an artifact associated with the plugin starting up and is probably harmless.  Nevertheless, I should look into it.

Looks like the new “both” slider sets the mode to “downlight only” mode instead of “both” mode.

The "both" slider is implemented by calling the routines for each of there two real sliders.  I..e,

you move "both" slider in Home app
Home app tell plugin you moved the "both" slider
plugin then lies to itself saying Home app told it you moved the Up slider and the Down slider in quick succession.

So I would expect the logs to show setTargetBulb: 2 and then setTargetBulb: 1

Just tried the “both” slider after the uplight was working for a bit- and it just makes the uplight flash on and off but then it ultimately remain off after I stop dragging the slider. I’ll try to grab some log output shortly.
is there a way to call setTargetBulb:0? I know you mentioned that’s the fan telling us what its state is, but there must be some “both” command we’re missing here.

official app: when in downlight mode, and just switching to "both" mode:
[9/18/2023, 11:13:25 PM] [BigAssFans-i6] dblog light(2/2) Haiku - inserted setTargetBulb at start of funStack
[9/18/2023, 11:13:25 PM] [BigAssFans-i6] dblog light(1/2) Haiku - setTargetBulb: 0
[9/18/2023, 11:13:25 PM] [BigAssFans-i6] dblog light(1/2) Haiku - lightBrightness: 100, targetBulb: 0
[9/18/2023, 11:13:25 PM] [BigAssFans-i6] dblog light(1/2) Haiku - update Up Brightness: 100
[9/18/2023, 11:13:25 PM] [BigAssFans-i6] dblog light(1/2) Haiku - update Down Brightness: 100
[9/18/2023, 11:13:25 PM] [BigAssFans-i6] dblog light(1/2) Haiku - update Down ColorTemperature: 370 (2700)
[9/18/2023, 11:13:25 PM] [BigAssFans-i6] dblog light(1/2) Haiku - Up lightOnState value: 1
[9/18/2023, 11:13:25 PM] [BigAssFans-i6] dblog light(1/2) Haiku - Down lightOnState value: 1
[9/18/2023, 11:13:25 PM] [BigAssFans-i6] dblog light(1/2) Haiku - setTargetBulb: 0
official app, dragging slider when in "both" mode:
[9/18/2023, 11:13:25 PM] [BigAssFans-i6] dblog light(2/2) Haiku - inserted setTargetBulb at start of funStack
[9/18/2023, 11:13:25 PM] [BigAssFans-i6] dblog light(1/2) Haiku - setTargetBulb: 0
[9/18/2023, 11:13:25 PM] [BigAssFans-i6] dblog light(1/2) Haiku - lightBrightness: 100, targetBulb: 0
[9/18/2023, 11:13:25 PM] [BigAssFans-i6] dblog light(1/2) Haiku - update Up Brightness: 100
[9/18/2023, 11:13:25 PM] [BigAssFans-i6] dblog light(1/2) Haiku - update Down Brightness: 100
[9/18/2023, 11:13:25 PM] [BigAssFans-i6] dblog light(1/2) Haiku - update Down ColorTemperature: 370 (2700)
[9/18/2023, 11:13:25 PM] [BigAssFans-i6] dblog light(1/2) Haiku - Up lightOnState value: 1
[9/18/2023, 11:13:25 PM] [BigAssFans-i6] dblog light(1/2) Haiku - Down lightOnState value: 1
[9/18/2023, 11:13:25 PM] [BigAssFans-i6] dblog light(1/2) Haiku - setTargetBulb: 0
home app plugin that isn't working right:
[9/18/2023, 11:15:17 PM] [BigAssFans-i6] dblog light(1/2) Haiku - Set Characteristic Up Brightness -> 40
[9/18/2023, 11:15:17 PM] [BigAssFans-i6] dblog light(1/2) Haiku - Set Characteristic Down Brightness -> 40
[9/18/2023, 11:15:17 PM] [BigAssFans-i6] dblog light(2/2) Haiku - inserted setTargetBulb at start of funStack
[9/18/2023, 11:15:17 PM] [BigAssFans-i6] dblog light(1/2) Haiku - setTargetBulb: 2
[9/18/2023, 11:15:17 PM] [BigAssFans-i6] dblog light(1/2) Haiku - lightBrightness: 60, targetBulb: 2
[9/18/2023, 11:15:17 PM] [BigAssFans-i6] dblog light(1/2) Haiku - update Up Brightness: 60
[9/18/2023, 11:15:17 PM] [BigAssFans-i6] dblog light(1/2) Haiku - Up lightOnState value: 1
[9/18/2023, 11:15:17 PM] [BigAssFans-i6] dblog light(1/2) Haiku - setTargetBulb: 2
[9/18/2023, 11:15:17 PM] [BigAssFans-i6] dblog light(2/2) Haiku - inserted setTargetBulb at start of funStack
[9/18/2023, 11:15:17 PM] [BigAssFans-i6] dblog light(1/2) Haiku - setTargetBulb: 2
[9/18/2023, 11:15:17 PM] [BigAssFans-i6] dblog light(1/2) Haiku - lightBrightness: 40, targetBulb: 2
[9/18/2023, 11:15:17 PM] [BigAssFans-i6] dblog light(1/2) Haiku - update Up Brightness: 40
[9/18/2023, 11:15:17 PM] [BigAssFans-i6] dblog light(1/2) Haiku - Up lightOnState value: 1
[9/18/2023, 11:15:17 PM] [BigAssFans-i6] dblog light(1/2) Haiku - setTargetBulb: 2
[9/18/2023, 11:15:17 PM] [BigAssFans-i6] dblog light(2/2) Haiku - inserted setTargetBulb at start of funStack
[9/18/2023, 11:15:17 PM] [BigAssFans-i6] dblog light(1/2) Haiku - setTargetBulb: 1
[9/18/2023, 11:15:17 PM] [BigAssFans-i6] dblog light(1/2) Haiku - lightBrightness: 60, targetBulb: 1
[9/18/2023, 11:15:17 PM] [BigAssFans-i6] dblog light(1/2) Haiku - update Down Brightness: 60
[9/18/2023, 11:15:17 PM] [BigAssFans-i6] dblog light(1/2) Haiku - update Down ColorTemperature: 370 (2700)
[9/18/2023, 11:15:17 PM] [BigAssFans-i6] dblog light(1/2) Haiku - Down lightOnState value: 1
[9/18/2023, 11:15:17 PM] [BigAssFans-i6] dblog light(1/2) Haiku - setTargetBulb: 1
[9/18/2023, 11:15:17 PM] [BigAssFans-i6] dblog light(2/2) Haiku - inserted setTargetBulb at start of funStack
[9/18/2023, 11:15:17 PM] [BigAssFans-i6] dblog light(1/2) Haiku - setTargetBulb: 1
[9/18/2023, 11:15:17 PM] [BigAssFans-i6] dblog light(1/2) Haiku - lightBrightness: 40, targetBulb: 1
[9/18/2023, 11:15:17 PM] [BigAssFans-i6] dblog light(1/2) Haiku - update Down Brightness: 40
[9/18/2023, 11:15:17 PM] [BigAssFans-i6] dblog light(1/2) Haiku - update Down ColorTemperature: 370 (2700)
[9/18/2023, 11:15:17 PM] [BigAssFans-i6] dblog light(1/2) Haiku - Down lightOnState value: 1
[9/18/2023, 11:15:17 PM] [BigAssFans-i6] dblog light(1/2) Haiku - setTargetBulb: 1

See if<EMAIL_ADDRESS>works any better.
It explicitly tells the fan to target both bulbs.

I have same issue I believe.  When I install all this and try to use the light function it totally kills it for everything, my hardwired remote and my bluetooth remote both don't work for just the light.  I have to flip the breaker to get it working again.  Really weird.  It also still assumes I have a downlight which I don't, only an uplight, I put in the false configuration downlightEquipped false and still detects one but not there.  Seems this could be the problem but maybe not.  Fan works all the time with this but once I change the light with it once, it works but then never works again for everything and I have to flip the breaker.  Does the beta fix all of this?  Anyway to just disable the light functions completely?

The Beta might fix it.  Give it try and let me know please -<EMAIL_ADDRESS>

Works so far, many thanks and for the fast response too.

Works so far, many thanks and for the fast response too.

It didn't work for me, was still having problems in both the BAF app or homebridge, and the homebridge integration was causing weird network speed issues on my PC so I uninstalled it :-(
Big Ass Fans has basically said they will refund the fan if I return it... since I've still to this day been unable to get it to work as advertised... they're still debugging it apparently though?

I have the Haiku with the upper and lower lights and am experiencing the same problem...If I turn on lower light and then try to turn on upper light in Home app it turns the lower light off.  The same happens if I try to do it in reverse order.

Are you using<EMAIL_ADDRESS>

homebridge-i6-bigassfans v0.6.0-beta7

My bad, I missed that you were running beta7.
Can you add this debug setting to the config.json file for your fan and restart?
"debugLevels": [ [ "redflags", 1 ], [ "network", 11 ] ]
Then turn on the lower light and then try to turn on upper light in the Home app.
It'll output the raw messages which will contain private info like MAC address, IP, wifi network name, etc.  You can send the output to<EMAIL_ADDRESS>or post it here and I'll look into it.
Thanks.

Oh, and turn on debug for homebridge with the "-D" command line option when you restart or from Homebridge UI Startup Options.

Can you please assist where in the JSON I should place the debug comment...
{
"fans": [
{
"name": "Kitchen Fan",
"ip": "<IP_ADDRESS>",
"mac": "94:e6:86:ca:d9:6c",
"fanModel": "Haiku H/I Series",
"showWhooshSwitch": false,
"showFanAutoSwitch": true,
"showLightAutoSwitch": true,
"showDimToWarmSwitch": false,
"showEcoModeSwitch": false,
"disableDirectionControl": false
}
],
"platform": "BigAssFans-i6",
"_bridge": {
"username": "0E:F4:53:5A:74:9D",
"port": 57752
}
}

Sure.
"fans": [
{
"name": "Kitchen Fan",
"ip": "<IP_ADDRESS>",
"mac": "94:e6:86:ca:d9:6c",
"fanModel": "Haiku H/I Series",
"showWhooshSwitch": false,
"showFanAutoSwitch": true,
"showLightAutoSwitch": true,
"showDimToWarmSwitch": false,
"showEcoModeSwitch": false,
"disableDirectionControl": false ,
"debugLevels": [ [ "redflags", 1 ], [ "network", 11 ] ]
}
],

Log sent to Email

I received the log, thank you.

Hello.  One interesting issue I see in the log is the plugin sometimes receives a message that it doesn't correctly handle.
For instance, line 72,
[1/12/2024, 2:41:44 PM] [homebridge-i6-bigassfans] dblog network(11/11) Kitchen Fan - raw (unstuffed) chunks[0]: x.
That 'x' is an anomaly.
Can you please change the network debug level from 11 to 13 and rerun the excercise and send the new log?
Also, are you using Schedules?  The plugin has been known to get tripped up parsing messages that have to do with Schedules.

Logs sent....No I do not use schedules. Thanks!!

Hi.  The latest logs tell me some messages from your fan are being fragmented.  The plugin assumes each buffer delivered over the fan's socket connection will have one or more complete messages.  But that seems to be a bad assumption, at least in the case of your setup.
I'm assuming you're not expert at network protocol fiddling so I'll need to do a bit of work on my end to fix this problem, if this is the root cause of your issue and not a red herring.
I'll have a new beta for to try at some point, but I don't know when that will be - I hope soon.

<EMAIL_ADDRESS>addresses the anomalies in the log file.  I don't know if it will resolve your issue but if it doesn't, please reproduce it again and send the logs at the same levels as last time.  At your convenience, of course.
Thanks.

I have the same results and am emailing the log now.

When I run the latest log file through my primitive simulator beginning at 1/14/2024, 11:30:13 PM,  it shows the downlight coming on and the brightness being turned up to 100%, then the same for the uplight.  The messages from the fan indicate that the downlight remains on.
When you run this exercise and the downlight unexpectedly turns off, do the BAF app and the Home app show the downlight as being off?
For what it's worth, here's a screen recording of what the fan messages show. It's slowed down to see the effect of each message the fan sends.
https://github.com/oogje/homebridge-i6-bigAssFans/assets/1358680/826a1652-9cde-4e49-8859-908b3c04bbdb


bugfix: dark mode isnt applied until you visiting setting

What's new:

Make DarkModeSwitcher make more accessible
Fix missing DropdownUser component

Closes #425
Screenshoot
https://github.com/user-attachments/assets/83384fae-702e-4006-9ca4-3078fc96f1ef

Please see

https://github.com/oddbit/tanam/issues/422
https://github.com/oddbit/tanam/issues/400


Replacement for os.exit()

Is it possible to add a function that you can expose to Lua that exits the main() function?

I usually have deep-nested code, like running a function in main(), that runs a function, that runs a function.... etc.
Currently, if I want to end the execution of a script in the deepest level, I need to do "returns" all the way down to main() with IF-statements etc.
Would be a lot easier if I could do something like "cgi.exit()" that just end the execution of the script without killing the whole fastcgi worker.
It would also make my code a lot cleaner :)

This is a thorny potential feature. The C code in the worker thread calls the main() Lua function, then waits for a return value. If you call a C function from the Lua code that then calls lua_close (or other such mechanism) - this will invalidate the Lua state for any future requests.
This seems to cancel any real performance benefits from having persistent Lua states handling web requests, which is the whole point of luafcgid.

Understood. Do you see any way I could do it from Lua? Like a way that I could have the main() function return a value from within another function?
I just need a way to stop the current execution.

You can use the Lua command pcall:
function bar(a)
	print(a)
    error("stop")
end

function foo(a)
	bar(a)
end

function main()
	print("start")
	local ok, err = pcall(foo, "test line")
	if not ok then  -- error
		-- is it a "stop" command instead of a code error?
		if string.match (err, "stop") then return end
		-- pass real error along
		error (err, 2)
	end
	print("done")
end

Ahh!! Yes of course. Can't believe I missed that one :)
Thanks!


PCF file with CRLF(created on windows) shows error

Create a pcf file on windows and run this pcf along with the design. symbilfow does not accept these IO names.
Support for CRLF is required. Even if a whitespace after the IO_name shows error.
Attached design.
counter_design.zip

@lnsharma : Assigning to @mkurc-ant


gRPC usage with gevent and Unix sockets

What version of gRPC and what language are you using?
Python 3.8.2, gprcio 1.37.0
What operating system (Linux, Windows,...) and version?
Linux embedded / Ubuntu 20.10
What did you do?
I have a flask server which connects as a client to a gRPC server running on /var/tmp/test. The flask server is monkey patched with
from gevent import monkey
monkey.patch_all()

import grpc.experimental.gevent as grpc_gevent
grpc_gevent.init_gevent()

But when I try to open a channel on the unix socket with
url = "unix:///var/tmp/test"
channel = grpc.insecure_channel(url)

I get the error
Traceback (most recent call last):
  File "src/gevent/greenlet.py", line 766, in gevent._greenlet.Greenlet.run
  File "src/python/grpcio/grpc/_cython/_cygrpc/grpc_gevent.pyx.pxi", line 68, in grpc._cython.cygrpc.socket_connect_async
  File "src/python/grpcio/grpc/_cython/_cygrpc/grpc_gevent.pyx.pxi", line 59, in grpc._cython.cygrpc.socket_connect_async_cython
  File "/usr/lib/python3.8/site-packages/gevent/_socket3.py", line 329, in connect
    address = _socketcommon._resolve_addr(self._sock, address)
  File "/usr/lib/python3.8/site-packages/gevent/_socketcommon.py", line 395, in _resolve_addr
    r = getaddrinfo(host, None, sock.family)
  File "/usr/lib/python3.8/site-packages/gevent/_socketcommon.py", line 212, in getaddrinfo
    addrlist = get_hub().resolver.getaddrinfo(host, port, family, type, proto, flags)
  File "/usr/lib/python3.8/site-packages/gevent/resolver/thread.py", line 65, in getaddrinfo
    return self.pool.apply(_socket.getaddrinfo, args, kwargs)
  File "/usr/lib/python3.8/site-packages/gevent/pool.py", line 159, in apply
    return self.spawn(func, *args, **kwds).get()
  File "src/gevent/event.py", line 268, in gevent._event.AsyncResult.get
  File "src/gevent/event.py", line 296, in gevent._event.AsyncResult.get
  File "src/gevent/event.py", line 286, in gevent._event.AsyncResult.get
  File "src/gevent/event.py", line 266, in gevent._event.AsyncResult._raise_exception
  File "src/gevent/event.py", line 211, in gevent._event.AsyncResult.exc_info.__get__
  File "/usr/lib/python3.8/site-packages/gevent/_tblib.py", line 371, in g
    return f(a)
  File "/usr/lib/python3.8/site-packages/gevent/_tblib.py", line 432, in load_traceback
    return loads(s)
  File "/usr/lib/python3.8/site-packages/gevent/_tblib.py", line 337, in unpickle_traceback
    return ret.as_traceback()
  File "/usr/lib/python3.8/site-packages/gevent/_tblib.py", line 202, in as_traceback
    code = CodeType(
TypeError: an integer is required (got type bytes)
2020-09-20T11:50:36Z <Greenlet at 0xffff881688c0: socket_connect_async(<grpc._cython.cygrpc.SocketWrapper object at 0xfff, ('(sockaddr family=1)', 1))> failed with TypeError

gevent + UDS is not yet supported. gevent uses the custom I/O manager, which we are going to deprecate. So, we might delay this feature request until the new event engine is rolled out.


Left Align Content

I was just wondering how to left align the content of the button, I can not get it working. This is the code I am using, with auto layout constaints to fill the button to a set width.
    let test: LGButton = {
        let lg = LGButton()
        lg.leftIconFontName = "io"
        lg.leftIconColor = UIColor.brandWhite
        lg.leftIconString = "social-youtube"
        lg.titleFontName = "AvenirNext-Bold"
        lg.leftIconFontSize = 18
        lg.titleFontSize = 18
        lg.cornerRadius = 16
        lg.titleString = "Show video"
        return lg
    }()

As you can see in the image below, the title is right aligning and if I set the spacingLeading or the spacingTrailing the all the content just centres when I would like it to be left aligned.

I am aiming for it to look like this (Have not set the right font sizes or colours yet):

@kevinmann this is not something achievable with the current implementation, I'll definitely take it in mind for future releases.

Ok thank you, I will try to see if I can add the functionality and create a pull request if that is useful.

+1 on this, I think it's very important to have this feature. Without it, I cannot use the library as the button text is not centered.

Feature added in v1.1


Bug: Schedule a retro feature ignores conflicts

From end user:

I just tried it now and I think it ignored conflicts with other meetings. See the one planned for tomorrow April 18! I then tried to “suggest another time” and I’m not sure how it’ll handle this…

Details to clarify in the issue:

Confirm what the user's time is set to in the invite (Free/Busy)
Optional or mandatory participation

Fixed in #476

@amazingphilippe FYI - the proper permissions have been applied for the Bot and conflicts in schedules should now properly be avoided.
That said, logged a new feature request to provide the person calling the function the ability to confirm if the date/time works for them before creating the event.


Issue : Angular Material 2 - not rendering in full screen

Bug, feature request, or proposal:
Bug :
I am using Angular Material 2 for my Angular 2 app. My dashboard page is not rendering full page in the browser. Attached is the screenshot of the above mentioned issue.

app.component.html
<router-outlet></router-outlet>
dashboard.component.html
<md-sidenav-layout>
  <md-sidenav #sidenav mode="side" class="app-sidenav md-sidenav-over" (open)="list.focus()">

 Item 1

 Item 2

 Item 3

  </md-sidenav>

  <md-toolbar color="primary">
    <button class="app-icon-button" (click)="sidenav.toggle()">
      menu
    </button>
     Angular Material2 Portal

    <button md-button router-active [routerLink]=" ['Index']">
      Index
    </button>
    <button md-button router-active [routerLink]=" ['Home']">
      {{ 'HOME.TITLE' | translate }}
    </button>
    <button md-button router-active [routerLink]=" ['About'] ">
      {{ 'ABOUT.TITLE' | translate }}
    </button>
  </md-toolbar>

    <md-card>
      Dashboard Content Goes Here..!!
    </md-card>

    Dashboard Footer

</md-sidenav-layout>

dashboard.component.ts
import {Component, Inject, ElementRef, OnInit, AfterViewInit} from '@angular/core';
import {TranslatePipe} from 'ng2-translate/ng2-translate';

console.log('`Dashboard` component loaded asynchronously');

@Component({
  selector: 'dashboard',
  styles: [
    require('./dashboard.component.css')
  ],
  template: require('./dashboard.component.html'),
  pipes: [TranslatePipe]
})
export class Dashboard implements {
  elementRef:ElementRef;

  constructor(@Inject(ElementRef) elementRef:ElementRef) {
    this.elementRef = elementRef;
  }

  ngOnInit() {
    console.log('hello `Dashboard` component');
  }

}

Am I missing something here ?
Appreciate your help on this.
What is the expected behavior?
Full screen rendering
What is the current behavior?
Half screen rendering
Which versions of Angular, Material, OS, browsers are affected?
Chrome 51.0.2704.103 m (64-bit)
Node 6.x
Angular 2.0.0-rc.1
Angular Material 2  - 2.0.0-alpha.5

I don't know what you mean by "full screen". Are you perhaps referring to the 8px margin that browsers add by default to the document body?

I think he meant by full and half screen that height of app is not 100% and footer is not on the bottom.
You need to get container to proper size if app content is not filling >= 100% of view. This is not a bug.

@aquinum6 : The height of the container is 100% already.

Can you share your CSS? Can you reproduce the issue in a plunker? What happens when you set the height of your <app> and <dashboard> elements to 100%?

@happyvig It looks like you're not using the fullscreen attribute. The sidenav layout isn't fullscreen by default - you have to add it.

@kara i think the real problem is.. when using fullscreen attribute and footer put inside  then footer is not a sticky bottom even though using absolute position and bottom zero.

@mmalerba need discussion on the behavior of md-sidenav-layout WRT taking up the whole screen

I would avoid the fullscreen attribute, we plan to remove it. Instead structure the DOM so that md-sidenav-layout naturally takes up the full screen (see example in #1966)

set  {display:block;}

.example-container {
position: absolute;
min-height: 100% !important;
}
add this class to md-sidenav-container will resolve the issue


The Pokemon Trainer Club login not work

Hey,
i try today the PTC login but its not work.

Did you change the provider to "ptc" ? I just logged into it with my repo

PTC login went offline a lot of time, you can check the status of PTC here http://ispokemongodownornot.com/ (also as @d-pollard said, check if you set provider to ptc)

forget the ptc, thx for your help +1


criteria: Add. Learn for_window command.

A criteria is a string in the form of [class="regex.*" title="str"].
It is stored in a struct with a list of tokens which is a
attribute/value pair (stored as a crit_token struct). Most tokens will
also have a precompiled regex stored that will be used during criteria
matching.
for_window command: When a new view is created its metadata is tested
against all stored criteria, and if a match is found the associated
command list is executed.
Unfortunately some metadata is not available in sway at the moment
(specifically instance, window_role and urgent). Any criteria
string that tries to match an unsupported attribute will fail.
(Note that while the criteria code can be used to parse any criteria
string it is currently only used by the for_window command.)
So this patch became larger than anticipated, sorry about that, but it works nicely. Please review, comments are welcomed. If you want anything done differently, just let me know.

This is going to require thorough review and testing, so it'll be a while before this is merged. Thanks!

No problem, I figured it would ;-)

Done refactoring, and I've also fixed the other things you mentioned (whitespace, made app_id a regex). Please review again, comments are always welcomed.

Looks good. Will merge once that one style error is fixed.

Excellent, thanks for your time!


Update site metadata that appears in SE results

Current search engine result for the site is missing a description/other info. Can we update the metadata so it gives a better description?

Metadata tweaked in #216, but perhaps we need to do something more to get a proper description and title for the site in Google? Would a sitemap.xml help?

Issue is that production server robots.txt file not match github, has disallow: /.
https://technicalseo.com/tools/robots-txt/ seems to confirm this is the issue

Jens to find and send improved robots.txt

Added in #221


Loading of .dll files with .toml with Python 3.8

Using the .toml file to provide the paths to the .dll files,
ctypes throws an error when using python 3.8:
Traceback (most recent call last):
  File "C:\Users\engelen\Miniconda3\envs\imod6\Scripts\imodc-script.py", line 33, in <module>
    sys.exit(load_entry_point('imod-coupler', 'console_scripts', 'imodc')())
  File "c:\tools\python_packages\imod_coupler\imod_coupler\__main__.py", line 60, in main
    config = Config(config_path, timing)
  File "c:\tools\python_packages\imod_coupler\imod_coupler\config.py", line 34, in __init__
    self.get_kernel_data(kernels, timing)
  File "c:\tools\python_packages\imod_coupler\imod_coupler\config.py", line 80, in get_kernel_data
    self.kernels[kernel] = XmiWrapper(
  File "c:\tools\python_packages\xmipy\xmipy\xmiwrapper.py", line 65, in __init__
    self.lib = CDLL(lib_path, winmode=0x08)
  File "C:\Users\engelen\Miniconda3\envs\imod6\lib\ctypes\__init__.py", line 373, in __init__
    self._handle = _dlopen(self._name, mode)
FileNotFoundError: Could not find module 'c:\Users\engelen\mfmetaswap\MetaSWAP.dll' (or one of its dependencies). Try using the full path with constructor syntax.

When using python 3.7, however, there is no issue.
Seems to be caused by the changed dll search mechanism in python 3.8:
https://stackoverflow.com/questions/59330863/cant-import-dll-module-in-python

That should be fixed within xmipy.
Is your local xmipy installation up to date?

It is on the WCP, there I used the latest developer version

Annoying, not sure why adding winmode=0x08 fixed it on my machine, but not on yours...

Tested it with @JoerivanEngelen, not reproducable on local machine


Performance

my environment running ArangoDB
I'm using the latest ArangoDB of the respective release series:

[x] 2.8
[ ] 3.0
[ ] self-compiled devel branch

On this operating system:

[ ] DCOS on

[ ] AWS
[ ] Azure
[ ] own infrastructure

[ ] Linux

[ ] Debian .deb
[ ] Ubuntu .deb
[ ] SUSE   .rpm
[ ] RedHat .rpm
[ ] Fedora .rpm
[ ] Gentoo
[ ] docker - official docker library
[ ] other:

[ ] Windows, version:
[x] MacOS, version:

this is an AQL-related issue:
[ ] I'm using graph features
I'm issuing AQL via:

[x] web interface with this browser:     running on this OS: OS X
[ ] arangosh
[ ] this Driver:

I've run db._explain("<my aql query>") and it didn't shed more light on this.
The AQL query in question is:
This is my query and its very slow. What could I do to enhance the performance?
The accommodation collection has ~14,000 documents and suppliers ~6,000 documents.
Query string:
FOR sup IN @suppliers
  FOR supplier IN suppliers
    FILTER supplier._key == CONCAT(sup, @countryCode)
    RETURN {
       supplier: supplier,
       accommmdations: (
           FOR prod IN @products
               FOR acc IN accommodations
                   FILTER acc.productID == prod &&
                          acc.supplierId == supplier.supplierId &&
                          acc._key == CONCAT(acc.productID, @countryCode)
                   RETURN acc
       )
   }

Execution plan:
 Id   NodeType                   Est.   Comment
  1   SingletonNode                 1   * ROOT
  2   CalculationNode               1     - LET #6 = [ "8119", "4803" ]   /* json expression */   /* const assignment */
  3   EnumerateListNode             2     - FOR sup IN #6   /* list iteration */
 17   IndexNode                     2       - FOR supplier IN suppliers   /* primary index scan */
 14   SubqueryNode                  2         - LET #4 = ...   /* subquery */
  7   SingletonNode                 1           * ROOT
  8   CalculationNode               1             - LET #10 = [ "49809", "49816", "45250", "36842", "39872" ]   /* json expression */   /* const assignment */
  9   EnumerateListNode             5             - FOR prod IN #10   /* list iteration */
 10   EnumerateCollectionNode   69405               - FOR acc IN accommodations   /* full collection scan */
 11   CalculationNode           69405                 - LET #12 = (((acc.`productID` == prod) && (acc.`supplierId` == supplier.`supplierId`)) && (acc.`_key` == CONCAT(acc.`productID`, "THA")))   /* simple expression */   /* collections used: acc : accommodations, supplier : suppliers */
 12   FilterNode                69405                 - FILTER #12
 13   ReturnNode                69405                 - RETURN acc
 15   CalculationNode               2         - LET #14 = { "supplier" : supplier, "accommodations" : #4 }   /* simple expression */   /* collections used: supplier : suppliers */
 16   ReturnNode                    2         - RETURN #14

Indexes used:
 By   Type      Collection   Unique   Sparse   Selectivity   Fields       Ranges
 17   primary   suppliers    true     false       100.00 %   [ `_key` ]   ((supplier.`_key` == CONCAT(sup, "THA")))

Optimization rules applied:
 Id   RuleName
  1   use-indexes
  2   remove-filter-covered-by-index

The issue can be reproduced using this dataset:
Please provide a way to create the dataset to run the above query on; either by a gist with an arangodump, or `db.collection.save({my: "values"}) statements. If it can be reproduced with one of the ArangoDB example datasets, it's a plus.

I have created the following test dataset for reproduction:
db._create("accommodations");
for (i = 0; i < 14000; ++i) {
  var id = String(i);
  db.accommodations.insert({ supplierId : String(i % 401), productID : String(i), _key: String(i) + "THA"  });
}
db._create("suppliers");
for (i = 0; i < 6000; ++i) {
  db.suppliers.insert({ supplierId : String(i), _key: String(i) + "THA" });
}

I have used the following bind parameters when running the query:
bind = {
  products: [ "1234", "4432", "3324", "5993", "4958" ],
  suppliers: [ "8119", "4803" ],
  countryCode: "THA"
};

Not sure if those are appropriate, but it was the best I could come up with given limited information about the dataset.
First of all, the query runs a few times faster in my 3.0 than in my 2.8 ArangoDB, though the execution plans are identical in both versions.
The main problem of the query seems to be that it does not use any index on accommodations in the subquery, and will always perform a full collection scan. I am not sure if there are any indexes on supplierId or productID in accommodations, but it seems there aren't. The index on _key cannot be used to look up a document from accommodations in this query, because the filter condition on _key refers to the document itself: (acc._key == CONCAT(acc.productID, "THA"). In order for this to work, the document must be fetched first and the attribute productID must be extracted. Then this would provide the condition for the _key index lookup. However, the document has already been fetched, so no index will be used. Worse, this action will be performed for all documents from the collection.
The key to making this query run faster is therefore to get rid of the full collection scan on accommodations. This can be achieved by either indexing supplierId or productID in that collection. But the best tuning will be to change the filter condition on _key from (acc._key == CONCAT(acc.productID, "THA") to some condition like (acc._key == CONCAT(prod, "THA")) which does not refer to the document on both sides of the expression. Not sure if this particular condition is appropriate, but as long as you don't refer to the document on both sides of the condition, the index on _key will be used.

The above will help in both 2.8 and 3.0, though the query runs a lot faster with and without the modifications in my 3.0 when comparing it to my 2.8 build.

Thank you jsteemann.
Works perfect. By changing the condition the response went from over 3 min to 2 sec.

How could I get the result to be nested like this:
{supplier:{
supplierId: "12345",
accommodations: [
{ID:1, name: accom1}, {ID:2, name: accom2}...]
},
supplier:{
supplierId: "67890",
accommodations: [
{ID:3, name: accom3}, {ID:4, name: accom4}...]
}....
}

Try changing the RETURN part of the query like this:
RETURN {
  supplier: supplier.supplierId,  /* return only Id of supplier */
  accommmdations: (
    FOR prod IN @products
      FOR acc IN accommodations
      FILTER /* ...  use filter condition as usual */
      RETURN {
        ID: acc.ID,  /* attribute that contains accommodation id */
        name: acc.name  /* attribute that contains accommodation name */
      }
  )
}

Thank you jsteemann.
But I need the whole supplier document with the accommodation list inserted as an array.

RETURN {
  MERGE([
    supplier,
    { accommmdations: (FOR prod IN @products ... RETURN ...) }
  ])
}

I get a error message when I use MERGE.
{"errorNum":1512,"errorMessage":"unknown variable 'use of unknown variable 'MERGE' in object literal near '([\n        supplier: supplier.su...' at position 5:14' (while parsing)"}

I think my previous answer had superfluous square brackets around the MERGE. It should rather be:
RETURN MERGE([
  supplier,
  { accommmdations: (FOR prod IN @products ... RETURN ...) }
])

Shouldn't it be like this?
RETURN MERGE(
  supplier,
  { accommodations: (FOR prod IN @products ... RETURN ...) }
)

It should return the full supplier document with an additional attribute accommodations with the sub-query result (which is an array).

Thank's.
Worked!


fix flakey test which can inherit MDCs from other testcases

I think the MDC when you create a log event gets some static magic so if you don't have one to avoid magic you can just pass in an empty map.
The failure I guess depends on the order run.

Codecov Report

Merging #10 into master will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master      #10   +/-   ##
=========================================
  Coverage     87.56%   87.56%
  Complexity       90       90
=========================================
  Files            11       11
  Lines           201      201
  Branches         11       11
=========================================
  Hits            176      176
  Misses           23       23
  Partials          2        2

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 ca5aa1f...c2947f5. Read the comment docs.

Merge with https://github.com/mustaine/logcapture/pull/12


Refactor client generation

The client generation does not support dynamic extension fields (#79). This, and the fact that we need to wrap it anyway on the frontend imply that we can improve here.
I see the following options:

Dirty hacks on current solution witch code generation.
Copy API models from the server to the client (easy, but no type safety).
Shared library for server and client containing the API models (incl. class-validator annotations for model validation).
Martin's advanced solution using zod (probably does not play well with nestjs framework).

@MBuchalik do you have an opinion?

I do have an idea, but this is most likely an overkill. Let's talk about that in our meeting. Just to give a quick overview:
First of all, as a reminder, this is roughly how my Endpoint Description library (i.e. the super-type-safe library) has defined endpoints:
export const SomeEndpointDescription = buildEndpointDescription({
  method: EndpointMethod.POST,

  url: someUrl,
  urlParamsType: z.object({ someParam: z.string() }),

  requestPayloadType: z.object({
     myPayloadParam: z.number(),
  }),

  responseTypes: {
    201: z.object({
      id: z.number(),
    }),
    403: z.undefined(),
    404: z.undefined(),
  },
});

We have already seen that it is possible to build custom decorators that invoke other decorators (see e.g. #58). So we could build a decorator that does all of the heavy-lifting for us:
@OurApiProperty(SomeEndpointDescription, 201)
async handleTheRequest(...) {...}

It would "de-sugar" to something like this:
@Post(somehowExtractThePath)
@HttpCode(201)
@ApiResponse({
  status: 201
})
async handleTheRequest(...) {...}

Problems:
0. This is probably not the Nestjs way to do things :D

Decorators cannot modify the type annotations of a function. So users have to explicitly write something like this: async handleTheRequest(params: InferTheParamsPlease<typeof SomeEndpointDescription>): InferTheReponseTypePlease<typeof SomeEndpointDescription, 201>

Luckily, we can at least strictly type the decorator so that we can catch cases where a wrong annotation is being used.
The Swagger integration would be pretty hard, especially the JSON Schema feature
Ideally, we would define "known error responses". But I think this is not that easy with Nestjs.

Again, these were just quick notes of an idea of mine - let's talk about that in a meeting.

Current design improved in #91. Closing for now.


Add Google Authentication to the Application #340

This PR updates the Firebase configuration by replacing hardcoded credentials with environment variables to enhance security. Sensitive keys such as apiKey, authDomain, and others are now stored in environment variables, ensuring that they are not exposed in the codebase. This also improves flexibility for different environments (e.g., development, production) by allowing the configuration to be dynamically set based on environment-specific values.

I have added Google authentication

I have added Google authentication

Demo vedio

okay

Thank you for your feedback! I will create a demo video showcasing the Google authentication implementation. Please let me know if there are specific features or steps you’d like me to highlight.

No

https://github.com/user-attachments/assets/06692332-9eb6-49fd-860c-84e9134918a3

@simmi-verma can you please change the login to log out if the user login already

@simmi-verma can you please change the login to log out if the user login already

You don't required to write the functionality of logout just change  the login to logout

Ok

https://github.com/user-attachments/assets/edc5790b-8c31-41c6-a304-fd00adf07134
"I have changed 'Login' to 'Logout' when clicking on 'login in with Google'.

@simmi-verma please give a vedio

https://github.com/user-attachments/assets/64ffc432-2fe2-41c6-9f00-41201f5bd158


Port auto-linking feature

Descriptive summary
Currently in DAMSPAS, a hyperlink in any displayed text is "auto-linked" via the Rails autolink gem [1]. We need to port this feature to Horton.
If there is a newer/better gem that provides the same functionality, please feel free to recommend.

https://github.com/ucsdlib/damspas/blob/develop/Gemfile#L26

Rationale
The feature is expected behavior for a variety of metadata fields, such as Description, which frequently reference external URLs. As a result, this feature needs to be ported to Horton.

@mcritchlow rails_autolink gem has been added to horton. What page or fields to add auto_link?

Great question. This is most applicable to notes in the object and collection view pages. How granular are we getting in the current damspas application? Do we get down to the individual field level?

In damspas, the auto_link is applied to the following files:
views/catalog/_collection.html.erb
views/shared/fields/_custodial_responsibility_note.html.erb
views/shared/fields/_note.html.erb
views/shared/fields/_preferred_citation_note.html.erb
views/shared/fields/_scope_of_content.erb

Perfect. So I think, for now, mapping to the equivalent of that in horton, following the new data model map and hyrax design patterns.
If we haven't migrated everything yet, perhaps we can cover what we can for now, and then create a separate issue for things we can't yet cover?

A related question, is there any support in Hyrax for this already we can use or take advantage of?

Yes, It is already support in Hyrax:
https://github.com/projecthydra-labs/hyrax/blob/master/hyrax.gemspec#L53

Great! So, do we need to explicitly do anything on our end? Or are rendered fields already wrapped with auto_link?

@mcritchlow  Here is the screenshot which shows the auto_link has been applied already, looking at the General note and Description fields:

Perfect, thanks @hweng. I'll mark this closed then!


[FEATURE] Adding custom footer feature to dialog

This adds custom footer support to Dialog. When the customFooter aggregation is set the dialog will ignore the beginButton, endButton, and buttons aggregations and render the contents of customFooter.
I also added a demo/test in testsuite.
This closes #2012 .

Hello @tjsangster ,
Thank you for your pull request. I've created an internal record<PHONE_NUMBER>. The status of the issue will be updated here in GitHub.
Regards, Diana

Hi @tjsangster ,
Unfortunately this buttons alignment is not part of the Fiori Concept, that OpenUI5 follows.
You can see more information on this link: https://ux.wdf.sap.corp/fiori-design-web/dialog/
"The action buttons on a desktop device are right-aligned. "
Therefore I will reject this pull request and close it.
Best Regards,
Lidiya

Hi @LidiaBobeva,
Just making sure I understand you correctly. Are you referring to my example in the test suite or the fact that it's left up to the user to follow Fiori design guidelines and align the buttons in the correct way? The example can always be changed to follow Fiori guidelines.
Also, it appears the link you mentioned is either broken or internal. Could you share a working link?
Thanks,
Tyler

Hi @tjsangster ,
Sorry for the link. This is the correct one: https://experience.sap.com/fiori-design-web/dialog/
There was a discussion with the designers and for now we don't want to allow usage of controls, different than buttons in the footer of the Dialog. If in future we get additional feature requests and decide to change this we will have in mind your request.
Best Regards,
Lidiya


Update site-recovery-vmware-to-azure.md

Fixed metdata fields and line-spacing to generate the appropriate html tags

Hi @bsiva, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

It looks like you're working at Microsoft (bsiva). If you're full-time, we DON'T require a contribution license agreement.

If you are a vendor, or work for Microsoft Open Technologies, DO please sign the electronic contribution license agreement. It will take 2 minutes and there's no faxing! https://cla.azure.com.

TTYL, AZPRBOT;


Module is not findable in Terraform registry

https://registry.terraform.io/search/modules?q=cloudeteer

Wrote an E-Mail to<EMAIL_ADDRESS>A HashiCorp Ticket was created. Waiting on reply.

It took some time, but now we can be found 🥳


Running the contributed command: 'emmet.expandAbbreviation' failed.

VSCode Version: 1.30.0-ins
OS Version: win7x64

Version: 1.30.0-insider (system setup)
Commit: c72cb129f2a0b8117c9b01f3767026041d7d1d31
Date: 2018-11-13T06:19:28.504Z
Electron: 2.0.12
Chrome: 61.0.3163.100
Node.js: 8.9.3
V8: 6.1.534.41
Architecture: x64

Trying to expand a word in the .html and getting this...

Trying to do it with "Tab", as always. Tried to change the key-binding. The same effect.

So, when I press "Tab" - nothing happens in console.
But when I type any letter - console gets errors:
  ERR f.extractAbbreviation is not a function: TypeError: f.extractAbbreviation is not a function
	at t.DefaultCompletionItemProvider.provideCompletionItemsInternal (c:\! SOFT !\VS Code Insiders\resources\app\extensions\emmet\dist\extension.js:1:46280)
	at t.DefaultCompletionItemProvider.provideCompletionItems (c:\! SOFT !\VS Code Insiders\resources\app\extensions\emmet\dist\extension.js:1:45076)
	at c:\! SOFT !\VS Code Insiders\resources\app\out\vs\workbench\node\extensionHostProcess.js:543:791
	at t.asThenable (c:\! SOFT !\VS Code Insiders\resources\app\out\vs\workbench\node\extensionHostProcess.js:136:93)
	at new Promise (<anonymous>)
	at Object.t.asThenable (c:\! SOFT !\VS Code Insiders\resources\app\out\vs\workbench\node\extensionHostProcess.js:136:61)
	at e.provideCompletionItems (c:\! SOFT !\VS Code Insiders\resources\app\out\vs\workbench\node\extensionHostProcess.js:543:750)
	at c:\! SOFT !\VS Code Insiders\resources\app\out\vs\workbench\node\extensionHostProcess.js:556:911
	at e._withAdapter (c:\! SOFT !\VS Code Insiders\resources\app\out\vs\workbench\node\extensionHostProcess.js:549:554)
	at e.$provideCompletionItems (c:\! SOFT !\VS Code Insiders\resources\app\out\vs\workbench\node\extensionHostProcess.js:556:873)
	at t._doInvokeHandler (c:\! SOFT !\VS Code Insiders\resources\app\out\vs\workbench\node\extensionHostProcess.js:639:963)
	at t._invokeHandler (c:\! SOFT !\VS Code Insiders\resources\app\out\vs\workbench\node\extensionHostProcess.js:639:635)
	at t._receiveRequest (c:\! SOFT !\VS Code Insiders\resources\app\out\vs\workbench\node\extensionHostProcess.js:638:196)
	at t._receiveOneMessage (c:\! SOFT !\VS Code Insiders\resources\app\out\vs\workbench\node\extensionHostProcess.js:637:126)
	at c:\! SOFT !\VS Code Insiders\resources\app\out\vs\workbench\node\extensionHostProcess.js:635:10
	at c:\! SOFT !\VS Code Insiders\resources\app\out\vs\workbench\node\extensionHostProcess.js:126:16
	at e.fire (c:\! SOFT !\VS Code Insiders\resources\app\out\vs\workbench\node\extensionHostProcess.js:127:466)
	at a (c:\! SOFT !\VS Code Insiders\resources\app\out\vs\workbench\node\extensionHostProcess.js:179:853)
	at Socket.n._socketDataListener (c:\! SOFT !\VS Code Insiders\resources\app\out\vs\workbench\node\extensionHostProcess.js:180:50)
	at emitOne (events.js:116:13)
	at Socket.emit (events.js:211:7)
	at addChunk (_stream_readable.js:263:12)
	at readableAddChunk (_stream_readable.js:250:11)
	at Socket.Readable.push (_stream_readable.js:208:10)
	at Pipe.onread (net.js:594:20)

I have the exact same issue in Linux Ubuntu 18.04 after updating.

Same issue on MacOs:
1.30.0-insider
c72cb129f2a0b8117c9b01f3767026041d7d1d31
x64

Relevant settings.json content:
  "emmet.includeLanguages": {
    "blade": "php",
    "javascript": "javascriptreact",
    "vue": "html",
    "vue-html": "html"
  },
  "emmet.showAbbreviationSuggestions": false,
  "emmet.triggerExpansionOnTab": true,

if i press tab at all i get the "Running the contributed command:'emmet.expandAbbreviation' failed." notification.

Thanks for reporting everyone
I see this only in the latest Insiders, but not when running the code from the master branch.
So, lets wait and see if tomorrow's Insiders fixes this.

Version 1.30.0-insider (1.30.0-insider)
Has same error!

@ramya-rao-a still unresolved, unfortunately! I've simply disabled emmet tab completion for now.

We were able to narrow down the root cause to be missing node_modules folder for the emmet extension in the latest Insiders which in turn was due to a bug in our build scripts.
Fixed with https://github.com/Microsoft/vscode/commit/3c6b6e614d4a70d5a84e3d5b80bf7baa6cdb457a. Tomorrow's Insiders will have the fix.
Thanks for your patience everyone!

Confirmming it's fixed in Version 1.30.0-insider (1.30.0-insider)

@ramya-rao-a What about non insider version? I admitted that 1.29.1 arrived today, but still with emmet bug ((

@sshmyg The bug only got introduced in the Insider version. What issue are you seeing with 1.29.1? Do you see the same error Running the contributed command:'emmet.expandAbbreviation' failed ?

@ramya-rao-a 1.29.0 had failed with this command but 1.29.1 - not.

Works fine without "editor.tabCompletion": "off", for 1.29.1.


Add verbose options to coav-sim - v2

This patch adds 4 verbose options to coav-sim: Log-only, log+stdout,
stdout-only and no output.
Signed-off-by: Rodrigo Chiossi<EMAIL_ADDRESS>

LGTM, just check my comment and you can merge with whatever string you think its better.

updated and merged.


Load Removal?

Is it possible for this tool to support load removal?

Out of scope.
If you want to remove the fake loading screen, then use the 2.3 beta on Steam (VVVVVV's source code got released!), or if you want to stay on 2.2, then look at this.
But also, as far as I know doing either of these is technically not allowed by the speedrunning rules, if you're planning on submitting to the speedrun.com leaderboards.

Wait this tool pertains to a particular game? I was only speaking of general support for pausing and unpausing the timer for load removal.

Yeah, it was originally written for VVVVVV (which has an unusual memory layout in that every single thing is allocated on the stack, so this tool was created to read memory off the stack). Sorry for misunderstanding.

No problem. I was glancing into the matter of load removal as I'm using a VM emulator in Linux for a game and I was curious on if there was anything out there on Linux for scripting load removals for any timers.

Hi,
so for context. Yes initially this was purely for VVVVVV, but I made it more general since then. Load removal was not on my radar, but can be easily added.
The way this works is entirely trigger based. pyautosplit watches the memory of (currently) exactly one process and sends a command to the network component of LiveSplit (and optionally can set debugger like break points to calculate some memory locations), I do not know how well this works through a virtual machine, though... you would have to know the memory layout of the VM and of the Application, but in theory this should be manageable.

This is now implemented in 53179a64c6cd3f38cfdb4d301dea723660d21228.
Mind you this is the develop branch, sometimes things break there (but I try to test everything I push there)


Feature: Version name/number/date in app

Feature Details
Which version of the Ewe Sticker app you are running should be displayed somewhere in the app.
Is your feature request related to a problem? Please describe
I looked in the app first to find out which version I had when issuing a bug report, but didn't find it. Many users might not know where to find this information, and will look in the app first, and they might get frustrated in not finding it.
Adding the version name in the app somewhere would make bug reports less painful for people. Some other apps, like Anki, has this feature. Most PC programs do.
Describe the solution you'd like
Render the version name somewhere in the app.  Perhaps under "Info".
Describe alternatives you've considered
You could just let users find out the version number in other ways, like through settings.

Thanks for this :)
Fixed in https://github.com/FredHappyface/Android.EweSticker/tree/20240825


Missing cross-references

Anchors: (XML Line 001229): Crossreference target rfc4287 is undefined
Anchors: (XML Line 001273): Crossreference target rfc6838 is undefined
Anchors: (XML Line 002706): Crossreference target rfc6838 is undefined
Anchors: (XML Line 003199): Crossreference target rfc6838 is undefined
Anchors: (XML Line 004408): Crossreference target json-tilesetmetadata-requirements-class is undefined
Anchors: (XML Line 004408): Crossreference target json-tilesetmetadata-requirements-class is undefined
AsciiDoc Input: (Section: range set): term reference not in expected format:<xref target="ogc07-036" type="inline"/>>

@manuel489 could you have a look to see if you can add the missing references and find the correct references? Thanks.
I also don't know what the last warning was:
AsciiDoc Input: (Section: range set): term reference not in expected format:<xref target="ogc07-036" type="inline"/>>

Perhaps @opoudjis knows.

@ronaldtse @manuel489 , I am extremely overloaded. Sample Asciidoc, or you're not getting a response.

@opoudjis I'm really just facilitating you here. I am overwhelmed.

=== range set

set of all values a function stem:[f] can take as its arguments vary over its domain

[.source]
<<ogc07-036>>>

...

[bibliography]
= Bibliography
* [[[ogc07-036, OGC 07-036]]]

Wow, bibliography had one equal sign. FYI @metanorma/editors .

I found out why now. There were two instances of ogc07-036. The second instance was not being detected because the encoding of the bibliographic section was wrong (1 equal sign). Now I get this:
Anchors: (XML Line 000001): Anchor ogc07-036 has already been used at line 1
Multiple instances of same ID: ogc07-036

And this:
[.source]
<<ogc07-036>>>

3 greater than signs instead of 2.


go.mod: google/certificate-transparency-go v1.1.4, etcd v3.5.6

go.mod: github.com/google/certificate-transparency-go v1.1.4
This removes 650K+ lines dependencies that were unused and (most of them)
only there for testing in upstream (tools.go etc, for force dependencies, joy!)

go.mod: go.etcd.io/etcd/server/v3 v3.5.6
Updating this after we updated github.com/google/certificate-transparency-go
to prevent unneeded code-churn of dependencies that have now been removed.
No significant changes in vendored code, but removes the unmaintained
and deprecated github.com/form3tech-oss/jwt-go dependency from the tree.
full diff https://github.com/etcd-io/etcd/compare/server/v3.5.5...server/v3.5.6

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@9aad6ba). Click here to learn what that means.
The diff coverage is n/a.

:exclamation: Current head c155506 differs from pull request most recent head 62a5244. Consider uploading reports for the commit 62a5244 to get more accurate results

@@            Coverage Diff            @@
##             master    #3097   +/-   ##
=========================================
  Coverage          ?   62.18%
=========================================
  Files             ?      153
  Lines             ?    24176
  Branches          ?        0
=========================================
  Hits              ?    15033
  Misses            ?     7600
  Partials          ?     1543

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


flake8 library/igw_purge.py

Split from #5711
Signed-off-by: Wong Hoi Sing Edison<EMAIL_ADDRESS>

@hswong3i thanks for these contributions, we appreciate that. However, you should have sent only 1 PR for this, there's no need to have 1 commit = 1 PR for this (it's wasting precious CI resources).
Even 1 commit for all modules would have been enough.

@hswong3i thanks for these contributions, we appreciate that. However, you should have sent only 1 PR for this, there's no need to have 1 commit = 1 PR for this (it's wasting precious CI resources).
Even 1 commit for all modules would have been enough.

I try everything in 1 PR before by suddenly all CI from green become failed. Don't know if it is related to other else commit or my changes, that's why I split it into multiple PRs...
May I confirm that master CI should be all passing now, right?

@hswong3i you should close all these PRs and reopen the #5711

closing in favor of #5739


COCO上训练号的模型

请问是否打算分享COCO上训练好的模型？

we will release code and some model based on mmdetection soon发自我的iPhone------------------ 原始邮件 ------------------发件人: zhu2014yi<EMAIL_ADDRESS>2020年4月7日 12:56收件人: PKUbahuangliuhe/CBNet<EMAIL_ADDRESS>Subscribed<EMAIL_ADDRESS>回复：[PKUbahuangliuhe/CBNet] COCO上训练号的模型 (#21)
请问是否打算分享COCO上训练好的模型？
—You are receiving this because you are subscribed to this thread.Reply to this email directly, view it on GitHub, or unsubscribe.
[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/PKUbahuangliuhe/CBNet/issues/21",
"url": "https://github.com/PKUbahuangliuhe/CBNet/issues/21",
"name": "View Issue"
},
"description": "View this Issue on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]

thanks
在 2020年4月7日星期二，Yudong Liu<EMAIL_ADDRESS>写道：

we will release code and some model based on mmdetection
soon发自我的iPhone------------------ 原始邮件 ------------------发件人: zhu2014yi <
<EMAIL_ADDRESS>2020年4月7日 12:56收件人: PKUbahuangliuhe/CBNet <
<EMAIL_ADDRESS>Subscribed<EMAIL_ADDRESS>回复：[PKUbahuangliuhe/CBNet] COCO上训练号的模型 (#21)
请问是否打算分享COCO上训练好的模型？
—You are receiving this because you are subscribed to this thread.Reply to
this email directly, view it on GitHub, or unsubscribe.
[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/PKUbahuangliuhe/CBNet/issues/21",
"url": "https://github.com/PKUbahuangliuhe/CBNet/issues/21",
"name": "View Issue"
},
"description": "View this Issue on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/PKUbahuangliuhe/CBNet/issues/21#issuecomment-610192205,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AKF2SBPLXKH5P4WM6ABJ3MTRLK6X5ANCNFSM4MCZYJIQ
.


nitdoc: TOC generation stubs

This PR introduce the base infrastructure for TOC generation.
TOC generation is accessible through a new documentation phase doc_gen_toc enabled with the option nitdoc --gen-toc.
With this phase are introduced the main TOC analysis (aka ConcernsWeighter) that can be called with the option --toc-analysis <analysis name>.
As a proof of concept, I gave some main analysis stubs. I still have some code to push within each analysis to make them produce better results.
This all come with a new benchmark tool used to compare each analysis result against an ideal documentation TOC. The tool is called bench_gen_toc and is located in benches/.
This is more or less usable as this but produce poor results without all the missing heuristics.
To generate the TOC with a specific analysis (natural give the less weird results right now):
nitdoc --no-render --gen-toc --toc-analysis natural --toc-output my-generated-toc.md my/lib/to/analyse.nit

It will generate a README stub file with a basic concept hierarchy to document.
Once modified and adapted to what you want, you can place it as the README of your package/group so it will be used for the complete README:
nitdoc my/lib/to/analyse.nit -d my-doc

There is a lot of work comming on this but it gives the general idea.

+1


HttpClient should reject authority that doesn't match client URL?

Currently, it's possible to send a request with a different authority than the client stub was created with
HttpClient client = HttpClient.of("https://github.com/");
HttpRequest req = HttpRequest.of(HttpMethod.GET, "/");
req.authority("bitbucket.org");
client.execute(req);

This will send a request to github.com with authority bitbucket.org. This isn't terrible but I found with 0.69.0, the authority is actually used in TLS negotiation. It's extremely likely that when using TLS, such a mismatch of URL and authority will fail with cryptic TLS handshake errors.
I'm not sure if it's better to do anything about this, as it is conceivable that a server/client is set up that such an abuse of authority works. But it was pretty surprising and hard to debug when running into it as a bug. For reference, I ran into it with a proxy service, which is probably where it is most likely to crop up.
(ctx, req) -> {
  req.headers().path("/proxied");
  // Wish there was an easier way of knowing I need to do this too
  // req.authority("");  Without this, the request will fail to do TLS handshake.
  // TLS handshake failures usually happen deep in JDK or netty and are very hard to
  // troubleshoot :(
  return client.execute(req);
}

/cc @gavinreaney

Yeah I'm not sure how common either behavior is (for that example I'm a bit surprised internal hosts would have the external cert provisioned to them) so not sure what the default would be but an option would be nice.

Think this was fixed by https://github.com/line/armeria/pull/1961

Thanks, @anuraaga


Use new features introduced from TypeScript Compiler v2.0

After upgrade tsc to 2.0, we can use more compiler options to make our code more safety, cleanly, and massive.
Examples:

strictNullCheckscompiler option.
noUnusedLocals compiler option.
noImplicitThis compiler option.
noUnusedParameters compiler option.
Use npm's @types packages to manage d.ts files.
Use readonly modifiers.
Use never types.
Glob support in tsconfig.json
And mores...

Official release note:

What's new in TypeScript · Microsoft/TypeScript Wiki

@kwonoj could you change labels of this issues? I don't have the permission to edit it.

@kwonoj thank you.

related issue : https://github.com/ReactiveX/rxjs/issues/1915
maybe non-nullable type's also needed.

We gathered related issues to this once, but I think this is too generic "meta" bug. We have been landed upgrading tsc 2.0. So we should considers for each issues.


Upgrade to OpenSearch 2.4.0

The release date for OpenSearch 2.4 is November 10th, 2022
The build ticket is here: https://github.com/opensearch-project/opensearch-build/issues/2649
Once the OpenSearch release is officially available we can upgrade.

Hello, @lukas-vlcek We had to move the release date to Nov 15 due to last minute issues identified during release process. We have updated the timeline on the release issue. Let us know if you have any questions.

Hi @bbarani Thanks for letting us know. Really appreciate it!

Closed by https://github.com/aiven/prometheus-exporter-plugin-for-opensearch/pull/111


Update Vaim-sms.sh

@Strangernet369  Thanks.

🤔🤔🤔 who are you
On Sat, Aug 5, 2023, 3:02 AM Padsala Tushal @.***>
wrote:

@Strangernet369 https://github.com/Strangernet369 Thanks.
—
Reply to this email directly, view it on GitHub
https://github.com/padsalatushal/Vaim-sms/pull/1#issuecomment-1666177292,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BAYVYE3Y24J5TIX3W6L4OD3XTVPPVANCNFSM6AAAAAA3ETIRHA
.
You are receiving this because you were mentioned.Message ID:
@.***>


Tinkerbell: patch missing mount paths for BottleRocket upgrade

When using BottleRocket we are required to alter kubeconfig paths that are mounted into the scheduler and controller-manager containers launched by the kubelet. This is because BottleRocket uses different paths.
Other providers patch using the YAML template ensuring new nodes created during an upgrade have the correct host mount paths.

/test eks-anywhere-presubmit

Hi @chrisdoherty4
While scaling up a node group (post successful cluster provisioning), I am facing an issue in the new VMs.
The VMs are moving to Provisioned phase but not to Running phase while hard-drive boot after restart.
The reason is kubelet failed to start.
Unable to ssh into the VM to debug as ssh is not responding.
I tried injecting the user info via workflow action as mentioned here (https://github.com/aws/eks-anywhere/blob/main/examples/tinkerbell/adding-a-user-to-tinkerbelltemplateconfiguration.md) but the workflow fails.
I believe the above user info injection is specific to Ubuntu, I am using bottlerocket OS.
Any idea how to get through this issue?
eksctl version: latest
anywhere plugin release version: 0.13.0
anywhere plugin release number: 25


Encrypt PPI data

https://shorts.dokkuapp.com/securing-user-emails-in-rails/

Better to use SSO provider.


Compatibility with render Scale

Hi! I was testing out your implementation of volumetric light which I found very apealing.
We are experimenting with a graphical style involving lowering Render Scale for a more low res aesthetic but noticed that emphazises noise flickering with object shadows:
In this clip I'm lowering Render Scale from 1 to 0.25 which is what we are targeting.
https://github.com/user-attachments/assets/0c67d4f5-95ec-4686-b513-37d26994e5e5
I just thought I'd get your opinion on it. I totally understand if the flickering is just the way it is.

Actually just experimenting with density and additional light radius gives a better effect at even low Render Scales.

Hey, thanks for the feedback!
I think this is mostly due to jitter more than anything else. The most important volume parameters to try to reduce flicker, other than the game resolution, are "Distance" (the lower, the better) and "Max Steps" (the higher the better but more costly performance wise, although since you are rendering at such low resolution it shouldn't be a problem).
I understand that depending on your type of game you might want to keep "Distance" at a reasonable high value, but try to keep it as low as you need it to be. Another issue that I found with spotlights, is that very bright ones tend to produce more noise towards the origin of the spotlight, so I added that "Additional Light Radius" as way to add some kind of falloff and mitigate that issue.
You can also try increasing 'Blur Iterations', although I guess that it may become too blurry, specially at such low resolution. Other than that, it is mostly about the final brightness of the light and the contrast it produces with the background. Darker backgrounds with your bright spotlight will make the noise more noticeable. For that, you can tweak the light either changing its intensity, or tweaking the volume parameters.
I also pushed a small change to double the 'Max Steps' maximum value that can be tweaked through the volume if you want to try it.
Hope it helps!


[KYUUBI #5700][AUTHZ] DropTableCommand should check it's table or view

Why are the changes needed?
To close #5700
Now all  DropTableCommand return DROPTABLE, but DROPVIEW also use this command, we should check it's table or view or temp view
How was this patch tested?

[x] Add some test cases that check the changes thoroughly including negative and positive cases if possible

[ ] Add screenshots for manual tests if appropriate

[ ] Run test locally before make a pull request

Was this patch authored or co-authored using generative AI tooling?

ping @yaooqinn

Codecov Report
Attention: 2 lines in your changes are missing coverage. Please review.

Comparison is base (905170d) 61.43% compared to head (22c42a7) 61.39%.
Report is 1 commits behind head on master.

Files
Patch %
Lines

.../kyuubi/plugin/spark/authz/PrivilegesBuilder.scala
77.77%
1 Missing and 1 partial :warning:

Additional details and impacted files
@@             Coverage Diff              @@
##             master    #5703      +/-   ##
============================================
- Coverage     61.43%   61.39%   -0.04%
  Complexity       23       23
============================================
  Files           607      607
  Lines         35727    35735       +8
  Branches       4891     4894       +3
============================================
- Hits          21950    21941       -9
- Misses        11393    11413      +20
+ Partials       2384     2381       -3

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

Changes look a bit ugly:), and not work for 3.5 or higher

Changes look a bit ugly:), and not work for 3.5 or higher

Yea, spark 3.5 split the command.

Changes look a bit ugly:), and not work for 3.5 or higher

If not handle here, we may need to add a OperationType extractor to do this....but add a new extractor is too heavey...

Can we have a e2e test about what's failing for now?

Can we have a e2e test about what's failing for now?

In current code, for ranger, DROPTABLE and DROPVIEW have same accessType, won't cause failing case.

But maybe for some other auth system we need to divide these two type of command, such as our auth system.

But maybe for some other auth system we need to divide these two type of command, such as our auth system.

Is there some thing wrong with your auth system. Here we only define DROP, not define whether the  underlying object is a table or a view,

But maybe for some other auth system we need to divide these two type of command, such as our auth system.

Is there some thing wrong with your auth system. Here we only define DROP, not define whether the underlying object is a table or a view,

Just  make a audit info that it's a drop view or table.

Why audit log has to be related to OperationType

Why audit log has to be related to OperationType

Hmm, our platform's requirement...

The audit module has nothing to do with OperationType. It's not a standard protocol and changeable in the future

The audit module has nothing to do with OperationType. It's not a standard protocol and changeable in the future

oK


Use pricing objects to display correct prices

Currently, when rendering product listings or details pages we use product.price or variant.price fields to get product prices. These fields were deprecated recently. A query that should be used to get the correct pricing info is:
fragment Price on TaxedMoney {
  gross {
    amount
    currency
  }
  net {
    amount
    currency
  }
}

{
  product {
    pricing {
      onSale
      priceRange {
        start {
          ...Price
        }
        stop {
          ...Price
        }
      }
    }
  }
}

There is also a setting that decides whether to display gross or net prices, which is not taken into account currently:
shop {
  displayGrossPrices
}

Rendering prices for variants (e.g. in product details page) can use a similar query:
  variants {
    pricing {
      onSale
      price {
        gross {
          amount
        }
      }
      priceUndiscounted {
        gross {
          amount
        }
      }
    }
  }

Some explanation of the price fields:
onSale - boolean flag to determine is there is a discount for that product
price - contains the actual of the product, with any discount applied
priceUndiscounted - if we also want to show what was the original price, this field can give us the information
This is causing a bug in the new storefront, as discounts are not rendered:

The same product in the old storefront look like this:


Remove X-IIS-WindowsAuthToken

This changed between HttpPlatformHandler v1.2 and 1.3 form X-IIS-WindowsAuthToken to MS-PLATFORM-HANDLER-WINAUTHTOKEN. Remove the old one after RC2.
https://github.com/aspnet/IISIntegration/pull/66

Why RTW?

Compat bridge. Otherwise you have to update HttpPlatformHandler and AspNet in lockstep.

Moving back to RC2 because of the recent schedule changes. If needed, we'll move it out again.

Merged with #96


Remove download svg option due to highcharts limitations

This PR removes "Download svg vector image" option from highchart exporting menu list.
The issue is, downloaded svg is corrupt and can't view it.

The root cause is, we adds the highcharts accessibility module to the imported Highcharts namespace by Accessibility.default(Highcharts);.  And this module adds a div element to the svg file that we are trying to download (see the red underline in screenshot below). So the svg file fails to be rendered. If we remove Accessibility.default(Highcharts);, then the svg element can be rendered in browser. But we want to enable accessibility for highcharts. So we remove "Download svg vector image" option from highchart exporting menu list.

The default exporting menu list is ["viewFullscreen", "printChart", "separator", "downloadPNG", "downloadJPEG", "downloadPDF", "downloadSVG"], we remove the "downloadSVG", so this PR specify menuItems to be ["viewFullscreen", "printChart", "separator", "downloadPNG", "downloadJPEG", "downloadPDF"].
Description
Before:

After:

Checklist

[x] I have added screenshots above for all UI changes.
[ ] I have added e2e tests for all UI changes.
[ ] Documentation was updated if it was needed.

Codecov Report

Merging #1498 (657deab) into main (b542758) will not change coverage.
The diff coverage is n/a.

:exclamation: Current head 657deab differs from pull request most recent head ddc855c. Consider uploading reports for the commit ddc855c to get more accurate results

@@           Coverage Diff           @@
##             main    #1498   +/-   ##
=======================================
  Coverage   89.30%   89.30%
=======================================
  Files          38       38
  Lines        1617     1617
=======================================
  Hits         1444     1444
  Misses        173      173

Flag
Coverage Δ

unittests
89.30% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

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 b542758...ddc855c. Read the comment docs.

A workaround: https://jsfiddle.net/oysteinmoseng/yezu6nx3/
The latest version of Highcharts has the fix for this svg export issue: https://github.com/highcharts/highcharts/issues/16589


request help: How to create a global rule for a cluster scoped plugin?

Issue description
I can' find a config for enabling a global plugin. The only way to create a GlobalRule is apply a ApisixClusterConfig according to the code:
https://github.com/apache/apisix-ingress-controller/blob/master/pkg/kube/translation/translator.go#L94-L97
But it can't config a plugin in ApisixClusterConfig spec.
Thank you for advance.
Environment
/ingress-apisix # ./apisix-ingress-controller version --long
Version: 1.4.1
Git SHA: no-git-module
Go Version: go1.16.15
Building OS/Arch: linux/amd64
Running OS/Arch: linux/amd64

Client Version: version.Info{Major:"1", Minor:"19", GitVersion:"v1.19.9", GitCommit:"9dd794e454ac32d97cde41ae10be801ae98f75df", GitTreeState:"clean", BuildDate:"2021-03-18T01:09:28Z", GoVersion:"go1.15.8", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"21", GitVersion:"v1.21.2", GitCommit:"092fbfbf53427de67cac1e9fa54aaa09a28371d7", GitTreeState:"clean", BuildDate:"2021-06-16T12:53:14Z", GoVersion:"go1.16.5", Compiler:"gc", Platform:"linux/amd64"}

thanks for you report.
Currently ApisixClusterConfig only supports the configuration of two monitoring-related plugins, but this can be modified.
https://github.com/apache/apisix-ingress-controller/blob/9e0c658cd2387165b5e0b5fc8d91f6464e3ad406/samples/deploy/crd/v1/ApisixClusterConfig.yaml#L94-L110
I want to know if you have other specific scenarios that need to configure the global plugin.
Another alternative is to create an ApisixPluginConfig to reduce some duplication of configuration.

We're using Argocd to achieve the GitOps principle. All route and plugin Configurations are templates of Helm chat. And we have two global plugins: request-id and http-logger.  Because ApisixPluginConfig, ApisixRoute, and Service should be in the same namespace, It's hard to share ApisixPluginConfig when Service's namespaces are different.

We're using response-rewrite plugin to remove sensitive infos from upstream or APISIX, such as x-apisix-upstream-status, x-envoy-upstream-service-time and so on.
So a global rule for a cluster scoped plugin will be easy to manager.

Thanks for your information @purefun @suninuni
I will put this to v1.6

@AlinsRan can you make it happen?

This feature will be available in 1.7.0.

Solution

Added Plugins support on ApisixClusterConfig resources
ApisixClusterConfig in the design and use of some ambiguity, in the multi-cluster architecture, ApisixClusterConfig currently used in the way and semantics are incorrect, its evolution direction to be discussed, in the unclear responsibilities are not recommended to change it.
Similar to ApisixRoute, support more plugins by adding a Plugins field:

apiVersion: apisix.apache.org/v2
kind: ApisixClusterConfig
metadata:
  name: default
spec:
  plugins:
  - name: prometheus
    enable: true
  - name: limit-count
    enable: true
    config:
      time_window: 60

Added Annotations support in ApisixPluginConfig
By adding Annotations to extend the ability of ApisixPluginConfig to act globally, this approach improves the flexibility of ApisixPluginConfig.
global: true Turn on global mode, allowing plugins to be applied to global: true rules.

apiVersion: apisix.apache.org/v2
kind: ApisixPluginConfig
metadata:
  name: plugin-config
  annotations:
   apisix.pache.org/global: true
spec:
  plugins:
  - name: prometheus
    enable: true
  - name: limit-count
    enable: true
    config:
      time_window: 60
      policy: "local"
      count: 2
      key: "remote_addr"
      rejected_code: 503

ApisixGlobalRule
Added a new CRD resource, representing ApisixGlobalRule, which corresponds to the concept of APISIX global rules, is easy to understand, and can evolve with APISIX global rules.

apiVersion: apisix.apache.org/v2
kind: ApisixGlobalRule
metadata:
  name: apisix-plugins-cluster
spec:
  plugins:
  - name: prometheus
    enable: true
  - name: limit-count
    enable: true
    config:
      time_window: 60
      policy: "local"
      count: 2
      key: "remote_addr"
      rejected_code: 50

I prefer the third way, which is simple enough to understand.

Does it mean that with one of those approaches I'll see Prometheus plugin on Plugin List in APISIX Dashboard without additional manual clicking?

Does it mean that with one of those approaches I'll see Prometheus plugin on Plugin List in APISIX Dashboard without additional manual clicking?

@mkyc  I'm not sure what you mean by Plugin List.
But if the global plugin is enabled, it means that the plugin will automatically take effect on the route


Use ImageMode enum in XmlJaxbRecorder instead of graal-sdk APIs

I pushed a second commit to check if we can remove the inImageBuildtimeCode check entirely. As @ppalaga notes in https://github.com/jamesnetherton/camel-quarkus/commit/5cf708f567a2e61cf720a43a2d95bd75ac1ece64#r129321477, it is probably not necessary and is some long forgotten relic of the past.


Add list of 'PHI-Canto host species'

Required for moving forward with PHI-Canto roll out and manuscript preparation.

@CuzickA The PHI-Canto host species list currently has no column headings, and the columns are in a different order to the strain list. Would you be okay with these proposed column names and column order in the example below? The same could be used for the pathogen list.

ncbi_taxid
scientific_name
common_name

2708
Citrus limon
lemon


Outdated cask: royal-tsx

Outdated cask: royal-tsx.
Info:

version: <IP_ADDRESS>0.
appcast url: https://royaltsx-v2.royalapplications.com/updates_stable.php.

Please do not run find_outdated_appcasts unless you are a maintainer.


No module named 'ragas.llms.prompt' to create custom Prompt for any metrics

I have checked the documentation and related resources and couldn't resolve my bug.
Describe the bug
Ragas version: '0.2.6'
Python version:Python 3.12.3
Code to Reproduce
from ragas.llms.prompt import Prompt
Error trace
ModuleNotFoundError: No module named 'ragas.llms.prompt'
Expected behavior
long_form_answer_prompt_new = Prompt(
    name="long_form_answer_new_v1",
    instruction="Create one or more statements from each sentence in the given answer.",
    examples=[
        {
            "question": "Which is the only planet in the solar system that has life on it?",
            "answer": "earth",
            "statements": {
                "statements": [
                    "Earth is the only planet in the solar system that has life on it."
                ]
            },
        },
        {
            "question": "Were Hitler and Benito Mussolini of the same nationality?",
            "answer": "Sorry, I can't provide an answer to that question.",
            "statements": {
                "statements": []
            },
        },
    ],
    input_keys=["question", "answer"],
    output_key="statements",
    output_type="json",
)

from ragas.metrics import faithfulness

faithfulness.long_form_answer_prompt = long_form_answer_prompt_new
print(faithfulness.long_form_answer_prompt.to_string())

Additional context
What is the ideal way to create custom prompt and pass it to any RAGAS metrics example faithfullness
@jjmachan

I also have the same problem.


Open and Closed/Merged PR Views

Open PRs are usually what I’m interested in. Digging through the list of PRs to a long-standing open PR isn’t ideal UX.
Sent with GitHawk

Yes pls. Need some sort of filter control. Maybe part of the search bar? I think you can have selection items. That or a more custom search bar UI with other filters?
Sent with GitHawk

Something like this?

Yes, let's do this. I think the filter UI would also be a good candidate to try and see if we can maybe move away from long actionsheets: https://github.com/rnystrom/GitHawk/pull/696#discussion_r146396805

I was just searching different approach for our action sheet and came across with filter icon used for the filter.Tweetbot and Skype are using the same.
Maybe we can have a filter icon, on tap of that show an action sheet with actions like

PR only
Issues only
Commits only

Think this is a duplicate of #287
Sent with GitHawk

Seems like it!


OCPBUGS-18354: owns watches config updates

This updates all cluster-scoped subresources to have 6 new labels useful for filtering and assignments (in place of the usual ownerreference) - csidriver, volumesnapshotclass,scc,storageclass will now receive these labels. These labels are also used to filter the watch to stop watching for unnecessary objects in the cluster.
On top of this, now LVMVolumeGroupNodeStatus receives OwnerReferences from LVMVolumeGroup. We can later decide to upgrade them to blockOwnerDeletion as well, but currently its a normal OwnerReference (no controller reference to avoid conflicts between multiple volume groups on one NodeStatus). If the volumegroup disappears from the node, so does the owner reference.
Snapshotting was moved to a similar check as SecurityContextConstraints to also allow a watch on the correct snapshot class. Sideeffect: if LVMS is installed after snapshot apis, a manual restart is necessary. For all openshift distros and people aware of this, this shouldnt be an issue since the APIs are usually installed before extension operators.
Also adds an Owns configuration to the LVMCluster for the deployment controller of topo lvm in addition to the already watched daemon set.
Now all resources except for the initially created CSIDriver are watched and reacted to on status.

/test all

Codecov Report

Merging #405 (e1ef3e4) into main (dd8b3b7) will increase coverage by 0.04%.
The diff coverage is 45.04%.

Additional details and impacted files

@@            Coverage Diff             @@
##             main     #405      +/-   ##
==========================================
+ Coverage   57.07%   57.11%   +0.04%
==========================================
  Files          27       27
  Lines        2169     2227      +58
==========================================
+ Hits         1238     1272      +34
- Misses        846      868      +22
- Partials       85       87       +2

Files Changed
Coverage Δ

controllers/scc.go
0.00% <0.00%> (ø)

pkg/vgmanager/status.go
0.00% <0.00%> (ø)

pkg/vgmanager/vgmanager_controller.go
11.72% <0.00%> (-0.05%)
:arrow_down:

controllers/lvmcluster_controller_watches.go
64.93% <58.49%> (-12.21%)
:arrow_down:

controllers/lvmcluster_controller.go
63.58% <100.00%> (+0.60%)
:arrow_up:

controllers/topolvm_csi_driver.go
80.00% <100.00%> (+0.51%)
:arrow_up:

controllers/topolvm_snapshotclass.go
84.61% <100.00%> (+13.18%)
:arrow_up:

controllers/topolvm_storageclass.go
85.29% <100.00%> (+0.67%)
:arrow_up:

controllers/vgmanager.go
79.06% <100.00%> (+0.49%)
:arrow_up:

/lgtm
/approved

/approve

/lgtm