[Bug]: autogen.agentchat.register_function adds to all Agents instead of single

Describe the bug
autogen.agentchat.register_function( X
There is an critical issue as above functions seems to add tools to all Agents, where I would expect it to add only to specified agent. See in logs: "WRONG WRITER tools:..."
Steps to reproduce
from autogen import AssistantAgent, UserProxyAgent, ConversableAgent, config_list_from_json
import autogen
from pprint import pprint

config_list = config_list_from_json(env_or_file="OAI_CONFIG_LIST")
gpt4_config = {
    "cache_seed": 42,  # change the cache_seed for different trials
    "temperature": 0,
    "config_list": config_list,
    "timeout": 120,
}

picker = autogen.AssistantAgent(
    name="PICKER",
    system_message="""PICKER. Suggest the most fitting workflow to fullfil the user task.""",
    llm_config=gpt4_config,
)

writer = autogen.AssistantAgent(
    name="WRITER",
    system_message="""You are a an text writer
""",
    llm_config=gpt4_config,
)

def hello_world():
    return "Hello, World!"

autogen.agentchat.register_function(
    hello_world,
    caller=picker,
    executor=picker,
    name="hello_world",
    description="run a shell script and return the execution result.",
)

print("PICKER tools:")
pprint(picker.llm_config["tools"]) # Correct

print("")
print("WRONG WRITER tools:")
pprint(writer.llm_config["tools"]) # Wrongly Added the hello_world function to the writer tools

Model Used
No response
Expected Behavior
Add only to picker agent
Screenshots and logs
The return type of the function 'hello_world' is not annotated. Although annotating it is optional, the function should return either a string, a subclass of 'pydantic.BaseModel'.
PICKER tools:
[{'function': {'description': 'run a shell script and return the execution '
'result.',
'name': 'hello_world',
'parameters': {'properties': {},
'required': [],
'type': 'object'}},
'type': 'function'}]
WRONG WRITER tools:
[{'function': {'description': 'run a shell script and return the execution '
'result.',
'name': 'hello_world',
'parameters': {'properties': {},
'required': [],
'type': 'object'}},
'type': 'function'}]
Additional Information
No response

Ok, it seems I found the reason for this behavior, but I don't think this is intended. The issue is that gpt4_config dictionary is used and updated across all agents, meaning that whatever I change inside in one agent, like adding a function. Will be also added to the other agent with the same config dictionary.
I think for most users this behavior will be not clear.. To fix or as proof, I created a gpt4_config_2, and all started to work as expected..
Here fixed code
from autogen import AssistantAgent, UserProxyAgent, ConversableAgent, config_list_from_json, function_utils
import autogen
from pprint import pprint
config_list = config_list_from_json(env_or_file="OAI_CONFIG_LIST")
gpt4_config = {
"cache_seed": 42,  # change the cache_seed for different trials
"temperature": 0,
"config_list": config_list,
"timeout": 120,
}
gpt4_config_2 = {
"cache_seed": 42,  # change the cache_seed for different trials
"temperature": 0,
"config_list": config_list,
"timeout": 120,
}
picker = autogen.AssistantAgent(
name="PICKER",
system_message="""PICKER. Suggest the most fitting workflow to fullfil the user task.""",
llm_config=gpt4_config,
)
writer = autogen.AssistantAgent(
name="WRITER",
system_message="""You are a an text writer
""",
llm_config=gpt4_config_2,
)
def hello_world():
return "Hello, World!"
test = function_utils.get_function_schema(hello_world, name= "my text", description= "my description")
print(test)
autogen.agentchat.conversable_agent.register_function(
hello_world,
caller=picker,
executor=picker,
name="hello_world",
description="run a shell script and return the execution result.",
)
writer.register_for_llm(hello_world, name="hello_world", description="run a shell script and return the execution result.")
print("PICKER tools:")
pprint(picker.llm_config["tools"]) # Correct
print("")
print("WRONG WRITER tools:")
pprint(writer.llm_config["tools"]) # Wrongly Added the hello_world function to the writer tools

You might have seen some incorrect examples that use a shared llm_config across multiple agents. llm_config should not be shared -- it has caused a lot of issues.
I have created an issue: https://github.com/microsoft/autogen/issues/2251. Would you like to take a stab at this?

Yes, but overall it's not clear. I mean this is very confusing.
If this is by design, maybe there is a way to warn users during usage of groupchat that llm_config is shared between agents.  Like storing some Agent Id in config.

If this is by design, maybe there is a way to warn users during usage of groupchat that llm_config is shared between agents. Like storing some Agent Id in config.

It is not by design. Agents should have their own llm_config even in a group chat.
We are cleaning up the notebooks for incorrect usages to avoid misleading users.
Also perhaps doing a deep-copy of the llm_config in constructor may be a good idea.

Also perhaps doing a deep-copy of the llm_config in constructor may be a good idea.

Agree completely. Opened a PR with this fix


Correct input_datetime initial value parsing

Description:
Fixes an issue with both initial value and state restore for input_datetime where if a time or date was used setting values neither way worked. datetime values were working fine.
Tests were adjusted accordingly
Related issue (if applicable): fixes #10245
Pull request in home-assistant.github.io with documentation (if applicable): N/A, bugfix only
Example entry for configuration.yaml (if applicable):
N/A Bugfix only
Checklist:
If the code does not interact with devices:

[X] Local tests with tox run successfully. Your PR cannot be merged unless tests pass
[X] Tests have been added to verify that the new code works.

Good catch. :slightly_smiling_face:

This is true @tinloaf
Would you suggest something like this?
vol.Optional(CONF_INITIAL): vol.Any(cv.time, cv.date, cv.datetime)

Haven't used voluptuous before, but this would seem to make sense looking at other examples I think.
Problem is, to be fully valid there would have to be a validation function to compare which combination(s) of has_date and has_time have been set.

I think to do this properly, one would need to check that either of the following three is true:

has_date is False, has_time is True, and the initial value is (optionally) a time
has_date is True, has_time is False, and the initial value is (optionally) a date
has_date is True, has_time is True, and the initial value is (optionally) a datetime

This should be achievable by building a validation for each of them along the lines of
{
  'has_time': False,
  'has_date': True,
  vol.Optional('initial'): cv.date
}

and combining them with vol.Any().  The resulting validation can then be used as cv.has_at_least_one_key_value is used currently (and which is superfluous then).

Thanks again @tinloaf
My first time doing this and I managed to get the below to work but I needed to duplicate the name and icon. Any suggestions on making that part better? Maybe I need to create an initial base and then .extend instead?
Sorry, my first time with voluptuous so figuring myself out here as well.
CONFIG_SCHEMA = vol.Schema({
    DOMAIN: vol.Schema({
        cv.slug: vol.Any(
            vol.Schema({
                vol.Optional(CONF_NAME): cv.string,
                vol.Optional(CONF_ICON): cv.icon,
                CONF_HAS_DATE: True,
                vol.Optional(CONF_HAS_TIME, default=False): False,
                vol.Optional(CONF_INITIAL): cv.date
            }), vol.Schema({
                vol.Optional(CONF_NAME): cv.string,
                vol.Optional(CONF_ICON): cv.icon,
                vol.Optional(CONF_HAS_DATE, default=False): False,
                CONF_HAS_TIME: True,
                vol.Optional(CONF_INITIAL): cv.time
            }), vol.Schema({
                vol.Optional(CONF_NAME): cv.string,
                vol.Optional(CONF_ICON): cv.icon,
                CONF_HAS_DATE: True,
                CONF_HAS_TIME: True,
                vol.Optional(CONF_INITIAL): cv.datetime
            })
        )
    })
}, extra=vol.ALLOW_EXTRA)

OK, this seems to work. Does it make sense?
If this is all OK then I will also similarly adjust SERVICE_SET_DATETIME_SCHEMA
CONFIG_SCHEMA = vol.Schema({
    DOMAIN: vol.Schema({
        cv.slug: vol.All(
            vol.Schema({
                vol.Optional(CONF_NAME): cv.string,
                vol.Optional(CONF_ICON): cv.icon
            }, extra=vol.ALLOW_EXTRA),
            vol.Any(
                vol.Schema({
                    CONF_HAS_DATE: True,
                    vol.Optional(CONF_HAS_TIME, default=False): False,
                    vol.Optional(CONF_INITIAL): cv.date
                }), vol.Schema({
                    vol.Optional(CONF_HAS_DATE, default=False): False,
                    CONF_HAS_TIME: True,
                    vol.Optional(CONF_INITIAL): cv.time
                }), vol.Schema({
                    CONF_HAS_DATE: True,
                    CONF_HAS_TIME: True,
                    vol.Optional(CONF_INITIAL): cv.datetime
                })
            )
        )
    })
}, extra=vol.ALLOW_EXTRA)

Would still like to get the schema in a better form even though the commit as it stands is functional. Happy to create another pull request @tinloaf if you could advise on if you'd be happy with the schema?


wireguard: add generatePrivateKeyFile option + test

Ideally, private keys never leave the host they're generated on - like
SSH. Setting generatePrivateKeyFile to true causes the PK to be
generate automatically.

Motivation for this change
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Assured whether relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

@GrahamcOfBorg test wireguard
@GrahamcOfBorg test wireguard-generated

Plus some nice assertion improvements based on feedback from @infinisil!

Seems this PR is good then, @Ma27 ?

@grahamc thanks!

Thank you!

So basically, the .path unit in this case is a NO-OP.

@arianvp It also makes it impossible to stop the service, see #123203.


 I can drag the interactable views vertically, but when I try to scroll horiztonally, the interactable view blocks it from scrolling.. Is there any solution to this?

Similar problem here. Do someone has achieved having Interactable.View (horizontal) inside a ScrollView (vertical) ?

This is happening with Android too.

I'm on Android 6, RN 0.47.1:
I had this problem. I solved it by using an <Interactable.View> instead of a <ScrollView> but it invovled me handling layout and state. It also doesn't give the nice effects <ScrollView> gives you on boundaries and its methods/props. <Interacable.View> without boundaries sometimes exceeds the boundary then jumps back in a split second, which <ScrollView> does not do. It would be nice if this was solved.

Try this hack, maybe helpful:
TouchableWithoutFeedback will prioritize scrollView touch events than Interactable.View
<ScrollView>
       <TouchableWithoutFeedback>
                <View>{this.props.children}</View>
      </TouchableWithoutFeedback>
</ScrollView>

I'm experiencing this on Android with the latest version. Has anyone found a solution?

any update?


Add generic way to toggle data.all features

Feature or Bugfix

Feature

Detail

Ability to turn disable features via a single configuration
Define feature boundaries for

AWS token/console actions on both dataset & env
File uploads/actions

Relates

#473

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@blitzmohit, I haven't know that you have no access to merge.
The PR looks good for me!

Thanks @nikpodsh for your guidance on getting this merged.


Changelog seem not to be up-to-date

Release 0.9.4 is out already but the latest released version in CHANGELOG.md is 0.9.3

@JoseD92 maybe you would be able to update that doc to sync?

I've added a small update to the changelog to add a version 0.9.6 but we still have a good amount of changes that are still in the unreleased section of the changelog that we should sort out.
It would be good to figure out which of those belong in which release and add entries for 0.9.4 and 0.9.5 as well since those seem to have been skipped when those versions were released.

1d4949ba2c207d0fd209c29b5d009ef9a349e1fe seems to be a fix for this one


I probably shouldnt be opening an issue, but Id just comment as this template looks pog

Thank you :)
But yeah don't open an issue for something like this next time lol


Multiple 'File not found' errors when I reopen VS Code

Repro Steps:

Open several blobs from the explorer
Do NOT close the tabs
Close VS Code
Reopen VS Code

Expected: No errors
Actual:

@EricJizbaMSFT I can't repro on 0.7.2, are you still able to?

No I can't repro


Lantern shiny

Pull requests into this repository require the following checks to be completed by the submitter and reviewers.
Submitter:

[x] Administrative tasks are complete.

This pull request describes why these changes were made.
The JIRA ticket links to this PR.
The JIRA ticket for this PR is: https://oncprojectracking.healthit.gov/support/browse/LANTERN-163

[ ] Tests are complete.

Tests are included and test edge cases.
Tests have been run locally and pass.

[x] Code review has been performed.

Code diff has been done and checked to ensure only expected code is being committed.
A linter for the language has been run.

Primary Reviewer:

[ ] Code works.

Code has been run locally and the basic functionality affected by the PR has been checked.
Edge cases have been checked to ensure behavior is as expected.

[ ] Code review has been performed.

Code is maintainable, reusable, efficient, and correct.
Code accomplishes the tasks purpose.
Code follows style guidance appropriate for the language, including passing linter checks.
Code is well commented (which does not mean verbosely commented).

[ ] Tests are complete.

Tests are included and test edge cases.
Tests have been run locally and pass.

Secondary Reviewer:

[ ] Code works.

Code has been run locally and the basic functionality affected by the PR has been checked.
Edge cases have been checked to ensure behavior is as expected.

[ ] Code review has been performed.

Code accomplishes the tasks purpose.

[ ] Tests are complete.

Tests have been run locally and pass.

Merger:
Prior to merging, ensure that all checks have been completed. Delete the branch after the merge
is complete.
Create a new branch <branch name>_gomodupdate. Run make update_mods to update the go.mod
and go.sum files to point to master. Create a PR. Require one sanity check reviewer.

is there a way to make the landing page (localhost:3838) be the lantern page?
at minimum, recommend adding a comment to the PR saying you need to navigate to localhost:3838/lantern to access.

On the dashboard, when I click on "Mean Response Time," I'm only seeing an error message: An error has occurred. Check your logs or contact the app author for clarification. Is this not implemented yet or is there something I'm possibly missing?

On the dashboard, when I click on "Mean Response Time," I'm only seeing an error message: An error has occurred. Check your logs or contact the app author for clarification. Is this not implemented yet or is there something I'm possibly missing?


jwt not working on aws

Please consider providing enough details to reproduce the bug if any.
Closing here as we can't do anything with the information provided.


[Menubar] Open Content on Hover instead of On-Click

Question
Hello everyone,
I'm currently building a "topbar" menu using the Menubar component.
Behavior
I have all the menu items and I need to click in one of them to open the content box for the first time and then on the other interactions they all can be opened by hovering.
Expected Behavior
I have all the menu items and they don't need to be clicked to open on the first time, all of them can be opened direclty through a hover action
Is there any way of doing this? By default having the menubar to be opened hovering instead of clicking?
Appreciate any sort of help,
Thank you :)

@mbaldas What did you end up using as a solution for this?


AUTO-152: Add Matching Service Health metrics to Prometheus metrics

Currently, Sensu hits SAML SOAP Proxy application's /saml-soap-proxy/matching-service-health-check endpoint every 60 seconds which causes it to make a health-check SOAP request to each MSA and then aggregates all of responses from MSAs together into a single yes/no response to the Sensu check. If the Sensu check comes back as "yes", sensu fires a notification to PagerDuty.
This commits adds Matching Service Health Check Service to check MSAs concurrently and provides two metrics to prometheus metrics. The first metric verify_saml_soap_proxy_msa_health_status returns a list of MSA health statuses (healthy and unhealthy). For example,
verify_saml_soap_proxy_msa_health_status{matchingService="http://localhost:63846/attribute-query-request",} 1.0
verify_saml_soap_proxy_msa_health_status_last_updated{matchingService="http://localhost:63846/attribute-query-request",} 1.549057838452E12
The second metric returns a list of matching services' information provided that they are healthy updated. For example,
verify_saml_soap_proxy_msa_info{matchingService="http://localhost:63845/attribute-query-request",versionNumber="592",versionSupported="true",eidasEnabled="true",shouldSignWithSha1="false",onboarding="false",} 1.0
verify_saml_soap_proxy_msa_info_last_updated{matchingService="http://localhost:63845/attribute-query-request",versionNumber="592",versionSupported="true",eidasEnabled="true",shouldSignWithSha1="false",onboarding="false",} 1.549057838452E12
These metrics are updated every 60 seconds.
It has an integration test which tests Matching Service Health Check Service to send health requests to the following 4 matching services, get responses from them and create Matching Service health metrics.

Healthy MSA (supported version)
Healthy MSA (unsupported version)
Unresponsive MSA
Slow response MSA

Author: @adityapahuja

Dimissing approval, as tests seem to fail under Java 11 (realised default on my machine was Java 8).

Ignore, not your change causing it to fail.


Edge not execute scripts if there are many module scripts

If there are many module scripts <script type="module"> in the web page, Edge will load these scripts but not execute them.
Edge version

Edge 44.17763.1.0
EdgeHTML 18.17763

Minimal reproducible example
https://gist.github.com/5fe16e41e153c2c41575c88ee1bea778.git
Steps
open the page and devtools, check the console output.
Expected behavior
screenshot from Chrome:

Actual behavior
screenshot from Edge:

My page impacted by this issue: https://magic-akari.github.io/lrc-maker

I’ve tested CC with many more modules than this; looking at the example this is probably a circular imports problem and a duplicate of #5236

Thanks @rhuanjl for looking. Closing this and upping the severity of the existing bug.


Adding Private Endpoints (formerly Interface Endpoints)

Reviewers Please Note
I'm creating this PR for ARM reviewers to have extra clarity on the changes to the resources.
Please do not review this PR - it can't be checked in until the network-march-release branch is ready.
Contribution checklist:

[ ] I have reviewed the documentation for the workflow.
[ ] Validation tools were run on swagger spec(s) and have all been fixed in this PR.
[ ] The OpenAPI Hub was used for checking validation status and next steps.

ARM API Review Checklist

[ ] Service team MUST add the "WaitForARMFeedback" label if the management plane API changes fall into one of the below categories.
adding/removing APIs.
adding/removing properties.
adding/removing API-version.
adding a new service in Azure.

Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs.

[ ] If you are blocked on ARM review and want to get the PR merged urgently, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.
Please follow the link to find more details on API review process.

Can one of the admins verify this patch?

Automation for azure-sdk-for-js

Automation for azure-sdk-for-ruby

Automation for azure-sdk-for-python

Automation for azure-sdk-for-go

Automation for azure-sdk-for-node

Automation for azure-sdk-for-java

closed due to milestone was missed. please retarget to newer branch when it's ready


windows10 系统插入国旗不能正常显示，只有字母

thats not an issue of obsidian-emoji-toolbar
windows had changed the national flag emoji because it can cause local conflict
https://www.emojiall.com/ko/blog/321


WorkManager SQL exception disk I/O error

Hi i have multiple background task using workmanager, from time to time, i get the following exception and have no clue where to locate the problem, hopeful someone can give me a hint.
  2018-12-02 18:00:40.578 25411-25411/com.myfirstapp.tracking D/Tracking.Periodic.WorkManagerHelperFunctions: Workstatus list size for locationUpdateTaskTag is 11
  2018-12-02 18:00:40.578 25411-25411/com.myfirstapp.tracking W/Tracking.Periodic.WorkManagerHelperFunctions: There is already total 1 jobs (running or enqueued) scheduled for locationUpdateTaskTag
  2018-12-02 18:00:40.584 25411-25411/com.myfirstapp.tracking D/Tracking.Periodic.WorkManagerHelperFunctions: Workstatus list size for locationUpdateTaskTag is 11
  2018-12-02 18:00:40.584 25411-25411/com.myfirstapp.tracking W/Tracking.Periodic.WorkManagerHelperFunctions: There is already total 1 jobs (running or enqueued) scheduled for locationUpdateTaskTag
  2018-12-02 18:00:40.588 25411-25531/com.myfirstapp.tracking E/SQLiteLog: (522) statement aborts at 7: [SELECT DISTINCT tag FROM worktag WHERE work_spec_id=?] disk I/O error
  2018-12-02 18:00:40.588 25411-25531/com.myfirstapp.tracking E/SQLiteQuery: exception: disk I/O error (code 522 SQLITE_IOERR_SHORT_READ); query: SELECT DISTINCT tag FROM worktag WHERE work_spec_id=?

      --------- beginning of crash
  2018-12-02 18:00:40.589 25411-25531/com.myfirstapp.tracking E/AndroidRuntime: FATAL EXCEPTION: pool-6-thread-1
      Process: com.myfirstapp.tracking, PID: 25411
      android.database.sqlite.SQLiteDiskIOException: disk I/O error (code 522 SQLITE_IOERR_SHORT_READ)
          at android.database.sqlite.SQLiteConnection.nativeExecuteForCursorWindow(Native Method)
          at android.database.sqlite.SQLiteConnection.executeForCursorWindow(SQLiteConnection.java:859)
          at android.database.sqlite.SQLiteSession.executeForCursorWindow(SQLiteSession.java:836)
          at android.database.sqlite.SQLiteQuery.fillWindow(SQLiteQuery.java:62)
          at android.database.sqlite.SQLiteCursor.fillWindow(SQLiteCursor.java:149)
          at android.database.sqlite.SQLiteCursor.getCount(SQLiteCursor.java:137)
          at androidx.work.impl.model.WorkTagDao_Impl.getTagsForWorkSpecId(WorkTagDao_Impl.java:92)
          at androidx.work.impl.WorkerWrapper.run(WorkerWrapper.java:115)
          at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
          at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
          at java.lang.Thread.run(Thread.java:764)

Thanks for reporting this.
I'm closing this issue because this forum is for issues with the codelab.
If you think that this is a problem of the WorkManager library, please open a bug on the WorkManager public issue tracker: https://issuetracker.google.com/issues/new?component=409906&template=1094197
Please reopen if you still think this is an issue with the codelab.


End or destroy socket on timeout

When a request times out, the callback is called with an appropriate error (https://github.com/mikedeboer/node-github/blob/bae796eba78ab1500ceeec22ca084c8572da0724/index.js#L812-L816).
However, the socket remains open:

The user must manually end() or destroy() the socket
https://nodejs.org/api/net.html#net_socket_settimeout_timeout_callback

In a test I ran the socket eventually hung up after 2 minutes (you see the debug error message in the console if you wait). We should probably free up the socket as soon as possible. I vote we add req.abort() to that timeout callback, which should safely destroy the socket immediately.
Test code:
var GitHubApi = require('github')

var server = require('http').createServer(() => {
  // Just...hang
})

var port = 3000

server.listen(port, () => {
  console.log(server.address())

  var github = new GitHubApi({
    version: '3.0.0',
    debug: true,
    protocol: 'http',
    host: 'localhost',
    port: port,
    pathPrefix: '/api/v3',
    timeout: 2000
  })

  github.user.getFollowingFromUser({user: "foo"}, console.log)
})

Same issue on my side with similar tests.


added garden planner website

solved #1428

[x] YES
[ ] NO

📝 Description
The Garden Planner website is an interactive tool designed for users to create and visualize their ideal garden layout. Users can drag and drop various plants into a grid to plan their garden space while tracking the total cost based on the selected plants. The site allows for saving and loading garden layouts, making it easy to manage and modify designs over time. With a user-friendly interface and responsive design, it aims to enhance the gardening experience for both beginners and enthusiasts.
🔧 Fixes #1428

🏷 Initiative Participation (Required)
This pull request is associated with the following initiative. Please choose the one you are contributing to:

[ ] 🌸 GSSoC (Girl Script Summer of Code)
[x] 🌼 GSSoC 2024 Extd.
[x] 🍂 Hacktoberfest 2024
[ ] ❄ Script Winter of Code (SWoC)
[ ] ⛄ Winter of Blockchain (WoB)
[ ] 🙋♂ Personal
[ ] 📌 Other (please specify): _______________

@Kushal997-das please review and merge it

https://www.loom.com/share/63af9ee04cfd4383b7dca9b3f8273348?sid=97c8d627-2348-4e72-bcdb-15a6300a26af
working video

@Kushal997-das i have fixed all changes - when you will click on save a json file will be downloaded and if you want to load the same layout just select the respective json file, and the download as image is also working properly. please review and merge it

@Kushal997-das thank you for merging but please add level label too


SSH hostkeys other than sk-* are rejected

System Information
Linux distribution
Client: Gentoo
Server: RHEL 7.7
Terraform version
[sspreitzer@voyager k8s]$ terraform -v
Terraform v1.0.0
on linux_amd64
+ provider registry.terraform.io/dmacvicar/libvirt v0.6.12
+ provider registry.terraform.io/hashicorp/null v3.1.0

Your version of Terraform is out of date! The latest version
is 1.1.2. You can update by downloading from https://www.terraform.io/downloads.html

Description of Issue/Question
When running terraform plan on the client, the client produces:
[sspreitzer@voyager k8s]$ terraform plan
╷
│ Error: failed to dial libvirt: failed to connect to libvirt on the remote host: ssh: rejected: administratively prohibited (open failed)
│
│   with provider["registry.terraform.io/dmacvicar/libvirt"],
│   on libvirt-provider.tf line 11, in provider "libvirt":
│   11: provider "libvirt" {
│
╵

The provider config is:
provider "libvirt" {
    uri = "qemu+ssh://root@<IP_ADDRESS>/system?keyfile=/home/sspreitzer/.ssh/id_rsa&sshauth=privkey"
}

The server log is reporting:
Dez 20 15:44:48 vm2.zh.spreitzer.ch sshd[15463]: Unable to negotiate with <IP_ADDRESS> port 34390: no matching host key type found. Their offer<EMAIL_ADDRESS>[preauth]
Dez 20 15:44:48 vm2.zh.spreitzer.ch sshd[15461]: Unable to negotiate with <IP_ADDRESS> port 34392: no matching host key type found. Their offer<EMAIL_ADDRESS>[preauth]

SSH version installed is the latest ssh version available for RHEL 7 (7.9):
[root@vm2 ~]# rpm -qa|grep -i openssh-server
openssh-server-7.4p1-22.el7_9.x86_64

Conclusion is, that the builtin ssh client of the plugin is not supporting the servers rsa,dsa,ecdsa and ed25519 hostkeys.
The ssh server version is not capable of producing and using sk-* hostkeys.
Suggestion is to make the hostkey type acceptance configurable or compatible to rsa, dsa, ecdsa and ed25519. Otherwise many server systems will be excluded from being usable.

Notably: https://pkg.go.dev/golang.org/x/crypto/ssh#ClientConfig.HostKeyAlgorithms

ping @dmacvicar

I do not not understand how, but this problem does no longer exist.
The server side permission problem however was solved by using a non-root user who is part of the libvirt group to access the libvirt socket on the server. Apparently some OpenSSH servers are compiled with the restriction, that root may never be able to forward ports/sockets.
Creating a user virt, being part of group libvirt solved the problem.
The ssh key was copied to the virt user on the target server.
/etc/libvirt/libvirtd.conf on the server (needs restart of libvirt daemon):
# This is restricted to 'root' by default.
unix_sock_group = "libvirt"

Effects:
[sspreitzer@voyager k8s]$ ssh<EMAIL_ADDRESS>Last login: Sun Jan  2 13:53:33 2022 from <IP_ADDRESS>
[virt@vm2 ~]$ id
uid=1000(virt) gid=1000(virt) groups=1000(virt),992(libvirt) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[virt@vm2 ~]$ ls -al /var/run/libvirt/libvirt-sock
srwxrwx---. 1 root libvirt 0  8. Jul 08:12 /var/run/libvirt/libvirt-sock

The provider config:
provider "libvirt" {
    uri =<EMAIL_ADDRESS>}

Perhaps we should document this.


Rename Getting Started to Installing Kubeflow

As per public meeting between release leads - adding this PR.
@thesuperzapper @Bobgy @castrojo @shannonbradshaw @yanniszark

/lgtm

/lgtm

/lgtm


Remove unused git client dependency

Since GitConfigurationRepository was removed in #78 the org.eclipse.egit.github.core dependency is also not needed anymore.

Thanks a lot for your contribution :bouquet:

:+1:


Rotation

fixes #52 and #53

@ansmor I am going to merge this so we can continue to make improvements


Please rename the regular method

Using the name "Double" is confusing e.g. static double Double(double input) has three "doubles" in a row.

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

ID: c9eba9bb-8296-b41c-f8f3-4cebe488722e
Version Independent ID: 95b1655b-a782-02b1-ca0c-14f1b95bf5a5
Content: delegate - C# Reference
Content Source: docs/csharp/language-reference/keywords/delegate.md
Product: dotnet-csharp
GitHub Login: @BillWagner
Microsoft Alias: wiwagn

Fixed in dotnet/samples#584

closing because it was fixed as noted above.


Charset utf8 not working

Value in databse is Hiáº¿u NgÃ´ Trung. I use option charset : utf8 when create connection but result return same value in database.
var mysql      = require('mysql');
var connection = mysql.createConnection({
    host     : 'localhost',
    user     : 'name',
    password : 'password',
    database : 'db',
    port     : '3360',
    charset  : 'utf8'
});

connection.connect();

connection.query('SELECT * FROM `user_comment` WHERE `id` = "27"', function (error, results, fields) {
    if (error) throw error;
    console.log(results);
});

connection.end();

Hi @hieuandree I'm not sure I understand your question. It sounds like you're saying that you're already getting the same value back that is in the database, so I'm not sure what you're expecting, exactly.
Can you show the create table statement for the table you're using?

CREATE TABLE user_comment(  idint(10) NOT NULL AUTO_INCREMENT,  uniqidvarchar(100) DEFAULT NULL,  id_vidint(10) DEFAULT NULL,  emailvarchar(100) DEFAULT NULL,  mobilevarchar(100) DEFAULT NULL,  tokenvarchar(255) DEFAULT NULL,  fullnamevarchar(100) DEFAULT NULL,  avatarvarchar(255) DEFAULT NULL,  extendvarchar(100) DEFAULT NULL,  createddatetime DEFAULT NULL,  updated datetime DEFAULT NULL,   PRIMARY KEY (id) ) ENGINE=InnoDB  DEFAULT CHARSET=utf8;
I use php insert fullname with value "Hiếu Ngô Trung", and i see value in DB is "Hiáº¿u NgÃ´ Trung".
I use nodejs mysql with setting charset utf8 in connection but result fullname return is "Hiáº¿u NgÃ´ Trung". I expect result is "Hiếu Ngô Trung"

If you see it as Hiáº¿u NgÃ´ Trung in the DB, how can Node.js return it any differently? Are you sure that php didn't mess up the value somehow?

I can certainly investigate it, but I need to understand exactly how to reproduce the issue in order to diagnose it, unless you have a PR in mind to fix.

When insert fullname with value "Hiếu Ngô Trung" , value in DB will is encode with charset utf8.
I think when get value from DB , result return will decode with utf8.

But we do decode the value with utf8, that's what I'm not understanding. Without a better understanding, I have no idea what I'm supposed to change here. Please submit a PR if you have an idea of what we're not doing.


Make library easier to import

Right now the library has a dependency to https://github.com/image-size/image-size, which isn't designed to be used in a browser, and is having static imports to Node modules like fs.
This leads to:

us shipping our CDN standalone browser version with Node polyfills,
consumers of this library having a hard time importing our library in a way that works everywhere. Example: https://github.com/Frameright/react-image-display-control/blob/main/src/index.tsx

This might solve our issue: https://github.com/image-size/image-size/pull/385


Support matching confirmation messages in asynchronous sending mode

In callback ‘on_publish_confirm’, the message_id needs to be converted into a message tag at the application layer, which requires a mapping object, but the send method provided in rstream.SuperStreamProducer just sends out the message asynchronously and only provides an confirmation callback. My approach is to change the hash routing function in python runtime, but I think it’s weird in this way. But If the send method can return a Future or provide a message map internally, it will be awesome

Could you please copy the issue's code instead of the image?
With the  markdown code block
Thank you

Here is a simple wrapper for SuperStreamProducer
class RMQService(AsyncContextManager):
    def __init__(
        self,
        setting: ServerSetting,
    ) -> None:
        self.setting = setting

        self._backend: RMQStreamBackend
        self._producer: SuperStreamProducer
        self.ack_queue: Queue

    async def initialize_publisher(self, producer: Producer, metadata: Metadata):
        partitions = await metadata.partitions()

        sequence_recorder = {}
        for partition in partitions:
            publisher = await producer._get_or_create_publisher(partition)
            sequence_recorder[partition] = int(str(publisher.sequence._seq)[6:-1])

        self.sequence_recorder = sequence_recorder

        HashRoutingMurmurStrategy.route = self.route
        self.partition_cache = LRUCache(maxsize=2**14)
        self.send_waiters: dict[int, Message] = dict()

    async def route(self, message: GrpcMessageWrapper, metadata: Metadata) -> list[str]:
        streams = []

        uuid = message.data.uid
        cache = self.partition_cache
        if (stream := cache.get(uuid)) is None:
            key_bytes = bytes(uuid, "UTF-16")
            hash = mmh3.hash_bytes(key_bytes, 104729)

            partitions = await metadata.partitions()
            route = int.from_bytes(hash, "little", signed=False) % len(partitions)
            stream = partitions[route]
            cache[uuid] = stream

        self.send_waiters[self.sequence_recorder[stream]] = message.data
        self.sequence_recorder[stream] += 1
        streams.append(stream)
        return streams

    def publish_confirm_cb(self, confirmation: ConfirmationStatus):
        if confirmation.is_confirmed:
            message = self.send_waiters[confirmation.message_id]
            self.ack_queue.put_nowait(message)
        else:
            resp_code = confirmation.response_code
            # wait user to find timeout
            logger.warning(f"Failed to Push: {resp_code}")

    async def publish_message(self, message: Message):
        await self._producer_send(GrpcMessageWrapper(message))

    async def __aenter__(self):
        self._loop = get_running_loop()

        setting = self.setting
        self._backend = backend = RMQStreamBackend(
            host=setting.RMQ_HOST,
            port=setting.RMQ_PORT,
            username=setting.RMQ_USERNAME,
            password=setting.RMQ_PASSWORD,
        )

        super_stream_producer: SuperStreamProducer = await backend.create_producer(
            super_name=setting.RMQ_STREAM_NAME,
            routing_extractor=None,
            default_batch_publishing_delay=0.1,
        )
        self._producer_send = partial(
            super_stream_producer.send, on_publish_confirm=self.publish_confirm_cb
        )

        await self.initialize_publisher(
            super_stream_producer._producer, super_stream_producer.super_stream_metadata
        )
        return self

    async def __aexit__(self, exc_tp, exc_val, exc_tb):
        await self._backend.close(exc_tp, exc_val, exc_tb)

The client does not support this feature at the moment.
Mapping sent messages with received messages is out of protocol scope.
The .NET client and Java client  have the mapping messages with timeout etc .....
We should consider adding this feature.
The idea could be to extend the Producer class with the mapping., a pseudo-code:
RProducer = class(Producer)

mapping = dict<id,message>

def send(message)
    mapping.add(id, message)
    base.send(message)

on_confirm(id)
    mapping.removeById(id)

We want to avoid to touch the Producer.  Same for the SuperStream

Maybe producer.send returns a Future like aiokafka? And I see MessageAccumulater in Java client as you mentioned above, Is it a performance problem?

Not yet. I use rstream to store chat messages sent by users in RabbitMQ, which is said to get more throughput than normal queues, but I need to look for a confirmation mechanism that looks pythonic

It doesn’t matter, this is Python. In this way, my server uses multiprocess，but in a multi-process program, there is a SuperStreamProducer in each process, I found there may be serveral publishers of the same publisher_name in different processes, which call query_publish_sequence to get the same value before publishing the message? Then increment the publishing_id independently, whether there is a possibility of message loss in such a scenario

Hi @garvenlee thanks for the feedback on this. The functionality seems interesting but at the moment is not on our priority as this is out of scope from the protocol itself and we don't want to modify the library. Maybe it is something we can think of in the future in case we will decide to add a "smart layer" similarly on how the Java and .NET clients are now doing.


Support soft target in softmax_cross_entropy

This PR aims to support "soft target" in softmax_cross_entropy.
Current softmax_cross_entropy implementation support "hard target" but does not support "soft target" that is becoming popular as a method to mitigate over-fitting. This PR allows users to use "soft target" in softmax_cross_entropy as follows.
soft_target_loss = F.softmax_cross_entropy(x, t, soft_target=soft_target)

The soft target loss is KL divergence.

Or, would it be better to implement this as different function such as softmax_kl_divergence?

I've fixed the PR, so that it uses argument t for both hard and soft target. Whether it is hard or soft target is determined by ndim and shape of x and t.

Thanks for your comments. I've just fixed the branch based on your feedback. Please review it again.

Thank you for the updates. Looks good to me. Could you add a description of the soft target support to the docstring?

Could you resolve merge conflicts?

Bump. Sorry for the late response. Could you resolve the conflict again?

I've just resolved the conflicts with the master branch. Could you check it?

Sorry for the late reply. The code looks good to me, but I have a bit concern on the naming now. The function named "cross entropy" that computes KL divergence is confusing and it will quite likely be misused. You asked above if it is better to name it softmax_kl_divergence, and that sounds better to me, but I also think it's overkill to add a new function, based on the current implementation. How about adding an option to turn on/off the negative entropy term (i.e., switching between cross-entropy mode and KL divergence mode)? The option only affects the soft target case because the cross-entropy and KL divergence are the same for the hard target case.

BTW, chainer.distributions.Categorical is available.

All right, I added an option 'soft_target_loss' so that you can opt which loss calculation method to use for soft target loss: 'cross-entropy' or 'kl-divergence'.  What would you think about this option?

Thanks for the fix!
CI, test this please.

Jenkins CI test (for commit 1ab26322767bec5fe9b0c6b5da702b95cb1ef3bb, target branch master) failed with status FAILURE.

Jenkins, test this please.

Jenkins CI test (for commit f84721460f96e4074135ae28970f8ad5e4ceb734, target branch master) failed with status FAILURE.

It looks the test is still failing. Could you check it?

The CI test fails at TestSoftTargetExpectNearZero (https://github.com/chainer/chainer/blob/f84721460f96e4074135ae28970f8ad5e4ceb734/tests/chainer_tests/functions_tests/loss_tests/test_softmax_cross_entropy.py#L621) when 'cross-entropy' is used to compute soft target loss.
The test above expects a loss value to be zero, but it becomes non-zero when 'cross-entropy' is used. I think the cause is that this test is not appropriate for 'cross-entropy' or computation method  of 'cross-entropy' is not correct.
What would you think on this?

Sorry for being very late.
I fixed an issue of unit test TestSoftTargetExpectNearZero when cross-entropy is selected as soft target loss calculation by dividing the test to two tests, one for kl-divergence and another for cross-entropy. Perhaps there is no problem remaining. Could you check this again?

Jenkins and flexCI, test this please.

Jenkins CI test (for commit 620b55d945b02cd8721f957dd02d45d822ebec5b, target branch master) succeeded!

Thank you!!!

Thank you for merging the PR !


Pro mini

Hi,
any idea if this would work on Pro Mini ?

Hi,
I not tested in Pro mini, but if You plug same pins to TFT, I think it works
Regards
Joao

Yep, works perfectly. Thanks!


python3Packages.pycfdns: init at 1.2.1

Motivation for this change
Python module for updating Cloudflare DNS A records
https://github.com/ludeeus/pycfdns
This is a Home Assistant dependency.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

This is a semi-automatic executed nixpkgs-review which is checked by a human on a best effort basis and does not build all packages (e.g. lumo, tensorflow or pytorch).
If you have any questions or problems please reach out to SuperSandro2000 on IRC.
Result of nixpkgs-review pr 110592 run on x86_64-darwin 1

3 packages built:

python37Packages.pycfdns
python38Packages.pycfdns
python39Packages.pycfdns

This is a semi-automatic executed nixpkgs-review which is checked by a human on a best effort basis and does not build all packages (e.g. lumo, tensorflow or pytorch).
If you have any questions or problems please reach out to SuperSandro2000 on IRC.
Result of nixpkgs-review pr 110592 run on x86_64-darwin 1

3 packages built:

python37Packages.pycfdns
python38Packages.pycfdns
python39Packages.pycfdns

This is a semi-automatic executed nixpkgs-review which is checked by a human on a best effort basis and does not build all packages (e.g. lumo, tensorflow or pytorch).
If you have any questions or problems please reach out to SuperSandro2000 on IRC.
Result of nixpkgs-review pr 110592 run on x86_64-linux 1

3 packages built:

python37Packages.pycfdns
python38Packages.pycfdns
python39Packages.pycfdns

This is a semi-automatic executed nixpkgs-review which is checked by a human on a best effort basis and does not build all packages (e.g. lumo, tensorflow or pytorch).
If you have any questions or problems please reach out to SuperSandro2000 on IRC.
Result of nixpkgs-review pr 110592 run on x86_64-linux 1

3 packages built:

python37Packages.pycfdns
python38Packages.pycfdns
python39Packages.pycfdns


Creating an APBill with items where I specify the tax

When creating ARInvoices and adding line items I specify the tax id and the tax amount and add that to the line item entry and it puts the record in without an issue. When doing this for APBills I can't as the BillLineCreate has no Tax ID or Tax Amount fields or a TaxEntry list. I manually added one via the front end and then used postman to query the APIBILLITEM record by putting the RECORDKEY as the parent Bill record ID. This pulled back the APBILLITEM which contained 2 lines rather than the 1 that I put in. One appears to be for the line item and the other contains almost identical details but with the tax values. What is the correct method to add a BillLine where the tax amount is included rather than calculated? I'm using C# via the SDK.

Closing this issue.


[IOTDB-2911] TransformOperator: operator implementation for nested expression evaluation

Coverage decreased (-0.04%) to 55.151% when pulling 9fe215d637ca2bdc48c8bbc94f0b75dbe6c3a1b7 on iotdb-2911 into 2691ade495513b54f00810c6cdd97c08326293e5 on master.


Move the SourceKitLSPAPI target to the SwiftPM product

Traditionally, we have tried to keep swift-driver and llbuild dependencies out of the libSwiftPMDataModel product, in fact that is the main motivation for its existence. SourceKitLSPAPI depends on the build parts of SwiftPM, so it should not be part of the data model library.

@swift-ci please test

Thanks for making this change, @neonichu!

@swift-ci please test

@swift-ci please test linux


Closing storage explorer results in a Javascript error

[Window Title]
Microsoft Azure Storage Explorer
[Main Instruction]
Microsoft Azure Storage Explorer
[Content]
Version: 1.0.0
Platform: Windows
Architecture: ia32
Build Number: 20180415.2
Commit: 5d603052
Support Id: 447acca5-1fbc-4315-99c1-e9623e6880e5
Copyright © 2018 Microsoft. All rights reserved.
[OK]
Steps to Reproduce:

Closed storage explorer.

Expected Experience:
Closing storage explorer shouldn't result in an error.
Actual Experience:
[Window Title]
Error
[Main Instruction]
A JavaScript error occurred in the main process
[Content]
Uncaught Exception:
Error: Object has been destroyed
at WebContents.send (C:\Program Files (x86)\Microsoft Azure Storage Explorer\resources\electron.asar\browser\api\web-contents.js:97:15)
at C:\Program Files (x86)\Microsoft Azure Storage Explorer\resources\app\out\app\index.js:540:26
at DownloadItem. (C:\Program Files (x86)\Microsoft Azure Storage Explorer\resources\app\out\app\ElectronUtilities.js:39:21)
at Object.onceWrapper (events.js:318:30)
at emitTwo (events.js:125:13)
at DownloadItem.emit (events.js:213:7)
[OK]

This is due to closing the window while an update is downloading. Going to won't fix as it doesn't cause any issues.


There are two issues seen with dat/innkvartering app

There are two issues seen with dat/innkvartering app

with the steps described in the issue, when the focus is active on postal code and when one click on yes radio button, the value is registered but the value from the calculation is not updated.

Enter postal code -> tab -> click on yes radio button -> the radio button is selected after the slow calculation is complete. @nkylstad

This bug on overwrite of values is not experienced anymore.
Originally posted by @jeevananthank in https://github.com/Altinn/altinn-studio/issues/5754#issuecomment-815825970

The app is no longer in use. Furthermore stale. Closing issue.


How to create network for XP currency

I am creating XP integration for the new xpmarket website.
I need to know the details for BitWasp.
https://github.com/Bit-Wasp/bitcoin-php/blob/master/src/Network/NetworkFactory.php
For example for Litecoin this would be:
BitWasp\Bitcoin\Network\NetworkFactory::create('30', '05', 'b0')
->setHDPubByte('019da462')
->setHDPrivByte('019d9cfe')
->setNetMagicBytes('dbb6c0fb');
What would this be for XP?
I think I found the first 3 settings, but what will the rest be?
BitWasp\Bitcoin\Network\NetworkFactory::create( '4b', '14', 'cb' )->setHDPubByte('')->setHDPrivByte('')->setNetMagicBytes('');
address = 4b
p2sh = 14
privateKey = cb
HDPubByte = ?
HDPrivByte = ?
NetMagicBytes = ?

Normally they come from chainparams.cpp but I checked out https://github.com/eXperiencePoints/XPCoin/tree/master/src and saw it doesn't have them.. Looks like quite an old version of bitcoin they forked from.. Here's the net magic bytes.. https://github.com/eXperiencePoints/XPCoin/blob/e0ddc9ebe886567bf91e98b275e1a71326f2fe83/src/main.cpp#L3074 (compare with bitcoind's chainparams, they need to be written in reverse I think)
You'll probably find the constants scattered around the code base :s

Thanks. I got the remaining details from someone on the xpcoin github repository. However now i have an issue how to use this, as I need xpub keys (HD Wallet support). See issue: https://github.com/eXperiencePoints/XPCoin/issues/30
Any ideas?


get 403 error on Heroku server

Hi, I want to use flightPHP on Heroku.
But I got 403 Error on Heroku.
on Local server, this code went well.
Is This problem because of my code or because of Heroku server?
Here is code.
Procfile
web: vendor/bin/heroku-php-apache2 src/

.htaccess
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [QSA,L]

<?php
require 'vendor/autoload.php';

Flight::set("layout", "templates/Layout");

Flight::route("/", function() {
    Flight::render("templates/head", array("style" => "front"), "head_content");
    Flight::render("templates/header", null, "header_content");
    Flight::render("pages/front", null, "body_content");
    Flight::render("templates/footer", null, "footer_content");
    Flight::render(Flight::get("layout"));
});

Flight::start();

Structure
.git
src
  |-views
    |-templates
  |-.htaccess
  |-Index.PHP
.gitignore
composer.json
composer.lock
Procfile

Did you try uploading or viewing an image or another simple file on that server?
A 403 is possibly that the server or apache config isn't allowing external requests.

@meko3 still actual?


wrong scaling of 2D experiments' spectral width

For several examples, I found that the spectral width (displayed frequency range) for 2D experiments is now wrongly displayed. Some recent examples are displayed below (these are mostly 19F-1H experiments or vice versa, but it also happened with a plain H-H cosy to me)

Example files with the problem
K42.zip

Example files with the problem
K42.zip

Another remark - if I use the "release" on nmrium.org, it does not happen

Another remark - if I use the "release" on nmrium.org, it does not happen

@nes-cgn @lpatiny
Can you check if the bug disappear?

@nes-cgn @lpatiny
Can you check if the bug disappear?


chore: comment on releases with tags of sdks; dont run workflows on release branches

chore: comment on releases with tags of sdks; dont run workflows on release branches

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 85.65%. Comparing base (c0e6a6f) to head (d6b6178).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #582   +/-   ##
=======================================
  Coverage   85.65%   85.65%
=======================================
  Files           7        7
  Lines        3905     3905
=======================================
  Hits         3345     3345
  Misses        560      560

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


3.0

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/.template.md
:white_check_mark:Succeeded

docs/animations/AnimationSet.md
:white_check_mark:Succeeded
View

docs/animations/Blur.md
:white_check_mark:Succeeded
View

docs/animations/CompositionAnimations.md
:white_check_mark:Succeeded
View

docs/animations/ConnectedAnimations.md
:white_check_mark:Succeeded
View

docs/animations/Expressions.md
:white_check_mark:Succeeded
View

docs/animations/Fade.md
:white_check_mark:Succeeded
View

docs/animations/FadeHeader.md
:white_check_mark:Succeeded
View

docs/animations/ImplicitAnimations.md
:white_check_mark:Succeeded
View

docs/animations/Light.md
:white_check_mark:Succeeded
View

docs/animations/Offset.md
:white_check_mark:Succeeded
View

docs/animations/ParallaxService.md
:white_check_mark:Succeeded
View

docs/animations/ReorderGrid.md
:white_check_mark:Succeeded
View

docs/animations/Rotate.md
:white_check_mark:Succeeded
View

docs/animations/Saturation.md
:white_check_mark:Succeeded
View

docs/animations/Scale.md
:white_check_mark:Succeeded
View

docs/brushes/BackdropBlurBrush.md
:white_check_mark:Succeeded
View

docs/brushes/BackdropGammaTransferBrush.md
:white_check_mark:Succeeded
View

docs/brushes/BackdropInvertBrush.md
:white_check_mark:Succeeded
View

docs/brushes/BackdropSaturationBrush.md
:white_check_mark:Succeeded
View

docs/brushes/BackdropSepiaBrush.md
:white_check_mark:Succeeded
View

docs/brushes/ImageBlendBrush.md
:white_check_mark:Succeeded
View

docs/brushes/RadialGradientBrush.md
:white_check_mark:Succeeded
View

docs/controls/AdaptiveGridView.md
:white_check_mark:Succeeded
View

docs/controls/BladeView.md
:white_check_mark:Succeeded
View

docs/controls/CameraPreview.md
:white_check_mark:Succeeded
View

docs/controls/Carousel.md
:white_check_mark:Succeeded
View

docs/controls/DataGrid.md
:white_check_mark:Succeeded
View

docs/controls/DockPanel.md
:white_check_mark:Succeeded
View

docs/controls/DropShadowPanel.md
:white_check_mark:Succeeded
View

docs/controls/Expander.md
:white_check_mark:Succeeded
View

docs/controls/GridSplitter.md
:white_check_mark:Succeeded
View

docs/controls/HamburgerMenu.md
:white_check_mark:Succeeded
View

docs/controls/HeaderedContentControl.md
:white_check_mark:Succeeded
View

docs/controls/HeaderedItemsControl.md
:white_check_mark:Succeeded
View

docs/controls/HeaderedTextBlock.md
:white_check_mark:Succeeded
View

docs/controls/ImageEx.md
:white_check_mark:Succeeded
View

docs/controls/InAppNotification.md
:white_check_mark:Succeeded
View

docs/controls/InfiniteCanvas.md
:white_check_mark:Succeeded
View

docs/controls/LayoutTransformControl.md
:white_check_mark:Succeeded
View

docs/controls/Loading.md
:white_check_mark:Succeeded
View

docs/controls/MarkdownTextBlock.md
:white_check_mark:Succeeded
View

docs/controls/MasterDetailsView.md
:white_check_mark:Succeeded
View

docs/controls/Menu.md
:white_check_mark:Succeeded
View

docs/controls/OrbitView.md
:white_check_mark:Succeeded
View

docs/controls/PullToRefreshListview.md
:white_check_mark:Succeeded
View

docs/controls/RadialGauge.md
:white_check_mark:Succeeded
View

docs/controls/RadialProgressBar.md
:white_check_mark:Succeeded
View

docs/controls/RangeSelector.md
:white_check_mark:Succeeded
View

docs/controls/RotatorTile.md
:white_check_mark:Succeeded
View

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.


[HOLD Web-Expensify 31579] Directly create a workspace and add the Edit Workspace page

Details
See the issue for more context
Fixed Issues
$ https://github.com/Expensify/Expensify/issues/171960
Tests/QA
You'll need a few accounts with different emails, namely one with a public domain (e.g<EMAIL_ADDRESS>and one with a private domain (e.g. test@expensify.com).
For both of these accounts:

Open the global create menu, click "New Workspace".
Verify that the new workspace is created directly and that you're navigated to the Workspace Settings page.
Verify the name of the workspace is auto-generated correctly:

For the account with the public domain, it should be everything before the '@'
For the account with the private domain, it should be the company name if it exists, or just everything before the '@'

Tested On

[x] Web
[x] Mobile Web
[x] Desktop
[x] iOS
[x] Android

Screenshots
N/A (no UI changes)

@tylerkaraszewski Gonna unrequest you for review and request @mountiny, who was auto-assigned to review the PR that this one depends on.

@mountiny Should be good for review, thanks!

@MitchExpensify @jasperhuangg @HorusGoul I guess there might be some merge conflicts coming between this and this PR: https://github.com/Expensify/App/pull/4298

Ah it looks like I might have done some duplicate work 😅 I think it's alright if we merge the other PR first, since the main focus of this one isn't the UI (it's more that we create the workspace directly).
cc @mountiny @HorusGoul

@mountiny Should be good for another look! I've removed all the conflicting changes with https://github.com/Expensify/App/pull/4298.

@jasperhuangg Thanks! Do you reckon we should still wait or good to merge? Probably good to wait, we should make sure the Web-Expensify changes are deployed before merging this to main as it would be broken for anyone who has local environment pointed to production.

@mountiny Yep! Definitely should wait for the Web-E changes to go out on prod before we merge this. Otherwise we'll be creating workspaces without any names 😅

@jasperhuangg I see no problem there 😂

Good catch on the overlap and finding the best path forward! @jasperhuangg @vitHoracek

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging         in version: 1.0.82-8🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by @francoisl in version: 1.0.83-1 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
failure ❌

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Build warning

In function 'libmemcached_free',
    inlined from 'libmemcached_free' at /dev/shm/BUILD/libmemcached-e95ca0e7956f0d54b318284167a39aa3fd74c89c/src/libmemcached/memory.h:30:20,
    inlined from 'memcached_string_free' at /dev/shm/BUILD/libmemcached-e95ca0e7956f0d54b318284167a39aa3fd74c89c/src/libmemcached/string.cc:189:22,
    inlined from 'memcached_string_free' at /dev/shm/BUILD/libmemcached-e95ca0e7956f0d54b318284167a39aa3fd74c89c/src/libmemcached/string.cc:179:6,
    inlined from '__dt_base ' at /dev/shm/BUILD/libmemcached-e95ca0e7956f0d54b318284167a39aa3fd74c89c/src/libmemcached/csl/context.h:81:26,
    inlined from 'memcached_parse_configuration' at /dev/shm/BUILD/libmemcached-e95ca0e7956f0d54b318284167a39aa3fd74c89c/src/libmemcached/options.cc:101:50:
/dev/shm/BUILD/libmemcached-e95ca0e7956f0d54b318284167a39aa3fd74c89c/src/libmemcached/memory.h:35: warning: attempt to free a non-heap object 'context' [-Wfree-nonheap-object]
   35 |     std::free(mem);
      |

Frankly, I've never seen this warning, yet... and after investigation it looks wrong to me :shrug:.

Could be related to GCC 10, hardened build options or LTO build
https://fedoraproject.org/wiki/LTOByDefault

I confirm, disabling LTO make this disappear

Could be due to the same API being used for stack and heap objects... but this particular issue looks like a false positive.


Consider adding curry explanation to flip documentation

The result of flip appears to be automatically curried for arity 2. Yet it passes more than 2 arguments to the function if they are provided.
flip((a, b, c) => a + b + c)('a')('b', 'c') // bac

I think it could be helpful to add a note to the documentation about this. Also to note that if you require a higher arity, you can wrap flip with curryN
flip((a, b, c) => a + b + c)('a')('b')('c') // ERROR
curryN(3, flip((a, b, c) => a + b + c))('a')('b')('c') // bac

http://goo.gl/r3HcGN
Does this sound like a useful addition?

It looks like this also works for currying > 2
flip(curry((a, b, c) => a + b + c))('a')('b')('c')

I think flip should retain the arity of the original function.  We should use curryN internally.
Your second example works because when flip tries to call the internal function, the internal one knows that there is still a parameter missing, and so returns a new function instead.

flip should retain the arity of the original function.

:+1: That seems the most logical to me.
// flip
module.exports = _curry1(function flip(fn) {
  return curryN(fn.length||2, function(a, b) {
    var args = _slice(arguments);
    args[0] = b;
    args[1] = a;
    return fn.apply(this, args);
  });
});

I show fn.length||2 in case a variadic function is passed to flip?? In that case, fn.length will equal 0, so default value of 2 will be chosen instead. But maybe variadics are not a concern.
I notice the current test is: 'returns a curried function'
That could be changed to be more specific: 'returns a curried function that matches the arity of the passed in function'
Something like this

That could be changed to be more specific: 'returns a curried function that matches the arity of the passed in function'

Sounds like two tests:

returns a curried function
preserves the arity of the passed in function

@thurt:

I show fn.length||2 in case a variadic function is passed to flip?? In that case, fn.length will equal 0, so default value of 2 will be chosen instead.

Agreed.
@buzzdecafe

Sounds like two tests

Agreed.

Damn, I'm agreeable today.

See  #1714


Please copy Shape support from PlayN

https://github.com/playn/playn has amazing Shape support. You basically can draw/fill everything SVG supports. Quad curves etc.
One simple interface. Works on all platforms. Many perks like Antialias, etc.
Under the hood PlayN uses https://github.com/threerings/tripleplay which has this Shape handling. Same feature rich platform-independent support for real TTF Fonts. Not bitmap fonts.
 At least as part of a third-party library that takes out all the useful parts of https://github.com/threerings/tripleplay

Hi - as far as I'm aware this sort of thing isn't really possible in libGDX without large changes to the actual framework. In any case, this library is just a fairly high level community contribution for drawing shapes specifically using a Batch, and is not part of core libGDX.
If you want features like that you're better off sharing it with the main libGDX community (probably on discord) to open a discussion, though I doubt it's any small amount of work.


Did you ever get hterm to work for firefox?

Hi,
I saw this conversation (http://bit.ly/1r1qeg5) in chromium-hterm and I am curious did you ever manage to get it working for Firefox reliably?
Thanks
Terry

hterm has supported FF since 2014 Oct, according to hterm's doc. I have tried wetty and it works like a charm


Add ebook-homebrew-android-app

PR title
Status
READY/IN DEVELOPMENT/HOLD
Description
A few sentences describing the overall goals of the pull request's commits.
Related PRs
List related PRs against other branches:

branch
PR

other_pr_production
link

other_pr_master
link

Todos

[ ] Tests
[ ] Documentation

Steps to Test or Reproduce
Outline the steps to test or reproduce the PR here.
git pull --prune
git checkout <feature_branch>
pytest --showlocals

Impacted Areas in Application
List general components of the application that this PR will affect:

:x: Build ebook_homebrew 1.0.322 failed (commit https://github.com/tubone24/ebook_homebrew/commit/ff6175d287 by @)

:x: Build ebook_homebrew 1.0.324 failed (commit https://github.com/tubone24/ebook_homebrew/commit/9432835c90 by @)

:x: Build ebook_homebrew 1.0.325 failed (commit https://github.com/tubone24/ebook_homebrew/commit/89afa474c2 by @)

:x: Build ebook_homebrew 1.0.326 failed (commit https://github.com/tubone24/ebook_homebrew/commit/46e257ec3e by @)

:x: Build ebook_homebrew 1.0.327 failed (commit https://github.com/tubone24/ebook_homebrew/commit/fea5cffbc1 by @)

:x: Build ebook_homebrew 1.0.328 failed (commit https://github.com/tubone24/ebook_homebrew/commit/f2fa820534 by @)

:x: Build ebook_homebrew 1.0.329 failed (commit https://github.com/tubone24/ebook_homebrew/commit/dda77f1bd5 by @)

:x: Build ebook_homebrew 1.0.330 failed (commit https://github.com/tubone24/ebook_homebrew/commit/ba7e363854 by @)

:x: Build ebook_homebrew 1.0.331 failed (commit https://github.com/tubone24/ebook_homebrew/commit/bb3a3d8c75 by @)

:x: Build ebook_homebrew 1.0.332 failed (commit https://github.com/tubone24/ebook_homebrew/commit/2ed5f90870 by @)

:x: Build ebook_homebrew 1.0.333 failed (commit https://github.com/tubone24/ebook_homebrew/commit/b19873ad29 by @)

:x: Build ebook_homebrew 1.0.334 failed (commit https://github.com/tubone24/ebook_homebrew/commit/c2a8bcb009 by @)

:white_check_mark: Build ebook_homebrew 1.0.336 completed (commit https://github.com/tubone24/ebook_homebrew/commit/f531dfdc11 by @tubone24)

:white_check_mark: Build ebook_homebrew 1.0.337 completed (commit https://github.com/tubone24/ebook_homebrew/commit/1b8f0fc09c by @)

:white_check_mark: Build ebook_homebrew 1.0.338 completed (commit https://github.com/tubone24/ebook_homebrew/commit/a05777e2a6 by @)


Updating the DEI.md File

I've updated the DEI.md file to include additional samples for a few of the metrics. I also improved how we introduce the samples to be a bit clearer that not everything that is listed is required and that projects can add their own things. Last thing is that I updated the suggestions on how to include the DEI.md file to be a bit more platform agnostic.

@ElizabethN

Hi @soyetubo! Just to clarify this PR, this is not changing the metrics in this file, only the examples we are giving to projects. This was based on some feedback we received on the clarity of the examples used. If you have any questions, lemme know! :blush:


Testing direct routing to an external number

Im not sure how this script tests direct routing if both the caller and callee are in teams?
Can this script be used to test outbound calls to a SIP provider?
Caller (Some Teams User) --> Callee (Some External SIP DID)?

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

ID: 99036b5e-f358-fda3-d9b1-1279952b59a5
Version Independent ID: 9ea42c59-7db5-9c66-ef58-98b4909ccd10
Content: PowerShell script to test Direct Routing Session Border Controller connections - Microsoft Teams
Content Source: Teams/sip-tester-powershell-script.md
Service: msteams
GitHub Login: @LanaChin
Microsoft Alias: v-lanac

Thank you for submitting feedback.
I think the best way forward is if you open a service ticket in your tenant so this can get resolved ASAP. Based on the outcome let me know if it is something that can be called out in the docs.
Please follow this link to contact support for business products:https://docs.microsoft.com/office365/admin/contact-support-for-business-products
Please keep us posted here on the resolution so we can feed whatever information you discover into the content.


Missing - cursor : pointer

Describe the bug
Any of the clickable (action item) don't have pointer cursor
To Reproduce
Hover cursor on navbar and
Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
https://github.com/digitomize/digitomize/assets/114663382/6f92f032-dbc2-45dc-a7a7-4b49ce010f23
Desktop (please complete the following information):
Not working
Smartphone (please complete the following information):
No need
Additional context
participating swoc24

please allow me to work on it!

Hey @AaadityaG sure, I'll assign this issue to you. Please also check elsewhere where cursor : pointer is required.

Yes I will do that!

@AaadityaG, i never faced this issue

Yeah might be!


An issue by Andy Y.

Hi 6168218c!
Going to change my blog's theme recently.
But no time :(

No problems about that.
Thank you a lot for creating the issue.
I don't have time,too :(
No time for coding,playing or something else

social social
I'm at the school now:)

the blog is developed just now.
go and see


chore: bdd-gh-1578650913 to 0.0.1

chore: Promote bdd-gh-1578650913 to version 0.0.1

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Can i use g5.4xlarge on EKS ?

What happened:

I was operating EKS on Rancher. and I tried to add g5.4xlarge type but there wasn't the type.
So I tried to add the type on EKS Dashboard. But it was just above err.

What you expected to happen:

I want to add node group using g5.4xlarge type. Can i add it ?

How to reproduce it (as minimally and precisely as possible):
Anything else we need to know?:
Environment:

AWS Region: ap-northeast-1
Instance Type(s): g5.4large
EKS Platform version (use aws eks describe-cluster --name <name> --query cluster.platformVersion):
Kubernetes version (use aws eks describe-cluster --name <name> --query cluster.version):1.26
AMI Version:
Kernel (e.g. uname -a):
Release information (run cat /etc/eks/release on a node):

The instance type isn't supported in the AZ you've specified. This is not related yo EKS but instead EC2 availability in supported AZs


chore: fix swagger page

/deploy #persist

You can access the deployment of this PR at https://renku-ci-nb-894.dev.renku.ch

The only test that is failing in the acceptance tests is:
Scenario: User can launch Jupyter notebook when the project is private - done *** FAILED ***
[info]   The code passed to eventually never returned normally. Attempted 406 times over 2.0053905388 minutes. Last failure message: Connect to session button not found. (ProjectPage.scala:300)

I tested this on the CI deployment for this PR manually and it works. So this is most probably a random fluke.

on the screenshot it looks like it's waiting for the server listing. But I don't see how this PR would have caused it


Proposal for expectations testing

Motivation
Simplify the way we write tests.
How to add a new test for an existing request handler

Add a new my_test.rb file under test/data
(optional) Add new expectations under test/expectations for the handlers you're concerned by
Profit by running bin/test test/expectations_test my_test

Handlers for which you added expectations will be checked with assert_equal_or_pretty_display
Handlers without expectations will be ran against your new test to check that nothing breaks

How to add a new request hander

Add the new map entry in LSP_REQUEST_HANDLERS:
RubyLsp::Requests::MyHandler => "my_handler",

Add the new run and assert methods (I think we can simplify this but look at how Formatting is slightly different):
def run_my_handler(source)
  parsed_tree = RubyLsp::Store::ParsedTree.new(source)
  RubyLsp::Requests::MyHandler.run(parsed_tree)
end

def assert_my_handler(source, expected)
  actual = run_my_handler(source)
  assert_equal_or_pretty_display(expected, actual)
end

(optional) Add new expectations under test/expectations/my_handler

Profit by running, bin/test test/expectations_test my_handler

Tests with expectations will be checked with assert_equal_or_pretty_display
Tests without expectations will be ran against your new handler to check that nothing breaks

Cool things

No need to write the expectations by hand, just run the test with an empty expectation file and copy from the output:

TODO

[ ] I think we can simplify the test output a bit

[ ] We may be able to simplify how we write the run_x, assert_x to not have to duplicate code

[ ] We need to somehow catch the stderr of Formatting to avoid cluttering the output

[ ] Migrate SemanticHighlighting but I wanted to show that just adding the mechanics already caught two errors:

@st0012 the PR description is probably outdated now, we changed the folder for fixtures.
I agree that there might be a learning curve in terms of knowing how to read the tests. However, we had decided moving forward with this approach because

We can re-use Ruby syntax fixtures across different tests
All requests are forced to test every fixture, which means that adding new fixtures increases coverage for all requests and assures that all of them can handle that piece of syntax

Also, you don't need that many steps to check what a test does. Each fixture is a different test case and then you can look into the corresponding expectation file for a specific request to find out what is expected for that piece of syntax.

I updated the pull-request description to match the new behavior.
As Vini pointed out, the new framework greatly simplifies the way we write tests and allows us to reuse and share the Ruby fixtures across expectations runners for all the handlers which will hopefully catch more errors than if we need to duplicate the tests by hand every time.
In a normal setting, when you know how the framework words, you only have two files to look at:

The fixture file
The expectation file for your handler

We added a new section in the README under Contributing to explain how to use the framework.
If you need to create new fixtures, expectations or runners, you'll notice that most steps are actually optional.


qs/lib/utils merge function causing issues after bumb to version 2.3.3.

Pull request created for qs.
https://github.com/hapijs/qs/pull/68

Issue affects the Path.withQuery method as you cannot override query parameter values through replaceWith.
this.replaceWith("route", {}, {a:"a"});
// query a still has value "a" after this call...
this.replaceWith("route", {}, {a:"b"});

This is the line that causes the issue by using the merge function:
https://github.com/rackt/react-router/blob/master/modules/utils/Path.js#L131

See also: https://github.com/hapijs/qs/issues/67

query parsing/stringifying is now pluggable, so if there are issues like this again you can workaround by providing your own.


Rendering on mobile skewed to the left on Chrome (76.0.3809)

From my HN comment (not sure if you folks are too concerned w/ mobile and phones this old given the use case for this kit):
One thing I saw was during my mobile litmus test (Chrome developer tools set to iPhone 5SE), it didn't render using the full screen width, being offset left. Checking the element dimensions confused me because they matched those given for the device. Perhaps an issue in Chrome I'm using (76.0.3809)--when I inspect I see that the root element width of 320x568 matches that stated for the device. Looks fine on other device emulations with more than 400 pixels of width.

Hi, thank you for the report. You can control the display components with utility classes. For example, you can use d-none d-sm-inline-block classes and hide some blocks on the 320px screen.

Hi, @AC-FTW!
@jahaganiev is right – for example, you can hide logo block on the 320px screen:

And don't forget to correct legends on "Performance Chart" Card.
Example – https://htmlstream.com/preview/awesome-dashboard-ui-kit/test/index-20.08.19.html
Thanks a lot for sharing your feedback!


Crash on iPhone device (iOS 10.0.1), when options append ResizingImageProcessor

When I want to resize the https://bubble-m.b0.upaiyun.com/thumbnail/3/79a0c0f859cc46fd9463dc7377c1318c image on my iPhone device with ResizingImageProcessor ,
and crash at context.draw(self, in: CGRect(x: 0, y: 0, width: width, height: height)),
but not crash on simulator.
let url = URL(string: "https://bubble-m.b0.upaiyun.com/thumbnail/3/79a0c0f859cc46fd9463dc7377c1318c")!

var options: KingfisherOptionsInfo = [.transition(.fade(0.3)), .backgroundDecode, .scaleFactor(UIScreen.main.scale)]

let processor = ResizingImageProcessor(targetSize: CGSize(width: 42.0, height: 42.0))
        options.append(.processor(processor))

_ = (cell as! CollectionViewCell).cellImageView.kf.setImage(with: url,
                                                   placeholder: nil,
                                                   options: options,
                                                   progressBlock: nil,
                                                   completionHandler: nil)

Thanks for reporting! I'll take a look at it soon.

Should be fixed in version 3.1.1. Let me know it does not work for you!


Data becomes unstable when select is inlined

Describe the bug
react-query's structured sharing becomes unstable when selecting data using inline select.
Your minimal, reproducible example
https://codesandbox.io/s/keen-dawn-jilgs?file=/src/index.js
Steps to reproduce

Click rerender!

Expected behavior
When the rerender! button is clicked, it should not print data changed!
How often does this bug happen?
Every time
Screenshots or Videos
No response
Platform

Chrome

react-query version
v3.34.7 and above
TypeScript version
No response
Additional context
May be caused by #3140

definitely caused by #3140 , thanks for reporting. working on a fix ...

:tada: This issue has been resolved in version 3.34.8 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This issue has been resolved in version 4.0.0-alpha.8 :tada:
The release is available on:

npm package (@alpha dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Add symbol rename support

Should be possible using VS Code extension APIs & hh_client rename command.

This should be handled by hh_client directly now


Support gameless cores

When the environment callback is called with RETRO_ENVIRONMENT_SET_SUPPORT_NO_GAME is set to true, retro_load_game() will be called with NULL rather than a pointer to a retro_game_info. However, this currently can't be used in practice since:

libretro_core! and RetroInstance::on_load_game use &retro_game_info as the type of its argument.
RetroCore uses RetroGame as the type of its argument.
Neither of these types are allowed to be null.

At a minimum libretro_core and on_load_game need a different type to accommodate the NULL value. As for RetroCore, I'm not sure if you'd prefer changing the argument to Option<RetroGame> or having a separate trait (e.g. NoGameRetroCore) that doesn't have the RetroGame argument at all.
My core is a game rather than an emulator and I won't be loading any of the game data from an external file so this use case is directly relevant to me. In particular, not having this forces me to create a 0 byte "rom" just so RetroArch will load my core.

I think we just need to detect the null pointer and map that to RetroGame::None?

Ah, you're right! I hadn't noticed that RetroGame is an enum.


AES

Support AES. Possibly the same modes that pointycastle supports?

It is under development

TODO:

[ ] Mode: XTS
[ ] Mode: GCM
[ ] MODE: CCM
[ ] MODE: CMAC
[ ] Mode: EAX
[ ] Mode: OCB


Added meta viewport to control the layout of website on the mobile br…

Related Issue
@hiashutoshsingh Please check this issue #59 , which was for adding a meta viewport attribute to mitigate the virtual viewport on narrow screen devices.
Closes: #59
Describe the changes you've made
In /Sheheroes_WatchOS/web/index.html , Added a meta tag containning viewport and content attribute.
Type of change

[ ] Code style update (formatting, local variables)

Mention any unusual behaviour of your code (Write NA if not)
NA
Checklist:

My code follows the guidelines of this project.

Thanks for making a contribution. @Diksha-11


Dokan 1.1.0 -  Breaking API

DokanMapStandardToGenericAccess has been merged with DokanMapKernelToUserCreateFileFlags.
We need to reflect this change on dokan-dotnet for <IP_ADDRESS>
See https://github.com/dokan-dev/dokany/commit/0da77870161c101d3133fd76938951c200f12868

Did this break binary compatibility?  If so, it should have bumped to version 2, not just 1.1.

Yes, we should have up to <IP_ADDRESS> 😢 ...too late to do it ? even changelog seems to have missed it.
Versioning of dokan-dotnet is for now dokan-net major version + dokany version
(next version will be <IP_ADDRESS> for example) Yes, that's not the best I know but it started like this before me...I do not know if it can still be improved

Ideally, we'd have dokan-dotnet and dokany have the same major and minor versions, with the patch number of dokan-dotnet incrementing whenever it needs to be re-released for some reason.
I think the DokanMapStandardToGenericAccess roll into DokanMapKernelToUserCreateFileFlags might have also impacted the C API?

Yes, this would be the best 👍 It can even be done now as latest version is <IP_ADDRESS> We can release a <IP_ADDRESS> and the last number will be used for patch as you said. I think we can even do the release now, I do not see something missing.
You are right, this change impacted the C API. Dokan has move his MINOR version at this moment. (https://github.com/dokan-dev/dokany/wiki/How-to-package-your-application-with-Dokan#dokan-versioning)

By breaking the binary API, you broke adherence to semantic versioning.
And by breaking the source API for dokan-dotnet, we're also breaking adherence to semantic versioning.
Can we maybe just push v2 much more quickly than originally planned, for both?  What would that break?

Yes, It can be see in this way but the dokan library <-> kernel is still compatible thats our point of view of "major break changes". As an example the dokan device name used for the communication to init the mount use the major api version to be sure that only dokan library 1.x.x can talk to driver 1.x.x
https://github.com/dokan-dev/dokany/blob/master/sys/dokan.h#L46-L52
For 2.x.x there is still some work and hands needed. Help would be very appreciated.

https://github.com/dokan-dev/dokan-dotnet/releases/tag/v<IP_ADDRESS>
<IP_ADDRESS> is now released following this discussion. Glad we left this broken semantic version 😎


LEDs laggy FPS normal

Hey mate, thanks for being so responsive to everyone so far. What I've found so far has helped me get lights on and seems somewhat responsive to music. I have similar issues to others where the lights are laggy, however in my case the FPS is consistently at 50/80
I have tried the 3 modes (Spectrum, scroll and energy and they all behave the same way.
Setup is Raspberry Pi charger > Rpi > Jumper cables (power, data, ground) > Neopixel Strip 60 (now 55 LEDs) due to learning to solder).
By laggy what I mean is that the lights may stay on one colour for 2-3secs before changing / become blank. The LEDs tend to display a rainbow of colours rather than having a gradual change from eg. red to orange to yellow
I have tried switching from GPIO 18 to GPIO 12 with slight improvement (more consistent lighting up), but still nowhere close to the video.
Strangely when I increase the amount of processes on the RPi, the LED strip behaves closer to a 50FPS flashing of lights but is limited to maybe the first 10 LEDs, LEDs after this only light up intermittently and are the laggy variety. Best performance occurred when the OS was frozen due to running multiple browsers incl youtube
I've tried leaving unplugged for a while which didnt change anything, tried rewiring parts of my connection without much change. I thought if I unplugged HDMI and decreased brightness it might reduce power usage and therefore improve performance but this did not help
I've also tested on another RPi with the same result and a different SD card with same result. I thought this would be more a hardware issue / bad soldering job, until the extra processes helped. The only way I could conceptualise it is if there is too much data input to the strip at normal conditions, then when RPi processor is overloaded, it slows things down so the strip behaves closer to normal? But even this I would expect to be choppy improvements.
I tried running this remotely with SSH but ended up with a 'Invalid Sample rate error' so thought I'd leave the remote access till lights are working.

What kind of power source are you using? And what version of the Pi are you using?
This could be a power issue, the strip may not be getting enough power. You could try using external power instead of powering through the Pi.
If you're using the official neopixel lights, check out the following post that recommends putting a resistor and capacitor in the circuit: https://learn.adafruit.com/adafruit-neopixel-uberguide/best-practices
The lights I use are generic and don't require either.
You can also unplug everything and then plug everything back in from scratch. Sometimes just starting from scratch is all the project needs.

I'm using a 5.1V 2.5A plug into the RPi 3B
I was hoping to just replicate your build, but it seems since mine are official neopixels maybe I need to add as you said. I was hoping I wouldnt need to do more soldering lol

Maybe the neopixels are pulling more power than my generic strip. That's my only guess.
I don't think you need to solder. If you look at that post, they just jam the capacitors and resistors in circuit without soldering.
Two other things you can try is get a power supply with higher current, maybe 3A or 3.5A. OR use external power for the LEDs (a separate 2A power supply could do the trick).
Last thing to try, instead of trying to light 55 leds, try 10 or 20 and see if that makes a difference.  The Neopixel hardware could still need a resistor and capacitor but this is probably the easiest thing to try without making any changes.

Thanks, I've been wondering for a while how that capacitor is actually staying in place, how graceful a solution.
Just wondering how much capacity was your powerbank and how long did it last for your number of pixels?
I'm not great around the electronics, just checking if I find a power supply that is 3-3.5A could this still be connected to the RPi? or do you mean as a separate power source for the strips
If I change N_PIXELS =10 in config.py, would that replicate what you are saying? I find when I do that most LEDs flash at the FPS however the the first 10 are still most active. Or do you mean cut the strip to 10 LEDs?

The power bank I have outputs around 3A and has a charge of 16Ah. It can last hours. I don't think I ever put it to a full test but the longest I've had it run was probably 3-4 hours.
You can connect a 3.5A power supply to the pi without a problem, it'll draw whatever power it needs. It's the voltage that needs to be around 5V. The current can be higher or lower without problems.
And I kinda meant both, you can try to power your Pi with more power OR use a separate power supply for the strips.
And yes! The N_PIXELS is exactly what I meant. You don't have to cut it. It's worth a try, I'm not sure if it'll work, it's just an easy test.

Ok I'll give these a go
Yeh so even if I change N_PIXELS to 10, all LEDs (1-55) still light up but none ever get to white light.
If I set N_PIXEL to 60 then the first 10ish are flashing mostly white light
this makes me think a power issue. But it's still weird that I have to be doing things that consume power in RPi's OS for the above to happen.

That is strange. The python code should only be sending a signal to the first 10 LEDs. I wonder if Neopixels are wired differently.
One thing to know about these lights is that they are directional. Can you double check that they are connected the right way? There should be arrows on the strip pointing which way the current should flow.

Yep can confirm it is in Din side and arrow point away from the side my cables are on
If I am using an external power source eg Powerbank > usb cable to LEDs, I read in one comment that the ground for the power supply needs to be split between the ground of the strip and ground of the Pi.
I currently have a cable from Strip to Pi, could I just add the power supply's ground cable to this existing cable (would look like a T junction)
Thanks

This is what I ended up with
2amp powerbank was best I could find but Neopixel site suggests 2A should be enough for 60LEDs
Still does better with more processes running on RPi
Perhaps slightly better performance with the tail end lighting up slightly more but fairly similar.
The other end of the LED strips is still not connecting to anything

Have recreated the build in this (https://www.youtube.com/watch?v=Pxt9sGTsvFk), thought I had a winner with the changes to /boot/config,
No significant changes after adding logic level splitter. Perhaps a few more lights further away from Din are lighting up and rather than stay on for 2-3 sec, maybe 1 sec. Still does not follow N.PIXEL = x, and flashes are rainbow in colour mostly. still require other processes ongoing in OS to get higher frames of light changing. Doesnt really follow the pattern of energy/spectrum/scroll.
Also found a 2.4A USB source but no difference
I'm stumped, I feel like the not enough power hypothesis is less likely
Perhaps an issue with Data In? or something with how I am grounding, but having followed the diagram in the video so unlikely to be this
RPI FPS is good and have tried two RPis so seems RPi hardware is not the issue
I thought it might be a dodgy soldering job, but feel like the results would be more unpredictable if this were the case. But this feels like my only option left to try. Or maybe buy a generic neopixel strip
¯_(ツ)_/¯

Sorry just catching up to all of this.
I think your wiring is correct - It's a bit hard to tell since there's a lot of black wiring in front of the black cover of your pi. But I think I see where things are split.
And you tried both GPIO 18 and 12. You didn't cross the data and the ground pins, right? You probably wouldn't even see anything if you did.
strandtest.py was going to be my next suggestion to try but if that doesn't work either then something may be off with the lights themselves.
Since the Raspberry Pis both output fps and doesn't seem to error out (and strandtest doesn't work) I don't think this is a software issue.
I wonder if there's a break somewhere. One thing you could try is when the lights are running, jiggle your strip back and forth and see if you can get the connection working. It could be a minor break somewhere along the copper.
Besides that, I can't think of any other way to test without using another set of LEDs.  You could get some cheap generic ones instead of neopixel lights just to test.
Last thing you can try is maybe go back to the basics and try strandtest with minimal hardware. Connect power, ground, and data directly from your Pi and try the test. The file is just basic loops and data writes so it uses very little power.

Hey all good, appreciate all the help your giving. I'm inclined to think it's a LED strip issue, there's no way I can make changes to everything else without anything changing significantly.
I tried attaching power and ground on the other end - no difference
Cut off 1 LED on the Data In side and re soldered data cable - only difference is strandedtest lights up one less LED - perhaps there is an issue on the next LED, but the jiggle test did not help. This LED can still light up during scroll / spectrum / energy
Tbh I'm surprised I haven't had a combination that hasnt managed to light up.
I'll try the basic strandtest setup and if still nothing will give up on this neopixel strip.

Finally got it working. Solution is below
A rough summary of my issues is

strandtest.py does not follow the expected pattern
only a few LEDs light up (in my case 2-3 during rainbow phase)
reducing N.PIXEL has no effect
During visualization.py lights
appear laggy - only updating every 1-3 secs at best in random colours
may improve when playing youtube video / other processes but still random lighting up without specific patterns
ruled out hardware / power issue

Solution here pypi.org/project/rpi-ws281x/
Going to the section ‘Limitations’ for PWM tried blacklisting snd_bcm2835, rebooted and ran audio reactive LEDs
Interestingly there are links in this suggesting that using DMA = 5 may conflict with ? OS also using this DMA since 2018, and that DMA = 10 is safer. But this was not an issue for me (just left it as  = 5
Hopefully someone find this useful.

Awesome! Thanks for sharing the solution @k15866AL! Great job finding it and I'm glad you got this working.
Hope you're having fun with the project :)

My god you saved me man, few hours of digging and trying to find out what's wrong :) Thank you!


docusaurus-lunr-search Swizzle command fails

🐛 Bug Report
Docusaurus swizzle command fails to copy the SearchBar to src/theme/SearchBar.
Have you read the Contributing Guidelines on issues? Yes
Fix

Run npm install before the swizzle command to update, build, and link the packages.
npm run swizzle docusaurus-lunr-search SearchBar -- --danger
The swizzle command now works.

To Reproduce

Create a new Docusaurus Project (or migrate from an older one): npx @docusaurus/init@latest initi my-website classic
Install the latest Docusaurus Lunr search package: npm i docusaurus-lunr-search  --save
Run the swizzle command: npm run swizzle docusaurus-lunr-search SearchBar -- --danger
Runs into error.

Expected behavior

swizzle success message:

SearchBar copied in the right location:

Actual Behavior

Your Environment

Docusaurus version used: 2.0.0-alpha.69
Environment name and version (e.g. Chrome 78.0.3904.108, Node.js 10.17.0): v12.19.0
Operating system and version (desktop or mobile): macOS Big Sur

Reproducible Demo
https://github.com/lelouch77/docusaurus-lunr-search.
If you skip this step, your site will not be enabled with the Lunr search box feature.

/assign @divyabhushan

Creating this issue in the relevant https://github.com/lelouch77/docusaurus-lunr-search repository.