Changes to Group Chat for better alt-model (aka Local LLM) support

Why are these changes needed?
Alternative models (aka Local LLMs and alt-models) do not perform as well as ChatGPT in the Group Chat scenario. Alt-models have a varying degree of capabilities and tailoring is required to best utilise them in AutoGen.
Note: To provide background context to the suggested changes there's a bit of detail provided.
I'll start with some background and experiences when testing alt-models and then follow with my recommended changes for discussion
Experience and testing
After a few rounds of testing a number of alt-models, specifically with the Group Chat functionality, I found that running them with the default AutoGen codebase wasn't providing reliable results.
Models tested:

Llama2 13B Chat
Mistral 7B v0.2 Instruct
Mixtral 8x7B v0.1 Instruct (Q4)
Neural Chat 7B
OpenHermes 7B Mistral v2.5 (Q6)
Orca 2 13B
Phi-2
Phind CodeLlama 34B v2
Qwen 14B Chat (Q6)
SOLAR 10.7B Instruct
Yi-34B Chat (Q3)

Group Chat testing scenario:
I based my testing around Tevslin's (from Discord - https://github.com/tevslin/debate_team) debating Group Chat. That worked fine with ChatGPT but struggled on a number of fronts with all alt-models.
My testing repository playground and model comparisons here
Testing multiple models / scenarios here
High-level findings below
LLMs behave differently to the same prompts and context
The same prompt will behave differently across all models. This means we need to be able to tailor all prompts (including the hard-coded prompts such as select_speaker) to the models we want to use.
Limited and varied context windows for models means that we need to be more careful about the length of context windows. Small models (e.g. Phi-2) struggled considerably once a few speakers had spoken. Even larger models (e.g. Mixtral) suffered from hallucinations and poor direction following after 3-4K tokens.
Returning a single word response
For both selecting the next speaker and termination, getting these models to return a single text response is very difficult. They often needed a prompt that used some form of Chain-of-thought to get the right answer. Even giving the model a simple instruction "Say the word 'TERMINATE'" would, more often than not, result in the model explaining why it doesn't think it's a good idea to terminate or not saying it at all.
Example asking Phi-2 to say terminate:
>>> Say the word "TERMINATE"
 I'm sorry, as an AI language model, I cannot use inappropriate words in my responses. Can you
please provide me with another input?

For the agent selection asking the model to return just the name would usually result in the incorrect agent name being returned, but asking "What is the next role in the sequence to speak, answer concisely please?" would return the correct agent. However, doing so results in the model explaining itself and hence we can't just match on a single word response against the agent names for speaker selection.
Underscores and Mixtral formatting
For agent names that contain underscores, models would sometimes reference the name of the agent without the underscores and use spaces instead (e.g. "Debate_Judge" would be referenced as "Debate Judge").
Also, oddly, Mixtral would escape the underscores (E.g. "Debate_Judge" would be referenced as "Debate\_Judge") more often than not.
This made matching agent names inconsistent.
Temperature
Keeping the temperature at 0 (or as close as possible) provided better results. This is already catered for in the model config.
Proposed changes
Suggestion 1 - Expand agent name with underscore matching
The code for finding agent names in an LLMs response during speaker selection currently requires an exact match. I have found that LLMs sometimes use spaces instead of underscores and use \_ instead of _. My changes propose changing the matching method to allow underscores to be replaced by spaces and \_ when matching.
File: groupchat.py
Function: def _mentioned_agents(self, message_content: Union[str, List], agents: Optional[List[Agent]]) -> Dict:
Change from:
            regex = (
                r"(?<=\W)" + re.escape(agent.name) + r"(?=\W)"
            )  # Finds agent mentions, taking word boundaries into account

To:
            regex = (
                r"(?<=\W)(" + re.escape(agent.name) + r"|"
                + re.escape(agent.name.replace('_', ' ')) + r"|"
                + re.escape(agent.name.replace('_', r'\_')) + r")(?=\W)"
            )

Suggestion 2 - Customised select speaker prompts
One of the biggest improvements in selecting speakers in a Group Chat using local LLMs was customising the select speaker prompts that run to select the next agent. This will need to be customisable per Group Chat workflow and the example below is purely an example of a change that significantly improved the chance of getting the correct next agent. I forsee the ability to add a "customised select speaker prompt" to a workflow and it could be an f-string and allow the agent list to be incorporated.
Note: Both select_speaker_msg and select_speaker_prompt in groupchat.py require changes.
File: groupchat.py
Function: def select_speaker_msg(self, agents: Optional[List[Agent]] = None) -> str:
EXAMPLE Change from:
        return f"""You are in a role play game. The following roles are available:
        {self._participant_roles(agents)}.

        Read the following conversation.
        Then select the next role from {[agent.name for agent in agents]} to play. Only return the role."""

To:
	return f"You are in a role play game. The following roles are available:\n{self._participant_roles(agents)}.\n\nRoles must be selected in this order: {', '.join([f'{index + 1}. {agent.name}' for index, agent in enumerate(agents)])}. What is the next role in the sequence to speak, answer concisely please? If everyone has spoken the next speaker is the {agents[0].name}."

Function: def select_speaker_prompt(self, agents: Optional[List[Agent]] = None) -> str:
EXAMPLE Change from:
        return f"Read the above conversation. Then select the next role from {[agent.name for agent in agents]} to play. Only return the role."

To:
	return f"Read the above conversation and select the next role, the list of roles in order is 1. Affirmative_Constructive_Debater, 2. Negative_Constructive_Debater, 3. Affirmative_Rebuttal_Debater, 4. Negative_Rebuttal_Debater, 5. Debate_Judge, 6. Debate_Moderator_Agent. What is the next role in the sequence to speak, answer concisely please?"

Suggestion 3 - Option to simplify speaker content history for speaker selection
Due to the limited context windows of various alt-models as well as their ability to process the context, providing the full chat history during speaker selection can yield unexpected results and I found that as the conversation gets longer the chance of getting the correct next agent reduced fast. I am proposing an option to replace the message history for speakers with a simple message (that should be able to be customised) that includes the agent name and the fact that they have spoken. From my testing, this helped the alt-model consistently understand the sequence of agents so far and determine who would be next, even as the conversation got longer. This may work best when the actual content of the conversation is not important for speaker selection and it's based more on who has spoken before/last.
File: groupchat.py
Function: def select_speaker(self, last_speaker: Agent, selector: ConversableAgent) -> Agent:
Change from:
        # auto speaker selection
        selector.update_system_message(self.select_speaker_msg(agents))
        final, name = selector.generate_oai_reply(messages)

To (should be with a passed in parameter for message rather than hard-coded like this):
        shorter_messages = messages.copy()
        for message in shorter_messages:
            if 'name' in message and not message['name'] == 'userproxy':
                message['content'] = f"I am {message['name']} and I have spoken."

        final, name = selector.generate_oai_reply(shorter_messages)

Suggestion 4 - Requery when select speaker response contains more than one name
It is difficult to get some alt-models to return a single word response (such as an agent name) and I found that you need to ask them a broader question so they provide more consideration rather than just asking for a word as that resulted in the wrong selection the majority of the time. I am proposing the ability to take the LLMs response to the select speaker prompt when it has more than one detected agent name in it and ask the LLM to pick the name from that response - this worked well during my testing.
Here's an example of a response to the select speaker prompt that would be picked up and run through the LLM to pick the next agent:
The next role in the sequence to speak would be 'Negative_Constructive_Debater'. This role is responsible for providing constructive feedback and counterpoints to enhance discussions. They should analyze the validity of arguments presented by the Affirmative Constructive Debater and offer alternative perspectives or corrections where necessary.

File: groupchat.py
Function: def _finalize_speaker(self, last_speaker: Agent, final: bool, name: str, agents: Optional[List[Agent]]) -> Agent:
Change from:
def _finalize_speaker(self, last_speaker: Agent, final: bool, name: str, agents: Optional[List[Agent]]) -> Agent:
To:
def _finalize_speaker(self, last_speaker: Agent, final: bool, name: str, selector: ConversableAgent, agents: Optional[List[Agent]]) -> Agent:
Change from:
        if len(mentions) == 1:
            name = next(iter(mentions))

To (perhaps with the ability to customise the requery prompt):
        if len(mentions) == 1:
            name = next(iter(mentions))
        # For when we have more than one name, requery the LLM with the response to pick the single agent
        elif len(mentions) > 1:
            select_name_query = [
                {
                    'content': f'Respond with just the name of the next speaker\'s name identified by this text: {name}',
                    'role' : 'system'
                }
            ]

            # Requery with just the latest reply and try and get it to narrow it down to a single agent name.
            final_single, name_single = selector.generate_oai_reply(select_name_query)

            # Try again to see if we've got just one name matching
            mentions = self._mentioned_agents(name_single, agents)
            if len(mentions) == 1:
                name = next(iter(mentions))
                logger.warning(f"[Note: Successfully requeried initial speaker selection response to narrow to one agent: {name}]")
            else:
                logger.warning(
                    f"GroupChat select_speaker failed to resolve the next speaker's name. Multiple names in original reply and re-queried but unable to successfully identify a single agent. Original agent selection reply: {name}\nRequeried agent selection reply: {name_single}"
                )

In functions select_speaker and a_select_speaker, change from:
return self._finalize_speaker(last_speaker, final, name, agents)
To:
return self._finalize_speaker(last_speaker, final, name, selector, agents)
Suggestion 5 - Flexible terminate string handling
As per the above notes, getting a single word response from these LLMs is tricky, it's more typical for them to provide a sentence or paragraph and put TERMINATE somewhere in there (if we can get one at all!). To help the situation I'm proposing that we allow TERMINATE (case-sensitive) to be anywhere in the response. Furthermore, it may be good to consider the ability to change the terminate keyword as I have found that this word has a negative connotation and some LLMs don't like to output it at all.
File: conversable_agent.py
Function: __init__
Change from:
else (lambda x: content_str(x.get("content")) == "TERMINATE")
To:
else (lambda x: "TERMINATE" in content_str(x.get("content")))
Final notes

The above suggestions provide flexibility and are designed to accommodate the shortcomings of smaller/local/public models. The ability to turn these on/off would help avoid changing any existing work by others.

I considered proposing a new group chat class specifically for alt-models but I'm hoping this isn't necessary as it would make the codebase harder to maintain if there were two similar classes.

My testing has been focused on a debating scenario utilising group chat - it hasn't been used with Skills or function calling so I don't know if the proposed changes work in those scenarios.

Thank you!

@microsoft-github-policy-service agree

Thanks for the PR! The termination string makes sense to me for many non-openai LLMs. Can others comment on the changes made to speaker selection?

Thanks for the PR! The termination string makes sense to me for many non-openai LLMs. Can others comment on the changes made to speaker selection?

Thanks for the PR. I'm not sure about the hard-coded examples. @ekzhu, I suspect it might be better to instead:
(1) Try to run the existing autogen tests with alt-models and see where are the gaps, are they as per reported in this PR?
(2) Change the hard-coded examples to dynamic code in this PR.
(3) Ensure that the test passes with both alt-models and openai to prevent breaking openai whilst 'fixing' alt-models.

Thanks for your suggestions @joshkyh, I'll jump in and say I'm happy to try running the tests with the alt-models to identify gaps, if someone can point me in the right direction on how to run them.
If the tests cover end-to-end scenario workflows (e.g. like the debating workflow I used for testing) that would highlight the gaps.

Thanks for your suggestions @joshkyh, I'll jump in and say I'm happy to try running the tests with the alt-models to identify gaps, if someone can point me in the right direction on how to run them.

No worries, the tests can be found here
https://github.com/microsoft/autogen/tree/main/test
Though I think the most relevant ones should be in
https://github.com/microsoft/autogen/blob/main/test/agentchat/test_groupchat.py
https://github.com/microsoft/autogen/blob/main/.github/workflows/openai.yml
and https://github.com/microsoft/autogen/blob/main/.github/workflows/contrib-openai.yml
specify the tests that require a openai endpoint, which in your case, would be swapped to a local LLM endpoint.
I'm not sure whether the maintainers would be keen to include local LLMs in the test workflows, would need to ask @ekzhu - I don't know who is the lead for alt-models related issues.

Thanks for your suggestions @joshkyh, I'll jump in and say I'm happy to try running the tests with the alt-models to identify gaps, if someone can point me in the right direction on how to run them.

No worries, the tests can be found here https://github.com/microsoft/autogen/tree/main/test
Though I think the most relevant ones should be in https://github.com/microsoft/autogen/blob/main/test/agentchat/test_groupchat.py
https://github.com/microsoft/autogen/blob/main/.github/workflows/openai.yml and https://github.com/microsoft/autogen/blob/main/.github/workflows/contrib-openai.yml specify the tests that require a openai endpoint, which in your case, would be swapped to a local LLM endpoint.
I'm not sure whether the maintainers would be keen to include local LLMs in the test workflows, would need to ask @ekzhu - I don't know who is the lead for alt-models related issues.

Thanks, I'll have a look through and try and test against a set of local LLMs.

Codecov Report
Attention: Patch coverage is 7.69231% with 24 lines in your changes are missing coverage. Please review.

Project coverage is 14.19%. Comparing base (3318183) to head (adf85f4).

Files
Patch %
Lines

autogen/agentchat/groupchat.py
7.69%
24 Missing :warning:

Additional details and impacted files
@@             Coverage Diff             @@
##             main    #1746       +/-   ##
===========================================
- Coverage   37.06%   14.19%   -22.87%
===========================================
  Files          68       68
  Lines        7069     7087       +18
  Branches     1543     1673      +130
===========================================
- Hits         2620     1006     -1614
- Misses       4218     6056     +1838
+ Partials      231       25      -206

Flag
Coverage Δ

unittests
14.13% <7.69%> (-22.92%)
:arrow_down:

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

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

@ekzhu, I'll close this, as the following addresses my proposed changes:

Suggestion 1 - Expand agent name with underscore matching - addressed
Suggestion 2 - Customised select speaker prompts - addressed
Suggestion 3 - Option to simplify speaker content history for speaker selection - addressed through TransformMessages
Suggestion 4 - Requery when select speaker response contains more than one name - addressed through nested select speaker chat
Suggestion 5 - Flexible terminate string handling - already existed :)

I think things have moved along substantially for smaller LLMs and group chat in the last 3 months... still more to do, but great to have these covered.

Thank you @marklysze for your fantastic contributions!


Does this work on Windows?

I've had fzf.vim working for 6 months or so using both gvim and nvim-qt on Windows.  I've just tried fzf-preview and I'm getting errors as soon as the preview window pops up.  FzfPreviewBuffers for example displays:
Error detected while processing function 394[30]..46_callback:
line 21:
Vim(let):E684: list index out of range: 0
Any ideas?
I've read the vim help page, and I've run checkhealth in nvim which shows that nvim and python3 is working etc.  I initially tried on an nvim from 4 months ago, but I've now installed the latest dev release 0.50 and I'm having the same issues.

I'm sorry.
I don't have a Windows environment so it's hard to support it.

I got the same error in nvim-qt in Win10.

@benstaniford You may want try voldikss/vim-floaterm.


add where_bind_option support

I encountered an unpleasant situation while using it.
pub async fn find_by_query(
    db: &PgPool,
    query: &TemplateQuery,
    page: &PageRequest,
) -> Result<Vec<TaskTemplate>> {
    let mut query_builder = TaskTemplate::select();
    if let Some(name) = &query.name {
        query_builder = query_builder.where_bind("name like '%?'", name);
    }
    if let Some(topic) = &query.topic {
        query_builder = query_builder.where_bind("topic=?", topic);
    }
    if let Some(edition) = &query.edition {
        query_builder = query_builder.where_bind("edition=?", edition);
    }
    query_builder
        .offset(page.offset())
        .limit(page.limit())
        .fetch_all(db)
        .await
}

#[derive(Debug, Serialize, Deserialize)]
pub struct TemplateQuery {
    name: Option<String>,
    topic: Option<TemplateTopic>,
    edition: Option<ProductEdition>,
}

If there is where_bind_option(clause: &'static str, value: Option<T>)，it will be much more comfortable.
pub async fn find_by_query(
    db: &PgPool,
    query: &TemplateQuery,
    page: &PageRequest,
) -> Result<Vec<TaskTemplate>> {
    TaskTemplate::select()
        .where_bind_option("name like '%?'", &query.name)
        .where_bind_option("topic=?", &query.topic)
        .where_bind_option("edition=?", &query.edition)
        .offset(page.offset())
        .limit(page.limit())
        .fetch_all(db)
        .await
}

#[derive(Debug, Serialize, Deserialize)]
pub struct TemplateQuery {
    name: Option<String>,
    topic: Option<TemplateTopic>,
    edition: Option<ProductEdition>,
}

Looking forward to your reply

Thank you for submitting this.
You can create your own custom trait to add this method to SelectQueryBuilder (or any another) struct. There are ample articles or sections of the Rust Book describing how to do this.
For now, I'll close this issue, as I believe adding such a method to ormlite is beyond its scope because the need doesn't impact enough users.


Extend FastFilter to support multiple properties...

Description
Previously, we would only use the "fast" filter if the filter expression used a single property name in all sub-expressions.  To improve Live Unit Testing execution performance, we need to be able to support an expression like this:
    FQN!=Test1&FQN!=Test2&TestCategory!=SkipWhenLiveUnitTesting

This change allows for use of multiple property names with the FastFilter.  In cases where a single property is used, the time complexity remains O(n).  For cases using multiple properties, the worst case is O(m*n), but this is still better than the "slow" case, and in general, I expect "m" (number of property names used in the filter) to be small.
Related issue
https://github.com/dotnet/testimpact/pull/2557

FYI @genlu @mayankbansal018 @abhishkk
/CC @Microsoft/testimpact

@cltshivash @mayankbansal018 @abhishkk would one of you be able to review/merge this if you approve?  We'd like to get this in for 15.7, as it allows for significant improvement in the Live Unit Testing case (it's required as part of the work to avoid sending the extraneous Discovery request in dotnet/testimpact#2557)
/CC @ManishJayaswal


[config] Configure dom to use the singularity/3.8.0-daint module

Codecov Report

Merging #2353 (efc5f10) into master (1641697) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #2353   +/-   ##
=======================================
  Coverage   86.12%   86.12%
=======================================
  Files          56       56
  Lines       10215    10215
=======================================
  Hits         8798     8798
  Misses       1417     1417

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 1641697...efc5f10. Read the comment docs.


DSC tests should be skipped on Ubuntu 20.04, due to libmi incompatibility

Testing on Ubuntu 20.04 should skip DSC tests, since Ubuntu 20.04's libmi version isn't compatible.
One of the test errors:
Expected an exception, with FullyQualifiedErrorId 'Microsoft.PowerShell.Commands.WriteErrorException,CheckResourceFound' to be thrown, but the FullyQualifiedErrorId was 'DllNotFoundException,Get-DscResource'. from /opt/microsoft/powershell/7-preview/Modules/PSDesiredStateConfiguration/PSDesiredStateConfiguration.psm1:4681 char:19
+     $resource = @(Get-DscResource @getArguments -ErrorAction stop)
+                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Stack trace:
at <ScriptBlock>, /home/vsts_azpcontainer/PSPackage/download/Test/test/powershell/Modules/PSDesiredStateConfiguration/PSDesiredStateConfiguration.Tests.ps1: line 527
527:                 Should -Throw -ErrorId 'Microsoft.PowerShell.Commands.WriteErrorException,CheckResourceFound'

/cc @jborean93

@iSazonov not sure there's much I can add to this, I haven't enabled a Debian 11 target yet because that version isn't out yet. But I would guess that if you tried to include the libmi binary that PowerShell distributes it would fail on Debian 11 because it is compiled against OpenSSL 1.0.2 which newer distros won't ship.

Issue #14421 seems to be a duplicate of this one?


Is this model pre-trained with ImageNet?

Is this model pre-trained with ImageNet?Is the purpose of first training using the daytime data set just to get the pre-trained weights for night training?Thanks！

We used the pretrained ResNet models and the daytime pretraining is used to train patch-GAN.

We used the pretrained ResNet models and the daytime pretraining is used to train patch-GAN.

So can it be understood that the pre-trained weights during the day and night are both Resnet models? Is the training during the day so that Patch-GAN can work in the next step?


In the UP, a report that has been routed but not translated has a status of "NOT DELIVERED" when it should be "RECEIVED"

User Story
As as user, I would like the submission API to always return the correct status.
Description/Use Case
There is an edge case in the submission API where if a report has had the route step run but not the translate step, the API will return "NOT DELIVERING" even if ultimately items do make it to a receiver.
Risks/Impacts/Considerations

This is a relatively small edge case that would likely only ever be seen if the system was under a lot of load and would fix itself as soon as the translate step is run.

Dev Notes

Adding a timeout can help to reliably recreate this issue

Add runBlocking { delay(10000) } to doWork in FHIRTranslator.kt

The code will likely need to be changed to refactor this or to adjust how the filter logs get written to the db

Of note, a filter log is not written for a jurisdictional filter

This is some previous work that was done that helped discover this bug.
Acceptance Criteria

[ ] The status for a report that will be routed to receivers after the route step has run but before translate is "RECEIVED"

When demoing this ticket, submitting this body and then immediately checking the Submission History showed the Not Received value still appearing. Checking why this happened.


[embedchain doc] fix typo mysql.mdx

Description
Embedchain doc, there is a typo, I fix it.
Type of change
Please delete options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Refactor (does not change functionality, e.g. code style improvements, linting)
[x] Documentation update

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration
Please delete options that are not relevant.

[ ] Unit Test
[ ] Test Script (please provide)

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules
[x] I have checked my code and corrected any misspellings

Maintainer Checklist

[ ] closes #xxxx (Replace xxxx with the GitHub issue number)
[ ] Made sure Checks passed

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Hey @mahone3297 Can you please sign the CLA?

ok. I have signed it.

Thanks @mahone3297 for the contribution, change looks good.


Skip over consul when resetting Consul services

Otherwise, Reset exits early with the error:
Unexpected response code: 500 (Deregistering the consul service is not allowed)

Signed-off-by: Swetha Repakula<EMAIL_ADDRESS>

Thanks, @flawedmatrix and @swetharepakula! Sounds reasonable, prioritizing for the Diego team to evaluate.
Best,
Eric


Wrap all cache calls that can throw errors in try/catch blocks

Some cache methods throw errors that crash the app.

Rather than throw errors intentionally, I decided it's better to get rid of the overwrite option that even I've never used personally and just overwrite existing caches.
All the remaining errors should only occur in a dev environment because they reveal obvious bugs in the app's code, not citizen.


Anerdw: Watch ssstt.app

Anerdw requests the watch of the watch_keyword ssstt\.app. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

ssstt\.app has been seen in 2 true positives, 0 false positives, and 0 NAAs.

Approved by Spevacus in Charcoal HQ


[Bug]When I use joern --script xxx --params key=value on windows The config parser dones not work well

Describe the bug
A clear and concise description of what the bug is.
Please keep the conversation English! Make it easy for us and share your input code or a minified example.
To Reproduce
Steps to reproduce the behavior:
When I exec the cmd blow on windows:
joern --script metadata.sc --params cpgFile=cpg.bin
the progress return:
Error: Option --params failed when given 'cpgFile'. Expected a key=value pair
Try --help for more information.
Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS Windows 11
Joern Version  1.1.1638
Java version 11

Additional context
Add any other context about the problem here.

it works, thanks a lot!!


[20] [21] [UI + Integration] As a logged in user, I can see skeleton loading animation

https://github.com/llleyelll/ic-surveys-ios/issues/20
https://github.com/llleyelll/ic-surveys-ios/issues/21
What happened 👀

Implement skeleton loading animation

Insight 📝

Show skeleton loading animation when fetching survey list

Proof Of Work 📹

This looks good as is. However; SkeletonView also supports CollectionView. If you have time you can play around with it. It might helps you if, for example, we supports iPad and we want to show multiple cells at once.

@blyscuit I'll look at it. Thank you 🙇♀


RFP - conan

See my comments at https://github.com/conan-io/wishlist/issues/53

https://www.conan.io/

working on it.

package approved:
https://chocolatey.org/packages/conan


Notify release for native and web

Is your feature request related to a problem? Please describe.
As a dev i want to deploy for native and web/backend separately. Therefore we need to adjust the notify release job because we assume that deb and apk packages are available
Describe the solution you'd like

Pass a parameter that defines which artifacts must be available to upload depending on which platform you release

This will be fixed by https://github.com/digitalfabrik/app-toolbelt/pull/15. Instead of passing a parameter to define which assets should be uploaded, I chose to just made the upload more robust and correctly handle if an empty list of files is passed. I tested this here: https://app.circleci.com/pipelines/github/digitalfabrik/entitlementcard/6029/workflows/38c8d3dd-911f-4e2c-a475-52322ab9df01/jobs/43140


Does Enlighter support inline code highlighting that looks like this?

Does Enlighter support inline code highlighting that looks like this? If so, how?

This example was found here:
https://blog.cloudera.com/blog/2014/09/how-to-translate-from-mapreduce-to-apache-spark/

Of course. you can use the code insert dialog, inline formats or shortcodes

Great to know that it is possible! But I am lost as to how. On the page URL I pasted, they do it like this:
Markup in the text:
reduce()
Then they have css defined like so:
code {
background-color: #f7f7f9;
border: 1px solid #e1e1e8;
padding: 2px 4px;
}
Where would I have to place this css in Wordpress to make this work on my site, such that I would be able to use a shortcode like .. to get this inline style?
thanks

hi chris,
what editor mode do you use ? Visual Editor or Text Editor ?
Example 1 - Inline Formats (Visual Editor)
Just select the text you want to highlight and add the language format

Example 2 - Code Insert Dialog (Visual Editor)
Use the code insert dialog and select "mode: inline"

Example 3 - Shortcode Mode (Text Editor Only)
To use the inline shortcode mode, you have to enable it within the Enlighter Settings Page. Finally, wrap your code in a language shortcode tag without linebreaks.
My text [js]alert("1234");[/js] inline ...

CSS
you don't need to add any css - Enlighter comes with it's own formats.

I generally use the Visual editor. I see that I can use Inline-Code editing like this:

And in the Visual editor it looks like this:

which produces something that looks kind of like what I want:

However, I want the text to be a little larger and the background color to be a little different, closer to what I pasted in the first post above. I have been using the 'Enlighter Code Settings' button and previewing different combinations of Language and Theme to see the results. The problem is this takes a while since there are 29 Languages and 18 Themes. (522 combinations!)
After trying quite a few of these, the one I pasted above seems to be the closest, but not exactly what I want.
Note: It would be nice if I could output a page that contains a grid of all Language and Theme combinations to see how inline performs on each, to speed up selection instead of choosing one combo at a time and clicking Preview in Wordpress. This is an idea for a feature enhancement.
If I want to make a change to just mode Inline-Code, language 'Raw code', that would be in Enlighter.JS.min.css I suppose..

Now i understand you issue - you want to create a custom theme to change the styles of the inline-highlighting. And you're right, the default themes are located in EnlighterJS.min.css but there is an option to "inject" new themes by a custom css file.
Step 1
First of all, you have to select an origin theme you want to modify. for example minimal
The uncompressed css files are available within the EnlighterJS Repository.
Step 2
We assume you new theme is getting named lightgrey - in this case rename the css file to lightgrey.css and replace each occurence of minimal with lightgrey
Step 3
To change the inline appearance of RAW language (no highlighting, just apply the container styles) you need to modify the following rulesets:
/* generic container styles inline+block */
.lightgreyEnlighterJS, .lightgreyEnlighterJSWrapper{
    font-family: "Droid Sans Mono", "Courier New", Courier, monospace;
}

/* Inline specific container styles */
span.lightgreyEnlighterJS{
    background-color: transparent;
    border: none;
}

/* Default Token Styling - font styling*/
.lightgreyEnlighterJS span{
    font-size: 13px;
    color: #2a2a2a;
}

Step 4
In your WordPress Theme directory, create a new subdirectory named enlighter/.
Place your lightgrey.css theme in this directory and enable Enlighter External Theme support (Enlighter -> Options -> Include External Themes).
Apply the settings. Now your custom theme lightgrey will appear in the theme dropdown.
That's it!
Theme/Language Demo
The Theme/Language Demos are available on the official Project Website enlighterjs.org.
In my opinion, a grid/matrix comparision would not make sense because it is not the desired way how syntax highlighting works. Normally you choose a theme containing the basic container styles and the token styles can be modified by Enlighter Theme Customizer. Other use cases should be solved by custom themes.


Add XCode 6.1 support to Travis CI

http://blog.travis-ci.com/2014-11-03-xcode-61-beta/
Signed-off-by: Chris Aniszczyk<EMAIL_ADDRESS>

Closing this PR which was a temporary attempt at fixing Travis for a previous version of Xcode.


itpp

http://itpp.sourceforge.net/4.3.1/

Hi @zlinwei, thanks for posting this request. The port has been merged to the master and please try to use it.


Ryzen 5 with an attached Vega GPU performance issues

12:42 PM] Diamond Wolf: In other news, I pulled up Neptune and my FPS gradually started tanking. The pause menu brought it back up, but it went back to where it was once I closed the menu. Gonna check other maps real quick
[12:44 PM] Diamond Wolf: ...leaving a game and then joining another one got rid of the FPS meter
[12:45 PM] Diamond Wolf: Looks like every map is affected by the gradual performance decline
[12:47 PM] Diamond Wolf: Moving around makes the process of slowing down happen faster
[12:48 PM] Diamond Wolf: ...Tried it out in Vulkan, same issue with the performance
[12:48 PM] Verran: what are your system specs?
[12:49 PM] Verran: can you try setting full screen to actual full screen (non-windowed) and set overall video settings to Low?
[12:49 PM] Diamond Wolf: That's how I've been playing
[12:49 PM] Verran: ok the FPS display is a royal pain in the ass: UE4 does not provide a way to determine if it's showing or not :neutral_face:
[12:50 PM] Diamond Wolf: Ryzen 5 with an attached Vega GPU
[12:50 PM] Diamond Wolf: 8GB RAM
[12:50 PM] Diamond Wolf: Runs Overload pretty well at pretty decent settings
[12:51 PM] Diamond Wolf: ...Anyway, when I tried Vulkan, I checked to see if it would fix my resolution issue - the only aspect ratio supported was 'show all' and there were no resolution options whatsoever.
[12:53 PM] Verran: ok

[1:07 PM] Verran: question, when you say "attached Vega", do you mean motherboard embedded/integrated?
[1:08 PM] Verran: and if so, what is your motherboard model?
[1:09 PM] Diamond Wolf: System properties says "AMD Ryzen 5 2500U with Radeon Vega Mobile Gfx 2.00 GHz"
[1:09 PM] Diamond Wolf: for the processor
[1:10 PM] Verran: ok, it's a laptop?
[1:10 PM] Diamond Wolf: yeah
[1:10 PM] Verran: ok, what model laptop?
[1:11 PM] Diamond Wolf: Dell Inspiron 15 5000
[1:12 PM] Verran: thanks

https://windowsreport.com/ark-survival-evolved-graphics-settings/

I bought this laptop just so I could test this. I've fixed the resolution issues and performance optimizations have allowed the game to play at 60 to 150 FPS (800 x 600 resolution, 70 Scale Percentage, all "Low" video settings, Full Screen [non-windowed]).


Broken links on CONTRIBUTING.md

Expected behavior
Links

https://github.com/karma-runner/karma/blob/master/egghead_series
http://karma-runner.github.io/0.13/dev/egghead_series

lead somewhere.
Actual behavior
The links are leading to 404 pages.
Steps to reproduce the behaviour

Go on https://github.com/karma-runner/karma/blob/master/CONTRIBUTING.md
Click links "get started" and "How to Contribute to an Open Source Project on GitHub"
See 404 ;)

Thanks, looking at the raw markdown for CONTRIBUTING.md it should work though, the correct link is at the bottom and it looks like Github somehow doesn't resolve the right link?


Scottwhi scripts

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

BingAds/scripts/TOC.yml
:white_check_mark:Succeeded

BingAds/scripts/concepts/authorization.md
:white_check_mark:Succeeded

BingAds/scripts/concepts/bid-strategies.md
:white_check_mark:Succeeded

BingAds/scripts/concepts/builders.md
:white_check_mark:Succeeded

BingAds/scripts/concepts/change-and-text-logs.md
:white_check_mark:Succeeded

BingAds/scripts/concepts/errors-and-warnings.md
:white_check_mark:Succeeded

BingAds/scripts/concepts/ids.md
:white_check_mark:Succeeded

BingAds/scripts/concepts/iterators.md
:white_check_mark:Succeeded

BingAds/scripts/concepts/main-function.md
:white_check_mark:Succeeded

BingAds/scripts/concepts/preview-mode.md
:white_check_mark:Succeeded

BingAds/scripts/concepts/selectors.md
:white_check_mark:Succeeded

BingAds/scripts/concepts/supported-js-features.md
:white_check_mark:Succeeded

BingAds/scripts/examples/adgroups.md
:white_check_mark:Succeeded

BingAds/scripts/examples/campaigns.md
:white_check_mark:Succeeded

BingAds/scripts/examples/index.md
:white_check_mark:Succeeded

BingAds/scripts/examples/keywords.md
:white_check_mark:Succeeded

BingAds/scripts/get-started.md
:white_check_mark:Succeeded

BingAds/scripts/includes/custom-parameters.md
:white_check_mark:Succeeded

BingAds/scripts/includes/date-range-conditions-message.md
:white_check_mark:Succeeded

BingAds/scripts/includes/date-range-constants.md
:white_check_mark:Succeeded

BingAds/scripts/includes/date-range-objects.md
:white_check_mark:Succeeded

BingAds/scripts/includes/final-url.md
:white_check_mark:Succeeded

BingAds/scripts/includes/maximum-number-of-ids.md
:white_check_mark:Succeeded

BingAds/scripts/includes/operators.md
:white_check_mark:Succeeded

BingAds/scripts/includes/order-by-limit.md
:white_check_mark:Succeeded

BingAds/scripts/includes/preview-note.md
:white_check_mark:Succeeded

BingAds/scripts/includes/reads-limit.md
:white_check_mark:Succeeded

BingAds/scripts/includes/tracking-templates.md
:white_check_mark:Succeeded

BingAds/scripts/includes/with-ids-chaining.md
:white_check_mark:Succeeded

BingAds/scripts/index.md
:white_check_mark:Succeeded

BingAds/scripts/reference-overview.md
:white_check_mark:Succeeded

BingAds/scripts/reference/AdGroup.md
:white_check_mark:Succeeded

BingAds/scripts/reference/AdGroupBidding.md
:white_check_mark:Succeeded

BingAds/scripts/reference/AdGroupBuilder.md
:white_check_mark:Succeeded

BingAds/scripts/reference/AdGroupIterator.md
:white_check_mark:Succeeded

BingAds/scripts/reference/AdGroupOperation.md
:white_check_mark:Succeeded

BingAds/scripts/reference/AdGroupSelector.md
:white_check_mark:Succeeded

BingAds/scripts/reference/AdGroupUrls.md
:white_check_mark:Succeeded

BingAds/scripts/reference/AdParam.md
:white_check_mark:Succeeded

BingAds/scripts/reference/AdParamIterator.md
:white_check_mark:Succeeded

BingAds/scripts/reference/AdParamSelector.md
:white_check_mark:Succeeded

BingAds/scripts/reference/BingAdsApp.md
:white_check_mark:Succeeded

BingAds/scripts/reference/BingAdsDate.md
:white_check_mark:Succeeded

BingAds/scripts/reference/Budget.md
:white_check_mark:Succeeded

BingAds/scripts/reference/Campaign.md
:white_check_mark:Succeeded

BingAds/scripts/reference/CampaignIterator.md
:white_check_mark:Succeeded

BingAds/scripts/reference/CampaignSelector.md
:white_check_mark:Succeeded

BingAds/scripts/reference/CampaignUrls.md
:white_check_mark:Succeeded

BingAds/scripts/reference/Keyword.md
:white_check_mark:Succeeded

BingAds/scripts/reference/KeywordBidding.md
:white_check_mark:Succeeded

This comment lists only the first 50 files in the pull request.
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


multi-user support

Current API assumes one agent uses the Hubbie instance to  communicate with its peers. But multiple agents could live on the same server/port, so instead of <server>/peer/token, the path could be <server>/user/peer/token, and then the message event would specify not only the peer, but also the user. Likewise,  addClient and  send would be for a specific user.

done in #19


ability to translate Button text

messi.alert and messi.ask have default buttons with text OK, Yes, No
would me nice to be able to treanslate that, maybe with additional info in options.

Because MessiJS doesn't have a templating engine—adding translations would add a huge layer of complexity that I don't want to add right now—I've decided against adding this feature at this time.
Give me some good examples of how to do this without adding a lot of complexity and I'd reconsider.


Fixing #894 and correcting tests

Hi, @Gallaecio ,
I have fixed #894 and submitted PR #900 but it failed because the tests didn't supported am so tests failed.
In this PR the tests and #894 is fixed.

Put together
The German language date parsing needs some correction but this PR fixes AM PM for other languages including English.

Hi, @noviluni I have made the changes, and thanks for the review

Thanks, for your support and suggestions these improvements are now made on PR #945.


Project still maintained?

Just wondering if this project is still active?

Yes, I just pushed a commit 6 days ago. https://github.com/binoculars/aws-cloudformation-cognito-identity-pool/commits/master

Yikes! Sorry, I meant to post that on a completely different repo!


After Pulling Latest - KeyError: 'ContainerConfig'

Checklist

[X]  I am not using Home Assistant. Or: a developer has told me to come here.
[X] I have checked the troubleshooting section and my problem is not described there.
[X] I have read the changelog and my problem is not mentioned there.

Deploy method
Docker
Z-Wave JS UI version
9.13
ZwaveJS version
12.9.1
Describe the bug
I last updated 5 weeks ago. After pull latest from docker the container no longer start.
To Reproduce
version: '3.7'
services:
  zwave-js-ui:
    container_name: zwave-js-ui
    image: zwavejs/zwave-js-ui:9.13
    restart: always
    tty: true
    stop_signal: SIGINT
    environment:
      - SESSION_SECRET=mysupersecretkey
      - ZWAVEJS_EXTERNAL_CONFIG=/usr/src/app/store/.config-db
      # Uncomment if you want logs time and dates to match your timezone instead of UTC
      # Available at https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
      #- TZ=America/New_York
    networks:
      - zwave
    devices:
      # Do not use /dev/ttyUSBX serial devices, as those mappings can change over time.
      # Instead, use the /dev/serial/by-id/X serial device for your Z-Wave stick.
      - '/dev/serial/by-id/usb-Silicon_Labs_CP2102N_USB_to_UART_Bridge_Controller_0679f83e8ecdeb119b405f02c009e213-if00-port0:/dev/zwave'
    volumes:
      - zwave-config:/usr/src/app/store
    ports:
      - '8091:8091' # port for web interface
      - '3000:3000' # port for Z-Wave JS websocket server
networks:
  zwave:
volumes:
  zwave-config:
    name: zwave-config_new

Pulling zwave-js-ui (zwavejs/zwave-js-ui:9.13)...
9.13: Pulling from zwavejs/zwave-js-ui
Digest: sha256:06fa3ff17f99ba6f57ec486b62ff497ba6d534f2ab543eddbe1f7c9a142f8933
Status: Downloaded newer image for zwavejs/zwave-js-ui:9.13
Recreating fb86593eb258_zwave-js-ui ...

ERROR: for fb86593eb258_zwave-js-ui  'ContainerConfig'

ERROR: for zwave-js-ui  'ContainerConfig'
Traceback (most recent call last):
  File "/usr/bin/docker-compose", line 33, in <module>
    sys.exit(load_entry_point('docker-compose==1.29.2', 'console_scripts', 'docker-compose')())
  File "/usr/lib/python3/dist-packages/compose/cli/main.py", line 81, in main
    command_func()
  File "/usr/lib/python3/dist-packages/compose/cli/main.py", line 203, in perform_command
    handler(command, command_options)
  File "/usr/lib/python3/dist-packages/compose/metrics/decorator.py", line 18, in wrapper
    result = fn(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/compose/cli/main.py", line 1186, in up
    to_attach = up(False)
  File "/usr/lib/python3/dist-packages/compose/cli/main.py", line 1166, in up
    return self.project.up(
  File "/usr/lib/python3/dist-packages/compose/project.py", line 697, in up
    results, errors = parallel.parallel_execute(
  File "/usr/lib/python3/dist-packages/compose/parallel.py", line 108, in parallel_execute
    raise error_to_reraise
  File "/usr/lib/python3/dist-packages/compose/parallel.py", line 206, in producer
    result = func(obj)
  File "/usr/lib/python3/dist-packages/compose/project.py", line 679, in do
    return service.execute_convergence_plan(
  File "/usr/lib/python3/dist-packages/compose/service.py", line 579, in execute_convergence_plan
    return self._execute_convergence_recreate(
  File "/usr/lib/python3/dist-packages/compose/service.py", line 499, in _execute_convergence_recreate
    containers, errors = parallel_execute(
  File "/usr/lib/python3/dist-packages/compose/parallel.py", line 108, in parallel_execute
    raise error_to_reraise
  File "/usr/lib/python3/dist-packages/compose/parallel.py", line 206, in producer
    result = func(obj)
  File "/usr/lib/python3/dist-packages/compose/service.py", line 494, in recreate
    return self.recreate_container(
  File "/usr/lib/python3/dist-packages/compose/service.py", line 612, in recreate_container
    new_container = self.create_container(
  File "/usr/lib/python3/dist-packages/compose/service.py", line 330, in create_container
    container_options = self._get_container_create_options(
  File "/usr/lib/python3/dist-packages/compose/service.py", line 921, in _get_container_create_options
    container_options, override_options = self._build_container_volume_options(
  File "/usr/lib/python3/dist-packages/compose/service.py", line 960, in _build_container_volume_options
    binds, affinity = merge_volume_bindings(
  File "/usr/lib/python3/dist-packages/compose/service.py", line 1548, in merge_volume_bindings
    old_volumes, old_mounts = get_container_data_volumes(
  File "/usr/lib/python3/dist-packages/compose/service.py", line 1579, in get_container_data_volumes
    container.image_config['ContainerConfig'].get('Volumes') or {}
KeyError: 'ContainerConfig'

Expected behavior
Container would start without error
Additional context
No response

@stu1811 Check this: https://askubuntu.com/a/1508135
Now, my containers are running with:

docker compose up -d
instead of:

docker-compose up -d
This is because docker-compose is the V1 syntax, [which is now deprecated](https://docs.docker.com/compose/). The V2 syntax is docker compose, since it's now a plugin and not a separate command.

Wow. FIrst I've seen that. Thanks. Works now.

First time for me too, never stop learning new bugs 😆


Add code coverage and enforce 80% in status checks

we can move to next milestone if it can't make it in current

For now 80% coverage target and all PRs must not decrease coverage, we'll set a future date target for 100%

Are these being enforced in github pr? I don't see that yet, here's a newly opened PR, https://github.com/opensrp/fhircore/pull/140

nevermind, this was delayed or I missed it, looks good


Metadata Storage extension for Microsoft SqlServer (sqlserver-metadata-storage)

Currently I use this custom extension by adding the required libraries to my Druid classpath (druid/lib/).

sqlserver-metadata-storage-*.jar - Druid SqlServer Metadata Storage extension
sqljdbc4.jar - The Microsoft JDBC library

Based on:

https://github.com/druid-io/druid/tree/master/extensions-core/postgresql-metadata-storage
https://github.com/druid-io/druid/tree/master/extensions-core/mysql-metadata-storage
https://github.com/druid-io/druid/blob/master/server/src/main/java/io/druid/metadata/storage/derby/DerbyConnector.java

Thanks @mark1900 !

awesome!

@mark1900 these all need appropriate copyright headers. Check out the other files in druid to see the correct POM and JAVA headers

@mark1900 this needs docs in https://github.com/druid-io/druid/tree/master/docs/content/development/extensions-contrib . Make sure to mention https://github.com/druid-io/druid/pull/3421#discussion_r77415080 since this PR (unlike the other metadata extensions) does not package the driver's jar by default.

@drcrallen Added documentation (sqlserver.md)

Cool, @mark1900 can you please fill out the CLA at http://druid.io/community/cla.html ?
👍  after that

CLA is good

Cool, still 👍

Some comments from the JDBI Google Group, on the sqlserver-metadata-storage's use of the JDBI StatementRewriter class.

Using StatementRewriter to rewrite PostgreSQL/MySQL sql syntax to be compatible with Microsoft SqlServer

Matthew Hall

RegExp is a pretty limited language. With so many vendor-specific behaviors and features, I think you'll find RegExp will only get you so far. If this is just a toy project to ease a database migration, then this may work ok for you, but I wouldn't expect it to be a general-purpose solution that works for everybody.
If you're serious about creating a general purpose tool, I think you'd have more success using EBNF grammar parsers.

Steven Schlansker

You'll also find pretty poor performance with such a rewriter -- the chained replaceAll operations
will each have to compile the regex repeatedly.  You might be saved by caching as long as your statements are cacheable -- but if you use something that generates unique SQL statements (such as @BindIn or some custom code) you might shoot yourself in the foot this way.
I think most people simply maintain parallel sets of SQL per database dialect, unfortunately.
None of this is to say it won't work.  Just be aware that you're going to run into serious limitations
and this approach probably won't scale well.

In response to the previous comments.
While the current sql transformation might be affected by future sql changes, since Druid's use of SQL is pretty straight forward, the current approach should be sufficient for now.
Also, for better performance I have updated the SQLServerConnector to reuse the sql rewriting patterns.

👍


"Output differs" for touch test case

This is not the behavior I'm seeing on my machine. @IvantheDugtrio did you make sure you're running on the latest version of ShellJS? touch() is a new feature in v0.6

Closing this, since @IvantheDugtrio resolved it


前景提取

作者您好。感谢的开源。我配置好了您的代码，运行了您的visual.sh，效果非常好。就是请问修改哪部分代码能实现前景提取呢？我需要剔除图像中的背景信息。

Hi, thanks for watching our work. You could access the predicted binary mask here here and the strategy is to multiply the image with these extracted masks.


[CPP] Fix/cpp small fixes

Only one little bit was breaking, the others are just removing warnings for unused and reorder.
@paulcam206 and @RebeccaAnne keep the awesome work, you have an avid reader here.

Simply reverted that commit. Please recheck @paulcam206 and thanks so much for the guidance.


Make bold text more bold

Honestly I'm not even sure if the bold font for content text is loaded yet..

Fixed by commit 53379bc8ea569b82bc1759cc2969aeb03456a736.


Remove PDB path from NuGet dll

SpicyTaco.AutoGrid.dll contins the PDB path z:\Projects\SpicyTaco.AutoGrid\src\AutoGrid\obj\Debug\SpicyTaco.AutoGrid.pdb I have Z: mapped as a network drive, sometimes unreacheable. The Visual Studio always hangs for a few seconds trying to look for the PDB path. Please, remove the path form DLL.
I am a newbiew to C# development, but I think the switch /pdbpath:none may help?
Also AFAIK you can ship PDB with NuGet, upload it to the symbolsource or use GitLink.

Wow. Thanks for letting me know. It's supposed to be using SymbolSource, but I apparently have something configured wrong. I'll look at it right now.

@xmedeko Which version are you using? If you are on 0.9.x then please give 1.0.9 a try. I switched from building and publishing by hand to using AppVeyor. If you are already on 1.0.9 then I'll take another look, but I'm not seeing anything wrong with what I have currently.

Yeah, I was on 0.9.1, upgrade to the 1.0.9 has fixed the probolem. Thanks.

Glad to hear it! I hope I get a chance to spend a little more time on AutoGrid soon. I'd love to implement that feature you suggested.


Update: amazon.com

https://www.amazon.com/Mamma-Mia-2-Movie-Collection-Blu-ray/dp/B07FDKZHT6?qu=eyJxc2MiOiIxLjc0IiwicXNhIjoiMi43OSIsInFzcCI6IjEuNDUifQ%3D%3D
https://www.amazon.com/Microsoft-Xbox-Wireless-Controller-Adapter-Windows/dp/B08K2C3HVG?pd_rd_i=B08K2C3HVG
https://www.amazon.com/ASUS-PG259QNR-Analyzer-DisplayPort-Mountable/dp/B08LCNJGMP?qu=eyJxc2MiOiIzLjk4IiwicXNhIjoiMi43OCIsInFzcCI6IjIuMjQifQ%3D%3D&s=electronics&ufe=app_do%3Aamzn1.fos.ac2169a1-b668-44b9-8bd0-5ec63b24bcb5
https://portal.aws.amazon.com/gp/aws/developer/registration/index.html?nc2=h_ct&src=header_signup
https://aws.amazon.com/marketplace/?nc2=h_ql_mp
https://docs.aws.amazon.com/pinpoint/latest/developerguide/welcome.html?nc2=h_ql_prod_ba_api
https://aws.amazon.com/privacy/?nc1=f_pr
https://aws.amazon.com/builders-library/?cards-body.sort-by=item.additionalFields.customSort&cards-body.sort-order=asc&sc_icampaign=aware_builders-library&sc_ichannel=ha&sc_icontent=awssm-6762_aware&sc_iplace=ed&trk=ha_awssm-6762_aware
https://aws.amazon.com/training/?sc_icampaign=aware_aws-training&sc_ichannel=ha&sc_icontent=awssm-1749-default-editorial-lower&sc_iplace=ed&trk=ha_awssm-1749-default-editorial-lower
https://aws.amazon.com/events/online-tech-talks/?nc2=h_ql_ev_ol&trk=el_a131L0000058PvNQAU&trkCampaign=WEBINARSERIES&sc_channel=el&sc_campaign=pac_2018-2019_exlinks_navbar_OTT_evergreen&sc_outcome=Product_Adoption_Campaigns&sc_geo=NAMER&sc_country=mult&events-master-ott.sort-by=item.additionalFields.startDateTime&events-master-ott.sort-order=asc

At a glance the bad params seem to be:

qu
pd_rd_i
ufe
nc1
nc2
trk
trkCampaign
sc_icontent
sc_icampaign
sc_ichannel
sc_iplace
sc_country
sc_outcome
sc_geo
sc_campaign
sc_channel

Testing is required before adding anything. I'm away from my computer so I'm unable to properly verify these params, anyone else is welcome to take a look if they want otherwise I'll handle this when I get the chance.

I would like to contribute but what to do exactly?

At the very least any new filters/rules must be tested to ensure they don't break the functionality of the website they're applied to


Add Max charge and discharge values for a component.

Components were missing rated charge and discharge values.
Rated bounds had been removed from ComponentData, as this is not changing,
and serves different use case than normal Bounds.

Adds ComponentRatedBound message to associate a charge & discharge range
to a specific Metric.
Adds rated bounds field to Component for charge & discharge
ranges for relevant metrics.

@thomas-nicolai-frequenz FYI, this PR extends the Component message to add rated bounds for component metrics. This is a non-breaking change though.


fix: disable logs when debug is false

:tada: This PR is included in version 4.13.1 :tada:
The release is available on:

GitHub release
npm package (@latest dist-tag)

Your semantic-release bot :package::rocket:


[ORE] Clarification needed about training procedure

Dear authors,
Thank you for opensourcing your work. I have quick questions about ORE application that needed clarification:

Have you used BOTH mavl and RPN pseudolables during training? Or default ORE pseudolabelling was turned off?
Did you use default training settings for the ORE model?

Thank you for the help in advance!

Hi @kinivi,

Default pseudo labeling was turned off.
Yes, we use the default training setting for ORE.

I hope it will help, do let me know if you have any questions. Thank You


404 at /compose/compo...%C3%A2%C2%80%C2%8B

I found a broken link : https://docs.docker.com/compose/compo...â
I arrived on this page through: https://www.youtube.com/

Thanks for sharing the broken link issue.
You can probably browse and find the topic you were looking for at https://docs.docker.com/compose/
In regards to the broken link, if the issue is still applicable, please report the broken link on the platform/page that you arrived through.


feat: add resources for Ethereum

Just added Ethereum's Whitepaper and some resources about Ethereum

I think it is ready right now. Thanks for the review.


Add emptyDir sizeLimit support

Purpose of this PR

Support the sizeLimit field for emptyDir volume types that are prefixed with spark-local-dir-...

Change Category
Indicate the type of change by marking the applicable boxes:

[ ] Bugfix (non-breaking change which fixes an issue)
[x] Feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that could affect existing functionality)
[ ] Documentation update

Rationale

If creating an emptyDir volume without a spark-local-dir-... prefix, the webhook will patch the appropriate volume onto the pod spec, but Spark will still create an emptyDir volume anyway https://github.com/apache/spark/blob/fd3f70c74ba63a0209a4a48a387048ef40380e0f/resource-managers/kubernetes/core/src/main/scala/org/apache/spark/deploy/k8s/features/LocalDirsFeatureStep.scala#L38-L40
However if using a spark-local-dir-..., which the operator doesn't consider in the webhook and instead supplies at submission time, the sizeLimit is not carried through to the resulting volume in K8s
It may be desirable to set a size limit if using an emptyDir volume e.g. if on an NVME node to prevent a node disk pressure condition

Checklist
Before submitting your PR, please review the following:

[x] I have conducted a self-review of my own code.
[ ] I have updated documentation accordingly.
[x] I have added tests that prove my changes are effective or that my feature works.
[x] Existing unit tests pass locally with my changes.

Additional Notes

@jacobsalway, thanks for the PR! It would be great if you could also update the documentation to reflect this new feature. Additionally, please address the failing pre-commit checks.

@vara-bonthu have bumped the app version and added a sizeLimit field to the volume example on the user guide. As an operator user I usually consult the that page and expected this to work by default given that it's supported in the SparkApplication CRD, so I think the example is good enough but happy to add additional docs if you prefer


Add dot product implementation using std::inner_product

Signed-off-by: Stefan Weil<EMAIL_ADDRESS>

Instead of a local implementation this code uses the dot product implementation of the standard C++ library. In the future std::transform_reduce (a parallelized computation) could also be used similarly (requires C++17 library).

thanks.


Feature/wdl4s update (#1377)

update wdl4s from 0.6 to 0.15

Bringing in the develop PR into hotfix

Closing because this fix isn't enough to get the dockstore CLI to launch --entry the HCA workflow


Usage of creds parameter is deprecated in msrest service client

The getting started provides the following code to establish a connection
# Create a connection to the org
credentials = BasicAuthentication('', personal_access_token)
connection = Connection(base_url=organization_url, creds=credentials)

However, while running this code, the following warning is raised:
c:\python37-32\lib\site-packages\msrest\service_client.py:260: DeprecationWarning: Creds parameter is deprecated. Set config.credentials instead.
    DeprecationWarning)

The example in Getting Started could be updated to provide the new way of setting the credentials.

Fixed in #198

Fixed in 5.0.0b4
https://github.com/Microsoft/azure-devops-python-api/releases/tag/5.0.0b4


Update weaveworks/mesh to v0.3

This release has a number of changes to defer updates by up to one second, to reduce the cpu usage of route recalculation and reduce network bandwith for topology updates.
The effect is it behaves much better on networks of over 100 nodes.

LGTM.
Tested on 200 node cluster. When scaling up the cluster to 200 nodes all weave-net pods connections gets established and fastdp is used. But on testing the worst-case scenarios of deleting all weave-net pod or delete and re-install the weave-net ds does not result in all the weave-net pod getting established fully. But that can be addressed seperatley.


Matplotlib backend in Mac can't be changed when using PySide

From<EMAIL_ADDRESS>on 2014-09-26T22:33:53Z
Spyder Version:  2.3.1
Python Version:  2.7.6
Qt Version    :  4.8.5, PySide 1.2.2 on Darwin
pyflakes >=0.5.0:  0.8.1 (OK)
pep8 >=0.6      :  None (NOK)
IPython >=0.13  :  2.2.0 (OK)
pygments >=1.6  :  1.6 (OK)
pandas >=0.13.1 :  0.14.1 (OK)
sphinx >=0.6.6  :  1.2.3 (OK)
psutil >=0.3    :  2.1.1 (OK)
rope >=0.9.2    :  0.10.2 (OK)
matplotlib >=1.0:  1.4.0 (OK)
sympy >=0.7.0   :  0.7.5 (OK)
pylint >=0.25   :  None (NOK)
What steps will reproduce the problem?

Install Spyder via pip, with Enthought Canopy Python
Go Preferences -> Console -> external modules
Select "PyQt4" for Qt-Python bindings library selection
Close the Preferences pane
Restart Spyder
Go Preferences -> Console -> external modules

What is the expected output? What do you see instead?
Expected output is "PyQt4" Qt-Python bindings library selection.  I see "PySide" instead.
Please provide any additional information below
. I have specified "Qt4Agg" for the matplotlib backend in Preferences -> Console -> external modules.    If I do step #6 and restart Spyder, then matplotlib.get_backend() gives "MacOSX".  Thus, I believe opening the preferences pane causes Spyder to switch from "PyQt4" to "PySide"
Original issue: http://code.google.com/p/spyderlib/issues/detail?id=1987

From<EMAIL_ADDRESS>on 2014-10-14T18:59:52Z
This seems like low hanging fruit to fix.  Can anyone reproduce the issue?

From ccordoba12 on 2014-11-18T15:32:36Z
Status: Accepted
Labels: MS-v2.3.3 OpSys-OSX Cat-Console

From ccordoba12 on 2015-01-08T15:14:59Z
Labels: -MS-v2.3.3 MS-v2.4

From ccordoba12 on 2015-02-08T18:43:21Z
Summary: Matplotlib backend in Mac can't be changed whe using PySide   (was: Qt-Python binding library selection gets reset when preference pane is opened)
Labels: -MS-v2.4 MS-v2.3.3

From ccordoba12 on 2015-02-08T21:30:09Z
This issue was closed by revision 764249a1443a .
Status: Fixed

From<EMAIL_ADDRESS>on 2015-02-08T20:23:42Z
Ok.  That makes sense.  I suppose it would be better if PyQt4 was grayed out if it is unavailable, but whatever.  To get PyQt4 from Enthought, I have to have the non-free version of Canopy.  I don't really feel like building it from source right now, so that means I am stuck with PySide.
The confusing part is, everything works fine if I always remember to select "PyQt4" for Qt-Python bindings library selection before I close the preference pane.  I can restart spyder repeatedly, and matplotlib.get_backend() returns 'Qt4Agg'.  If I forget to select "PyQt4" for the Qt-Python bindings library, then matplotlib.get_backend() returns 'MacOSX'.  So it seems like the backend can be changed when using PySide.

From ccordoba12 on 2015-02-08T19:21:23Z
About the Qt bindings: those are set automatically according to the ones found in your external interpreter.
Since Canopy doesn't come with PyQt4 but only with PySide, that's why even if you change them, they are set back to the only available option.
Summary: Matplotlib backend in Mac can't be changed when using PySide   (was: Matplotlib backend in Mac can't be changed whe using PySide)

From ccordoba12 on 2015-02-12T08:30:57Z
@-breedlun: Forcing the MacOS backend when using PySide was an ugly hack of mine, sorry for that... It'll be fixed on 2.3.3 :-)


add filtering with tags for "jetzt üben"

a compromise between a full blown solution and nothing at all

postponed


We should add a note about kam only supports OpenShift

Is your task related to a problem? Please describe.

We should add a note about kam only supports OpenShift.  Users should be informed that kam currently only works in OCP.
Describe the solution you'd like

We should add a note in the toplevel README.md.
Describe alternatives you've considered

N/A
Additional context

N/A

This feels like a duplicate of https://github.com/redhat-developer/kam/issues/18


Upgrade to CMC api v2

v1 will be deprecated on 2018-11-30, docs: https://coinmarketcap.com/api/

Fixed


Django 3.1 async views support

@Ivo-Donchev I am looking into this myself now and it is indeed quite a bit tricky.
Primarily because what we actually need to fix is _get_wrapped_method, as the context manager in there should exit until after the coroutine has finished.
I don't quite get how we could test this too, but I would like to start with this first now since there's going to be a lot of trial and error.
Does the above code work for you (ignoring py2), and how did you verify this?

@untitaker Yes, the code above work for me :+1:

how did you verify this?
My team is using the sentry_sdk in a production django project. I just forked the repo and installed it locally via pip install -e . inside the virtual environment. Then I created a simple async view like this:

async def my_async_view(request):
    from django.http import HttpResponse
    import asyncio

    for i in range(3):
        print(i)
        await asyncio.sleep(1)

    return HttpResponse('asd')

And then I opened 2 shells and ran with httpie - $ http GET http://localhost:8000/api/async-view/ and looked at the prints inside the for loop. If it's async, they look like this:

It's a trial and error indeed. But I think that case can hardly be caught in a single unit test :thinking: Unless we assert the "async capability" of the request at the end of the middleware change (..somehow.. :( ) . I'm not sure if I'll have enough time to finish this this week. But I'm open for discussion or chat so we fix the problem.
PS: It's now the last thing that stops us to use the async views in production. It's quite anoying that there's no easy way to "switch off" a certain middleware "per view" in django - that'd make it much more flexible :sweat_smile:

Just thinking out loud: Do you think it'd be a good idea to introduce Django3AsyncIntegration (or sth like that)?

Do you think it'd be a good idea to introduce Django3AsyncIntegration (or sth like that)?

I think middleware instrumentation is supposed to not care about sync/async at all. I wonder if I can abstract the method wrapping away in utils.

I think middleware instrumentation is supposed to not care about sync/async at all. I wonder if I can abstract the method wrapping away in utils.

I agree. But since sentry_sdk is patching the code in the middle of the http handler (which is taking care of the middlewares depending of asgi/wsgi functionality), I can't see how can this be done easily :/

@untitaker About this one. Will you have time to look at it any time soon ?
Or I will try dig into it again when I have some free time

I hope to get to it next week

okay :slightly_smiling_face:

just tried this PR on a project of mine using an async view, and it seems to work properly :)

just tried this PR on a project of mine using an async view, and it seems to work properly :)


[1.13] Drop labels from kv_message_queue_overflows_total metric

Updates to this metrics which occur only under heavy load, lead to crashes of lashup_kv thus rendering it unable to shed load.
JIRA issue: DCOS_OSS-5634

Codecov Report

Merging #57 into 1.13.x will increase coverage by 1.1%.
The diff coverage is n/a.

@@            Coverage Diff            @@
##           1.13.x      #57     +/-   ##
=========================================
+ Coverage   80.47%   81.58%   +1.1%
=========================================
  Files          30       30
  Lines        1716     1716
=========================================
+ Hits         1381     1400     +19
+ Misses        335      316     -19

Impacted Files
Coverage Δ

src/lashup_kv.erl
79.06% <ø> (+0.93%)
:arrow_up:

src/lashup_hyparview_ping_handler.erl
78.26% <0%> (-7.25%)
:arrow_down:

src/lashup_kv_sync_tx_fsm.erl
90.76% <0%> (-1.54%)
:arrow_down:

src/lashup_kv_aae_mgr.erl
83.33% <0%> (+2.38%)
:arrow_up:

src/lashup_gm_fanout.erl
89.65% <0%> (+3.44%)
:arrow_up:

src/lashup_hyparview_membership.erl
85.9% <0%> (+4.62%)
: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 cd78d86...a49eae0. Read the comment docs.


Test absence of "The Python extension will have limited support for 2.7" notification

Refs: https://github.com/microsoft/vscode-python/issues/17451

[ ] macOS
[ ] linux
[ ] windows

Complexity: 2

Context: We need to test that the notification introduced in #17009 doesn't appear anymore.
Requirements

You will need two versions of python for this, Python 3 (doesn't matter which one), and Python 2.7. Options are:

You can install them both from python.org
On Mac/Linux, you can install one version of python using your local package manager, and use pyenv to install the other one
You can also go for a full pyenv solution on Mac/Linux or pyenv-win on windows and call pyenv install 3.9.4 2.7.18 to get the two versions.

Install virtualenv with python 2.7: path/to/python2 -m pip install virtualenv
Make sure you have "python.experiments.optInto": ["All"], in your user settings. If not, add it and reload VS Code.
Make sure python.defaultInterpreterPath entry in your user and workspace settings are at their default value python
Use the latests Insiders build of the Python extension (set python.insidersChannel to daily, wait for the download and installation to happen and reload VS Code)

Scenario 1: Python 2.7 on load

Create a folder with a Python file
In this folder, create a virtual environment with python 2.7: path/to/python2 -m virtualenv .venv
Open the folder in VS Code
Make sure that the extension loads, and that the virtual environment gets auto-selected
Make sure that the following notification does NOT appear:

Scenario 2: Python 3 on load -> Python 2

Create a folder with a Python file
In this folder, create a virtual environment with python 3: path/to/python3 -m venv .venv
Open the folder in VS Code
Make sure that the extension loads, and that the virtual environment gets auto-selected
Make sure that the notification above does NOT appear
Click on the environment in the status bar, and then select a 2.7 interpreter in the quickpick that appears (search for 2.7)
Make sure that the notification does NOT appear

Hi! I'm not sure if that issues is meant for external contributors as well, but if it's not, please kindly ignore this comment. 😃
I've tested both scenarios on Windows 10 per the provided instructions and the notification DIDN'T appear, so that seems to work correctly in my case. I only noticed two behaviors that are probably intended, but it won't hurt to mention them just in case.

The correct interpreter got auto-selected only if I manually opened the folder via the VSCode's toolbar (File -> Open folder...) or the associated shortcut. Opening the folder with code . in the root directory stuck to my system's default, global interpreter regardless of the venvs.
I've had a different notification when using Python 2 or switching from Python 3 to 2, but it's probably unrelated to this issue.

Environment data:

VS Code version: 1.60.1
Extension version: v2021.10.1255769080-dev
OS and version: Windows 10 64-bit 10.0.19043 Build 19043

Hi @ziebam, thank you for reaching out!
This is primarily not meant for external contributors, but instead for the VS Code team to verify issues as a final pass before release (wiki). Glad to hear it works for you nonetheless 🙂
As for the 2 points you raised:

The extension won't activate unless there's a Python file open in the editor, so if running code . did not open any Python files when the folder was opened, that's expected. If not, please file a separate issue so we can investigate it, as it is not related to this one.
That is expected behavior, we are introducing a different notification as part of #17225, which will be tested in a separate test plan.

Both scenarios looked good and didn't show a notification.

LGTM. My system install for Python 2 couldn't get virtualenv for some reason, but pyenv-win got things working.


Run video encoding in background

I use PHP-FFmpeg for online video encoding, and it's very useful...But I need to allow users to do other things during video encoding.
In other words, the php script must proceed after call of PHP-FFmpeg's save function, like the "ffmpeg" command has "&" option.
Can PHP-FFmpeg do this ?
Thanks, and sorry for my bad english.

So my understanding is that this would significantly decrease CPU usage when running FFMpeg in the background (Dean's answer): http://stackoverflow.com/questions/2946479/lower-cpu-used-by-ffmpeg-process-via-php-flv-video-conversion