DiscoveryClient ValidateIssuerName policy

The Discovery Endpoint document says:

•The issuer name should match the authority specified when downloading the document (that’s actually a MUST in the discovery spec)

But according to the OpenID Connect Discovery spec , Issuer discovery can be optional.

Issuer discovery is OPTIONAL; if a Relying Party knows the OP's Issuer location through an out-of-band mechanism, it can skip this step and proceed to Section 4.

I would like to know where in the discovery spec saying the issuer name must match the authority.
I know the DiscoveryPolicy has the ValidateIssuerName bool field that can ignore the issuer check, but can it be turn off in the production environment or it will be against the specification or will have security concern?
I don't see the OpenIdConnectConfigurationRetriever does a similar issuer validation.
I ask this question because in our load balancing case , the load balancer has External IP (for external apps) and Internal IP (for internal apps).  The Discovery Response will always show the issuer in the External IP so the token validation will be valid no matter the token is generated from the IS4 using the internal IP or external IP.
However, when the internal apps call the Discovery Endpoint using the internal IP URL, the DiscoveryResponse will fail the validation.   I argue that it is ok to set the ValidateIssuerName to false in that case for the internal apps OR even don't use the DiscoveryClient at all as internal apps should know the Token endpoint from the internal IP and the Discovery spec already says the Issuer discovery is OPTIONAL.  But my colleague says turning off the issuer validation or not using the DiscoveryClient is against the specification or has security concern.
Should the Discovery Endpoint says the issuer validation is optional rather than a MUST?  OR the spec just says the Issuer discovery is OPTIONAL, but once the discovery is done, the issuer must match the authority (but I can't find that from the spec).
I would like to hear opinion about it.
Thanks.

Discovery spec
4.3.  OpenID Provider Configuration Validation
If any of the validation procedures defined in this specification fail, any operations requiring the information that failed to correctly validate MUST be aborted and the information that failed to validate MUST NOT be used.
The issuer value returned MUST be identical to the Issuer URL that was directly used to retrieve the configuration information. This MUST also be identical to the iss Claim value in ID Tokens issued from this Issuer.

Thanks for your response.
So, the DiscoveryResponse is doing this validation:

The issuer value returned MUST be identical to the Issuer URL that was directly used to retrieve the configuration information

But does it mean the issuer value must be identical to the Authority passed to the DiscoveryClient. that is used to retrieve the configuration information?   But now the DiscoveryPolicy.Authority allows it to change to a different URL that is not used to retrieve the configuration information.  Is that different from the spec?
For my case where the DiscoveryResponse always set the issuer to the external IP no matter if the authority is Internal IP or External IP, is it ok to do the followings:

Set the DiscoveryPolicy.Authority to external IP so that the DiscoveryResponse ValidateIssuerName can pass

Add the internal IP to the the DiscoveryPolicy.AdditionalEndpointBaseAddresses so that the ValidateEndpoints can pass

e.g.
                var discoveryClient = new DiscoveryClient(internalIPUrl);
                discoveryClient.Policy.Authority = externalIPUrl;
                discoveryClient.Policy.AdditionalEndpointBaseAddresses.Add(internalIPUrl);
                var disco = await discoveryClient.GetAsync();

Do you see any problem doing that?

I think you should fix your DNS - that seems the best option to me.

I think you should fix your DNS - that seems the best option to me.

I know, that's what I asked my colleague why they need to separate the load balancer to internal IP and external IP.   I expect both External apps and internal apps should be able to connect to the load balancer using the same DNS address.   I believe that's what you suggest too, right?
Could you please explain the best practice of using the load balancer with IdentityServer?  Is it bad to separate the load balancer to internal IP and external IP?   I need your comment so I can refer it when I discuss it with my colleague.    I can't persuade them using the Internal IP and external IP is wrong.
I have read this Deployment page, but it does not talk about Load Balancer.

Fact is - in OpenID Connect, the base address becomes the identity of the token service.
When you have two base-addresses you have effectively two token services, with all the troubles that come with it. IOW - that's not recommended.

I think IdentityServer4 should be able to support internal, external IPs because this is a common deployment and this is considered best practice. (network security). I run into this problem with almost every deployment of ID4. This is really one of the biggest pains with ID4 and OpenID Connect.
2 IPs for the STS is a common deployment scenerio and it's becoming standard now. Adding support for 2 IPs/DNS to IdentityServer4 would be of great benefit, and stop forcing us to turn off the validation for the public/or internal clients.
You say this is not recommended, but network security guys recommend this...
I would love to see a solution for this problem.

Have you tried setting a static issuer URI?

..and what are the benefits of putting the STS on 2 different networks? Any link?

2 IPs for the STS is a common deployment scenerio

re-reading this. OK. I have no issue with that. But the DNS name should be the same.

@leastprivilege

Have you tried setting a static issuer URI?

Do you mean setting the IdentityServerOptions.IssuerUrl?   I have set it to the External IP and all the tokens are generated with the External IP as the issuer.  That's why I get the ValidateIssuer error when accessing from the Internal IP.

Nevermind - this is not a solution either.
I can only repeat myself - in OIDC the DNS name becomes the identity of the token service - that's how they establish trust in the first place.
Fix DNS.

Nevermind - this is not a solution either.

Good.  That's what I want to confirm as I also think DNS is the preferred solution.  But I am asked to try the static issuer URL because of your comment as my colleague thinks that is an alternative suggested solution.

How about
1 STS, 2 DNS (one public, one private) - that map the same DNS name to 2 different IPs. Very common setup IMO.

I'll try this, thanks for the suggestion.
Greetings Damien


Line breaks not supported

Greetings
I'm working on a math app and SwiftMath has been very useful in my project and I Love it..
However, whenever I stumble upon an edge case where I'm dealing with long equations that simply can't fit into one line,
I can't seem to find a solution to create either manual line breaks or automatic line breaks within Latex in case of the text being longer than the screens width.
Will there ever be support for this feature in future?

You can manually force line breaks using math mode commands (e.g., \\ as in \text{Quadratic roots: }x = \\ \frac{-b \pm \sqrt{b^2-4ac}}{2a} to give

How do enable math mode?
Here's a screenshot of my MathView configuration

Here's a screenshot of the Quadratic roots sample you provided used in my API

However the result does not create a new line as illustrated by your example..

Unless I am missing something or doing something incorrectly...

I managed to figure it out... instead of double slashes \\ which only creates a space in between for whatever reason
we need to use 4 slashes \\\\ to get a new line break.
Here's a gif of it in action:

Math mode is always on.  There's nothing to enable.
When in quotes, backslashes "" must be escaped so the "\" should be "\\".
That's why all the commands appear to have double backslashes (in reality they're all being "escaped").


Error Installing agpy package

Hello! I'm attempting to install your python package and when I run python setup.py install in the root directory I'm getting the following error:
error: package directory 'contributed' does not exist
Any idea where this package is?
Thanks so much :)

@catherinezucker you've found a bug!  The attached patch should fix it.
However, what part of agpy are you planning to use?  Most of the functionality has now been migrated to other packages; you may be better served using one of those (and I may be able to help direct you to the right ones)

At the moment, I just need the kinematic distance kdist module. What would you recommend? Thanks so much!
Also, I'm Cara Battersby's student at Harvard, who mentioned that you were both advised by John Bally at Colorado!  Nice to finally meet you!

kdist is available in agpy or in its own standalone module:
https://github.com/keflavich/kdist
I know of your Milky Way bones work!  Nice to be in touch.

Great, thanks! I'll just download it on its own.


Copy & Paste problem with Ubuntu Linux

When I copy a text from an Ubuntu Linux terminal window (for example from a logfile output) and paste it into a text editor in Windows (Sublime Text 3), the formatting of the text is broken. There are a lot of spaces between the lines of text that need to be manually removed.

Can you tell us what version you’re using? We fixed some stuff here recently, so it would be great if you could fill out the bug report template to give us a bit more info.

Can you tell us what version you’re using? We fixed some stuff here recently, so it would be great if you could fill out the bug report template to give us a bit more info.

I am using the latest version from the Store: 0.7.3291.0
Hope this helps. Please let me know if you need more information.

Thanks! That’s not the latest version, actually, 0.7.3382.0 is. 3382 contains a fix for this issue.


new datahandler with json object as key and embedded json arrays

Can we build a simple datatable from the json object below (with only some parts like "purchases") ?
As for now, it seems that the datahandler only accepts json arrays but not json objects.
const handler = new DataHandler(someData, { rowsPerPage: 50 })
// json example taken from https://www.customer.io/docs/json-in-segments/
someData = {
  "last_shopped":<PHONE_NUMBER>,
  "location": {"city": "Montreal","province": "QC"},
  "purchases": [
    {
      "id": 123,
      "type": "computers",
      "name": "Monitor",
      "price": 25,
      "discount": 10,
      "shipping_address": {"city": "Calgary","province": "AB"},
      "coupons_applied": [
        {
          "coupon_code": "AXXXXX",
          "discount": "10%"
        },
        {
          "coupon_code": "BXXXXX",
          "discount": "15%"
        }
      ]
    },
    {
      "id": 456,
      "type": "computers",
      "name": "Mouse",
      "price": 15,
      "shipping_address": {"city": "Edmonton","province": "AB"}
    }
  ],
  "stores_visited": ["Winnipeg","Toronto","Vancouver"],
  "coupons_received": [5,10,20],
  "children_ages": [1654099180,1654099181,1654099182],
  "lottery_tickets":
     [
        [1,3,5,7,9],
        [1,2,3,5,8]
  ]
}

Indeed, the data must be iterable to be used in the table.
In this case, we can use the nested array in the object
<script>
    const handler = new DataHandler( someData.purchases, { rowsPerPage: 50 } )
</script>


.env.example missing variable

ran into this error when running npm run dev:

Adding the following to the .env file sorts the issue:
 MULTIPLAYER= true

Just wanted to flag it up.

I am not sure if adding MULTIPLAYER = true to the .env.example would be a best practice approach, but if so, I'd be happy to make the change.

What would you say is a better way to do this feature flag?

Oh sorry, didn't see that, my apologies. I was just flagging an issue I noticed that someone in discord helped me with. I will close issue


Using unordered_map for received_txs and received_blocks

I'm suggesting to use unordered_map for received_transactions and received_blocks of net_plugin.
received_transactions and received_blocks are std::vector and the method for finding their item is just O(N) iteration(for loop with the begin iterator), which I think it's unnecessary overhead. std::unordered_map can remove the overhead.

Thanks for the suggestion, we will evaluate it over what we know considering the additional costs of insertion and growth for such a datastructure and the average usage statistics we have available.
I've rebased your change to 1.1 as we would not make such a change as a patch release.

Thank you for the submission, it has been supplanted by #5202 which also handled the case of receiving the block/transaction from multiple connections.


Support for Dialogs api

Beep sound is stored as base64 string directly in sim-app-host file (16kb).
All api is supported
As potential Nice To Have - we can customize dialog layout to fit simulated platform (different look and feel for ios/android/widows)

Updated implementation based on the latest codebase


release 2.4: remove check the type of cluster api secret

issue: https://github.com/stolostron/backlog/issues/20219
Signed-off-by: Zhiwei Yin<EMAIL_ADDRESS>

/lgtm


run cost_explorer policy for haim-account

@athiruma, Did you add the Grafana dashboard for all the policies and cost by daily/user/manager as we have for our accounts ?

I will after this pr merge


some capability not support in setxattr

cap_net_admin and cap_net_raw not support in setxattr?
Here is strace log:
strace setcap cap_net_admin,cap_net_raw+ep ./libcap-2.25/progs/getcap
execve("/sbin/setcap", ["setcap", "cap_net_admin,cap_net_raw+ep", "./libcap-2.25/progs/getcap"], [/* 20 vars */]) = 0
brk(0)                                  = 0x1ded000
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fddac3a0000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=21502, ...}) = 0
mmap(NULL, 21502, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fddac3aa000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libcap.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \26\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=18952, ...}) = 0
mmap(NULL, 2114160, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fddabdf0000
mprotect(0x7fddabdf4000, 2093056, PROT_NONE) = 0
mmap(0x7fddabff3000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7fddabff3000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P \2\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1840928, ...}) = 0
mmap(NULL, 3949248, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fddaba20000
mprotect(0x7fddabbda000, 2097152, PROT_NONE) = 0
mmap(0x7fddabdda000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1ba000) = 0x7fddabdda000
mmap(0x7fddabde0000, 17088, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fddabde0000
close(3)                                = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fddac390000
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fddac380000
arch_prctl(ARCH_SET_FS, 0x7fddac380740) = 0
mprotect(0x7fddabdda000, 16384, PROT_READ) = 0
mprotect(0x7fddabff3000, 4096, PROT_READ) = 0
mprotect(0x601000, 4096, PROT_READ)     = 0
mprotect(0x7fddac222000, 4096, PROT_READ) = 0
munmap(0x7fddac3aa000, 21502)           = 0
brk(0)                                  = 0x1ded000
brk(0x1e0e000)                          = 0x1e0e000
capget({_LINUX_CAPABILITY_VERSION_3, 0}, NULL) = -1 EFAULT (Bad address)
capget({_LINUX_CAPABILITY_VERSION_3, 0}, {CAP_CHOWN|CAP_DAC_OVERRIDE|CAP_DAC_READ_SEARCH|CAP_FOWNER|CAP_FSETID|CAP_KILL|CAP_SETGID|CAP_SETUID|CAP_SETPCAP|CAP_LINUX_IMMUTABLE|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW|CAP_IPC_LOCK|CAP_IPC_OWNER|CAP_SYS_MODULE|CAP_SYS_RAWIO|CAP_SYS_CHROOT|CAP_SYS_PTRACE|CAP_SYS_PACCT|CAP_SYS_ADMIN|CAP_SYS_BOOT|CAP_SYS_NICE|CAP_SYS_RESOURCE|CAP_SYS_TIME|CAP_SYS_TTY_CONFIG|CAP_MKNOD|CAP_LEASE|CAP_AUDIT_WRITE|CAP_AUDIT_CONTROL|CAP_SETFCAP, CAP_CHOWN|CAP_DAC_OVERRIDE|CAP_DAC_READ_SEARCH|CAP_FOWNER|CAP_FSETID|CAP_KILL|CAP_SETGID|CAP_SETUID|CAP_SETPCAP|CAP_LINUX_IMMUTABLE|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW|CAP_IPC_LOCK|CAP_IPC_OWNER|CAP_SYS_MODULE|CAP_SYS_RAWIO|CAP_SYS_CHROOT|CAP_SYS_PTRACE|CAP_SYS_PACCT|CAP_SYS_ADMIN|CAP_SYS_BOOT|CAP_SYS_NICE|CAP_SYS_RESOURCE|CAP_SYS_TIME|CAP_SYS_TTY_CONFIG|CAP_MKNOD|CAP_LEASE|CAP_AUDIT_WRITE|CAP_AUDIT_CONTROL|CAP_SETFCAP, 0}) = 0
capget({_LINUX_CAPABILITY_VERSION_3, 0}, NULL) = -1 EFAULT (Bad address)
capset({_LINUX_CAPABILITY_VERSION_3, 0}, {CAP_CHOWN|CAP_DAC_OVERRIDE|CAP_DAC_READ_SEARCH|CAP_FOWNER|CAP_FSETID|CAP_KILL|CAP_SETGID|CAP_SETUID|CAP_SETPCAP|CAP_LINUX_IMMUTABLE|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW|CAP_IPC_LOCK|CAP_IPC_OWNER|CAP_SYS_MODULE|CAP_SYS_RAWIO|CAP_SYS_CHROOT|CAP_SYS_PTRACE|CAP_SYS_PACCT|CAP_SYS_ADMIN|CAP_SYS_BOOT|CAP_SYS_NICE|CAP_SYS_RESOURCE|CAP_SYS_TIME|CAP_SYS_TTY_CONFIG|CAP_MKNOD|CAP_LEASE|CAP_AUDIT_WRITE|CAP_AUDIT_CONTROL|CAP_SETFCAP, CAP_CHOWN|CAP_DAC_OVERRIDE|CAP_DAC_READ_SEARCH|CAP_FOWNER|CAP_FSETID|CAP_KILL|CAP_SETGID|CAP_SETUID|CAP_SETPCAP|CAP_LINUX_IMMUTABLE|CAP_NET_BIND_SERVICE|CAP_NET_BROADCAST|CAP_NET_ADMIN|CAP_NET_RAW|CAP_IPC_LOCK|CAP_IPC_OWNER|CAP_SYS_MODULE|CAP_SYS_RAWIO|CAP_SYS_CHROOT|CAP_SYS_PTRACE|CAP_SYS_PACCT|CAP_SYS_ADMIN|CAP_SYS_BOOT|CAP_SYS_NICE|CAP_SYS_RESOURCE|CAP_SYS_TIME|CAP_SYS_TTY_CONFIG|CAP_MKNOD|CAP_LEASE|CAP_AUDIT_WRITE|CAP_AUDIT_CONTROL|CAP_SETFCAP, 0}) = 0
lstat("./libcap-2.25/progs/getcap", {st_mode=S_IFREG|0755, st_size=959109, ...}) = 0
setxattr("./libcap-2.25/progs/getcap", "security.capability", "\x01\x00\x00\x02\x000\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", 20, 0) = -1 EOPNOTSUPP (Operation not supported)
write(2, "Failed to set capabilities on fi"..., 83Failed to set capabilities on file `./libcap-2.25/progs/getcap' (Invalid argument)
) = 83
write(2, "The value of the capability argu"..., 114The value of the capability argument is not permitted for a file. Or the file is not a regular (non-symlink) file
) = 114
exit_group(1)                           = ?
+++ exited with 1 +++

WSL still has limited capability support. We are working on expanding it but this gets at some of the main differences between the Linux and Windows kernels. For instance, say that you ran the following command on WSL:
sudo setcap cap_net_raw+ep executable_needing_raw_socket
The expected result it that the program would then be granted cap_net_raw capabilities. However, WSL is bound by the permissions of the user that started the session. If that user does not have admin permissions on the box WSL will have no way to get those capabilities from the Windows kernel. We have made special exceptions for programs like ping which need to be run by non-admins.

@jackchammons I know that network permission is very difference between Linux and WSL. At the present stage, I think store the permissions and take no effect instead of error is more reasonable

This was fixed in Windows build 16226.

Ben - that is great news.  I will try it out.


Improve range command

[X] Update date regex to consider multiple whitespaces
[X] Update range command (variation one) syntax to start/ and end/
[X] Improve code quality in RangeCommandParser.java to adopt SLAP and reduce method length
[X] Update user guide for range command

Codecov Report
Base: 70.02% // Head: 69.73% // Decreases project coverage by -0.29% :warning:

Coverage data is based on head (2440926) compared to base (d8b00a8).
Patch coverage: 42.85% of modified lines in pull request are covered.

Additional details and impacted files
@@             Coverage Diff              @@
##             master     #128      +/-   ##
============================================
- Coverage     70.02%   69.73%   -0.30%
- Complexity      506      508       +2
============================================
  Files            87       87
  Lines          1638     1652      +14
  Branches        165      169       +4
============================================
+ Hits           1147     1152       +5
- Misses          432      436       +4
- Partials         59       64       +5

Impacted Files
Coverage Δ

src/main/java/gim/logic/commands/RangeCommand.java
25.00% <ø> (ø)

...main/java/gim/logic/parser/RangeCommandParser.java
41.66% <25.92%> (-6.16%)
:arrow_down:

src/main/java/gim/logic/parser/CliSyntax.java
90.90% <100.00%> (+0.90%)
:arrow_up:

src/main/java/gim/model/date/Date.java
73.33% <100.00%> (ø)

src/main/java/gim/model/date/RegexList.java
100.00% <100.00%> (ø)

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

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


@craig => Bring back support for wide posts

I prefer a bit more space for longer essays, this brings back the ability to declare you have a wide post.
Also fixes the first post :dancers:

This seems like an odd feature. I think we should just split the difference in the body width across the board if it feels too short. Optimal line length for legibility is ~45 to ~75 characters (although I've also read higher upper limits on the web in places). Right now it hovers just under 70 characters. Personally this feels fine, but I wouldn't be against increasing it a bit.
@owendodd any thoughts?
Since you addressed this to me I'm going to be stubborn and not accept this PR :smiling_imp: I'll happily accept just the fixed blog post or a PR that adjusts line length across the board—but as it stands I'm not a fan of the inconsistency having a wide feature brings.

I agree that line lengths could be a bit longer. But I think it would make sense to just make the change universal as you suggested @craigspaeth. I am updating the grid slightly to accommodate for a more optimal line length, for body and title. Will post some updates shortly.

I'm imagining something like this:

@orta we could include the author info in the left column too if you think that's better.


invalid ACTION operation

After building the latest RPM, on a centos 7 machine, I started receiving the following errors in the system log:
Nov 23 15:13:44 ip-10-17-180-126 systemd-udevd: invalid ACTION operation
Nov 23 15:13:44 ip-10-17-180-126 systemd-udevd: invalid rule '/etc/udev/rules.d/70-ec2-nvme-devices.rules:8'
Nov 23 15:13:44 ip-10-17-180-126 systemd-udevd: invalid ACTION operation
Nov 23 15:13:44 ip-10-17-180-126 systemd-udevd: invalid rule '/etc/udev/rules.d/70-ec2-nvme-devices.rules:11'
Nov 23 15:13:44 ip-10-17-180-126 systemd-udevd: invalid ACTION operation
Nov 23 15:13:44 ip-10-17-180-126 systemd-udevd: invalid rule '/etc/udev/rules.d/70-ec2-nvme-devices.rules:12'
Nov 23 15:13:44 ip-10-17-180-126 systemd-udevd: invalid ACTION operation
Nov 23 15:13:44 ip-10-17-180-126 systemd-udevd: invalid rule '/etc/udev/rules.d/70-ec2-nvme-devices.rules:15'
Nov 23 15:13:44 ip-10-17-180-126 systemd-udevd: invalid ACTION operation
Nov 23 15:13:44 ip-10-17-180-126 systemd-udevd: invalid rule '/etc/udev/rules.d/70-ec2-nvme-devices.rules:16'
Nov 23 15:13:44 ip-10-17-180-126 systemd-udevd: invalid ACTION operation
Nov 23 15:13:44 ip-10-17-180-126 systemd-udevd: invalid rule '/etc/udev/rules.d/70-ec2-nvme-devices.rules:19'
Nov 23 15:13:44 ip-10-17-180-126 systemd-udevd: invalid ACTION operation
Nov 23 15:13:44 ip-10-17-180-126 systemd-udevd: invalid rule '/etc/udev/rules.d/70-ec2-nvme-devices.rules:22'

I believe the syntax error is due to ACTION="add", introduced in https://github.com/aws/amazon-ec2-utils/pull/9, which should use double equals.

Yes, thank you for opening this. I noticed the error this morning and will fix it shortly. Apologies for the inconvenience.


Unable to use a scaffolded third party package as it needs access to the native control before the component has rendered

Hi, I was trying to use The49.Maui.BottomSheet.
The instructions for that package says to create an instance of the class that extends the BottomSheet class, and then call ShowAsync
using The49.Maui.BottomSheet;

public class MySheet : BottomSheet
{
    public MySheetPage()
    {
        InitializeComponent();
    }
}

var sheet = new MySheet();

// Show the sheet
sheet.ShowAsync();

So I've created a scaffolded class with the data template.
[Scaffold(typeof(The49.Maui.BottomSheet.BottomSheet))]
public partial class BottomSheet
{
    public BottomSheet Content(Func<VisualNode> render)
    {
        this.Set(Microsoft.Maui.Controls.TemplatedView.ControlTemplateProperty,
            new DataTemplate(() => TemplateHost.Create(render()).NativeElement));
        return this;
    }
}

In my component, the Render method is returning new BottomSheet with some .Content(() => )
If I set the component ref action in the constructor new BottomSheet((b) => _bottomSheet = b) with a variable private The49.Maui.BottomSheet.BottomSheet? _bottomSheet;, and I create a new instance of the component in a page and call the Render() method, the component ref is always null.
My question is, how can I get access to the native control to call ShowAsync() as it never seems to not be null (OnAddChild etc. are never hit, even when calling Render())? It seems to be a catch-22 between needing to call ShowAsync() on the bottom sheet to show it in the page, and not being able to access it because the page hasn't been rendered. Any help as to if this is possible would be much appreciated.
Thank you in advance

Hi, interesting case, BottomSheet seems a pretty unusual control as it serves only to contain its content that should be shown inside the sheet when it is visible.
In other words, it should never be part of the app's visual tree.
In this case, you don't need to create a scaffolding class, just use it as in a normal c# app (I mean without XAML).
In  MauiReactor I would do something like this:
static class BottomSheetManager
{
    static BottomSheet? _sheet;

    public static async Task ShowAsync(Func<VisualNode> contentRender, Action<BottomSheet>? configureSheet = null)
    {
        if (_sheet != null)
        {
            return;
        }

        _sheet = new BottomSheet
        {
            Content = (MauiControls.View)TemplateHost.Create(contentRender()).NativeElement!
        };

        configureSheet?.Invoke(_sheet);

        _sheet.Dismissed += _sheet_Dismissed;

        await _sheet.ShowAsync();
    }

    private static void _sheet_Dismissed(object? sender, DismissOrigin e)
    {
        if (_sheet == null) return;
        _sheet.Dismissed -= _sheet_Dismissed;
        _sheet = null;
    }

    public static async Task DismissAsync()
    {
        if (_sheet == null)
        {
            return;
        }

        await _sheet.DismissAsync();
        _sheet = null;
    }
}

class MainPage : Component
{
    public override VisualNode Render()
        => ContentPage(
                Grid(
                    VStack(
                        Button("Show")
                            .OnClicked(ShowBottomSheet)
                            .HCenter()
                    )
                    .VCenter()
                    .Spacing(25)
                    .Padding(30, 0)
            )
        );

    async void ShowBottomSheet()
    {
        await BottomSheetManager.ShowAsync(
            () => VStack(
                Label("Hi from bottom sheet!"),
                Button("Close")
                        .OnClicked(HideBottomSheet)
                ),
            sheet => sheet.HasBackdrop = true);
    }

    private async void HideBottomSheet()
    {
        await BottomSheetManager.DismissAsync();
    }
}

That's great, thanks so much for your help.


New page for drug combination and synergy analysis

Develop and add a new page for analyzing drug combinations and synergy. This could include different metrics of drug synergy, such as combination index, and possibly analysis for the MuSyC framework (https://www.nature.com/articles/s41467-021-24789-z).

Note that there is a MuSyC web application: https://musyc.lolab.xyz/
However, I wonder if it is still maintained since it is out of the LoLab at Vandy.

Like with HT Cell proliferation, I think I'll add an external tools section and point users to the MuSyC web application for drug combo and synergy analysis rather than trying to implement a subset of those features here in the Aurora app, which will help me focus more on implementing the compartmental modeling and non-compartmental analysis features.

Addressed in PR https://github.com/Borealis-BioModeling/aurora-pkpd/pull/20


Fix typos, repeated words, align spelling to LDP

This is a followup to PR #12527, which i seem to have closed. This PR contains various spelling improvements (typos, repeated words) and aligns the spelling with the rules of the Linux Documentation project.
Checklist

[x] documentation is added or updated

Ouch, this is a huge patch. I suppose we do not want this on older branches.

Ouch, this is a huge patch. I suppose we do not want this on older branches.
It is about the same size as before. Not sure if splitting would help.

I am not asking for split, although splitting it might make it more easily reviewable.

This PR is in a state where it requires action by @openssl/committers but the last update was 30 days ago

This PR is in a state where it requires action by @openssl/committers but the last update was 30 days ago

Unfortunately this PR is prone to many merge conflicts
simply because it affects a huge number of files and partly many occurrences within them.
Moreover, reviewing it requires large effort that needs to be done basically all at once.
I started this some time ago, but inevitably this got stuck.
It would have helped a lot if the PR was split into chunks of reasonable size,
such that they can be handled one-by-one, whenever some reviewer finds some time,
and the reviewing load could shared and even parallelized.

This PR is in a state where it requires action by @openssl/committers but the last update was 30 days ago

I will try to make a new start, ... but not before the weekend.

This PR is in a state where it requires action by @openssl/committers but the last update was 30 days ago

This PR is in a state where it requires action by @openssl/committers but the last update was 61 days ago

This PR is in a state where it requires action by @openssl/committers but the last update was 92 days ago

This PR is in a state where it requires action by @openssl/committers but the last update was 123 days ago

This PR is in a state where it requires action by @openssl/committers but the last update was 154 days ago

This PR is in a state where it requires action by @openssl/committers but the last update was 185 days ago

This PR is in a state where it requires action by @openssl/committers but the last update was 216 days ago

This PR is in a state where it requires action by @openssl/committers but the last update was 247 days ago

This PR is in a state where it requires action by @openssl/committers but the last update was 278 days ago

This PR is in a state where it requires action by @openssl/committers but the last update was 309 days ago

This PR is in a state where it requires action by @openssl/committers but the last update was 340 days ago

This PR is in a state where it requires action by @openssl/committers but the last update was 371 days ago

This PR is in a state where it requires action by @openssl/committers but the last update was 402 days ago

This PR is in a state where it requires action by @openssl/committers but the last update was 433 days ago

@gustafn There are a lot of "various spelling improvements" in this, some clear typo fixes, some preferences. With such a large PR, and such a variety of different changes, it takes a long time to get it through, and a lot of work by reviewers.
I would suggest splitting into smaller PRs, where each one does the same kind of thing: e.g. clear typo fixes in one (file name to filename is preference, not a typo fix). Then parts of this whole can go through, and any sticking points resolved more easily

I would suggest splitting into smaller PRs, where each one does the same kind of thing: e.g. clear typo fixes in one (file name to filename is preference, not a typo fix). Then parts of this whole can go through, and any sticking points resolved more easily

I will do so. Sorry, for being so lame in this matter, I had some hospital time with an every growing work list, some other more urgent releases... Split this huge change and rechecking will take me some time in a block... But I'll certainly come back to this.
Thanks for the reminder and giving me the feeling that this is appreciated!

This PR is in a state where it requires action by @openssl/committers but the last update was 30 days ago

This PR is in a state where it requires action by @openssl/committers but the last update was 61 days ago

This PR is in a state where it requires action by @openssl/committers but the last update was 92 days ago

This PR is in a state where it requires action by @openssl/committers but the last update was 123 days ago

This PR is in a state where it requires action by @openssl/committers but the last update was 154 days ago

This PR is in a state where it requires action by @openssl/committers but the last update was 185 days ago

This PR is in a state where it requires action by @openssl/committers but the last update was 216 days ago

This PR is in a state where it requires action by @openssl/committers but the last update was 247 days ago

This PR is in a state where it requires action by @openssl/committers but the last update was 278 days ago

This PR is in a state where it requires action by @openssl/committers but the last update was 309 days ago

This PR is in a state where it requires action by @openssl/committers but the last update was 340 days ago

This PR is in a state where it requires action by @openssl/committers but the last update was 371 days ago

This PR is in a state where it requires action by @openssl/committers but the last update was 402 days ago

This PR is in a state where it requires action by @openssl/committers but the last update was 433 days ago

This PR can be close as I revamped most of it, and codebase has moved since.

Closing this then.


show size of blockchain in GB

under Explore->Blockchain show the actual blockchain size in gigabytes

I don't think that info is available from the witness node, and unless it is we can't show it in the GUI.


Getting "data slice too short for position: []interface {}{}" error for all Authenticated endpoints

Issue type

[x] bug

Brief description
For all authenticated endpoints I am getting "data slice too short for position: []interface {}{}". I checked with the breakpoints and I am getting 200 response but during json unmarshal its giving len range 0. I am using localhost to access those api
Steps to reproduce

Create a client c
then write snap, err := c.Positions.All()
snap comes nil and err is data slice too short for position: []interface {}{}

Additional Notes:

Quick thing is the request is send to /api-pub.bitfinex.com instead of /api.bitfinex.com as mentioned in the document

Hi @shuvofifty. Thank you for reporting the issue and sorry for delayed response. Have you tired checking your API Keys permissions? You might need to tick Get position and margin info and Claim a position checkboxes ON.

I can confirm @shuvofifty 's report. I experience the same exact issue.
HTTP requests are fine, the lib just does not handle it correctly


AVRO-2825: [csharp] Resolve: C# Logical Types throw exception on unkn…

AVRO-2825
What is the purpose of the change

This pull request resolves an outstanding issue with the csharp implementation behavior that is not consistent with the AVRO spec and the java behavior.
Per the AVRO Spec:

Language implementations must ignore unknown logical types when reading, and should use the underlying Avro type

The current csharp implementation throws an exception for unrecognized Logical Types.

NOTE:  This PR WILL change the behavior of the current nuget package.  It corrects it to align with the AVRO spec.
This is a new version of PR #2741 incorporating all feedback from KalleOlaviNiemitalo
Avoid swallowing any exceptions thrown for other reasons.
Allow applications to parse a schema and read the name of the logical type from LogicalSchema.LogicalTypeName (or even LogicalType.Name) regardless of whether the library recognizes it.
Allow applications to parse a schema and serialize it back to JSON without losing the unrecognized logical types here:
LogicalSchema.LogicalType could then be null, or perhaps an instance of a new NotSupportedLogicalType class that would pass everything through without conversion. (I created a new type: UnknownLogicalType)
Verifying this change
This change is already covered by existing tests:

test > AvroGen > AvroGenSchemaTests.cs > NotSupportedSchema

corrected expected result of Test

test > Schema > SchemaTests.cs > TestUnknownLogical

corrected expected result of Test

This change added tests and can be verified as follows:

test > Util > LogicalTypeTests.cs > TestUnknownLogicalType

added more complex test to confirm underlying AVRO base type is used.

Documentation

Does this pull request introduce a new feature? (no)

resolved all identified issues in new PR

We need a C# developer/user to review the changes.

I am not sure why this still shows are changes requested, they all have been made to my knowledge.

all changes made

LGTM. Thanks @TomBruns!


Questions about reproduction.

Hello, dear author, I want to know what's the meaning of the horizontal and vertical axes？

What's the meaning of density?

I've figured out this problem, thanks!


Since you already upgraded React to latest version, now fix other dependencies, and make sure nothing breaks, also enable strict mode

@Unesdala FYI, TinyMCE broke and I had to downgrade it

@Unesdala is this one already done? if so please drag it to close, thanks

@JoshuaVSherman - It's upgraded to 17, still need to enable strict mode and possibly fix a few things with that.


Update strongNameByPass scripts

Remove unused entries from strongNameByPass scripts.
Add new entries to strongNameByPass scripts as some assemblies
are now delay signed.

Following assemblies are now delay signed:

Microsoft.IdentityModel.Tokens.Tests
Microsoft.IdentityModel.JsonWebTokens.Tests
Microsoft.IdentityModel.Tests
System.IdentityModel.Jwt.Tests

:shipit: I can't see the changes as they are binary, but I'll try it out after you push it.


Any way to add villager quest datapacks to ATLauncher?

I've read the required path for any datapacks for new quests but I use ATLauncher for my mods and I'm wondering if there was any way of adding datapacks through there or if I have to go somewhere else to use VillagerQuest effectively.
ATLauncher has a data folder in both the Instance and the saves folders, though both didn't have the villagerquest folder in them and the datapacks folder in the folder of whatever world I have in saves doesn't have the folder either.

Mh may ask Ray at the globox discord


fix(front): safari浏览器中任务时间显示异常 (fixed #174)

Codecov Report

:exclamation: No coverage uploaded for pull request base (v1.0.21-rc@38d2f71). Click here to learn what that means.
The diff coverage is n/a.

@@              Coverage Diff              @@
##             v1.0.21-rc     #227   +/-   ##
=============================================
  Coverage              ?   53.55%
=============================================
  Files                 ?      182
  Lines                 ?     8975
  Branches              ?        0
=============================================
  Hits                  ?     4807
  Misses                ?     4168
  Partials              ?        0

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


Ability to open inline galleries in fullscreen

Could be missing something, but is there the ability to open inline gallery images in fullscreen rather than have the controls fade away on click?
I've tried a sort of weird workaround where I try to open a second BiggerPicture instance, but it doesn't seem to work as the original inline instance instantiates its own items.

Yeah by default it only zooms within the container. If the controls are fading on click you're probably on a mobile device, so you need to double tap or pinch.
I agree that inline galleries are not a good experience on small screens and it would be nice to be able to expand outside the bounds of the container.
A second instance opening full screen is a good idea and may be simple enough to add as an optional behavior (or default to it under a certain width). At the very least I can make some tweaks so that it's easier to accomplish on your own.
May not have the opportunity until around midweek but will definitely look into it.

Added the onImageClick method to make this easier. Here's an example:
https://codesandbox.io/s/bp-inline-second-instance-gqzkcw
Let me know if this works for you.

This is great! Works on my end too.
One small question I have is if there a way to keep the gallery while in fullscreen? IE being able to swipe between images in the lightbox state. I tried setting the same key for items as the parent instance, but obviously that then breaks the shared element animation.
I attempted to iterate across my original array with a .map(), add in the element to be bpImg, and then I wrapped that in .flat(), but for some reason that still broke the transition.

I'll check everything in browserstack on Tuesday. I'm on a bad cell hotspot right now and it won't cooperate. I did manage to make some multi-image examples, though.
This one doesn't update the inline gallery -- just fades back to the image it was on when opened. (I'll give onClose its own container  / activeItem params in the next release).
https://codesandbox.io/s/bp-inline-second-instance-forked-gsgu3t
This one updates the inline gallery in the background, but it's a bit convoluted because the looping needs to be handled manually.
https://codesandbox.io/s/bp-inline-second-instance-forked-65hylq
This one updates the inline gallery, but blacks it out so you can just use setPosition.
https://codesandbox.io/s/bp-inline-second-instance-forked-ezfzfv

Cool, no problem. I'll sort out the mobile click issue and try to have a release out this week.
Let me know if you run into any other issues.


Remove debug information in lecture names

Lecture names currently are in a form like "Visualisation of Biological Data oldID=345 newID=169". Remove the " oldID=X newID=Y" from them everywhere.

Can be done with:
UPDATE
"public"."Lectures"
SET
"name" = regexp_replace(
"name", ' oldID.*', '', 'g'
)

Will be fixed when DB command is run.


Fix typos

Excuse me @petergthatsme have you seen this PR too?

Thank you for submitting this @PositroniumJS  and apologies for the slow response - I will take a closer look tomorrow, and hopefully accept.

looks good. thx.


Add macro for converting datetime into formatted string

This could be used in Jinja templates, and datetime strings could be very common in operators.
@mistercrunch

Note that in the template you have full access to the methods of the objects as in "{{ my_datetime_obj.format('%Y-%m-%d') }}" which makes this macro not much of a shortcut.
Same goes for strings as in {{ task.task_id.upper() }}. It's not intuitive at first, but that's how Jinja works.

ahh I didn't know that. Thanks @mistercrunch !


Onboarding review. Right now ETH_TOKEN stays 0x0 instead of 0x1 because it does not work and I don't think it is necessary

Fixing it now

This change is

could we save gas and avoid reading from storage to confirm ETH_TOKEN by using address(0 in the if ... else conditionals?

could we save gas and avoid reading from storage to confirm ETH_TOKEN by using address(0 in the if ... else conditionals?

because we read the constant ETH_TOKEN ? my understanding is that it should not be part of the storage but maybe I'm mistaken (since it's a constant)

because we read the constant ETH_TOKEN ? my understanding is that it should not be part of the storage but maybe I'm mistaken (since it's a constant)


Make ZAsync.as by-name

Changes being made
ZAsync.as now accepts a by-name parameter. It's useful in case a side effect is made in the as body
Additional context
Please provide any context of the changes if needed

Codecov Report
Attention: 1 lines in your changes are missing coverage. Please review.

Comparison is base (6605875) 37.28% compared to head (449b8c9) 37.28%.

Files
Patch %
Lines

.../src/main/scala/zio/temporal/workflow/ZAsync.scala
0.00%
1 Missing :warning:

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #140   +/-   ##
=======================================
  Coverage   37.28%   37.28%
=======================================
  Files         126      126
  Lines        4820     4820
=======================================
  Hits         1797     1797
  Misses       3023     3023

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


Odd Crash

https://gist.github.com/Sunconure11/ea453b372c61bed2b9c27b6ff704c21a

Tried to replicate with the modpack, but had trouble using the modpack. From the logs above, it seems like somehow, lots of blockstates are failing to load.

Biggest offender seems to be bricklayer. Will test tomorrow without it

Bricklayer is not the cause.


Added TLV760xx family of LDO 100mA regulators

www.ti.com/lit/ds/symlink/tlv760.pdf

Looks good, thanks!
In future you might want to work on a named branch on your repository, so when you file the pull request it's from mattcoates: to adamgreig:master and won't get mushed together with other PRs you might do, as happened here.


Reorganize documentation using sphinx and read-the-docs

[x] Create sphinx configuration files
[x] Migrate documentation from README.md and wiki
[x] Publish to readthedocs.io

Documentaion available at http://ache.readthedocs.io/


fuse: reduce number of max readers

Codecov Report
Base: 58.34% // Head: 58.36% // Increases project coverage by +0.02% :tada:

Coverage data is based on head (b15b459) compared to base (ce69d4d).
Patch has no changes to coverable lines.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3069      +/-   ##
==========================================
+ Coverage   58.34%   58.36%   +0.02%
==========================================
  Files         141      141
  Lines       25066    25066
==========================================
+ Hits        14625    14631       +6
+ Misses       8500     8493       -7
- Partials     1941     1942       +1

Impacted Files
Coverage Δ

pkg/meta/redis.go
68.85% <0.00%> (-0.05%)
:arrow_down:

pkg/meta/sql.go
61.94% <0.00%> (+0.09%)
:arrow_up:

pkg/vfs/reader.go
79.20% <0.00%> (+0.21%)
:arrow_up:

pkg/meta/tkv_mem.go
87.50% <0.00%> (+0.69%)
:arrow_up:

pkg/fuse/context.go
75.00% <0.00%> (+10.71%)
:arrow_up:

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

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


Avoid sync fs-calls at startup

The cli.contribution.ts runs this const isAvailable = fs.existsSync(source); while it's code is being loaded. That is bad and slows down't code loading.

related to #15455


Can't run on iMac M1

I removed the pywin32 module from the requirements, though I'm still getting errors when running install -r requirements.txt.  This is the one I'm getting
ERROR: Could not find a version that satisfies the requirement putz-deprecation-shim==0.1.0.post0 (from versions: none)
ERROR: No matching distribution found for putz-deprecation-shim==0.1.0.post0

And when running privateGPT.py  -- I'm getting the error below
File "/Users/XX/Desktop/privateGPT/server/privateGPT.py", line 1, in <module>
    from flask import Flask,jsonify, render_template, flash, redirect, url_for, Markup, request
ModuleNotFoundError: No module named 'flask'

(base) XX@XXXX-iMac server % python3 privateGPT.py
Traceback (most recent call last):
  File "/Users/am/Desktop/privateGPT/server/privateGPT.py", line 1, in <module>
    from flask import Flask,jsonify, render_template, flash, redirect, url_for, Markup, request

ModuleNotFoundError: No module named 'flask'

Appreciate any support! :)

I got past this part by just installing flask directly afterwards.
pip install flask
and then checking that flask is install.
flask --version

You can also comment out line 97 in requirements.txt
# pywin32==306

@joemccann has added a fix now in https://github.com/SamurAIGPT/privateGPT/pull/17

Closing as the issue is fixed


Calibration curve

Describe your changes
Calibration curve objected-oriented API
Issue ticket number and link
Closes #118
Checklist before requesting a review

[x] I have performed a self-review of my code
[x] I have added thorough tests (when necessary).
[x] I have added the right documentation in the docstring and changelog (when needed)

:books: Documentation preview :books:: https://sklearn-evaluation--265.org.readthedocs.build/en/265/

Sure. The CI is also failing, so will tag once it's sorted out.

ci has been fixed in master, please rebase

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

117 of 122 (95.9%)  changed or added relevant lines in 2 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage increased (+0.1%) to 94.158%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/sklearn_evaluation/plot/calibration.py
116
121
95.87%

Files with Coverage Reduction
New Missed Lines
%

src/sklearn_evaluation/plot/calibration.py
1
95.35%

Totals

Change from base Build<PHONE_NUMBER>:
0.1%

Covered Lines:
3046

Relevant Lines:
3235

💛  - Coveralls

Resolved the comments
@edublancas

please rebase, there are some conflicts


On hover display title of various elements

On hovering many icons and elements its necessary to show title to guide user more about its use.
These are -
emoticon icon
messagebox info action icon

@zulipbot claim


Publish Foundation to NPM Registry

We don't use bower but rather npm for all our modules.
We're currently using an "unofficial" npm module containing Foundation.
Please publish to npm.

+1
For some projects Foundation is the only reason I still need Bower as well as npm, so being able to load Foundation through npm would reduce complexity.

As of 5.5.2 we have an npm package, foundation-sites.


Update maven ansible role

@harimohanr
https://github.com/Be-Secure/ansible-role-oah-maven/pull/3 approved & merged by @asa1997


ERROR: 1801 - Invalid value

Full steps to reproduce the issue:

command:
C:\GAM>gam user<EMAIL_ADDRESS>language en-US

Setting the language for<EMAIL_ADDRESS>to en-US (1/1)
Expected outcome (what are you trying to do?):
change language to en
Actual outcome (what errors or bad behavior do you see instead?):
ERROR: 1801 - Invalid value

I'm getting similar issues with v3.72, but it seems it's working on some accounts and failing on others...
gam all users language en-GB

Setting the language for xxxxxxxx to en-GB (1/51)
Setting the language for yyyyyy to en-GB (2/51)
ERROR: 1801 - Invalid value
...
...

Closing as this is related to the deprecated (and removed in GAM 3.8) Email Setting API.


PVC Capacity for MySQL – need to purge binlogs on each backup to ensure we don’t keep filling storage and crashing the system

Tuning parameter expire_logs_days set to 2 to automatically rotate bin logs. Monitoring this in DEV currently. Would be subsequently moved to other environments.

Let's set to 6h across all envs and come back to it if it becomes an issue

As of MYSQL 5.7, the binary log expiry is cannot be set in seconds.  The parameter binlog_expire_logs_seconds is available in ver 8.0 and above. So, I have set the 5.7 parameter expire_log_days to a minimum value of 1 . The changes have been migrated to all environments.
@will-freshworks @freshjwarren @warrenchristian1telus


[stable] Only call leader_set when is_leader

Fixes https://bugs.launchpad.net/juju/+bug/1833089 in the stable branch.  Cherry-pick of #29.

LGTM


[0.9.2] (regression) Error reading from measurement named "Measurement"

Created series with name "Measurement", and after reading from the series, I see an error.
Query : select * from "Measurement"
Error   : Server returned error: found MEASUREMENT, expected identifier at line 1, char 98
It was working fine with 0.9.0 and as well as 0.9.1

Can you please include the actual CLI or curl commands you are running? The error stonly implies you have at least 98 characters in your actual query, yet your example is only 27 characters long.

I can repro with 0.9.2:
Connected to http://localhost:8086 version 0.9.2
InfluxDB shell 0.9.2
> use mydb
Using database mydb
> insert Measurement value=1
> select * from Measurement
ERR: error parsing query: found MEASUREMENT, expected identifier at line 1, char 15
> select * from "Measurement"
ERR: found MEASUREMENT, expected identifier at line 1, char 36
> select * from 'Measurement'
ERR: error parsing query: found Measurement, expected identifier at line 1, char 14
> show measurements
name: measurements
------------------
name
Measurement
...

as long as the exact name isn't measurement it seems to parse fine.
> insert Measurement1 value=1
> select * from "Measurement1"
name: Measurement1
------------------
time				value
2015-07-27T04:29:09.991429754Z	1

Similar issue from stats
> insert stats value=10
> select * from stats
ERR: error parsing query: found STATS, expected identifier at line 1, char 15

I'm curious why the error from the correctly double-quoted measurement gives a character number that is nonsense. The original submitter had "expected identifier at line 1, char 98", mine, with identical syntax, is on "char 36", and Michael's, which is a shorter line than mine, errors on "char 45". None of the statements are long enough to have that many characters.
@dgnorton is the parser walking off the end of the statement somehow?

Similar issue
> insert thing,"query"=yay value=1
> select * from thing
ERR: can not use field in GROUP BY clause: query

Does the same error occur on queries which do not use *? It looks like the error is occurring after the * is expanded and the query statement is re-parsed, which would explain the nonsensical error locations on the line.

Without the * I get
> select value from "stats"
ERR: found STATS, expected identifier at line 1, char 36

Tested this on master. Looks like #3560 fixed it.

I am afraid #3560 didnt quite fix it. I have exactly the same problem

@consolacion the users password needs to be single quoted. See https://docs.influxdata.com/influxdb/v1.4/query_language/spec/#create-user

Thank you and please beat me over the head with an old diskdrive for overlooking this


Custom labels for user-facing labels and messages

What is missing from the application? Please describe.
Currently the component contains hard-coded string values in English for all user-facing labels/messages, which doesn’t make it really international friendly.
Describe the solution you'd like
Instead of hard-coded strings custom labels should be leveraged. Ideally a set of the most common languages should be shipped as default.

Tableau Viz LWC is being Archived
All outstanding PRs and Issues are being addressed and closed. Please migrate to the new Tableau View LWC.
For more information about why the Tableau Viz LWC is being replaced by the Tableau View LWC, please see the README

@muenzpraeger  The good news is that the new Tableau View LWC does support localized strings so this should no longer be an issue. If you run into issues using the new Tableau View LWC, please open a case through Salesforce.


Can i compare Set with String in java and rules?

I have a Java class as below
  public class Mart implements MartInterface {

     private Set<Byte> visit;
     private Set<Byte> type;
     //
  }

and to create Drools rule to compare the byte with
 String REF_VISIT_RESULT = "1"
 String REF_TYPE_RESULT = "2"

**and the set of array for example [1, 2, 3]
the rules will be something like**
rule "rule 1"
   dialect "java"
   when
   mart : Mart (visit == REF_VISIT_RESULT, type == REF_TYPE_RESULT)

then
    System.out.println("//error");
end

Can i compare Set Byte with Lookup String in drools? Please help to create the .drl file

This is better asked on drools issue tracker.


Upgrade gRPC-Kotlin to 0.1.5

Motivation:
CoroutineContextServerInterceptor is newly introduced in gRPC-Kotlin 0.1.5.
Armeria gRPC server can inject the current RequestContext to Coroutine Context using it.
The issue that inHalfClose unexpectly calls ServerCall.close() seems resolved by https://github.com/grpc/grpc-kotlin/pull/157.
I cannot reproduce it anymore.
Modifications:

Add ArmeriaCoroutineContextInterceptor that is working only for gRPC-Kotlin stub.
Remove inHalfClose flag in ArmeriaServerCall

Results:

You can now get the current RequestContext from the Coroutine Context of gRPC-Kotlin by default.

/cc @okue @gary-lo

/cc @okue @gary-lo

🎉 thanks @ikhoon

Thanks! @ikhoon
ArmeriaCoroutineContextInterceptor automatically looks useful!
Question:
When useBlockingTaskExecutor is true, how does it works?

When useBlockingTaskExecutor is true, how does it works?

That's a good question. Let me decorate the blocking task executor too.


Adjust the IconButton constraint to match its size

Fixes https://github.com/flutter/flutter/issues/5763

Hm, actually, this changes the semantics for some cases.


Nested Swipe issue.

Hello,
i just wanted to let you know about nested swipe issues. For example, if I use this package into another component which has swipe functionality (like react nativigation's top tab navigator), its not working at all

Hey @Bayramito ! See https://github.com/archriss/react-native-snap-carousel/issues/746#issuecomment-696290253

Sorry, please allow me to advertise for my open source library! ~
I think this library react-native-reanimated-carousel will solve your problem. It is a high performance and very simple component, complete with React-Native reanimated 2

Hi! This solution only works with Scrollview, not with Top Tab Navigator. Any other help?

Facing the same issue here.
The horizontal Carousel inside a MaterialTopTabNavigator is not working as expected.
Sometimes when swiping the carousel, the swipe event is captured by MaterialTopTabNavigator but not the Carousel, but sometimes the swipe is applied to the Carousel.
Anyone can help on solving/workaround it?


Startup performance

Thank you for sharing your emacs-conifg, I am learning many neat things from it.
In regards to startup performance, I like the idea of not adding a dependancy to optimise loading performance, and I was wondering if you had cosidered use-package or other similar tools?
Thanks!

Hi @priyadarshan thanks for taking the time to ask me this.
Yes, I've definitely considered it. I usually dislike libraries that abstract what's happening behind the scenes. This is because I feel that I have lost a measure of control. Of course, there are exceptions: for example, I'd never approach cross-browser JavaScript without something like jQuery. use-package may very well be a package that helps more than it harms.
In general, I do some things that I haven't seen done with use-package.

icicles requires arbitrarily complex code to ensure that it doesn't drive me insane. Several other packages require non-trivial loading as well.
I also like to defer the installation of packages (e.g. json-mode) until they're actually needed.
See the [deferred org-babel backends] (https://github.com/PythonNut/emacs-config/blob/f17a5dffac15159e481f6b96446ba431fb676703/modules/config-modes.el#L1054-L1097) for more package-related gymnastics.

In sum, I'm pretty happy with the system I have now, so my motivation for moving to use-package is not very high. In addition, I'm sure that porting to use-package would be a lot of work, as I would have to reimplement a lot of my current systems in terms of use-package's abstractions. I haven't seen any functionality in use-package that I wasn't able to implement myself, AFAIK.
Of course, I could use use-package only for specific packages, but I believe that that defeats the purpose

Thank you for the through and thought-provoking answer.
I share the same feeling about trying to avoid losing the touch with the underlying Emacs. It is not because of some addiction to micromanaging, it seems just against the overall "philosophy" of Emacs.
I am learning a lot from your setup.
Thank you very much!

Thanks for asking, if you have any other questions, feel free to open a new issue.


[Enhancement] support config too_many_version sleep time on statistic…

…s collect
What type of PR is this：

[ ] BugFix
[ ] Feature
[x] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Which issues of this PR fixes ：

Fixes #
Problem Summary(Required) ：

Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] This pr will affect users' behaviors
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

[x] I have checked the version labels which the pr will be auto backported to target branch

[x] 3.0
[x] 2.5
[x] 2.4
[ ] 2.3

@mergify backport branch-3.0 branch-2.5 branch-2.4

@Mergifyio backport branch-2.4

https://github.com/Mergifyio backport branch-3.0

https://github.com/Mergifyio backport branch-3.0


multiple mines/traps dps

It doesn't like there's any way to accurately show the multiplied dps for triggering multiple mines/traps as given by these support skills? I know it's trivial to multiply the given dps by the number of mines/traps, but it would be nice if it was automatically done whenever the support gem was active.
I think this probably also applies for multiple totems too?

Actually this would be even more useful since it would allow the corresponding supports to be accurately placed in the dps-sorted list, and it would also change the value of e.g., trap & mine damage support.


Scripts disappear

<script>…anything…</script> is transformed into <script></script> (empty script).

Sorry for the lack of context!
Using Rehype with just the minify preset, any inline script in the source document gets turned into an empty script tag after the minification.
Since it was blocking me, I stopped using rehype in favor of uglifyjs so I can’t reproduce it now.


Fix guard of qt import in napari.utils.theme

Description

Change catching of import error of qtpy to properly handle the latest qtpy release.
For some reason, our test suite does not catch this, but npe2 catch https://github.com/napari/npe2/pull/272
Type of change

[x] Bug-fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

References

How has this been tested?

[ ] example: the test suite for my feature covers cases x, y, and z
[ ] example: all tests pass with my change
[ ] example: I check if my changes works with both PySide and PyQt backends
as there are small differences between the two Qt bindings.

Final checklist:

[ ] My PR is the minimum possible work for the desired functionality
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] If I included new strings, I have used trans. to make them localizable.
For more information see our translations guide.

Fast merge for solving npe2 test failure.


[8.x] More Convenient Model Broadcasting

This PR adds some convenience features around broadcasting model state changes - inspired by @tonysm's work on his Turbo + Laravel integration.
Broadcasting Model Events
There is a new trait which can be added to models to allow for the easy broadcasting of model events (created, updated, trashed, restored, deleted). Before adding this feature I previously used to create event classes for these model events, such as a DeploymentUpdated event in Laravel Vapor. These events would then be marked as ShouldBroadcast. If you are using these events for other purposes in your application that approach works great but if you only need the event so that it can be broadcast to your frontend then the new Eloquent BroadcastsEvents trait can save you some boilerplate code.
Usage of the trait looks like this:
<?php

namespace App\Models;

use Illuminate\Broadcasting\PrivateChannel;
use Illuminate\Database\Eloquent\BroadcastsEvents;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

class Post extends Model
{
    use BroadcastsEvents, HasFactory;

    /**
     * Get the user that the post belongs to.
     */
    public function user()
    {
        return $this->belongsTo(User::class);
    }

    /**
     * Get the channels that model events should broadcast on.
     *
     * @param  string  $event
     * @return \Illuminate\Broadcasting\Channel|array
     */
    public function broadcastOn($event)
    {
        return [$this];
    }
}

Note that the broadcastOn method receives the event type (string of created, updated, etc.) and returns the channels that the event should be broadcast on. Also note that you may simply return Eloquent instances as channels. Of course, you can still return full Channel or PrivateChannel instances. This brings me to the next point...
Eloquent model channel conventions... If you provide an Eloquent model instance in place a channel, the framework will automatically derive the channel name by calling the broadcastChannel method on the instance and create a PrivateChannel instance for that channel string. All Eloquent models now implement the Illuminate\Broadcasting\HasBroadcastChannel interface which dictates they implement this method. The base implementation will return a string channel name of the given format: App.Models.ModelName.{id} where, of course, the actual model name and ID value are replaced in the string with their actual values.
Often, you will want to broadcast an event on the model's own channel as well as its parent channel. For example, when a deployment is updated in Vapor, we broadcast that on the deployment's own channel as well as the environment's channel so that the list of deployments on the environment page can be live updated. With this new feature, you may simply return the model itself as well as the related model from the broadcastOn method:
/**
 * Get the channels that model events should broadcast on.
 *
 * @param  string  $event
 * @return \Illuminate\Broadcasting\Channel|array
 */
public function broadcastOn($event)
{
    return [$this, $this->user];
}

Of course, using the new PHP 8 match construct, it is easy to disable broadcasting for certain events:
/**
 * Get the channels that model events should broadcast on.
 *
 * @param  string  $event
 * @return \Illuminate\Broadcasting\Channel|array
 */
public function broadcastOn($event)
{
    return match($event) {
        'updated' => [],
        default => [$this],
    };
}

Broadcast Routes
To leverage the automatic determination of broadcast channel routes for models when actually registering your channel authentication callbacks, you may now pass an Eloquent model instance or class name into the Broadcast::channel method:
Broadcast::channel(User::class, function ($user, $id) {
    return (int) $user->id === (int) $id;
});

Listening For Model Events
Since there is not an actual event class that corresponds to these events that are automatically broadcasted, you need to listen to them slightly differently in Echo's client (I may improve this a bit in a separate PR). By convention, the events will be broadcast using the following convention: ModelNameCreated, ModelNameUpdated, etc. Since these events are broadcast outside of any namespace, you must prefix them with a . in Echo (I would like to improve this UX). The events will have a public model property where you can access the corresponding model attributes in your client side JavaScript application:
So, listening to the events looks like the following:
Echo.private('App.Models.User.1')
    .listen('.UserUpdated', (e) => {
        console.log(e.model)
    })
    .listen('.PostCreated', (e) => {
        console.log(e.model);
    });

Awesome, It's clean!

I am currently working on a similar concept. The biggest problem is getting events for models in some form of relationship with another model. there are so many edge cases that a simple approach like yours currently means some models have to publish up to 20 events, and some models would have to do extensive database lookups to get all related models. To be honest, i still don‘t have an easy solution.

I am currently working on a similar concept. The biggest problem is getting events for models in some form of relationship with another model. there are so many edge cases that a simple approach like yours currently means some models have to publish up to 20 events, and some models would have to do extensive database lookups to get all related models. To be honest, i still don‘t have an easy solution.

@tpetry not sure if this would solve your issue, but sounds like a use case for $model->broadcastUpdatedTo($anotherModel), which could be called outside the model (independently of the model events) and would send the updated event to that passed model/channel. This way, the models wouldn't even have to be related.

@tpetry not sure if this would solve your issue, but sounds like a use case for $model->broadcastUpdatedTo($anotherModel), which could be called outside the model (independently of the model events) and would send the updated event to that passed model/channel. This way, the models wouldn't even have to be related.

Yeah, kind of. This is in concept the same solution as Taylor's approach:
public function broadcastOn($event)
{
    return [$this, $this->user];
}

And as i said this concept is working, and i have a very similar solution live on an application. So @taylorotwell your approach is good and has been proven to work for us. But it's quite messy if you have models which are in a relationship with many models. Take for example updated user information, the user may be in a relationship with many models. I don't know of any solution solving this problem efficiently. There are databases like RethinkDB with a really good approach but all these approaches do not fit laravel's architecture. I just wanted to add one of my learnings i had when doing this in the hope someone has a brilliant idea to solve it.


Python docs

Closes #51

What's the plan here? We might be working alongside each other here; I was planning on generating the Python docs in the same way I'm generating the C docs in the api-doc branch now (i.e., roll my own markdown generator, then generate with mdbook).

I'll merge this for now, and once you have your own thing we'll just replace this with that.


Allow the development build of skuba to deploy 1.14.1

Why is this PR needed?
Since we changed the PSP's to have apparmor support, the 1.14.1
version that can be deployed with the latest skuba was not
functional.
This affects the development version only, as it's the only possible
way to deploy Kubernetes 1.14.1 with a newer skuba (because of the
development-only flag --kubernetes-version).

All fine:
~/c/openstack > kubectl get nodes -o wide
NAME      STATUS   ROLES    AGE     VERSION   INTERNAL-IP   EXTERNAL-IP   OS-IMAGE                              KERNEL-VERSION           CONTAINER-RUNTIME
master0   Ready    master   10m     v1.14.1   <IP_ADDRESS>    <none>        SUSE Linux Enterprise Server 15 SP1   4.12.14-197.15-default   cri-o://1.14.1
worker0   Ready    <none>   6m33s   v1.14.1   <IP_ADDRESS>    <none>        SUSE Linux Enterprise Server 15 SP1   4.12.14-197.15-default   cri-o://1.14.1
~/c/openstack > kubectl get pods -A -o wide
NAMESPACE     NAME                               READY   STATUS    RESTARTS   AGE     IP             NODE      NOMINATED NODE   READINESS GATES
kube-system   cilium-operator-7d49c77dff-kcq8s   1/1     Running   0          9m40s   <IP_ADDRESS>    worker0   <none>           <none>
kube-system   cilium-pbbw2                       1/1     Running   0          6m16s   <IP_ADDRESS>     master0   <none>           <none>
kube-system   cilium-sp6dd                       1/1     Running   0          6m16s   <IP_ADDRESS>     worker0   <none>           <none>
kube-system   coredns-559fbd6bb4-9ktd2           1/1     Running   0          9m52s   <IP_ADDRESS>   master0   <none>           <none>
kube-system   coredns-559fbd6bb4-ssmqx           1/1     Running   0          9m52s   <IP_ADDRESS>    master0   <none>           <none>
kube-system   etcd-master0                       1/1     Running   0          9m42s   <IP_ADDRESS>     master0   <none>           <none>
kube-system   kube-apiserver-master0             1/1     Running   0          9m41s   <IP_ADDRESS>     master0   <none>           <none>
kube-system   kube-controller-manager-master0    1/1     Running   0          9m39s   <IP_ADDRESS>     master0   <none>           <none>
kube-system   kube-proxy-frwp5                   1/1     Running   0          9m52s   <IP_ADDRESS>     master0   <none>           <none>
kube-system   kube-proxy-wzfnv                   1/1     Running   0          6m38s   <IP_ADDRESS>     worker0   <none>           <none>
kube-system   kube-scheduler-master0             1/1     Running   0          9m47s   <IP_ADDRESS>     master0   <none>           <none>
kube-system   kured-n5bff                        1/1     Running   0          2m58s   <IP_ADDRESS>   worker0   <none>           <none>
kube-system   kured-nhxj5                        1/1     Running   3          7m57s   <IP_ADDRESS>   master0   <none>           <none>
kube-system   oidc-dex-68476b9689-hhbpw          1/1     Running   1          9m35s   <IP_ADDRESS>   worker0   <none>           <none>
kube-system   oidc-gangway-7d89968d99-wsrl4      1/1     Running   0          9m31s   <IP_ADDRESS>    worker0   <none>           <none>


[GHSA-2pqj-h3vj-pqgw] Cross-Site Scripting in jquery

Updates

Affected products

Comments
All version below 1.9.0b1 are vulnerable. See https://research.insecurelabs.org/jquery/test/ and try bug 11290

Hi @eoftedal, thank you for the information and for providing a reference link. The information you found is consistent with the vulnerable version ranges listed on the National Vulnerability Database entry for CVE-2012-6708, this Snyk advisory, and this archived copy of a securityfocus.com advisory.


[BUG] Snippet Setup example code error.

This code I can't debug because it confused.
Can you offer source code? Or help me debug the bug.
(It is random occurrence)
ai.2.min.js

ai.2.min.js

Unfortunately, I used the latest example code ai.3.gbl.min.js and I got the same error.

It is very strange that it is preceded by: f.que = []
So why can't I access push?

I solved the error by doing this, but I don't know if there are any side effects.
(f.queue&&f.queue.push(xxx))

Hmm, this looks like the "snippet" (SDK Loader code) and not the main SDK.
Which "version" of the snippet are you including, it's denoted by the value of the sv:"#" value in the code (not the ai.2.min.js, or ai.3.gbl.min.js)
The "uncompressed" version of sv:"6" is located here https://github.com/microsoft/ApplicationInsights-JS/blob/main/AISKU/snippet/snippet.js
And the current version (sv:"7") we converted into TypeScript and is located here https://github.com/microsoft/ApplicationInsights-JS/blob/main/tools/applicationinsights-web-snippet/src/snippet.ts, it is unexpected that the queue is not defined as this is "assigned" as an empty array on line 40 of the snippet.ts
So it seems there might be something else going on for the sequence where the default (initial) "instance" (created on lines 38..44) doesn't seem to be running.

Hmm, this looks like the "snippet" (SDK Loader code) and not the main SDK. Which "version" of the snippet are you including, it's denoted by the value of the sv:"#" value in the code (not the ai.2.min.js, or ai.3.gbl.min.js)
The "uncompressed" version of sv:"6" is located here https://github.com/microsoft/ApplicationInsights-JS/blob/main/AISKU/snippet/snippet.js
And the current version (sv:"7") we converted into TypeScript and is located here https://github.com/microsoft/ApplicationInsights-JS/blob/main/tools/applicationinsights-web-snippet/src/snippet.ts, it is unexpected that the queue is not defined as this is "assigned" as an empty array on line 40 of the snippet.ts
So it seems there might be something else going on for the sequence where the default (initial) "instance" (created on lines 38..44) doesn't seem to be running.

Thanks. I will test the snippet with the source code.

I think it like the line:
https://github.com/microsoft/ApplicationInsights-JS/blob/36856e1b8050e0b275107d72504ea3af4a070dcf/tools/applicationinsights-web-snippet/src/snippet.ts#L304

Yes, that is the line I would expect matches the minified above, but, I would not expect the queue to be undefined...
@siyuniu-ms Can you see if you can reproduce this issue.

Hi @zh-pan , I tried to reproduce it by running sv version 7:
<script type="text/javascript">   !(function (cfg){function e() ...... (removed for easier reading)       // src: "https://js.monitor.azure.com/scripts/b/ai.3.gbl.min.js",       crossOrigin: "anonymous",        cfg: {            connectionString: "YOUR_CONNECTION_STRING"       }   });   </script>
here is the whole src code:

I commented out the src string for edge case and add breadpoint but didn't reproduce the problem.

Could you provide more detail about how to reproduce the problem? Thanks!

I can't provide more because it is random. Sorry.

@MSNev Maybe you are right.
I check my code and note use "RemoteAuthenticatorView"(Blazor WASM Component) will handle authentication redirects(http code 302).
Will it create a race condition?

Will it create a race condition?

A 302, itself won't necessarily cause the race condition, but because of the additional delay required for the round trips of the request / response, then it might aid in the triggering of the issue. But the basic issue is multiple instances.
I drilled into the code a little more and found the code inside of the SDK that once it initializes it calls the emptyQueue() function which will set the queue to undefined, which would then trigger this error (because it got changed under the covers).
So another possible possibility

Snippet initializes and create the proxy functions (which cache the event call)
Older version of the SDK loads, processes "it's" queue, reassigns the functions (it knows about) and clears the queue
Because the snippet creates proxy methods for all of these, any older SDK which doesn't "reassign" all of the functions to itself (because the function didn't exist) will leave the proxy behind which when called will still attempt to "add" to the now empty queue.

A further possibility, would be that if you (or something) caches the "proxy" function and call it then it will also continue to call the old proxyy rather than the replaced instance function.


Seems pushes are no longer tweeted??

https://twitter.com/perl6_cpan_new  seems to have stopped on May 19.  Many uploads where done by me since then :-)

2018/05/20 10:27:40 503 unable to get max for perl.cpan.uploads

I restarted it for the time being.

@lizmat thanks for reporting this.

please reopen this issue if it stops again.

It appears to have stopped again: it didn't mention my upload of Memoize to PAUSE about 30 minutes ago

https://www.nntp.perl.org/group/perl.cpan.uploads/

This is what I got from PAUSE by mail:
The uploaded file
Memoize-0.0.1.tar.gz
has entered CPAN as
file: $CPAN/authors/id/E/EL/ELIZABETH/Perl6/Memoize-0.0.1.tar.gz
size: 13623 bytes
md5: cda813617e1f4dd004c64b0a30f78bf3
sha1: feb4b3d670ad662192d3b657b75bd2d86e089c98
CPAN Testers will start reporting results in an hour or so:
http://matrix.cpantesters.org/?dist=Memoize
Request entered by: ELIZABETH (Elizabeth Mattijsen)
Request entered on: Wed, 30 May 2018 12:44:10 GMT
Request completed:  Wed, 30 May 2018 12:45:10 GMT
Thanks,
paused, v1049

If I check #news on irc.perl.org, I see new uploads that aren't mentioned on that page.  How up to date is that page ??


[git] Can't clone repositories

Issue description
I can't clone a git repository hosted at GitLab using SSH. There isn't any problem downloading the repository over HTTPS or using git provided by Fedora's own repositories. The same problem occurs when trying to clone both public and private repos. The system in freshly installed. I've verified that SSH works by connecting to GitLab using the commenad ssh -T<EMAIL_ADDRESS>as described in their documentation[0].
When I try to clone the repository using Nix's git via SSH I get the following error message:
Cloning into 'emacs'...
Unsupported Match attribute final
/etc/ssh/ssh_config.d/05-redhat.conf line 3: Bad Match condition
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

Content of /etc/ssh/ssh_config.d/05-redhat.conf:
# The options here are in the "Match final block" to be applied as the last
# options and could be potentially overwritten by the user configuration
Match final all
	# Follow system-wide Crypto Policy, if defined:
	Include /etc/crypto-policies/back-ends/openssh.config

	GSSAPIAuthentication yes

# If this option is set to yes then remote X11 clients will have full access
# to the original X11 display. As virtually no X11 client supports the untrusted
# mode correctly we set this to yes.
	ForwardX11Trusted yes

# Send locale-related environment variables
	SendEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
	SendEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
	SendEnv LC_IDENTIFICATION LC_ALL LANGUAGE
	SendEnv XMODIFIERS

# Uncomment this if you want to use .local domain
# Host *.local

Steps to reproduce
These steps mostly describe how I've setup my system. I don't know where in the chain the problem lies.

Install Fedora 29 with Plasma.
Install Nix with the command curl https://nixos.org/nix/install | sh.
Install Git with nix-env -iA nixpkgs.git
Try to clone a private repo from GitLab using the SSH URL.

Technical details
Please run nix-shell -p nix-info --run "nix-info -m" and paste the
results.

system: "x86_64-linux"

host os: Linux 4.20.16-200.fc29.x86_64, Fedora, 29 (Twenty Nine)

multi-user?: no

sandbox: yes

version: nix-env (Nix) 2.2.1

channels(user): "nixpkgs-19.09pre173147.03050e9749e"

nixpkgs: /home/user/.nix-defexpr/channels/nixpkgs

/usr/bin/git --version: git version 2.20.1

/nix/store/rsd4vlhc4qmmayjvflds303fy080v1sh-user-environment/bin/git --version: git version 2.19.2

[0]  https://gitlab.com/help/ssh/README#testing-that-everything-is-set-up-correctly

git calls ssh from nixpkgs:
https://github.com/NixOS/nixpkgs/blob/be1c03ddaf867e9a58499cd790d5cd72cffc6fca/pkgs/applications/version-management/git-and-tools/git/default.nix#L46..54
It might be the version of openssh passed in there doesn't support the match final syntax, I'm not sure.
Additionally GSSAPI support is disabled by default, you'd have override your git with openssh pointing to openssh_gssapi, which isn't really easy to do by just calling nix-env -iA in a non-NixOS environment.
You could try to point $GIT_SSH to your Fedora 29 ssh command (/usr/bin/ssh?), this should work.

Also reproducible on Fedora 30

@flokli I was able to track down this issue it's because Fedora uses newer version of ssh. Is there a way to override ssh library used within nix? My $GIT_SSH pointing to right place but on deploy it uses nix-based binary with system wide config which lead to an error.

@sigrlami I'm not sure if I understand, but as long as GIT_SSH is set, git should use the fedora ssh executable instead of whatever ssh executable is shipped with nix.
What do you mean with "library"? git only shells out to ssh…

I don't know if it's the same problem. But when I try to clone my GH fork of Nixpkgs with the command git clone git@github.com:inquisitiv3/nixpkgs.git I get the error message
Cloning into 'nixpkgs'...
/etc/crypto-policies/back-ends/openssh.config: line 3: Bad configuration option: gssapikexalgorithms
/etc/crypto-policies/back-ends/openssh.config: terminating, 1 bad configuration options
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

I'm running a Fedora 32 system now.

@a12l what does which git and which ssh say on your system?

@a12l what does which git and which ssh say on your system?

@a12l what does which git and which ssh say on your system?

$ which git
/home/ao/.nix-profile/bin/git

$ which ssh
/usr/bin/ssh

I still got the problem on Fedora 33. Your suggestoin to set $GIT_SSH to /usr/bin/ssh in ~/.bash_profile works great!

@a12l what does which git and which ssh say on your system?

$ which git
/home/ao/.nix-profile/bin/git

$ which ssh
/usr/bin/ssh

I still got the problem on Fedora 33. Your suggestoin to set $GIT_SSH to /usr/bin/ssh in ~/.bash_profile works great!

Yeah, so the default ssh binary that git from nixpkgs uses has less features than the one shipped with other distributions (no GSSAPIAuthentication support for example).
We hardcode this to the nixpkgs-provided openssh in pkgs/applications/version-management/git-and-tools/git/./ssh-path.patch. We might want to extend this patch to first try to pick ssh from $PATH, and only then fallback to our fallback ssh - or not hardcode it at all, but just rely on all fetchers providing some ssh in $PATH.
This might play well together with @arianvp's plans to make openssh in the fetchers more minimal (https://github.com/NixOS/nixpkgs/issues/106858#issuecomment-746275988) to make the build closure smaller.

Yeah, so the default ssh binary that git from nixpkgs uses has less features than the one shipped with other distributions (no GSSAPIAuthentication support for example).
We hardcode this to the nixpkgs-provided openssh in pkgs/applications/version-management/git-and-tools/git/./ssh-path.patch. We might want to extend this patch to first try to pick ssh from $PATH, and only then fallback to our fallback ssh - or not hardcode it at all, but just rely on all fetchers providing some ssh in $PATH.
This might play well together with @arianvp's plans to make openssh in the fetchers more minimal (https://github.com/NixOS/nixpkgs/issues/106858#issuecomment-746275988) to make the build closure smaller.

Is there a way to pick ssh from $PATH in a nix shell while still supplying openssh in the shell for dependency purposes?


Question: MTLFeatureSet_macOS_GPUFamily2_v1 and macOS 10.14

https://github.com/ConfettiFX/The-Forge/blob/076aa5dcd8fd71cc83905431c92360183c7027d9/Common_3/Renderer/Metal/MetalRenderer.mm#L1795-L1798
Based on Apple document that MTLFeatureSet_macOS_GPUFamily2_v1 requires macOS 10.14 and last version is also if (@available(macOS 10.15, *)) . Why should we update to macOS 10.15? newBufferWithLength:options:offset: requires  macOS 10.15?

https://developer.apple.com/documentation/metal/mtlheap/3152522-newbufferwithlength
Manual heap placement requires macOS 10.15+, iOS 13.0+

Thank you!


openidc_discover(): could not decode JSON from Discovery data & status=302

Hello @Trojan295 or oidc-Group,
At the moment of discovery my kong can't decode json response (for information i use keycloak).
`[error] 3904#0: *396225 [lua] openidc.lua:497: openidc_discover(): could not decode JSON from Discovery data: response indicates failure, status=302, body=
302 Found

302 Found
openresty/<IP_ADDRESS>

`
Thanks in avance guys,

Can you post basic information about:

Kong version
OIDC plugin configuration?

I tried kong as a proxy for keycloak without oidc plugin and i had this kong error:

Kong Error
An invalid response was received from the upstream server.

my service kong conf is:
{   "host": "localhost",   "created_at":<PHONE_NUMBER>,   "connect_timeout": 60000,   "id": "6f7d0692-31f0-4b77-9402-5c5d2003dc17",   "protocol": "http",   "name": "discovery",   "read_timeout": 60000,   "port": 8180,   "path": "/auth/realms/kong/.well-known/openid-configuration",   "updated_at":<PHONE_NUMBER>,   "retries": 5,   "write_timeout": 60000,   "extras": {     "createdUser": null,     "updatedUser": null,     "kong_node_id": "1",     "service_id": "6f7d0692-31f0-4b77-9402-5c5d2003dc17",     "createdAt": "2018-12-14T14:23:44.476Z",     "updatedAt": "2018-12-14T14:24:11.775Z",     "id": 1   } }
is it kong or lua issue?

Verify that the port you are using is the right one (And it seems it is, 8080 is the one for Keycloak), but also try to find what is the IP used by your Keycloak. If you are using a container try something like
docker inspect <id of the container>

and checkout NetworkSettings.Networks.IPAddress.


Custom div with class

Describe the feature you'd like
Can I add a custom div with a custom css class on editor? In custom code I add a div, but it removes css class
Describe the benefits this feature would bring to BookStack users
Width this we can achieve to create some layout types with columns or even include videos with responsive css..

Hi @RodriAndreotti,
A range of custom content is purposefully filtered out in the editor to attempt to keep content limit to that which can be supported by other parts of the app and future changes.
We do have some editor events, which could allow altering of the editor config (Including content filtering options) but any such changes are unsupported by the platform.
Details on editor events can be found here:
https://www.bookstackapp.com/docs/admin/hacking-bookstack/#bookstack-editor-events

Hi, @ssddanbrown !
Thank you by feedback.
Actually, some level of filtering is always necessary, in my case I am using bookstak to create the administration panel documentation for the sites I develop, and some level of customization of the elements is sometimes necessary, for example image alignment to the left or right (this I managed to solve using the source code editor), but placing content in columns and / or responsive videos using custom css was not possible precisely by filtering classes in the div.
By the way, thanks again for the feedback.

So is it possible to have custom css class on div inside of page? This something just normal things. Why strip css class away? i want to give a DIV a class so i can have Button styling in my Page. :-S

@lenusch

So is it possible to have custom css class on div inside of page?

Not without altering the editor config using the editor events link I posted above or using the markdown editor (Although content will be re-stripped if edited again within the WYSIWYG editor)

Why strip css class away?

To keep the included content to that which BookStack supports and to stop potential clashing with existing styles.
Just an additional note, Although it's possible to override the editor config to allow more styles, it may cause you issues in the future upon upgrades where your custom additions are not accounted for.
I'm going to close this off as custom classes within page content is not something I'd be looking to support by default due to the above.


Exception Handling in NGramClusterer.class Prevents Proper Exception Reporting to ComputeClustersCommand.class

Issue Description:
The current exception handling in NGramClusterer.class within the Vicino library prevents proper reporting of exceptions. When an ExecutionException is thrown by FutureTask.class, it is caught in NGramClusterer.class but not rethrown, preventing the exception from reaching ComputeClustersCommand.class and thus not notifying the frontend. As a result, users are not informed of the error, and only a stack trace is printed.
This block of code is from NGramClusterer.class in the Vicino library:
       try {
            List<Future<Map<Serializable, Set<Serializable>>>> futures = executor.invokeAll(evaluators);
            var18 = futures.iterator();

            while(var18.hasNext()) {
                Future<Map<Serializable, Set<Serializable>>> future = (Future)var18.next();
                cluster_maps.add((Map)future.get());
            }
        } catch (InterruptedException var14) {
            var14.printStackTrace();
        } catch (ExecutionException var15) {
            var15.printStackTrace();
        }

Steps to Reproduce:

Use the branch from this pull request: OpenRefine/OpenRefine#6738.
In the custom clustering dialog, enter "Foo" as an expression, which will lead to an ExecutionException in FutureTask.class.
Observe that the error is caught in NGramClusterer.class but is not propagated further.
Note that the frontend does not receive an error response, and no user-facing error message is displayed.

Expected Behavior:
The exception should propagate from NGramClusterer.class to ComputeClustersCommand.class, resulting in a proper error message being sent to the frontend, allowing the application to inform the user of the failure.
Proposed Solution:
Update the exception handling in NGramClusterer.class to rethrow the ExecutionException, so it can be properly handled by ComputeClustersCommand.class and communicated to the user.

We can't change the existing method signature to start throwing exceptions without breaking clients, be we can add a new method. Alternatively, we could switch the internal flag to do clustering on a single thread which doesn't have this issue, instead of using the multithreaded code that we currently do.

We can't change the existing method signature to start throwing exceptions without breaking clients, be we can add a new method. Alternatively, we could switch the internal flag to do clustering on a single thread which doesn't have this issue, instead of using the multithreaded code that we currently do.

Where can I find the "internal flag"? I only found this function.
    public List<Set<Serializable>> getClusters(double radius) {
        return this.getClustersMultiThread(radius);
    }


Use 'owner' token when communicating with Auth emulator

Hey there! So you want to contribute to a Firebase SDK?
Before you file this pull request, please read these guidelines:
Discussion
Fixes #1077
Testing
Wrote a simple test.js script:
const admin = require('firebase-admin');
admin.initializeApp({
  projectId: 'fir-dumpster'
});

async function main() {
  console.log(`FIREBASE_AUTH_EMULATOR_HOST=${process.env.FIREBASE_AUTH_EMULATOR_HOST}`);
  const user = await admin.auth().createUser({
    uid: "user" + new Date().getTime()
  });

  console.log("Created: ", user.uid)
}

main();

When executed as normal:
$ node test.js
FIREBASE_AUTH_EMULATOR_HOST=undefined
(node:37745) UnhandledPromiseRejectionWarning: Error: Credential implementation provided to initializeApp() via the "credential" property failed to fetch a valid Google OAuth2 access token with the following error: "Error fetching access token: Error while making request: getaddrinfo ENOTFOUND metadata.google.internal metadata.google.internal:80. Error code: ENOTFOUND".
    at FirebaseAppError.FirebaseError [as constructor] (/Users/samstern/Projects/firebase-admin-node/lib/utils/error.js:43:28)
    at FirebaseAppError.PrefixedFirebaseError [as constructor] (/Users/samstern/Projects/firebase-admin-node/lib/utils/error.js:89:28)
    at new FirebaseAppError (/Users/samstern/Projects/firebase-admin-node/lib/utils/error.js:124:28)
    at /Users/samstern/Projects/firebase-admin-node/lib/firebase-app.js:122:23
    at process._tickCallback (internal/process/next_tick.js:68:7)
(node:37745) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:37745) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

When executed in the emulators:
$ firebase emulators:exec "node test.js"
i  emulators: Starting emulators: auth, functions
⚠  functions: The following emulators are not running, calls to these services from the Functions emulator will affect production: firestore, database, hosting, pubsub
⚠  Your requested "node" version "12" doesn't match your global version "10"
i  functions: Watching "/private/var/folders/xl/6lkrzp7j07581mw8_4dlt3b000643s/T/tmp.35bA7OYr/functions" for Cloud Functions...
i  Running script: node test.js
FIREBASE_AUTH_EMULATOR_HOST=localhost:9099
Created:  user1604932585692
✔  Script exited successfully (code 0)
i  emulators: Shutting down emulators.
i  functions: Stopping Functions Emulator
i  auth: Stopping Authentication Emulator
i  hub: Stopping emulator hub

API Changes
N/A

@hiranya911 thanks for the comments! You're right that's much cleaner.

I know this was merged very recently, but when can we expect to see this in a tagged release?

@nVitius we don't have a strict release cadence but if you look at the past we've released about once a month or so:
https://github.com/firebase/firebase-admin-node/releases
This change will be included in the next release.  If you want to use it right now you can always clone the master branch of this GitHub repo and npm install the dependency locally!

@nVitius well you got lucky ... the 9.4.0 release with this fix went out!