Service Ports should match container ports.

  services:
    ldap:
      servicePort: 389
      containerPort: 1389
      dataService: true
    ldaps:
      servicePort: 636
      containerPort: 1636
      dataService: true
      clusterService: true
    https:
      servicePort: 443
      containerPort: 1443
      ingressPort: 443
      dataService: true

When service ports are different from container port it leads to:
# Source: ping-devops/templates/pingdirectory/service.yaml
apiVersion: v1
kind: Service
metadata:
  labels:
    app.kubernetes.io/instance: samir-pd
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/name: pingdirectory
    helm.sh/chart: ping-devops-0.5.6
  name: samir-pd-pingdirectory
spec:
  ports:
  - name: https
    port: 443
    protocol: TCP
    targetPort: 1443
  - name: ldap
    port: 389
    protocol: TCP
    targetPort: 1389
  - name: ldaps
    port: 636
    protocol: TCP
    targetPort: 1636
  selector:
    app.kubernetes.io/instance: samir-pd
    app.kubernetes.io/name: pingdirectory

and:
  PD_ENGINE_PRIVATE_PORT_HTTPS: "443"
  PD_ENGINE_PRIVATE_PORT_LDAP: "389"
  PD_ENGINE_PRIVATE_PORT_LDAPS: "636"

and:
----- Starting hook: /opt/staging/hooks/80-post-start.sh
Waiting until PingDirectory service is running on this Server (samir-pd-pingdirectory-1.samir-pd-pingdirectory-cluster)
        samir-pd-pingdirectory-1.samir-pd-pingdirectory-cluster:1636

Meaning, pd is looking to replicate on a port on a service that actually doesn't exist.
Now, it looks like Kubernetes is actually managing the interpretation which is cool. But this may cause some issue somewhere that we aren't catching.

@samir-gandhi and I discussed this at length.
The service-cluster created in the helm charts is a ClusterIP type, which is a headless service.  Whenever a DNS request is sent to the service-cluster, it will always return an IP of the underlying container, which will ONLY answer to the port of the container.  So, the service-cluster port (i.e. servicePort) is really never made use of, as the service-cluster IP won't be shared with a DNS query.
I believe the proper thing to do here is define the service-cluster resources with both the port and targetPort set to the value of the containerPort in the helm chart.
So, the following:
  services:
    ldaps:
      servicePort: 636
      containerPort: 1636
      dataService: true
      clusterService: true

would result in a service-cluster looking like:
apiVersion: v1
kind: Service
  name: pingdirectory-cluster
spec:
  clusterIP: None
  ports:
  - name: ldaps
    port: 1636                # <---- change to reflect containerPort
    protocol: TCP
    targetPort: 1636.         # <---- keep same as today with containerPort
  publishNotReadyAddresses: true
  type: ClusterIP

The data service resource would still set the port to the servicePort value


migrate voter management

related to #172
Currently the add_role API is used to  add voters to a form, and it is not (??) possible to remove voters from a form.
The frontend must be migrated to use the voter management API instead, and also allow to remove voters.

We also have a CLI to add voters, we should either:

remove the CLI
or
make it work, too

We also have a CLI to add voters, we should either:

remove the CLI
or
make it work, too

yes, good point!


Change Google scope in external providers sample

See ...
https://developers.google.com/+/web/api/rest/oauth ...

For login purposes, use the profile or https://www.googleapis.com/auth/plus.login scope. The https://www.googleapis.com/auth/plus.me scope is not recommended as a login scope because, for users who have not upgraded to Google+, it does not return the user's name or email address. **

Cross-ref: https://github.com/aspnet/Docs/issues/3744#issuecomment-416386518

@HaoK

An error occurred while loading the YAML build pipeline. Repository self references endpoint 6510879c-eddc-458b-b083-f8150e06ada5 which does not exist or is not authorized for use

Don't worry about the vsts ci failure for now the other ci builds are green so its good to go

@HaoK @guardrex this repo is about to be archived. Its contents have been merged into https://github.com/aspnet/AspNetCore. If this is a PR we should still take, please re-open the PR on the new repo.
cref https://github.com/aspnet/AspNetCore/pull/4088


camera turns on but window isn't showing up

Understand me just beginner of ROS and this is the first time writting a question on the github. I don't use any linux or kinda VM, just only windows 10 with melodic. I'm using a built-in camera using my laptop and when i run "rosrun win_camera win_camera-node", the LED of showing the camera status has turned on but the window isn't showing up. And this is the message i got.
With that error, camera calibration adding --no-service-check also show me an error both no response and lag.
`**********************************************************************
** Visual Studio 2019 Developer Command Prompt v16.6.3
** Copyright (c) 2020 Microsoft Corporation

C:\Users\HandaseulKim>rosrun win_camera win_camera_node
Setting resolution<EMAIL_ADDRESS>matching resolution and subtype supported by source. Setting up a conversion[ INFO] [1595227119.036020300]: using default calibration URL
[ INFO] [1595227119.037288900]: camera calibration URL: file:///camera_info/camera.yaml
[ INFO] [1595227119.037556800]: Unable to open camera calibration file [/camera_info/camera.yaml]
[ WARN] [1595227119.037723400]: Camera calibration file /camera_info/camera.yaml not found.`

Understand me just beginner of ROS and this is the first time writting a question on the github. I don't use any linux or kinda VM, just only windows 10 with melodic. I'm using a built-in camera using my laptop and when i run "rosrun win_camera win_camera-node", the LED of showing the camera status has turned on but the window isn't showing up. And this is the message i got.
With that error, camera calibration adding --no-service-check also show me an error both no response and lag.
`**********************************************************************
** Visual Studio 2019 Developer Command Prompt v16.6.3
** Copyright (c) 2020 Microsoft Corporation
C:\Users\HandaseulKim>rosrun win_camera win_camera_node
Setting resolution<EMAIL_ADDRESS>matching resolution and subtype supported by source. Setting up a conversion[ INFO] [1595227119.036020300]: using default calibration URL
[ INFO] [1595227119.037288900]: camera calibration URL: file:///camera_info/camera.yaml
[ INFO] [1595227119.037556800]: Unable to open camera calibration file [/camera_info/camera.yaml]
[ WARN] [1595227119.037723400]: Camera calibration file /camera_info/camera.yaml not found.`

I just got a little bit of clue that it depends on the resolution, bus most thing is on GUID, so i try keeping change multiple times which one is matching with and compile again and again....finally i got different message, but still when i try visualizing with rqt, it's just show me half-white and black image. This message is what i got.
Setting resolution<EMAIL_ADDRESS>res set[ INFO] [1595257674.967075200]: using default calibration URL
[ INFO] [1595257674.968521500]: camera calibration URL: file:///camera_info/camera.yaml
[ INFO] [1595257674.969109300]: Unable to open camera calibration file [/camera_info/camera.yaml]
[ WARN] [1595257674.969331100]: Camera calibration file /camera_info/camera.yaml not found.

Hello @HanDaSeul,
WinML publishes two topics - an image_raw and a marker array. you can view these in rViz.
It's ok if you don't have a camera calibration file. That's really only needed for the 3D pose detector codepath.

Hello @HanDaSeul,
WinML publishes two topics - an image_raw and a marker array. you can view these in rViz.
It's ok if you don't have a camera calibration file. That's really only needed for the 3D pose detector codepath.

Yes i was searching on the google with Youtube and comparing with someone's linux. There's no relation with calibration. I thought it's an error cause you know, as you see the message above, it's seemed to be there's an error releated to setting resolution or GUID. But, I struggled and wasted my time for the answer, and the answer is, just ignore the message. It doesn't have meaning that's not an error. My fault is, checking the path. For Windows10, the path was slightly little bit different when i put command 'rostopic list' and change the path and confirmed it works fine rqt, too.
Now it works fine. Thanks

Hello @HanDaSeul,
WinML publishes two topics - an image_raw and a marker array. you can view these in rViz.
It's ok if you don't have a camera calibration file. That's really only needed for the 3D pose detector codepath.

@ooeygui I have quistion

@ooeygui  I have question. Other guys when they run uvc_camera or kinda driver node on their ubuntu, it shows so many info like int(Brightness, 0......), int(Contrast, 0, ....)...etc. But my win_camera doens't show. Is that normal or problem on my windows?

That user interface is custom to the uvc_camera, it hasn't been ported to Windows as far as I know.
For Windows, we recommend using the new ros_win_camera. The latter uses Windows Media Foundation.
Here's an example of how to consume the winml_ros node

That user interface is custom to the uvc_camera, it hasn't been ported to Windows as far as I know.
For Windows, we recommend using the new ros_win_camera. The latter uses Windows Media Foundation.
Here's an example of how to consume the winml_ros node

Alright, i need to track sometimes if there's new. And can I use multiple cameras as long as I know the deviceID?


Web - Invitation bottom link leads to magic code expired page when invited in a room

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 9.0.62-0
Reproducible in staging?: Y
Reproducible in production?: Y
Issue was found when executing this PR: https://github.com/Expensify/App/pull/46052
Email or phone of affected tester (no customers<EMAIL_ADDRESS>Issue reported by: Applause Internal Team
Action Performed:

Navigate to staging.new.expensify.com and login as user A
Create a room (user A)
Invite a non existent email address into the room (user A invites a user B)
As the invitee wait for the email (user B)
Open the email and click on the bottom link (user B)

Expected Result:
App signs user in and takes user to the room
Actual Result:
Magic code expired page shown
Workaround:
Unknown
Platforms:

[ ] Android: Standalone
[ ] Android: HybridApp
[ ] Android: mWeb Chrome
[ ] iOS: Standalone
[ ] iOS: HybridApp
[ ] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos
https://github.com/user-attachments/assets/47dd0bf2-5c9c-4723-aef2-b6b6963e00d1

View all open jobs on GitHub

@IuliiaHerets I don't understand the repro steps:

Invite a non existent email address into the room
As the invitee wait for the email

If the email does not exist, who is the invitee who is waiting?

@RachCHopkins I updated the steps a bit for better understanding.

Navigate to staging.new.expensify.com and login as user A
Create a room (user A)
Invite a non existent email address into the room (user A invites a user B)
As the invitee wait for the email (user B)
Open the email and click on the bottom link (user B)

cc @blazejkustra @deetergp https://github.com/Expensify/App/pull/46052

Thanks @mountiny for bumping 😄
I think it is likely a backend issue, and it was known before merging (here more context). @deetergp are you going to investigate this?

@IuliiaHerets by non-existent email, do you mean "a legitimate email address that does not already have an Expensify account associated with it" as opposed to "an email address that is fictional and does not exist"?

@RachCHopkins Yes, a user with a legitimate email address that does not already have an Expensify account

Just assigning you here @deetergp so that you don't miss this!

I'm taking an educated guess that this is part of #convert since it's related to invites and guided setups.

After some digging into this today, I've discovered that the reason we're getting this "magic code expired" message is because we are not creating a validateCode for these users when they are created. @marcaaron I wonder if that has something to do with the recent changes to addComment that we were just talking about. That is where I'm going to check next…

I stand corrected. We don't create the validateCode till after a user has logged in. But when comparing a user created by a room invite, which doesn't work right now, to a DM invite, which sorta works right now, the DM invited user's account is validated: 0, but the room invited user is validated: 1. I suspect that we are erroneously marking the room invited users as validated and that's what is causing the problem. Will dig more into it on Monday.

Would we call this Internal @deetergp?

Oh yes, I'm pretty certain this one's internal.

Circling back to this, I've confirmed that it's validation that's the issue. These users should be closed and unvalidated until they respond to the invitation links. The steps I used to prove it were:

As User A, invite a new user with a valid email address but no Expensify account, to a room.
Verify that the user's account was created closed, but also validated: 1 in the data base.
Changed their validation status to validated: 0 with a CQ
Found the invitation in the user's inbox.
Clicked on the link
Verified that the new user was taken to the room and not a 404 page

Now all we need to determine why these users are created in a validated state…

This is out on production now—not sure why this did not this GH didn't get updated. Going to as for a retest in the #qa channel.

Issue is no longer reproducible.
https://github.com/user-attachments/assets/97cf206c-1eb5-4eb9-b986-97bf38eae464


Accessbility tools are missing in the browser list

I would love to see any accessibility tool listed among the browsers.
the support for ARIA attributes might differ depending on when using JAWS, NVDA, free and Open Source.
Other great apps are Thunder, Microsoft Narrator, Orca Screen Reader and TalkBack.
Is there any option to add those?

While this would certainly be valuable, since there are many screen readers and each will work differently with each browser the amount of overhead for testing purposes would be too large for a project like caniuse to handle. So no plans to add these I'm afraid.


Patch yield

Fixes "yield" field by changing to "compound_yield"

PTAL at changes to purity and selectivity. Should brevity outweigh consistency?

I think I'm in favor of brevity here. I might even suggest that we only change yield to compound_yield and leave the other yield instances alone...


can i use jquery to get autocomplete's value

hi,
there has a special scene:
the autocomplete will be create by ng-repeat,it dynamic create,i cannot definte it by ng-model.
so i have to use jquery to get autocomplete's  value.
it seems that it cannot get it value by jquery.
thank you.

well, i have found an idea to solve this problem.


Player has a negative scrap

Note: It was originally -5 but I discarded a card.
Here is the server log (Note that it may contain excess information):
http://pastebin.com/t4R1wBDu

@SirPython Do you recall if the game let you cast an enchantment card (any card with a Scrap Cost > 0) which exceeded the SCRAP you had available at the time?

Unfortunately, that log is only from the client and not from the server, and does not mention any SCRAP values, so that doesn't help.

@Phrancis No, I do not think it did. Here is what I remember:

I notice the -5 scrap
I scrap a card with a +3
Screenshot

There might have been other things before/after/between those steps.

@Zomis I apologize. At first, I was trying to copy something from the console. Then, to copy I hit CRTL-C which shut down the game. I figured that the client log would also be helpful, because it included what information was send and what information it recieved.

Those series of actions make sense, I'm mostly wondering what happened before there was the -5 scrap.

@Zomis This may be completely biased, but I think it was either:

I was attacked by an enemy card.
I played a card that required scrap points.

I am leaning towards the first one a little.

I managed to reproduce the bug by playing a card that required scrap. Somehow it seems that you're allowed to that despite not having the scrap available.


[FLINK-4827][Docs] The scala example of SQL on Streaming Tables with wrong variable name…

val env = StreamExecutionEnvironment.getExecutionEnvironment
val tEnv = TableEnvironment.getTableEnvironment(env)
// read a DataStream from an external source
val ds: DataStream[(Long, String, Integer)] = env.addSource(...)
// register the DataStream under the name "Orders"
tableEnv.registerDataStream("Orders", ds, 'user, 'product, 'amount)
// run a SQL query on the Table and retrieve the result as a new Table
val result = tableEnv.sql(
"SELECT product, amount FROM Orders WHERE product LIKE '%Rubber%'")
There is no variable named tableEnv had defined ,Only tEnv defined here

LGTM, +1

merging


Switched to iapassword.bat instead of iadmin.sh. Reformatted step 9

Hi, in trying to follow the instructions today I found that iadmin.sh no longer supports changing the password with Integration Agent 5.2.1. I've suggested switching to iapassword.bat
Also, I've moved the editing of nagios_host.js and nagios_service.js earlier in the instructions, after editing configuration_host.js and configuration_service.js; moving the encrypting of the password to the last step.
I think this makes it clearer to follow as you remain editing files in the integrationservices/application/nagios directory for longer, rather than having to pop back to /bin to execute iapassword.bat ?
Cheers, Jonathan

Awesome, thanks Jonathan. Good catch on the iadmin and anything that helps someone else with the flow of installation is an improvement in my book.


remove user facing facing

we don't really need control over which end of the block the train stays at anymore, flipping the heading at the end will be very short since the train only needs to go to the other end of the last marker it detected

this would require us to make sure each train will always end up stationary with positive facing value. Even if routes are interrupted.


Testing RCE in CI

Don't panic :)
This is a test by<EMAIL_ADDRESS>PLEASE DO NOT APPROVE OR MERGE THIS

Wouldn't you like to know 😉
Don't worry, no vulnerabilities here :)


Improvements for Primer

Clear the notebook before running
Have a few as comments, ask for what they think the answer will be (ether pad histogram?)
Show tab completion of units and completeness (yes, furlongs/fortnight works and is a bit a humor)

Merged into #153


Displaying empty for progress code '00000000'

When we encounter '00000000', we were displaying the previous valid progress code. Now, in this change, we will be displaying '' instead.

Defect: https://jazz07.rchland.ibm.com:13443/jazz/web/projects/CSSD#action=com.ibm.team.workitem.viewWorkItem&id=612044


Add support for default_host and force_host options on each client

Q
A

Bug fix?
no

New feature?
yes

BC breaks?
no

Deprecations?
no

Related tickets
fixes #110

Documentation
TODO (want feedback first)

License
MIT

What's in this PR?
Add new configuration options for default_host and force_host for each client.
Why?
See #110
Example Usage
    clients:
        test:
            factory: httplug.factory.guzzle6
            http_methods_client: true
            options:
                default_host: http://localhost

You can specify the httplug.client.{name}.default|force_host_plugin in the plugins list if you dont want the host plugin to come last in the chain.
Checklist

[x] Updated CHANGELOG.md to describe BC breaks / deprecations | new feature | bugfix
[ ] Documentation pull request created (if not simply a bugfix)

just tested it in the web summercamp tutorial app and the configuration works as expected.

I do not like the new options key. I get questions like: Why isn't http_methods_client under options? How come we have both options and config?
    clients:
        test:
            factory: httplug.factory.guzzle6
            http_methods_client: true
            options:
                default_host: http://localhost
           config:
               verify: false

Also, we should support other plugins like HeaderAppend, HeaderDefaults, HeaderRemove and HeaderSet. All these plugins (and AddHost) are very client specific. Ie, you are not likely to have the same host configured in the AddHost plugin for all clients. Compared to the CachePlugin which is very likely that you use for all clients.
Possible solution:
Maybe we should introduce two scopes of plugins. Public and Private? See this config:
httplug:
    plugins: # Public plugins
        cache:
            enabled: true
            cache_pool: 'my_cache_pool'
            stream_factory: 'httplug.stream_factory'
            config:
                default_ttl: 3600
                respect_cache_headers: true
        logger:
            enabled: true
            logger: 'logger'
            formatter: null
        redirect:
            preserve_header: true
            use_default_for_multiple: true
    clients:
        test:
            factory: httplug.factory.guzzle6
            http_methods_client: true
            config:
                verify: false
           plugins:  # Private plugins only for this client
                add_host:
                    host: http://localhost
                    replace: true
               header_append:
                   User-Agent: 'Foobar'

i like that idea a lot! i guess the basic question is how much we want the user to know things like adding the host are plugins, but we already went with making this transparent for the general plugins. for people not familiar with the lib, there will be a tiny confusion why something is a config and something else is an extra plugin, but i think its manageable with doc.
i guess we should also repeat the public plugins in the extra_plugins of a client. so that you can have a different redirect/log/cache/whatever behaviour. and i will keep the behaviour that you can change the order by adding the private plugins in the plugins list of the client.

see #112


Add Cluster Toggle

Adds support for default marker clustering being set by the environment variable WIS2BOX_UI_CLUSTER. The user can also choose to enable or disable clustering in the settings menu.
requires: https://github.com/wmo-im/wis2box/pull/590
closes: https://github.com/wmo-im/wis2box/issues/588

Settings menu

Marker Cluster on

Marker Cluster off

Grouping the settings was in part motivated by the impression none of these are things users would need to interact with frequently - and why not relegate them to their own section. Do you expect a user to be actively changing the language, clustering, or token all that frequently?
This does make me wonder if the language should also be set with an environment variable. I am not sure how i18n is handled in wis2box-webapp but would be a straightforward implementation here.


Poloniex Adapter

I plan to build this out when I have free time in the next month or so. Help would be much appreciated!

Go for it! And welcome to the land of Bex :-)
Take your time coding it - there's no rush for anything. More than happy to help.
G

Good morning..
I would like to give you a hand, first i need to familiarize myself with your code.
Do you have any update documentation that is not yet posted?

Hi there, thanks for offering to get involved! Yes, all the latest docs are
there. Go for it!
-- sent from my phone --
On 25 Feb 2017 10:54 a.m., "datasmithtech"<EMAIL_ADDRESS>wrote:

Good morning..
I would like to give you a hand, first i need to familiarize myself with
your code.
Do you have any update documentation that is not yet posted?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/gazbert/bxbot/issues/28#issuecomment-282476459, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AGM1tiyYkcfwyXpxoIYjb0QNppQM3xmRks5rgAhYgaJpZM4JiTXa
.

Closing - no updates for 1+ years.


fix: avoid accessing unowned memory

Fixes #16.
Per comment in that issue, I don't understand the code well enough to be sure that this is the right fix.  But it looks plausible, and I thought I'd make it easy for you in case it is.

Thanks!

Thanks!


fix: Creating packages for offline installation in the pipeline

Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Fixes # (issue)
Type of change
Please delete options that are not relevant.

[x] New feature

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration
I run offline installation of the sc4snmp in lab and it was successful
Checklist

[x] My commit message is conventional
[x] I have run pre-commit on all files before creating the PR
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] I have checked my code and corrected any misspellings

Codecov Report

Merging #507 (05b432a) into develop (d37752a) will not change coverage.
The diff coverage is n/a.

:exclamation: Current head 05b432a differs from pull request most recent head b33ffd5. Consider uploading reports for the commit b33ffd5 to get more accurate results

@@           Coverage Diff            @@
##           develop     #507   +/-   ##
========================================
  Coverage    88.03%   88.03%
========================================
  Files           24       24
  Lines         1412     1412
========================================
  Hits          1243     1243
  Misses         169      169

Continue to review full report at Codecov.

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

:tada: This PR is included in version 1.6.3-beta.7 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


SiteMapNode to be generated with relative path

I am adding my own implementation of ISiteMapNodeService to generate the sitemap for a blog, but I have noticed that the expected ISiteMapNode.Url is absolute (i.e: it must include https://server:port)
I can also see that the code to generate the sitemap xml is at [SiteMapController.cs] (https://github.com/joeaudette/cloudscribe.Web.Navigation/blob/master/src/cloudscribe.Web.SiteMap/Controllers/SiteMapController.cs).
Wouldn't be better to have the ISiteMapNode.Url as a relative Url and have the SiteMapController.cs access the Request's scheme and host to build the absolute path?
I am asking this because even if I managed to get the current url for my application from the service implementation without accessing a Request (I don't even know if that's possible?), that would give me only the hosting url (i.e: https://myweb.myserverinthecloud.com), but the sitemap should actually have Urls with the domain's DNS name (i.e: https://mypublicdomain.com), therefore the sitemap should be generated using whichever scheme and host is being requested not to have to hardcode it, shouldn't it?
Then I could have my service implementation with relative URLs using slugs like this:
public async Task<IEnumerable<ISiteMapNode>> GetSiteMapNodes(CancellationToken cancellationToken = default(CancellationToken))
{
    var posts = await _postRepository.GetPosts(BlogValues.BLOG_PROJECT_ID, false, cancellationToken);
    IList<SiteMapNode> siteMapNodes = new List<SiteMapNode>();

    foreach(var post in posts)
    {
        siteMapNodes.Add(new SiteMapNode
        {
            Url = $"blog/{post.Slug}", //i.e: "blog/my-first-post"
            ChangeFrequency = PageChangeFrequency.Never,
            LastModified = post.LastModified,
            Priority = 1
        });
    }
    return siteMapNodes;
}

but that would require to modify the SiteMapController and include a method like:
bool IsAbsoluteUrl(string url)
{
    if (!Uri.IsWellFormedUriString(url, UriKind.RelativeOrAbsolute))
    {
        throw new ArgumentException("URL was in an invalid format", "url");
    }
    return Uri.IsWellFormedUriString(url, UriKind.Absolute);
}

and when generating the LocTag something like this:
var url = IsAbsoluteUrl(node.Url) ? node.Url : $"{Request.Scheme}//{Request.Host}/{node.Url}";
var sitemapElement = new XElement(
        xmlns + SiteMapConstants.UrlTag,
        new XElement(xmlns + SiteMapConstants.LocTag, url ),
//etc.

Unless I'm getting a wrong approach?

you are using SimpleContent for the blog right? it already has a BlogSiteMapNodeService that resolves the url fully.
I just added logic to the controller to support resolving relative urls, but in this case the url must start with "/"
I generally think it is the responsibility of the ISiteMapNodeProvider to provide the exact full url to use, but I'm ok with checking it and trying to be helpful in the controller. the thing is providing the wrong url to google is not a good idea, and the only way to be sure google gets the exact url you want as an implementer of ISiteMapNodeProvider is to provide it exactly as you want it to be. leaning on the controller to resolve relative urls opens up a possibility for not getting the desired result, whereas providing the full exact url ensures getting the expected result.

Thank you for adding support for relative urls,
I wasn't aware of BlogSiteMapNodeService .
I agree with your last statement,


Having issues with Ruby 1.9.2-p290

Hi,
For whatever reason when I run timeline user ruby 1.9.2 I receive several errors, the first of which being
/Users/vesuvius/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/time.rb:198:in `local': argument out of range (ArgumentError)
However, this does not happen on 1.8.7. Could this be because 1.8.7 is the system Ruby install and 1.9.2 is via RVM?

Yeah we usually use 1.8.7, let me take a look at it.

I just tried this, and it worked for me. Can you send along the command you used? And a full stacktrace of the errors?

Sorry about the silence here, can you post a copy of the csv?


Open Facebook Login popup instead of redirecting to login page in the same window

Thanks a lot for this wonderful libraray. I have a doubt with the current behaviour of my application wrt to facebook connect and I was wondering if you could help me,
Is there a way by which I could open the facebook login page in a new modal window , instead of redirecting user to log in page on the same window and than redirecting him back to the application once he is authorized. I know there is a way of doing that using the javascript sdk but i am looking for server side authorization.
Any help would be greatly appreciated.

Can you please what you sent in the email? i would like to see the example

hi can someone please email me a sample code with the solution for this problem. thank you
<EMAIL_ADDRESS>

Hi. I have the popup login window automatically close after login. But I want to update the original window that the user has logged in. Any idea how to send the signal back to the original window? Thanks!


October refactoring

This refactoring eliminates a lot of duplicate code and centralizes much of the processing of domain namespaces, including management of watchers. It also addresses some misuse of Kubernetes resource versions: according to the documentation, the initial reference version for a watcher should be taken from the result of a list operation. In two cases, configmaps and jobs, we were using resource versions from other resources.
In the current K8s implementation, that doesn't matter, as it currently uses the etcd modifiedIndex which is consistent for a server; however, that is subject to change.
This cleanup has highlighted some additional issues I hope to address in the next PR, including the fact that we do different processing for a namespace that was in existence before the operator started than for one created while the operator is running. For example, the ADDED event handling of the Namespace watcher has special handling for the script map, while it should be handled by common namespace startup code.

I'm seeing a lot of integration test failures, so I am closing this to figure out what is going on. I am going to add these changes on top of the latest commit that has clean IT results.


azfile: Premium File Shares - Updated for new bandwidth limits

[x] The purpose of this PR is explained in this or a referenced issue.
[x] The PR does not update generated files.

These files are managed by the codegen framework at Azure/autorest.go.

[x] Tests are included and/or updated for code changes.
[x] Updates to CHANGELOG.md are included.
[x] MIT license headers are included in each file.

/azp run go - azfile


some small problems

dubbo-test module  pom.xml --  2.7.1-SNAPSHOT  is wrong?
org.apache.dubbo.metadata.store.MetadataReport contants META_DATA_SOTRE_TAG  grammer error
dubbo-dependencies-bom/pom.xml

This issue has been fixed from 2.7.2 onwards.


PSK and RPK support using coap+tcp

I have a first working version of  coap+tcp in Leshan based on java-coap.  (https://github.com/open-coap/java-coap/issues/69#issuecomment-1781460170)
This is probably not production ready, especially about how connection is managed but this is good enough to be able to play with it.
So I tried to begin to look at adding coaps+tcp support. In LWM2M generally the first step is using Pre-shared Key.  (Far easier to set-up than RPK or x509)
Naively, I was thinking that I will be able to set-up this quickly but I understand there is no Pre-Shared Key support in java-coap  ? more exactly java-coap API is based on JSSE API (SSLSocketFactory more precisely) and I understand that PSK is not supported by the default SunJSSE Provider  (default implementation of JSSE API) ... :disappointed:
Am I right or did I missed something ?

AFAK JSSE still does not support PSK. There is library https://github.com/google/conscrypt that gives such support but it uses native BoringSSL.

Talking with security-dev from OpenJDK, they confirm  those features are not available :

PSK,
AES_CCM,
RPK ,
CID

So at short term I will focus on X509 only.
At mid term, I don't know if this is worth to try to play with Concrypt or BouncyCastle :thinking:  (without concrete user interest I guest not)
At long term, OpenJDK developper seems to be open to contribution. I will see if this is realistic to try help to move this topic forward.

@sbernard31 Thanks for asking, but that is indeed a long time ago. Sad that OpenJDK has no native implementations for necessary features

@sbernard31 do you see any real use case where PSK or RPK would be needed? What's the difficulty on setting up certificates? I see using of PSK very difficult, if we think of provisioning them to devices in secure way and then doing rolling updates.

@szysas  good questions :slightly_smiling_face:

do you see any real use case where PSK or RPK would be needed?

For PSK :
I know for sure at least one :sweat_smile: at SemTech (previously Sierra Wireless), our LWM2M devices only use PSK.
Note also that  LWM2M v1.0.x : "A LwM2M Server MUST support the Pre-Shared Key mode"  (since v1.1.x the wording is more flexible)
You can also find a list of known real use cases in RFC 9257 - Guidance for External Pre-Shared Key (PSK) Usage in TLS § 5.1. Use Cases.
Some known pro of PSK usage :
"The pre-shared key profile offers the most efficient solution for integration of TLS/DTLS into LwM2M since pre-shared ciphersuites recommended in [RFC7925] require a minimum amount of flash space as well as RAM size. Symmetric cryptographic algorithms require only a minimal computational overhead. The size of the exchanged messages is also kept at a minimum. There is, however, a downside as well: symmetric keys need to be pre-configured to both communication endpoints."
(source<EMAIL_ADDRESS>Credential Types)
and
"The use of pre-shared secrets is one of the most basic techniques for TLS/DTLS since it is both computationally efficient and bandwidth  conserving."
(source : RFC7925 - (D)TLS Profiles for the Internet of Things § 4.2  Pre-Shared Secret
For RPK :
No real use case example in mind (like the SemTech one above :point_up_2: ) but this is real mode defined in LWM2M specification too.
Some known pro about  RPK usage :
"The raw public key profile offers features that sit between the pre-shared key and the certificate-based profile and combines the benefits of these two profiles. The use of asymmetric cryptography offers improved security but avoids the overhead associated with certificates and the PKI."
(source<EMAIL_ADDRESS>Credential Types)
"The use of raw public keys with TLS/DTLS, as defined in [RFC7250], is the first entry point into public key cryptography without having to  pay the price of certificates and a public key infrastructure (PKI)."
(source : RFC7925 - (D)TLS Profiles for the Internet of Things § 4.3  Raw Public Key)

What's the difficulty on setting up certificates?

I think there some points above to slightly explain why some could not want using certificates.
Note also that for some constraint device, supporting PSK or RPK could be lightweight or "easier". (when I was playing with tinyDTLS only PSK and RPK was available)
Deploying PKI based on Certificate is not so simple and in LWM2M client client authentication is required too.
Also LWM2M v1.0.x has limited support of Certificate, this was improved with v1.1.x and even better with 1.2.x.
Even if I agree that "real use case" is the stronger argument, I also think that from a developer point of view PSK and RPK are good step in learning curve :

first playing with plain coap (which should have very few real world use cases)
then next step,  testing with PSK (easier to just set login/password)
then using RPK, you will face some new difficulty about understanding asymmetric cryptography (and also need to understand how to generate keys)
then using x509 is even more complicated to understand with certificate chain and all possible way to validate it and also PKI infrastructure.

I see using of PSK very difficult, if we think of provisioning them to devices in secure way and then doing rolling updates.

I don't know exactly what you have in mind about rolling updates ?
At least in LWM2M there is a bootstrap mechanism which allow to provision the LwM2M Client with the information required to contact the LwM2M Server(s) but you could argue how to provision client credentials to connection to Bootstrap Server. :shrug:
Factory provisioning is still a very complex question. I'm not sure this is easier with X509 especially for LWM2M use cases which need client server mutual authentication.

(a bit out of topic but I have a first version of coaps+tcp with x509 support only in Leshan : https://github.com/eclipse-leshan/leshan/pull/1607)

Closing this as I PSK support can not be added without JVM support.


re-definitions of "TestVariant" in testcases

TestVariant has been defined twice in Hog.C and Python.C, but with different types as its members.

Is it bad that they're different?  Although they have the same name, they're not actually related -- they're completely independent.  The Python.C code verifies that the fregion.py script can read structured file data correctly but the data that it verifies is generated from C++ inside Python.C.


HttpClientProviders does not load under Karaf

Describe the bug
I'm attempting to use Azure Blob Storage in a Karaf application.  My code is part of a kar deploy file, so it has it's own features and plugins associated.  Because of the setup, I need to deploy by dependencies as part of my .kar file.  That's all standard enough, problem is they get loaded in as plugins.  When  HttpClientProviders (azure-core) is called from azure-storage-blob code, it uses the ClassLoader to look for an HttpClientProvider.  Unfortunately each plugin in Karaf(and OSGI I assume) has it's own classloader.   That means my azure-core is under one plugin, azure-storage-blob is under another, and azure-core-http-netty(my http provider) is under a 3rd.  They cannot share the same classloader (thanks OSGI) so they can't see each other.   Since HttpClientProviders is final and from how it's written, I have failed to find any way to extend or override this so that I can just point it directly to mine.  This means I can't do azure blob from inside karaf.  At least, I haven't found any way around that.
Exception or Stack Trace
Caused by: java.lang.IllegalStateException: A request was made to load the default HttpClient provider but one could not be found on the classpath. If you are using a dependency manager, consider including a dependency on azure-core-http-netty or azure-core-http-okhttp. Depending on your existing dependencies, you have the choice of Netty or OkHttp implementations. Additionally, refer to https://aka.ms/azsdk/java/docs/custom-httpclient to learn about writing your own implementation.
at com.azure.core.implementation.http.HttpClientProviders.createInstance(HttpClientProviders.java:37)
at com.azure.core.http.HttpClient.createDefault(HttpClient.java:27)
at com.azure.core.http.HttpPipelineBuilder.build(HttpPipelineBuilder.java:60)
at com.azure.storage.blob.implementation.util.BuilderHelper.buildPipeline(BuilderHelper.java:110)
at com.azure.storage.blob.BlobServiceClientBuilder.buildAsyncClient(BlobServiceClientBuilder.java:107)
at com.azure.storage.blob.BlobServiceClientBuilder.buildClient(BlobServiceClientBuilder.java:84)
To Reproduce
Create a karaf application.  Load up bundles for the azure storage, attempt to push a file up to azure storage.
Code Snippet
Just dropping in my blob service client.  It's at the client initialization it all blows up.
BlobServiceClient blobServiceClient = new BlobServiceClientBuilder()
.connectionString(storageConnectionString)
.buildClient();
BlobContainerClient blobContainer = blobServiceClient.getBlobContainerClient("datacapturelogs");
BlobClient client = blobContainer.getBlobClient(file.getName());
Map<String, String> map = new HashMap<>();
map.put("Client", "Client");
ByteArrayInputStream bis = retrieveByteArrayInputStream(file);
BlockBlobSimpleUploadOptions options = new BlockBlobSimpleUploadOptions(bis,file.length()).setTags(map);
client.getBlockBlobClient().uploadWithResponse(options, null, Context.NONE);
Expected behavior
I expect it to push up the file like it does from a standard java application when testing.
Screenshots
If applicable, add screenshots to help explain your problem.
Setup (please complete the following information):

OS: [e.g. iOS]
IDE: [e.g. IntelliJ]
Library/Libraries: [e.g. com.azure:azure-core:1.16.0 (groupId:artifactId:version)]
Java version: [e.g. 8]
App Server/Environment: [e.g. Tomcat, WildFly, Azure Function, Apache Spark, Databricks, IDE plugin or anything special]
Frameworks: [e.g. Spring Boot, Micronaut, Quarkus, etc]
Windows 2012 ( I know.. old ).  Java 8.  Ran on both the 1.15.0 azure-core and the 1.21.0, since the logic changed a bit between those.  Matching other azure libraries with these of course, but the core problem is in azure-core.  Running under Karaf.

If you suspect a dependency version mismatch (e.g. you see NoClassDefFoundError, NoSuchMethodError or similar), please provide

verbose dependency tree (mvn dependency:tree -Dverbose)

Additional context
Add any other context about the problem here.
Information Checklist
Kindly make sure that you have added all the following information above and checkoff the required fields otherwise we will treat the issuer as an incomplete report

[ ] Bug Description Added
[ ] Repro Steps Added
[ ] Setup information Added

Of course as soon as I create this, I decide to dig back into the BlobServiceClientBuilder and found the call below.  That let me just set the client myself and got me to move on.  Might be good to mention that in the error as an alternative.
https://docs.microsoft.com/en-us/java/api/com.azure.storage.blob.blobserviceclientbuilder.httpclient?view=azure-java-stable#com_azure_storage_blob_BlobServiceClientBuilder_httpClient_com_azure_core_http_HttpClient_

@bcshores thanks for reporting this issue and suggesting improvements to the error message. We will add a note to use the HttpClient setter method on the builder when the classloader cannot find the HttpClient.
As a side note, this PR tried to address a similar issue - https://github.com/Azure/azure-sdk-for-java/pull/20760 but it looks like the classloader for every jar is different and hence classloader for azure-core is not the same as azure-core-http-netty. So, using the same classloader as the one that loaded HttpClientProviders is not going to fix this issue.
The alternative is to do what you did by setting the HttpClient on the builder.

I'm not sure if it's related, but my developer(to remain unnamed) also had my using the Java 12 approach when I'm running Java 8.  It seems to still work in Java 8 in some spots, but the combo of that and Karaf led to more http protocol type errors.  Flipped back to old Java 8 cloud storage api and it's working easily and it's more of an "All in one" depenedency.  I still think this is a problem and will probably come back to get me in a year or so when we get this system updated.


When we draw Quad with Mesh and then draw other sprite in the same Z-coordinate the result is uncertain

Bevy version
Bevy version is 0.9, platform is window 10, GPU is Nvidia Geforce mx250, driver is 516.40
Bug
If you use the code below, when we draw Quad with Mesh and then draw other sprite in the same Z-coordinate the result is uncertain
let pentagon = Quad::new(Vec2 { x: 100., y: 100.});
let handle = meshes.add(Mesh::from(pentagon));
commands.spawn(ColorMesh2dBundle {
        mesh: handle.into(),
        transform: Transform::from_translation(Vec3::new(0., 0., 1.)),
        ..default()
    });

commands.spawn(SpriteBundle {
        sprite: Sprite {
            color: Color::rgb(0.25, 0.25, 0.75),
            custom_size: Some(Vec2::new(150.0, 100.0)),
            ..default()
        },
        transform: Transform::from_translation(Vec3::new(0., 0., 1.)),
        ..default()
    });

Sometimes it only shows blue rectangle, sometimes it shows purple and blue rectangles.
You can try to build more and more times.

The Z coordinate is the only tool in this scenario that decides what renders in front/behind.
If it's the same as another item then the computer can't figure it out and floating point imprecision decides for you.
You will have to decide which one you want to render on top of the other by changing their Z translation.

@devil-ira Do you mean that it's not a bug?
The dos should Give some hints or message.
You mean that the method to solve this problem is give the different bundle with different Z translation, have i got it?
I test if you use the same type bundle in the same Z translation the problem will disappear.
If you are right, you can close this issue.

Drawing overlapping polygons at the same distance of the camera (in 2d case, with the same z translation) is called Z-Fighting.
The engine could render them in the same order, but it would be slower, and it can't work as you expect. In a way it's better to keep it random to avoid thinking "oh it's working fine, let's stay like that". The correct fix is to use different value for each "layer" you have.

I test if you use the same type bundle in the same Z translation the problem will disappear.

This behavior is a coincidental result of entity iteration order. While this order is deterministic it's no longer predictable when you start despawning entities.

The result of commands.spawn() should be certain.

It is certain; the entity spawned is identical. The randomness comes from somewhere else.
Like mockersf said, we could make this consistent, but there's no point because it would still be unpredictable.
Bevy is not unique in this regard. The situation in Unity and Godot is the same.

@devil-ira @mockersf Thank you very much, I get it.


[FEATURE] Move the build system to Gradle

Is your feature request related to a problem?
This plugin uses Maven to build, OpenSearch exports gradle plugins to help develop opensearch plugins easier.
What solution would you like?
Move away from Maven to Gradle
What alternatives have you considered?
Not really!

Hi @saratvemulapalli, I sent https://github.com/opensearch-project/opensearch-oci-object-storage/pull/33 to address this one. Would be great if you can review and/or add other reviewers to assist with review.


Add git tags

There are no git tags in this repository. Although it appears that this project is no longer being developed, tags for all so-far released versions should be created.

The contents of this repo was merged into syslog-ng, as that was the sole user.

I'm aware of that. It doesn't negate my suggestion.


[WIP] Add snapcast control

Change-type: minor

@tmigone is there a way to get the ip of the master server in other containers?

@balena-ci retest

@balena-ci retest

@balena-ci retest

@tmigone i am almost finshed here. Can you plese help me with the comment above?

Since the container is using network_mode: host you can get it from http://localhost:3000.
Also, can you briefly tell me the benefits of using snapcastrd?

@tmigone snapcastr is a webinterface for controlling a snapcast server. You can control streams and the sound volume for each client conected to the server. Creating zones and groups is also possible.

@tmigone this could help to create a web front-end. Do you think we should create a web dashboard for balena?

@AlexProgrammerDE interesting! Going to try it over the weekend!
About the web dashboard, I don't think at this point it's needed. Specially if this snapcastrd interface can solve some problems (namely volumes and such) I think I'd first see what we can do with it.

@tmigone Is the idea to make this part of the 3.0 roadmap? Or are you envisioning going with a different approach?

@AlexProgrammerDE @frederickjansen having a local UI where you can control project parameters is definitely something we want to have in 3.x. This local UI concept though ties in to some platform features we are working on that are not ready yet. Basically this problem applies to any balena project so we want something that works for all of them, not only sound, so I think this should not be an immediate focus (not 3.0, maybe a minor version afterwards 3.1/3.2).
This snapcastrd based approach seems good enough for now, so I think we can have it for 2.x. I'll make sure I check it out asap (i know i've said that already 😬 )

@balena-ci retest

@balena-ci rebase

Hey @AlexProgrammerDE I had to rebase/squash manually this PR, balena-CI couldn't do it because of all the merges from master it had.
As a general rule it's better not to use the "Update branch" button (main reason being that you get all these commits that say "merge master bla bla", instead if you need to bring changes from master into your PR branch you can use:

"(at)balena-ci rebase", if there are are no conflicts it should auto-rebase.
If there are conflicts (because you are changing stuff that already changed in master) then you'll need to rebase using the git cli.

@AlexProgrammerDE I left a few comments. It's cool that it works, but I feel like the only real functionality we can take advantage at this point is the volume controls, right? Having zones would be cool, but as far as I read we need multiple fifo streams for that, and while we could do it i feel like we will create a mess of env vars. I'll try to read more about this.

imma close this for now. I think you already implemented a secret ui that allows us to change the volume. 👍


Add support for SPACER?

SPACER is a Horn clause solver: http://spacer.bitbucket.org/
We could add support for it as one of our back-end solvers. (Not sure of the input format).

At some point it might be worth cleaning up the interface with backend solvers.  Not sure whether it'd be better to have them as separate programs, or just decouple them better within the current architecture.  Currently it's very ad-hoc.

I'm not sure whether SPACER could just take datalog input, in which case it'll be trivial to support. Needs more investigation.


Zend_Db_Select - Expression column aren't recognized if doesn't end with parentheses

Reading the documentation about building expression column , it says:

If your column string contains parentheses, Zend_Db_Select recognizes it as an expression.

It appears that it's not "strictly" true. Take this select as an example:
$select = $this->_db->select();
$select->from('table1', array('count' => 'COUNT(id) + 1'));
$this->assertEquals("SELECT COUNT(id) + 1 AS \"count\" FROM \"table1\"", $select->assemble());

The expression COUNT(id) + 1 isn't recognized as an expression.
Context
I maintain a large code base that I recently upgraded from 1.11.19 to 1.12 and it uses Zend_Db_Select extensively. There are many instances where we define an expression that doesn't end with a parentheses and it was recognized as such until now (to be precise, this commit (da09186c60b9168520e994af4253fba9c19c2b3d) is where it stops working as intended).
I tried to fix the regex to accept my use case but there is many tests that fails after that (mostly related to sql injection protection).

@ezimuel
Can you look at this?

@sylvainfilteau we changed this behavious for a potential SQL injection code. Using regex was not the best solution, I know but we (I) managed in this way.
At this stage, this is more a documentation problem, the correct sentence should be

"if your column string is in parentheses, it will be recognized as an expression".

If you change the code using the following example:
$select->from('table1', array('count' => '(COUNT(id) + 1)'));

The SQL will syntax render will be:
SELECT (COUNT(id) + 1) AS `count` FROM `table1`

We will fix the documentation, thanks for reporting this!

@sylvainfilteau maybe this PR https://github.com/zendframework/zf1/pull/492 fixed the issue.

@ezimuel thanks for your answer.
Unfortunately for me #492 doesn't fixed the issue. Since then I already changed my app to use explicit Zend_Db_Expr where I had issues. I figured that it would make more sense for ZF team to leave it that way because of the security implication.


[RESOLVED] Interface eth0(): High error rate (>2 for 5m)

Problem started at 08:36:29 on 2023.05.18
Problem name: Interface eth0(): High error rate (>2 for 5m)
Host: S100-Primario
Severity: Warning
Operational data: errors in: 1, errors out: 0
Original problem ID: 20883
Event details in Zabbix: http://<IP_ADDRESS>/tr_events.php?triggerid=23483&eventid=20883

Problem has been resolved in 3m 0s at 08:39:29 on 2023.05.18
Problem name: Interface eth0(): High error rate (>2 for 5m)
Host: S100-Primario
Severity: Warning
Original problem ID: 20883


Create a Racket devShell with dependencies for local development.

The default nix build for Racket builds a project. If the project source is broken (let's say there's a syntax error in the code), this fails. While this is perfectly fine for CI builds, it would be very helpful to have a dev shell for local development in which we could run the build.
This shell could include all project dependencies as buildInputs, but not the project source.
I’ve managed to achieve this by using nix-filter to create a dependencies derivation that excludes all source code:
dependencies = (dream2nix.lib.makeFlakeOutputs {
  systems = ["x86_64-linux"];
  config.projectRoot = ./.;
  source = nix-filter.lib.filter {
    root = ./.;
    # Exclude everything but the `info.rkt` that lists dependencies.
    include = [./info.rkt];
  };
  projects = ./projects.toml;
}).packages.${system};

This can then be used in a shell:
devShells.default = pkgs.mkShell {
  buildInputs = [dependencies.default];
};

We can enter the shell to build the project and fix any bugs
nix develop
> raco test .
foo.rkt:3:0: foo: unbound identifier # An example of a bug

Let me know if there's already a way to achieve this. I'd be happy to add docs on it.

I can see that the nodejs builder provides a devShell for a similar purpose. I suspect it wouldn't be too tricky to make one for Racket. I'll look into it when I have the time.


[Feature Request] Support the light color scheme in terminal.

Although dark-style terminals may be the mainstream, it would be great to support light one.

There seem to be two solutions.

We use the black style tui::widgets::Blockas the background board of the entire interface, but it may conflict with the color scheme of the terminal.
We then design a light-colored style interface to give users a choice to switch.

If the first suggestion works I think that's good enough, we just need to make it configurable.
As other features appear, there will be need for a configuration file sooner or later anyway.

Yeah, it must be fixed. Thanks for notifying.
I think that it could be a third solution. In the same way, the current background is linked to the terminal background theme, we can use the font color used for the terminal fonts. In this way, doesn't matter the terminal theme the user uses, termchat always will fit with that theme.

The problem is how to get terminal font in a cross-platform way? there is an open issue https://github.com/crossterm-rs/crossterm/issues/166
Maybe it would be cool if all colors used in termchat were configurable, and there is a wrapper theme struct for some predefined themes like Light and Dark.

Ok, I thought that chosen the first 16 xtem colors you somehow were linking to the terminal profile colors.

Maybe it would be cool if all colors used in termchat were configurable, and there is a wrapper theme struct for some predefined themes like Light and Dark.

I agree.
For a first step (and while the crossterm does not give support for terminal themes colors), you should be able to choose between light and dark themes from a CLI command. i.e: --theme <dark(default)>|<light>. With this, at least the light theme people can use termchat.
The next steps could be to add CLI arguments for different color parts or maybe even a configuration file as you say, @sigmaSd, with a theme section for this purpose.

I'm adding configuration for termchat and then I'll work on themes, hopefully I'll have a pr soon with this idea.

The light theme is now supported!


python3Packages.greeclimate: 1.0.3 -> 1.1.0

Motivation for this change
https://github.com/cmroche/greeclimate/releases/tag/v1.1.0
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 163092 run on x86_64-linux 1

3 packages built:

home-assistant-component-tests.gree
python310Packages.greeclimate
python39Packages.greeclimate


test: updated locator at multiple places

RCA:
Locator was updated in the Ts helper and there was Js helper which was not udpated
Duplicate helper methods and locator impacted this.
Solution:
Searched for the locator across repo and updated

Summary by CodeRabbit

Refactor

Updated Cypress test spec names related to Git operations for better clarity.
Changed the selector for mergeBranchDropdownDestination to use a data-testid attribute for improved test reliability.

/ci-test-limit

/ci-test-limit runId=9709779444

/ci-test-limit runId=9709779444


Transaction Exception on Save Changes

Hello. I recently published a large update to a project I manage. One of the things that was added with the update was to shift away from database-side triggers to application-side triggers with EFC.T. It seemed to work well during beta testing, but in production there are random exceptions being thrown which are causing headaches. Refreshing right after the exception works as expected.

InvalidOperationException: The specified transaction is not associated with the current connection. Only transactions associated with the current connection may be used.

I initially assumed it was with some triggers that have the DbContext injected into them, thinking it was a new instance being injected. I've since removed those triggers. It didn't help. I then removed the simpler triggers that change simple properties, such as modified at and by. Also didn't work. I have one trigger left that's a little more complex, but it looks like I'll have to remove it and disable EFC.T from my project.
I'm sad to do that, but I need to have stability in the live system, and the triggers and or triggered context is interfering with that. Would you be able to look into this for a future update? I'd much prefer to use the triggers, especially application-side since database-side is difficult to manage.
My project is on ASP.NET Core 6 with EntityFramework Core 6 running on Windows Server 2019 1809 (I believe) IIS. Will be updating to 7 soon-ish, if that matters to you.
Thanks!

I initially assumed it was with some triggers that have the DbContext injected into them
I use this pattern on multiple projects that are all running in production without issues. Note that you will need to make sure that the DbContext is registered as a Scoped (default) or singleton in order to be able to receive the correct DbContext. Alternatively, you can install EntityFrameworkCore.Triggered.Extensions which offers an extension method to get the dbContext straight from the ITriggerContext.

Would you be able to look into this for a future update

Without more context or a repro, there is not much I can do. However if you can provide more context or the repro, I'll be happy to take a look.

Well, the funny thing is, I disabled the triggers that were getting the DbContext injected last week and it still kept doing it. I've since disabled the last remaining trigger that just did property changes based on old vs new entity.
Before I disabled this last trigger just hitting save on a page would cause the exception at random within the first 2-4 attempts. After it was disabled, no exceptions with 10 saves in a row.
Could it be something to do with the AddTriggeredDbContextPool extensions? Maybe I'm misconfiguring something or misusing the triggers? Here's how I'm configuring the DbContext and how I write the triggers, can you spot an issue?:
public static IServiceCollection AddApplicationDbContextPool(
	this IServiceCollection services,
	IConfig config,
	int poolSize = 1024) {
	if (config is null) {
		throw new ArgumentNullException(nameof(config));
	}

	services.AddTriggeredDbContextPool<XyzContext>(
		_ => {
			_.UseSqlServer(config.DefaultConnection,
						   __ => {
							   __.UseNetTopologySuite();

							   if (!config.IsDevelopment) {
								   return;
							   }

							   __.CommandTimeout(int.MaxValue);
						   });
			.UseTriggers(
			 __ => __.AddAssemblyTriggers());

			if (!config.IsDevelopment) {
				return;
			}

			_.EnableDetailedErrors()
			 .EnableSensitiveDataLogging();
		}, poolSize);

	services.AddDbContextPool<SerilogContext>(
		_ => {
			_.UseSqlServer(config.SerilogConnection,
						   __ => {
							   __.UseNetTopologySuite();

							   if (!config.IsDevelopment) {
								   return;
							   }

							   __.CommandTimeout(int.MaxValue);
						   });

			if (!config.IsDevelopment) {
				return;
			}

			_.EnableDetailedErrors()
			 .EnableSensitiveDataLogging();
		});

	NtsGeometryServices.Instance = new NtsGeometryServices(
		NetTopologySuite.Geometries.Implementation.CoordinateArraySequenceFactory.Instance,
		new PrecisionModel(1000d),
		4326,
		GeometryOverlay.NG,
		new CoordinateEqualityComparer()
	);

	return services;
}

public sealed class ModifiableEntityBeforeSaveTrigger :
	IBeforeSaveTrigger<IModifiableEntity> {
	private readonly IIdentityProvider _identity;

	public ModifiableEntityBeforeSaveTrigger(
		IIdentityProvider identity) => _identity = identity;

	public Task BeforeSave(
		ITriggerContext<IModifiableEntity> context,
		CancellationToken cancellationToken) {
		OnAddedOrModified(context);

		return Task.CompletedTask;
	}

	private void OnAddedOrModified(
		ITriggerContext<IModifiableEntity> context) {
		if (context.ChangeType == ChangeType.Deleted
			|| !_identity.UserId.HasValue) {
			return;
		}

		var entity = context.Entity;

		entity.ModifiedAtUtc = DateTimeOffset.UtcNow;
		entity.ModifiedById = entity.ModifiedById == User.SystemId
			? User.SystemId
			: _identity.UserId.Value;
	}
}

Not sure if it matters, but I keep the DbContext and models in one assembly, and have an extension assembly that has the triggers, and other extensions as well as the IServiceCollection extensions in it. The applications, 7 of them, then use this shared extensions assembly to build up their services.

Some additional questions:
What version of this library are you using? Also, you're only able to reproduce this in production? What is the difference between your dev environment and production environment?

I am using 3.2.2 for EFC.T and EFC.T.Extensions.
I am able to reproduce this in dev and production.
The only difference between environments is the injected config parameters, such as database connection strings, coming AWS SSM Parameter Store. That and dev and staging have very low traffic, basically idle, while production has higher traffic.


Rust logs output (at info level) shows up as Red in jupyter notebook

For example:

When running in the context of a notebook (or python in general) it could be nice if rust logging data was routed back by way of the python logging framework so that it can be configured via logging.basicConfig

A quick fix that I think would be acceptable is to just hide INFO-level logs from the notebook


Rchiodo/latex on execute

For #8742
Mimetype text/latex requires all equations to be surrounded with $$, unlike markdown which supports a single $.
Modify the latex manipulation equation to support turning '$' into '$$' and use it when outputting type 'text/latex'

Codecov Report

Merging #10045 into master will decrease coverage by 61.22%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           master   #10045       +/-   ##
===========================================
- Coverage   61.22%       0%   -61.23%
===========================================
  Files         564       10      -554
  Lines       30192       31    -30161
  Branches     4567        4     -4563
===========================================
- Hits        18484        0    -18484
+ Misses      10675       31    -10644
+ Partials     1033        0     -1033

Impacted Files
Coverage Δ

src/client/debugger/constants.ts
0% <0%> (-100%)
:arrow_down:

src/client/common/platform/constants.ts
0% <0%> (-100%)
:arrow_down:

src/client/interpreter/locators/services/conda.ts
0% <0%> (-100%)
:arrow_down:

src/client/common/process/constants.ts
0% <0%> (-100%)
:arrow_down:

src/client/constants.ts
0% <0%> (-80%)
:arrow_down:

...ience/jupyter/jupyterDebuggerRemoteNotSupported.ts
0% <0%> (-60%)
:arrow_down:

...t/datascience/jupyter/jupyterDataRateLimitError.ts
0% <0%> (-50%)
:arrow_down:

src/client/language/textRangeCollection.ts

.../application/diagnostics/commands/launchBrowser.ts

...c/client/interpreter/autoSelection/rules/system.ts

... and 550 more

Continue to review full report at Codecov.

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


A command with no data struct will cause use of an un-initialized TLV reader

Problem
CommandHandler::ProcessCommandDataElement does this:
    chip::TLV::TLVReader commandDataReader;
...

    err = aCommandElement.GetData(&commandDataReader);
    if (CHIP_END_OF_TLV == err)
    {
        err = CHIP_NO_ERROR;
        ChipLogDetail(DataManagement, "Received command without data for cluster " ChipLogFormatMEI, ChipLogValueMEI(clusterId));
    }

But now commandDataReader is not initialized, and we proceed to pass it to DispatchSingleClusterCommand which will try to read from it.
Proposed Solution

Write a test that exercises this case.  In particular, this should send no data for a command that normally does have fields that get sent.
Fix the code to handle this correctly.

@yunhanw-google @mrjerryjohns

Our current CommandSender implementation always inserts the data payload struct (even if it is empty) right? So, that condition should never get triggered on the handler?
What should be the spec defined behavior here? Is not sending the data element permitted? Looking at the spec, it's quite mum on this...

I'd be fine with just initializing the TLVReader with a null buffer. That ensures that subsequent decode will fail. This also reduces the API churn.

So, that condition should never get triggered on the handler?

You're as assuming that the sender is using our code.  And not being malicious.   We should not be assuming that.

We can't defer this: this is a known bug where we read un-initialized memory and then act on it, which is really bad from a security perspective.

I think this issue is already fixed in previous refactors

In CommandHandler::ProcessInvokeRequest

https://github.com/project-chip/connectedhomeip/blob/0861153771b0d6b2a10910767e17bb98b6727b63/src/app/CommandHandler.cpp#L97-L103
(Which ensures invokeRequests is a valid parser with a reader holding lists.

Then we have

https://github.com/project-chip/connectedhomeip/blob/0861153771b0d6b2a10910767e17bb98b6727b63/src/app/CommandHandler.cpp#L128-L136
(Which ensures it is holding exactly one list (as we only supports one request today))

And we have

https://github.com/project-chip/connectedhomeip/blob/0861153771b0d6b2a10910767e17bb98b6727b63/src/app/CommandHandler.cpp#L305-L326
This should ensure the payload passed to DispatchCommand is a valid reader.
For group writes, we also have
https://github.com/project-chip/connectedhomeip/blob/0861153771b0d6b2a10910767e17bb98b6727b63/src/app/CommandHandler.cpp#L362-L370

Attaching a change to the commands test that shows the problem.  The decoding of the command either fails if there is no fields struct (which the spec allows), if the random "control byte" value is not of type struct, or we hit ASAN errors trying to decode if the control byte happens to be "struct".
Which actually points out a second problem: validly not including a field struct at all for a command that has no fields will fail decode!  This is an absolute must-fix for spec compliance.
demonstrate-uninitialized-reader.txt


This causes Lapce to crash

Finishing the iter_mut() line in this code snippet will cause Lapce to crash.
I'm using the latest stable version of Lapce, the latest version of this plugin available in the Lapce plugin registry, and the latest version of rust-analyzer.
fn main() {
    let mut numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
    // numbers.iter_mut().for_each(|n| { *n = *n * 5; });
    // Try typing in .f below, and Lapce will crash
    numbers.iter_mut()
    numbers.iter().for_each(|n| { print!("{n} "); });
    println!("...All done.");
}

It's worth mentioning that I'm using a rust-analyzer executable from the VSCodium extension instead of the bundled rust-analyzer. This crash does not happen if I'm using the bundled rust-analyzer executable.


[Docs] Colab Python is 3.6, but >=3.7 is now required

Python 3.6 support was dropped in #3574, but Python 3.6.9 is the default version in Colab. So, after the next release, docs currently couldn't be run in Colab despite the prominent "Run in Google Colab" button in each.
For example, if I try to install from master on Colab now:
!pip install git+https://github.com/quantumlib/Cirq

I get:
Collecting git+https://github.com/quantumlib/Cirq
  Cloning https://github.com/quantumlib/Cirq to /tmp/pip-req-build-1_l01hxm
  Running command git clone -q https://github.com/quantumlib/Cirq /tmp/pip-req-build-1_l01hxm
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
    Preparing wheel metadata ... done
ERROR: Package 'cirq' requires a different Python: 3.6.9 not in '>=3.7.0'

Apparently there are ways to install different Python versions in Colab, e.g. as described here.

Yeah, this is definitely a tricky situation. For now we still work mostly on 3.6. Colab will get their version sorted out sooner or later, they are actively working on it.
However, the particular error you pointed out only happens when you install from git as the python_require config is used by setup.py. However, the distributed wheel from pypi does not check for this - the solution is to use pip install cirq --pre.

Apparently there are ways to install different Python versions in Colab, e.g. as described here.

That seems like a local runtime spun up to connect to. That's not something feasible for us.

I'm going to close this - given that we have a workaround for the actual issue. However, if this bites us in some way, we'll need to figure it out - we can reopen it again.

However, the distributed wheel from pypi does not check for this - the solution is to use pip install cirq --pre.

Ah! I didn't know this. Agree it should be closed - thanks!


chore: update projects dependencies

Purpose
Fixes: #1691
https://github.com/Taraxa-project/taraxa-evm/pull/82/f
How does the solution address the problem

Changes made

also requested new version of rocksdb to be added to conan https://github.com/conan-io/conan-center-index/issues/11119

prnet cleaned-up successfully


Add cortazar11 to Contributors List

@cortazar11, I'm quite elated about your PR. I wanna evolve this project to addresses various problems faced by first-time contributors. I'd love to learn about your journey in open source community, the problems, pain points you had etc.
Could you explain how you felt when you went through the tutorial, made a PR and learned that I merged it?
Also do you wanna have your name in contributors list?


Increase pod limit

(original issue created by @lorenz in T963)
Running VMs on top of Metropolis can quickly run against the pod limit per node with typical small cloud VMs on big servers. We want to increase this limit to at least 500 per node. This mostly needs testing and bumping the number.

So we've already increased the limit from the standard 110 to 253 pods per node, this is currently limited by the size of the network block we're allocating per node (a /24). We could increase this, but only at the cost of a lower node limit (currently 8192) until we do more network work.


Fix typo (Pikaday instead of PiCkaday)

Good catch. Thanks a lot.

I lost some hours before understanding that there was a typo 🤣.


Remember to index the ID field on subjects

IntelliJ reported that the normaliser was in expected but not actual, which confused me at first. It looks like the order of arguments to the assertion is the wrong way round.

Yeah, some of the JSON comparison logic is a bit ropey.
Thanks for helping me solve it!


Proposal for plugin support.

Background
I was listning to Roman's presentation at DKNog 2023 and was smitten by gNMIc. My employeer (netnod) has been looking for a gNMI system that we can utilize for our ST needs and gNMI fit our purpose fast.
Some context
My first task was to reimplment our statistics solution which currently use a SNMP Exporter for Prometheus to use gNMIc's prometheus output. Just basic prometheus output works really good but we have one more feature that would be good which is to append a customer specific identifier to a metric as a prometheus label. This identifier has to be fetched from a GraphQL API that contains the device + interface mapping to customer id. This is where i got stuck.
To get around this issue i wrote a custom formatter which does the thing i wanted and that was not very complex. But then we come into the issue with maintaining our fork of gNMIc which is something we dont really like to do if we dont really have to, we are a small company with few devs and SRE's. So thats why im proposing this.
I was initially looking at the GoLang plugin module (https://pkg.go.dev/plugin) but this has its drawbacks that it can get abit wonky when you run a plugin compiled by another version of go etc.
And after talking quickly with Roman on Slack about this he pointed me to https://github.com/hashicorp/go-plugin which also does the same thing but utilizing RPC calls over local sockets.
The idea i have the current formatters, actions, inputs and formatters the same way and have them included in the current code base. But also allow users of gNMIc to code their own modules to be loaded at runtime. This way one could keep their highly specific implementations to their modules but without maintaining a separate fork with all of those issues.
I have not started writing any code for plugin support there for its abit vague how its to be implemented. I'm also very happy to develop a working example if the maintainers deem this to be worthy path to pursue and think it has any chance of beeing accepted into mainline. I dont want to waste my time implementing this if there is no intrested from the maintainers for this feature.

Yeah i think its super hard to make a genric solution that fits all, and i think if you want to do such specific things as im trying todo that you need more complex logic or that you might wanna do something other then just HTTP requests (donno what it would be but hey) its better to have a plugin solution.
I agree that Golang plugins are faster but they do give the problems with modules can have problems when complied using different toolchains between the plugin and the main code. I havent done any testing on it.
The biggest thing with the HC one over Golang plugin is the separation of memory so you cant crash the main process with the HC plugins but you can with the Golang ones. But i also thinks that something that can be looked aside.
I also think the issue with compile toolchains can be ignored because i dont like the idea of having "pre-compiled-ready-to-download" plugins in a software like gNMIc i think it should be that you might have to package your own gNMIc packages and have the same toolchain enviroment for your plugins thus having complete control of the software.
If there isnt any big vocal voices saying this is a shit idea within the next few days i will start looking into building a framework for plugins i might start with formatters and then that can be used as a proof of concept and then ported over to the other types of plugins we might wanna have.

We would love this feature also.

Others solve that problem by generating labels based on the description node of a object (interface, bgp session). IMO it would be a good idea to have that use-case in mind while designing a plugin ecosystem.
References:
https://www.denog.de/media/DENOG10/day2_1240 Streaming Telemetry.pdf - Slide 8|9
https://github.com/aristanetworks/goarista/tree/master/cmd/ocprometheus#dynamic-label-extraction
https://github.com/czerwonk/junos_exporter#dynamic-interface-labels
https://github.com/exaring/openconfig-streaming-telemetry-exporter

@spolack I think gnmic already has everything DENOG deck explains in slides 8/9. @karimra can keep me honest here, but exporting XPATH key/vals as prom labels is a feature that was added since the beginning.

Getting labels from XPATH k/v is done automatically when using prometheus or influxdb as outputs.
It's also possible to automatically make any value of type string a label when using prometheus as output by setting strings-as-labels: true. With other outputs the same can be done with the event-to-tag processor.
Labels (or tags) can be added "statically" to any outgoing message using the event-add-tag processor. Or by setting tags under the target config, see here
Labels can also be "extracted" from the received message using regular expressions using event-extract-tag
To add tags from a message to other messages, there are a few options:

Use the event-value-tag processor. This requires the event messages to be grouped together beforehand. The grouping can be done by using a a cache on the output.
Use the event-starlark processor, example here

Adding a plugin processor would allow to get values from remote sources. I believe the plugin should simply be a process that takes a list of Event messages as input and returns another list of Event messages that have been modified in some way or another.


[feature request] progress bar like in puppeteer-cluster

Hi,
can I you please add a progress option like in the puppeteer cluster ? as you know in big automated task it's very crusial to know how things work .
Puppeteer-cluster progress it's look like :

Regards!

Sorry , the screanshot it's look didn't uploaded well , here it's how the progress option looks :
== Start:     2024-01-12 17:11:49.646
== Now:       2024-01-12 17:12:02.149 (running for 12.5 seconds)
== Progress:  13 / 575 (2.26%), errors: 1 (7.69%)
== Remaining: 9.0 minutes (@ 1.04 pages/second)
== Sys. load: 17.6% CPU / 47.0% memory
== Workers:   10
#0 WORK https://ajed.assembly.ca.gov
#1 WORK https://agencyreports.ca.gov
#2 WORK https://abp.assembly.ca.gov
#3 WORK https://aart.assembly.ca.gov
#4 WORK https://abnk.assembly.ca.gov
#5 WORK http://highways.dot.ca.gov
#6 WORK http://mrcapublicsafety.ca.gov
#7 WORK https://achievement.cengage.com
#8 WORK https://abilityone.oversight.gov
#9 WORK https://adoptions.ngl.cengage.com


release 0.4.0

Ⅰ. Describe what this PR did
release 0.4.0
Ⅱ. Does this pull request fix one issue?

Ⅲ. Why don't you add test cases (unit test/integration test)?
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

Codecov Report

Merging #631 into master will decrease coverage by 0.13%.
The diff coverage is 19.56%.

@@             Coverage Diff              @@
##             master     #631      +/-   ##
============================================
- Coverage     31.82%   31.69%   -0.14%
- Complexity      799      864      +65
============================================
  Files           205      228      +23
  Lines          8192     8829     +637
  Branches        965     1063      +98
============================================
+ Hits           2607     2798     +191
- Misses         5321     5715     +394
- Partials        264      316      +52

Impacted Files
Coverage Δ
Complexity Δ

...lTransactionWithGlobalLockDataSourceBasicTest.java
0% <ø> (ø)
0 <0> (ø)
:arrow_down:

...a/com/alibaba/fescar/test/DataSourceBasicTest.java
0% <ø> (ø)
0 <0> (ø)
:arrow_down:

...ava/com/alibaba/fescar/rm/AbstractRMHandlerAT.java
0% <ø> (ø)
0 <0> (ø)
:arrow_down:

...r/common/exception/ShouldNeverHappenException.java
0% <ø> (ø)
0 <0> (ø)
:arrow_down:

...rc/main/java/com/alibaba/fescar/rm/RMClientAT.java
0% <ø> (ø)
0 <0> (ø)
:arrow_down:

...escar/common/exception/NotSupportYetException.java
0% <ø> (ø)
0 <0> (ø)
:arrow_down:

...java/com/alibaba/fescar/core/protocol/Version.java
0% <ø> (ø)
0 <0> (ø)
:arrow_down:

...alibaba/fescar/common/thread/RejectedPolicies.java
50% <ø> (ø)
1 <0> (ø)
:arrow_down:

...main/java/com/alibaba/fescar/common/Constants.java
0% <ø> (ø)
0 <0> (ø)
:arrow_down:

...ain/java/com/alibaba/fescar/config/ConfigType.java
100% <ø> (ø)
4 <0> (ø)
:arrow_down:

... and 77 more

Continue to review full report at Codecov.

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

Codecov Report

Merging #631 into master will decrease coverage by 0.13%.
The diff coverage is 19.56%.

@@             Coverage Diff              @@
##             master     #631      +/-   ##
============================================
- Coverage     31.82%   31.69%   -0.14%
- Complexity      799      864      +65
============================================
  Files           205      228      +23
  Lines          8192     8829     +637
  Branches        965     1063      +98
============================================
+ Hits           2607     2798     +191
- Misses         5321     5715     +394
- Partials        264      316      +52

Impacted Files
Coverage Δ
Complexity Δ

...lTransactionWithGlobalLockDataSourceBasicTest.java
0% <ø> (ø)
0 <0> (ø)
:arrow_down:

...a/com/alibaba/fescar/test/DataSourceBasicTest.java
0% <ø> (ø)
0 <0> (ø)
:arrow_down:

...ava/com/alibaba/fescar/rm/AbstractRMHandlerAT.java
0% <ø> (ø)
0 <0> (ø)
:arrow_down:

...r/common/exception/ShouldNeverHappenException.java
0% <ø> (ø)
0 <0> (ø)
:arrow_down:

...rc/main/java/com/alibaba/fescar/rm/RMClientAT.java
0% <ø> (ø)
0 <0> (ø)
:arrow_down:

...escar/common/exception/NotSupportYetException.java
0% <ø> (ø)
0 <0> (ø)
:arrow_down:

...java/com/alibaba/fescar/core/protocol/Version.java
0% <ø> (ø)
0 <0> (ø)
:arrow_down:

...alibaba/fescar/common/thread/RejectedPolicies.java
50% <ø> (ø)
1 <0> (ø)
:arrow_down:

...main/java/com/alibaba/fescar/common/Constants.java
0% <ø> (ø)
0 <0> (ø)
:arrow_down:

...ain/java/com/alibaba/fescar/config/ConfigType.java
100% <ø> (ø)
4 <0> (ø)
:arrow_down:

... and 77 more

Continue to review full report at Codecov.

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


[v66] cannot kill ghost, found this is a config issue

@LouisSilva u cannot hit the ghost by using shovel, use dev mode and u will know

Thanks, I'll look into it later.

@LouisSilva if disable Friendly Fire, any source dmg won't be apply, and i think that's a little big problem

@LouisSilva if disable Friendly Fire, any source dmg won't be apply, and i think that's a little big problem

If friendly fire is turned off, then the ghost wont take damage from anything other than players.

hmm weird the config say won't take monster dmg..

hmm weird the config say won't take monster dmg..

Nah the config description says: "Whether the Haunted Harpist can be killed by something other than a player e.g. an eyeless dog". Sorry if that's a bit misleading.
I should note that because of the way enemies are coded, an enemy can only tell whether it took damage from a player, there is no other information given to determine the attacker.
There is also a very possible edge case where a player may be firing a rocket launcher (a weapon from a mod) at an enemy, which propels the rocket projectile at the enemy, and that projectile is what does the damage, not the rocket launcher itself. The modder may then call the enemies IHittable.Hit(int force, Vector3 hitDirection, PlayerControllerB playerWhoHit = null, bool playHitSFX = false, int hitID = -1) function from the projectile object, without filling in the playerWhoHit parameter. This would cause the Harpist to say "Well, that rocket wasn't fired from a player, so I take no damage...".
That isn't supposed to happen, because they obviously should give the projectile object a reference to the player who fired the rocket launcher and use it in the IHittable.Hit function, but accidents happen, and this is only one example of the many edge cases that can arise from this.
I will add a warning in the config saying that it may be incompatible with some mods.

oh.. i did forgot report some bug and send my opinion to u
so first, i did sug improve friendly fire option, bc in my first time i actually think that will cause ghost can trigger the landmine, so can u make 2 options change, first the ghost only can be killed when takes enough more hits, just like maneater, and second i don't like the ghost can trigger or takes the hazard dmg
now the second issue, did u notice the harp are always dropped when harpghost spawned? unlike nutcracker, u can pickup harp without aggro the ghost
i think u got a lot the work need to be done now.

now the second issue, did u notice the harp are always dropped when harpghost spawned? unlike nutcracker, u can pickup harp without aggro the ghost

In the new update (commit 3d3c184), the issue with the ghost dropping the harp upon spawning is fixed.

i don't like the ghost can trigger or takes the hazard dmg

The ghost can only trigger a hazard if you have another mod which is causing it. No enemies in the base game can trigger hazards.

first the ghost only can be killed when takes enough more hits

You can change the amount of health the ghost has in the config. I personally think that a HP of 4 is the best, but obviously thats just my opinion; you are free to set it to whatever you wish.
I'm going to close this issue now because its been resolved, thank you for reporting the bugs :)


Automatically unstick from channel if command is .gotobed

Fixed with https://github.com/dafoxia/mumble-ruby-pluginbot/commit/41892fc5ca0de5b44dec56d1575187f4e499d7a9


Method “telemetryClient.trackException(error);” is causing container crash

Application use App Insights SDK for Nodejs in a Bot Service running on Azure App Services Node 16.20.2
----- Problem -----
Method “telemetryClient.trackException(error);” is causing container crash
------Library requirement in Package.json------:
"botbuilder-applicationinsights": "^4.10.4",
------Library installed at deployment time on Package-lock.json------:
"botbuilder-applicationinsights": {
        "version": "4.22.2",

        "requires": {

            "applicationinsights": "^1.7.5",

            "botbuilder-core": "4.22.2",

            "cls-hooked": "^4.2.2"

        },

"applicationinsights": {
        "version": "1.8.10",

        "requires": {

            "cls-hooked": "^4.2.2",

            "continuation-local-storage": "^3.2.1",

            "diagnostic-channel": "0.3.1",

            "diagnostic-channel-publishers": "0.4.4"

        }

    }

------Code extract from Index.js------:
const { ApplicationInsightsTelemetryClient, TelemetryInitializerMiddleware } = require('botbuilder-applicationinsights');
function getTelemetryClient(instrumentationKey) {
if (instrumentationKey) {

    return new ApplicationInsightsTelemetryClient(instrumentationKey);

}

return new NullTelemetryClient();

}
var telemetryClient = getTelemetryClient(process.env.APPINSIGHTS_INSTRUMENTATIONKEY);
var telemetryLoggerMiddleware = new TelemetryLoggerMiddleware(telemetryClient, true);
var initializerMiddleware = new TelemetryInitializerMiddleware(telemetryLoggerMiddleware, true);
adapter.use(initializerMiddleware);
telemetryClient.trackException(error);
----- Workaround -----
App worked for days without issues after commenting the line 101: telemetryClient.trackException(error);,
----- Stack Trace -----
Method “telemetryClient.trackException(error);” is causing crash with following error:
2024-06-02T04:04:05.472628200Z Created new item using POST method
2024-06-02T04:04:05.472651000Z 9FOOB90Dwb7FBL7hbPhN8i-us
2024-06-02T04:04:05.478623676Z /home/site/wwwroot/node_modules/botbuilder/lib/botFrameworkAdapter.js:674
2024-06-02T04:04:05.478643876Z                     throw new Error(BotFrameworkAdapter.processActivity(): ${status} ERROR\n ${processError.stack});
2024-06-02T04:04:05.478649576Z                           ^
2024-06-02T04:04:05.478653676Z
2024-06-02T04:04:05.478657476Z Error: BotFrameworkAdapter.processActivity(): 500 ERROR
2024-06-02T04:04:05.478662376Z  TypeError: Cannot read properties of undefined (reading 'stack')
2024-06-02T04:04:05.478681476Z     at Function.EnvelopeFactory.createExceptionData (/home/site/wwwroot/node_modules/applicationinsights/out/Library/EnvelopeFactory.js:145:40)
2024-06-02T04:04:05.478695976Z     at Function.EnvelopeFactory.createEnvelope (/home/site/wwwroot/node_modules/applicationinsights/out/Library/EnvelopeFactory.js:32:40)
2024-06-02T04:04:05.478700577Z     at NodeClient.TelemetryClient.track (/home/site/wwwroot/node_modules/applicationinsights/out/Library/TelemetryClient.js:117:44)
2024-06-02T04:04:05.478704677Z     at NodeClient.TelemetryClient.trackException (/home/site/wwwroot/node_modules/applicationinsights/out/Library/TelemetryClient.js:70:14)
2024-06-02T04:04:05.478717777Z     at ApplicationInsightsTelemetryClient.trackException (/home/site/wwwroot/node_modules/botbuilder-applicationinsights/lib/applicationInsightsTelemetryClient.js:116:28)
2024-06-02T04:04:05.478721777Z     at BotFrameworkAdapter.adapter.onTurnError [as turnError] (/home/site/wwwroot/index.js:101:22)
2024-06-02T04:04:05.478725477Z     at runMicrotasks ()
2024-06-02T04:04:05.478729577Z     at processTicksAndRejections (node:internal/process/task_queues:96:5)
2024-06-02T04:04:05.478733677Z     at BotFrameworkAdapter. (/home/site/wwwroot/node_modules/botbuilder/lib/botFrameworkAdapter.js:674:27)
2024-06-02T04:04:05.478737877Z     at Generator.tme/site/wwwroot/node_modules/botbuilder/lib/botFrameworkAdapter.js:12:65)
2024-06-02T04:04:05.478745677Z     at runMicrotasks ()
2024-06-02T04:04:05.478750177Z     at processTicksAndRejections (node:internal/process/task_queues:96:5)

Hi @Alassaneokp and @tracyboehrer,
We were able to reproduce a similar issue by using this sample and executing the telemetryClient.trackException(error); function in the onTurnErrorHandler (line 52) with an Error purposely thrown inside one of the bot's dialogs.
What we've noticed is that by passing the Error instance in the exception property as follows: trackException({ exception: error }), it doesn't fail, and shows the error properly in App Insights.
These are the fields that the trackException parameter accepts:

Could this be related to the issue's case? If that isn't the case, what is the error value passed to the trackException call?
Thanks!

Hi @sw-joelmut,
There error value we are passing does not have exception field. I made the same change in my code.
telemetryClient.trackException({exception: new Error(error)});
The botFrameworkAdapter exception is no longer happening.
Thanks for your help.

Hi @tracyboehrer, I believe this issue can be closed. Thanks!


WebJobs dashboard has broken links

The "search blobs" link and the "about" link both don't seem to work at all.  We should fix that up or avoid showing the links.

Dashboard issues actually go in SDK (I know, confusing). Now tracked by https://github.com/Azure/azure-webjobs-sdk/issues/677


Fix behavior with large undo lists

Hello!
It seems like undo doesn't work with large undo lists, because you always grab first 50 elements of a vector. I have tried "undo" in my application and have got wrong results.
Please, fix me if I didn't understand the idea correctly.

Fix works for me

And also, the possibility to inject middleware to every handler without encapsulating register-handler will be a great feature. (I need possibility to inject my undo middleware to every handler in dev mode)

Hi @SerCeMan, thanks for this! re-frame isn't big on tests in general, but this strikes me as a case where some tests could be helpful. Could you add some that fail on the old behaviour and pass on the new?
As far as injecting handlers into lots of middleware goes, you could make a (def dev-middleware [...] to use. Would that work?

@SerCeMan   We started off thinking we needed undoable on all events, and then we realised we didn't.
We have this sort of a case:  the user clicks on a button, generating a dispatch,  and the event handler initiates a server connection,  whose on-success handler initiates a further dispatch, and the associated event hander processes that response.  And ... you don't want undoable on all those dispatches.  Just the first, user initiated one, clicking on the button.  otherwise your users can step back into intermediate states, like twirly-thing-showing-while-waiting-for-server-response.

Don't worry about the tests @SerCeMan, I'm working on them now.

Thanks for this! I've merged your changes in https://github.com/Day8/re-frame/commit/bb78981e1d2cb906b82c08c9f942763c4dbb762f.

Thanks! About undoable, I use it not only for undo/redo behaviour but also for showing the difference between versions in dev mode, it very convenient for me.

You might also find https://github.com/Day8/re-frame/wiki/Debugging convenient for that, it lets you trace individual function calls


Tied up loose ends from last major commit

Fixed HEMCOgocart for MEGAN, and StratChem species names in reduced mechanism.
Zero-diff for PCHEM.  Zero-diff for GOCART (when HEMCO is not running).

Concerns about the usage of HEMCO instances need to be resolved. I will modify this PR to accommodate them.