On-the-fly Spherical Harmonics

Is there a potential advantage in evaluating spherical harmonics on-the-fly from analytic expressions instead of recursively? It means zero-memory usage. Most likely for large lmax no, but we never go that high. And for ENN architectures, one sticks with extremely low degrees. In general, there could be a huge advantage for multi-threading.
An optimized basis code could be code-generated using StaticPolynomials.jl
https://en.wikipedia.org/wiki/Table_of_spherical_harmonics
CC @ilyes319

My very first test with just L = 3:
# symbolic R-Ylm and using only static arrays
3ns
# in-place preallocated ... `evaluate!`
107.422 ns

That is very impressive!
How many edges do you have? Do you expect it would get even better as the number of edges increases?

this is just a raw micro-benchmark of the Ylm basis. Hard to say how it would affect the performance of the entire architecture

@CheukHinHoJerry this might interest you as well...

The speed up is impressive - it would be nice if we have such a version of Ylm available. I could do that quickly this weekend. Still, I guess This might not changes a lot since the bottleneck usually comes from the correlation of features from my previous experience.
Would be great if @ilyes319 could let me know about this - is it still the same under some standard hyperparameters in MACE/general graph architectures? Or would the most costly part becomes the embedding after applying tensor contractions and keep the dimension low?

Hi Jerry - the bottleneck is different for different models. For some small ACE models that use low correlation order but comparatively large L the Ylms do end up being the bottleneck.
There are also a second aspect here. If we can manage to make this evaluation this fast but on-the-fly without storage (non-trivial!) then might reduce the memory footprint of a GNN in helpful ways.

I suggest to not rush into this now. It is not urgent for us, but Ilyes and I briefly discussed it, so I got curious and wanted to try it out.

this is superceded by #74


Override builtin functions

What would be the best way to override a built-in function? I am trying to override the array.contains function to make it work with JArray.
I created a new class which extends ArrayFunctions class trying to override Contains function
public class MyArrayFunctions : ArrayFunctions
    {
        public new static bool Contains(IEnumerable list, object item)
        {
           // custom logic
        }
    }

and setting the class in my script object like so
public class MyScriptObject : BuiltinFunctions
    {
        public MyScriptObject()
        {
            SetValue("array", new MyArrayFunctions(), true);
        }
    }

The template context is initialized with MyScriptObject
But my custom function is not getting called at all.
Appreciate your help

I'm not sure that the code today honor the "new" and the base class might override everything. Can you double check that renaming your method Contains  to e.g MyContains would work?

MyContains works. I am using that for now. Thanks!

MyContains works. I will use that in the meantime. Thanks!

This will be fixed in next 2.1.3


gomega annotation formatting

gomega annotations support printf-formatting and thus should not be passed the result of fmt.Sprintf
The linter could complain about:
  Expect(x).To(Equal(10), fmt.Sprintf("hello world, some other variable %d", y))

That should be
  Expect(x).To(Equal(10), "hello world, some other variable %d", y)

Bonus points if it supports code suggestions and thus automatic fixing of existing code :smile:

I've seen people do this wrong in Kubernetes (https://github.com/kubernetes/kubernetes/issues/115234).

Thanks for raising it @pohly.
I wonder what is the benefit for enforcing this new rule.
The assertion output will be the same and I'm not sure the readability is much better than using the fmt.Sprintf function. The reason I'm not sure about it is because each new linter rule will make it harder to adopt the linter and to upgrade it. I can add a flag to suppress it, of course, but I'm afraid it will be off in most cases.
WDYT?

My thinking was that To(..., fmt.Sprintf("hello %s", y)) could lead to problems when y contains % and Sprintf gets called again ("missing argument").
But I am not sure anymore whether Gomega will call Sprintf when it's only passed a single string. Knowing @onsi, he probably has considered this. I just don't see it documented:

<EMAIL_ADDRESS>https://onsi.github.io/gomega/#annotating-assertions

Even if Gomega passes through a single string, I prefer to have it done consistently, and the documentation for Gomega describes it without fmt.Sprintf.

Found it: https://github.com/onsi/gomega/blob/master/internal/assertion.go#L77-L87
func (assertion *Assertion) buildDescription(optionalDescription ...interface{}) string {
	switch len(optionalDescription) {
	case 0:
		return ""
	case 1:
		if describe, ok := optionalDescription[0].(func() string); ok {
			return describe() + "\n"
		}
	}
	return fmt.Sprintf(optionalDescription[0].(string), optionalDescription[1:]...) + "\n"
}

As using fmt.Sprintf is not causing any problems, it becomes a matter of taste. I agree that it should be turned off.
Does the linter support severity levels? I've not investigated how those work, but perhaps they can be used to distinguish between issues that must be fixed and those that only get called out without causing linting to fail?

The golangci-lint severity rules can be used to adjust the level depending on the desired effect.

There's actually one advantage of using fmt.Sprintf: then the linter (go vet?) which checks format string against parameters can do its work.
But I see that as a workaround for a deficiency in linting: ideally, the same check should also be applied when using Gomega's formatting (To(Equal(10), "hello world, some other variable %d", "some strng"))). Something that ginkgolinter could handle?

Sound interesting. I don't want to copy the govet (?) logic to ginkgolinter. In theory, we can export "fact" about this function call and let govet handle it. But I almost 100% sure that ginkgolinter will run later. Need to check this approach.

And another one (from Kubernetes):
gomega.Expect(s2).To(gomega.BeEmpty(), "global mount points not found: %v", s2)

Including s2 in the format arguments is redundant.

we can export "fact" about this function call and let govet handle it

I was thinking the same, but it could be problematic because the format string itself is hidden behind the interface{} slice, i.e. it's not a function of the usual pattern with func foo(<some args>, format string, args ..interface{}).

Oh. got it - this is why the printf linter can't find it. It looks for functions with 2nd last parameter of type string, and here it's interface{}.
I'm not sure I want to focus on parsing and understanding the assertion description in this linter at this point.

I'm not sure I want to focus on parsing and understanding the assertion description in this linter at this point.

Could the implementation of the printf linter be reused? Just a thought. I understand that this could get complicated.

I implemented the original idea at https://github.com/nunnatsa/ginkgolinter/pull/50, but not sure I want to merge it. I want to hear more voices.

That makes sense. After verifying that passing a single string is okay, I am not convinced myself either. It's subjective.
More important is the printf checking, because that could find real problems that are unambiguously wrong.

How often do you find this pattern?

$ git grep Expect.*Sprintf | wc -l
143

Some of those are false positives, but eyeballing the results confirms that many are legitimate.

Looking at the printf linter code again, it seems that it logic is not exposed and so it's not reusable. This linter also exports facts about function/method declarations, but the gomega assertion methods are not part of the checked code, and can't be marked as printf functions.
I couldn't find a way to reuse this linter in ginkgolinter. If you have an idea how to do that - I'll be glad to hear.

No good idea.
We could ask @onsi to add this to gomega:
func Sprintf(format string, args ...interface{}) func() {
    if false {
        // A trick to ensure that the printf linter recognizes Sprintf as doing string formatting.
        _ = fmt.Sprint(format, args...)
    }

    return func() string {
        fmt.Sprintf(string, args...)
    }
}

My expectation (to be verified!) is that using this will trigger the format checking, while being more efficient than calling fmt.Sprintf directly.
Then the linter could enforce that the annotation is either:

a plain string
a function

For "string + args" it could point towards gomega.Sprintf as replacement.
Still feels like a linter workaround, though :cry:


[DRAFT] Add autodiscovery to snmp corecheck v1

What does this PR do?
A brief description of the change being made with this pull request.
TODO:

[ ] Add persistent cache

Motivation
What inspired you to submit this pull request?
Additional Notes
Anything else we should know when reviewing?
Describe how to test your changes
Write here in detail how you have tested your changes
and instructions on how this should be tested in QA.
Describe or link instructions to set up environment
for testing, if the process requires more than just
running the agent on one of the supported platforms.
Checklist

[ ] A release note has been added or the changelog/no-changelog label has been applied.
[ ] The need-change/operator and need-change/helm labels has been applied if applicable.
[ ] The appropriate team/.. label has been applied, if known.
[ ] If known, an appropriate milestone has been selected; otherwise the Triage milestone is set.
[ ] The config template has been updated if applicable.

Note: Adding GitHub labels is only possible for contributors with write access.

Deprecated in favour of https://github.com/DataDog/datadog-agent/pull/8996


Guide for Installation on Ubuntu 20.10 on Raspberry Pi 4 with Extras!

This guide is to document how I was able to install the Wifi-connect and Wifi-connect-api  using Docker on my Raspberry Pi installed with Ubuntu 20.10 (following the ZFS Guide: Ubuntu 20.10 root on ZFS for Raspberry Pi
Installations Steps
Step 1. Install Ubuntu Per the Guide above or via the Standard Noobs Installation
Step 2. Install Docker and Docker Compose for Raspberry Pi 64 (aarch64)
Step 3. Since I wanted this to be in my existing Docker Swarm/Cluster, I Added the Following Docker-Compose Configuration to docker-compose.yaml.
Note the important parts here are to Give this container Priveleged Access, Host Network, and to define the DBUS connection as it is different in Ubuntu than BalenaOS:
---
version: "3.9"
services:
  ~~~~ Other Services Here
  wifi-connect-api:
    build:
      context: "wifi-connect-api"
      dockerfile: Dockerfile-wifi-connect-api
    image: result/latest
    network_mode: host
    privileged: true
## I am not sure how Labels work as I am new to Docker, I don't think these apply without the Balena Superviosor. Someone please correct me
    labels:
      io.balena.features.dbus: "1"
      io.balena.features.firmware: "1"
    volumes:
    - "path/to/{ui_and_web-app.py}:/usr/src/app/"
    - type: bind
      source: /dev/bus/usb
      target: /dev/bus/usb
    - type: bind
      source: /var/run/dbus
      target: /var/run/dbus

Step 4. Download the Requirements and made my Adjustments to the Scripts, UI, etc:
git clone https://github.com/balena-io-examples/wifi-connect-api

Step 5. I Modified the Dockerfile that the Docker Compose kicks off to: Dockerfile-wifi-connect-api:
FROM balenalib/raspberrypi4-64-python
RUN install_packages dnsmasq curl
ENV WIFI_CONNECT_VERSION v4.2.5
WORKDIR /tmp/download
RUN curl -Ls https://github.com/balena-os/wifi-connect/releases/download/v4.4.5/wifi-connect-v4.4.5-linux-aarch64.tar.gz \
    | tar -xvz -C /tmp/download
RUN mv wifi-connect /usr/local/sbin
RUN rm -rdf /tmp/download
WORKDIR /usr/src/app
RUN pip install --upgrade pip
COPY ./requirements.txt /requirements.txt
RUN pip install -r /requirements.txt
COPY . ./
ENV DBUS_SYSTEM_BUS_ADDRESS unix:path=/var/run/dbus/system_bus_socket
CMD ["python", "web-app.py"]

Step 6. Run Docker Build:
docker-compose build --no-cache

Step 7. Run Docker Up to start the instance to test:
docker-compose up -d

Step 8. Verify that Wifi-Connect Launches, You can connect, it sticks, no issues occur, Etc
Congratulations! The Docker container runs! Here are the Extras!
But how do I get a Secured Connections if I redirect? Well you can Preload a Certificate using Nginx or HAproxy.
What if I want to embed the Wifi Connect page in an site? Nginx and HAproxy also have the ability to handle this. Though configs can get tricky.
Step 9. Setup Haproxy/Nginx on your Raspberry Pi as a Reverse Proxy:
Nginx and Haproxy Install
apt-get install haproxy nginx -y

IPTables Rules config:
https://forums.balena.io/t/wifi-connect-and-port-80/221264/30
Haproxy Config
frontend HTTPS-IN
    bind *:443  ssl crt /ssl/haproxy.pem
    mode http

   # BEGIN CORS
    http-response set-header Access-Control-Allow-Origin "*"
    http-response del-header X-Frame-Options
    http-response set-header Content-Security-Policy "frame-ancestors https://*:*; sandbox allow-top-navigation allow-scripts allow-popups allow-forms allow-same-origin allow-presentation a>
    http-response set-header Access-Control-Allow-Headers "Origin, X-Requested-With, Content-Type, Accept, Authorization, JSNLog-RequestId, activityId, applicationId, applicationUserId, cha>
    http-response set-header Access-Control-Allow-Methods "GET, DELETE, OPTIONS, POST, PUT, PATCH"
    http-response set-header X-Frame-Options: sameorigin
    http-response set-header X-XSS-Protection: 0;

    http-request set-header X-Forwarded-Proto https if { ssl_fc }
    http-request set-header X-Forwarded-Proto http if !{ ssl_fc }

    # END CORS

    #ACL Definitions

    ## Host ACLs
    #Catch any URL with these Hostnames
    acl host_connect hdr(host) -i rPi-wc-lan-2.home.mydomain.com
    acl host_connecths hdr(host) -i hotspot.home.mydomain.com
    acl host_connectip hdr(host) -i <IP_ADDRESS>

    # and send them to this backend:
   use_backend backend_connect if host_connect
    use_backend backend_connect if host_connecths
    use_backend backend_connect if host_connectip

backend backend_connect
        mode http
        balance  leastconn
        option tcpka
        option http-keep-alive
        option forwardfor
        server Wifi-Connect hotspot.home.mydomain.com:45454  check  cookie app1

Nginx Configs
## This is the URL that you can access the client on IE: https://mydomain.com:port/wifi-connect/
        location  ^~  /wifi-connect/  {
                proxy_pass https://hotspot.home.mydomain.com:443/;
                proxy_set_header Host $proxy_host;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-Proto $scheme;
        }

Step 10. Adjust the code in the Sample Script to point to a DNS entry that is set to the IP of the Gateway:
This will redirect your Phone, mobile device to the HTTPS link of the local IP of the gateway, while allowing you to also access the Wifi Interface from outside the pi, should it be connected to the LAN and you don't want your users to access the CLI or RDP/VNC into the desktop.
@app.before_request
def before_request():
    if (request.host == 'rpi-wc-lan-2.home.mydomain.com'):
        return redirect('https://rpi-wc-lan-2.home.my.domain.com:443')
    elif (request.host != 'hotspot.home.domain.com'):
        return redirect('https://hotspot.home.domain.com')

Step 11. Modify the index.html in the UI folder to remove all prefixed / in links.
From:
<link rel="shortcut icon" href="/img/favicon.png">

To:
<link rel="shortcut icon" href="img/favicon.png">

Even More Extra's and Goodies
What if I want the Device to Dynamic Update it's FQDN?
Well, I have made a small bash script and followed the following Guide to setup a External DDNS server using Bind9 on Ubuntu 20.10. There are quiet a few difference in the bind that they used in their version, but the gist is there and it works perfectly.
Step 11.
Server Side:

DDNS Guide

Client Side:
Example Bash script, call using rc.local, systemd, cron or some other method of your choosing:

Register.sh (rename from .txt) -- register.txt

I have sanitized and stripped this down, so you will need to replace  domains, paths, usernames, etc.  but you can adjust the Sed commands to modify the web-app.py file that you mounted via a volume instead of having it read only on the Docker File System.
Sources:

Web-App.py -- Example Code -- https://github.com/balena-io-examples/wifi-connect-api
ZoL - Ubuntu - RPi 4 -- https://openzfs.github.io/openzfs-docs/Getting Started/Ubuntu/Ubuntu 20.04 Root on ZFS for Raspberry Pi.html#step-1-disk-formatting
OpenResty -- Open Source API -- https://blog.openresty.com/en/ubuntu20-or-install/
Docker -- https://docs.docker.com/engine/install/ubuntu/
Docker-Compose (PIP3) -- https://docs.docker.com/compose/install/
Wifi-Connect -- https://github.com/balenablocks/wifi-connect
This Reddit Post -- https://www.reddit.com/r/homeassistant/comments/j5g4v2/i_got_bt_working_in_docker_only_took_hours/ and his subsequent Free Software Servers

Other Potentially Similar Issues:

https://github.com/balena-os/wifi-connect/issues/238
https://github.com/balena-os/wifi-connect/issues/222
https://github.com/balena-os/wifi-connect/issues/352
https://github.com/balena-os/wifi-connect/issues/121

I'd like to know what version of python you're using, thanks

balenalib/raspberrypi4-64-python  python is 3.11，What should I do, thanks


Honor topvalue while determining isMissingvalueCompetitive in case bottom is not set

Description
There is a bug introduced with #12334 when field contains missing value and if those missing values are competitive.
isMissingValueCompetitive() implementation gets invoked comparing missingValue with bottom when bottom is not even set when After is set.
We should check with topValue in cases when bottom is not set. This PR adds that check.
Added tests for this scenario as well.
Lucene issue
#12521

This was observed here -> https://github.com/opensearch-project/OpenSearch/issues/9537

Looks good, can you add a test for missing bottom value as well?

Thanks @backslasht .
Yes the missing value comparison with bottom (as missing value) is in this test.
https://github.com/apache/lucene/blob/34523ec542c21364fffefe726e6226d7f8ffa923/lucene/core/src/test/org/apache/lucene/search/TestSortOptimization.java#L219
The test missing was, missing value comparison with top value when bottom is not set and top value is coming as missing value which I added.

Looks good, can you add a test for missing bottom minimum value for desc sort as well?

Thanks @backslasht . Yes the missing value comparison with bottom (as missing value) is in this test already.
https://github.com/apache/lucene/blob/34523ec542c21364fffefe726e6226d7f8ffa923/lucene/core/src/test/org/apache/lucene/search/TestSortOptimization.java#L219
The test missing was, missing value comparison with top value when bottom is not set and top value is coming as missing value which I added.

Sorry, I jumbled the terminologies, I meant a test with missing minimum value for desc sort.

Looks good, can you add a test for missing ~bottom~ minimum value for desc sort as well?

Thanks @backslasht . Yes the missing value comparison with bottom (as missing value) is in this test already.
https://github.com/apache/lucene/blob/34523ec542c21364fffefe726e6226d7f8ffa923/lucene/core/src/test/org/apache/lucene/search/TestSortOptimization.java#L219
The test missing was, missing value comparison with top value when bottom is not set and top value is coming as missing value which I added.

Sorry, I jumbled the terminologies, I meant a test with missing minimum value for desc sort.

Got it, makes sense. Added the test. I kept missing value as Long.MAX_VALUE only for this, it doesnt really matter for our logic for checking its competitiveness.

I'll merge next week if nobody beats me to it.

Thanks @gashutos !


Properly separate on-screen credits from popup

This PR includes small cosmetic changes to the credit system.

Credits that are on-screen are now exclusively shown on screen, instead of both the screen and popup display.
The "Data Attribution" link is not included if there are no credits to be shown in the popup display.

Thanks for the pull request @j9liu!

:heavy_check_mark: Signed CLA found.

Reviewers, don't forget to make sure that:

[ ] Cesium for Unreal Samples works.


Dragging a mwlDraggable in a child component to a mwlDroppable in the parent component

A mwlDraggable element becomes invisible when dragging out of child component area. However, continuing dropping it into a mwlDroppable element in parent component still triggers event properly. I look though codes and only find some tests related to draggableElement.style.visibility, but can not get any clues what makes mwlDraggable invisible.

Minimal reproduction of the problem with instructions
use your sample at https://github.com/mattlewis92/angular-draggable-droppable, and move mwlDraggable part into a child component.

I try to reproduce the issue at stackblitz, but get an DraggableHelper error I don't know how to resolve. Below is the link.
https://stackblitz.com/edit/angular-ezewis?file=src%2Fapp%2Fhello.component.ts

Screenshots

Versions

@angular/core:  "^6.0.5",
angular-draggable-droppable: "^3.0.1",
Browser name and version: Chrome Version 67.0.3396.99 (Official Build) (64-bit)

Hey there, the error you're experiencing is caused by the docs being for the current beta, if you add DragAndDropModule.forRoot() to your example it starts running. Please can you go ahead and update your stackblitz? Thanks!

@chimingho, Was this issue ever resolved for you?


feat: ✨ syn-tab

Pull Request
📖 Description

This PR adds the new <syn-tab>, <syn-tab-panel> and <syn-tab-group> components.
🎫 Issues

Closes #465.
👩💻 Reviewer Notes

I needed to add the contained, sharp and placement property of the tab-group also to the tab, so some stylings (like rounded borders for the focus) could be achieved.
I added the css variable --indicator-width to the tab-group. Previously, the indicator (blue active tab line) had the same width as the track (gray border under the tabs). Due to the new design, both lines have different widths and therefore I added the new css variable

Open question:

the track width of the tab-panel can be changed via exposed css variable. Should this track width be used to draw the border of the contained tab group, so something like this is possible for the user, or don't we want this to be changeable this easy?:

📑 Test Plan

have a look at:

the changes
storybook
the new components with the framework wrappers

✅ DoD

[x] I have tested my changes manually.
[x] I have added automatic tests for my changes (unit- and visual regression tests).
[x] I have updated the project documentation to reflect my changes (e.g. CHANGELOG, Storybook, ...).
[ ] I have added documentation to the DaVinci migration guide (if need be)
[x] I have made sure to follow the projects coding and contribution guides.
[x] I have made sure that the bundle size has changed appropriately.
[x] I have validated that there are no accessibility errors.
[x] I have used design tokens instead of fix css values

@kirchsuSICKAG The border with should use https://shoelace.style/tokens/more#panels --syn-panel-border-width

--syn-panel-border-width

@kirchsuSICKAG The border width should use https://shoelace.style/tokens/more#panels --syn-panel-border-width

I changed to all syn-panel tokens for the contained style (--syn-panel-border-width, --syn-panel-border-color, --syn-panel-background-color)

--syn-panel-border-width

@kirchsuSICKAG The border width should use https://shoelace.style/tokens/more#panels --syn-panel-border-width

I changed to all syn-panel tokens for the contained style (--syn-panel-border-width, --syn-panel-border-color, --syn-panel-background-color)

Perfekt. @LeaLeRose Do we use those in Figma as well?

I want to add my coment to the open question:
It is not that easy to change the border-width in Figma and also for consistency and from a design perspective the track width should be removed from the css properties.

toggling the active attribute doesn't seem to have an effect

the documentation of syn-tab-show and syn-tab-hide doesn't say anything about what the payload contains. only what type it is (string)

please review migration guide: https://gitlab.sick.com/platforms/davinci/synergymigrationguide/-/merge_requests/1

toggling the active attribute doesn't seem to have an effect

@klaarseSICKAG
Yes, this is right, but we can`t do much here about it.
In example of the tabs, only "syn-tabs" are used and there is no "syn-tab-group" around in the story.
The problem here is, our own styling for the active state, is the blue border under the tab.
The implementation for the blue border is not in the "tab" element itself, but in the "tab-group" of shoelace (the reason for this is e.g. to make the animation possible of the border, when another tab is selected).
Shoelace has additionally another color for the text of the activated tab. We don`t have this.
I already discussed it with Lea and we decided to do nothing here, because no one should use the "syn-tab" on its own, but they will always have a "syn-tab-group" around it and then the "activated" blue border will be there.

the documentation of syn-tab-show and syn-tab-hide doesn't say anything about what the payload contains. only what type it is (string)

@klaarseSICKAG
This is the information, that shoelace gives. I could vendor it to something like:
"Emitted when a tab is shown. The payload of the event returns the "panel" attribute of the shown tab"
Would that be more helpful?

I want to add my coment to the open question: It is not that easy to change the border-width in Figma and also for consistency and from a design perspective the track width should be removed from the css properties.

@mariohamann What do you think about it?
I could remove the documentation about the css variable, so it is not obvious, that there is one.
But what would happen with the other three? We have --track-color, --indicator-color and --track-width, that come from shoelace and --indicator-width, which I added. Should for all four of them the documentation be removed?
I'm not sure if we really want to remove them, as we take the flexibility (otherwise, they could still achieve it, if they have a look at the code, because I would only remove the documentation)

the documentation of syn-tab-show and syn-tab-hide doesn't say anything about what the payload contains. only what type it is (string)

@klaarseSICKAG This is the information, that shoelace gives. I could vendor it to something like: "Emitted when a tab is shown. The payload of the event returns the "panel" attribute of the shown tab"
Would that be more helpful?

Either that or a PR for shoelace. I wouldn't block this PR for that though! This text would be helpful ...


Arc 6683 test

Hi @aperreaultaubeupgrade,
What is the purpose of this PR? I'm having trouble figuring this out by just looking through it.


A way to set TARGET_GROUP_LIST="all" to automatically assign the instances target group?

In the ELB common_function.sh you could set the ELB_LIST='all' and that would prevent the need to hard code ELB values. Im wondering if there is a way to do this for an ALB in elb_v2/ for TARGET_GROUP_LIST.
I have different TG for dev, staging, and prod and would have to manually change the script for every region, in addition the way our setup works it auto generates a TG name so if anything needed to change we would need to modify the script again as the TG name would have changed.

It should be possible and I agree that this would be convenient:

get the asg name of the instance id with autoscaling_group_name
get the TargetGroupARNs of the asg


Swift 2.3 or 3 support?

Hi, I love what you've built here!
Do you have any plans to make this work with Swift 2.3 or 3?

It seem like this fork is up to date: https://github.com/tcurdt/RazzleDazzle/ for Swift 3

Swift 3 is now supported in release 0.1.4.


[CARBONDATA-3723] Fix insert failure when partition column is a first column of projection in MV

Why is this PR needed?
For Alter table drop and add column scenarios, partition columns may not be in the end of create-order column. So, added a logic to keep the partition column in the end in #3634.
But partition may not be the last projection column during mv creation. So now, create order partition is kept last, but the projection is not last. Hence the insert gives wrong data or fails.
What changes were proposed in this PR?
rearrage partition to last in create order columns, only for alter table scenarios
TODO: analyze and handle Alter table schema + MV
Does this PR introduce any user interface change?

No

Is any new testcase added?

No

Build Success with Spark 2.4.4, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbon_PR_Builder_2.4.4/485/

LGTM

Build Success with Spark 2.3.4, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/2185/

LGTM


Backwards-incompatible schema change between 2.0 and 2.1

@kpocius commented on #35:

Not sure if this is a separate issue, but after downgrading terraform requirement and upgrading the module, I can successfully run the plan, but I see it's attempting to remove Managed by Terraform comment from all resources and then trying to apply it, I get the following error:

│ Error: Provider produced inconsistent result after apply
│
│ When applying changes to uptime_check_http.example, provider
│ "provider[\"registry.terraform.io/uptime-com/uptime\"]" produced an
│ unexpected new value: .notes: was cty.StringVal(""), but now
│ cty.StringVal("Managed by Terraform").
│
│ This is a bug in the provider, which should be reported in the provider's
│ own issue tracker.

@kpocius I think your resources might have retained "Managed by Terraform" notes from v1.0 of the provider. That wasn’t a problem until in v2.1 notes became empty string by default.
I’m working to come up a viable fix for that. Meanwhile, I’d suggest assigning some value to notes for each problematic resource as a workaround. Even an empty string should work.

That's exactly what I've done, and I can confirm the workaround behaves as expected.


Upgrade from 0.2.3 to 0.3.2 causing CSV Header issues

Hello,
I wasn't able to find any documentation about this so I guess it's an issue:
we are using a CsvResolver in our RmlMapper, which is configured as such:
`private Model executeCarmlRmlEngine(File fMappingRule) {
Set mapping =
RmlMappingLoader
.build()
.load(RDFFormat.TURTLE, Paths.get(fMappingRule.getPath()));
    RmlMapper mapper =
            RmlMapper
                    .newBuilder()
                    .setLogicalSourceResolver(Rdf.Ql.JsonPath, new JsonPathResolver())
                    .setLogicalSourceResolver(Rdf.Ql.XPath, new XPathResolver())
                    .setLogicalSourceResolver(Rdf.Ql.Csv, new CsvResolver())
                    .fileResolver(Paths.get("/"))
                    .addFunctions(new BasicFunctions()).addFunctions(new UtilFunctions())
                    .build();
    return mapper.map(mapping);

}`

We have a test case that tries to read a CSV file, specifically:
id, city, bus, latitude, longitude
6523, Brussels, 25, 50.901389, 4.484444
1234, Prague, 119, 50.1, 4.1
however, upon execution, this error is generated:
Caused by: java.lang.IllegalArgumentException: Header name 'id' not found. Available columns are: [id,, city,, bus,, latitude,, longitude] 	at com.univocity.parsers.common.record.RecordMetaDataImpl.getMetaData(RecordMetaDataImpl.java:50) 	at com.univocity.parsers.common.record.RecordMetaDataImpl.metadataOf(RecordMetaDataImpl.java:114) 	at com.univocity.parsers.common.record.RecordMetaDataImpl.getObjectValue(RecordMetaDataImpl.java:374) 	at com.univocity.parsers.common.record.RecordImpl.getString(RecordImpl.java:113) 	at com.taxonic.carml.logical_source_resolver.CsvResolver.lambda$null$0(CsvResolver.java:37) 	at com.taxonic.carml.engine.GetTemplateValue.lambda$bindTemplateExpression$1(GetTemplateValue.java:53) 	at com.taxonic.carml.engine.template.CarmlTemplate$Builder.getExpressionValue(CarmlTemplate.java:161) 	at com.taxonic.carml.engine.template.CarmlTemplate$Builder.getExpressionSegmentValue(CarmlTemplate.java:168) 	at com.taxonic.carml.engine.template.CarmlTemplate$Builder.create(CarmlTemplate.java:228) 	at com.taxonic.carml.engine.GetTemplateValue.apply(GetTemplateValue.java:42) 	at com.taxonic.carml.engine.GetTemplateValue.apply(GetTemplateValue.java:14) 	at com.taxonic.carml.engine.TermGeneratorCreator.lambda$null$17(TermGeneratorCreator.java:365) 	at com.taxonic.carml.engine.SubjectMapper.map(SubjectMapper.java:37) 	at com.taxonic.carml.engine.TriplesMapper.map(TriplesMapper.java:52) 	at com.taxonic.carml.engine.TriplesMapper.lambda$map$0(TriplesMapper.java:45) 	at java.base/java.lang.Iterable.forEach(Iterable.java:75) 	at com.taxonic.carml.engine.TriplesMapper.map(TriplesMapper.java:45) 	at com.taxonic.carml.engine.RmlMapper.map(RmlMapper.java:434) 	at com.taxonic.carml.engine.RmlMapper.lambda$map$5(RmlMapper.java:362) 	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) 	at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177) 	at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133) 	at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801) 	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) 	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) 	at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) 	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) 	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) 	at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497) 	at com.taxonic.carml.engine.RmlMapper.map(RmlMapper.java:362) 	at com.taxonic.carml.engine.RmlMapper.map(RmlMapper.java:335)
now, if we modify our file to not have spaces before/after commas in the first row like this:
id,city,bus,latitude,longitude
6523, Brussels, 25, 50.901389, 4.484444
1234, Prague, 119, 50.1, 4.1
Execution is not blocked by any exception...
Any ideas?
Thank you in advance :)

Hi @vallerap,
Sadly, this seems to be a bug in v2.9.0 of univocity parsers.
I tried locally to see if an upgrade to the latest v2.9.1 fixes your issue, and it does. However, I've never upgraded it in CARML because the upgrade causes another issue, which I raised over a year ago https://github.com/uniVocity/univocity-parsers/.
Apparently univocity is not being actively maintained anymore so I'm afraid I will have to switch to another CSV library. I'll open an issue for that.
In the mean time, you could force the use of version 2.9.1 in your dependency management by adding it to your project:
<dependency>
    <groupId>com.univocity</groupId>
    <artifactId>univocity-parsers</artifactId>
    <version>2.9.1</version>
</dependency>

Hopefully that doesn't cause any new issues like the one mentioned.
By the way, I would strongly advise to upgrade to the newest version of CARML (0.4.7). It has many improvements over the 0.3.2 version. Let me know if you have any questions about that.

Hi @pmaria , thanks for the quick response, the reason why we are considering to update only to 0.3.2 atm is because otherwise we would need to update the whole component to use rdf4j 4.X (still using 3.X), which is a bit of an effort.
What would be the top 2-3 improvements between 0.3.2 and 0.4.7 from your perspective?

Hey @tomas-knap, long time :)
Since 0.4.0 we've switched to a reactive streams approach (see https://github.com/carml/carml/releases for details).
Improvements are mostly:

speed
resource usage

Thanks @pmaria, yes, that is right. Maybe we see each other again at Semantics this year! Anyway, all the best and thanks for the quick response again!


[ BUG ] Tabs in Application page doesn't change after click Fill In Form button

Describe the bug
When I clicked the Fill In Form button to apply, nothing happened to the current page. I need to refresh the browser to see the changes.
To Reproduce
Steps to reproduce the behavior:

As a User, go to Application page.
Click on one of the projects listed to apply.
Click on Fill In Form button. Reference: Screenshot 1.
After the button is clicked, there is no actions afterwards.

Expected behavior
After click Fill In Form button, the tabs in Application will change. Reference: Screenshot 2.
Screenshots
Screenshot 1
Current Behavior

Screenshot 2
Expected Behavior

Desktop:

OS: [Windows]
Browser [chrome]
Version [ 88.0.4324.104 (Official Build) (64-bit)]

As i clicked the Fill In Form. It changes the tabs automatically.
Could you share that particular Application JSON, maybe I there's issue in the application.

https://user-images.githubusercontent.com/71532216/106466800-c4a72780-64d6-11eb-8044-33dd66d0101e.mp4
Here is a short video regarding the bug that I've encountered.
When I check the http request in network, it return error status code: 500 as below:
{error: {statusCode: 500, message: "Internal Server Error"}}
    error: {statusCode: 500, message: "Internal Server Error"}
       message: "Internal Server Error"
         statusCode: 500

I can only see the changes after refresh the browser or change to another page and come back to 'Application' page.
The process for this page can be found in file pages/User/Application.vue

Noted. the Issue come from the SMTP. Closing this issue.


Add support to fields.go for protoreflect.EnumNumber with tests

Resolves https://github.com/faunists/deal-go/issues/6
@thepabloaguilar please review!

@thepabloaguilar is the current coverage I've added acceptable? Or do I need to add more?


Supported Get/Set Data Types Example is incomplete; do setters allow composing a csv?

Great library. Super intuitive (coming from longtime pandas user) and very easy to install via FetchContent.
Unless I'm misunderstanding, PR #35 allows for appending rows, but all of the pieces of code in ex006.cpp show getting, and not setting.
To compose a csv, does that mean it's possible to open an empty csv file, set rows/columns to append data, then call doc.Save() to construct it? Can we concat docs?

Thank you!
It is possible to compose a CSV document from scratch using rapidcsv, but the API was designed with focus on reading and modifying existing CSV files, so it's a bit of a roundabout way to create a document from scratch.
Having that said, some tests in the test suite does exactly that - for example tests/test009.cpp and tests/test010.cpp.
For maximum performance it might however be a good idea to explore writing CSV data manually.

Thanks. I have a csv reader and writer that reads in a 2D vector of strings, but I'd like to stick with one API as much as possible.
I also noticed the rapidcsv::Document has no begin() and end() attributes, does that mean the only way to loop is via indices and not foreach? I have a function that selects rows to give an example.
//Select rows from 2d vector of strings
std::vector< std::vector<std::string>> select_rows(std::vector< std::vector<std::string>> data, const std::vector< size_t> indices)
{
    std::vector< std::vector<std::string>> data_p(indices.size());
    std::transform(
        indices.begin(), indices.end(),
        data_p.begin(),
        [data](size_t index) {return data[index];}
    );
    return data_p;
}

void select_rows(rapidcsv::Document& doc, const std::vector< size_t> indices)
{
    // Assumes given indices are sorted.

    /*
    // "Modern" version
    std::vector< size_t> indices_all(doc.GetRowCount());
    indices_all.reserve(doc.GetRowCount());
    int x = 0;
    std::generate(indices_all.begin(), indices_all.end(), [&]{ return x++; });

    // Calculate index complement
    std::vector< size_t> indices_remove;

    std::set_difference(
        indices.begin(), indices.end(),
        indices_all.begin(), indices_all.end(),
        std::back_inserter(indices_remove)
    );
    */
    std::vector< size_t> indices_remove;
    for( size_t i = 0, index_keep = 0; i < doc.GetRowCount(); i++ )
    {
        if (i == indices[index_keep])
        {
            index_keep++;
            continue;
        }
        indices_remove.push_back(i);
    }

    // Select rows
    for (const auto& index_row : indices_remove)
    {
        doc.RemoveRow(index_row);
    }
}

Thanks. I have a csv reader and writer that reads in a 2D vector of strings, but I'd like to stick with one API as much as possible.

Ok that makes sense.

I also noticed the rapidcsv::Document has no begin() and end() attributes, does that mean the only way to loop is via indices and not foreach?

Yes, currently this is the case. The API was designed mainly to facilitate reading CSV data by columns. I know many other CSV libraries focus on iterating over entire rows.
Internally the raw parsed data (including any header row and column) is stored in the private member
std::vector<std::vector<std::string>> mData;

which is a vector of rows, and each row is a vector of cells/strings. So for your use-case you could consider modifying rapidcsv adding a GetData() which could return mData, thus allowing iteration over raw rows (and their columns).

I will proceed to close this issue, but feel free to re-open it if you have any follow-up questions on the same topic.


The field name in Cargo.toml is repository

To allow Crates.io , lib.rs and the Rust Digger to link to it. See the manifest for the explanation.

Thanks for this, I meanwhile committed fix to all Cargo.toml files so this PR will be a no-op (but I think it will be merged anyway)

Ah, since I had committed c774ee553afb24401587bd2807c0fb38dfe41385 this won't be merged.
Still, thanks again for making me aware contribution.
I will publish a new version of the crates soon.


[Custom Chart] hideOverlap of labelLayout does not work correctly

Version
5.2.2
Reproduction link
https://codesandbox.io/s/brave-silence-4jwte
Steps to reproduce

Plot custom chart using renderItem function
Set labelLayout: { hideOverlap: true}

What is expected?
The label of components in custom chart must be display correctly in which hide labels will be display when zoom in
What is actually happening?
Some labels are disappear when zoom in and zoom out again

The chart before zoom in

The chart after zoom/in and out, some labels such M, N, orf1ab are disappeared

@pissang Our tool is waiting for the fixes for this bug and I am trying to fix this bug by myself. I've just started looking at Echarts code and am having difficulties figuring out which part of the code I should be working on, can you just give me some hints about that?

@nhhaidee Hi, LabelManager#layout may be a good entry to dig into this issue. You can add a breakpoint in this function to see how it behaviors.

@pissang Thank for suggestion. I dug into the code and as my understanding, it seems that once a label is set to ignore (due to overlap) and it will be kept forever for that label. The code should be able to re-update ignore values whenever user zooms in or out
Please see the test file which I created and placed it into test folder for debugging this bug.
custom-Gene.zip


[QUESTION] Response model with pydantic's arbitrary_types_allowed not working

I use pydantic model with custom type.  Set in config arbitrary_types_allowed=True.
Without setting a parameter "response_model" it's work. But when I set this model in param:
fastapi.exceptions.FastAPIError: Invalid args for response field! Hint: check that <class 'Foo'> is a valid pydantic field type

Pydantic class definition example:
import Foo

class Model(BaseModel):
    id: str
    custom: Optional[Foo] = Field(None)
    status: str = None
    fail_message: Optional[str] = None
    params: Dict[str, Any] = None

    @validator('custom')
    def deserialize_model(cls, v):
        return Foo.loads(v)

    class Config:
        arbitrary_types_allowed = True
        json_encoders = {Foo: lambda v: v.dumps()}

I see the same issue with an Arrow type returned from the SQLAlchemy model. arbitrary_types_allowed is not working when using the pydantic model in the response_model.

Please create a small self-contained example with a minimal FastAPI app that shows the error and what you would expect to happen, that way I can understand what's happening and what you want to achieve.

@tiangolo I think the config is getting lost in the create_cloned_field function.
new_field = create_response_field(name=field.name, type_=use_type)

Shouldn't it also pass model_config?

I ended up using a custom Pydantic field validator, instead of using arbitrary_types_allowed:
class AssociationList(_AssociationList):
    """Sqlalchemy AssociationList"""

    @classmethod
    def __get_validators__(cls):
        yield cls.validate

    @classmethod
    def validate(cls, v):
        if not isinstance(v, _AssociationList):
            raise TypeError("AssociationList required")
        return [UserOut.from_orm(u) for u in v]

class TeamOut(TeamBase):
    members: AssociationList
    ...

Same problem here:
from pydantic import BaseModel
from fastapi import FastAPI

class Pair:
    def __init__(self, x: int, y: int):
        self.x: int = x
        self.y: int = y

class M(BaseModel):
    pair: Pair
    other: int

    class Config:
        arbitrary_types_allowed = True

app = FastAPI()

@app.get("/m/", response_model=M)
def just_m():
    return M(pair=Pair(x=5, y=7), other=8)

will report error:
fastapi.exceptions.FastAPIError: Invalid args for response field! Hint: check that <class 'test.Pair'> is a valid pydantic field type

I get the same error, when the instance is a List[Pair] instead of M (as given below)
@app.get("/m/", response_model=List[Pair])
def just_m():
    return [Pair(x=5, y=7)]

@fubupc you can monkey patch the arbitrary class to tell fastapi a way to render it:
from pydantic import create_model

def validate(cls):
    yield lambda cls, v: v if isinstance(v, cls) else cls(**v)
Pair.__get_validators__ = classmethod(validate)
Pair.__pydantic_model__ = create_model("Pair", x=(int, ...), y=(int, ...))

class M(BaseModel):
    pair: Pair
    other: int

    class Config:
        # don't need arbitrary types any more now that "Pair" has a validator
        json_encoders = {
            Pair: lambda pair: {"x": pair.x, "y": pair.y, }
        }

More details here.

I had the same problem, but then I found out that I forgot to inherit from BaseModel
# WRONG
class AuthorType:
    name: str
    username: str

# OK
class AuthorType(BaseModel):
    name: str
    username: str

@teplinsky-maxim Your solution is great when not using an existing class provided by a library. The example provided by @karolzlot above is what I should have provided to @tiangolo way back in April 2020 😅 Thank you for that.

@tiangolo please reopen 🥺🙏

Please refer to my code example here for a full working way to do this:
https://github.com/tiangolo/sqlmodel/issues/235#issuecomment-1162063590

Here's a full, stand-alone repro showing that arbitrary types can be used with custom serialization/deserialization when using raw pydantic:
# repro.py
from typing import Union
import phonenumbers
import pydantic

def phone_number_validator(
        value: Union[str, phonenumbers.PhoneNumber]
) -> phonenumbers.PhoneNumber:
    if isinstance(value, phonenumbers.PhoneNumber):
        return value
    try:
        number = phonenumbers.parse(value, None)
    except phonenumbers.NumberParseException as ex:
        raise ValueError(f'Invalid phone number: {value}') from ex
    if not phonenumbers.is_possible_number(number):
        raise ValueError(f'Invalid phone number: {value}')
    return number

class MyModel(pydantic.BaseModel):
    phone_number: phonenumbers.PhoneNumber

    _validate_phone_number = pydantic.validator(
        'phone_number', pre=True, allow_reuse=True)(phone_number_validator)

    class Config:
        arbitrary_types_allowed = True
        json_encoders = {
            phonenumbers.PhoneNumber: lambda p: phonenumbers.format_number(
                p, phonenumbers.PhoneNumberFormat.E164),
        }

To JSON:
>>> repro.MyModel(phone_number=phonenumbers.example_number('CH')).json()
'{"phone_number": "+41212345678"}'

From JSON:
>>> repro.MyModel.parse_raw('{"phone_number": "+41212345678"}')
MyModel(phone_number=PhoneNumber(country_code=41, national_number=212345678, extension=None, italian_leading_zero=None, number_of_leading_zeros=None, country_code_source=0, preferred_domestic_carrier_code=None))

However, when used as a FastAPI response_model it fails with:
fastapi.exceptions.FastAPIError: Invalid args for response field! Hint: check that <class 'phonenumbers.phonenumber.PhoneNumber'> is a valid pydantic field type

I can confirm, this is still an issue. Here is a minimal reproducible example similar to what @tibbe wrote above, but without any external dependencies:
from typing import Union

from fastapi import FastAPI
from pydantic import BaseModel, validator

class Foo:
    def __init__(self, value: int) -> None:
        self.value = value

    def __eq__(self, other: object) -> bool:
        if not isinstance(other, Foo):
            return NotImplemented
        return self.value == other.value

class MyModel(BaseModel):
    foo: Foo

    @validator("foo", pre=True)
    def valid_foo(cls, v: Union[str, Foo]) -> Foo:
        if isinstance(v, Foo):
            return v
        if isinstance(v, int):
            return Foo(v)
        raise TypeError("Invalid Foo type")

    class Config:
        arbitrary_types_allowed = True
        json_encoders = {
            Foo: lambda foo: foo.value,
        }

def test_json():
    obj = MyModel(foo=Foo(123))
    obj_json = obj.json()
    parsed_obj = MyModel.parse_raw(obj_json)
    assert obj == parsed_obj

def test_api():
    api = FastAPI()

    @api.get("/model/", response_model=MyModel)
    def example_route():
        return MyModel(foo=Foo(123))

if __name__ == '__main__':
    test_json()  # works
    # test_api()  # fails with "Invalid args for response field!"

Full error (as posted multiple times):
Traceback (most recent call last):
  File "/home/daniil/coding/workbench/.venv/lib/python3.10/site-packages/fastapi/utils.py", line 78, in create_response_field
    return response_field(field_info=field_info)
  File "pydantic/fields.py", line 436, in pydantic.fields.ModelField.__init__
  File "pydantic/fields.py", line 557, in pydantic.fields.ModelField.prepare
  File "pydantic/fields.py", line 831, in pydantic.fields.ModelField.populate_validators
  File "pydantic/validators.py", line 765, in find_validators
RuntimeError: no validator found for <class '__main__.Foo'>, see `arbitrary_types_allowed` in Config

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/daniil/coding/workbench/so/fastapi_custom_types.py", line 52, in <module>
    test_api()  # fails with "Invalid args for response field!"
  File "/home/daniil/coding/workbench/so/fastapi_custom_types.py", line 46, in test_api
    def example_route():
  File "/home/daniil/coding/workbench/.venv/lib/python3.10/site-packages/fastapi/routing.py", line 626, in decorator
    self.add_api_route(
  File "/home/daniil/coding/workbench/.venv/lib/python3.10/site-packages/fastapi/routing.py", line 565, in add_api_route
    route = route_class(
  File "/home/daniil/coding/workbench/.venv/lib/python3.10/site-packages/fastapi/routing.py", line 405, in __init__
    ] = create_cloned_field(self.response_field)
  File "/home/daniil/coding/workbench/.venv/lib/python3.10/site-packages/fastapi/utils.py", line 104, in create_cloned_field
    use_type.__fields__[f.name] = create_cloned_field(
  File "/home/daniil/coding/workbench/.venv/lib/python3.10/site-packages/fastapi/utils.py", line 107, in create_cloned_field
    new_field = create_response_field(name=field.name, type_=use_type)
  File "/home/daniil/coding/workbench/.venv/lib/python3.10/site-packages/fastapi/utils.py", line 80, in create_response_field
    raise fastapi.exceptions.FastAPIError(
fastapi.exceptions.FastAPIError: Invalid args for response field! Hint: check that <class '__main__.Foo'> is a valid pydantic field type

And yes, @bcb already pointed out where the error stems from. I'll see, if there already is a PR for this, and if not maybe create one.


k8s: add service metadata fields

To test run the below and verify using UI:
kubectl create -f tests/k8s/statefulset.yaml

run tests

run tests

kindly review/merge, thanks


Difficulty installing on Ubuntu 19.10

The precompiled binary is linked against Qt 5.13 but the packaged version is 5.12.4

$ sudo apt install -y libportaudio2 libtorch3-dev libfftw3-dev libopengl0 qt5-default
$ wget https://github.com/ichi-rika/speech-analysis/releases/download/v1.2.3/speech-analysis-linux.zip
$ unzip speech-analysis-linux.zip

$ cd speech-analysis/
$ ./speech_analysis
./speech_analysis: /lib/x86_64-linux-gnu/libQt5Core.so.5: version `Qt_5.13' not found (required by ./speech_analysis)

$ ls -l /lib/x86_64-linux-gnu/libQt5Core.so.5
lrwxrwxrwx 1 root root 20 Feb  7 11:18 /lib/x86_64-linux-gnu/libQt5Core.so.5 -> libQt5Core.so.5.12.4

The fix is to omit qt5-default from the apt install list and instead install the specific version from the developers
$ wget https://download.qt.io/archive/qt/5.13/5.13.2/qt-opensource-linux-x64-5.13.2.run
$ chmod +x qt-opensource-linux-x64-5.13.2.run
$ ./qt-opensource-linux-x64-5.13.2.run

However this requires registering with qt.io.
In addition I tried compiling from source against the system Qt but was unsuccessful
$ git clone https://github.com/ichi-rika/speech-analysis.git
$ cd speech-analysis/
$ ./build-lin.sh

...
CMake Error at CMakeLists.txt:51 (find_package):
  By not providing "FindFFTW3.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "FFTW3", but
  CMake did not find one.

  Could not find a package configuration file provided by "FFTW3" with any of
  the following names:

    FFTW3Config.cmake
...

Per the instructions at this FFTW3 issue I was able to get past this by installing from source using CMake
$ wget http://www.fftw.org/fftw-3.3.8.tar.gz
$ tar -xf fftw-3.3.8.tar.gz
$ cd fftw-3.3.8/
$ mkdir build
$ cd build/
$ cmake ..
$ make
$ sudo make install

However I then ran into the same problem with libportaudio
CMake Error at CMakeLists.txt:43 (find_package):
  By not providing "Findportaudio.cmake" in CMAKE_MODULE_PATH this project
  has asked CMake to find a package configuration file provided by
  "portaudio", but CMake did not find one.

  Could not find a package configuration file provided by "portaudio" with
  any of the following names:

    portaudioConfig.cmake

and was unable to find a fix.
In any case, there is a route forward that isn't too bad, I'm just reporting the issue in case some additional documentation would make things easier for anyone else.
As a side note, would there be any interesting in releasing this through Docker?
Thanks for creating this amazingly useful application!

Wow, release 1.3 obviates all of this, very nice!!


[HUDI-3333] fix that getNestedFieldVal breaks with Spark 3.2

Tips

Thank you very much for contributing to Apache Hudi.
Please review https://hudi.apache.org/contribute/how-to-contribute before opening a pull request.

What is the purpose of the pull request
fix problems that writing data using DefaultHoodieRecordPayload in spark 3.2 env will throw an exception as follows:
org.apache.avro.AvroRuntimeException: Not a valid schema field: ts
	at org.apache.avro.generic.GenericData$Record.get(GenericData.java:256)
	at org.apache.hudi.avro.HoodieAvroUtils.getNestedFieldVal(HoodieAvroUtils.java:439)
	at org.apache.hudi.common.model.DefaultHoodieRecordPayload.getNestedFieldVal(DefaultHoodieRecordPayload.java:134)
	at org.apache.hudi.common.model.DefaultHoodieRecordPayload.updateEventTime(DefaultHoodieRecordPayload.java:92)
	at org.apache.hudi.common.model.DefaultHoodieRecordPayload.getInsertValue(DefaultHoodieRecordPayload.java:83)
	at org.apache.hudi.execution.HoodieLazyInsertIterable$HoodieInsertValueGenResult.<init>(HoodieLazyInsertIterable.java:90)
	at org.apache.hudi.execution.HoodieLazyInsertIterable.lambda$getTransformFunction$0(HoodieLazyInsertIterable.java:103)
	at org.apache.hudi.common.util.queue.BoundedInMemoryQueue.insertRecord(BoundedInMemoryQueue.java:190)
	at org.apache.hudi.common.util.queue.IteratorBasedQueueProducer.produce(IteratorBasedQueueProducer.java:46)
	at org.apache.hudi.common.util.queue.BoundedInMemoryExecutor.lambda$null$0(BoundedInMemoryExecutor.java:92)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)

That's because avro will throw exception if one key is not in Record since avro 1.10.
Before Avro 0.10:

Arvro 0.10:

Brief change log
Catch AvroRuntimeException if returnNullIfNotFound is true in HoodieAvroUtils.getNestedFieldVal
Verify this pull request
Run TestMORDataSource#testPrunedFiltered successfully.
(Please pick either of the following options)
This pull request is a trivial rework / code cleanup without any test coverage.
(or)
This pull request is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:
(example:)

Added integration tests for end-to-end.
Added HoodieClientWriteTest to verify the change.
Manually verified the change by running a job locally.

Committer checklist

[ ] Has a corresponding JIRA in PR title & commit

[ ] Commit message is descriptive of the change

[ ] CI is green

[ ] Necessary doc changes done or have another open PR

[ ] For large changes, please consider breaking it into sub-tasks under an umbrella JIRA.

@hudi-bot run azure

@YannByron nice fix!


Test button in script editor

Add an Evaluation/Test button in the script editor that would run the script and let the user know which action would have been carried out, without actually performing the action.
Would often be useful when writing scripts to check that the edit is doing what you'd want (and avoid facepalm moments where it really doesn't do what you want, and the fight moves on to the next turn with an unwanted action)

Note that there already is a test() action. It isn't the best UX, but you can transform
use(#1) [ enemy.dead ]
use(#2)

to
test(use(#1)) [ enemy.dead ]
test(use(#2))

and will get the wanted behaviour.
I suggest we would do the same transformation under the hood, if we add such a button.

I have added some UX around this and it should be available in v1.3:

I had a quick test with it and I don't think it quite works. Looks like it only inspects the conditions, not if the actual action is possible even if the condition is met? (i.e. spell on cooldown, this pet doesn't have the spell, the pet you try to swap to is already active etc)

Yeah, I didnt release v1.3 yet because I was aware of some issues but I had to head out today so pushed what I had time to do.


See this UI design

Try uploading it again, it's not visible.

Try uploading it again, it's not visible.

I can't understand why it is not uploading.
I send it to you via email.

I can't understand why it is not uploading.
I send it to you via email.

Make it  like this.

Make it  like this.

Currently I reuse the UI of ExoPlayer and extend it here and there just a little to add few more features or gestures. I keep a list of small things to tweak but I don't think I will do anything major. It's good enough for me and I'm pretty happy with the current setup.


update limitations section

clarified that create statistics on external tables is not supported on Azure SQL Database.

#sign-off

@shkale-msft : Thanks for your contribution to the SQL documentation! The author, @barbkess, has been notified to review your proposed change.

@shkale-msft Thanks - are you a Microsoft Employee?  If so, in the future, can you make these edits through https://github.com/microsoftdocs/sql-docs-pr?
One quick edit -- please change the "is" to "are" in the sentence "on external tables is".

Thanks @barbkess! I have addressed your review comments.

#sign-off


Hi, Can I add psr-4 namespaces into composer.json? Howto?

Hi there.
Your questions is kind of out of scope of this project, which is a docker image running php (and php-unit).
I would refer to the composer.json documentation for more information about psr-4 namespaces and auto-loading: https://getcomposer.org/doc/04-schema.md#psr-4


[hunspell:windows-x64] build failure

Host Environment

OS: Windows x64 (en-US locale, using cmd)
Compiler: revision

To Reproduce
Steps to reproduce the behavior:
(using cmd) ./vcpkg install hunspell:windows-x64
Expected behavior: Library downloads & compiles successfully
What happens:
Build fails due to autoreconf command failing
Failure logs
-- Found external ninja('1.10.2').
-- Configuring x64-windows
-- Using msys root at F:/vcpkg/downloads/tools/msys2/f04a632dd84902ee
-- Using msys root at F:/vcpkg/downloads/tools/msys2/50864d9fae363d6e
-- Generating configure for x64-windows
CMake Error at scripts/cmake/vcpkg_execute_required_process.cmake:105 (message):
    Command failed: F:/vcpkg/downloads/tools/msys2/f04a632dd84902ee/usr/bin/bash.exe --noprofile --norc --debug -c "autoreconf -vfi"
    Working Directory: F:/vcpkg/buildtrees/hunspell/src/v1.7.0-658f8373e7/
    Error code: 1
    See logs for more information:
      F:\vcpkg\buildtrees\hunspell\autoconf-x64-windows-out.log
      F:\vcpkg\buildtrees\hunspell\autoconf-x64-windows-err.log

autoconf-x64-windows-err.log
autoconf-x64-windows-out.log
Additional context
It looks like this is failing because autoreconf is expecting a README file in the source directory, but in the upstream repository this file is a symlink to README.md. When the source tree gets extracted on Windows in a non-privileged environment, tar is unable to create the symlink, and so automake sees no README and is unhappy.

Installing with --editable and manually creating the symlink with mklink, and installing as an administrator account both succeeded without issue.


always specify the schema when referencing a table name in the migration

BACKEND PULL REQUEST
Related Issue

Newer versions of spring uses a newer versions of the Liquibase library that is more strict than the current version.

Changes Proposed
liquibase org.liquibase:liquibase-core version (managed by spring) has been updated from 3.10 to 4.5, the new version is stricter when running the old migrations, and it require you to specify the schema every time you reference a table,
Note:
this will require manual db checksum fix, for every azure env and local db

Will pair with @jdorothy when merging this to main.

I might be remembering wrong, but didn't we discover that it's possible to explicitly list out allowable checksums on each migration in the changelog, thereby removing the need to manually update the checksums in the dbs in each env?

@nickclyde IIRC the checksums vary per environment, so we would need to gather checksums for each changeset for each env. I think it's faster for us to just go in and manually update them

@nickclyde IIRC the checksums vary per environment, so we would need to gather checksums for each changeset for each env. I think it's faster for us to just go in and manually update them

Hmm, in order to manually update them, wouldn't we need to calculate them in advance anyways? Because we can't deploy the new migrations before updating the checksums in the DB, otherwise the migration will fail, right?


remove GUI documentation from wiki

a missing piece of #95
not urgent since the upcoming 0.1.8 release still has the GUI, but an eventual 0.1.9 release won't

Removed.


Updated test cases.

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

Comparison is base (23d7159) 83.52% compared to head (9569925) 92.29%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #27      +/-   ##
==========================================
+ Coverage   83.52%   92.29%   +8.76%
==========================================
  Files          13       13
  Lines         941      934       -7
==========================================
+ Hits          786      862      +76
+ Misses        155       72      -83

Files
Coverage Δ

...ponents/ferroamp_operation_settings/coordinator.py
82.63% <ø> (+32.63%)
:arrow_up:

... and 1 file with indirect coverage changes

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


Update image for GPXmagic V3.

This is just reflecting a major version bump.

@peterjamesward You will need to update your fork with the latest upstream changes so that you can resolve the merge conflict. Also, I think you removed the image.

Yes, sorry, brain broke. I (hope I) have done it now.
Peter
On 24 Nov 2022, at 20:15, Dwayne Crooks @.***> wrote:
@peterjamesward https://github.com/peterjamesward You will need to update your fork with the latest upstream changes so that you can resolve the merge conflict. Also, I think you removed the image.
—
Reply to this email directly, view it on GitHub https://github.com/dwayne/builtwithelm/pull/28#issuecomment-1326812817, or unsubscribe https://github.com/notifications/unsubscribe-auth/AIGKEFW3T6YZKXDRMZMQQFTWJ7EG5ANCNFSM6AAAAAASGRTSRY.
You are receiving this because you were mentioned.


restore Windows 7 support

Feel free to try this one off build with Windows 7 support. Just downgraded to Python 3.8.
Don't expect any further updates since the future qt6 upgrade for apple silicon support doesn't support windows 7. At some point, we must give up the old to get the new.
https://github.com/axu2/kcc/releases/tag/v5.6.5-win7

@darodi I think the upgrade from qt5 to qt6 warrants a KCC v5.6.5 to v6.0.0 upgrade, not just a v5.7.0 upgrade. What do you think?

@axu2
Sure, this is a major upgrade.
I'll have a look at the docker image.
I left this problem on standby for too long
I'm also wondering if a tool like this wouldn't be a good idea for a new front end.
https://github.com/python-eel/Eel

@darodi thanks for looking into docket, finalizing 6.0.0 would be nice.
Also, why do you think a new frontend is needed?


Incorrect check in setup.py for pysteam 1.0.0-b2

Your 1.0.0-b2 package on pypi containts:
version='1.0.0-beta2'

This conflicts with the b2 in requirements.txt. Once corrected to b2 in the version line, it will work.
Corrected package (of course I can't change your b2):
https://pypi.python.org/pypi/pysteam-steamos/1.0.0-b2
See:
https://github.com/scottrice/pysteam/pull/6

Huh, its odd that this isnt working for you. Ice uses b2 in it's setup.py and it works fine (https://github.com/scottrice/Ice/blob/master/requirements.txt#L3).
I'm not super familiar with Python packaging though, so I'll take your word for it.

Fixed by #6

Yea it complains if you parse requirements.txt, which has b2, but the b2 you originally had, has beta2* in it's pkg info.

Did you add this yet to pypi ? I can't upload a different version since it's under your name.


Support for password and JWT/SAML SSO grant types in OAuthMiddleware

Related to #1036, I'd like to see support for:

Resource Owner Password Credentials (password) authorization grant.
JSON Web Token (JWT) Profile for OAuth 2.0 Client Authentication and Authorization Grants (RFC 7523)
Security Assertion Markup Language (SAML) 2.0 Profile for OAuth 2.0 Client Authentication and Authorization Grants (RFC 7522)

The current OAuthMiddleware seems to support the Authorisation Code grant and its redirect flow only. (It would be nice to make this more explicit in the documentation)
All three above mentioned grant types are critical for our login needs, and I've currently built custom support for these in our ASP.NET 4.6 app. As I'm refactoring the codebase to ASP.NET Core, I'm now in need to have this support, or build a custom implementation.
If there are no immediate plans for this, I'm happy to entertain the idea of making a PR to add this support to the OAuthMiddleware. It will likely need some design discussions, and I may need guidance on the approach for this PR so it can be merged in.
Interested to hear your thoughts @HaoK related to #1190. 😄

@bgever Many of the things you're asking for (including revocation, introspection, extension grants, etc) are already supported by IdentityServer: http://identityserver.io/

@brockallen don't forget that OAuthMiddleware is the OAuth2 client base middleware used by the social providers, not the equivalent of Katana's OAuthAuthorizationServerMiddleware in vNext.

@brockallen For clarity, with "OAuthMiddleware" I mean the OAuth client (consumer) support rather than OAuth server, which base implementation is done with the OAuthMiddleware<TOptions> class.
There are framework and contributed (aspnet-contrib/AspNet.Security.OAuth.Providers - kudos to @PinpointTownes) implementations/providers for it, or you can even write your own like I did with the Meetup one in my linked example project. Maybe even a generic one for IdentityServer with support for all these fancy features would be nice. 😉 Especially since we're likely going to upgrade our current ASP.NET Identity Framework 2 based OAuth server to IdentityServer4 at some point. 😄

Yes, I misunderstood -- I thought you were asking Microsoft to add those features as a server feature.

No worries - I appreciate the input. Maybe it should have been called the OAuthClientMiddleware in the first place. Naming stuff is hard. 😏

Maybe even a generic one for IdentityServer with support for all these fancy features would be nice.

Given that IdSrv is an OIDC server, the OIDC client middleware would probably be a better choice :smile:

There are framework and contributed (aspnet-contrib/AspNet.Security.OAuth.Providers - kudos to @PinpointTownes) implementations/providers for it, or you can even write your own like I did with the Meetup one in my linked example project.

Haha, thanks! Feel free to submit your provider if you want to see included in the aspnet-contrib stuff :smile:

@bgever we are already overbooked for 2.0 right now, so this isn't something we have immediate plans to look at, so if this is something important to you, a PR might be the best way to get the ball rolling on what you have in mind, plus I believe we got things like SaveTokens in the base OAuth implementation (from a @PinpointTownes PR)

@HaoK I was anticipating this as we're so close to the 2.0 release. I don't mind getting started on a PR, as I'll need to make a custom implementation anyhow. It would be great to have this eventually built into the framework, with an additional security review by your team as I'm by no means a security expert.
Should I branch of dev? I'm thinking whether: 1) I can expand on OAuthMiddleware<TOptions> and then include into my project my own fork, or 2) should I start by creating a copy of the OAuthMiddleware<TOptions> class in a separate lib for later replacement of the original? As I'd would want to do some actual integration tests aside from unit tests. My current projects are on 1.1, and would upgrade to 2.0 when available. Would be good to hear your recommended approach on this.

Maybe even a generic one for IdentityServer with support for all these fancy features would be nice.

Given that IdSrv is an OIDC server, the OIDC client middleware would probably be a better choice 😄

If OpenID Connect (OIDC) can be used in the application, then it could be a better approach than the proposed flows. However, unless I misunderstood, the OIDC client middleware doesn't support the OAuth password or JWT/SAML SSO grant flows. When this issue is closed, the OAuthMiddleware should support these grant flows, also with IdentityServer.
The scenario I'd like to support is where the application (ASP.NET Core site) has its own (custom styled) login form (username & password) or SSO token forwarding endpoint, but handles authentication on the OAuth server. On successful authentication (tokens are returned) then the site maintains a session for the user based on the OAuth response with cookie authentication.

There are framework and contributed (aspnet-contrib/AspNet.Security.OAuth.Providers - kudos to @PinpointTownes) implementations/providers for it, or you can even write your own like I did with the Meetup one in my linked example project.
Haha, thanks! Feel free to submit your provider if you want to see included in the aspnet-contrib stuff 😄

Yes, I'm planning to submit a PR for the Meetup provider once I've tested it a bit more on what user info to include in the claims. 😄 Currently it only authenticates, but meetup group info isn't included yet.

@HaoK Looking at the impact of aspnet/Announcements#232, I don't think I can start working on a PR for 2.0 as we're still dependent on 1.1. However, as I was able to make a custom build of 1.1 and include that in my projects, I can start working on an implementation based on the current 1.1 OAuthMiddleware. Then, once 2.0 is out and our project switches over, I can refactor the code and make a PR for 2.0.
One thing I'm currently stuck on is how to pass the username & password or JWT/SAML token to the OAuthMiddleware. I feel I should use HttpContext.Authentication.ChallengeAsync method. That means passing the values in custom fields on the AuthenticationProperties. Does that sound right?
Unfortunately the excellent documentation :trollface: on the AuthenticationManager was of no use.

I'm giving up on the PR for the 1.1 codebase, as I'm struggling for days to find my way around the poorly documented interfaces, abstractions, overrides and callback logic. The OAuthHandler's current inheritance of RemoteAuthenticationHandler is a blocker, which would require complex switching logic to avoid a redirect.
The authentication refactor for 2.0 is much welcome and improves on these parts, however I would suggest to document the code with explanations why certain behaviour is in place.
Heck, at a minimum consider to document the essential interfaces like AuthenticationManager and its params, even in the 1.1 codebase...

Moving to Backlog because there are no plans to implement this at this time.


Test to enable fully Redfish ONLY support

The xyz properties would no longer be working
Relies on ONLY Redfish /redfish/v1/xxx  for the test code
Infrastructure and back end changes
Testing involved
Inform community when ready

IMPORTANT

Should not break Code update
Should not break Boot test
Should not break FFDC
Should not impact upstream HW CI test
Should not break existing REST infrastructure for community depending on it.
Should not break a mix of REST + Redfish mixed builds for community

We have done this changes over multiple commits. Closing this

Excuse me,how to set it


renderSingleSided and renderReverseSided properties for shadow (feature request)

I want renderSingleSided and renderReverseSided passed to renderer.shadowMap.renderSingleSided and renderer.shadowMap.renderReverseSided respectively.
Some models I'm working with need them false.
First I tried to add them in shadow-light but
a conflict will happen if two or more shadow-light exist and set different values.
Any ideas?

+1 for supporting this. I like @ngokevin's suggested syntax from this comment, which could support something like:
<a-scene shadow="type: soft;
                 renderReverseSided: false;">
  <a-box shadow="cast: true;
                 receive: false" />
  <a-light light-shadow />
</a-scene>

Included it PR to aframe core.


home page

as a user I want to be able to view a homepage with brief descriptions about the company, owner, and services with navbar and footer
It is done when I can see the content displayed in a pleasant style.

Add one more section on a Home page:
user story:
as a user I would like to see a reviews of other customers when I visit a Home page
as a developer I would like to add e review section at the bottom of the Home page where user can check on a reviews.
acceptance criteria:
it is done when user can see a Review section at the end of Home page (above the Footer) and able to check all reviews.
assign to:

Olivier - functionality
Maryna - styling


[PYTHON][PS] Rename k_res to ps_res (drop Koalas reference)

What changes were proposed in this pull request?

Rename k_res to ps_res and ps to pser in test_combine.py. There is no functional change; it's purely stylistic/for consistency.
Why are the changes needed?

As a reader, the variable names are confusing and inconsistent. I only thought that the k_ prefix meant Koalas because I've contributed to Koalas in the past.
Does this PR introduce any user-facing change?

No
How was this patch tested?

Existing tests should continue to pass; no new tests necessary

those variables are just used in tests, and not be exposed to end users.

those variables are just used in tests, and not be exposed to end users.

Yes, I understand. I thought it was a minor improvement, as somebody who was going through the test code, to not have Koalas references, but I know there's no user-facing impact at all.

@itholic FYI

I am fine. I believe we all replaced such changes before, and these are the leftovers.

Merged to master.


request: Way in which to force a property value

What version of Ajv are you using? Does the issue happen if you use the latest version?
6.4.0
JSON Schema

                "foo": {
                    "type": "string",
                    "set": "bar"
                },

In this example the value of property "foo" would always equal "bar".
I have created a custom keyword to achieve something similar, but as far as I can see there is no way to have this value always exist?
    ajv.addKeyword('set', {
        type: ['number', 'integer', 'string', 'boolean', 'array', 'object', 'null'],
        compile: (schema, parentSchema) => {
            //set the value to whatever is specified in "schema". Warning: we have to "set" the property we are applying
            //this custom keyword to either required or have a default. If we dont do this then the value might not exist!
            //if the value does not exist exist, then we cant set it!
            return (data, dataPath, parentObject, propName, rootData) => {
                parentObject[propName] = schema;

                //always success
                return true;
            };
        },
        valid: true,
        errors: false,
        modifying: true,
    });

If in our schema we fail to make the property have a default or be required then the validation function (naturally) will never get called. In turn this means that the value wont be "set".

See https://github.com/epoberezkin/ajv#assigning-defaults

Hey there thanks for replying. Although default value only works when the value does not already exist in the json. What if we want to override a value?
I could apply an enum to the property, but this will fail validation. What If I simply want to always force that property to be "1"?

I have a use case where one might want this:
If property "mode" = "bad" then we force property "option" to "false".
If property "mode" = "good" then we force property "option" to whatever is defined in json, or fallback to default "false".


Render graphs with 0 range

Previously, graphs with 0 range would appear blank due to a division by 0 in the points' positions. This fixes that.

How does this fix that? Range == 0 and 0.9 or 0.9 is still just 0.9 always, no?

The full statement is Range == 0 and 0.9 or 0.9 - (((Value-Min)/Range)*0.9). Without the Range == 0 check, we get a division by 0, so the point's position becomes NaN. Instead, we catch that case and have all of the values be 0.9 -- a straight line.

Oh whoops, misread the statement she to GitHub's diff visualization. Good fix, ty.


The Hive MISP connector

https://github.com/TheHive-Project/TheHiveDocs/tree/master/api/connectors/misp

Hey @garanews - great addition!
If you have more additions - not just connectors to existing apps, please make them into pull requests. Features are still a priority, but we don't know what features are missing without proper connectors/apps ;)


bugtool: dump all active configs and encryption status

To be merged after #17303.

ping @h3llix

Hi @aanm @ldelossa. Sorry, for being inactive as I was busy with CSAW. I'll just have a look and inform.

Earlier 5.1821MB, Now 5.1914MB. @ldelossa


Add links to the 2nd card of microprofile.io

In the current microprofile.io, the 2nd card lists a few blocks. Each block should be clickable and point to the corresponding specs/pdf/javadoc.
For MicroProfile Config 1.4, it should be https://github.com/eclipse/microprofile-config/releases/tag/1.4
We can do the similar thing for other specifications.
The next stage is to invest the github pages.
@rstjames

@Emily-Jiang yes to make them all clickable we will need all page links. Not sure how to get each "team" to make them... but once we have them I can start to make it all clickable

@rstjames I think for now we can link to the above relase tag to start with. Then we can look at the github pages. Let me supply you with all of the links.

As a prototype, I create a webpage for MP Config. I'll show this at the next MP call to get some feedback.

@Emily-Jiang I made a rough of the page you sent. https://microprofile.io/microprofile-config/
It still could used some work but the base is there. I hope to be on the call today there is a chance I can not make it.

Tower update: @Emily-Jiang
Please check links and after I will make it live on the home page.
https://microprofile.io/tower/

@rstjames the links look good. Thanks for getting it done!


Add tooltip for objects in object browser

Changes
This PR is a continuation of the tooltips changes - it adds a tooltip to objects in the object browser, when the object is not a source file:

Checklist

[x] have tested my change

@sebjulliand

I guess we have big enough tooltips now 😅

I remember someone recently telling me "we can't have enough information"... 😉
Just kidding - I agree and had to think about when deciding which information to include. We really need that FS extension...! 😍


HDDS-4737. Add ModifierOrder to checkstyle rules

What changes were proposed in this pull request?
Add ModifierOrder to checkstyle rules

public final static to public static final
static public to public static
etc

What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-4737
How was this patch tested?
No need new tests.

+1 seems be fine to enforce modifier order from now. The existing violation thus fix in this PR is not too large.

+1 seems be fine to enforce modifier order from now. The existing violation thus fix in this PR is not too large.

+1 seems be fine to enforce modifier order from now. The existing violation thus fix in this PR is not too large.

Thanks @amaliujia

+1 seems be fine to enforce modifier order from now. The existing violation thus fix in this PR is not too large.

Thanks @amaliujia

Well this looks good to have, but this is changing the rules at the project level, I think such changes if required should be notified on the dev list.
FYI. Hadoop too had this checkstyle rule, but was disabled as part of HADOOP-12713

Well this looks good to have, but this is changing the rules at the project level, I think such changes if required should be notified on the dev list.
FYI. Hadoop too had this checkstyle rule, but was disabled as part of HADOOP-12713

Sounds reasonable to at least mention this in dev list as it will impact all developers (though the impact is supposed to be minor)

Sounds reasonable to at least mention this in dev list as it will impact all developers (though the impact is supposed to be minor)

Got @amaliujia @ayushtkn

Got @amaliujia @ayushtkn

hi @amaliujia @ayushtkn @elek, please review this pr again if you are free, thanks 😄

hi @amaliujia @ayushtkn @elek, please review this pr again if you are free, thanks 😄

hi @amaliujia @ayushtkn @elek, please review this pr again if you are free, thanks. If the merge operation is late, it will cause more conflicts.

hi @amaliujia @ayushtkn @elek, please review this pr again if you are free, thanks. If the merge operation is late, it will cause more conflicts.

hi @adoroszlai , please review this pr again if you are free, thanks. If the merge operation is late, it will cause more conflicts.

hi @adoroszlai , please review this pr again if you are free, thanks. If the merge operation is late, it will cause more conflicts.

There is no objection on the MailingList
We are good to go then. +1

Thanks 👍

There is no objection on the MailingList
We are good to go then. +1

Thanks 👍

Thanks @lamber-ken for the improvement, @amaliujia and @ayushtkn for the review.

Thanks @lamber-ken for the improvement, @amaliujia and @ayushtkn for the review.

Thanks @lamber-ken for the improvement, @amaliujia and @ayushtkn for the review.

Welcome.

Thanks @lamber-ken for the improvement, @amaliujia and @ayushtkn for the review.

Welcome.


q

Type: Bug
q
VS Code version: Code 1.81.0 (Universal) (6445d93c81ebe42c4cbd7a60712e0b17d9463e97, 2023-08-02T12:40:02.782Z)
OS version: Darwin arm64 22.5.0
Modes:
Connection to 'SSH: vm' could not be established  Canceled
Remote OS version: Linux arm64 5.15.0-1019-oracle

System Info

Item
Value

CPUs
Apple M1 (8 x 24)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmetal: disabled_offmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okvideo_decode: enabledvideo_encode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabledwebgpu: enabled

Load (avg)
9, 6, 6

Memory (System)
16.00GB (0.05GB free)

Process Argv
--crash-reporter-id 78434522-24ef-466b-8ff0-1e161a70919a

Screen Reader
yes

VM
0%

Connection to 'SSH: vm' could not be established  Canceled

Item
Value

Remote
SSH: ampere

OS
Linux arm64 5.15.0-1019-oracle

CPUs
Neoverse-N1 (4 x 0)

Memory (System)
23.30GB (19.40GB free)

VM
0%

Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.81.1. Please try upgrading to the latest version and checking whether this issue remains.
Happy Coding!

Sorry for the noise, I thought it would open an issue template form, didn’t know that it would go ahead and submit the issue for me. 🙏


Enhancement suggestion - Highlight the button for the currently open contract

When a contract is loaded, the user is not given any indication which contract it is (apart from comments in the code)
Perhaps the buttons could be highlighted in some way to give an indication (eg, like during a mouse-over action the button changes colour)

Hmm... 🤔
I'm not sure how useful that would be in practice - the idea is that you'll make changes and as soon as you do, you no longer match one of the demo contracts.
Anyone else have an opinion?


nixos/maddy: Add tls option

Description of changes
Add option tls for maddy mail server
services.maddy = {
  enable = true;
  hostname = "localhost";
  ensureAccounts = [
    "admin@localhost"
    "user1@localhost"
    "user2@localhost"
  ];
  ensureCredentials = {
<EMAIL_ADDRESS>= /secrets/admin-localhost;
<EMAIL_ADDRESS>= /secrets/user1-localhost;
<EMAIL_ADDRESS>= /secrets/user2-localhost;
  };
  tls = {
    loader = "file";
    certificates = [{
      keyPath = ./localhost.key;
      certPath = ./localhost.crt;
    }];
  };
};

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)
[x] 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

[ ] 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
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[x] (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

[x] Fits CONTRIBUTING.md.

Further more, I'd kinda like to see a integration with security.acme so that users will only need to pass the acmeDomains whose certificates need to be included and let the module handle permissions, service dependencies and so on. A full-fledged security.acme integration (aka. enableAme to auto request and use certificates instead of having the user manually specify them manually) would also be neat, but that is probably wishful thinking.

That would be neat. Could be an addition for an followup PR. Having this file loader might be a good starting point to further figure out how to integrate something like enableACME

On extra thing I'd just like to mention for the record, with changes like these the meaning of services.maddy.config is moving more and more to a meaning I'd expect from extraConfig. Since more and more settings are configured in a Non-overridable manner based on the settings, while config suggest full configurability. This is currently only applicable to a very limited number of settings, so I'm fine with it. But if more and more settings are moved to structured settings (which I'm fully in favor of), I believe config will need to be renamed to extraConfig at some point (or also implement the structured and literal config dualism known from nginx).

Good point. This is a change I could do when something like a maddy.listeners = [] option is implemented, which would configure smtp and imap sockets.

Thank you @e1mo for reviewing. Integrated the changes :)

I updated the assertion to the following format:
    assertions = [{
      assertion = (cfg.tls.loader == "file") -> (
        cfg.tls.certificates != null &&
        length cfg.tls.certificates > 0 &&
        all (attrs: attrs ? certPath && attrs ? keyPath) cfg.tls.certificates
      );
      message = ''
        If maddy is configured to use TLS, tls.certificates with attribute
        pairs of certPath and keyPath must be provided.
        Read more about obtaining TLS certificates here:
        https://maddy.email/tutorials/setting-up/#tls-certificates
      '';
    }];

It does check if entries are present in the certificates list but unfortunately the last check if both keys are present in the attribute set doesn't seem to work, it still tries to evaluate and fails:
error: A definition for option `services.maddy.tls.certificates."[definition 1-entry 2]".certPath' is not of type `path'. Definition values:
       - In `/home/onny/projects/nixpkgs/nixos/modules/services/mail/maddy.nix': null
(use '--show-trace' to show detailed location information)

Thank you @e1mo for checking it. I simplified the types and assertion according to your recommendations. The assert message works if the certificates list is empty. If not both keyPath and certPath are specified, an evaluation error occurs
tls = {
  loader = "file";
  certificates = [
    {
      keyPath = "${certs.${domain}.key}";
      certPath = "${certs.${domain}.cert}";
    }
    {
      keyPath = "${certs.${domain}.key}";
    }
  ];
};

error: The option `services.maddy.tls.certificates."[definition 1-entry 2]".certPath' is used but not defined.
(use '--show-trace' to show detailed location information)

If this behavior is fine, I'm okay with it :)

Yepp, that's the behavior I was going/looking for. I think the very slightly less obvious error message is a worthwhile trade-off against a more concise usage of types and effort when it comes to validating arguments. If tests pass, I'm fine happy (just waiting with approval until that's the case).


ARROW-6877: [C++] Add additional Boost versions to support 1.71 and the presumed next 2 future versions

Boost 1.71 was released and July and landed in conda-forge about 3 weeks ago.

I can confirm this fixes the issue for me


Add fax service to pledge workflow

Thanks for creating an issue! Please fill out this form so we can be sure to have all the information we need, and to minimize back and forth.

What are we trying to do?

DARIA will generate a PDF for you (if you're DCAF), but to send it you're heading to an external While funds do tend to have different faxing services, we've got reason to believe that this isn't because they particularly love one fax service in particular. Adding the option to use a particular faxing service built into DARIA's internals as part of the pledge flow would be pretty huge.

What feature or behavior is this required for?

Simpler pledge flow; not having to go to non-DARIA websites to do DARIA work.

How could we solve this issue? (Not knowing is okay!)

We have a few requirements here:

Should be optional. DARIA takes an approach of 'the closer to the DARIA Way you are the more pleasant of a time you'll have, but we aren't going to make you do anything'. If a fund wants to use their own fax service then the current behavior (a fax link in the footer) should still work fine.
The option to shut this off should be a fund-settable config.
the road to this runs through all funds being able to generate pledges.

Stemming from that, I think that this has a few steps:

investigate fax-as-a-service options (cloudfax is one, but there are likely others). This should be something that lets us fax a PDF or similar via API call. When selecting a service, weigh cost, having a good test harness, and having an organization/team so it's not just registered in one person's name.

consult with a designer on how we can work this into the existing pledge workflow. DCAF's CMs are a good resource here but ask at least one other fund.

from that, write implementation/technical tickets.

Anything else?

Came up during the Future of DARIA working group and was requested by a fund.

I'm going to very ruthlessly take this out of the priority list, since it's in a broadly workable state now.

From NRAAF, so we don't lose track of it:

Would it be possible to combine DARIA with something like CocoFax to send a pledge form? They offer a HIPPA compliant online fax service with fun stuff like API, google integration, and the ability to email a PDF and convert it into a fax, which eliminates the fax machine issue. You could approach them with the idea and see if they can offer some kind of custom plan/integration.

I've thought about this a bunch and I think it's a won't do for us because:

we do make it a point to avoid telling funds how to run their shops, which I think includes how to send pledges mechanically
it's in a workable state now - funds can send pledges
having a consistent 'DARIA way to do it' might not be that much of a benefit
a little bit of friction isn't necessarily a bad thing when it comes to getting money out the door

I do recognize that there's a real benefit to having all the pledge stuff in one clean spot, but I think that's outweighed by the time we'd spend eliminating this friction point, so closing. Please post if you strenuously disagree.


Removing plugs

I, as an end user, want to remove plugs (factory reset the plug and remove from account) and have the option to delete the to the plug related data too. This should free them up to connect to any other account.

Hey team! Please add your planning poker estimate with Zenhub @euclid9099 @stephan418

definition of done

[ ] the connection from plug to account can be deleted
[ ] plugs related information and history can be removed


CFFL

CFFL

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_b0oas73ziw/clone/recipe/meta.yaml:20: missing_wheel: For pypi packages, wheel should be present in the host section
ERROR: /tmp/abs_b0oas73ziw/clone/recipe/meta.yaml:30: missing_pip_check: For pypi packages, pip check should be present in the test commands
WARNING: /tmp/abs_b0oas73ziw/clone/recipe/meta.yaml:39: missing_description: The recipe is missing a description
Errors were found


Basic Availability Group for non prod

For licensing purposes, is there a way to create a Basic Availability Group using Developer Edition for non prod instances/envrionments?

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

ID: 32bb0e7a-a91c-6ccd-bf16-5118801d5612
Version Independent ID: 84eb1614-0e30-e116-9dd2-34a3db7c6b5d
Content: Basic availability groups for a single database - SQL Server Always On
Content Source: docs/database-engine/availability-groups/windows/basic-availability-groups-always-on-availability-groups.md
Product: sql
Technology: high-availability
GitHub Login: @MashaMSFT
Microsoft Alias: mathoma

@matt-k11 -- thank you for your question.  Please refer to Microsoft SQL Server License Terms and Information.
I am closing this issue now.  You are welcome to @ mention me for any followup.
We hope to hear from you again.

Thank you for the feedback.  Let's take the licensing piece out for clarity.  Is there a way to create a Basic Availability Group using Developer Edition?

Hi @matt-k11, thanks for contacting Microsoft! I don't believe you can, but let me double check to confirm.
Thanks!
Masha from the SQL Docs team

Hi @matt-k11 , thanks for your patience as we researched this! I tested it just to be sure, and no, you cannot create a basic availability with a developer license. Attempting to do so results in an error saying it is not supported by the developer edition.
If this behavior is causing you a business issue and/or you feel that it should behave differently, please feel free to file a feedback item at https://aka.ms/sqlfeedback and our engineering team will be happy to triage the issue.rus-face-masks.html
I am going to close out this Git Issue for now but please feel free to comment should you need anything further.
Thanks again for reaching out and I hope you have a wonderful rest of your day!
Masha from the SQL Docs team

So .. wht does rus-face-masks.html have to do with anything? Seems weird.

@ntachandley , thanks for bringing that to my attention! Honestly... I am not sure either :) I've deleted it, but am also confused by it..
Thanks!
Masha from the SQL Docs team