Cards: Expressive type - Design feedback

Please size the issue once design feedback is received.

The expressive card looks great!
I have a few comments on things that need to be adjusted following the component guidelines. Please feel free to reach out if any of these points need more clarity:

Since card size increments only by 4 columns, could we get controls in the storybook by size (small-4col, medium-8col, large-12col, max-16col)  instead of allowing number input? This way, we avoid things like 1, 2, 3, 5, etc columns cards. Side Panel has a similar control for size.

Ratios determine image size in the expressive card, so we shouldn't include fixed pixel (600x400) images as an example. I wonder if we can include some controls for image ratios. This will vary depending on the placement. For the left placement, the image has to be part of the card size column count.  Please see these examples: https://ibm.invisionapp.com/d/?redirHash=#/console/15373359/319889226/preview?scrollOffset=0

There should be a 2px spacing between the label and title.

Button size for expressive cards has been determined to be field size (40px). Right now it is default size (48px).

Ghost buttons are the default button style for the secondary action. Can we leave that as the selected default in "secondaryButtonKind"?

Clickable cards need the hover state please see reference here: https://pages.github.ibm.com/cdai-design/pal/components/card/expressive/usage#action-zones

Clickable cards shouldn't include internal links, so I don't think the last variation is necessary.

In addition to having a label + title option, could we also have include variations of tittle+caption and just label in the title block?

Please let me know if you have any question


right to replicate document

After a round of collaborative editing on the right to replicate doc, this is a PR to include it on the 2i2c website.
Would love thoughts and feedback from folks. I'll leave this open for a couple days so folks have time to comment.
Here's a preview: https://deploy-preview-24--cocky-booth-e7ed17.netlify.app/right-to-replicate/

awesome! thanks @yuvipanda for the review. pinging a final time @2i2c-org/founders in case they have thoughts here (this document can certainly evolve over time, so it doesn't need to be perfect right now, but we should make sure the main ideas are good). I'll wait a day or two and merge if nobody protests.


Fix android build error under sdk version 24

Description
Fixed issue #459

Build.VERSION_CODES.N is available from android sdk version 24.

https://developer.android.com/reference/android/os/Build.VERSION_CODES.html#N

Change the N variable with a hard-coded variable as proposed in

https://stackoverflow.com/a/42515931/1609620

Compatibility

OS
Implemented

iOS
❌

Android
✅

Windows
❌

Checklist

[X] I have tested this on a device/simulator for each compatible OS
[X] I added the documentation in README.md.
[X] I mentionned this change in CHANGELOG.md.

@reedyrm @maksim-harakhovich-itechart @kingmatusevich @tbenr @cusspvz
I made a pull request. https://github.com/rebeccahughes/react-native-device-info/pull/460
Could you check that this change resolves this issue?
You can install this by following in package.json
"react-native-device-info": "git+https://github.com/hayanmind/react-native-device-info.git#e1899138b95bc8f71aab1877c2c2627ecab5e1c4"

hi @ghsdh3409, the Build.VERSION_CODE.N error is gone but I still get error.

getLocales() requires SDK 24 too, you may need to use reflection.

@tbenr Thanks for letting me know! I will reflect this asap!

@tbenr Can I know your targetSdkVersion and compileSdkVersion?

FYI. https://github.com/rebeccahughes/react-native-device-info/pull/454/files

@reedyrm @maksim-harakhovich-itechart @kingmatusevich @tbenr @cusspvz
I checked that it works on my local.
Could you check that this change resolves this issue?
You can install this by following in package.json
"react-native-device-info": "git+https://github.com/hayanmind/react-native-device-info.git#48ecb2a200e8d9fb5452fffb80368dee3d219ad6"

I tested your previous commit and the up-to-date commit in the clean RN project. It confirms that the issue has been resolved before and after.
Please double-check if it builds successfully for the who had this issue.
@tbenr

I tested your previous commit and the up-to-date commit in the clean RN project. It confirms that the issue has been resolved before and after.
Please double-check if it builds successfully for the who had this issue.
cc: @tbenr

@ghsdh3409 @ohtangza it worked for me.

@tbenr Thanks for your effort.
Our team dealt with this issue seriously. Hope this resolves the build issue and cause no more confusion for devs.

Thank you so much @ghsdh3409 and all for the quickly handled fix and tests. 0.22.2 is on its way to npm with this PR on. Keep on being awesome!


fix: export type interfaces for external use

Changelog
Summary
When working in Carbon Shared Tests, I had to go to the actual path of the base files in order to reference our custom TypeScript interfaces. This PR adds the interfaces as exports to the index file as well so users won't have to know the full URL path to these files.
Added

exports to index.js

Code review

[x] The code must be reviewed by at least one Maintainer

Definition of done

The code has been reviewed by the Maintainer
The code has passed quality checks

85% code coverage
Passed the following tests:

Unit

Documents are updated

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Make elements of the config object tree addressable

In order to use parts of the object tree on it's own (i.e. just create a JDBC driver or datasource), the config classes need to for resolution of the full resource address in the management model. In swarm we do a top down marshalling approach, hence the issue is not apparent (we always have a parent ocntext to determine the full address). But other parties like  hawkular have an interest in using the config-api for general management of wildfly servers.
Previously this has been achieved by the @Address annotation on each generated class, but this have been removed with the attempt to remove duplicate classes.

Here's a list of duplicate resources in the current config: https://gist.github.com/heiko-braun/cd41388624ed411968d2

Given the actual amount of resources that are duplicates, I think we should keep the current a approach and have single classes represent multiple resources. Addressing those then becomes a client concern.

The addresses are now carried forth with the classes adn are documented in the API and JavaDoc. Distinct classes use @Address opposed to classes that a shared across the API, which reference their resources using the @Addresses annotation.
Here are two examples:


outputs out of range with NeuralNetwork()

i am getting strange outputs ranges from NeuralNetwork
more training more values out of range my training data are from 0 to 0.9 what's wrong?
https://jsfiddle.net/1xr9zuvy/
console output from net.run
{ sun: 0.9480375647544861,
cloud: 0.0000012484682656577206,
rain: 0.002350462833419442,
t1_0: 0.009168339893221855,
t1_1: 0.2973463833332062,
t1_2: 0.33873674273490906,
t1_3: 0.14784488081932068,
t1_4: 0.031805701553821564,
t1_5: 6.39397701451827e-11,
t1_6: 1.6494860761561564e-13,
t1_7: 0.000015186551536316983,
t1_8: 0.0006069779628887773,
t2_0: 0.198526531457901,
t2_1: 0.653838038444519,
t2_2: 0.09187424182891846,
t2_3: 1.5359564731198816e-9,
t2_4: 7.427101156309845e-10,
t2_5: 0.000038855301681905985,
t2_6: 0.0000015368534604931483,
t2_7: 0.0006563678616657853,
t2_8: 0.000013165104064682964 }

What network are you using?  What does your network setup lookup look like?

i have post a working fiddle thanks

Sorry, didn't see it.  On phone with kids running around playing and screaming.

have a nice time.Please check it when/if you have time.

Which values look out of range to you?

Those are exponentials.  They look like they much larger than they in fact are (I struggle with it too).  It is the "e-" that gives them away.  The form they are taking is like a scientific notation for a very very very tiny number.
If you put them in a console, and use .toFixed() you can get something more legible:
(6.39397701451827e-11).toFixed(20)
"0.00000000006393977015"
(1.6494860761561564e-13).toFixed(20)
"0.00000000000016494861"
(1.5359564731198816e-9).toFixed(20)
"0.00000000153595647312"
(7.427101156309845e-10).toFixed(20)
"0.00000000074271011563"

I believe javascript uses this notation for performance.

can i use NeuralNetworkGPU() from node?
In node, it will fallback to CPU mode, but that will change soon when gpu.js get's opencl support, which will be after brain.js v2 (working hard on it) lands. So yes, but not will full support.  If you do find a bug, be sure to turn it in, I'll ensure it is resolved shortly.

can i merge 2 trained nn?
Using the existing training methods, I don't believe so.  However, we will be adding resilient back propagation soon, which will allow for this.

can i split the train job NeuralNetwork() in 4 threads cpu?
Not yet, but when resilient back propagation is added, yes.   As it allows you to essentially add nets together for reuse.  Our main sponsor is really wanting this, and I'm going to see about having it added before v2.

This sounds like a lot of work, but if you'd like to get involved the invitation is open to you or anyone reading.

I believe this issue is actually a case of mistaken identity, and closing for the time being.

ok not working in node working in chrome or some where else or will work after brain.v2?can i train there with NeuralNetworkGPU and how an example if working.

Ok, will look at this after work today, and will have this resolved with tests.  Ty for bringing it to my attention.

I believe this might be a duplicate of https://github.com/BrainJS/brain.js/issues/282

I'll continue tracking there.

thank you


Method getVirtualization not present

when i use
use Larinfo;
class SettingsController extends Controller
{
public function index()
    {
        $larinfo = Larinfo::getHostIpinfo();
        $larinfosoftware = Larinfo::getServerInfoSoftware();
        $larinfohardware = Larinfo::getServerInfoHardware();
        $larinforam = Larinfo::getServerInfo();
        $larinfouptime = Larinfo::getUptime();
        $larinfodb = Larinfo::getDatabaseInfo();
}
}

Then error shown Method getVirtualization not present
$virtualization = $this->getVirtualizationString(
            $this->ifExists($linfo->getVirtualization())
        );

@matriphe  please solve it #5  #

Has this been solved?

I got the same issue.. is it related to virtualization support of the device??
because I use Windows 10 and AMD chipset where chipset supports it but ACER bios have not given an update regarding it...

I got the same issue.. is it related to virtualization support of the device??
because I use Windows 10 and AMD chipset where chipset supports it but ACER bios have not given an update regarding it...

i had added this code in vendor\linfo\linfo\src\Linfo\OS\Windows.php
public function getVirtualization()
{
    // Time?
    if (!empty($this->settings['timer'])) {
        $t = new Timer('Determining virtualization type');
    }

    // OpenVZ host?
    if (is_file('/proc/vz/version')) {
        return array('type' => 'host', 'method' => 'OpenVZ');
    }

    // OpenVZ guest?
    elseif (is_file('/proc/vz/veinfo')) {
        return array('type' => 'guest', 'method' => 'OpenVZ');
    }

    // Veertu guest?
    if (Common::getContents('/sys/devices/virtual/dmi/id/bios_vendor') == 'Veertu') {
        return array('type' => 'guest', 'method' => 'Veertu');
    }

// LXC guest?
    if (strpos(Common::getContents('/proc/mounts'), 'lxcfs /proc/') !== false) {
        return array('type' => 'guest', 'method' => 'LXC');
    }

    // Docker guest?
    if (is_file('/.dockerenv') || is_file('/.dockerinit') || strpos(Common::getContents('/proc/1/cgroup'), 'docker') !== false) {
        return array('type' => 'guest', 'method' => 'Docker');
    }

    // Try getting kernel modules
    $modules = [];
     if (preg_match_all('/^(\S+)/m', Common::getContents('/proc/modules', ''), $matches, PREG_SET_ORDER)) {
         foreach ($matches as $match) {
             $modules[] = $match[1];
         }
     }

    // Sometimes /proc/modules is missing what is in this dir on VMs
    foreach (@glob('/sys/bus/pci/drivers/*') as $name) {
            $modules[] = basename($name);
    }

    // VMware guest. Tested on debian under vmware fusion for mac...
    if (Common::anyInArray(array('vmw_balloon', 'vmwgfx', 'vmw_vmci'), $modules)) {
        return array('type' => 'guest', 'method' => 'VMWare');
    }

    // VMware Host! tested on rhel6 running vmware..workstation?
    if (Common::anyInArray(array('vmnet', 'vmci', 'vmmon'), $modules)) {
        return array('type' => 'host', 'method' => 'VMWare');
    }

    // Looks like it might be xen...
    if (Common::anyInArray(array('xenfs', 'xen_gntdev', 'xen_evtchn', 'xen_blkfront', 'xen_netfront'), $modules) || is_dir('/proc/xen')) {

        // Guest or host?
        if (Common::anyInArray(array('xen-netback', 'xen_blkback'), $modules) || strpos(Common::getContents('/proc/xen/capabilities', ''), 'control_d') !== false) {
            return array('type' => 'host', 'method' => 'Xen');
        } else {
            return array('type' => 'guest', 'method' => 'Xen');
        }
    }

    // VirtualBox Host! Tested on lucid running vbox..
    if (in_array('vboxdrv', $modules)) {
        return array('type' => 'host', 'method' => 'VirtualBox');
    }

    // VirtualBox Guest! Tested on wheezy under mac vbox
    if (in_array('vboxguest', $modules)) {
        return array('type' => 'guest', 'method' => 'VirtualBox');
    }

    // Hyper-V guest. Tested with Trusty under Client Hyper-V in Windows 10 Pro. Needs to be checked before KVM/QEMU!
    if (Common::anyInArray(array('hid_hyperv', 'hv_vmbus', 'hv_utils'), $modules)) {
        return array('type' => 'guest', 'method' => 'Hyper-V');
    }

    // Looks like it might be KVM HOST!
    if (Common::anyInArray(array('kvm_intel', 'kvm_amd'), $modules)) {
        return array('type' => 'host', 'method' => 'KVM');
    }

    // Looks like it might be a KVM or QEMU guest! This is a bit lame since Xen can also use virtio but its less likely (?)
    if (Common::anyInArray(array('virtio', 'virtio_balloon', 'virtio_pci', 'virtio-pci', 'virtio_blk', 'virtio_net'), $modules)) {
        return array('type' => 'guest', 'method' => 'Qemu/KVM');
    }

    // idk
    return false;
 }

and I got solved virtualization error but I got swap memory error so I solved it by editing this function as ...
public function getRam()
{
    // Time?
    if (!empty($this->settings['timer'])) {
        $t = new Timer('Memory');
    }

    $total_memory = 0;
    $free_memory = 0;

    foreach ($this->wmi->ExecQuery('SELECT TotalPhysicalMemory FROM Win32_ComputerSystem') as $cs) {
        $total_memory = $cs->TotalPhysicalMemory;
        break;
    }

    foreach ($this->wmi->ExecQuery('SELECT FreePhysicalMemory FROM Win32_OperatingSystem') as $os) {
        $free_memory = $os->FreePhysicalMemory;
        break;
    }

    return array(
        'type' => 'Physical',
        'total' => $total_memory,
        'free' => $free_memory * 1024,
        'swapTotal' => 0,
        'swapFree' => 0,
    );
}

it would be great if you can create a PR for this functionality, since I don't have Windows machine.

I need to discuss few things on this where I can contact you?

we can discuss it here

Ok, so I used your code to fix the error as a temporary patch... I don't know is it goof or not but it's working.
N I think virtulization method must not to be mandatory in case of operating system varies over different platforms n devices.. n another point I got about swap memory is not exist over application level access in windows... So no use of it... It will require kernel level access.....
Another few things I want to discuss for business... If you would like to add me in LinkedIn.

yes, it might need to refactor and change some methods. it’s a good idea to
not make virtualization mandatory.
regarding swap memory, in Windows, there’s no such that thing.
you can contact me through e-mail in my Github profile.
On 28. May 2020 at 22:53:05, Snehal Gajjar<EMAIL_ADDRESS>wrote:
Ok, so I used your code to fix the error as a temporary patch... I don't
know is it goof or not but it's working.
N I think virtulization method must not to be mandatory in case of
operating system varies over different platforms n devices.. n another
point I got about swap memory is not exist over application level access in
windows... So no use of it... It will require kernel level access.....
Another few things I want to discuss for business... If you would like to
add me in LinkedIn.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/matriphe/larinfo/issues/5#issuecomment-635601541, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AACDWDUFG6UCRCYEDGAID23RT3FK7ANCNFSM4HG4HA5A
.

Please check the latest release 3.0. I hope it helps. Closing it for now. If you have any issue, you can reopen this.


installed gekko but now cannot get started can anyone PLEASE help

Note: this is the technical bug tracker, please use other platforms for getting support and starting a (non technical) discussion. See the getting help page for details.
I'm submitting a ...
[ ] bug report
[ ] question about the decisions made in the repository
Action taken (what you did)
Expected result (what you hoped would happen)
Actual result (unexpected outcome)
Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, etc)

I see this is your first Github issue ever.
And it shows because your issue has absolutely no information about the actual problem. You didn't even fill in the bug report fields. How are people supposed to know what issue exactly you are having?
All your post states is: "it doesn't work, please help". No context, no error messages, no logs, nothing.
So I doubt you'll get any sort of useful reply and this issue will probably get closed.
To get any help you'll need to thoroughly describe your problem, any errors you're getting, what you've tried, etc.
Still, Gekko works. So I'm guessing your actual issue is that you can't install it due to some other problem. That means that your issue is not really a Gekko issue but more of a support/help request, so you should try asking for help at the forum since github issues should really be reserved to actual bugs in the software and not for installation help requests.

@ptdev is exactly right!


Middleware should gracefully handle unsupported but valid locale identifiers

Is your feature request related to a problem? Please describe.
Given the default setup for a next-intl app router based project with i18n routing. When you navigate to an unsupported locale, but where the locale identifier in the URL is still valid, next-intl will continue to redirect the user to the default locale specified in the configuration, and then append the valid but unsupported locale to the new URL, rather than directly throwing a 404.
Example of rewrites for a scenario where I support English and German and have English set as the default language, and then try to navigate to the unsupported Japanese locale:
domain.com/ -> domain.com/en
domain.com/en -> No redirect
domain.com/de -> No redirect
domain.com/jp -> domain.com/en/jp (404)

You can see the above in action on the app router demo (Add /jp to the end of this)
Describe the solution you'd like
The desired behaviour would be that next-intl could gracefully handle the domain.com/jp scenario, and return a 404 directly from domain.com/jp, rather than redirecting to domain.com/en/jp and then returning a 404.
This could potentially be done through something similar to the following code snippet, where when determining whether to redirect or not before throwing a 404, we could pass in the first path segment in the URL for validation:
const isValidLocale = (localeSegment: string): boolean => {
  try {
    new Intl.Locale(localeSegment).maximize()
    return true
  } catch (e) {
    return false
  }
}

Calling .maximize() seems to be the only consistent way I've found that we can trigger an exception when passing in invalid locales to JS's Locale API.
Describe alternatives you've considered
The only other alternatives I've considered are totally removing i18n routing from my next-intl project. However, that comes with it's own tradeoffs and I'd rather have a more holistic solution similar to what is outlined above. It's not really a dealbreaker for me, but would be nice to have this gracefully handled.

I certainly see your point, but I can see two issues with this:

False positives: E.g. /it could either mean Italian, or information technology. I don't think it's safe to assume that anything that looks like a locale must be a locale.
Unstyled 404: Responding with a 404 status code from a middleware simply returns the status code and doesn't allow sending a rendered 404 page.

Due to this, I'm afraid there's not really a good way for next-intl to support this.
You can however compose the middleware and add this handling on top if you like.
Hope this helps!


Update JavaScript-Node.js-GitHub-Actions-Guidelines.md

Motivation
Related to DEVREL-794
Checklist

[ ] Code follows coding conventions held in this repo
[ ] Automated tests have been added
[ ] Tests are passing
[ ] Docs have been updated (if applicable)
[ ] Temporary settings (e.g. variables used during development and testing) have been reverted to defaults

How to test
If manual testing is required, what are the steps?

Just try to write better commit messages next time. 😜


Build CIL into an executable on Linux

As the title says, I'd like to basically run CIL code directly without going through a language like C#. I've read about ilasm.exe, is there a linux equivalent to it?

There are ilasm and ildasm for linux available as a NuGet packages

https://www.nuget.org/packages/runtime.linux-x64.Microsoft.NETCore.ILDAsm/.
https://www.nuget.org/packages/runtime.linux-x64.Microsoft.NETCore.ILAsm/

Inside the packages you can find their executables.

Or you could use Microsoft.NET.Sdk.IL. As a starting point, have a look at this example project (even though it's quite outdated).


Enable usage of the local WeaviateDB without a secure connection.

The default connection will be https, but in constructor you can set it to be http. This is a good approach to having a vector database inside Docker. There is no need to set up certificates.

Thanks for sending this PR in. Can the scheme be only http or https ? Should we be setting the type to 'http' | 'https' instead of string?

LGTM. I can merge this but there is now a conflict in the documentation. Could you pull, merge and push back?


Unexpected server response: 502

While going through the Pushpin Crash Course on YouTube, this command:
wscat --connect ws://localhost:7999/testwebsocket.php
Generates this error:
error: Unexpected server response: 502
This is a fresh server running Apache and it's definitely an Apache config issue. @jkarneges if you can share your Apache setup config that'd be awesome, since the video indicates you're also running Apache.

Hi,
Be sure to install mod_php (for comparison, this is libapache2-mod-php on Ubuntu) and enable the module if the installation process doesn't do this for you (e.g. a2enmod php7.2). Restarting Apache afterwards could be a good idea.
With a working Apache and PHP, check that testwebsocket.php responds as such:
$ curl -i -d 'OPEN'$'\r'$'\n' http://localhost/testwebsocket.php
HTTP/1.1 200 OK
Date: Wed, 02 Jan 2019 00:29:20 GMT
Server: Apache/2.4.29 (Ubuntu)
Content-Length: 6
Content-Type: application/websocket-events

OPEN

Note that the above request is made directly to Apache (in my case, port 80).
Another thing is to ensure you've set an appropriate route in Pushpin's routes file:
* localhost:80,over_http

Hopefully that's enough to get things working.

mod_php is already installed and testwebsocket.php is responding as expected. Routes file is as shown also. The issue is within the Apache configuration I believe.

If curl is getting a successful response from the script, then Apache is probably set up correctly.
Let's see if we can get more information about that 502 response from Pushpin.
Try enabling debugging on the route:
*,debug localhost:80,over_http

This tells Pushpin to include extra information in error responses.
Then make a fake WebSocket request to Pushpin using curl:
curl -i -H "Connection: Upgrade" -H "Upgrade: websocket" -H "Sec-WebSocket-Key: SGVsbG8sIHdvcmxkIQ==" -H "Sec-WebSocket-Version: 13" http://localhost:7999/testwebsocket.php

Using curl here since I don't think it's possible to see full error responses with wscat.

Hmm, are you setting debug on the route? It should have given you a better error message. For example, if I point the route to a port that has no server process listening and then make a request, I get an error like this:
$ curl -i -H "Connection: Upgrade" -H "Upgrade: websocket" -H "Sec-WebSocket-Key: SGVsbG8sIHdvcmxkIQ==" -H "Sec-WebSocket-Version: 13" http://localhost:7999/testwebsocket.php
HTTP/1.1 502
Content-Length: 57

Unable to connect to any targets. Tried: localhost:12345

I am not getting the same output as you, but you can see my routes file.
$ cat /etc/pushpin/routes
*,debug localhost:80,over_http

And your erroneous command:
$ curl -i -H "Connection: Upgrade" -H "Upgrade: websocket" -H "Sec-WebSocket-Key: SGVsbG8sIHdvcmxkIQ==" -H "Sec-WebSocket-Version:3" http://localhost:7999/testwebsocket.php
HTTP/1.1 502 Bad Gateway
Content-Length: 32

Error while proxying to origin.

Hmm, if we do the same thing and get different error messages then I suspect you're on an older version. What version of Pushpin are you using?
Aside from upgrading, the next thing you can try is running Pushpin with verbose logs enabled and show me your m2adapter.log and pushpin-proxy.log files (in a paste/gist).

pushpin 1.18.0

@jkarneges  I updated to pushpin 1.18.0 and no longed receive a 502. I'm on a different machine  but will close the issue. If you see something relevant in the log files please post here.

Thanks for the logs. Found the key line at pushpin-proxy.log:1241
[DEBUG] 2019-01-03 21:10:00.915 zhttp/zws client: IN pushpin-proxy_26966 { "from": "{764a0209-028d-4b09-b4f2-da5287ba8d0e}", "headers": [ [ "Date", "Fri, 04 Jan 2019 02:10:00 GMT" ], [ "Server", "Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips mod_fcgid/2.3.9 PHP/5.4.16" ], [ "X-Powered-By", "PHP/7.0.27" ], [ "Transfer-Encoding", "chunked" ], [ "Content-Type", "application/websocket-events" ] ], "id": "b404d0aa-83f6-483a-9aa8-901219f4beae", "code": 200, "seq": 1, "reason": "OK" } 7 "OPEN\x0d\n\n"

The server response ends with \r\n\n which is invalid. I should have asked you to pipe the first curl test through hexdump -C. :)
Will look at improving the error message from Pushpin in this case.
I suspect your PHP file on the first machine had an extra newline.

yes I too faced the exact issue of extra line.. now solved..
Thanks @jkarneges


Colab (Hosted Runtime) failed to compile SwiftFusion

However, my local runtime using latest release (RELEASE-0.11-rc2) works.
SwiftFusion tag is d9153d9ef93d25010a8089bedd70fa766424359f.
swift-frontend: /swift-base/swift/lib/Sema/CSSimplify.cpp:9630: void swift::constraints::ConstraintSystem::recordPotentialHole(swift::TypeVariableType *): Assertion `typeVar' failed.
Stack dump:
0.		Swift version 5.3-dev (LLVM db8896f3f345af2, Swift 61684f62a6132c0)
2.	While evaluating request TypeCheckSourceFileRequest(source_file "/content/swift-install2/package/.build/checkouts/SwiftFusion/Sources/SwiftFusion/Inference/PenguinExtensions.swift")
3.	While evaluating request TypeCheckFunctionBodyRequest(SwiftFusion.(file).MutableCollection extension.assign@/content/swift-install2/package/.build/checkouts/SwiftFusion/Sources/SwiftFusion/Inference/PenguinExtensions.swift:790:17)
4.	While type-checking statement at [/content/swift-install2/package/.build/checkouts/SwiftFusion/Sources/SwiftFusion/Inference/PenguinExtensions.swift:792:3 - line:798:3] RangeText="{
    var stream = sourceElements.makeIterator()
    let (count, unwritten) = writePrefix(from: &stream)
    precondition(unwritten == endIndex, "source too short")
    precondition(stream.next() == nil, "source too long")
    return count
  "
5.	While type-checking declaration 0xa2d0bc8 (at /content/swift-install2/package/.build/checkouts/SwiftFusion/Sources/SwiftFusion/Inference/PenguinExtensions.swift:794:5)
6.	While evaluating request PatternBindingEntryRequest((unknown decl), 0)
7.	While type-checking expression at [/content/swift-install2/package/.build/checkouts/SwiftFusion/Sources/SwiftFusion/Inference/PenguinExtensions.swift:794:30 - line:794:55] RangeText="writePrefix(from: &stream"
/swift/toolchain/usr/bin/swift-frontend[0x5214dc4]
/swift/toolchain/usr/bin/swift-frontend[0x52129be]
/swift/toolchain/usr/bin/swift-frontend[0x521509c]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x128a0)[0x7f350ba038a0]
/lib/x86_64-linux-gnu/libc.so.6(gsignal+0xc7)[0x7f350a4acf47]
/lib/x86_64-linux-gnu/libc.so.6(abort+0x141)[0x7f350a4ae8b1]
/lib/x86_64-linux-gnu/libc.so.6(+0x3042a)[0x7f350a49e42a]
/lib/x86_64-linux-gnu/libc.so.6(+0x304a2)[0x7f350a49e4a2]
/swift/toolchain/usr/bin/swift-frontend[0x123fb4f]
/swift/toolchain/usr/bin/swift-frontend[0x1247e40]
/swift/toolchain/usr/bin/swift-frontend[0x1239656]
/swift/toolchain/usr/bin/swift-frontend[0x125c6fd]
/swift/toolchain/usr/bin/swift-frontend[0x1267de7]
/swift/toolchain/usr/bin/swift-frontend[0x1270ccf]
/swift/toolchain/usr/bin/swift-frontend[0x12835cd]
/swift/toolchain/usr/bin/swift-frontend[0x1282d4b]
/swift/toolchain/usr/bin/swift-frontend[0x1282a68]
/swift/toolchain/usr/bin/swift-frontend[0x1269ed5]
/swift/toolchain/usr/bin/swift-frontend[0x12ea379]
/swift/toolchain/usr/bin/swift-frontend[0x126b73b]
/swift/toolchain/usr/bin/swift-frontend[0x1353b9b]
/swift/toolchain/usr/bin/swift-frontend[0x1353f9e]
/swift/toolchain/usr/bin/swift-frontend[0x135428e]
/swift/toolchain/usr/bin/swift-frontend[0x1400299]
/swift/toolchain/usr/bin/swift-frontend[0x137a793]
/swift/toolchain/usr/bin/swift-frontend[0x137a4af]
/swift/toolchain/usr/bin/swift-frontend[0x136cc71]
/swift/toolchain/usr/bin/swift-frontend[0x14d180f]
/swift/toolchain/usr/bin/swift-frontend[0x14d0871]
/swift/toolchain/usr/bin/swift-frontend[0x14d07a1]
/swift/toolchain/usr/bin/swift-frontend[0x13f99de]
/swift/toolchain/usr/bin/swift-frontend[0x13f6b5f]
/swift/toolchain/usr/bin/swift-frontend[0x13f5e8d]
/swift/toolchain/usr/bin/swift-frontend[0x13fe05e]
/swift/toolchain/usr/bin/swift-frontend[0x13fdb56]
/swift/toolchain/usr/bin/swift-frontend[0x13fda21]
/swift/toolchain/usr/bin/swift-frontend[0x13f5640]
/swift/toolchain/usr/bin/swift-frontend[0x13f55b0]
/swift/toolchain/usr/bin/swift-frontend[0x142ba26]
/swift/toolchain/usr/bin/swift-frontend[0x142cc70]
/swift/toolchain/usr/bin/swift-frontend[0x142c9a7]
/swift/toolchain/usr/bin/swift-frontend[0x142c8b1]
/swift/toolchain/usr/bin/swift-frontend[0x142b6de]
/swift/toolchain/usr/bin/swift-frontend[0x142b6b4]
/swift/toolchain/usr/bin/swift-frontend[0x63d404]
/swift/toolchain/usr/bin/swift-frontend[0x63d296]
/swift/toolchain/usr/bin/swift-frontend[0x4fd485]
/swift/toolchain/usr/bin/swift-frontend[0x490dd8]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xe7)[0x7f350a48fb97]
/swift/toolchain/usr/bin/swift-frontend[0x49098a]
Install Error: swift-build returned nonzero exit code 1.

I can reproduce this with an empty Swift project with the following Package.swift
// swift-tools-version:5.1
// The swift-tools-version declares the minimum version of Swift required to build this package.

import PackageDescription

let package = Package(
  name: "BeeTracking",
  platforms: [.macOS(.v10_14)],
  products: [
    // Products define the executables and libraries produced by a package, and make them visible to other packages.
    .library(
      name: "BeeTracking",
      targets: ["BeeTracking"])
  ],
  dependencies: [
    // Dependencies declare other packages that this package depends on.
    // .package(url: /* package url */, from: "1.0.0"),
    .package(url: "https://github.com/borglab/SwiftFusion", .branch("d9153d9ef93d25010a8089bedd70fa766424359f")),
    .package(url: "https://github.com/google/swift-benchmark.git", .branch("master")),
    .package(url: "https://github.com/saeta/penguin.git", .branch("master"))
  ],
  targets: [
    // Targets are the basic building blocks of a package. A target can define a module or a test suite.
    // Targets can depend on other targets in this package, and on products in packages which this package depends on.
    .target(
      name: "BeeTracking",
      dependencies: ["SwiftFusion", "BeeDataset"]),
    .testTarget(
      name: "BeeTrackingTests",
      dependencies: [
        "BeeTracking",
        "PenguinTesting"
      ])
  ])

@saeta @dabrahams @marcrasi Need some advise :)

Looking!


@RetryableTopic annotation feature for dynamic container

I would like to use the functionalities offered by the new @RetryableTopic annotation but I do not have any @KafkaListener annotation.
I use the method createContainer(final String... topics) from ConcurrentKafkaListenerContainerFactory<String, Serializable> and setup a listener using setupMessageListener from the obtained container.
Thus I would like to have the same functionalities in the case of a dynamic container.

Currently, the non-blocking retries mechanism is built around @KafkaListener; you would have to do a lot of manual wiring to set it up with manually created container(s).
We hope to make it easier for such use cases in future, perhaps in 3.0.

I am pretty sure it is possible, but I don't have the time to document the steps; hence I have put this on the backlog for consideration in 3.0.

While the annotation way is nice and easy, ability to use the underlying classes to setup consumer (and/or producer) is a bit of geeky fun and provides great flexibility for custom stuff, which I am currently doing at work. Real bummer that retry topic configuration cannot be wired to the custom container factory setup.
Great to hear that it is planned for 3.0. Sad thing is that major version upgrade just for this feature sounds a little daunting.

Ok; I figured out what is needed to programmatically configure retry topics, without using @KafkaListener.
IMPORTANT: Auto creation of topics will only work if the configuration is performed before the application is refreshed (as is the case in this example).
We need to make a small change to the BeanPostProcessor, to avoid the reflection in this example.
This uses Spring for Apache Kafka 2.9.2.
Hopefully, it's self-explanatory.
@SpringBootApplication
public class Kgh2352Application extends RetryTopicConfigurationSupport {

	public static void main(String[] args) {
		SpringApplication.run(Kgh2352Application.class, args);
	}

	@Bean
	RetryTopicConfiguration retryConfig(KafkaTemplate<String, String> template) {
		return RetryTopicConfigurationBuilder.newInstance()
				.maxAttempts(4)
				.autoCreateTopicsWith(2, (short) 1)
				.doNotRetryOnDltFailure()
				.create(template);
	}

	@Bean
	TaskScheduler scheduler() {
		return new ThreadPoolTaskScheduler();
	}

	@Bean
	@Order(0)
	SmartInitializingSingleton dynamicRetry(RetryTopicConfigurer configurer, RetryTopicConfiguration config,
			KafkaListenerAnnotationBeanPostProcessor<?, ?> bpp, KafkaListenerContainerFactory<?> factory,
			Listener listener, KafkaListenerEndpointRegistry registry) {

		return () -> {
			// We need to add a getter to the bpp for the registrar.
			KafkaListenerEndpointRegistrar registrar = (KafkaListenerEndpointRegistrar) new DirectFieldAccessor(bpp)
					.getPropertyValue("registrar");

			MethodKafkaListenerEndpoint<String, String> mainEndpoint = new MethodKafkaListenerEndpoint<>();
			EndpointProcessor endpointProcessor = endpoint -> {
				// customize as needed (e.g. apply attributes to retry endpoints).
				if (!endpoint.equals(mainEndpoint)) {
					endpoint.setConcurrency(1);
				}
				endpoint.setMessageHandlerMethodFactory(bpp.getMessageHandlerMethodFactory());
				endpoint.setTopics("kgh2352");
				endpoint.setId("kgh2352");
				endpoint.setGroupId("kgh2352");
			};
			mainEndpoint.setBean(listener);
			try {
				mainEndpoint.setMethod(Listener.class.getDeclaredMethod("onMessage", ConsumerRecord.class));
			}
			catch (NoSuchMethodException | SecurityException ex) {
				throw new IllegalStateException(ex);
			}
			mainEndpoint.setConcurrency(2);
			mainEndpoint.setTopics("kgh2352");
			mainEndpoint.setId("kgh2352");
			mainEndpoint.setGroupId("kgh2352");
			configurer.processMainAndRetryListeners(endpointProcessor, mainEndpoint, config, registrar, factory,
					"kafkaListenerContainerFactory");
		};
	}

	@Bean
	ApplicationRunner runner(KafkaTemplate<String, String> template) {
		return args -> {
			template.send("kgh2352", "test");
		};
	}

}

@Component
class Listener implements MessageListener<String, String> {

	@Override
	public void onMessage(ConsumerRecord<String, String> record) {
		System.out.println(KafkaUtils.format(record));
		throw new RuntimeException("test");
	}

}

Result:
kgh2352-1@0
kgh2352-retry-0-1@0
kgh2352-retry-1-1@0
kgh2352-retry-2-1@0
Record: topic = kgh2352-retry-2, partition = 1, offset = 0, main topic = kgh2352 threw an error at topic kgh2352-retry-2 and won't be retried. Sending to DLT with name kgh2352-dlt.
Received message in dlt listener: kgh2352-dlt-1@0


Unclear how to create custom rank-feature

Hello Vespa,
When we perform a search query, we would like to send an extra search parameter that contains a list of documentIds.
When Vespa is ranking its result, if a document happens to be in this list of ids, we would like to boost its ranking by some amount.
We have already defined a custom rank-profile but we are unclear if there is an existing rank-feature(s) we could use or if we would have to create some kind of custom rank-feature.
Can you help?
Thanks!

Two ways I can think of to do this:
1.

Index the id as either index or attribute, say as the field "id". Use match:exact
Add a RankItem containing all of the document ids to boost (add it as the new root in the query, with the rest of the query as the first item and the ids to boost as the other items.
Use the rank feature matches(id) which returns 1 if there is a match, 0 otherwise.

2.

Put the id into a tensor of type tensor(id{}) as an attribute. Store the id as the single entry in that tensor, with value 1.
Send a tensor of the same type in the query (say, boost_ids), containing one entry per key.
The ranking expression query(boost_ids) * attribute(id) now returns 1 if the document is in the list to boost.

The first may be less work for you if you haven't worked with tensors before, and uses less memory since you can store the ids on disk.
The second is way more flexible, e.g readily allows you to set the boost value per document both in the query and the document, and will be more efficient if the list is long. It's possible to create the tensor on the fly in the ranking expression instead if you have the id already as a plain attribute.

Thank you for your guidance, Jon!
We ended up going with Tensor approach.
After doing a lot of reading, trial and error, we have finally able to get this working.
The only thing that I'm still puzzled with is creating the tensor on the fly in the ranking expression.
We have already stored the id as a plain attribute.. but I could not find documentation example regarding on-the-fly tensor.
It would be great if you could guide us to some documentation for future reference..
Thanks once again!!

Please refer to https://docs.vespa.ai/documentation/reference/rank-features.html#document-features - tensorFromWeightedSet(source,dimension) or tensorFromLabels(source,dimension)

That's for multivalue attributes, for singlevalue, you can do e.g tensor(x{}):{x1:attribute(foo)}
to create a tensor on the fly. However, here it is the key you want supplied by the attribute, not the value, and that is not possible so please disregard that comment.


pin versions

Closes https://github.com/tweag/rust-wasm-threads/issues/5
Here's a starting point :)
I think nightly is only needed for shared-memory. I went with nightly-2023-06-15 because the more recent ones broke for reasons that are beyond me so I blindly went with this answer.

Rubbing my two braincells together and clicking a few more links led me to https://github.com/rust-lang/rust/issues/113152 so I deleted all the Cargo.lock files and recreated the workspace lockfile - now the latest nightly works.

Ah, I originally started with three separate workspaces and then when I merged it into one I guess I forgot that there should only be the top-level lockfile...
Thanks!


Render Tabs on Bottom of Screen

Is it possible to render the tabs of a RkTabView on the bottom of the screen vice the top?

Hello @reggie3, no it's not possible with current version.

Any update on this?

@GabeCabrera unfortunately, no. We don't support v3. However, you can use BottomNavigation in case of migration to v4


Draft C# 7.2 language spec for ref structs, missing clause on iterators defined on ref structs?

The compiler forbids iterator methods on ref structs, e.g.
public ref struct RefStruct
{
    public IEnumerator<int> GetEnumerator()
    {
        yield return 1;
    }
}

This makes sense, however I can't see any wording in the spec which explicitly forbids it. The closest it gets is:

Neither a ref local, nor a local of a ref struct type may be in scope at the point of a yield return statement or an await expression.

I suspect it simply didn't consider that this is always in scope for this case, and can be a ref struct. It also doesn't cover fields which are themselves ref structs (although this being a ref struct implicitly covers this case). Perhaps it could do with a tweak to cover this case?

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

ID: d07ca1ab-2178-2c31-ceda-773ee5bd03b4
Version Independent ID: b815bff8-7b47-d637-c10a-96c5e411e2d1
Content: Compile time safety for ref-like types - C# 7.2 specification proposals
Content Source: proposals/csharp-7.2/span-safety.md
Product: dotnet-csharp
Technology: csharp-spec
GitHub Login: @dotnet-bot
Microsoft Alias: wiwagn

Thanks for writing this @canton7
We'll address this as we update the C# standard in the ECMA standards committee.


versioned library format + header files

Issue
We're packing this tool for Fedora and there are some packaging requirements

When a shared library file is only provided in an unversioned format, the packager should ask upstream to consider providing a properly versioned library file.

https://docs.fedoraproject.org/en-US/packaging-guidelines/#_devel_packages

Fixed in 76ceddbd9e3964ff55f9a205643ddcbd993eba42 (part of v1.2.0 release)


switch_pm_text... Am I doing something wrong, or is it something not working?

Question

I'm trying to show a button with specified text that switches the user to a private chat with the bot after user select something from an inline query.
bot.answerInlineQuery(query.id, [{
        id: "some_id",
        type: 'photo',
        photo_url: "https://scontent-frx5-1.cdninstagram.com/vp/....jpg",
        thumb_url: "https://scontent-frx5-1.cdninstagram.com/vp/....jpg",
    }], {
        switch_pm_text: "Text",
        switch_pm_parameter: "test",
        cache_time: 0,
    })

But the button doesn't appear.
Am I doing something wrong, or is it something not working?

@maxkudla how did you solve? Please, don't just close the issue without giving an explanation.


It seems that a sleep function is necessary to synchronize browser cookies with Streamlit sessions

Hello,
I hope you're having a great day.
I have encountered an issue while using this library where the synchronization between browser cookies and the Streamlit session does not align properly.
Fortunately, I managed to workaround the issue with the following simple method:
def sync_cookie_to_session():
    cookie_controller.refresh() # sync
    time.sleep(1) # This brief pause is absolutely necessary. Without it, there is a high probability of failing to retrieve the browser's cookies.
    st.session_state['authentication_status'] = cookie_controller.get('authentication_status')
    st.session_state['username'] = cookie_controller.get('username')

However, this method does not guarantee success and does not seem ideal. Do you have any good ideas for polling until the browser's cookies are successfully retrieved? If you have any suggestions, please submit a PR or provide a hint and I will try to implement it.
Thank you.

when I invoke cookie_controller.refresh() I get a key duplication error...


add a Noop message type, and the ability to skip messages

this will let a transformer filter / skip a message if it returns either false, or a message with an op of 'noop'
fixed #93

lgtm

This feature is not working for me the following code drops all the messages
module.exports = function(msg) {
  if (msg.data['type'] != 'Company') {
    msg.op = 'noop';
  }
  return msg;
}

Here are the other two pieces of my configuration:
var pipeline = Source({name:"sourcemongo"})
  .transform({filename: "transformers/normaldoc.js", namespace: "BedrockDocs.normaldocs"})
  .save({name:"destes"})

nodes:
  sourcemongo:
    type: mongodb
    uri: mongodb://USER:PWD@HOST:PORT/BedrockDocs
    namespace: BedrockDocs.normaldocs
    debug: true
  destes:
    type: elasticsearch
    uri: http://USER:PWD@HOST:PORT
    namespace: ops.normaldocs
    debug: true

Any advice?

hi @mpnovikova, you'll want to just return false rather than modify the op field like so:
module.exports = function(msg) {
  if (msg.data['type'] != 'Company') {
    msg.op = false;
  }
  return msg;
}

That doesn't work either. Same behavior all messages being dropped instead of just those I have chosen.

sorry... I gave you a bad example, the return value should be false
module.exports = function(msg) {
  if (msg.data['type'] != 'Company') {
    return false;
  }
  return msg;
}

That doesn't work either. It was the first thing I tried before I came across this conversation. Same behavior all messages being dropped instead of just selected ones.

can you try the following just so we can confirm the messages are making it to the transform function?
module.exports = function(msg) {
  console.log("transformer: " + JSON.stringify(msg))
  if (msg.data['type'] != 'Company') {
    return false;
  }
  return msg;
}

also, I assume you're running version 0.1.2 of transporter?

Yes I am running 0.1.2 messages are indeed making it into transformer function and they have 3 different types Contact, Company, and Opportunity i just want messages of type Company to be pulled into ElasticSearch

Well right now I am getting this and don't even get into skipping all the records:
transporter run --config normaldocs.yaml normaldocs.js
INFO[0000] SYNC Processing db1:27017...
INFO[0000] Establishing new connection to db1:27017 (timeout=5s)...
INFO[0000] failed to parse duration, , falling back to default timeout of 30s
INFO[0000] Connection to db1:27017 established.
INFO[0000] adaptor Starting...                           path=sourcemongo
INFO[0000] starting Read func                            db=BedrockDocs
INFO[0000] boot map[sourcemongo:mongodb ccbc3c47-c46f-48f5-6027-13791acdf865:transformer destes:elasticsearch]  ts=1486400048134095445
INFO[0000] adaptor Listening...                          path="sourcemongo/ccbc3c47-c46f-48f5-6027-13791acdf865/destes"
INFO[0000] Establishing new connection to db0:27017 (timeout=1h0m0s)...
INFO[0000] SYNC Adding db1:27017 to cluster as a slave.
INFO[0000] Connection to db0:27017 established.
INFO[0000] SYNC Synchronization was complete (got data from primary).
INFO[0000] SYNC Synchronization completed: 1 master(s) and 1 slave(s) alive.
INFO[0000] collection count                              db=BedrockDocs num_collections=5
INFO[0000] skipping iteration...                         collection="customer_doc_counts" db=BedrockDocs
INFO[0000] skipping iteration...                         collection=docstats db=BedrockDocs
INFO[0000] skipping iteration...                         collection="ipec_results" db=BedrockDocs
INFO[0000] sending for iteration...                      collection=normaldocs db=BedrockDocs
INFO[0000] skipping iteration...                         collection=system.indexes db=BedrockDocs
INFO[0000] done iterating collections                    db=BedrockDocs
INFO[0000] iterating...                                  collection=normaldocs
INFO[0000] Establishing new connection to db0:27017 (timeout=1h0m0s)...
INFO[0000] Connection to db0:27017 established.
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x20 pc=0xbec242]

goroutine 47 [running]:
panic(0xe36080, 0xc42000e070)
	/usr/local/Cellar/go/1.7.4/libexec/src/runtime/panic.go:500 +0x1a1
github.com/compose/transporter/vendor/gopkg.in/olivere/elastic%2ev5.(*BulkService).estimateSizeInBytes(0xc420082d10, 0x0, 0x0, 0xc4205f6be0)
	/Users/JP/gocode/src/github.com/compose/transporter/vendor/gopkg.in/olivere/elastic.v5/bulk.go:147 +0x22
github.com/compose/transporter/vendor/gopkg.in/olivere/elastic%2ev5.(*BulkService).EstimatedSizeInBytes(0xc420082d10, 0xc420023718)
	/Users/JP/gocode/src/github.com/compose/transporter/vendor/gopkg.in/olivere/elastic.v5/bulk.go:137 +0x9d
github.com/compose/transporter/vendor/gopkg.in/olivere/elastic%2ev5.(*bulkWorker).commitRequired(0xc42026db80, 0xc420023708)
	/Users/JP/gocode/src/github.com/compose/transporter/vendor/gopkg.in/olivere/elastic.v5/bulk_processor.go:539 +0x61
github.com/compose/transporter/vendor/gopkg.in/olivere/elastic%2ev5.(*bulkWorker).work(0xc42026db80)
	/Users/JP/gocode/src/github.com/compose/transporter/vendor/gopkg.in/olivere/elastic.v5/bulk_processor.go:439 +0x1d6
created by github.com/compose/transporter/vendor/gopkg.in/olivere/elastic%2ev5.(*BulkProcessor).Start
	/Users/JP/gocode/src/github.com/compose/transporter/vendor/gopkg.in/olivere/elastic.v5/bulk_processor.go:297 +0x335


Allow ECDSA for ACME client keys

Lego uses ec256 by default, which I hadn't realized previously, so
when I asked Let's Encrypt for a bump on limits on an account, it was
using ECDSA. The problem is I can't use this account in cert-manager,
since it's explicitly rejected.
golang/x/crypto already accepts EDCSA anyway, so the limitation is
solely in cert-manager.
https://pkg.go.dev/golang.org/x/crypto/acme#Client
https://github.com/go-acme/lego/blob/0e614c1d0bd56884d6e4c8a05f97e4e653bf8db8/cmd/flags.go#L49

Pull Request Motivation
As in the commit message, I have an account with increased limits that is tied to an ECDSA key. I also think it'd be pretty nice to support this anyway
Kind
feature
Issue report
https://github.com/cert-manager/cert-manager/issues/5357
Release Note

 * ECDSA support for ACME accounts
     - We now support ECDSA created keys in privateKeySecretRef for existing ACME accounts in Issuer/ClusterIssuers

/ok-to-test

So taking a look here, it seems this adds support for cert-manager to read ECDSA keys for ACME accounts, but it doesn't teach cert-manager how to generate them (nor does it give the user an option to configure what kind should be generated).
I think we should also include an algorithm field in the ACMEIssuer spec for this, as we may run into weird states in future if we merge this PR and then later add that (for example, if you start using this with an EC key and we then add an algorithm field (which would default to RSA for backward compatibility), what would cert-manager do if it finds an EC key?
We'd have a few choices:

refuse to continue to operate (which in your instance would cause renewals to stop!)
regenerate the key so it is RSA, aka creating a new account
continue anyway and throw a warning

The issue with (3) is that if a user does want to switch from say, RSA to ECDSA, we could actually implement (1) or (2) in a safe way (as we currently know all keys referenced by Issuers in cert-manager are RSA, so this migration is safe).
So to summarise, I think we should add a corresponding algorithm field with this, and either go for option (1) or (2). I am leaning towards option (1) as this avoids people accidentally deleting their account keys (which in some cases could be really problematic)

I'll get to work on generating the keys as well. In that case we would need algorithm field to support generating ECDSA keys.

what would cert-manager do if it finds an EC key?

In our case we are using disableAccountKeyGeneration so there isn't this issue of regenerating keys. As long as the key exists (say from a prior registration) and we don't specify algorithm, I think we should use the key that exists and only ensure it is either RSA or ECDSA as this code does. If you do specify algorithm, you probably know enough to be aware that this causes new account creation, so I don't think it is that big of an issue and so I favor option #2. I also see a level of operational pain for people deleting k8s secrets that want to switch keys if we implement #1. We can also document how this works and warn that changing algorithms triggers key and thus account creation.

I think this feature would be far safer if it didn't include deletion of account keys, given how critical they are to maintain. For that reason I think no matter what configuration people have, to move from RSA->ECDSA (or vice versa) should require an explicit deletion of the Secret (or if this isn't favourable, the user can also change the secretName in the same update call).
The question of whether we permit mismatching keys is influenced by 1) how we handle changes to the algorithm field (i.e. how we inform the user of the change so they know to take action) and 2) whether disableAccountKeyGeneration is enabled.
Ideally, having the algorithm field default to RSA makes it clear to our users what algorithm they are using when they run kubectl get/describe. The downside of this is it means we can't distinguish 'not set' from the default value, which means we can't know if the user hasn't set the field (and therefore relax validation).
We could relax the validation if disableAccountKeyGeneration is set to true, though it may be confusing when they get/describe their issuer and see algorithm is RSA despite their key actually being ECDSA (this could also be problematic from a security standpoint, as people might expect this validation to be in place and rely on it for security/audit purposes).
Given the current state of our users is that nobody can have an EC key at all, it seems simpler to opt for the stricter approach today - those who do want to switch to EC keys can do so by updating the algorithm field (and deleting their existing secret/changing the secretName). This is operationally simple and safe for new users, and doesn't have any potentially nasty surprises built in (for example deleting an existing account key, or not realising they are using an RSA key when their algorithm is set to EC).

Thanks for the discussion on this 😄
/kind feature

Sorry I've been unable to work on this in the past month. I've added an algorithm field so you can generate EC keys if you like, and validation that whatever key does in fact match that algorithm if it exists. Thus if people want to switch to using an account with an EC key after having already generated an RSA key, they will have to also specify privateSecretKeyRef. For our case it is not too much trouble to add the account: ec config for our existing account.

Sorry I've been unable to work on this in the past month. I've added an algorithm field so you can generate EC keys if you like, and validation that whatever key does in fact match that algorithm if it exists. Thus if people want to switch to using an account with an EC key after having already generated an RSA key, they will have to also specify privateSecretKeyRef. For our case it is not too much trouble to add the account: ec config for our existing account.

/retest

@munnerz does this make more sense to you?

@jmleddy Are you still planning to work on this one? Would you perhaps like assistance? If so I could open a PR building on your branch and get it rebased/cleaned up.

Are you still planning to work on this one? Would you perhaps like assistance? If so I could open a PR building on your branch and get it rebased/cleaned up.

If you'd be happy to open a PR to build on this please do feel free and tag me as a reviewer! This has been stale for long enough that it might be worth doing.

@cblecker @SgtCoDFish thank you for your comments I was out on leave in February and missed the initial review in December. I can get started on rebasing and addressing your comments if you haven't already added this feature in the intervening time.

I can get started on rebasing and addressing your comments if you haven't already added this feature in the intervening time.

If you'd be able to do that it'd be awesome, thanks! I've got some leave coming up so if you do make changes I'd encourage you to post in #cert-manager-dev on Kubernetes slack to see if anyone else could take a look!


Typo in icon/lib/_icon.scss for font-variation-settings

https://github.com/material-components/material-web/blob/master/icon/lib/_icon.scss#L33

@dfreedm fixed this recently


ng-if messes up the item-view-value-key functionality

If i query and select items (in my case google addresses) and use the item-view-value-key to display the formatted_address as value. every thing works fine.
If i then hide and show the input over the ng-if attribute the inputs model value changes to the whole google geocode obj and not displaying just the formatted_adress prop as defined over the item-view-value-key attribute.
If i change to ng-show everything works fine

Hi @BioPhoton,
could you maybe create a codepen showing the issue such that this is reproducible? So you hide the input where you defined the directive right?
Thanks and regards,
Guy

Hi @BioPhoton,
I will close the issue due to inactivity. Please reopen it if there is still an issue.
Thanks and regards,
Guy


Update README.md for react-application-duetasks

corrected gulp serve command spelling error in "Building and debugging the code"
What's in this Pull Request?
Fixing typo in the readme instructions

Thanks for fixing the typo!
Laura

No Problem Laura...
I do have one question about samples in general.
I can get web part samples to work fine but not extensions and I'm thinking it might be our company policy blocking it from working.
Just to confirm the process though, I should just have to

clone repo
npm install
update serve.json with my tenant url (if it's list customizer)
gulp serve
And in the case of the due tasks, append the URL paramters but change the Task List Title

Correct?  Just want to make sure I'm not chasing ghosts because I have no issues creating/running the out of the box yo extension for a generic application customizer.  I just can't get any of the samples to run.
Thanks!

Hi @mikezimm,
and sorry for the late reply. I was able to reproduce the problem you describe today.
When you are debugging (gulp serve), does your URL have a query string parameter "&loadSPFX=true"? There is a casing issue, and the parameter should be in camel-case ("&loadSpfx=true").
Link to original comment that helped me solve the problem: https://github.com/SharePoint/sp-dev-docs/issues/4374#issuecomment-516815819


es client using native angularjs was created

solves #1352

Solution is applied in branch with webpack: refactoring/performance-new


Optimize backoff handling and improve error handling in api_get_post

Improved the lock usage and backoff handling by ensuring sleep only occurs for positive durations.
Replaced try/except block with .get() for safer and more efficient dictionary access to 'last_edit_date'.
Minor improvements to code readability and maintainability without altering core functionality.

These changes look good to me. Have you done any testing of this?

I'll be happy to merge this if you fix the spacing errors. Is this an attempt to get Hacktoberfest approval or where are you coming from?


Fixing a bug where NullReferenceException occurs every frame if grabbed object is destroyed

In a scenario where we had an object with a BoundingBox that triggers its own destruction once its scale gets sufficiently large, the SpherePointerVisual doesn't properly identify that the object it is grabbing has been destroyed and spams this error every frame in Release (and shows as a warning about referencing a destroyed object in the Editor):
NullReferenceException: Object reference not set to an instance of an object.
at UnityEngine.GameObject.GetComponentFastPath (System.Type type, System.IntPtr oneFurtherThanResultValue) [0x00000] in <00000000000000000000000000000000>:0
at UnityEngine.GameObject.GetComponent[T] () [0x00000] in <00000000000000000000000000000000>:0
at Microsoft.MixedReality.Toolkit.Input.SpherePointerVisual.Update () [0x00000] in <00000000000000000000000000000000>:0
This appears to be a quirk of the C# "?." operator where it doesn't properly use Unity's "!= null" overload that checks the internal reference for null. Switching to use "!= null" explicitly fixes the issue.

This issue has bit us a lot I think, it feels like there should be a greatest hits with this included
https://blogs.unity3d.com/2014/05/16/custom-operator-should-we-keep-it/

This issue has bit us a lot I think, it feels like there should be a greatest hits with this included
https://blogs.unity3d.com/2014/05/16/custom-operator-should-we-keep-it/

/azp run mrtk_pr


plugins/treesitter: add iconsPackage

Resolves https://github.com/nix-community/nixvim/issues/2107

@mergifyio queue

Why is it added to treesitter? Treesitter doesn't use icons. I think it was meant to be added for telescope...


[sentry-native] Disable warning C5105

Describe the pull request

What does your PR fix?
sentry-native build failed on Visual Studio 2019 version 16.8 with the following error, disable warning C5105 to fix this error.

C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winbase.h(9461): error C2220: the following warning is treated as an error
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um\winbase.h(9461): warning C5105: macro expansion producing 'defined' has undefined behavior

Upstream issue: https://github.com/getsentry/sentry-native/issues/415

Have we engaged with the upstream developers on this?

Have we engaged with the upstream developers on this?

Done.


contracts: slash army if it leaves battle early

resolves #1367

I've noticed that we sometimes end up with decimal points in army units. Do you think we could round the units everywhere when we divide (on battle leave, etc.) ? Otherwise we need to handle unit with < 1 troop in the client (real units)

I've noticed that we sometimes end up with decimal points in army units. Do you think we could round the units everywhere when we divide (on battle leave, etc.) ? Otherwise we need to handle unit with < 1 troop in the client (real units)

@edisontim i'll look into it in a separate pr. i'll make an issue now

I've noticed that we sometimes end up with decimal points in army units. Do you think we could round the units everywhere when we divide (on battle leave, etc.) ? Otherwise we need to handle unit with < 1 troop in the client (real units)

@edisontim i'll look into it in a separate pr. i'll make an issue now

alright sounds good


[QUERY] ServiceBusAdministrationClient proxy

Library name and version
Azure.Messaging.ServiceBus 7.12.0
Query/Question
Communication from the machine is only allowed through proxy.
When I create client I can set proxy by specifying WebProxy in ServiceBusClientOptions for ServiceBusClient
The thing is I cannot find any proxy configs for a ServiceBusAdministrationClient in ServiceBusAdministrationOptions or anywhere else. That's probably the reason I cannot connect to ASB.
Feels like I am missing something here. Could you please tell what is the correct way to run it behind proxy?
Environment
.NET 6

Hi @fox112358.  Thank you for reaching out and we regret that you're having difficulty.  Because the administration client communicates via HTTP, you'd configure the proxy using an HttpClientHandler.  For example:
using var handler = new HttpClientHandler()
{
    Proxy = new WebProxy(new Uri("http://example.com"))
};

var options = new ServiceBusAdministrationClientOptions
{
    Transport = new HttpClientTransport(handler)
};

More information can be found in the Configuring a proxy sample.


Support field-to-field comparisson in the 'expression-based' parameters.

WHERE (Field1 > Field2);
Example: Query(p => p.LastUpdated > p.DateInserted);

I don't understand what's expected, I'd need more context please


[stable/traefik] Update traefik version from 1.7.24 to 1.7.25

What this PR does / why we need it:
Bump app version to 1.7.25
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[X] DCO signed
[X] Chart Version bumped
[X] Variables are documented in the README.md
[X] Title of the PR starts with chart name (e.g. [stable/mychartname])

/cc ldez emilevauge dtomcej timoreimann vdemeester nmengin mmatur ldez juliens jbdoumenjou geraldcroes SantoDE errm

/ok-to-test

CI passed :green_heart:

/lgtm


where is SP Entity ID or Issuer

Trying to use this onelogin plugin with a MiniOrange identity provider.
The connection does not work. I think the issue is not having the right SP Entity ID or Issuer.
The metadata for the onelogin plugin (service provider) has just a short string for this. Is that correct?  Isn't is usually a whole URL?  What is it supposed to be?

You can define the SP entity ID value on the "advanced settings" section... by default "php-saml" value will be used. You can access the metadata SP url and exchange it with the IdP.

Yes, I saw that by default that "php-saml" was used. But plugging "php-saml" into "SP Entity ID or Issuer" on the Identity Provider did not work.
Plugging the metadata url from the OneLogin plugin into the "SP Entity ID or Issuer" field on the Identity Provider did not work either. (And there wasn't any field there labeled for plugging in the metadata url itself.)
What is supposed to work in that "SP Entity ID or Issuer" field on the identity provider?  Just the bare, short string "php-saml"? Or is it some longer string that "everybody knows" how to construct, with "php-saml" plugged into it or appended to it somewhere?

For example, in a working SSO setup that we have for a different client, we use the miniOrange SAML client/service provider, and it says to use an "SP-EntityID / Issuer" of "/wp-content/plugins/miniorange-saml-20-single-sign-on/", a full URL, rather than a short string.
So why does OneLogin WordPress SAML say to use just "php-saml" for "SP Entity ID or Issuer", rather than some full URL?

AS SP entity ID you can set any URI.
By default if you not set anything on the "advanced settings" section. the 'php-saml' value is used, but you can place for example the URL where the SAML SP metadata is published (the link can be found on the SAML settings view).
Also read: https://support.onelogin.com/hc/en-us/articles/204353160-Configuring-SAML-for-WordPress


feature Support sync analyze

Proposed changes
Gammer:
ANALYZE [SYNC] TABLE ....

Add this feature so that we could test and tune stats framework conveniently.
Problem summary
Describe your changes.
Checklist(Required)

[ ] Does it affect the original behavior
[ ] Has unit tests been added
[ ] Has document been added or modified
[ ] Does it need to update dependencies
[ ] Is this PR support rollback (If NO, please explain WHY)

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run buildall

TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 36.01 seconds
stream load tsv:          422 seconds loaded<PHONE_NUMBER>9 Bytes, about 169 MB/s
stream load json:         23 seconds loaded<PHONE_NUMBER> Bytes, about 97 MB/s
stream load orc:          73 seconds loaded<PHONE_NUMBER> Bytes, about 14 MB/s
stream load parquet:          31 seconds loaded 861443392 Bytes, about 26 MB/s
https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20230411132539_clickbench_pr_127617.html

can we cancel this sync task by ctrl+C ?
after sync task launched, if I close the mysql client terminal, this task will be terminated or continue?


Update rackspace/gophercloud dep.

Signed-off-by: Robert Jones<EMAIL_ADDRESS>

/cc @hairyhenderson

Thanks @robertjustjones!

/cc @nathanleclaire @ehazlett

What is the specific motivation for the change?
Also, cc @ggiamarchi

Closing as this has stagnated.  Please open a new PR for this change.  Thanks!


deploy temporal_tables in a schema

Hello,
In the doc, there is no explanation to deploy the solution in a particular schema.
It's possible to precise the schema :+1: example
CREATE TRIGGER versionning_trigger
BEFORE INSERT OR UPDATE OR DELETE ON subscriptions
FOR EACH ROW EXECUTE PROCEDURE versioning(
'sys_period', 'nomenclature.subscriptions_history', false
);
Olivier

It appears you have found a solution:

https://github.com/arkhipov/temporal_tables/pull/54


Change the Command Output for Creating BALA File

Description:
Ned to change the command output for creating BALA File as per [1].
[1] https://github.com/ballerina-platform/ballerina-dev-website/pull/1807#discussion_r572998527
Steps to reproduce:
Affected Versions:
OS, DB, other environment details and versions:
Related Issues (optional):

Suggested Labels (optional):

Suggested Assignees (optional):

Closing since the website is updated.


fix(network): map event function returns option instead of passing the boolean variable arround

Pull Request type
Please check the type of change your PR introduces:

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, renaming)
[ ] Refactoring (no functional changes, no API changes)
[ ] Build-related changes
[ ] Documentation content changes
[ ] Other (please describe):

What is the current behavior?

Issue Number: N/A
What is the new behavior?

Does this introduce a breaking change?

[ ] Yes
[ ] No

Other information

This change is

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

Current dependencies on/for this PR:

main

PR #1553

PR #1590
PR #1588
PR #1582

PR #1600

PR #1601

PR #1602   👈

PR #1581
PR #1580
PR #1579
PR #1578

This stack of pull requests is managed by Graphite.

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

Current dependencies on/for this PR:

main

PR #1553

PR #1590
PR #1588
PR #1582

PR #1600

PR #1601

PR #1602   👈

PR #1581
PR #1580
PR #1579
PR #1578

This stack of pull requests is managed by Graphite.


MacOS and Windows Platform support

When we have this plugin for MacOS and Windows platforms?

I also need the support of windows;

Any update?

Any update?

Any update?


Emergency restart test failure for 2 new validating nodes

Issue: - 2 validator from set B not starting up after emergency restart.
Dump -  http://genesis.casperlabs.io/rti-fast-sync/casper-node-dumps/16Mar22-fast-sync-emergency/16032022_0738/dump_download_list.txt
Scenario -
Test: Emergency Restart
stop 2 of 5 initial validator nodes (set A) and stall network
generate new validator list global state toml with 3 initial validators (set B) + 2 non-validators (set C)
generate new emergency upgrade package + global state toml +  publish to all nodes of network
restart the new validator list (set B + set C) nodes
emergency restart successful with new validators = Set B + Set C
used the global-state-update-gen binary from this commit
{"timestamp":"Mar 16 07:16:38.683","level":"WARN","fields":{"message":"failed to download trie","err":"ExecutionEngine(Storage(BytesRepr(Formatting)))","trie_key":"16b5f6576703a6c45be00bde2e799b5f66d9a8769a2257c436c504222c5005e3"},"target":"casper_node::components::chain_synchronizer::operations"}
{"timestamp":"Mar 16 07:16:38.683","level":"ERROR","fields":{"message":"failed to sync linear chain","error":"Storage error: Deserialization error: formatting"},"target":"casper_node::components::chain_synchronizer"}
{"timestamp":"Mar 16 07:16:38.683","level":"ERROR","fields":{"message":"fatal error via control announcement","file":"node/src/components/chain_synchronizer.rs","line":"161","msg":"Storage error: Deserialization error: formatting"},"target":"casper_node::reactor"}

@thamps-casp please provide further log and other info here

Reference chat - https://casperlabs-team.slack.com/archives/C01ULKL8G8J/p1647416770600559

Steps to re-produce with feat-fast-sync branch commit: 3bfc5f0d711634d13d32df9df178475fb9b702ed

provision 5 validator + 2 non-validator network
Set A ( 2 validator  to suspend ), Set B (3 validator for new validator list), Set C (2 non-validator for new validator list)
get previous switch block info for emergency restart activation
stop ALL 5 validator nodes - Set A + Set B - Network Stalls
create global-state.toml with new validator list - Set B + Set C
publish upgrade package and global-state.toml to Set B + Set C
Stop and Start New Validator List Nodes ONLY - Set B + Set C

After trigger node restart, all nodes report ERROR with
{"timestamp":"Mar 17 01:45:05.922","level":"ERROR","fields":{"message":"failed to sync linear chain","error":"Storage error: Deserialization error: formatting"},"target":"casper_node::components::chain_synchronizer"}
{"timestamp":"Mar 17 01:45:05.922","level":"ERROR","fields":{"message":"fatal error via control announcement","file":"node/src/components/chain_synchronizer.rs","line":"161","msg":"Storage error: Deserialization error: formatting"},"target":"casper_node::reactor"}

Test Network Info:
Set A: <IP_ADDRESS> (validator), <IP_ADDRESS>(validator)
Set B: <IP_ADDRESS> (validator), <IP_ADDRESS>(validator), <IP_ADDRESS>(validator)
Set C: <IP_ADDRESS>(non-validator), <IP_ADDRESS>(non-validator)
New Validator list: Set B + Set C
Suspended Validator Nodes for Emergency restart: Set A
Test Network Dumps:
http://genesis.casperlabs.io/rti-fast-sync/casper-node-dumps/rti-fast-sync/17032022_0138/dump_download_list.txt
Test Network Database:
http://genesis.casperlabs.io/rti-fast-sync/casper-node-dumps/rti-fast-sync/17032022_0138/db/<IP_ADDRESS>/rti-fast-sync-v-1-db.tar.gz
http://genesis.casperlabs.io/rti-fast-sync/casper-node-dumps/rti-fast-sync/17032022_0138/db/<IP_ADDRESS>/rti-fast-sync-v-0-db.tar.gz
http://genesis.casperlabs.io/rti-fast-sync/casper-node-dumps/rti-fast-sync/17032022_0138/db/<IP_ADDRESS>/rti-fast-sync-v-4-db.tar.gz

This error was a false positive. It was identified that the Ansible Playbooks had a defect which caused the upgrade package to be replaced by an older 1_5_0 binary or another version altogether.
After fixing the code and step 6
6. create emergency upgrade package 1_5_1 with same build
the upgrade package should be of same build as the running network for this test. ie. 3bfc5f0d711634d13d32df9df178475fb9b702ed
The emergency restart is working as expected.


cannot start SP slipstream version of AEM in demo-machine

When using an AEM.jar which has a SP included, built like described here:
http://blogs.adobe.com/experiencedelivers/experience-management/adding-packages-aem-jar-file/
by Feike Visser such jar files don't work in the demo machine - the demo machine is reporting "successfully started in xx seconds" but it is not successfully started.
curl is reporting "503 Service Unavailable"
Startup in progressMacintosh-2:~ chris$ curl -v http://<IP_ADDRESS>:4502

Rebuilt URL to: http://<IP_ADDRESS>:4502/
Trying <IP_ADDRESS>...
Connected to <IP_ADDRESS> (<IP_ADDRESS>) port 4502 (#0)

GET / HTTP/1.1
Host: <IP_ADDRESS>:4502
User-Agent: curl/7.43.0
Accept: /

< HTTP/1.1 503 Service Unavailable
< Date: Sat, 23 Jul 2016 11:47:24 GMT
< Content-Type: text/plain; charset=UTF-8
< Transfer-Encoding: chunked
< Server: Jetty(9.2.9.v20150224)
< X-Powered-By: Jetty(9.2.9.v20150224)
<

Connection #0 to host <IP_ADDRESS> left intact

and crx-quickstart/logs/stderr.log
is showing:
23.07.2016 10:13:53.296 ERROR [FelixStartLevel] ERROR: Error starting launchpad:resources/install/23/cq-compat-codeupgrade-1.5.6.jar (org.osgi.framework.BundleException: Unresolved constraint in bundle com.day.cq.cq-compat-codeupgrade [135]: Unable to resolve 135.0: missing requirement [135.0] osgi.wiring.package; (osgi.wiring.package=com.day.cq.commons.jcr))
org.osgi.framework.BundleException: Unresolved constraint in bundle com.day.cq.cq-compat-codeupgrade [135]: Unable to resolve 135.0: missing requirement [135.0] osgi.wiring.package; (osgi.wiring.package=com.day.cq.commons.jcr)
at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:4095)
at org.apache.felix.framework.Felix.startBundle(Felix.java:2114)
at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1368)
at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:308)
at java.lang.Thread.run(Thread.java:745)
Opening browser using cmd=open http://localhost:4502/
Installation time:88 seconds
This AEM-jar file outside demo-machine is starting without any issues and installs SP on first call as expected. I haven't found any hint what is the best way to include (already downloaded) SP and hotfix files in the demo-machine so that they got applied when building a new demo - so I thought incorporating them into the AEM-jar might be a good idea - obviously it isn't
Maybe this is something which is easy to fix - if not, then please close this issue as WONTFIX

I'm not familiar with this "custom AEM jar" process - however the demo machine does support the installation of service packs. in the /dist/bin folder, assuming your AEM jar file is something like aem62.jar, then just place the service pack file in the same folder with the -sp suffix (e.g. aem62-sp.zip) and if the demo.servicepack properties is set to true (it's the default value), then AEM will be installed with this service pack upfront (entire instance booting up with the service pack code). Can you review/test and close this issue if it works for you? (this method is the one tested by our QE organization)

yes, I confirm it is working
for a JAR file like:
cq61-author-4502.jar
the corresponding Service Packs it has to be:
cq61-author-4502-sp.zip
both files in dis/bin folder
BTW: for the demo machine I'd rather rename to cq61.jar as role and port will be set by properties
and for hotfixes:
a directory dist/hotfixes/all
must be created - containing the files like
cq-6.1.0-hotfix-8651-1.2.zip
cq-6.1.0-hotfix-9113-1.0.zip
etc
"all" contains the hot fixes which belongs to core AEM - whereas there might be also hotfixes for packages (folder has then package name instead of 'all' )
Either I missed that reading the wiki - or it is not there (please copy/paste from here if this is the case)
case can be solved - thanks for support on weekends ;-)


tests: make test_flashback_with_in_memory_pessimistic_locks stable

What is changed and how it works?

Issue Number: ref #13303, close https://github.com/pingcap/tidb/issues/44292.
What's Changed:

Make `test_flashback_with_in_memory_pessimistic_locks` stable.

Check List
Tests

Unit test
Integration test

Release note
None.

/merge

/hold

/merge


Vulnerability roundup 84: fuse-3.9.0: 1 advisory

search, files

[ ] CVE-2019-14860 CVSSv3=6.5 (nixos-20.03)

Scanned versions: nixos-20.03: 82b5f87fcc7. May contain false positives.

This is a false positive. CVE-2019-14860 is for Red Hat Fuse while fuse-2.9.9 is from libfuse.


Config-flow kon niet geladen worden: {"message":"Invalid handler specified"} after loading eeveemobility

I installed eeveemobility version 0.7.0 via HACS. When I tried to add the eeveemobility integration via Home Assistant I got the following error:
Config-flow kon niet geladen worden: {"message":"Invalid handler specified"}.
I am rather new to this but up till now I was able to manage the errors I received, but this error is not clear for me, so I hope you can give me some guidance to help me with this. I am looking out to use the eeveemobilty version of you.

Hi @AndreK1961 , could you join on Discord? https://discord.gg/4ZMxfyBZVx
Will ease the debugging, I just created the integration, so of course bugs are possible but I can solve them quickly


Thoughts on making Step and ProtocolContext cheaper

We don't really know whether these structures are going to impose significant overheads just yet, but we have identified reasons for both needing some attention.
Warning: lots of rust code that I just typed into a text editor.  No guarantees that any of this works.
ProtocolContext
I'm advocating for ProtocolContext being cheap so that we can make copies for every step and every record.  This should improve API ergonomics.  The structure (as of writing) is:
pub struct ProtocolContext<'a, N> {
    role: Identity,
    step: UniqueStepId, // or Step
    prss: &'a PrssEndpoint,
    gateway: &'a Gateway<N>,
}

That's a very small enum for role (1 bit possible, 8 bits likely), an owned string (yikes), and two references (64 bits each maybe, though this might be compressed on some platforms).
The primary offender here is step, which we'll get back to, but it seems like there is an obvious fix here.  Moving the shared state into another object could make this nicer.  One way to do that is to do something like this:
trait HelperState {  // name TBD
  type Network: crate::protocol::Network;
  fn role(&self) -> Identity;
  fn gateway(&self) -> &Gateway<Self::Network>;
  fn prss(&self) -> &PrssEndpoint;
}

pub struct ProtocolContext<'a, H> {
  global: &'a H,
  step: UniqueStepId, // or Step
}

impl<H: HelperState> for ProtocolContext<'_, H> {
  // This can access self.global.prss() rather than self.prss
}

This style of indirection might be necessary to allow the in-memory networking to refer to a single global state and a real networking setup to refer to a single helper-wide object.  Either way, the overall cost is then dominated by the step identifier.  The interface is no more complex.  The only cost is following a pointer when we want something.
Step
In debugging and testing, we want something that is descriptive of the process.  Our current approach describes steps with strings and then composes those together into something like a path.
We can use that process happily in debugging, but step identifiers need to be passed around a LOT and that might hurt performance when we need to shift a lot of data.  What we need is a process that produces an object that can be represented in memory as a simple integer.
One way to do that is to map the path-like structure we naturally produce onto an integer, assigning each node in the path (including "directories") an integer value.
protocol => 0
protocol/a => 1
protocol/a/x => 2
protocol/a/y => 3
protocol/b => 4
protocol/c => 5
protocol/c/x => 6

Then we have a way to represent any step in that specific process with a simple and small number[^1].  The obvious way to do this is to collect all of the steps that are used (including intermediate nodes), printing them out, (maybe) sorting them, and assigning each a number in sequence.
We can't do the number thing until we have a complete understanding of all of the steps involved in a protocol execution.  For that, we can simply assemble a complete protocol, run it using generic steps, and collect the unique steps that are created during execution.  From that, we can develop a complete set of states and a mapping to a number.  This might be turned into a distinct type using either code generation (in build.rs say), a macro, or some combination of the two[^2].
From this we can produce a wrapper around an integer type that encodes this information efficiently based on calls to the Step::narrow() function.  Recall that each use of narrow() takes an arbitrary enum type as input.  We can then define a type that captures this information.
Taking the example above, there are two types involved in narrowing, which we might say are enums SubstepABCD and SubstepXY.
First, we establish a general interface that allows the new type we are defining to accept sub steps:
trait StepNarrow<SS> {
  fn narrow(self, sub_step: SS) -> Self;
}

Then, using whatever code generation method we decide, we define a new type of step.
trait Step: AsRef<str> {}
struct ExampleStep(u8);
impl Step for ExampleStep {}

Then we define the state transitions that are valid as follows:
impl StepNarrow<SubstepXY> for ExampleStep {
  fn narrow(self, ss: Self::SS) -> Self {
    Self(match (self.0, ss) {
      (1, SubstepXY::X) => 2,
      (1, SubstepXY::Y) => 3,
      (5, SubstepXY::X) => 6,
      _ => panic!("cannot narrow with {ss.as_ref()} from state {self.as_ref()}");
    })
  }
}

impl StepNarrow<SubstepABCD> for ExampleStep {
  fn narrow(self, ss: Self::SS) -> Self {
    assert_eq!(self.0, 0, "cannot narrow with {ss.as_ref()} from state {self.as_ref()}");
    Self(match ss {
      SubstepABCD::A => 1,
      SubStepABCD::B => 4,
      SubStepABCD::C => 5,
    }) // this form might be more common, but it might not be worth implementing this way
       // because a single form is probably easier; I only did this because I'm hand-rolling code.
  }
}

For debugging purposes we would still implement AsRef<str> for the new type (plus ensuring that it is implemented for each sub-step).  For the step type, this can use a macro that just maps back to the debug-friendly strings that we use.
This requires that we make the entire protocol context generic on the protocol again, which is a bit annoying, but it should only manifest in the type definition for the protocol context.  For this, we define a Step like so:
pub trait Step: AsRef<str> + Default {}
pub trait Substep: AsRef<str> {
}

In place of the struct we currently have.  Then we take that implementation and we can define a blanket implementation for StepNarrow.
#[derive(Default)] // or implement it, whatever suits best
pub struct GenericStep {
  s: String,
  // + all the debug stuff
}
impl<SS: Substep + ?Sized> StepNarrow<SS> for GenericStep {
  fn narrow(&self, substep: SS) -> Self {
    Self { s: self.s + '/' + substep.as_str(), /* etc... */ }
  }
}

We can also retain the implementation of Substep for str and String to make testing simpler, though this will necessarily only work for GenericStep.
When we instantiate a version of the protocol in tests we can do something clean like this:
  let world = make_world();
  let (c0, c1, c2) = make_contexts(&world);
  // cN has a type of `ProtocolContext<'a, Arc<InMemoryEndpoint>, GenericStep>`,
  // or something along those lines.  The type won't need to be exposed in the interface.
  // This works because the test code always uses `GenericStep`

And for a real helper where we care about performance, we can instantiate a ProtocolContext using ExampleStep or the FullIpaStep or whatever we call it[^3].  Our performance tests can define a full step mapping so that they aren't burdened with strings.
Then the protocol a) won't compile if narrow() is passed the wrong types, b) will crash if we pass the wrong values in the wrong places, and c) will not have much overhead.
[^1]: Note that we could also define an enum for this, but that might be complicated as you effectively need nodes to be Option<T> so that you can represent the parent node in the tree.  Also, it's not clear that Rust will happily collapse the representation of that enum without extensive coaxing.  That might be something we can explore later.  That said, defining a flat enum is a distinct possibility.
[^2]: I tend to think that a macro is better because we can tune the list to remove nodes that are never used.  Rust macros let you define a very clean interface in whatever format you prefer.  The compiler provides some amount of type checking here as well, which is nice.
[^3]: We'll probably need a turbofish for that as we don't need to pass the starting value for the step if we require Default.

what are you proposing is the process to assign globally unique ints to each step? would there be some kind of code generation that occurs on execution? or would you just run the protocol, have it print out all the steps, then manually assign int values to them? or something else?

I'm proposing that we run the entire process in "debug" mode using a generic implementation that can report on what steps were created (that can be behind a feature flag as it will likely require globally-consistent, shared mutable state and really affect performance).  That will produce a list of steps in a form that we can then copy into the code.  We might use macros or some codegen to turn that output into the code I described.
We might automate this further, but that's where I would start.

@akoshelev mentioned one possibility where we implement some proc macro that we would add to all steps that would accomplish the same thing at compile time. I like the idea of that since it'd be less maintenance (aside from having to maintain a proc macro)

Another thing we may want to implement with macro/compile time approach is to measure the depth of the circuit. MP-SPDZ seems to be using topological sort for it, we may benefit from doing it as well.

Another thing to consider: We might want to consider renaming Step to Gate so that we can use G for the generic parameter, rather than S.


Support .update options

Chrome supports an options update, letting you change baud for instance while keeping a port open
https://developer.chrome.com/apps/serial#method-update
And serial packages like Python serial do as well
http://pyserial.sourceforge.net/pyserial_api.html#serial.Serial.applySettingsDict
You cant necessarily get the same thing with an open/close because most arduino style boards wire the DTR pin so they get a reset event during the open/close.
Our immediate use case has been that Chrome DOESNT support break (yet, please help!)
https://code.google.com/p/chromium/issues/detail?id=461169
We fake a break by opening at super low baud (200) then sending a 0 byte which to a device at say 9600 is a sustained TX event that looks like a break, and then updating our baud back to 9600.
Right now we can't run the same code against node-serialport as we do on browser-serialport and we try to maintain parity so wed like to back port the update feature.
I have a branch we're using for this already but its pretty ugly so wanted to post for discussion while I clean it up for PR.

+1 update baudrate with documented method on mac return error " Cannot open"
<EMAIL_ADDRESS>


PILOT_ENABLE_PROTOCOL_SNIFFING_FOR_INBOUND default value changed from false to true

I find that proxy environment PILOT_ENABLE_PROTOCOL_SNIFFING_FOR_INBOUND default value is changed to true. Why was this change introduced. And I  find my servcie listener config shows that the filter type is changed from envoy.config.filter.network.tcp_proxy.v2.TcpProxy to envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager, it seems concern with PILOT_ENABLE_PROTOCOL_SNIFFING_FOR_INBOUND.
service.yaml:
`apiVersion: v1
kind: Service
metadata:
name: test
namespace: test
spec:
ports:

nodePort: 32572
port: 443
protocol: TCP
targetPort: 8080
selector:
app.kubernetes.io/name: test
sessionAffinity: None
type: LoadBalancer
status:
loadBalancer:
ingress:

hostname: xxx`

That was long history, please see the release note


Keep a consistent translation for the string 'Lease State'

Storage Explorer Version: 1.14.0-dev
Build: 20200522.4
Branch: master
Platform/OS: Windows 10/ Linux Ubuntu 16.04/ macOS Mojave
Language: Chinese(zh-CN)
Architecture: ia32/x64
Regression From: Not a regression
Steps to reproduce:

Launch Storage Explorer.
Open 'Settings' -> Application (Regional Settings) -> Select '中文(简体)' -> Restart Storage Explorer.
Expand one storage account -> Blob Containers.
Create a blob container.
Check the translation for the string 'Lease State' in Properties panel and Editor.

Expect Experience:
Keep a consistent translation.
Actual Experience:
Display an inconsistent translation.
In properties panel. Translate as '租用状态'

In Editor. Translate as '租约状态'

More Info:
ENU Screenshot:

On review.
0; "TableView.LeaseStateHeader"
0; "Properties.BlobContainers.LeaseState"

Fixed.
new tgt: 租用状态

This issue also reproduces for 'Acquire Lease & Break Lease'

ENU Screenshot:

On review.

Fixed.

Verified on build master 20200611.9. Fixed.


ConcurrentIdObjectCollection

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

3 of 7 (42.86%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.07%) to 92.96%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

commonItems/Collections/ConcurrentIdObjectCollection.cs
0
1
0.0%

commonItems/Collections/IdObjectCollection.cs
3
6
50.0%

Totals

Change from base Build<PHONE_NUMBER>:
-0.07%

Covered Lines:
3363

Relevant Lines:
3581

💛  - Coveralls


[New game]: character counter

🎮 Game Request
Game logic and basic description
Write any sentence or words it will give the total number of letters or characters used.It is a much useful game for children to count no of letters in a sentence.
Point down the features
Game points
Guess in mind and total characters will be displayed.

Thank you for raising an issue 💗
You can self assign the issue by commenting /assign in comment 😀
Make sure you follow CODE OF CONDUCT and CONTRIBUTING GUIDELINES 🚀
Don’t Forget to ⭐ our GameZone🎮
Make sure you join our Discord🕹

Hey @SimranLahrani842 ! Thank you for raising an issue heartpulse You can self assign the issue by commenting /assign in comment grinning Make sure you follow CODE OF CONDUCT and CONTRIBUTING GUIDELINES rocket Don’t Forget to star our GameZonevideo_game Make sure you join our Discordjoystick

/assign

Hey @SimranLahrani842 ! , This issue is already assigned to @SimranLahrani842. 💗
You can work on other issues 🚀
If there is anything wrong you can contact us on Discord🕹👀

Hey @SimranLahrani842 ! Thank you so much for your raising the issue💗
It’s all yours, you can come anytime again and make some contributions! 🚀
Alone, we can do little, but together we can do so much! 😇


Documentation on reducing package size and custom CFLAGS

Change Summary

Documentation update on how to custom compile pydantic when using pip install.
Small change in setup.py to allow for custom CFLAGS when compiling.

Setup.py CFLAGS
pydantic's setup.py overwrites all custom CFLAGS that a user might pass in when rebuilding pydantic.
This change appends custom CFLAGS to the current CFLAGS used when building. There should not be any change in the current default behaviour.
By appending custom CFLAGS to the end it is possible to overwrite the default optimization flags currently used in pydantic. From the gcc docs:

If you use multiple -O options, with or without level numbers, the last such option is the one that is effective.

Performance impact of setting different CFLAGS

size
benchmark avg time

default pip install (from PyPI)
45M
70.7μs

pip install --no-binary (from PyPI)
796K
101.4μs

pip install --no-binary (from PyPI) with cython
6.4M
67.8μs

pip install --no-binary with cython CFLAG "-O3" (This branch)
6.4M
68.1μs

pip install --no-binary with cython CFLAG "-Os" (This branch)
5.2M
74.6μs

Related issue number
Issue https://github.com/samuelcolvin/pydantic/issues/2276 will be resolved by documenting how to reduce pydantic installation size. Additionally, users can pass in custom CFLAGs  to trade-off speed vs size.
Checklist

[x] Unit tests for the changes exist (Already existent)
[x] Tests pass on CI and coverage remains at 100%
[x] Documentation reflects the changes where applicable
[x] changes/<pull request or issue id>-<github username>.md file added describing change
(see changes/README.md for details)

please update.

please update.

@samuelcolvin Thank you for the review. I updated this PR according to the suggestions, rebased the changes on the latest master, and pushed the changes here. This should be ready to merge.

@PrettyWood I:

Merged your suggestion,
Squashed the commits into a single commit while rebasing on the latest master,
Pushed changes to this branch.

Please review

https://smokeshow.helpmanual.io/4944455v3p5m500e732e/install/

I think you need to remove the colon at the end of !!! note:
Please update

https://smokeshow.helpmanual.io/4944455v3p5m500e732e/install/

I think you need to remove the colon at the end of !!! note:
Please update

resolved
please review


Extract theme logic & class name generation function from BaseStyledComponent's lifecycle methods

This logic was being repeated in two places, and it looks like we want to place similar logic into the withTheme HOC (see #1130.
I'd like some feedback on this before I further generalize it for withTheme.

cc @mxstbr


Date Formatting

We are lacking in the ability to use custom formatting for the dates.  We should probably use the same formatting marks as java.text.SimpleDateFormat.
Additionally, we should look into adding a new calendar configuration value for the default format, and also a user-customizable format string (maybe in settings?).

This is done and it works quite well.


Provision add custom security group to secondary eni in vpc cni addon custom networking

Issue #, if available: The current implementation of eniconfig manifest creation by default sets the eks cluster's security group id as secondary eni id. If a user wants to use an already existing security group id then its not possible now
Description of changes:
Provides capability to specify an existing security group for EniConfig generated by vpc cni addon. The security group id is optional in CustomNetworkingConfig, if security group is not specified cluster security group id will be used.
This change is in reference to the Custom Networking documentation steps which specifies "Replace $cluster_security_group_id with the ID of an existing security group that you want to use for each ENIConfig."
https://docs.aws.amazon.com/eks/latest/userguide/cni-custom-network.html#custom-networking-configure-kubernetes
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Looks great, provide e2e tests pass.

/od-e2e-tests

/do-e2e-tests