Create new nickel patch to customise style of new header/footer

GeoffR's old patch "Custom reading footer style" included customisation of both height and style of the old footer.
The new patch "Reduce new header/footer height" handles the height part for both header/footer. There is not yet a patch to handle the style aspects. I am working on adding it.
It will be of most use to users where the default Avenir font serves their native language quite badly because it is not a Kobo-supported language, e.g. Russian, Vietnamese. However it will be usable by anyone for purely cosmetic purposes or just-because-we-like-to-tinker.

Random remark: choosing a font with poor Unicode coverage as a font used to display chapter/book titles seem like a weird choice, given the fact that even English language books might contain non-Latin titles...

Can't argue with that. The old method of using the user-selected font for both book content and header/footer was better.
Personally I prefer sans-serif for all GUI stuff (serif for book content), but at least provide a half-decent sans-serif. Perhaps it's too expensive. The CJK fallback for Avenir is horrendous for Cyrillic - every char double-spaced.

And, here's a patch to prevent uppercasing the header/footer:
Make book header/footer lowercase:
  - Enabled: no
  - PatchGroup: Header/footer page number text
  # In ReadingView::getChapterTitle (header), NOP QString::toUpper call:
  - ReplaceBytesNOP: {Offset: 0xA366EC, FindBLX: 0x440474}
  # In ReadingView::updateFooter, NOP QString::toUpper call:
  - ReplaceBytesNOP: {Offset: 0xA39C36, FindBLX: 0x440474}
  # Page number text
  - FindReplaceString: {Find: "%1 OF %2", Replace: "%1 of %2"}

@geek1011
Following up on your post https://www.mobileread.com/forums/showpost.php?p=3896072&postcount=149 ...
I've spent a lot of time over the last few days looking at nickel's GUI CSS. I think know more about it now but whether I know enough is still open to debate ... :)
I'm documenting here some observations about forced UPPERCASE in the GUI.
There are many instances of text-transform:uppercase in nickel's CSS. I wrote quick temporary patches to convert all of them to text-transform:none just to see what's going on. That'll do the trick, I thought ... wrongly. It worked for some bits of the GUI but not others.
The main areas where it doesn't work are:

new Header & Footer (nickel ReadingFooter CSS stream, #caption)
Series metadata in the various book lists and in  book details (MetaDataElidedLabel)
several (but not all) parts of the GUI which use the MetaDataLabel generic widget

Setting text-transform:none or capitalize don't work for items 1/2. Setting text-transform:lowercase does have an effect, but no-one would want to use it.
My conclusion (I could be wrong) is that the fw must be delivering pre-UPPERCASE-ed text to some of these widgets.  force-lowercase-followed-by-force-capitalize might have been a klutzy workaround but I don't see how CSS could be used to do that.
Back to your potential 'I could write a patch'. How localised could we make it? I think items 2/3 should probably be left as-is. Too many other things on the go at the moment to be dealing with 'You wrecked my GUI' complaints.
I could do testing on the GUI I can see, but my main concern is that I've never enabled wi-fi (nor do I intend to) so there are many screen layouts I've never even seen even though I got my first Kobo in 2012.
If we could localize to new Header/Footer, I think that should be safe. Famous last words ...
BTW you coerced me, kicking & screaming, into using GitHub. Are you sorry yet? :D

... and now I see you've already done the work whilst I was wring the above.
I really wish you hadn't posted it in open forum, though. For things that affect my patches I'd like to get everything organised in my own head before people start playing around with them. 'Home screen wars 2' beckons if you're not careful ...

I've spent a lot of time over the last few days looking at nickel's GUI CSS. I think know more about it now but whether I know enough is still open to debate ... :)

Yes, it's pretty long. Although, @NiLuJe and I are working (slowly) on figuring out the plugin system (see the private repo I added you to), and we might be able to put something together to live-edit the nickel CSS.

My conclusion (I could be wrong) is that the fw must be delivering pre-UPPERCASE-ed text to some of these widgets. force-lowercase-followed-by-force-capitalize might have been a klutzy workaround but I don't see how CSS could be used to do that.

That's correct.

BTW you coerced me, kicking & screaming, into using GitHub. Are you sorry yet?  I don't think you regret your decision :smiley:.

I really wish you hadn't posted it in open forum, though.

Sorry about that. Although, it doesn't affect any of your patches directly, and there's not much choice about how to do it.
P.S. I've finally made a simple homepage for the patches so there are links to everything in one place.

I hope this is an environment where I can say what I think. I don't mean any offence but I need to say it for the sake of a harmonious future ...

Sorry about that. Although, it doesn't affect any of your patches directly, and there's not much choice about how to do it.

Maybe so, but it would have been much better for me if you'd liaised with me so it could be released at the same time as its partner, i.e. this new ReadingFooter patch. I'm trying to handle too many Kobo-related MR queries ATM and you just created potential for more.
What I really want to concentrate on, for a little while, is improving the GUI for users of Kobo non-supported languages. Anything we come up with will also have cosmetic benefits for those who enjoy tinkering. I'm just about to create a new thread for it, to avoid de-railing the main kobopatch/firmware threads. It may be a total damp squib but I feel the need to at least try. What we discover there may have a knock-on effect on how to do the 2 new patches (issues 26/27) and hopefully will lead to other new long-term helpful patches. I don't want to rush things out and have to change/fix them almost immediately - like you just had to.
Honestly, I do know you're only trying to make everyone happy as fast as you can :) but the hi-speed bull-at-a-gate approach doesn't work at all for me. As the old saying goes "no-one will remember how fast you did it but they will remember how well you did it". We're all a product of our own past work experiences and user-support was a major part of mine.

Maybe so, but it would have been much better for me if you'd liaised with me so it could be released at the same time as its partner, i.e. this new ReadingFooter patch. I'm trying to handle too many Kobo-related MR queries ATM and you just created potential for more.

Point taken.

I'm just about to create a new thread for it, to avoid de-railing the main kobopatch/firmware threads.

OK, I was about to do that myself (and ask the mods to move those posts from the firmware thread).

I don't want to rush things out and have to change/fix them almost immediately - like you just had to.

Do you want to include #26/#27 with the next release (v53), which I'm planning to do sometime this week (I'm giving the release notes some time to settle first, then I want to release it for 4847f39deeac85beca376fb1a1498f69a26699ea, 7992a174d0efaba01db4b0ef71c5165a879e62dd, a4a9723be795e2b46aaa12b1b2e511e2491ef893, 46203146b109ea85b1bd757e85ca077c7c0a5cb6, cd78216dc2ce6e816d4d398daea4ea9c584c6432, and 5ca1c6361b6efa822b7a5be0e0eb054a0be6e8ab)?

The hi-speed bull-at-a-gate approach doesn't work at all for me. As the old saying goes "no-one will remember how fast you did it but they will remember how well you did it". We're all a product of our own past work experiences and user-support was a major part of mine.

:+1: I'm also planning to take a break for a week or two after v53.

I'm just about to create a new thread for it, to avoid de-railing the main kobopatch/firmware threads.

This is my new thread. https://www.mobileread.com/forums/showthread.php?t=323350

Do you want to include #26/#27 with the next release (v53), which I'm planning to do sometime this week

It depends whether there's much (or even any?) reaction to my new thread above. If there isn't I'll update the jackie_w nickel.yaml file with what I've already done for #26/#27. I'll also need to prepare a special post for each, with screenshots, So a few hours warning before planned release would be helpful - this time, please!, NOT in the middle of the night in my UK timezone which is GMT +/- 1hr this week (I can never remember which way round it is).

👍 I'm also planning to take a break for a week or two after v53.

I was a bit snappy at a couple of aggravating users this week, so you might be right. Time for a break :)

And, here's a patch to prevent uppercasing the header/footer:
Make book header/footer lowercase:
  - Enabled: no
  - PatchGroup: Header/footer page number text
  # In ReadingView::getChapterTitle (header), replace QString::toUpper call with
  # QString::trimmed (to copy the string, and not need to add a mov instruction
  # and NOP the destructor):
  - ReplaceBLX: {Offset: 0xA366EC, FindBLX: 0x440474, ReplaceBLX: 0x451410}
  # In ReadingView::updateFooter, do the same:
  - ReplaceBLX: {Offset: 0xA39C36, FindBLX: 0x440474, ReplaceBLX: 0x451410}
  # Page number text
  - FindReplaceString: {Find: "%1 OF %2", Replace: "%1 of %2"}

@geek1011
Call me a PITA but this is the conversation we needed to have before you launched it. :)
How do you propose we handle the case when users want to un-force UPPERCASE for header/footer and also change '%1 OF %2' to '%1 / %2'?
IMHO creating a new PatchGroup is the wrong solution. 'Same-but-slightly-different' patch proliferation is to be avoided at all costs.  I keep banging on about it, but no more Home screen fiasco, please! I may be misunderstanding what you are doing but if I'm confused what chance everyone else?
If un-force UPPERCASE and simple '%1 OF %2' text rename can't be kept completely independent of each other then we need to come up with a way of replacing my earlier trivial "Custom header/footer page number text" with your new one,
Keep the old name but put it in your libnickel.yaml file, not mine, because you'll need to do the hex-location stuff every fw update.
Yours needs to be split into sections with more Help Notes so users can easily enable/disable the combo of options they want.
Comment out your new option so that the old simple rename option is the default so as not to confuse those who have already set up their kobopatch.yaml for the old simple option and will never want anything more than that.

Call me a PITA but this is the conversation we needed to have before you launched it. :)

I didn't make it official, yet. Remember that patches I post directly on MR don't count as final, tested, working, or even supported. And, the one in the repo isn't released yet.

How do you propose we handle the case when users want to un-force UPPERCASE for header/footer and also change '%1 OF %2' to '%1 / %2'?

One option would be to have an always-on patch which replaces OF with of, and adds CSS to transform it to uppercase. Then, my patch can remove that CSS, while yours changes of to /. That would solve all the issues you mentioned, with the disadvantage of having an always-on patch.

IMHO creating a new PatchGroup is the wrong solution. 'Same-but-slightly-different' patch proliferation is to be avoided at all costs. I keep banging on about it, but no more Home screen fiasco, please! I may be misunderstanding what you are doing but if I'm confused what chance everyone else?

Remember that since then, I added support for more than one PatchGroup. Now, it means something more like "Conflicts" or "Touches".

I'll also need to prepare a special post for each, with screenshots, So a few hours warning before planned release would be helpful - this time, please!, NOT in the middle of the night in my UK timezone which is GMT +/- 1hr this week (I can never remember which way round it is).

+1 for DST ;). (I'm on GMT+1 +  DST,  1 hour difference, but easier to remember ;p).

Call me a PITA but this is the conversation we needed to have before you launched it. :)

I didn't make it official, yet. Remember that patches I post directly on MR don't count as final, tested, working, or even supported. And, the one in the repo isn't released yet.

But you have created the expectation that it'll be in the next release real soon now.

How do you propose we handle the case when users want to un-force UPPERCASE for header/footer and also change '%1 OF %2' to '%1 / %2'?

One option would be to have an always-on patch which replaces OF with of, and adds CSS to transform it to uppercase. Then, my patch can remove that CSS, while yours changes of to /. That would solve all the issues you mentioned, with the disadvantage of having an always-on patch.

I don't understand any of the above. Until further notice I'm considering it something you're going to handle entirely yourself.

Remember that since then, I added support for more than one PatchGroup. Now, it means something more like "Conflicts" or "Touches".

Ability to handle Conflicts - Good.
Ability to avoid creating Conflicts in the first place - Better :)
Just because you created a technical solution to detect conflicts doesn't mean you created a practical solution to avoid user confusion.

@geek1011,
Added new patch to nickel.yaml/jackie_w.yaml ready for next release.

It's too long: https://cloud.drone.io/geek1011/kobopatch-patches/150/2/18 .
And, do you want to remove the need for a patch group for the page text patches by having an always-on normalization patch, like stated above?

I swear I've spent more time writing today than a real author would have ...

It's too long: https://cloud.drone.io/geek1011/kobopatch-patches/150/2/18 .

Ah, I see. I never thought about your auto-tester. The last 4 lines are commented out and provide the ability, with help notes, for the user to un-comment as necessary to shorten enough to pass kobopatch, by removing Japanese/Chinese-specific stuff.
I guess what you're telling me is that I'll need to un-comment those 4 F/R by default. I'll also need to change the help to reflect that.
To be consistent I'll need to do that on the 2nd new patch as well. I'll update both later tonight.

And, do you want to remove the need for a patch group for the page text patches by having an always-on normalization patch, like stated above?

We don't appear to be communicating very well, do we? As I said at the time I didn't understand any of that and there's no need to explain. Let me spell out what I want.
I want you to completely remove me from the equation by fully adopting the old "Custom header/footer page number text". Move it from libnickel.so.1.0.0.yaml/jackie_w.yaml to libnickel.so.1.0.0.yaml/geek1011.yaml. Or I can just delete mine.
Once you've done that you can decide how best to allow users any A/B combo they like, as long as it's still feasible, from:
A:

header/footer is UPPERCASE-ed (current default)
header/footer is not UPPERCASE-ed

B:

page text is %1 OF %2 (current default, but would anyone really miss it?
page text is %1 of %2
page text is %1 / %2

As you and your 1 (or 2) patches will now be completely responsible for this, including writing helpful patch comments or handling any user confusion because there aren't any helpful comments, I won't mind how you do it.
I don't think it affects my remaining patches at all, does it? All #26 now does is allow custom font-family/font-size for header/footer. Actual text content of header/footer shouldn't matter, should it?
I think you can leave me with "Custom navigation menu page number text" or is that also going to be affected by your new patch? If 'yes' then you need to adopt that one, too.
BTW, don't you think the new name "Make book header/footer lowercase" is misleading? Presumably the result will be MixedCase not lowercase. And aren't you 'stopping forced uppercase' rather than 'converting to lowercase'? Maybe rename to "Book header/footer un-force uppercase". That still looks like nerd-speak but at least it's factual. There's several other patches with 'un-force' in the name and no-one's complained :)

I guess what you're telling me is that I'll need to un-comment those 4 F/R by default. I'll also need to change the help to reflect that.

I did some testing, and it seems like uncommenting the Japanese one is enough. One thing I tried (it was almost enough) was condensing the Chinese stuff like {Find: "#caption[localeName=\"zh\"] {\n  font-family: Sans-SerifZH-Traditional, sans-serif;\n  font-style: normal;\n}\n#caption[localeName=\"zh-HK\"] {\n  font-family: Sans-SerifZH-Traditional, sans-serif;\n  font-style: normal;\n}\n#caption[localeName=\"zh-TW\"] {\n  font-family: Sans-SerifZH-Traditional, sans-serif;\n  font-style: normal;\n}", Replace: "#caption[localeName=\"zh\"],#caption[localeName=\"zh-HK\"],#caption[localeName=\"zh-TW\"]{font-family:Sans-SerifZH-Traditional,sans-serif;font-style:normal}"}.

To be consistent I'll need to do that on the 2nd new patch as well. I'll update both later tonight.

When you update it, also add it back to 4.18.13737 (replace the line like # Waiting (jackie_w) (zlib doesn't fit with default config): Custom new header/footer font).

I want you to completely remove me from the equation by fully adopting the old "Custom header/footer page number text". Move it from libnickel.so.1.0.0.yaml/jackie_w.yaml to libnickel.so.1.0.0.yaml/geek1011.yaml. Or I can just delete mine.

OK, that's easy enough to do. I'll just do as I said earlier, and add a comment about the always-on patch. That way, all 3 options will be usable without the need to have manual customizations.

BTW, don't you think the new name "Make book header/footer lowercase" is misleading? Presumably the result will be MixedCase not lowercase. And aren't you 'stopping forced uppercase' rather than 'converting to lowercase'? Maybe rename to "Book header/footer un-force uppercase". That still looks like nerd-speak but at least it's factual. There's several other patches with 'un-force' in the name and no-one's complained :)

Yes, it's a bit misleading. I'm a bit on the fence about this, as I don't like the wordings I can think of. @NiLuJe, any ideas?

I'm almost done with my part for #28, so tell me once you're ready for a release. It'll either be sometime in the next 3 hours, or it'll be tomorrow around the time I created #28 (or 3 hours from now tomorrow).

The potentially simpler and more pleasing option would be "Ensure header/footer is TitleCased" or something to the effect, but it is, of course, technically wrong, as I'm guessing it's just preventing it from being uppercased, so, it'll only be Title Cased if that how it was to begin with ;p.
TL;DR: "Don't uppercase header/footer"? It's still vague enough to maybe warrant a technical description somewhere, but hopefully gets the gist of it across at first glance?

TL;DR: "Don't uppercase header/footer"? (+/- "titles", in case that applies to the full string, or only book/chapter titles).

I think I like that. I'll update the names (it's a good thing it isn't released yet, as we did enough breaking changes which I usually avoid last version).

It's still vague enough to maybe warrant a technical description somewhere, unless it's already part of one of the preview webpages, but hopefully gets the gist of it across at first glance?

I've already added it to the preview.

Is there any compelling reason to rush this out tonight? Surely a 24 hour turnaround will still be pretty acceptable.
It's nearly 01:00 here and I still need to make those corrections you need to the new patches. I got derailed by the 4.18 announcement and no, I don't want you to do anything to the 2 new patches on my behalf.
"Don't uppercase header/footer" sounds OK. Minor nit, not sure about apostrophes in names, though.

Is there any compelling reason to rush this out tonight? Surely a 24 hour turnaround will still be pretty acceptable.

Not really. I'll leave it for tomorrow night.

It's nearly 01:00 here and I still need to make those corrections you need to the new patches. I got derailed by the 4.18 announcement and no, I don't want you to do anything to the 2 new patches on my behalf.

OK, sounds good.

"Don't uppercase header/footer" sounds OK. Minor nit, not sure about apostrophes in names, though.

Apostrophes are OK when they aren't at the beginning or end.

One option would be to have an always-on patch which replaces OF with of, and adds CSS to transform it to uppercase. Then, my patch can remove that CSS, while yours changes of to /. That would solve all the issues you mentioned, with the disadvantage of having an always-on patch.

I just realized I can't do this, as I don't have a way of specifying dependencies (and I don't think it's worth adding it just for this), and the patch order is not guaranteed to be deterministic. I'll probably just have 3 patches for now, and combine them if I find a better way. I could also merge them into 1, but then customizations would be needed for every update.

Well, good luck explaining all that in words of one syllable your average user will understand.!

Well, good luck explaining all that in words of one syllable your average user will understand.!

Haha, I'm not planning to explain the reasoning behind the decision in the patch, I'm just going to split it into 3 and put it in a PatchGroup.
And, before anyone asks, I'm putting it into 3 patches instead of merging them, as it gives me more flexibility in the future, and also allows people to use the overrides option with the individual parts of the patch. Also, the fact that they depend on each other is an internal firmware detail which shouldn't be exposed to users.


docker image for datadog/agent:6.15.0-jmx missing ?

https://hub.docker.com/r/datadog/agent/tags?page=1&name=jmx
... should be automatically created when a new tag is pushed ?

Hi @grosser, sorry for the confusion here, the 6.15.0 tag you saw was pushed to test our internal build systems, but would not trigger an actual release. The 6.15.0 release is still in the RC phase at the moment.
You can follow the actual stable releases of the Agent by watching the releases on the present Github repo, or by looking at the releases Github page (this page also shows all the tags on the repo, so you'll want to only look at the tags that have release notes attached, for example: https://github.com/DataDog/datadog-agent/releases/tag/6.14.1).
Hope this helps, I'll go ahead and close the issue but feel free to follow up here if you have any questions or comments, thanks!


Documentation for Roots 3's Craft Tweaker integration.

All comments, etc, appreciated.
The documentation was, in generally, generated using CodeTaylor's annotation system from Atheneaueum.

https://github.com/CraftTweaker/CraftTweaker-Documentation/pull/199


fix mysql migration issue

It fix the Mysql error :
Mysql::Error: BLOB/TEXT column 'allowed_children_cache' can't have a default value

@saturnflyer, can we just drop the default value for all database systems?
There is even a spec assigning nil to the column:
https://github.com/radiant/radiant/blob/ca3beb161543cb98d8e528e1262bdeed15f8aee8/spec/models/menu_renderer_spec.rb#L115

@ronald thanks for looking into this... with years gone by I'm looking at the history of that line and wondering why I resisted this... aside from failing tests
I'm ok with this change.


Update app name in translations

Fix instances of app name rendering as "zcash-ui". Thanks Edicksonjga for reporting this!

Fix instances of app name rendering as "zcash-ui". Thanks Edicksonjga for reporting this!

👍👍👍👍


Generalization of TrafficScenario02

Description

Generalized TrafficScenario02.
Added HandBrakeVehicle behavior for slopes.
Added WaypointFollower behavior.
Initialized other actors based on hero vehicle location.

Fixes #
Where has this been tested?

Platform(s): ...18.04
Python version(s): ...2.7
Unreal Engine version(s): ...
CARLA version: ...0.9.3

Possible Drawbacks

In Town02, sometimes vehicles are spawning, but sometimes it is showing collision at spawn point at same location.
Query:
Is this problem because of pitch?

This change is

Please change this PR to development branch

Please change this PR to development branch

Sure.I will change PR to development branch.

Moved the PR to development branch.

Your changes look ok, but I cannot test the scenarios as long as there is a merge conflict.

Your changes look ok, but I cannot test the scenarios as long as there is a merge conflict.

Done.

I am sorry, there are new merge conflicts...

Please fix the comment and there is one more rebase.
Regarding the issue with the generated target waypoint: @germanros1987 Is this something related to the issues the team is currently working on?


Implement some Slice Helpers a la Robodux

This PR introduces minimal implementations of Assign and Table structures as Slice Helpers for Starfx,

todo: More tests. better typing


Type Troubles with rtnetlink

Hello!
In trying to write some sample code for talking to the rtnetlink system, I ran into some difficulties using neli's type system.  A rtnetlink message's payload type depends on the nlmsghdr's nl_type field.  A message to receive routing info (Rtm::Getroute) will receive a series of Nlmsghdr<Nlmsg,Rtmsg<Rta>>, followed by a single Nlmsghdr<Nlmsg,NlEmpty>.  This final message will have a nl_type of Nlmsg::Done.
This looked pretty similar to what's in ctrl-list.rs, so I wrote some test code, based on ctrl-list.rs, with a core loop like so:
    let mut iter = socket.iter::<Nlmsg, Rtmsg<Rta>>();
    while let Some(response) = iter.next() {
       // stuff
    }

neli dutifully deserializes[1] all of the Rtmsg-based payloads, but fails on the Done message with Error: failed to fill whole buffer in read_exact because still tries to deserialize the Rtmsg<Rta> from the nonexistent payload bytes.
I don't exactly have a solution to these rough areas, but they were tricky to use, and it currently seems to me that I can't use the nice high-level iter() function, and instead will have to do raw recv calls.  Perhaps I'm missing something, though!
[1] I have a bugfix for rtnl.rs — it seems that a attr.strip(buf) is needed to consume any unaligned padding bytes inside Vec<Rtattr<T, P>>::deserialize.  There's probably a companion padding bytes fix in serialize to be made.  Once I have something working I'll send something your way.
Do you have any advice or comments?  I will continue to try to use the low-level neli socket API to read the messages for the time being.
Thanks for all your great work on this!

Hi @skrap, thanks for the feedback. If I'm reading correctly, I see two problems you're reporting here. One is the padding issue which I realized I had not fixed in rtnl right after releasing 0.4.3-r1. I'll resolve that in v0.4.3-r2 most likely with the help of your PR and I'll have you test before the actual release. The other is one that relates to issue #19 and the difficulty of parsing a number as one of a few enums all with the same marker trait. I'm going to update that issue with the proposed resolution tonight and feel free to add your feedback. As for your PR request, I'm about to hop over there to review that too. Thanks for the contributions!

master has the associated PR merged. Closing.
If you have any other issues always feel free to let me know in #29. I will be reviewing rtnetlink support to see if I can improve it before v0.4.3 and it will be tracked using that issue. Thanks!


Improve testing framework

Related to: https://github.com/CartoDB/renderer-prototype/issues/151

[x] Add an easy way to run and/or prepare just one test
[x] Add a way to load multiple GeoJSONs from the same test. The current approach only allows for one GeoJSON.

Closed by: https://github.com/CartoDB/renderer-prototype/pull/159


Hack no longer persistent through reboots - Dome Guard IFUS

Hello!
First up i'd like to say a million thanks for the work @roleoroleo and many others have put into this. I've been quite happy running Yi cams since a long while now. But the last some days is stumbled upon an issue on the only Dome Guard Cam i have. Been rocking the r30gb ever since on this cam. Up until last week this cam was hooked directly over ethernet to my home server but coming home one day i realised the cam was no longer in the network. Rebooting greeted me with the "sweet" Cam voice telling me how welcome i am to Yi home cameras...
So i started several things:

Un-Hack & Re-Hack
Un-Hack -> Un-Brick with the new procedure -> Re-Hack

and so on.  Whenever i reboot i have to do the init-process aka show the cam a QR code, etc, pp. After that everything is fine up until the next reboot.
I'd appreciate any further suggestion and thanks a ton again for this awesome world of yi-hacks.

Probably the cam fails to save the wifi settings.
You could try to follow this guide:
https://github.com/roleoroleo/yi-hack-Allwinner-v2/wiki/Change-WiFi-credentials

Thanks for your reply and hint. Came a little further with this and i may have found the issue. Setting WiFi Info via dd seems not to work at all anymore. I tried the same process on two cameras:
dd does not write valid data anymore. setting the ssid and key results in a different response on my not-persistant-camera. The ssid and key strings get altered so i assume they are not valid. As a last measurement i dd'd my block7 from my original backup back to the cam. But this too seems not to write valid strings anymore. I assume i bricked the cam hardware at some point.
So this can be marked as resolved ;)


Additional config changes were needed to view the static website

I followed the steps listed on this page, then attempted to connect to the new static website hosted on Azure Blob storage. This resulted in a blank white page.
I determined that the following config updates were needed in order to view the new static website:
In Azure Portal:
Under Data Storage -> Containers.
For $web, the 'Public Access Level' defaults to 'Private'.
Change this to 'Public' by tapping on '...' -> 'Change Access Level' ->  'Container (anonymous read access..)' -> 'OK'.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: badc419b-60d5-ba2c-0830-8d573db10dbe
Version Independent ID: efad89d0-d0da-895f-984d-046d67797ab4
Content: Tutorial: Host a static website on Blob storage - Azure Storage
Content Source: articles/storage/blobs/storage-blob-static-website-host.md
Service: storage
Sub-service: blobs
GitHub Login: @normesta
Microsoft Alias: normesta

@thankinSeattle Thanks for the feedback! We will review and update accordingly.

@thankinSeattle When using the static website feature it is not necessary to set the $web container to public. Make sure you are using the proper endpoint to load your website.
https://docs.microsoft.com/en-us/azure/storage/blobs/storage-blob-static-website-how-to?tabs=azure-portal#find-the-website-url

Hello Derek,
Thank you for taking a look. I see that you are correct about that, thank you for clarifying!
I think the problem I had (i.e. getting the blank screen when connecting to the primary endpoint) was caused by an integration issue with Visual Studio code. I had followed the steps outlined in https://docs.microsoft.com/en-us/azure/storage/blobs/storage-blob-static-website-host, in the section titled 'Deploy a Hello World website'. It seems that Visual Studio Code did not push the index.html file to the $web folder.   I resolved the issue by directly uploading index.html file into the $web folder. I am able to successfully access my web page hosted on Azure now - yay!
Thanks again!
Tara

From: DerekHerman-MSFT @.>
Sent: Friday, September 24, 2021 11:29 AM
To: MicrosoftDocs/azure-docs @.>
Cc: thankinSeattle @.>; Mention @.>
Subject: Re: [MicrosoftDocs/azure-docs] Additional config changes were needed to view the static website (#81488)
@thankinSeattlehttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FthankinSeattle&data=04|01||07b67bc2ff6a4bfd57c808d97f8939ab|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637681049619754763|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=X%2BDELKztno0IsU4nFvrLQ%2FZjhOuZZ2dtLewOKlEDpzY%3D&reserved=0 When using the static website feature it is not necessary to set the $web container to public. Make sure you are using the proper endpoint to load your website.
https://docs.microsoft.com/en-us/azure/storage/blobs/storage-blob-static-website-how-to?tabs=azure-portal#find-the-website-urlhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fazure%2Fstorage%2Fblobs%2Fstorage-blob-static-website-how-to%3Ftabs%3Dazure-portal%23find-the-website-url&data=04|01||07b67bc2ff6a4bfd57c808d97f8939ab|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637681049619784633|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=ipl2DBGuTjLW3XxwNsDK%2Fvnf1uJLu0YvL6EUV03JKwE%3D&reserved=0
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fazure-docs%2Fissues%2F81488%23issuecomment-926838395&data=04|01||07b67bc2ff6a4bfd57c808d97f8939ab|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637681049619804543|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=UZ0I49U2N3qY%2FJ13H8uLk6T%2BsJyE0b%2BILp2hGYiGljQ%3D&reserved=0, or unsubscribehttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAHM2MQWIDPUS7J52QKGKL33UDS7P7ANCNFSM5EUOOCTQ&data=04|01||07b67bc2ff6a4bfd57c808d97f8939ab|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637681049619814503|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=VOGhmS1V28WKnDv6u1EIxS20QePdBFhk4MpZSPS0N%2Bc%3D&reserved=0.
Triage notifications on the go with GitHub Mobile for iOShttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fapps.apple.com%2Fapp%2Fapple-store%2Fid1477376905%3Fct%3Dnotification-email%26mt%3D8%26pt%3D524675&data=04|01||07b67bc2ff6a4bfd57c808d97f8939ab|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637681049619834409|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=mGXd58gUsq9AIQ%2BzKZahiaMiNh5bN5KsJlUVAwg1qW8%3D&reserved=0 or Androidhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fplay.google.com%2Fstore%2Fapps%2Fdetails%3Fid%3Dcom.github.android%26referrer%3Dutm_campaign%253Dnotification-email%2526utm_medium%253Demail%2526utm_source%253Dgithub&data=04|01||07b67bc2ff6a4bfd57c808d97f8939ab|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637681049619854326|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=HG4M9ojzcJ6MZGajve6uiR%2FyT5D62HH7B4qMTgHoGa0%3D&reserved=0.


Add support for Socket SO_TIMEOUT

Expose Socket#setSoTimeout(int) for the TcpSyslogMessageSender.
Currently it defaults to off, which will block indefinitely when the destination syslog hangs on the data transfer.

Is this still being maintained at all?


Images Not Displaying Correctly in langflow (1.0.5) Docker Container Behind Traefik Proxy

I am trying to implement langflow (1.0.5) as a Docker container protected by the Traefik proxy and managed by Portainer. The installation worked well, and langflow is fully operational. However, the images and icons presented by the service exposed on the Internet refer to "http://localhost:7860/..." and, obviously, they cannot be displayed at end user's browser. Scouring the source code, I saw that the environment variable "BACKEND_URL" (e.g., <img src={${BACKEND_URL.slice(0, BACKEND_URL.length - 1,)}${BASE_URL_API}files/profile_pictures/${userData?.profile_image ?? "Space/046-rocket.svg"} ?? profileCircle} className="h-7 w-7 shrink-0 focus-visible:outline-0"/>) should provide the public URL for the responses coming from the server, but the container ignores this variable and always displays the images as src=localhost:7860...". Does anyone have any tips?
This is my stack entries in portainer
services:
langflow:
image: langflowai/langflow:latest
ports:
- "7860:7860"
depends_on:
- postgres
environment:
- LANGFLOW_DATABASE_URL=postgresql://langflow:langflow@postgres:5432/langflow
#- LANGFLOW_CONFIG_DIR=/var/lib/langflow # If uncomment this line, langflow crashes---WHY???
- LANGFLOW_SUPERUSER=
- LANGFLOW_SUPERUSER_PASSWORD=
- LANGFLOW_NEW_USER_IS_ACTIVE=true
#- LANGFLOW_SECRET_KEY= # I prefer to fill from the application
- LANGFLOW_AUTO_LOGIN=false
- LANGFLOW_HOST=<IP_ADDRESS>
- BACKEND_URL=https://langflow.my-domain.com/ # Always put the slash '/' at the end
labels:
  - "traefik.enable=true"
  - "traefik.http.routers.langflow.rule=Host(`<https://langflow.my-domain.com>`)" # My public FDN
  - "traefik.http.routers.langflow.entrypoints=web,websecure"
  - "traefik.http.routers.langflow.tls.certresolver=cloudflare"
  - "traefik.http.services.langflow.loadbalancer.server.port=7860"

volumes:
  - langflow-data:/var/lib/langflow

postgres:
image: postgres:16
environment:
POSTGRES_USER: langflow
POSTGRES_PASSWORD: langflow
POSTGRES_DB: langflow
ports:
- "5432:5432"
volumes:
- langflow-postgres:/var/lib/postgresql/data
volumes:
langflow-postgres:
langflow-data:
networks:
default:
name: langflow
external: false

@Eliotdoesprogramming
I am using it exactly as you suggested, but it doesn't work

Up


Question about possible race condition in compare_exchange

Inside compare_exchange_weak function on line 1304 the logic decrements local temporary count by 1 to compensate for the increment that happened to the atomic local temporary at line 1291. As I understand this is necessary in order to keep the invariant of theorem 2 equation 1. However, this type of mutation implies a change to a non-atomic shared referenced value (i.e. the local temporary counter of 'expected'). If for instance, this same 'expected' sptr was passed in multiple compare_exchange calls across several threads, where the execution arrived at line 1304 at the same time, would it not be prone to a possible race condition during expected.cp_header_.counter()--;? Alternatively, what if, while execution compare_exchange_weak, another thread called reset on expected. Right at the same moment when line 1304 is being executed. Same memory location is being modified then. Is this not a possible race condition? I might be missing something in my logic and have not yet implemented a test to try and catch this race condition.

Here is an idea that I had which is minimally invasive. It is basically using the same concept of what was done for the store method at 1215. Because this will create a temporary local shared_ptr<T> { expected }. It is then can be guaranteed that to not change in parallel until after the method is complete and dropped.
public:
    bool compare_exchange_weak( shared_ptr<T>& expected, const shared_ptr<T>& desired,
                                std::memory_order success, std::memory_order failure ) noexcept
    {
      return compare_exchange_weak( shared_ptr<T> { expected }, desired, success, failure);
    }

private:
    bool compare_exchange_weak( shared_ptr<T>&& expected, const shared_ptr<T>& desired,
                                std::memory_order success, std::memory_order failure ) noexcept
    {
        {
            const hdr_ptr_type desired_cptr = { desired.cp_header_.get_ptr() };
            const auto expected_ptr = expected.cp_header_.get_ptr();
            hdr_ptr_type exp_ctrl_ptr; //{ expected_ptr };
            bool acquired_des = false;
            goto start;

            for(;;) {
                // Do an optimistic cas
                if( cptr_hdr_.compare_exchange_weak( exp_ctrl_ptr, desired_cptr, success, failure )) {
                    if( expected_ptr )
                        expected_ptr->release( { exp_ctrl_ptr.get_ctr(), 1 }, std::memory_order_relaxed );
                    return true;
                }
                if( expected_ptr != exp_ctrl_ptr.get_ptr() ) {
start:
                    exp_ctrl_ptr = _enter( std::memory_order_relaxed );
                    if( expected_ptr != exp_ctrl_ptr.get_ptr() ) [[likely]] {
                        if( acquired_des ) {
                            if( desired_cptr.get_ptr()) [[likely]]
                                desired_cptr->release( { 0, 1 }, std::memory_order::relaxed );
                        }

                        if( exp_ctrl_ptr.get_ptr() ) [[likely]]
                            exp_ctrl_ptr->acquire( { 1, 1 }, std::memory_order_relaxed );
                        expected = shared_ptr<T>{ exp_ctrl_ptr.get_ptr() };
                        return false;
                    }

                    expected.cp_header_.counter()--;  // compensate the _enter() from above

                    // acquire new instance of *desired* before the cas might succeed!
                    if( !acquired_des ) {
                        if( desired_cptr.get_ptr()) [[likely]]
                            desired_cptr->acquire( { 0, 1 }, std::memory_order::relaxed );
                        acquired_des = true;
                    }
                }
            }
        }
    }


Fix: label values not validated (#355)

What this PR does:
Provides cleaning of the cluster name being used for part of overall label name.  The cluster name can contain illegal characters not allowed for labels.
Which issue(s) this PR fixes:
Fixes #335
Checklist

[x] Changes manually tested
[x] Automated Tests added/updated
[x] Documentation added/updated
[x] CHANGELOG.md updated (not required for documentation PRs)
[x] CLA Signed:  DataStax CLA

@burmanm @emerkle826 @adejanovski
In the latest push: Added support for handling the label cassandradatacenter_controller as well as addition of label clean to be part of the api, which follows pattern of CleanupForKubernetes usage for other resources.

@adejanovski thanks for the quick review and keeping the comments accurate to the label values change!

Label values validated in recent changes.

@jeffbanks, can we move forward and merge this PR?


Further work on #7

Used webhook api as proxy for the communication between the staff and users.
implemented the ability on the staff channel to reply with quotes i.e > message
implemented the ability of editing messages in both sides using the proxies
implemented the ability of removing messages from both sides using the proxies
bumped Remora.Discord to 3.0.34 & fixed breaking changes.

After the other Pull Requests. This introduces new migrations, however from earlier testing it seems that there are no conflicts. However it needs further testing


Add option to configure loading of storyblok bridge conditionally based on _storyblok query parameter

Description
In our Astro SSR frontend, we want the storyblok bridge only be loaded when the content is displayed in the preview iframe within storyblok. Else the bridge is not needed, I am right?
As I understood from the docs, this can be checked by checking if there is a query param "_storyblok" present in the URL.
Since the storyblok astro integration is initialised in the setup step of astro, I think it is currently not possible to have this "bridge" config option dynamic based on the request, correct?
Is there another way to achieve this?
Or coult the Astro storyblok integration be extended to achieve this?
Suggested solution or improvement
Add an additional option parameter for the bridge option to enable the bridge only being loaded/initialised when page is loaded in the storyblok editor.
Additional context
No response
Validations

[X] Follow our Code of Conduct

Hi @dominik-erni,
for now, I would suggest setting up two different deployments and conditionally loading the bridge via an environment variable.
I'm not sure if your idea (which is cool!) can be realized, as the Astro config is processed before runtime. I'll look into it though. 🙂


Fix grammar on Services Page

I know this is an incredibly tiny PR change but this issue is definitely relevant when trying to market your services to customers and it stood out to me right away when browsing around the threlte website.
Really awesome project though and I can't wait to use it! 🤘

good catch! thank you 👍


Fix coverage badge

For some reason, https://coveralls.io/github/egregors/zenmoney-backup?branch=main calculate coverage in wrong way.
Smth is missing in the go.yml build action.

So, I just missed ./... in the test cmd call :\


Rework getRecommendations to properly decode with coding keys. Edit b…

Description

Rework getRecommendations to properly decode with coding keys.
Edit book model to accept recommendation result coding keys.
Add activity indicator to start animating when loading recommendations, and stop animating when request is completed.
Trello card: https://trello.com/c/NhkKTlcS/67-home-screen

Type of change

[x] New feature (non-breaking change which adds functionality)

Change Status

[x] Complete, tested, ready to review and merge

How Has This Been Tested?

[x] Manually tested with simulator (iPhone 8)

Checklist

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] There are no merge conflicts

 Home Screen


Fix highlighting of multi-lined regexp in Groovy

Apply https://github.com/textmate/groovy.tmbundle/pull/20

This PR fixes #145097

Thank you for the PR! As you pointed out, we get our groovy syntax highlighting grammar from https://github.com/textmate/groovy.tmbundle. Because of this, we don't want to deviate from what's on the main branch of that repo.
It does look like that repo unmaintained. I will re-purpose https://github.com/microsoft/vscode/issues/145097 to track investigating a different grammar.


Accessibility documentation

Write documentation that describes accessibility testing in GE.
The documentation outlines the steps taken, the tools used and serves as reference material for devs working on accessibility bugs on GE.

Done!


added chef tutorial blog

What does this PR do?
Add resource
For resources

Chef tutorial

Description

A blog about chef tutorial

Why is this valuable (or not)?
How do we know it's really free?
For book lists, is it a book? For course lists, is it a course? etc.
Checklist:

[ ] Read our contributing guidelines.
[ ] Search for duplicates.
[ ] Include author(s) and platform where appropriate.
[ ] Put lists in alphabetical order, correct spacing.
[ ] Add needed indications (PDF, access notes, under construction).
[ ] Used an informative name for this pull request.

Follow-up

Check the status of GitHub Actions and resolve any reported warnings!

we don't list blogs


Typo in Code Example/Documentation (https://theorchid.github.io/en/docs/access/)

Expected Behavior
Auth::user()->hasAccess($string);
Actual Behavior
Typo(s): Auth:user()->hasAccess($string);
Description: two colons (::) required instead of one.
Steps to Reproduce the Problem

Open: https://theorchid.github.io/en/docs/access/
Scroll down to "User"
Have a close look ;-)

Specifications

None

the Namespace "Orchid\Foundation..." you're using in a lot examples is not present.

Hope this helps. ;-)

Hello, thank you very much for bringing this to your attention.
Tell me there are any other points that may not be clear?

I did not see the places where it was required to use namespace besides the Post models

Sure, you're Welcome. I really like your Work. Orchid ist awesome.
If it's okay i would fix some stuff and contribute it. At the points i'm
not deep enough in Orchid i will create an issue, if this will be okay for
you.
And as Inspiration, maybe you can have a Look to the fieldset Module from
Statamic, to create a CRUD right from the Dashboard. This would be freaking
awesome if it would be possible creating CRUDs without an IDE.
Cu! And Go Ahead... With that nice Thing! :-)
On Jul 30, 2017 19:17, "Alexandr Chernyaev"<EMAIL_ADDRESS>wrote:

Hello, thank you very much for bringing this to your attention.
Tell me there are any other points that may not be clear?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/TheOrchid/Platform/issues/272#issuecomment-318915797,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AByYqOws_8pZ8DvQF99Q2JghW4zl6lheks5sTLqQgaJpZM4Onr44
.


TextBox IsTextPredictionEnabled property is not working

Describe the bug
The IsTextPredictionEnabled property is not working.
When the IsTextPredictionEnabled is set to False on a TextBox as follows, TextBox behaves as though IsTextPredictionEnabled is set to true.
<TextBox IsTextPredictionEnabled="False" />

The same applies to AutoSuggestBox.
Steps to reproduce the bug

Create new WinUI project
Add <TextBox IsTextPredictionEnabled="False" /> to the main xaml page
Run the app in Tablet mode
Use the virtual keyboard to type incomplete words into the textbox
Notice that text prediction still works when it shouldn't

I have attached repro projects here as well for your convenience:
https://microsoft-my.sharepoint.com/:f:/p/rachelkang/ElNRWH43GmJBgR4IBOLCPgQBEnAdJCr1d0sSqFu-Ez4g1w?e=4Cdvpe
The UWP project and WinUI project have the same exact code - while it works as expected in UWP, it is not functioning in WinUI.
Expected behavior
IsTextPredictionEnabled=False should disable text prediction.
Screenshots
No response
NuGet package version
No response
Windows app type

[ ] UWP
[ ] Win32

Device form factor
Desktop
Windows version
Insider Build (xxxxx)
Additional context
Needed for implementing cross-platform controls in .NET MAUI

Opening this issue as its working:  I confirmed that I set this option on xaml: IsTextPredictionEnabled="False" IsSpellCheckEnabled="False" but it's being honored.


on('child_changed',...) is being called many times when it probably shouldn't

on('child_changed',...) is being called many times when it probably shouldn't.
I'm opening four different issues because I'm not sure if they are related and, if they are not, they can be fixed separately. However, I used the same Plunker to simulate all of them, so it is a little bigger than usual. I tried to explain everything in the comments, but if something is not clear enough, just let me know.
http://plnkr.co/edit/Y0mp2XDtSQ0Pz9ClXctZ

Thanks for the report. Essentially, the only difference I see between this and the current SDK behavior is that the child_changed event is triggered once for each merged path in some cases. It fires fairly consistently with the API in other regards (e.g. deleting an item in Firebase triggers a child_changed with a null value).
I don't see any great way to improve on the child_changed calls within the current limitations of the API. Essentially, since changing or deleting a record requires iterating the merged nodes and applying the change to each, and since there is no atomic way to do this in Firebase, we'll get the locally triggered events individually.
I looked at some options for trying to debounce the calls and wait for all the merged nodes to update before triggering, but timing of updates and ordering of records quickly grew too complex to predict.
I did make a couple adjustments that will help. One was to ensure that records will not trigger value events if the value hasn't changed since the last event. That should cut down the frequency of the messages a bit. I'll check that in shortly.

Found some more clues while working on the filter/value issue. So this appears to be an issue with listeners getting attached multiple times. After records are deleted, the event listeners are not properly being removed. However, after the record is recreated, it triggers child_changed events twice.


Instrument FastAPI app with Sentry and OTel and check differences.

Instrument a Django application once with Sentry and once with Sentry using OpenTelementry for span creation. We want to compare the span waterfalls, to see the differences and what needs to be done to have feature parity.
Test setup:
Application: https://github.com/getsentry/demo-movie-search/tree/main/backend/fastapi
A request to the  /api/shows/{pk}/ API endpoint will do:

Run a FastAPI view with a custom middleware
Runs a database query
In the middleware a Redis counter is increased
Start a FastAPI background task

Scenario 1) Sentry:
sentry_sdk.init(
    dsn=sentry_dsn,
    release=sentry_release,
    environment=sentry_environment,
    traces_sample_rate=sentry_traces_sample_rate,
    send_default_pii=sentry_default_pii,
    debug=sentry_debug,
)

This will load Sentries integrations (like FastAPI, Starlette, ...) by default and those Sentry integrations will create spans. Opentelementry is not used.
Scenario 2) Sentry using OpenTelementry:
sentry_sdk.init(
    dsn=sentry_dsn,
    release=sentry_release,
    environment=sentry_environment,
    traces_sample_rate=sentry_traces_sample_rate,
    send_default_pii=sentry_default_pii,
    debug=sentry_debug,
    _experiments={
        "otel_powered_performance": True
    },
)

This will disable all Sentry span creation and spans will only be created by the OpenTelemetry SDK.

Example traces for both scenarios:

Sentry:
https://sentry-sdks.sentry.io/performance/trace/468c8e612cf04fff85a6d7a08643dac9/?node=ag-bee52f45864e1065&node=txn-d1a91910d62640f3af1a7f9098bf42f7&project=6618415&query=http.method%3AGET&referrer=performance-transaction-summary&showTransactions=recent&source=performance_transaction_summary&statsPeriod=1h&timestamp=1719555666&transaction=%2Fapi%2Fshows%2F{show_id}&unselectedSeries=p100()&unselectedSeries=avg()

Sentry using OTel:
https://sentry-sdks.sentry.io/performance/trace/a159065d04eeb490536d391007264ed1/?node=txn-b691b33f2c0e45c686331b138915ed0b&project=6618415&query=http.method%3AGET&referrer=performance-transaction-summary&showTransactions=recent&source=performance_transaction_summary&statsPeriod=1h&timestamp=1719555842&transaction=%2Fapi%2Fshows%2F{show_id}&unselectedSeries=p100()&unselectedSeries=avg()

Sentry:

Trace in Sentry.io

Sentry using OpenTelemetry

Trace in Sentry.io

Things I noticed:

db connect is missing in Sentry instrumentation
OTel does not instrument middleware
None of the above show that a FastAPI background task has been run.

OTel db spans also include information about the http server:

can be closed.


min_cluster_size=1

Greetings,
First, thank you for the awesome library, I've found great success with it riding on top of a word2vec -> t-SNE pipeline for a new natural language processing project called words2map.  I'm just a few days from publishing about our code, but am finding suddenly an unusual response around the min_cluster_size=1 edge case.
Specifically, here is a sample from my code:
        print vectors
        print vectors.shape
        clusters = HDBSCAN(min_cluster_size=1).fit_predict(vectors)

...which generates the following:
[[-6.45791257 -4.44567396]
 [-6.44261124 -4.46679372]
 [ 1.56015613  2.66220251]
 [-2.85201212 -6.22262758]
 [-2.09304712 -7.14152838]
 [-1.79593637 -5.40181427]
 [-2.85714682 -6.80640389]
 [ 4.3957132   0.9440575 ]
 [ 1.81048591  1.02327832]
 [ 5.16887682  6.7110603 ]
 [ 5.37719927  6.28808868]
 [ 0.11477621 -1.11785618]
 [ 5.04218427  6.9646349 ]
 [ 5.00133672 -1.09453604]
 [ 3.72641649 -7.25523152]
 [ 4.04915813 -6.63786898]
 [ 1.2898098  -0.4886845 ]
 [ 3.83732358 -6.94612688]
 [-5.76981671 -0.61409089]
 [-4.01244246 -0.87056213]
 [ 6.22234736  0.58425667]
 [-6.04886453  3.37668561]
 [ 5.72806943  0.43197586]
 [-5.69073762 -0.53585563]
 [-6.05174687  3.38048791]
 [-6.1931812  -7.1423447 ]
 [-6.58477538 -7.32116243]
 [-2.1166777  -6.3211911 ]
 [-7.34847743 -7.71195486]
 [ 2.35076966 -0.85595291]
 [ 1.84758212  0.54659307]
 [-5.19133828  0.36389009]
 [-1.31086939 -4.1921722 ]
 [ 1.79962948  1.58228398]
 [-8.89372872 -6.65828121]]
(35, 2)
Traceback (most recent call last):
  File "clusters.py", line 47, in <module>
    compute_clusters()
  File "clusters.py", line 25, in compute_clusters
    clusters = generate_clusters(topic_names, vectors_in_2D)
  File "/home/ubuntu/words2map/words2map.py", line 202, in generate_clusters
    clusters = HDBSCAN(min_cluster_size=1).fit_predict(vectors)
  File "/home/ubuntu/miniconda/envs/words2map/lib/python2.7/site-packages/hdbscan/hdbscan_.py", line 667, in fit_predict
    self.fit(X)
  File "/home/ubuntu/miniconda/envs/words2map/lib/python2.7/site-packages/hdbscan/hdbscan_.py", line 649, in fit
    self._min_spanning_tree) = hdbscan(X, **kwargs)
  File "/home/ubuntu/miniconda/envs/words2map/lib/python2.7/site-packages/hdbscan/hdbscan_.py", line 469, in hdbscan
    return _tree_to_labels(X, single_linkage_tree, min_cluster_size) + (result_min_span_tree,)
  File "/home/ubuntu/miniconda/envs/words2map/lib/python2.7/site-packages/hdbscan/hdbscan_.py", line 55, in _tree_to_labels
    labels, probabilities, stabilities = get_clusters(condensed_tree, stability_dict)
  File "hdbscan/_hdbscan_tree.pyx", line 477, in hdbscan._hdbscan_tree.get_clusters (hdbscan/_hdbscan_tree.c:9977)
  File "hdbscan/_hdbscan_tree.pyx", line 520, in hdbscan._hdbscan_tree.get_clusters (hdbscan/_hdbscan_tree.c:9812)
  File "hdbscan/_hdbscan_tree.pyx", line 371, in hdbscan._hdbscan_tree.do_labelling (hdbscan/_hdbscan_tree.c:7355)
  File "hdbscan/_hdbscan_tree.pyx", line 269, in hdbscan._hdbscan_tree.TreeUnionFind.union_ (hdbscan/_hdbscan_tree.c:5911)
  File "hdbscan/_hdbscan_tree.pyx", line 284, in hdbscan._hdbscan_tree.TreeUnionFind.find (hdbscan/_hdbscan_tree.c:6127)
IndexError: index 98 is out of bounds for axis 0 with size 98

I don't receive any error when setting min_cluster_size=2, and am having trouble figuring out why and what I might need to do try to debug further.
Otherwise everything has been great and I am very grateful for everything; I also recall making the min_cluster_size=1 parameter work previously, and so am not sure in what way this behavior may be data-dependent...
Cheers!

It is possible that this error may be fixed in the current master branch --
were you running that, or a version from PyPI? If the former I'll have to
look into it. In practice a min_cluster_size of 1 is inadvisable, and I
should potentially have a check on the parameter values to prevent it, but
I'll have to see.
Your project looks great by the way! I look forward to seeing and hearing
more about it!
On Mon, Jul 18, 2016 at 8:42 PM, Lance Legel<EMAIL_ADDRESS>wrote:

Greetings,
First, thank you for the awesome library, I've found great success with it
riding on top of a word2vec -> t-SNE pipeline for a new natural language
processing project called words2map
https://github.com/overlap-ai/words2map. I'm just a few days from
publishing about our code, but am finding suddenly an unusual response
around the min_cluster_size=1 edge case.
Specifically, here is a sample from my code:
    print vectors
    print vectors.shape
    sns.set_context('poster')
    sns.set_color_codes()
    plot_kwds = {'alpha' : 0.5, 's' : 500, 'linewidths': 0}
    clusters = HDBSCAN(min_cluster_size=1).fit_predict(vectors)

...which generates the following:
[[-6.45791257 -4.44567396]
[-6.44261124 -4.46679372]
[ 1.56015613  2.66220251]
[-2.85201212 -6.22262758]
[-2.09304712 -7.14152838]
[-1.79593637 -5.40181427]
[-2.85714682 -6.80640389]
[ 4.3957132   0.9440575 ]
[ 1.81048591  1.02327832]
[ 5.16887682  6.7110603 ]
[ 5.37719927  6.28808868]
[ 0.11477621 -1.11785618]
[ 5.04218427  6.9646349 ]
[ 5.00133672 -1.09453604]
[ 3.72641649 -7.25523152]
[ 4.04915813 -6.63786898]
[ 1.2898098  -0.4886845 ]
[ 3.83732358 -6.94612688]
[-5.76981671 -0.61409089]
[-4.01244246 -0.87056213]
[ 6.22234736  0.58425667]
[-6.04886453  3.37668561]
[ 5.72806943  0.43197586]
[-5.69073762 -0.53585563]
[-6.05174687  3.38048791]
[-6.1931812  -7.1423447 ]
[-6.58477538 -7.32116243]
[-2.1166777  -6.3211911 ]
[-7.34847743 -7.71195486]
[ 2.35076966 -0.85595291]
[ 1.84758212  0.54659307]
[-5.19133828  0.36389009]
[-1.31086939 -4.1921722 ]
[ 1.79962948  1.58228398]
[-8.89372872 -6.65828121]]
(35, 2)
Traceback (most recent call last):
File "clusters.py", line 47, in
compute_clusters()
File "clusters.py", line 25, in compute_clusters
clusters = generate_clusters(topic_names, vectors_in_2D)
File "/home/ubuntu/words2map/words2map.py", line 202, in generate_clusters
clusters = HDBSCAN(min_cluster_size=1).fit_predict(vectors)
File "/home/ubuntu/miniconda/envs/words2map/lib/python2.7/site-packages/hdbscan/hdbscan_.py", line 667, in fit_predict
self.fit(X)
File "/home/ubuntu/miniconda/envs/words2map/lib/python2.7/site-packages/hdbscan/hdbscan_.py", line 649, in fit
self.min_spanning_tree) = hdbscan(X, **kwargs)
File "/home/ubuntu/miniconda/envs/words2map/lib/python2.7/site-packages/hdbscan/hdbscan.py", line 469, in hdbscan
return tree_to_labels(X, single_linkage_tree, min_cluster_size) + (result_min_span_tree,)
File "/home/ubuntu/miniconda/envs/words2map/lib/python2.7/site-packages/hdbscan/hdbscan.py", line 55, in _tree_to_labels
labels, probabilities, stabilities = get_clusters(condensed_tree, stability_dict)
File "hdbscan/_hdbscan_tree.pyx", line 477, in hdbscan._hdbscan_tree.get_clusters (hdbscan/_hdbscan_tree.c:9977)
File "hdbscan/_hdbscan_tree.pyx", line 520, in hdbscan._hdbscan_tree.get_clusters (hdbscan/_hdbscan_tree.c:9812)
File "hdbscan/_hdbscan_tree.pyx", line 371, in hdbscan._hdbscan_tree.do_labelling (hdbscan/_hdbscan_tree.c:7355)
File "hdbscan/_hdbscan_tree.pyx", line 269, in hdbscan.hdbscan_tree.TreeUnionFind.union (hdbscan/_hdbscan_tree.c:5911)
File "hdbscan/_hdbscan_tree.pyx", line 284, in hdbscan._hdbscan_tree.TreeUnionFind.find (hdbscan/_hdbscan_tree.c:6127)
IndexError: index 98 is out of bounds for axis 0 with size 98
I don't receive any error when setting min_cluster_size=2, and am having
trouble figuring out why and what I might need to do try to debug further.
Otherwise everything has been great and I am very grateful for everything;
I also recall making the min_cluster_size=1 parameter work previously, and
so am not sure in what way this behavior may be data-dependent...
Cheers!
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/lmcinnes/hdbscan/issues/48, or mute the thread
https://github.com/notifications/unsubscribe-auth/ALaKBfq_0zgnqOISSta0jUTlyJK72P3Xks5qXB1ZgaJpZM4JPRde
.

Thanks all around!
Indeed, I'm using the PyPi distribution,  but should have no problem going through the master branch on github instead. :)
Can you explain just a bit why min_cluster_size=1 is inadvisable? My understanding is that it would create unique cluster_ids for all of the singletons, which is the behavior I believe I'd like. Right now I need to recurse through the cluster labels and reset any -1 labels to a unique positive integer, which isn't a problem, I think, but just good to be on the same page.
 Will post a link here for you in a bit!

Setting min_cluster_size to 1 (particularly without setting min_samples to
something) means you are pretty much doing single linkage (albeit with a
slightly novel cluster extraction). Still it should work in master I think
-- let me know if it doesn't. Ideally I think min_cluster_size of 2 would
be more sensible, and leave the rest as "noise".
Anyway, thanks for the interest, I look forward to seeing your project!
On Tue, Jul 19, 2016 at 1:35 PM, Lance Legel<EMAIL_ADDRESS>wrote:

Thanks all around!
Indeed, I'm using the PyPi distribution, but should have no problem going
through the master branch on github instead. :)
Can you explain just a bit why min_cluster_size=1 is inadvisable? My
understanding is that it would create unique cluster_ids for all of the
singletons, which is the behavior I believe I'd like. Right now I need to
recurse through the cluster labels and reset any -1 labels to a unique
positive integer, which isn't a problem, I think, but just good to be on
the same page.
 Will post a link here for you in a bit!
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/lmcinnes/hdbscan/issues/48#issuecomment-233708138,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ALaKBWl5H6ChoZvZ_ZB5La2_wMFVvy1kks5qXQrfgaJpZM4JPRde
.

Got it - that makes a lot of sense. Thanks for everything. As promised:

We will be doing a guest post on yhat's blog on Friday, but here's a sneak peak at the story behind this, where we call HDBSCAN out. Hopefully this leads to a nice boost in energy for you. :)

Thanks so much!
On Wed, Jul 20, 2016 at 4:11 PM, Lance Legel<EMAIL_ADDRESS>wrote:

Closed #48 https://github.com/lmcinnes/hdbscan/issues/48.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/lmcinnes/hdbscan/issues/48#event-729515897, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ALaKBRg2UPP-R52t2DwLVNCiGIyJYegNks5qXoDZgaJpZM4JPRde
.

Still seeing this in version v0.8.2 in pypi. When do you plan to push a fixed version to pypi?

There should be a new version available now.


Zooming scatter plot

Zooming the scatter plot is available ???

There's no built in zooming functionality. You can of course achieve a similar effect re-creating the chart for different zoom levels, which may be enough depending on your requirements.

How can I achieve this ? Do we have any sample code ?

You would need to implement a slider (or whatever you use to select a zoom level) and re-generate the chart on zoom change, that is scale the x/y values accordingly and create a new chart with these values that replaces the old one. I think this works only with steps - if you need a continuos update the processing to reinitialise the chart probably will cause stuttering.

Will the zoom feature will available in future enhancements??
Sent from my iPhone

On 08-Nov-2015, at 21:44, Ivan Schütz<EMAIL_ADDRESS>wrote:
You would need to implement a slider (or whatever you use to select a zoom level) and re-generate the chart on zoom change, that is scale the x/y values accordingly and create a new chart with these values that replaces the old one. I think this works only with steps - if you need a continuos update the processing to reinitialise the chart probably will cause stuttering.
—
Reply to this email directly or view it on GitHub.

Maybe, but there are no plans for this yet.


Is A2lix still compatible with embedded forms?

Hello,
I'm using the version 2.1.* of the bundle with Symfony 2.8 and I'm not able to make the form work with collections anymore. Am I doing something wrong or this version is not compatible with collections?
I have a Translatable class (FirstClass and FirstClassTranslation) and a non Translatable class (SecondClass). My FirstClassTranslation can have multiple SecondClass (OneToMany relation). So, I'm trying to embed the collection of SecondClass inside FirstClass like this:
//MyBundle/Form/FirstClassType

->add('translations', 'a2lix_translations', array(
                'fields' => array(             // a normal translatable field of FirstClassTranslation
                    'title' => array(
                        'field_type' => 'text',
                        'required'   => true,
                    ),
                    'secondClasses'=> array(      // a collection type for the non translatable SecondClass
                        'field_type' => CollectionType::class,
                        'entry_options' => array(
                            'entry_type'   => SecondClassType::class,
                        )
                    )
                )
            )
        );

It displays the label but not the secondClasses field. I also tried other ways of writing this field, like I used to do with older versions of Symfony but I couldn't make it work.
Thanks for the help! ;)

I was finally able to make this work so I want to let an example here for the future me and maybe this can help someone:
I have two classes. Both are translatable. For the sake of simplicity, let's call News and Text. One news can have multiple texts. So first I was trying with a OneToMany Bidirectional but I couldn't save the parent in the child. I decided to use a OneToMany Unidirectional with Join Table ( http://doctrine-orm.readthedocs.org/projects/doctrine-orm/en/latest/reference/association-mapping.html#one-to-many-unidirectional-with-join-table) as it follows:
class News
{
    use ORMBehaviors\Translatable\Translatable;

    /**
     * @ORM\ManyToMany(targetEntity="Text", cascade={"persist", "remove"})
     * @ORM\JoinTable(name="news_text",
     *      joinColumns={@ORM\JoinColumn(name="news_id", referencedColumnName="id")},
     *      inverseJoinColumns={@ORM\JoinColumn(name="text_id", referencedColumnName="id", unique=true)}
     *      )
     */
    private $texts;

    public function __construct() {
        $this->texts = new ArrayCollection();
    }

    public function addText($text)
    {
        $this->texts[] = $text;

        return $this;
    }

    public function removeText($text)
    {
        $this->texts->removeElement($text);

        return $this;
    }

    public function getTexts()
    {
        return $this->texts;
    }
}

class NewsTranslation
{
    use ORMBehaviors\Translatable\Translation;
}

class Text
{
    use ORMBehaviors\Translatable\Translatable;

    private $id;

    public function getId()
    {
        return $this->id;
    }
}

class TextTranslation
{
    use ORMBehaviors\Translatable\Translation;

    private $title;

   public function setTitle($title)
    {
        $this->title = $title;

        return $this;
    }

    public function getTitle()
    {
        return $this->title;
    }
}

The form types:
class TextType
{
    $builder
            ->add('translations', 'a2lix_translations', array(
                'fields' => array(
                    'title' => array(
                        'field_type' => 'text',
                        'required'   => false,
                    )
              ));
}

class NewsType
{
    $builder
            ->add('texts', CollectionType::class, array(
                'entry_type'   => TextType::class,
                'allow_add'    => true,
                'by_reference' => false,
            ))
}

The controller:
public function newNews()
{
    $news = new News();
    $text = new Text();
    $news->addText($text);

   $form = $this->createForm('MyBundle\Form\NewsType', $news);
   $form->handleRequest($request);

        if ($form->isSubmitted() && $form->isValid()) {
            $em = $this->getDoctrine()->getManager();
            $em->persist($news);
            $em->flush();
        }
}

The view:
{% import "A2lixTranslationFormBundle::macros.html.twig" as a2lixTranslations %}

{% block body %}
    {{ form_start(form) }}

Texts

        {% for text in form.texts %}
            {{ a2lixTranslations.partialTranslations(text.translations, ['title') }}
        {% endfor %}

    <input type="submit" value="Create" />
    {{ form_end(form) }}

{% endblock %}

And of course, don't forget to add the JS necessary to add a "New texts" button and enable you too create multiple Texts inside the same News: http://symfony.com/doc/2.8/cookbook/form/form_collections.html#cookbook-form-collections-new-prototype


Added a SocialAuth.Middleware.afterLogin event.

Currently I'm only using it to trigger an update of the last_login time in the database. I have thought of another way to do this, but I thought events would make more sense.

Thats a reasonable use case.
Looking good. I am just concerned if it's appropriate to dispatch the event on model instance. Model layer should not be concerned by about login.

I couldn't find a way to get ahold of the middleware object in order to attach event handlers directly to it.

https://github.com/ADmad/cakephp-social-auth/pull/26/commits/79f3b9113a16e69517109eff54133abe5a65176b is just a suggestion. In the docs userEntity is defined as Boolean indicating whether user identity should be returned as entity. Well if this boolean is switched to true then not only is an entity returned, but the session data also gets written as the entity instead of an array. I think as its defined in the docs it sounds like only the return value should be being modified. I actually have the user case right now where I want the user session data to be an array like normal, but I'd like to receive an entity back.

You should instead move the event triggering above the 'userEntity'  config check so that event handler always gets an entity.

I think this is what I meant to do, but I accidentally moved the wrong thing in haste. Is this is change that makes sense and would you like me to do it?

Please checkout how GlideMiddleware implement event dispatching and implement similar.
You can then use the global event manager to attach a listener for the afterLogin event anywhere you want in your app.

We've discussed in short whether or not it's appropriate to dispatch the event on model instance. Is this a change you would like me to implement? to dispatch the events on the SocialAuth middleware itself instead?

Are you referring mainly to fact that the event is dispatched on the middleware itself instead of the model or is there something else I am also missing?

@ADmad I have the same issue, the event Auth.afterIdentify is no longer fired after login like the old plugin

This is now implemented on the dev branch. SocialAuth.afterIdentify event is now dispatched upon successful login.

Thanka allot @ADmad When we can expect a tagged release?

When I get time to test out the dev branch or some one give feedback for it :)

I'll try to test it at my end and feed you back. Will you add new features to the dev branch?

Don't have any plans to add any more new features to dev for now.

I tested the following on my App and evrything is working well

Make social profile model configurable.
Dispatch SocialAuth.afterIdentify event.


Issue/7531 race condition in exporter file upload (#7707)

Pull request opened by the merge tool on behalf of #7707

Merged into branches iso7 in a718786eb82a9fe064c495746f8b0547b12f49e8


Docs update: Order of commands - spo - list

Description
Currently, the order of navigation links seems quite randomly constructed. For example, list roleassignment remove is above list roleassignment add. I think that it would be a good idea to revisit the order of the navigation structure under spo list, in particular for the items marked in the image below.

Steps to reproduce

Open the documentation URL from the M365 CLI (https://pnp.github.io/cli-microsoft365/)
Navigate to 'Commands' and click open 'spo' and then 'list'

Links should always go in alphabetical order indeed. However I think we can keep the list add, list get, list remove, list set, list list together since they belong to the same group.
Are you willing to work on it, or should we open it up for the community?

You can open this up. I've also noticed the same behavior for spo listitem (see screenshot below). Should I include this in this issue? (I'll update the specs)

Here, however, the add, get, remove, list or set command are split alphabetically. I'm not sure on what the best-way of doing this is in regards of consistency over all the commands (as most of them have a add, get, list, remove and set variant.

Let's list up all issues. Normally the order should be
listitem add
listitem get
listitem list
listitem remove
listitem set
listitem attachment list
... (all other commands alphabetically)

This might take a while, but I'll do my best 😁

Let's just list the groups to revision like spo listitem, spo list, ...

Can't we write a unit test for this alphabetic behaviour?

In regards to this issue, I found irregularities for the following commands:
Azure Active Directory (aad)
- app
- o365group
- user
Planner
- bucket
- task
spo
- app
- cdn
- contenttype
- hubsite
- list
- listitem
- serviceprincipal
- site
- web
teams
- channel
Please have a second look however 😄 .

Can't we write a unit test for this alphabetic behaviour?

We could write an eslint rule for that. Then it would be easier to maintain the order.

Can I work on this?

Sure @nanddeepn, thanks for picking it up! ❤

We could write an eslint rule for that. Then it would be easier to maintain the order.

I'd personally say: let's just pick these things up in our PR reviews, as we are already doing. We could add an extra note in the PR checklist for example.


please help with azure network watcher NSG flow log's supportability of AKS service

https://docs.microsoft.com/en-us/azure/network-watcher/network-watcher-nsg-flow-logging-overview#nsg-flow-logging-considerations
customer's verbatism:
The main reason we are asking Azure teams to extend Flow Logs and Traffic Analyser to AKS is for allowing clients with web applications running on Kubernetes clusters to monitor, analyse and alert about all traffic hitting the cluster’s public IP address. This would be essential for identifying sources that may overload, intentionally or not, our applications and implement actions appropriately for avoiding performance issues.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: bd699dac-d6e5-5a39-624f-2d3f77f92fca
Version Independent ID: c922bcd2-0778-a7af-4855-1bff6c9ce380
Content: Introduction to flow logging for NSGs - Azure Network Watcher
Content Source: articles/network-watcher/network-watcher-nsg-flow-logging-overview.md
Service: network-watcher
GitHub Login: @damendo
Microsoft Alias: damendo

@HollyQM Thanks for the feedback! I have assigned the issue to content author to check and update the document as appropriate. We will update you accordingly.

@damendo Can you please check and add your comments on this doc update request as applicable

@HollyQM I am from the product team of NSG flow logs. Thanks for your feedback.
We are aware of this requirement. Due to platform limitations we are not able to support AKS on flow logs.
Internally we are working with the partner teams and trying to add support.
Currently, I don't have an ETA on this, but the requirement is noted and being worked on.

@moagra thank you very much for the answer! Please kindly keep us informed of any progress, thanks in advance.

As advised by my manager @jyothisuri, closing the issues that are older than a year.
#please-close

#reassign: @Harsha-CS


NavTypeSerializer

Hi @raamcosta  we a using  destination in out project.  I want navigate from module a to module b with arguments as argument I want to use data class. I have created my own NavTypeSerializer like documentation but method  toRouteString doesn't call. Here a simple example.
This is my screen in module b
@Destination()
@Composable
fun TestScreen(things: Things) {
Box(modifier = Modifier.fillMaxSize(), contentAlignment = Alignment.Center){
Text(text = things.first, style = MaterialTheme.typography.headlineMedium)
}
}
// this is exmaple how I am navigating from module a to module b
onNotificationClick
{
val data = Things("Detail","items")
navigator.navigate("test_screen/$data")
},
Here is custom type serializer

@NavTypeSerializer
class ThingsNavTypeSerializer : DestinationsNavTypeSerializer<Things> {

    override fun toRouteString(value: Things): String {
        return "${value.first};${value.second}"
    }

    override fun fromRouteString(routeStr: String): Things {
        val things = routeStr.split(";")
        Log.d("TESTING",things.toString())
        //[Things(first=Detail, second=items)]
        return Things(first = things[0])
    }
}

**But method toRouteString() doesn't call and on method fromRouteString we are need to list of string but it retuns list of things in string format look like this //[Things(first=Detail, second=items)] can you check what is wrong  or what I did wrong thanks you

Same as your other issue.
Navigate with Destination type safe methods:
navigator.navigate(TestScreenDestination(data))

Why not? 🤔
Check my other answer, make sure you read through the documentation. It will tell you how to expose destinations from other modules, import them in your DestiantionsNavHost module. Then you'll be able to navigate to them.


[feature request] - add ability to set a beard theme in the settings.json

Hello!!
I love your extension. The themes are great!! The only thing I would really like, though, is the ability to set the theme in the settings.json file. I have a lot of projects, profiles, and languages going on, and it would be great to have this feature so it could be committed to the code base.
Unless I am missing something but when I attempted this, it was not recognized.
Cheers

I'm afraid I don't quite understand your request, I have the feeling that it concerns a VSCode configuration rather than via my extension directly haha

@BeardedBear
Sorry.  I should of elaborated more.
Yes.  I am talking about being able to set which theme a user wants in the vscode settings.json configuration file.
So for example:
{
	"[bearded-theme]": {
		"theme": "arc-eggplant",
	}
}

or something similar. This way, we don't have to keep setting it via the extension tab by clicking the Set Color Theme button.
So instead of:

we could just set a setting and it would always use that theme when loading a particular project.
I don't know if that is easy or not or even worth doing.  It was just an idea.   😀

I don't understand the difference with adding
{
    "workbench.colorTheme": "Bearded Theme Aquarelle Lilac"
}

in settings.json haha

Nvm.  This is my bad.
I did not realize that you could do that.  Also, when I tried something like this in the past, it did not work. I just realized that it did not work in the past because I had a VSCode workspace and that setting does not work with workspaces.
Sorry for wasting your time.


Adding the 'hours' method advertised in the README examples

The README.md shows the 'hours' method available:
...
days.forEach(function(day, i) {
  // list of hours within the day
  var hours = day.hours();
 ...

However, it didn't seem to be implemented, so here it is.
Or maybe there is something obvious I missed ?
Cheers

@centime also its merged now, could you please provide a test case for this in another PR please.


PHP code exec grep list missing three items

https://github.com/danielmiessler/SecLists/blob/d19c482b7516838d456b12745ff02dd186b33a1e/Pattern-Matching/grepstrings-auditing-php.md#command-execution
The following also allow code exec in PHP:

passthru()
proc_open()
popen()
backticks: `cmd`

They are in
https://github.com/danielmiessler/SecLists/tree/master/Pattern-Matching/Source-Code-(PHP)
, except backticks: cmd but maybe those can be merged ?

Feel free to open up a PR

Done! Thanks to @molangning


sqlite transaction behaviors

I like the idea of doing this, but unfortunately we don't want to accept extensions to the API surface for 0.4. I'm happy to discuss how this can be done in an issue for 0.5 though.

This is the kind of API I'm currently thinking:
// BEGIN IMMEDIATE
conn.transaction().immediate().begin(&mut conn).await?;

// BEGIN
conn.begin().await?;
conn.transaction().deferred().begin(&mut conn).await?;


Fixed the z-wave sensor workarounds for empty manufacturer ids

Description:
Fixed issues for devices not reporting any manufacturer id.
Related issues:
#1439
#1424
Checklist:

[x] Local tests with tox run successfully.
[x] TravisCI does not fail. Your PR cannot be merged unless CI is green!
[x] Fork is up to date and was rebased on the dev branch before creating the PR.
[x] Commits have been squashed.

isnumeric as @balloob suggested did not work with the hex values that was returned, and in both issues reported the string was empty so I checked for that instead.

Great. I'll release this as 0.14.2


job apply issues

i have this error
PS C:\Users\me\OneDrive\Desktop\linkedin-easy-apply-bot-main> npm run apply

<EMAIL_ADDRESS>apply
ts-node ./scripts/apply.ts SUBMIT

[8/4/2024, 12:25:08] Logged in to LinkedIn
press enter to pause the program
TimeoutError: Waiting for selector .jobs-search-results-list li.jobs-search-results__list-item:nth-child(7) failed: Waiting failed: 5000ms exceeded
at Timeout. (C:\Users\me\OneDrive\Desktop\linkedin-easy-apply-bot-main\node_modules\puppeteer-core\src\common\WaitTask.ts:79:11)
at listOnTimeout (node:internal/timers:573:17)
at processTimers (node:internal/timers:514:7)

Thanks for opening this issue @Mhalat1 .
There's been two other reports on this already, the problem is that I can't seem to reproduce it myself (it works for me unfortunately :) ).
Will keep trying regardless

Also i have this issue before that
i just replaced createIncognitoBrowserContext by createBrowserContext
maybe it's reason but i dont see any correlations
       ^

TSError: ⨯ Unable to compile TypeScript:
scripts/apply.ts:39:33 - error TS2551: Property 'createIncognitoBrowserContext' does not exist on type 'Browser'. Did you mean 'createBrowserContext'?
39   const context = await browser.createIncognitoBrowserContext();
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
node_modules/puppeteer/lib/types.d.ts:241:14
241     abstract createBrowserContext(options?: BrowserContextOptions): Promise;
~~~~~~~~~~~~~~~~~~~~
'createBrowserContext' is declared here.
scripts/apply.ts:75:11 - error TS18047: 'applicationPage' is possibly 'null'.
75     await applicationPage.bringToFront();
~~~~~~~~~~~~~~~
scripts/apply.ts:92:9 - error TS2322: Type 'Page | null' is not assignable to type 'Page'.
Type 'null' is not assignable to type 'Page'.
92         page: applicationPage,
~~~~
apply/index.ts:30:3
30   page: Page;

So I let the program run till the end and I encountered this error message after a while

TimeoutError: Waiting for selector .jobs-search-results-list li.jobs-search-results__list-item:nth-child(7) failed: Waiting failed: 5000ms exceeded

So I paused the program at that point and reviewed my logs, and this is is what I see in my console logs and on the program screen
><EMAIL_ADDRESS>apply
> ts-node ./scripts/apply.ts SUBMIT

[8/6/2024, 13:27:31] Logged in to LinkedIn
press enter to pause the program
[8/6/2024, 13:28:01] Error: Submit button not found
[8/6/2024, 13:28:01] Error applying to Frontend Developer
Frontend Developer at Unknown
[8/6/2024, 13:28:15] Error: Submit button not found
[8/6/2024, 13:28:15] Error applying to Senior Full Stack Developer
Senior Full Stack Developer at Unknown
[8/6/2024, 13:28:29] Error: Submit button not found
[8/6/2024, 13:28:29] Error applying to Senior Front-end React Engineer
Senior Front-end React Engineer with verification at Unknown
[8/6/2024, 13:28:53] Error: Submit button not found
[8/6/2024, 13:28:53] Error applying to Senior React Native Developer
Senior React Native Developer with verification at Unknown
error that occured TimeoutError: Waiting for selector `.jobs-search-results-list li.jobs-search-results__list-item:nth-child(7)` failed: Waiting failed: 5000ms exceeded
    at Timeout.<anonymous> (/REDACTED/linkedin-easy-apply-bot/node_modules/puppeteer-core/src/common/WaitTask.ts:79:11)
    at listOnTimeout (node:internal/timers:573:17)
    at processTimers (node:internal/timers:514:7)

At the same time here is the state of the program at the time of this log

I'm going to infer that the search filters you are using are yielding 0 results but the program is not handling this scenario properly

Will be closing this as "completed" in a few more days if no one has any other issues related to this.

@IggsGrey
I am still getting the same error even though for me the jobs are :
TimeoutError: Waiting for selector `.jobs-search-results-list li.jobs-search-results__list-item:nth-child(7)` failed: Waiting failed: 5000ms exceeded
    at Timeout.<anonymous> (/Users/u1536988/Downloads/linkedin-easy-apply-bot-main 2/node_modules/puppeteer-core/src/common/WaitTask.ts:79:11)
    at listOnTimeout (node:internal/timers:559:17)
    at processTimers (node:internal/timers:502:7)

@SiddharthBhawsar was the script able to apply to any jobs at all or does this happen immediately the page in the attached image is open?

@IggsGrey it just opens this page and halts, not even one successfully applied job. I am using your updated main branch btw.

Just checked it out @SiddharthBhawsar this looks like a different issue. Linkedin has updated their selectors. Created a new issue for this -> https://github.com/IggsGrey/linkedin-easy-apply-bot/issues/15


refactor: ♻ Various adjustments and removals

Description
This merge request introduces several significant refactors and new features, along with a breaking change that necessitates updating the version from 4.8.0 to 5.0.0.
Changes
Refactor ♻

🚫 Removed header and navbar from admin index
🚫 Removed header and navbar from home index
🔄 Moved action-card to card/action-card directory
🛠 Adjusted logic in product card
🛠 Adjusted logic, persistence, and styles in navbar
🛠 Adjusted logic in product list
🛠 Updated shopping cart context
🎨 Styled product creation dialog
🖼 Updated standard layout
🆕 Created interface for CategoryMapping

Features 🚀

🛤 Created "my profile" route
🧩 "My profile" component: decodes JWT to fetch CPF and retrieves user data via fetchUser hook
🔍 Implemented product search and render by category (in card)
🔍 Implemented product search (in admin list)
📝 Added "my profile" schema

Style 🎨

💅 Styled "my profile" route
🔘 Styled product search button as a floating button
📌 Styled navbar to highlight the current route
🎨 Styled product creation dialog
🖼 Styled standard layout to centralize navbar and header

Breaking Change
These changes include significant refactoring and updates that are not backward compatible, necessitating a major version bump.
Version Update
Due to the breaking changes, the version is updated from 4.8.0 to 5.0.0.
Assignees
@JhowSL

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

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