Localdev Changes

Closes #2093

Codecov Report
Base: 47.40% // Head: 49.42% // Increases project coverage by +2.02% :tada:

Coverage data is based on head (e718493) compared to base (6c19460).
Patch has no changes to coverable lines.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #2098      +/-   ##
==========================================
+ Coverage   47.40%   49.42%   +2.02%
==========================================
  Files         234      242       +8
  Lines       31224    36461    +5237
==========================================
+ Hits        14801    18021    +3220
- Misses      15323    17203    +1880
- Partials     1100     1237     +137

Flag
Coverage Δ

airflow-operator
89.13% <ø> (ø)

armada-server
48.63% <ø> (+2.20%)
:arrow_up:

python-client
93.83% <ø> (ø)

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

Impacted Files
Coverage Δ

internal/common/slices/slices.go
97.29% <0.00%> (-2.71%)
:arrow_down:

internal/scheduler/schedulerobjects/nodetype.go
76.84% <0.00%> (-2.51%)
:arrow_down:

...nternal/scheduler/schedulerobjects/nodematching.go
83.52% <0.00%> (-2.08%)
:arrow_down:

internal/executor/podchecks/pod_checks.go
66.07% <0.00%> (-0.60%)
:arrow_down:

internal/eventingester/store/eventstore.go
70.32% <0.00%> (-0.26%)
:arrow_down:

internal/scheduleringester/ingester.go
0.00% <0.00%> (ø)

internal/armada/server/submit_to_log.go
0.00% <0.00%> (ø)

internal/scheduler/schedulerobjects/node.go
0.00% <0.00%> (ø)

internal/executor/service/cluster_allocation.go
0.00% <0.00%> (ø)

internal/common/util/hash.go
0.00% <0.00%> (ø)

... and 41 more

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

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


Test with absolute coordinates

Test if the parser supports gcode with absolute coordinates. Fix if not.

Surprisingly, it works after modifying a single line of code!


Avoid re-compiling filter view functions

Filter view functions feature re-uses view map function for filtering _changes feeds. Instead of accumulating emitted KVs, it uses custom emit() function which just toggles a flag. However, in order to use this optimisation, the function is compiled first with the regular emit function, then the function source is queried with a non-portable toSource() method, and re-compiled again with a new sandbox where emit is overridden.
Instead of reparsing and re-compiling it, pass the sandbox to the compile function and compile filter views with that correct sandbox to start with. Moreover, this helps remove another non-portable function call.

Good point @jaydoane. I knew about the new chttpd tests but I double-checked to verify we had a bunch more as well:
https://github.com/apache/couchdb/blob/138163147dc735b0a0015c5dd90adc9c415112a4/src/chttpd/test/eunit/chttpd_changes_test.erl#L485-L493
https://github.com/apache/couchdb/blob/1407a51ee6898c39eeb551a9c3cd9d69751e7baa/src/couch_replicator/test/eunit/couch_replicator_filtered_tests.erl#L119-L139
https://github.com/apache/couchdb/blob/adf17140e81d0b74f2b2ecdea48fc4f702832eaf/test/elixir/test/changes_test.exs#L110-L118


Task: Remove redundant get template details call as we already have all the info in the get templates call

<@U04V0N2K0G1> <@U04LTQU5E8K> I noticed that we are calling the API GET /api/v1/app-templates/{templatedId} when any template is opened in a preview mode. But the get All active templates api/v1/app-templates which is used for rendering the templates homepage has the data available already. Can you guys remove this API call and fetch it from the browser cache?
Slack Message

@rahulbarwal , can you share more details, we are trying to check, if we can pick this up

@rahulbarwal , @Nikhil-Nandagopal  , i have  noticed an API call to GET /api/v1/app-templates/{templateId} when opening a template in preview mode. This seems redundant since the GET /api/v1/app-templates call already has the necessary data.
Could you check if there are more details in the linked Slack message? We're unable to access it and want to see if we can proceed with this task.

@akshayvijayjain , @saiprabhu-dandanayak
Basically when we land on app.appsmith.com we load all templates using /api/v1/app-templates and that list gets stored in redux.

Now if a user opens Create new > Templates - a modal with templates open open.
If we go to any of templates detail page we make another call to /api/v1/app-templates/{templateId}
What we noticed is that this second api call does not send any new information, than already given by request 1 above. Instead we can just filter the existing templates list to get the {templateId}

The second request can be removed completely from the UI.

Hi @rahulbarwal , i have raised PR for this issue could you please assign a review for this .

Hey @saiprabhu-dandanayak
Thanks for picking this up 🙏 . Can you share the link to your PR? @jacquesikot please review it and take next steps.

Hi @rahulbarwal ,this is  PR for this issue


Improving fonts in your website

You can begin working on this issue.

hello mam ,
can you assign me this issue

"Please assign the font improvement task to me."

Hello! I'm interested in working on this task. I have experience with web development , and I'm eager to contribute. Please consider assigning this to me, and I'll get started right away. Thanks! I will make a worthful contribution.

@madhurafulkar assign this issue to @anushkapal28


Update goreleaser to remove deprecated field

https://github.com/goreleaser/goreleaser/commit/8defb77b0eea3d775b016b32f8d5f91890e4e1a7#diff-6bc8131dff9242f298c3811fada0c174L180-L196 removed the archive field and it needs updated for the release.

We should consider adding a step in our build which, even when not on master, will try and use goreleaser with --skip-publish so we can check things like this more frequently.

Locally I can run goreleaser release --skip-publish --skip-validate locally where I was otherwise able to repro this issue. Going to go ahead and merge this.


Breakout rooms

@jptaylor Let's discuss tracking tracking tracking tracking tomorrow!

Going to close this one for now -- but we should revisit!


New scam url

https://polkadot-promo.info/

Url already posted as scam

They are making a comeback, this morning a new address was detected on that scam - https://github.com/polkadot-js/phishing/pull/134

I have tried several times to email a few of the web-hosting provider a few
of the scam URLS. They seem to be happy to leave many of them up. Often I
fill in a report get given a ticket number then that is it.  I suggest the
threat of legal acton for damages will force the web-host providers to take
down the scams right away.
On Wed, Feb 24, 2021 at 1:27 AM Jaco Greeff<EMAIL_ADDRESS>wrote:

They are making a comeback, this morning a new address was detected on
that scam - #134 https://github.com/polkadot-js/phishing/pull/134
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/polkadot-js/phishing/issues/135#issuecomment-784240708,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AQAE4UB5PECAWPEXMCMACWLTAO3N5ANCNFSM4YCNPJAQ
.


Add more achievements for tahoiya

Codecov Report

Merging #112 into master will decrease coverage by 0.04%.
The diff coverage is 6.66%.

@@            Coverage Diff             @@
##           master     #112      +/-   ##
==========================================
- Coverage   45.04%   44.99%   -0.05%
==========================================
  Files          40       40
  Lines        4125     4138      +13
  Branches      805      811       +6
==========================================
+ Hits         1858     1862       +4
- Misses       1819     1822       +3
- Partials      448      454       +6

Impacted Files
Coverage Δ

achievements/achievements.ts
100% <ø> (ø)
:arrow_up:

achievements/index.ts
54.14% <ø> (ø)
:arrow_up:

tahoiya/index.js
16.49% <6.66%> (-0.45%)
:arrow_down:

mahjong/index.js
26.81% <0%> (+0.31%)
:arrow_up:

prime/index.js
17.89% <0%> (+0.85%)
:arrow_up:

Continue to review full report at Codecov.

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


Have tf.sub  and tf.mul been removed from latest TF build ?

I am running TF 0.12.head and ran into this issue where tf.sub was not found. I am writing this since the docs don't seem to indicate any such thing.

Yes, it's been renamed to tf.subtract, to align with numpy.

Thanks!

Thanks! just ran into same issue when tensorflow update to 1.0

Thanks. just found it. updated my code.

Thanks.

I learned from Google search. Thank you.


fix: wait for vnet ns to create and ensure veths are inside namespace instead of assuming

Reason for Change:

In the transparent vlan endpoint client add endpoint path, detecting the vnet network namespace would previously assume the vlan interface was already inside the namespace. However, this was not always the case (the vlan interface may not exist or may be in the vm namespace). The fix removes any stray vlan interface pertaining to the container in the vm if it exists and also deletes the network namespace if it does not have a valid vlan interface. Then, the code can proceed as though the vnet namespace never existed. Deleting the vnet namespace will not cause existing endpoints to become inaccessible because they must have errored (and been cleaned up) previously to enter this state.
Additionally, we also explicitly confirm the vlan interface as well as the vnet interface are successfully created and moved into the vnet namespace. If the vlan interface fails to move, we delete the vnet namespace and the vlan interface. If the vnet interface fails to move into the vnet namespace, we only delete the vnet interface.
Code changes have been made to create unit tests.
Issue Fixed:

See above.
Requirements:

[X] uses conventional commit messages

[ ] includes documentation
[X] adds unit tests
[X] relevant PR labels added

Notes:
The following were manually tested (against commit "Address feedback"):

create pod when its vnet namespace does not exist
create pod when its vnet namespace and vlan interface does exist
create pod when its vnet namespace exists but the vlan interface does not exist
create pod when its vlan interface is in the vm namespace (as if it failed to move into the vnet namespace)
in all scenarios, we test pod-pod same vnet same vm connectivity, pod-pod same vnet different vm connectivity, pod-internet connectivity, pod-pod same vm different vnet with no connectivity

/azp run

@tamilmani1989 The network namespace GetNamed(...) function doesn't have a clearly named error-- it seems like it will return some kind of syscall error (any error related to opening the file).

Checked CNI statefile before creating pods, after creating pods, and after deleting pods, and the file looks the same as when it started.
Routes appear to be properly deleted and there don't appear to be any straggling interfaces (other than what we expect) after deletion


[DUOS-396][risk=no] Library updates for security alerts

Addresses
https://broadinstitute.atlassian.net/browse/DUOS-396

Thank you @vvicario!


[SPARK-48243][SQL][HIVE] Support push down char and varchar predicates to Hive Metastore

What changes were proposed in this pull request?
Add a new configure spark.sql.hive.metastorePartitionPruningVarchar to support push down char and varchar into HMS.
Why are the changes needed?
Function enhancement.
Does this PR introduce any user-facing change?
Yes, add a new configure.
How was this patch tested?
Add unit test.
mvn test -Dtest=none -Dsuites="org.apache.spark.sql.hive.client.FiltersSuite" -pl :spark-hive_2.13

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

@cloud-fan @sunchao could you pls review this PR?


⚠ Bofrost.es has degraded performance

In 161bcdb, Bofrost.es (https://www.bofrost.es) experienced degraded performance:

HTTP code: 200
Response time: 1527 ms

Resolved: Bofrost.es performance has improved in a9adb34 after 6 minutes.


Several bugfixes

Fixes missing item name
Fixes disabled shortcut having disabled blueprint icon in shortcut menu
Fixes pump-selection-tool not having a proper order and no supgroup

Thanks!


Files - add field for whether it is an actual file (e.g. omics) or a pointer (e.g. ABCDS)

Not done but I think it's more of a portal infrastructure issue


This will be used in the stream buffered for joins with a grace period.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

@vcrfxia Can you take a look at this when you get a chance?

Yep, this week's looking a bit dicey but I'll take a look early next week!

@vcrfxia Once you are good with this can you take a look here[https://github.com/wcarlson5/kafka/pull/1]? Its the second part and has the new joining logic in it. After that I should add the recovery logic a third PR
I have it targeted to this feature branch until this gets merged

@Burno @vcrfxia I removed the change wrapping and also addressed your other comments. If you could give it another look I would appreciated it

Wow, @vcrfxia , so nicely checked and commented!

https://ci-builds.apache.org/blue/organizations/jenkins/Kafka%2Fkafka-pr/detail/PR-13756/19/tests/
Test failures are unrelated

Did we get an answer to the question from @cadonna ?


How to set up AVS on Raspberry Pi with bluetooth speakers

Hello, can anyone please help me?
I installed avs on raspberry pi and the sample app works perfectly, now I want to use it with bluetooth speaker as output and usb microphone as an input. I performed all the actions from this link https://github.com/alexa/avs-device-sdk/wiki/Raspberry-Pi-Quick-Start-Guide  under Bluetooth section, however my output is still going to the monitor's speakers.

Hi PavelYarysh,
Could you run the SampleApp at debug level DEBUG9 and provide the logs.
Thanks
Priya

Also, what exactly do you mean by "I want to use it with bluetooth speaker as output". Current release of bluetooth in AVS SDK only support A2DP-SINK and not A2DP-SOURCE. Please advise.
Thanks
Priya

Hi,
To re-iterate, the SDK does not currently support acting as an A2DP-SOURCE, ie sending music to another device.
If you wish to use the Bluetooth speakers outside of Alexa and the SDK, it is likely the Raspberry Pi will already support that. You can try by re-enabling BlueALSA (or PulseAudio if you have it installed), and building the SDK without Bluetooth. Then, pair and connect the Bluetooth device to your system as normal (outside of the SDK). The SDK sends all audio to the underlying system to handle, thus configuring the Pi to route audio to your device will allow you to use the Bluetooth speakers to play all the SDK audio. There's typically a GUI window to select which output device the Pi sends its audio to. Since this operates outside of the SDK, you will not be able to use Alexa to perform any Bluetooth commands.
Closing ticket, please feel free to re-open if there are further questions.


Installed this and tried to make it work with iina but iina doesn't open now

So i ran the script in terminal as I saw your comment somewhere that this can be used with iina for discord rich presence but after following all the steps and changing the directory in iina's preferences > advance to config/mpv I quit iina and tried opening it but now it won't open at all. I moved the mpv-discord file to trash and tried reinstalling iina as well but still the same issue. In short I can't open iina now no matter what so I'd appreciate it if you can help me with this.

Okay so I ran defaults delete com.colliderli.iina in terminal which restores the default settings of iina and it opens now. Still no idea why this happened, if you know the reason and could help me set this up for rich presence using iina I'd appreciate it a lot.

I guess your mpv-discord config was wrong, particularly the binary_path option. If this option points to a non-existing path, IINA will not open.

Okay i ran install_darwin.sh again and i get this
Copying config [discord.conf] Copying script [discord.lua] Copying prebuilt darwin binary [mpv-discord] Done! Please manually edit the following option in the config file: binary_path=/Users/aryanshetty/.config/mpv/discord Path to mpv directory: /Users/aryanshetty/.config/mpv Path to config file: /Users/aryanshetty/.config/mpv/script-opts/discord.conf
Edited the discord.conf file to this
key=D active=yes binary_path=/Users/aryanshetty/.config/mpv/discord socket_path=/tmp/mpvsocket use_static_socket_path=yes autohide_threshold=0
i did the exact same thing last time and in iina i did this preferences > advanced > use config directory: /Users/aryanshetty/.config/mpv
quit iina and it won't open
do i need to have mpv installed or maybe do some other stuff in addition to this?
I'm sorry for bothering you.

You don't need to have mpv installed.
Check if the binary_path does exist and is pointing to the mpv-discord binary.
Make sure IINA has write access to /tmp. If it requires root permissions, you may specify another socket_path.


Update assemble

fixed where the copy from location of source code cp -Rf /tmp/src/index.html /usr/share/nginx/html/index.html
Fix for https://github.com/openshift/source-to-image/issues/467

lgtm
[merge]


Default logging level

IMO default level should be WARNING. The verbosity could be increased via cumulative -v options and decreased via cumulative -s options. Duty for another PR, IMO INFO is fine for now.
Originally posted by @Julien00859 in https://github.com/NotANameServer/incipyt/pull/15#discussion_r638690879

As inspiration, here's my own logging configuration boilerplates https://github.com/readthedocs-fr/aioircd/blob/master/aioircd.py#L21-L59

up


[Update] Adjust info view control size

Description
This PR adjusts the info view's control position and size.

Add an ideal width to the segmented picker so it's width doesn't differ among iOS versions
Add spacer to bottom bar to make the code picker centered

Linked Issue(s)
See swift/issues/4377.
How To Test
Build and run on iOS 16/17 iPad.
To Discuss

Ideally, we don't apply the fixed width frame modifier to the segmented picker. But that would cause the width problem described in issue 4377.
Another idea is to use fixedSize() modifier to make the segmented control tight. While it is commonly seen on iPhone, it is generally wider on iPad and Mac.
Please share your thoughts on which looks better:

segmented picker: tight / fixed width (current) / fill the top bar (original, with bug on iOS 17)
code picker: centered (current) / aligned to the right / system default (original)

The wider segmented picker looks better now for iOS 17. Is there a way to match the segmented picker width on iOS 16?
As for the code picker alignment, I prefer the centered alignment change made in this PR over the system default.
Before/After on iPad iOS 17:

iPad iOS 16:

The wider segmented picker looks better now for iOS 17. Is there a way to match the segmented picker width on iOS 16?

For some reason, .frame(maxWidth: .infinity) doesn't work here. We can use a big enough number such as .frame(idealWidth: UIScreen.main.bounds.width), but I don't like this solution.
Do you have other ideas? 🤔  To me the segmented control not taking up the entire width is more like an iOS 17 bug, rather than a new behavior.

For some reason, .frame(maxWidth: .infinity) doesn't work here. We can use a big enough number such as .frame(idealWidth: UIScreen.main.bounds.width), but I don't like this solution.
Do you have other ideas? 🤔 To me the segmented control not taking up the entire width is more like an iOS 17 bug, rather than a new behavior.

Not at the moment, I tried a few .frame() modifier variants which did not work. The segmented picker looks good using .frame(idealWidth: UIScreen.main.bounds.width) but if there is good reason to not use that then the original solution is good.

With the changes in dbbed15 using a big value in the frame modifier, it now looks like this.

@yo1995 I now see that the display width is matching on iOS 17 with rest of the platforms. The name of the code file is still rendering in black color in contrast to the accent colors on other platforms. Is that something out of control or expected?

The name of the code file is still rendering in black color in contrast to the accent colors on other platforms. Is that something out of control or expected?

That is unexpected. I'm not seeing it on iOS 17 beta Sim, iPad Pro 11 inch 4th gen though. When you build the v.next branch, do you also see the button as black?

@yo1995 Yaa... I am seeing it in black... I just noticed that in your screen shot it is rendering in accent color

Let's get this moving again

The info view control size changes look good, however, the bottom bar code picker does not render on iOS 17. Can you verify this? The issue does not seem related to the changes in this PR.

The info view control size changes look good, however, the bottom bar code picker does not render on iOS 17. Can you verify this? The issue does not seem related to the changes in this PR.

I'm using Xcode 15 beta 7

I'm using Xcode 15 beta 7

Okay thanks. There must be an issue with my simulator configuration.

Thank you!


Add deploy commands for Azure Storage and Azure Web App

[N/A] Related GitHub issue(s) linked in PR description
[x] Destination branch merged, built and tested with your changes
[x] Code formatted and follows best practices and patterns
[x] Code builds cleanly (no additional warnings or errors)
[x] Manually tested
[x] Automated tests are passing
[x] No decreases in automated test coverage
[x] Documentation updated (readme, docs, comments, etc.)
[] Localization: No hard-coded error messages in code files (minimally in string constants)

@all-contributors add @Stefanie899 for code, doc, test


Upload a directory

It is really tedious if you have a large directory to upload have to upload each file individually.

It should work with multi-selection (hit CTRL-A and try "open" in the dialog). I know it doesn't work with subfolders, we're working on fixing that.


Phpstorm complains about multiple class definitions  because of ide-helper

Since we are generating ide-helper files, phpstorm complains about multiple class definitions.
Perhaps we should consider moving ide-helper to a suggested peer dependency, as I assume a lot of laravel developers will already have it installed and the files generated. Then the developer can configure the path to their phpstorm stubs file if they would like.

Should be fixed now

@muglug how was this fixed? PhpStorm still shows both options

Ah, I believe this wasn't tagged yet.

@mr-feek want to cut a release?

Released https://github.com/psalm/psalm-plugin-laravel/releases/tag/1.2.0

Awesome, thanks!


Return PartialAsync from Razor Pages Page handler

Is this a Bug or Feature request?:
Feature request
Description of the problem:
It will be very useful to be able to return the equivalent of @await Html.PartialAsync(...) , but for the page handler
public async Task<IActionResult> OnPostCreateAsync()
{
    //some logic
    return await PartialAsync(partialViewName, model, viewData);
}

cc @DamianEdwards

Thanks for contacting us, @iforlife.
While this is a resonable ask, it doesn't align with our priorities for the upcoming release.
Moving this issue to the Backlog for now so we can review it in the future.

@iforlife if you'd like to send a PR for this, we'd be happy to consider it. Here's a recent change to add support for a helper method to Razor Page \ PageModel that you may use as a template: https://github.com/aspnet/Mvc/commit/26454fb1da36191ee43b59b956f6e9f2d945a3a7

Fixed in https://github.com/aspnet/Mvc/commit/dee479fda712e35cf740239587e438a8143850d8


Don't include CodeMirror CSS and put additional CSS inline

CodeMirror CSS is excluded now. Putting CSS inline seems more complex.


Questions about groupchat.py (Local LLM Related)

Hey everyone,
Was doing some probing into why the group manager just fails to do its job and have some questions.

on lines 153 to 156, why are we broadcasting the message to all agents?

https://github.com/microsoft/autogen/blob/b432c1b10823559189930986c0b668cc2548d34c/autogen/agentchat/groupchat.py#L136-L179
Instead of just sending the message to the selected speaker?
many server queue incoming messages. Personally I've been using LM Studio and noticed that it notes "running queued message" and runs them one by one, which may be causing some of these Local LLM group chat complications despite hacks to force chat orders.

I've been seeing better performance by commenting out lines 154,155 and 156
https://github.com/microsoft/autogen/blob/b432c1b10823559189930986c0b668cc2548d34c/autogen/agentchat/groupchat.py#L154C1-L156C80
and adding this between 162 and 164
self.send(message, speaker, request_reply=False, silent=True)

Group Chat is designed to mimic ... well a group chat (e.g., on your phone or in slack). We expect every agent to be aware of the shared conversation up to that point. Other workflows are certainly possible (Like spoke and hub delegation), but they wouldn't be called group chat. Commenting out the broadcast will likely break many of the Group Chat demo scenarios.

Hey @afourney, thanks for the explanation. Makes sense!
Apologies for the long write up but I think I found the source of a lot of local LLM's group chat problems. Since there's no error outputs for when there's failures, no one knew that the responses from the manager were incorrect.
Taking a look through the issue board and discord, there seems to be a common theme over the last week or so of the group chat manager not working in the "correct order" or "selecting agents correctly".
After doing some debugging using a few local LLM's I think I found the issue. It is a pair of problems that are related to one another.

Problem 1
Example: Agent being called is named "Coder"
Similar to my ticket #399 where we needed to sterilize the input of raw code, the raw output of the manager's role message is not in the correct format for the agent_by_name function in groupchat.py.
The below is called from the end of select_speaker function.
https://github.com/microsoft/autogen/blob/b432c1b10823559189930986c0b668cc2548d34c/autogen/agentchat/groupchat.py#L40-L42
Example outputs from the manager:

"The role I select is Coder"
"Coder:"
"```Coder"

The major offense though which I repeatedly keep seeing is the manager respond

"Coder: >>Writes out all the code<<"

What that function expects

Coder

This causes the ValueError to trigger on line 106 causing pseudo correct looking functionality. My belief is that because the ValueError spillover calls next, the manager seems to be working because I suspect most people order their agents in the chatgroup in the logical order of operations.

Rolling into problem 2
For some reason, I'm not quite sure why, the manager is semi-ignoring the system prompts fed to it from select_speaker_msg and line 96 in groupchat.py.
Now I don't know for sure how it works yet 100%, but my intuition is that the self.messages on line 96 needs to be a user message and the prompt from the user needs to be a system message for the manager.

It didn't output the correct single word response of "Coder" but it went "I will choose the coder" or something like that. So there is something weird going on with how the local LLM's interact with the group chat manager prompts.
I'm not sure the best way to approach this, but I think this is a another roadblock for most local LLM users and will help with the group chat problems they're facing.

Current behavior
4 agents, Manager, User_Proxy, Coder, QA

User proxy
"Hey write me a basic hello world in python" (to manager)

System
[ "Choose a role, only choose one role" ] (to manager)

Manager
"I choose Coder: '''Python (insert python code here)"

autogen logic
[ Manager has finished and I got it's response. Checking message. Result: ValueError fail. Last agent: Coder. Next agent is... Coder ]

Coder
" '''Python (insert python code with incorrect code here) " (replies to autogen logic)

autogen logic
[ coder is done, manager picks another speaker]

System
[ "Choose a role, only choose one role" ] (to manager)

Manager
"I choose QA: "(Does full QA assessment that detects the incorrect code)

autogen logic
[ Manager has finished and I got it's response. Checking message. Result: ValueError fail. Last agent: Coder. Next agent is... QA']

QA
[ Does full assessement that detects the incorrect code] (replies to autogen logic)

autogen logic
[ QA is done, manager picks another speaker]

System
[ "Choose a role, only choose one role" ] (to manager)

Manager
"I choose Coder: '''Python (insert python code here)"

autogen logic
[ Manager has finished and I got it's response. Checking message. Result: ValueError fail. Last agent: QA. Next agent is... User_Proxy']

User Proxy
>>>Executes Code

Disclosure : I haven't done any testing using OpenAI's GPT. This may or may not be a problem for GPT 3.5/4

That's for the awesome deep dive. Keep them coming!
We've not done a lot of testing with local models, and i actually have no idea how well we should expect a GroupChatManager to function if backed by such models. One thing to try is to leave the Chat Manager as GPT-4, but local LLMs everywhere else, and just compare performance.
Selection of the next agent is non-trivial, and frankly I'm surprised it works even with GPT-4. Here's one possible source of confusion: https://github.com/microsoft/autogen/issues/319

Hello,
I am facing a similar issue. When I tried agent_by_name(), I also got ValueError but interestingly my example outputs are not like given below (taken from robzsaunders)
Example outputs from the manager:
"The role I select is Coder"
"Coder:"
"```Coder"
What I get for name parameter is the whole output of the LLM.
I am in desperate situation and open to every solution.
Thanks.

Yea that's what I was trying to communicate with:

The major offense though which I repeatedly keep seeing is the manager respond
"Coder: >>Writes out all the code<<"

The manager does the work first but it is silent in the background and throws the role prompt through a loop

This PR is related to this, offering a partial solution.
#500

I think there are a few things going on here, and I think we need a piecemeal approach to solving it. The PR #500 would solve the problem if you don't need dynamic orchestration. In other words, if you already know which agents should speak, and in what order, then Group Chat -- as it currently stands -- is not a great solution, and some deterministic alternative would be better.
However, if you still want dynamic orchestration, then what we need to do is improve the GroupChatManager's performance on local models. We can do this a few ways. First, we can try improving the prompt that it uses, or perhaps use a different prompt altogether, tuned to the local model. Alternatively we can improve parsing (or recognize the failure and remind the model to output the correct format, similar to TypeChat). This would add some robustness to the selection.
I would, however, openly wonder about effectiveness. Orchestration is super complex problem, and it resembles planning. If the underlying LLM can't handle the instructions to output the correct format, I might naturally wonder how carefully considered its plans are?

Yea, its why I opened this as an issue instead of knee jerking a solution with a PR.
The orchestration needs some discussion.
I'm still convinced that something isn't being sent through properly to the local model (I'm using LM Studio) since editing the managers system prompts don't do anything

Hi there,
I am also working on it, serving Mistral_7B with vLLM using the openai api end points.
The first problem I notice with respect to running a local LLM using the llm_config dictionary, and correct me if I am wrong, is its absence in the GroupChatManager constructor. Unless overwriting the DEFAULT_MODEL to be the local LLM, or pointing 'gpt-4', 'gpt-3.5-turbo' etc. model names to the local LLM, I believe two lines of code need to be added. These are to initialize the llm_config dictionary and pass it along to the Parent class, ConversableAgent:
'class GroupChatManager(ConversableAgent):
def __init__(
    self,
    groupchat: GroupChat,
    name: Optional[str] = "chat_manager",
    # unlimited consecutive auto reply by default
    max_consecutive_auto_reply: Optional[int] = sys.maxsize,
    human_input_mode: Optional[str] = "NEVER",
    system_message: Optional[str] = "Group chat manager.",
    llm_config: Optional[Union[Dict, bool]] = None,
    # seed: Optional[int] = 4,
    **kwargs,
):
    super().__init__(
        name=name,
        max_consecutive_auto_reply=max_consecutive_auto_reply,
        human_input_mode=human_input_mode,
        system_message=system_message,
        llm_config=llm_config,
        **kwargs,
    )
    self.register_reply(Agent, GroupChatManager.run_chat, config=groupchat, reset_config=GroupChat.reset)
    # self._random = random.Random(seed)'

The second problem specific to my implementation is in-line with @dogukanustun 's comment. The GroupChatManager never outputs anything related to a role. Instead it seems to answer directly the question asked even though the role mentioned is Planner, Engineer etc. The first agent that seems to answer is always the first of the list, followed by the second one and so on in order to the last. Then I swaped the positions of the agents in the groupchat. The answers provided were exactly the same, meaning they are position dependent and not agent dependent. The first, second answer etc. are always the same, the name of the agent answering appearing in terminal changes and matches the ordering of the groupchat list.
If my second problem is solved and I reach @robzsaunders problem, I think I could offer some solutions. One would be through prompt engineering to force the local LLM to spit out the correct role based on the groupchat list.

would like to see whatever is implemented for groupchatmanager be exposed in autogen studio


feat: improve constructor mapping readability

Fixes #1322
It's my first time contributing to a source generator project, so feel free to let me know if I've made any obvious mistakes.
Thanks.
Checklist

[x] The existing code style is followed
[x] The commit message follows our guidelines
[x] Performed a self-review of my code
[x] Hard-to-understand areas of my code are commented
[x] The documentation is updated (as applicable)
[x] Unit tests are added/updated
[x] Integration tests are added/updated (as applicable, especially if feature/bug depends on roslyn or framework version in use)

@latonz Thanks! Sorry I've been very busy and couldn't get to fixing those, will do so this weekend when I hopefully get the time.

This received no updates for a longer time, I have done the remaining work and created a new PR https://github.com/riok/mapperly/pull/1448. Thanks for your contribution!


Mismatch in how service name is constructed from service and hostname

Flask-Kerberos code constructs a service name like this:
flask_kerberos.py:
_SERVICE_NAME = "%s@%s" % (service, hostname)

in flask_kerberos.py. But the code in  server_principal_details called from kerberos.getServerPrincipalDetails(service, hostname) which is called from init_kerberos() constructs the service name like this:
kerberos-1.2.5/src/kerberosgss.c:
char* server_principal_details(const char* service, const char* hostname)
{
  // ...
  snprintf(match, 1024, "%s/%s@", service, hostname);

Flask-Kerberos (1.0.4)
kerberos (1.2.5)

The kombination that works for me is to use:
kerberos.getServerPrincipalDetails("HTTP/my.host.name", "MY.REALM")

and then
rc, state =<EMAIL_ADDRESS>
The latter seems to match _SERVICE_NAME, but that service/hostname combination doesn't work when kerberos.getServerPrincipalDetails() is called.
To summarize: I think another parameter realm is needed and the code should be changed to:
def init_kerberos(app, service='HTTP', realm, hostname=gethostname()):
...
    principal = kerberos.getServerPrincipalDetails("%s/%s" % (service, hostname), realm)

Nevermind, regardless of how I interpret the code it works fine with service="HTTP" and hostname="my.host.name".


Unable to have more than 1 sprite_load_path

(This issue is somewhat related to #5)
We're having problems adding sprite_load_paths to Compass's configuration. It seems like only the first path is actually used.
What we're trying to achieve is something like Rails's view paths inheritance - try to find a sprite image in one directory, if it doesn't exist, try the next directory from the sprite load paths.
We're using Rails 3.1.3, compass-rails 1.0.0.rc.3 and compass 0.12.rc.1.
Here's a sample Rails application that reproduced the problem: https://github.com/exviva/compass_rails_sprite_load_path
The application has two directories with sprite images: app/assets/images and app/assets/more-important-images. Both contain a directory called icons.
Both icons directories contain two files - one unique to them and one with the shared name.
The sprites are imported and used in app/assets/stylesheets/layout.css.scss.
The important bit is in config/initializers/compass.rb: it's adding both directories to sprite_load_path (using a technique suggested in #5).
I've also tried several other methods, and they all fail in the same way: only the directory added as first is available to the sprite importer.
When I try to request /assets/application.css, I'm getting the following error: No sprite called all_the_things found in sprite map icons/icons. Did you mean one of: y_u_no, yo_dawg. If I reverse the order of appending to sprite load paths, I get a similar error saying that yo_dawg cannot be found.
Is there something we're doing wrong? Is there even a way to make it work? I'd gladly provide a patch if possible.

This is as designed. The sprite load path is a search path. The first path entry that has the sprite directory wins. We do not merge the sprites of the same folder name if they are in different path locations.
However I'm not opposed to such a change, @scottdavis what do you think?

I think making that change would be counter intuitive but, I'm not against it
Sent from my iPhone
On Mar 3, 2012, at 11:18 AM, Chris<EMAIL_ADDRESS>wrote:

This is as designed. The sprite load path is a search path. The first path entry that has the sprite directory wins. We do not merge the sprites of the same folder name if they are in different path locations.
However I'm not opposed to such a change, @scottdavis what do you think?

Reply to this email directly or view it on GitHub:
https://github.com/Compass/compass-rails/issues/17#issuecomment-4301735

@exviva can you please explain your use case? Why do you have these sprites in the same named folder in different paths? I assume you do this so that the sprites would be joined together. Could they be in differently named folders if we provided another way for you to specify two folders for sprites to be joined together?


Bad rendering of NFTs in pay modal

Summary
Adding too many NFTs causes the images to overflow off the element.
Steps to reproduce

Go to a project offering NFTs
Add a large amount of NFTs to pay for
Go to pay modal
Experience error

What is the expected correct behavior?
NFTs should be encapsulated on element in a way that makes sense.
Relevant logs and/or screenshots

Environment

Device/OS: [e.g. iOS]
Browser: [e.g. chrome, safari]
Hardware wallet: [e.g. Ledger w/ Metamask]

@strath-m @tjl-me any ideas of what you think is the best way to do this? I was thinking maybe a fixed length, scrollable window, similar to the add sticker modal, embedded in this popup

If it's the same NFT I don't think we need to show it repeated multiple times like that. Maybe showing a number in the corner or something.  Something like this.

Have RICE'd this one up lads. Something to think about in future of both design and dev are states. @strath-m @aeolianeth @wraeth-eth:

Nothing state – How does the component render pre-activation (if applicable)
Loading – how does the component render while it's loading data
None – how does the component render with no data
One – how does the component render with 1 item
Some – how does the component render with a few items
Too many – how does the component render when there are more than expected items
Incorrect – what is the error state?
Correct – what is the success state?
Done – what happens when the user is done and dusted with the component action (if applicable)

These considerations can either be by design or by dev. For example, specifying states in the design, or limiting state outcomes in development (e.g. user can not add more than 10 NFT's)
@strath-m I usually have. It covers most of them and reduces time spent at design phase:

An inline loading state
A page loading state
Then design for:
None
One
Too many
Incorrect


cancel http request at route change

Hello everybody,
how can i cancel http pending requests at route change?
I tried putting a takeuntil in my httpinterceptor where I passed a subject and then at the route change I used the next() for the subject. This works fine in my angular project but it doesn't in my nativescript-angular app.
Could you help me?
Thanks in advance,
Best regards

As far as I know there is no possibility to cancel a request in NativeScript. But my knowledge on this issue is nearly two years old, so I'm happy to get an update whether this is possible now 😉

Hi,
Can we cancel requests with switchMap?
Thanks


QuadraticProgram.from_ising fails on identity terms

Environment

Qiskit Optimization version: main @ 1779f66
Python version: 3.7.9
Operating system:  macOS Monterey

What is happening?
Loading a quadratic program from an Ising Hamiltonian fails if the Hamiltonian contains identity terms.
How can we reproduce the issue?
>>> from qiskit_optimization import QuadraticProgram
>>> from qiskit.opflow import I
>>> qp = QuadraticProgram()
>>> qp.from_ising(I)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/jul/Qiskit/qiskit-optimization/qiskit_optimization/problems/quadratic_program.py", line 1014, in from_ising
    other = from_ising(qubit_op, offset, linear)
  File "/Users/jul/Qiskit/qiskit-optimization/qiskit_optimization/translators/ising.py", line 194, in from_ising
    f"There are more than 2 Pauli Zs in the Pauli term: {pauli}"
qiskit_optimization.exceptions.QiskitOptimizationError: 'There are more than 2 Pauli Zs in the Pauli term: I'

What should happen?
The identity term should be included as constant offset.
Any suggestions?
No response

Thank you for the report. I will fix this issue.


Sprint 4 Video TEAM Self-Grade Issue

Team Grading
Team Grade: .91
Reasoning
Overall, we believe we made a decent video. We met all of the requirements, and touched on many of the important aspects, such as the CPT requirements, and Big Ideas. Our team accomplished many of the tasks, however, there were still areas that we could improve on. Although the video included all of the requirements, we could've worked on editing the video more. During some of the parts we were scrolling up and down which was annoying the the viewer. Additonally, instead of circling around something with the cursor, we should've edited in arrows to emphasize certain points. Due to these mistakes the viewer could've gotten distracted.
Team Improvements:

Work on editing the video to create a more viewer friendly video
Improve collaboration between team members during creation of video
Simplify explanations about the features

Breakdown
Rank to Ratio, rank is an integer
1 = .55
2 = .75
3 = .85
4 = .90
4+Mastered-Y = .95
Issue, Burn Down, Code, Commits, Next Steps

Skill
Rank (1-4)
Ratio

College Board CPT Issue
4
0.91

Burn Down
4
0.92

Frontend Feature
4.0
0.91

Backend Code
3.75
0.89

Commits
4
0.91

Future Plan
4
.91

Original and Creative
4+
0.92

Average

0.91

Individual Self Grades
Neil Chandra
Pradyun Gowda
Rayhaan Sheeraj
Hithin Pulamarasetty
Nikith Muralikrishnan
Kush Kharia
Zaid Alrefai

Individual Self-Grade for Neil C
Grade Earned: 0.89
Reason:
I believe I earned a grade of 0.89 on this video for my contribution to my team. As Scrum Master, I planned out who was doing what roles, assigned them, planned out how they should sound, and ensured they were done on time. For my individual part, I focused mainly on how we met the CPT requirements, while scrolling through my issue to display my individual work. However, I felt that I could have spoken a little more about my issue, such as the Burn Down, Next Steps (to explain where our group was going to go with this), and spoken a little more about the code. To conclude, I covered all of my requirements as outlined in the Slack message, but I felt like I could have been more thorough, which is why I gave myself a 0.89.
Improvements

Speak a little more on the specific parts within the issue
Enunciate my words during the video better

Pradyun Gowda
Individual Grade
Grade Earned: 0.89
Reason: I believe I earned a grade of 0.89 on this video for my individual contribution. This is because I covered all of the requirements for the individual video contribution as listed in Slack, but it could have been a bit more smooth. For example, I could have spent more time on the Burn Down so viewers could see how much of our work we have done and have yet to be done through the next steps. I also could have explained the code a little more in depth, rather than just explaining the output of the code. Therefore, while I did cover all requirements, if I added a little more detail to my video I could have earned the full 0.9. Therefore, my grade is a 0.89.
Improvements

Thoroughly explain code and make it more readable
Don't scroll too fast and don't do circle with cursor(point to a certain image with editing)
Clearly show burn down and next steps to better understand goals of project

Individual Self-Grade for Rayhaan Sheeraj
Grade Earned: 0.89
Reason:
I believe I earned a grade of 0.89 on this video for my contribution to my team. As a developer I worked on my feature(the Profile Page), and helped other group members with issues(helped fix login issue). I collaborated with the Scrum Master and Assistant Scrum Master to ensure my feature followed the CPT requirements. In my individual part, I focused mainly on my profile feature, talking about how the profile was a key feature to the website. While I was talking about my feature, I scrolled through my issue, which included the burn down, code, commits, and what they next steps were. However, I think I should've talked about the burn down of what's has been done and I also should've talked about the future plans for my feature. To summarize, although I had the requirements for the video in my issue, I think I should've gone more in depth about code and burn down, which is why I gave myself a .89.
Improvements

Speak more on the specific parts within the issue such as burn down and next steps
Have the same tone throughout the 30 seconds of recording.

Hithin Pulamarasetty
Self-Evaluation
0.88
I rated myself a 0.88 because, while I successfully incorporated many of the College Board requirements and provided a clear and thorough explanation of the project in my video, there were key areas where I fell short. I did not demonstrate much backend functionality, which limited the technical depth of the project. Additionally, I faced challenges with the Gemini AI integration, which impacted its overall functionality. Despite these challenges, I used my issues as an opportunity to highlight my specific contributions to the project. By clearly explaining the challenges I faced and the steps I took to address them, I gave the viewer a comprehensive understanding of my work and efforts, ensuring that my role in the project was well-communicated. These strengths, combined with the areas for improvement, provide a balanced perspective on my performance.
Next Steps
Complete and refine the backend.
Debug and fully integrate Gemini AI.
Conduct thorough testing to ensure functionality.

Nikith Muralikrishnan
Grade Earned: 0.88
Reason:
I believe I earned a 0.89 because I held a good tone while speaking and had a steady voice throughout the video. I also didn't change the windows on the screen a lot to make the video less distracting. I also scrolled through my issue, showing the work I did by making customizable pages, a unique design, and dynamically generated links for the comments which are a work in progress. In addition to this, I touched on College Board Big Idea 1: Creative Development. By speaking on this, I emphasized the collaboration and creativity that went into our project so far. However, I gave myself a 0.88 because I felt that while I spoke on other stuff, I should have outlined my contributions a little more than in just the issue.
Improvements

Speak about specific code behind contributions
Be a little more concise on explanations to reduce my individual time

Kush Kharia
Grade Earned: 0.88
Reason: I believe I have earned a 0.88 on this video for my individual contribution. I think this because I have done all the requirements for this video as posted in slack, but I could have done a little bit more. For example, I could have spent some more time talking about some code I did, as well with a brief of the website. Another thing was that during the video I noticed that I was scrolling a little bit too much due to me being nervous, and that reduced the overall video quality. One thing that I am proud of within my section of the video was that I had my issue from the Kanban board up the whole time and that I didn't necessarily read off the issue, but rather highlighted key points. I am also proud of being able to stay within a reasonable time limit for my section.
Improvements

Talk more about code
Don't scroll as much

Individual Self-Grade for Zaid A
Grade Earned: 0.89
Reason:
I believe I earned a grade of 0.89 on this video for my contribution to my team. As a developer, I worked on my own feature and collaborated with my group to get their input and feedback. I also helped other developers on my team with their features and gave contructive feedback. To conclude, I covered all of my requirements as outlined in the Slack message, but I felt like I could have been more thorough and talked about my code and contributions more in my video, which is why I gave myself a 0.89.
Improvements

Speak a little more on the specific parts within the issue such as my feature and the code behind it
Clearer tone when speaking


different split config files

hello
what is the different between ss_train.json and ms_train.json config file and their usage?
thank you.

@mahilaMoghadami  ss is single-scale, and ms is multi-scale. the usage had been shown in the part of Usage, and , you can refer the official implement of BboxToolkit:
https://github.com/jbwang1997/BboxToolkit/tree/master

@mahilaMoghadami
ss is single-scale and ms is multi-scale.
the usage had been shown in the part of Usage, and you can refer the official implement of BboxToolkit:
https://github.com/jbwang1997/BboxToolkit/tree/master


Project: A .NET console application that can be run on a schedule or as a scheduled task that will synchronize users and groups between Azure Active Directory and Onspring.

Project name
Onspring Azure AD Syncer
Description
Many Onspring customers who utilize the Onspring platform choose to leverage Onspring's existing SSO integration for authentication. This integration allows customers to setup a single sign-on experience for their users using their existing identity management provider. As part of this existing integration Onspring supports accepting claims for the user's username, email address, first name, last name, and optionally groups.
It also allows for just-in-time provisioning of users and groups if they are not already present in Onspring. This integration also updates the user's username, email address, first name, last name, and groups in Onspring upon each login if they change in the identity management provider between logins. Many customers utilize this integration with Azure Active Directory (AAD) as their identity management provider
However the existing SSO integration doesn't allow customers to centrally manage their users and groups in Onspring through Azure Active Directory and keep the two systems in sync using Azure Active Directory as the system of record. Nor allow them to leverage any existing user and group data or access models built in Azure Active Directory to also manage access in Onspring.
The OnspringAzureADSyncer app is meant to help fill this gap and provide Onspring customers with a way to sync Azure AD groups and users to Onspring. It is a .NET console application that can be run on a schedule or as a scheduled task that will synchronize users and groups between Azure Active Directory and Onspring making Azure Active Directory the system of record.
Features
✅ Allow Azure Active Directory to serve as the system of record for managing users and groups.
✅ Synchronize all users and groups in Azure Active Directory with Onspring.
✅ Activate and deactivate Onspring users based on group membership in specific Azure Active Directory groups.
✅ Map Azure Active Directory user properties to Onspring user fields.
✅ Map Azure Active Directory group properties to Onspring group fields.
Example Usages
Sync Users and Groups
https://user-images.githubusercontent.com/65925598/225514050-b1a54227-1002-4b75-abf2-79c2ffee7bc6.mp4
Activate Users Based On Group Membership
https://user-images.githubusercontent.com/65925598/225514105-e9eeb00c-0ae6-4fd2-8765-7be9fd156cce.mp4
Repo URL
https://github.com/StevanFreeborn/OnspringAzureADSyncer
Team members
Stevan Freeborn

@waldekmastykarz I'm pretty confident that I registered properly for the hackathon, but I haven't see the Hack label get applied to this submission yet.
I registered again just to make sure I covered my basis. Forgive me if that causes you anymore trouble.
Totally understand if you just haven't had time to go through the recently submitted projects, but please let me know if you have any trouble finding my registration.

Thank you for the submission and the video @StevanFreeborn! We'll double check your registration shortly, but either way, your hack is in and on time 👏


p:to-char  unsupported character: \p{L}

[ERROR] Error on line 21 column 21 of antlr_4-to-w3c.xq:
  p:to-char  unsupported character: \p{L}
     invoked by function call at jar:file:/mnt/data1/2023/11/15/convert/convert.jar!/de/b\
ottlecaps/convert/xq/antlr_4/antlr_4-to-w3c.xq#197
     invoked by function call at jar:file:/mnt/data1/2023/11/15/convert/convert.jar!/de/b\
ottlecaps/convert/xq/antlr_4/antlr_4-to-w3c.xq#311

@jmikedupont2 conert.jar doesn't support this regex syntax :(

@jmikedupont2 indeed, the convert is not open source. I had to modify my grammar in order to make it work: replace \p{L} with [a-zA-Z]

Okay but making a program that depends on non-open source and calling it open source is kind of a trick now because I feel like I've been tricked

My entire reason for using open sources because I can change it and fix problems like this and now I can't

@jmikedupont2 totally agree


ROX-26908: set operator fips-compliant:true

Description
Setting fips operator feature to true.
change me!
User-facing documentation

[ ] CHANGELOG is updated OR update is not needed
[ ] documentation PR is created and is linked above OR is not needed

Testing and quality

[ ] the change is production ready: the change is GA or otherwise the functionality is gated by a feature flag
[ ] CI results are inspected

Automated testing

[ ] added unit tests
[ ] added e2e tests
[ ] added regression tests
[ ] added compatibility tests
[ ] modified existing tests

How I validated my change

change me!

Declaring FIPS upstream but not supporting it for the time being is fine, in my opinion.

We don't distribute upstream-built operator to community; there are no community builds of the operator. I mean quay.io/stackrox-io/
Even if we did, free product users wouldn't care about FIPS.
Internally (I mean quay.io/rhacs-eng/), we don't have tests that deeply check FIPS conformance which would break because of that.

Declaring FIPS upstream but not supporting it is fine, in my opinion.

We don't distribute upstream-built operator to community; there are no community builds of the operator. I mean quay.io/stackrox-io/
Even if we did, free product users wouldn't care about FIPS.
Internally (I mean quay.io/rhacs-eng/), we don't have tests that deeply check FIPS conformance which would break because of that.

use a fips compliant base image

FWIW, UBI8 has fips-certified openssl (we use only that). CentOS Stream most certainly doesn't. It would be impossible to be fully FIPS upstream but nobody cares, I believe. FIPS is important for the commercial product.

I agree with you, I just wonder if we should actually mention anywhere that the upstream build is marked as fips compliant when it's actually not.


[BUG] crc-background-launcher.exe detected as malicious by FortiClient virus scanner

General information

OS: Windows
Hypervisor: Hyper-V
Did you run crc setup before starting it (Yes/No)?  No
Running CRC on: Laptop

CRC version
# Put `crc version` output here
CRC version: 2.42.0+6689ec
OpenShift version: 4.17.0
MicroShift version: 4.16.14

CRC status
# Put `crc status --log-level debug` output here
crc does not seem to be setup correctly, have you run 'crc setup'?

CRC config
# Put `crc config view` output here

Host Operating System
# Put the output of `systeminfo` in case of Windows

Host Name:                 DESKTOP-CQHIKGH
OS Name:                   Microsoft Windows 10 Pro
OS Version:                10.0.19045 N/A Build 19045
OS Manufacturer:           Microsoft Corporation
OS Configuration:          Standalone Workstation
OS Build Type:             Multiprocessor Free
Registered Owner:          es.admin
Registered Organization:   N/A
Product ID:                00330-52612-61921-AAOEM
Original Install Date:     28/10/2020, 7:19:11 PM
System Boot Time:          21/10/2024, 10:57:36 AM
System Manufacturer:       Dell Inc.
System Model:              OptiPlex 3070
System Type:               x64-based PC
Processor(s):              1 Processor(s) Installed.
                           [01]: Intel64 Family 6 Model 158 Stepping 13 GenuineIntel ~1992 Mhz
BIOS Version:              Dell Inc. 1.7.0, 20/10/2020
Windows Directory:         C:\WINDOWS
System Directory:          C:\WINDOWS\system32
Boot Device:               \Device\HarddiskVolume1
System Locale:             en-au;English (Australia)
Input Locale:              en-us;English (United States)
Time Zone:                 (UTC+10:00) Canberra, Melbourne, Sydney
Total Physical Memory:     32,577 MB
Available Physical Memory: 8,638 MB
Virtual Memory: Max Size:  67,019 MB
Virtual Memory: Available: 7,639 MB
Virtual Memory: In Use:    59,380 MB
Page File Location(s):     C:\pagefile.sys
Domain:                    WORKGROUP
Logon Server:              \\DESKTOP-CQHIKGH
Hotfix(s):                 44 Hotfix(s) Installed.
                           [01]: KB5044029
                           [02]: KB5028951
                           [03]: KB4577266
                           [04]: KB4580325
                           [05]: KB4586864
                           [06]: KB4593175
                           [07]: KB4598481
                           [08]: KB5000736
                           [09]: KB5011048
                           [10]: KB5012170
                           [11]: KB5015684
                           [12]: KB5044273
                           [13]: KB5006753
                           [14]: KB5007273
                           [15]: KB5011352
                           [16]: KB5011651
                           [17]: KB5014032
                           [18]: KB5014035
                           [19]: KB5014671
                           [20]: KB5015895
                           [21]: KB5016705
                           [22]: KB5018506
                           [23]: KB5020372
                           [24]: KB5022924
                           [25]: KB5023794
                           [26]: KB5025315
                           [27]: KB5026879
                           [28]: KB5028318
                           [29]: KB5028380
                           [30]: KB5029709
                           [31]: KB5031539
                           [32]: KB5032392
                           [33]: KB5032907
                           [34]: KB5034224
                           [35]: KB5036447
                           [36]: KB5037018
                           [37]: KB5037240
                           [38]: KB5037995
                           [39]: KB5039336
                           [40]: KB5041579
                           [41]: KB5043935
                           [42]: KB5043130
                           [43]: KB5005699
                           [44]: KB5046400
Network Card(s):           9 NIC(s) Installed.
                           [01]: Fortinet Virtual Ethernet Adapter (NDIS 6.30)
                                 Connection Name: Ethernet 2
                                 Status:          Media disconnected
                           [02]: Fortinet SSL VPN Virtual Ethernet Adapter
                                 Connection Name: Ethernet 3
                                 Status:          Hardware not present
                           [03]: Intel(R) Wireless-AC 9560 160MHz
                                 Connection Name: Wi-Fi
                                 DHCP Enabled:    Yes
                                 DHCP Server:     <IP_ADDRESS>
                                 IP address(es)
                                 [01]: <IP_ADDRESS>
                                 [02]: fe80::5ab0:84e5:bb26:142
                           [04]: Realtek PCIe GbE Family Controller
                                 Connection Name: Ethernet
                                 Status:          Media disconnected
                           [05]: Bluetooth Device (Personal Area Network)
                                 Connection Name: Bluetooth Network Connection
                                 Status:          Media disconnected
                           [06]: VMware Virtual Ethernet Adapter for VMnet1
                                 Connection Name: VMware Network Adapter VMnet1
                                 DHCP Enabled:    No
                                 IP address(es)
                                 [01]: <IP_ADDRESS>
                                 [02]: fe80::e5de:23fe:d750:4271
                           [07]: VMware Virtual Ethernet Adapter for VMnet8
                                 Connection Name: VMware Network Adapter VMnet8
                                 DHCP Enabled:    No
                                 IP address(es)
                                 [01]: <IP_ADDRESS>
                                 [02]: fe80::330:b801:29e0:3505
                           [08]: Hyper-V Virtual Ethernet Adapter
                                 Connection Name: vEthernet (Default Switch)
                                 DHCP Enabled:    No
                                 IP address(es)
                                 [01]: <IP_ADDRESS>
                                 [02]: fe80::d8c3:82ce:40e6:9ffc
                           [09]: Hyper-V Virtual Ethernet Adapter
                                 Connection Name: vEthernet (WSL)
                                 DHCP Enabled:    No
                                 IP address(es)
                                 [01]: <IP_ADDRESS>
                                 [02]: fe80::9cf0:1989:7dfa:24d
Hyper-V Requirements:      A hypervisor has been detected. Features required for Hyper-V will not be displayed.

Steps to reproduce

Install OpenShift local
Run FortiClient virus scan

Expected
Nothing appears in the virus scanner output
Actual
The FortiClient virus scanner reports:
Infected Item: C:\Program Files\Red Hat OpenShift Local\crc-background-launcher.exe
Virus: Malicious_Behaviour.SB
Status: Quarantined
Logs
Before gather the logs try following if that fix your issue
$ crc delete -f
$ crc cleanup
$ crc setup
$ crc start --log-level debug

Please consider posting the output of crc start --log-level debug  on http://gist.github.com/ and post the link in the issue.

hey we are aware that the crc-background-launcher is sometimes flagged by anti-virus software, which is a false positive, the source code for the tool is available at the repo: https://github.com/crc-org/win32-background-launcher

Thanks @anjannath, I just needed confirmation.  I'll flag it as a false positive in FortiClient and close this issue.


Use doc_type instead of log_type

As you mentioned, log_type param is deprecated, so I suggest to use doc_type in the readme.
This is also a typo with the depreciation sentence of log_type
And congrats for your great job !

Thanks for the fix!


Not able to search patient in cluster after P912

Steps to reproduce an issue:

Go the cluster tab.
Type P912 or above

The api is giving 911 records only as of now.
@sibeshkar might have to check the backend api

Ah i see. Can you open a quick issue at : https://github.com/amodm/api-covid19-in ? That is the source of the API.

Opened an issue https://github.com/amodm/api-covid19-in/issues/14 for this.

@ajaykush2492 , @lovewithmind : The api seems to be fixed.
Please close this issue.


Bug fix 3.6/collection create failure cleanup

Backport of https://github.com/arangodb/arangodb/pull/10756

Duplicate of #10765


Belt Subsystem with sensors

Has subsystem for Belt, uses sensors as well

No, its in the RobotContainer to stop and start


Wrong year output when selecting last week of the year

First week of the year is the week containing January 1st. When January 1st is not Sunday, all the days before it trigger wrong year output.
Solution: If date outputs week 1 and month 12 the year should be incremented for 1.

Commit 9d8c9986115cbbe5d1e0361548728caabbdaeb67 closes #1


Adds iptables checksum fix for port 8000

Port 8000 is the heat metadata url that some heat
resources use for running heat-related hooks inside
an instance. Without this rule communication between
the instance and the service will fail.
Connects #1167

:+1: ezpz fix

LGTM 👍


Build failure with SFIZZ_USE_SNDFILE=ON

I'm trying to build sfizz from the current develop branch  (commit 77fbfa50392d10ea7907b687d75986a36adadb88) with -DSFIZZ_USE_SNDFILE=ON, and the build fails.
I see two problems. First, AudioReader.cpp fails to compile:
[path to]/sfizz/src/sfizz/AudioReader.cpp: In member function ‘virtual bool sfz::BasicSndfileReader::getInstrumentInfo(sfz::InstrumentInfo&)’:
[path to]/sfizz/src/sfizz/AudioReader.cpp:73:28: error: cannot convert ‘sfz::InstrumentInfo’ to ‘SF_INSTRUMENT*’ in initialization
   73 |     SF_INSTRUMENT* sfins = instrument;
      |                            ^~~~~~~~~~
      |                            |
      |                            sfz::InstrumentInfo
gmake[2]: *** [src/CMakeFiles/sfizz_internal.dir/build.make:132: src/CMakeFiles/sfizz_internal.dir/sfizz/AudioReader.cpp.o] Error 1

This can be trivially fixed by adding & to take the address of instrument, which is reference, not pointer in this context.
Second, I get the linker errors like this:
ld: in function `sfz::Synth::Impl::handleSampleOpcodes(std::vector<sfz::Opcode, std::allocator<sfz::Opcode> > const&)':
[path to]/sfizz/external/st_audiofile/src/st_audiofile.hpp:103: undefined reference to `st_open_memory'

Indeed, the only implementation of st_open_memory is in st_audiofile.c, and is compiled only
#if !defined(ST_AUDIO_FILE_USE_SNDFILE)

Thanks, I'll look into that.


Support for a combination of fillColor and fillPattern

Would it be possible to change the behavior of fillPattern to enable support with fillColor on a polygon?
Current behavior: When I use both fillColor and fillPattern, only the pattern is seen on the polygon, even though I set the colors of the pattern to transparent. Other colored polygons under this polygon are able to be seen when the fillPattern is transparent.
As an example, I have created a pattern called 'transparent':
{
    name: 'transparent',
    pattern: 'checker',
    color1: 'transparent',
    color2: 'transparent',
    size: 1
}

I add a new layer:
// Visualization of the location polygons on the ground
const polygonDataSource = new source.DataSource('polygonSource');
this.map.sources.add(polygonDataSource);
this.map.layers.add(new layer.PolygonLayer(polygonDataSource, 'polygons', {
    fillColor: 'red',
    fillPattern: 'transparent',
    fillOpacity: 1
}), 'locationLines');

Result:

(ignore the black outlines and numbers, only the inner side of the rectangles matter)
If I want to combine both, I have to create two layers (with the same data source: one for coloring and one for placing the image), which seems wasteful.
Preferred behavior: When using a fillPattern with transparent colors, be able to see the fillColor underneath it.

No, it's not possible to set both. The reasoning comes down to how the low-level GPU graphics work in computers. A pattern becomes a material with a texture. Setting a diffuse color on a material overrides the image texture.
A simple solution for this is to have two layers. As you likely noticed the map separates data into sources and uses layers for rendering. You can connect multiple layers to a single source. Under the hood this creates a single mesh that gets sent to the GPU and creates two materials that each get drawn, one after the other, achieving what you are looking for.
In your case it sounds like you want to have a solid color (maybe with some alpha) under an image pattern that has some transparency, so you would first add a layer that uses fillColor, then a second layer after that which would be above it, using fillPattern.
If you then only want some shapes to only use one of these type layers, you can then easily use the filter option on the layer.

@rbrundritt Yes that's what I did as a solution, just didn't know if there was a better or more efficient way. Thanks for the detailed explanation about the GPU pipeline! I'll close this ticket.


warning: setState(..): Can only update a mounted or mouting component.

I have been working with this package for a few weeks on both IOS an Android and everything was great until yesterday. I keep getting this error on Android: warning: setState(...): Can only update a mounted or mounting component when I use "this.setState({source: source})".

I fixed it.

Hello Ghost. How did you solve this problem? Could you provide some example?


Building the latest web3Swift example

I tried to build the lates Web3SwiftBrowser example.  I'm getting a compile error in WebSocketProvider line 96.
public func didReceive(event: WebSocketEvent, client: WebSocket) {
}
"Cannot find type 'WebSocketEvent' in scope"
thanks
Brian

Please describe which example are you using?

https://github.com/veerChauhan/web3swift
Go through the Example #Web3supportBrowser
#338 #337
#321
#304
#303
Please let me know if there any issue

Hey, @briviere have your initial issue been resolved? Please let us know if it can be closed.
If you still experience any problems, feel free to add more details in this issue or open another one.


Misc cleanup

Fixes #69
Fixes #67
Fixes #66
Fixes #61

Actually this did not rename network.md .. https://github.com/re-vault/practical-revault/issues/69

Fixed in https://github.com/re-vault/practical-revault/pull/76


Fix issues on perform root cause analysis doc

Purpose
Fixes https://github.com/wso2-enterprise/choreo/issues/3825
Fixes https://github.com/wso2-enterprise/choreo/issues/3852
Fixes https://github.com/wso2-enterprise/choreo/issues/3785

Closing this as this change is captured in PR #77


Add optional jitter to exponential retry delay, Future/Try flatten helpers

:-1: looks great but see a small inline comment!


Cancel propagation

Following three issues are addressed:
1-
errChan in gnmi_server.go.Subscribe() is only used for the case SubscriptionList_ONCE so moved it under SubscriptionList_ONCE case
2-
notification listener on a.c.Subscribe(sc.stream.Context(), ro) can't return on err
as this could block other senders on the same channel. Sender (subscription goroutine) closes the channel
just before returning (using defer) and that would do.
3-
in case of stream cancelation, error are popagated to gnmi_server.go.Subscribe()
for proper clean up.

2- notification listener on a.c.Subscribe(sc.stream.Context(), ro) can't return on err as this could block other senders on the same channel. Sender (subscription goroutine) closes the channel just before returning (using defer) and that would do.

Which other senders are your considering here ?

2- notification listener on a.c.Subscribe(sc.stream.Context(), ro) can't return on err as this could block other senders on the same channel. Sender (subscription goroutine) closes the channel just before returning (using defer) and that would do.

Which other senders are your considering here ?

in Cache we create goroutine per subscription and if we have more than one subscription then we are doing to have more that one cache side goroutine (senders) and anyone of them can stop the listener by sending error.
I think better way stop listener is to close the channel when needed and is happening once oc_cache.subscribe return
func (gc *gnmiCache) subscribe(ctx context.Context, ro *ReadOpts, ch chan *Notification) {
	defer close(ch)
	switch ro.Mode {
	case ReadMode_Once:
		gc.handleSingleQuery(ctx, ro, ch)
	case ReadMode_StreamOnChange: // default:
		ro.SuppressRedundant = false
		gc.handleOnChangeQuery(ctx, ro, ch)
	case ReadMode_StreamSample:
		gc.handleSampledQuery(ctx, ro, ch)
	}
}

2- notification listener on a.c.Subscribe(sc.stream.Context(), ro) can't return on err as this could block other senders on the same channel. Sender (subscription goroutine) closes the channel just before returning (using defer) and that would do.

Which other senders are your considering here ?

in Cache we create goroutine per subscription and if we have more than one subscription then we are doing to have more that one cache side goroutine (senders) and anyone of them can stop the listener by sending error.
I think better way to stop listener is to close the channel when needed and this is happening once oc_cache.subscribe returns
func (gc *gnmiCache) subscribe(ctx context.Context, ro *ReadOpts, ch chan *Notification) {
	defer close(ch)
	switch ro.Mode {
	case ReadMode_Once:
		gc.handleSingleQuery(ctx, ro, ch)
	case ReadMode_StreamOnChange: // default:
		ro.SuppressRedundant = false
		gc.handleOnChangeQuery(ctx, ro, ch)
	case ReadMode_StreamSample:
		gc.handleSampledQuery(ctx, ro, ch)
	}
}

Right but each subscription sends to a different channel. There is only one sender per channel, if it returns an error the channel will be closed right after.

2- notification listener on a.c.Subscribe(sc.stream.Context(), ro) can't return on err as this could block other senders on the same channel. Sender (subscription goroutine) closes the channel just before returning (using defer) and that would do.

Which other senders are your considering here ?

in Cache we create goroutine per subscription and if we have more than one subscription then we are doing to have more that one cache side goroutine (senders) and anyone of them can stop the listener by sending error.
I think better way to stop listener is to close the channel when needed and this is happening once oc_cache.subscribe returns
func (gc *gnmiCache) subscribe(ctx context.Context, ro *ReadOpts, ch chan *Notification) {
	defer close(ch)
	switch ro.Mode {
	case ReadMode_Once:
		gc.handleSingleQuery(ctx, ro, ch)
	case ReadMode_StreamOnChange: // default:
		ro.SuppressRedundant = false
		gc.handleOnChangeQuery(ctx, ro, ch)
	case ReadMode_StreamSample:
		gc.handleSampledQuery(ctx, ro, ch)
	}
}

Right but each subscription sends to a different channel. There is only one sender per channel, if it returns an error the channel will be closed right after.

I think each subscription sends to same channel:
func (gc *gnmiCache) handleSingleQuery(ctx context.Context, ro *ReadOpts, ch chan *Notification) {
	if gc.debug {
		gc.logger.Printf("running single query for target %q", ro.Target)
	}

	caches := gc.getCaches(ro.Subscription)

	if gc.debug {
		gc.logger.Printf("single query got %d caches", len(caches))
	}
	wg := new(sync.WaitGroup)
	wg.Add(len(caches))

	for name, c := range caches {
		go func(name string, c *subCache) {
			defer wg.Done()
			for _, p := range ro.Paths {
				fp, err := path.CompletePath(p, nil)
				if err != nil {
					gc.logger.Printf("failed to generate CompletePath from %v", p)
					ch <- &Notification{Name: name, Err: err}
					return
				}
				err = c.c.Query(ro.Target, fp,
					func(_ []string, l *ctree.Leaf, _ interface{}) error {
						if err != nil {
							return err
						}
						switch gl := l.Value().(type) {
						case *gnmi.Notification:
							if ro.OverrideTS {
								// override timestamp
								gl = proto.Clone(gl).(*gnmi.Notification)
								gl.Timestamp = time.Now().UnixNano()
							}
							//no suppress redundant, send to channel and return
							if !ro.SuppressRedundant {
								ch <- &Notification{Name: name, Notification: gl}
								return nil
							}
							// suppress redundant part
							if ro.lastSent == nil {
								ro.lastSent = make(map[string]*gnmi.TypedValue)
								ro.m = new(sync.RWMutex)
							}

							prefix := utils.GnmiPathToXPath(gl.GetPrefix(), true)
							target := gl.GetPrefix().GetTarget()
							for _, upd := range gl.GetUpdate() {
								path := utils.GnmiPathToXPath(upd.GetPath(), true)
								valXPath := strings.Join([]string{target, prefix, path}, "/")
								ro.m.RLock()
								sv, ok := ro.lastSent[valXPath]
								ro.m.RUnlock()
								if !ok || !proto.Equal(sv, upd.Val) {
									ch <- &Notification{
										Name: name,
										Notification: &gnmi.Notification{
											Timestamp: gl.GetTimestamp(),
											Prefix:    gl.GetPrefix(),
											Update:    []*gnmi.Update{upd},
										},
									}
									ro.m.Lock()
									ro.lastSent[valXPath] = upd.Val
									ro.m.Unlock()
								}
							}

							if gl.GetDelete() != nil {
								ch <- &Notification{
									Name: name,
									Notification: &gnmi.Notification{
										Timestamp: gl.GetTimestamp(),
										Prefix:    gl.GetPrefix(),
										Delete:    gl.GetDelete(),
									},
								}
							}
							return nil
						}
						return nil
					})
				if err != nil {
					gc.logger.Printf("target %q failed internal cache query: %v", ro.Target, err)
					ch <- &Notification{Name: name, Err: err}
					return
				}
			}
		}(name, c)
	}
	wg.Wait()
}

The subscribe we are talking about is here.
In the case of the gnmiCache implementation it results in [this fn call](

2- notification listener on a.c.Subscribe(sc.stream.Context(), ro) can't return on err as this could block other senders on the same channel. Sender (subscription goroutine) closes the channel just before returning (using defer) and that would do.

Which other senders are your considering here ?

in Cache we create goroutine per subscription and if we have more than one subscription then we are doing to have more that one cache side goroutine (senders) and anyone of them can stop the listener by sending error.
I think better way to stop listener is to close the channel when needed and this is happening once oc_cache.subscribe returns
func (gc *gnmiCache) subscribe(ctx context.Context, ro *ReadOpts, ch chan *Notification) {
	defer close(ch)
	switch ro.Mode {
	case ReadMode_Once:
		gc.handleSingleQuery(ctx, ro, ch)
	case ReadMode_StreamOnChange: // default:
		ro.SuppressRedundant = false
		gc.handleOnChangeQuery(ctx, ro, ch)
	case ReadMode_StreamSample:
		gc.handleSampledQuery(ctx, ro, ch)
	}
}

Right but each subscription sends to a different channel. There is only one sender per channel, if it returns an error the channel will be closed right after.

I think each subscription sends to same channel ch:
func (gc *gnmiCache) handleSingleQuery(ctx context.Context, ro *ReadOpts, ch chan *Notification) {
	if gc.debug {
		gc.logger.Printf("running single query for target %q", ro.Target)
	}

	caches := gc.getCaches(ro.Subscription)

	if gc.debug {
		gc.logger.Printf("single query got %d caches", len(caches))
	}
	wg := new(sync.WaitGroup)
	wg.Add(len(caches))

	for name, c := range caches {
		go func(name string, c *subCache) {
			defer wg.Done()
			for _, p := range ro.Paths {
				fp, err := path.CompletePath(p, nil)
				if err != nil {
					gc.logger.Printf("failed to generate CompletePath from %v", p)
					ch <- &Notification{Name: name, Err: err}
					return
				}
				err = c.c.Query(ro.Target, fp,
					func(_ []string, l *ctree.Leaf, _ interface{}) error {
						if err != nil {
							return err
						}
						switch gl := l.Value().(type) {
						case *gnmi.Notification:
							if ro.OverrideTS {
								// override timestamp
								gl = proto.Clone(gl).(*gnmi.Notification)
								gl.Timestamp = time.Now().UnixNano()
							}
							//no suppress redundant, send to channel and return
							if !ro.SuppressRedundant {
								ch <- &Notification{Name: name, Notification: gl}
								return nil
							}
							// suppress redundant part
							if ro.lastSent == nil {
								ro.lastSent = make(map[string]*gnmi.TypedValue)
								ro.m = new(sync.RWMutex)
							}

							prefix := utils.GnmiPathToXPath(gl.GetPrefix(), true)
							target := gl.GetPrefix().GetTarget()
							for _, upd := range gl.GetUpdate() {
								path := utils.GnmiPathToXPath(upd.GetPath(), true)
								valXPath := strings.Join([]string{target, prefix, path}, "/")
								ro.m.RLock()
								sv, ok := ro.lastSent[valXPath]
								ro.m.RUnlock()
								if !ok || !proto.Equal(sv, upd.Val) {
									ch <- &Notification{
										Name: name,
										Notification: &gnmi.Notification{
											Timestamp: gl.GetTimestamp(),
											Prefix:    gl.GetPrefix(),
											Update:    []*gnmi.Update{upd},
										},
									}
									ro.m.Lock()
									ro.lastSent[valXPath] = upd.Val
									ro.m.Unlock()
								}
							}

							if gl.GetDelete() != nil {
								ch <- &Notification{
									Name: name,
									Notification: &gnmi.Notification{
										Timestamp: gl.GetTimestamp(),
										Prefix:    gl.GetPrefix(),
										Delete:    gl.GetDelete(),
									},
								}
							}
							return nil
						}
						return nil
					})
				if err != nil {
					gc.logger.Printf("target %q failed internal cache query: %v", ro.Target, err)
					ch <- &Notification{Name: name, Err: err}
					return
				}
			}
		}(name, c)
	}
	wg.Wait()
}

That is a single subscription that goes to multiple subcaches, in which case you are right multiple goroutines send to the same channel but that should not be solved there (return->continue). I think it should be solved within each cache implementation.
In the case of the gnmiCache maybe adding a ctx with cancel, cancel it when a subCache query sends an error and select on ctx.Done() as well as sending to the channel would solve it ?

The subscribe we are talking about is here. In the case of the gnmiCache implementation it results in [this fn call](

2- notification listener on a.c.Subscribe(sc.stream.Context(), ro) can't return on err as this could block other senders on the same channel. Sender (subscription goroutine) closes the channel just before returning (using defer) and that would do.

Which other senders are your considering here ?

in Cache we create goroutine per subscription and if we have more than one subscription then we are doing to have more that one cache side goroutine (senders) and anyone of them can stop the listener by sending error.
I think better way to stop listener is to close the channel when needed and this is happening once oc_cache.subscribe returns
func (gc *gnmiCache) subscribe(ctx context.Context, ro *ReadOpts, ch chan *Notification) {
	defer close(ch)
	switch ro.Mode {
	case ReadMode_Once:
		gc.handleSingleQuery(ctx, ro, ch)
	case ReadMode_StreamOnChange: // default:
		ro.SuppressRedundant = false
		gc.handleOnChangeQuery(ctx, ro, ch)
	case ReadMode_StreamSample:
		gc.handleSampledQuery(ctx, ro, ch)
	}
}

Right but each subscription sends to a different channel. There is only one sender per channel, if it returns an error the channel will be closed right after.

I think each subscription sends to same channel ch:
func (gc *gnmiCache) handleSingleQuery(ctx context.Context, ro *ReadOpts, ch chan *Notification) {
	if gc.debug {
		gc.logger.Printf("running single query for target %q", ro.Target)
	}

	caches := gc.getCaches(ro.Subscription)

	if gc.debug {
		gc.logger.Printf("single query got %d caches", len(caches))
	}
	wg := new(sync.WaitGroup)
	wg.Add(len(caches))

	for name, c := range caches {
		go func(name string, c *subCache) {
			defer wg.Done()
			for _, p := range ro.Paths {
				fp, err := path.CompletePath(p, nil)
				if err != nil {
					gc.logger.Printf("failed to generate CompletePath from %v", p)
					ch <- &Notification{Name: name, Err: err}
					return
				}
				err = c.c.Query(ro.Target, fp,
					func(_ []string, l *ctree.Leaf, _ interface{}) error {
						if err != nil {
							return err
						}
						switch gl := l.Value().(type) {
						case *gnmi.Notification:
							if ro.OverrideTS {
								// override timestamp
								gl = proto.Clone(gl).(*gnmi.Notification)
								gl.Timestamp = time.Now().UnixNano()
							}
							//no suppress redundant, send to channel and return
							if !ro.SuppressRedundant {
								ch <- &Notification{Name: name, Notification: gl}
								return nil
							}
							// suppress redundant part
							if ro.lastSent == nil {
								ro.lastSent = make(map[string]*gnmi.TypedValue)
								ro.m = new(sync.RWMutex)
							}

							prefix := utils.GnmiPathToXPath(gl.GetPrefix(), true)
							target := gl.GetPrefix().GetTarget()
							for _, upd := range gl.GetUpdate() {
								path := utils.GnmiPathToXPath(upd.GetPath(), true)
								valXPath := strings.Join([]string{target, prefix, path}, "/")
								ro.m.RLock()
								sv, ok := ro.lastSent[valXPath]
								ro.m.RUnlock()
								if !ok || !proto.Equal(sv, upd.Val) {
									ch <- &Notification{
										Name: name,
										Notification: &gnmi.Notification{
											Timestamp: gl.GetTimestamp(),
											Prefix:    gl.GetPrefix(),
											Update:    []*gnmi.Update{upd},
										},
									}
									ro.m.Lock()
									ro.lastSent[valXPath] = upd.Val
									ro.m.Unlock()
								}
							}

							if gl.GetDelete() != nil {
								ch <- &Notification{
									Name: name,
									Notification: &gnmi.Notification{
										Timestamp: gl.GetTimestamp(),
										Prefix:    gl.GetPrefix(),
										Delete:    gl.GetDelete(),
									},
								}
							}
							return nil
						}
						return nil
					})
				if err != nil {
					gc.logger.Printf("target %q failed internal cache query: %v", ro.Target, err)
					ch <- &Notification{Name: name, Err: err}
					return
				}
			}
		}(name, c)
	}
	wg.Wait()
}

That is a single subscription that goes to multiple subcaches, in which case you are right multiple goroutines send to the same channel but that should not be solved there (return->continue). I think it should be solved within each cache implementation. In the case of the gnmiCache maybe adding a ctx with cancel, cancel it when a subCache query sends an error and select on ctx.Done() as well as sending to the channel would solve it ?

So cleanup if any of the cache-goroutine hit the error?

On a separate note, what is the use if sc.errChan in gnmi_server.Subscribe as this is send_only and no one is reading from it.

So cleanup if any of the cache-goroutine hit the error?

yes

On a separate note, what is the use of sc.errChan in gnmi_server.Subscribe as this is send only so no one is reading from it.

It probably can replace the errChan in that function, I have to find some time to look into that part of the code again.

PR got closed as i had to delete the branch.
New PR: https://github.com/openconfig/gnmic/pull/32


Login with nextcloud account

Hello,
I would like to be able to login into my Nextcloud account with PayForMe so that I can sync my cospend projects.
It seems like right now you only support password protected access which is deprecated by cospend.

Hi, would be a very cool feature, unfortunately it is unrealistic that I will find the time to work myself into NextCloud navigation. 4 years ago, when I started PayForMe, I looked into it and we left it out because it was to complex.
I would be very happy to accept PRs in that area.


Orange Pipeline

Development
Description
This PR introduces the following functionalities:

split_dataset, basic_dbeta, and setting dbeta_threshold tailored exclusively for lung cancer analysis.
Updates to the lock file by adding dependencies for toml and plotly.
Enhancements to the orange_pipeline_orchestrator to generalize the process for five cancer types. Currently, it supports analysis for two datasets, with lung cancer serving as a specific case.

Additionally, the orange_pipeline_orchestrator🪈 records all pivotal feature processes in a toml file to enhance clarity and prevent confusion. It is important to note that Section 0 should not be re-run as doing so could alter filtering results.
Implementation

Split Dataset & Threshold Features: Developed functions to split the dataset, calculate basic dbeta, and set dbeta_threshold. These functionalities are tailored for lung cancer analysis to provide targeted insights.
Dependency Updates: The lock file includes new dependencies (toml, plotly) to support new features and enhance visualization.
Pipeline Orchestrator: Updated the orange_pipeline_orchestrator to manage datasets for five cancer types, though only two datasets are currently supported. All critical feature processes are logged into a toml file to improve traceability and reduce ambiguity.

Required Hidden Data

lung\result\GDC_lung_tissue\train80\all_beta_normalized_0.csv (generated in section 0)

Checklist

[x] Detail implementation description at the top of the notebook.
[x] Data input and output paths are correct.
[x] Free of spurious comments.


Conditionally require functions.php

Composer unconditionally "autoloads" files using require (see composer/composer#3003): this causes problems with globally-installed dependencies or where the composer autoload happens to be called more than once (see guzzle/guzzle#676).
One solution is to guard against function redeclaration using function_exists(): this was ruled out as not being done in the wild, but this PR uses this solution based on guzzle/promises and React doing the same thing (see L4-7 in functions.php and reactphp/promise#25, respectively).
The solution guzzle/promises currently uses does not work: PHP will attempt to load the functions before the conditional is evaluated. I've opted for the React solution, which is to point to a shim functions_include.php file that checks for the existence of the first function within functions.php before including functions.php.

Mostly-identical PRs for guzzle/promises and guzzle/psr7 were filed:

guzzle/promises#6
guzzle/psr7#22

Please note that this still completely breaks production environments using 6.0.2 as it still depends on the outdated versions of PSR7 and Promises with the same issue. I have patched it for now by reversing the conditions and adding it in PSR7 lib but that's no stable solution.
The problem as a whole is that PHP parses the top scope before evaluating anything. So
if(function_exists('aap'))
  return;
function aap() { }

crashes, while
if(!function_exists('aap')) {
  function aap() { }
}

Does not.


Remove unnecesary console messages

This editor is great. Please remove the messages from the console here:
https://github.com/NextStepWebs/simplemde-markdown-editor/blob/master/src/js/simplemde.js#L1675
and here
https://github.com/NextStepWebs/simplemde-markdown-editor/blob/master/src/js/simplemde.js#L1677
Thanks!

👍

I see that this is already fixed in development branch with other fixes that I would also like to have. When is the next release date planned? Could you release current fixes please?


Full test suite in test_simulated_stack required

The variation annotations code needs tests for all API endpoints in the test_simulated_stack test module. This should exercise all API functionality, and ensure that the correct behaviour is observed based on simulated data.
Depends on #842.

Quick procedural question: Does this issue (and other topic branch-specific ones like it) get resolved once the solution code is accepted via PR into the topic branch, or when it gets into master?

Topic branch. Anything labelled with "Variant Annotation" refers to the topic branch.

Your call @david4096; it looks good to me, but I don't have time to really get into the guts of it.


fix: add stats to players

@oyvinddd yes, soon, but not yet. We should wait until all players are over on the new system. We also need to coordinate with @konstantapp.

Thanks for pinging, will update the flutter repo today


Debug console and Output windows do not show cyrillic symbols

OS: Windows 10
Lang: Russian
VSCode version:

Don't show cyrillic symbols in debug console, output windows and popup messages.

(Experimental duplicate detection)
Thanks for submitting this issue. Please also check if it is already covered by an existing one, like:

Integrated Terminal badly works with cyrillic lang (#99335)

Thans, this topic is not related to my question.
Everything is fine in my terminal window.

@small75 I have tried this with Serbia cyrilic and this works just fine for me
Can you please share a minimal program which reproduces this issue and make sure to try on VS Code insiders

@isidorn, what encoding do you use? May be UTF-8 ?
I'm using VBScript program on Windows OS and Windows-1251 encoding (see screenshot. This is error message).
this my very short program:

Aha that is the regular hover. This has nothing to do with debug, but with you system and encoding.
For now forwarding to @bpasero as he might have ideas, though I think the best would be to search for a solution on stack overflow


api: move a devicetree.h layering violation to drivers/spi.h

The DT_SPI_DEV_CS_GPIOS_DT_SPEC_GET macro belongs in drivers/spi.h,
not devicetree.h.
It is creating a struct gpio_dt_spec, but the devicetree.h API does
not (other than in this case) and should not depend on structures that
are defined in the GPIO API. This is because the GPIO API already
depends on the devicetree.h API, so making a dependency in the reverse
direction creates a needless circular dependency.
This macro should have been added to the drivers/spi.h API from the
beginning. Move it there under a new name, SPI_CS_GPIOS_DT_SPEC_GET.
We haven't created a Zephyr release with
DT_SPI_DEV_CS_GPIOS_DT_SPEC_GET in it, so there is no need to go
through the stable API change process for devicetree.h to deprecate
and eventually remove it. We can just remove it directly.
Fixes: #42149
Signed-off-by: Martí Bolívar<EMAIL_ADDRESS>

cc @bbilas


drivers: modem: ublox-sara-r4: fix getaddrinfo

The implementation of offload_getaddrinfo in this driver failed
when the node it was called with was an IP address. This condition
was never detected, and as a consequence a DNS query was done on
the IP address instead of returning it directly.
Also, the port was set first after running the DNS query.
As a consequence, if the IP address would have been returned directly,
this would have been done without a port been set.
Both errors are fixed in this patch.
Signed-off-by: Hans Wilmers<EMAIL_ADDRESS>

@jukkar @mike-scott Thanks for a fast review. Any chance to get it merged?

Any chance to get it merged?

I don't know. 2.3 release manager will decide, @carlescufi do you think this could be merged to 2.3-rc1?

Yes, this is fixing a bug so it can be merged.


strange bug with actionsheet height

does anyone konw this problem?

Could this be the same as https://github.com/Friend-LGA/LGAlertView/pull/51?

Fill free to reopen if https://github.com/Friend-LGA/LGAlertView/pull/51 not helped.


added new API calls for searching by name, adding to cart, and gettin…

Hi,
I found this project and wanted to add some functionality to it.
New functions in Meijer.py

get_name(searchterm, storeID)
-- Uses the search API to perform searches based on a text query
add_to_cart(UPC, storeID)
-- Lets user add a given UPC to their shopping cart
get_receipts()
-- Returns all digital receipts in meijer account
get_digital_receipt(receiptID)
-- Returns URL to receipt image

I really messed up the project structure in the process...sorry.
Thanks,
CJ

I'm going to fix these changes to fit project structure.


Process all old issues on install

This would be useful to have everything labeled, not only things touched after the installation.

This would be particularly useful when adding helpr to an existing, and busy, repo.

@webknjaz Agreed. I am open to a PR implementing this functionality.


@return field for role()

For Discordrb::Server.role(), add a @return field for the YARD documentation tool

Totally independent just to clarify
No one on the discord api server said this at all

This was merged (with changes) via shardlab/discordrb@511cd792495fa75b005b2ea62145f6458ef39467 in the new repo and released in v3.4.0 and can be closed.


How to fine tune LLaMA 3 in Google Colab (Pro)?

I have a JSONL dataset like this:
{"text": "This is raw text in 2048 tokens I want to feed in"},
{"text": "This is next line, tokens are also 2048"}

It would be nice to fine-tune in 4, 8, or 16-bit LoRA and then just merge as before!

Hi @yukiarimo - thanks for opening this issue! Creating a lighter version of the llama3 finetune is on our roadmap. It would be extremely helpful if you were able to edit the notebook and add a quantization configuration which would work on Colab's T4 GPUs!
Let me know!

Switched to unsloth and custom HF trainer. This is never gonna work. Closing the issue


pin mypy to at least 0.980

mypy 0.981 has been released today - this should hopefully fix the tests for Python 3.10.

I think it would be fine for us to drop mypy for python 3.6.

I'd also be explicit about it in the requirements?