To ensure each operation within the subscribers and handlers is never repeated, an 'at least once' delivery strategy is required to drop a duplicate message that has already been processed.
This brings the following considerations:

Idempotent operations need to be considered standard practice and used where possible
Where not possible, a lookup could be used to check for existence using a correlation identifer before running the operation. Not ideal for performance, but we are eventually consistent here and it would be for more background stuff like email sending which we would want to be extremely careful with
Maybe there's potential for a BDD testing api that we can run a scenario twice and ensure onceOnly result

I'll take the next step on this one today after fixing https://github.com/meteor-space/event-sourcing/issues/39#issuecomment-199845073
@meteor-space/core
This is now critical as the first thing I'll implement is an immediate retry, then push to a persistent queue for exponential backoff retrying:

Where not possible, a lookup could be used to check for existence using a correlation identifer before running the operation.

Let's discuss requirements on this so it can be knocked over. In this case there could be a number of reasons why the commit publishing fails, and unlike the commit adding concurrency exception handling in #83 , we can't just keep repeating if it's a fatal error. So maybe we can just add a counter to the commit doc, then make x attempts before permanently failing. If that's the case, what's should we be doing with that commit? I'm thinking we can wait and see if it's actually an issue
Thoughts @meteor-space/core ?

In fact, I'm not sure we should be even retrying the publishing if all we're doing is delivering messages in the current process. We need to consider out-of-order delivery, and feel this can really be deferred until a later time when we want to explore distributed endpoints for sending command. Retrying isn't going to achieve much except introduce load on the system, and there are other ways to manage exceptions inside the handler specific to the application, to deal with them appropriately rather than cause the whole commit to fail.
Going to close this for now.


Updating the README and specifying jrgriffiniii as the Product Owner

Resolves #57

After discussing this with @rotated8 (as they have created and contributed so significantly to this project), they have graciously offered to serve in the role of Technical Lead (in order to provide guidance to me in the future maintenance of this project).


Creating a singleton with  instances that aren't adjacent to eachother

I have 5 tippy instances in a container, but there are a few other items in the container between some of them. Essentially:

  <Tippy />
  <Tippy />
  <button />
  <Tippy />
  <button />
  <Tippy />
  <Tippy />

Is there a way to convert all the <Tippy> instances into a Singleton using the existing API? As far as I can tell, <TippySingleton> expects all its children to be tippy instances.
I'm pretty sure I can figure out my own solution, but I'm just wondering if there's an official way to implement this strategy.

Two solutions that I've tinkered with in my head are either a useSingleton() hook that would behave something like:
const singleton = useSingleton();

return (

    <Tippy singleton={singleton} />
    <button>
    <Tippy singleton={singleton} />

);

Or else <TippySingleton> could utilize the Context API such that each tippy instance checks for a parent singleton context and either creates a new tippy instance or "joins" the parent singleton context…

I think we could filter out the non-<Tippy /> children?

I’ve implemented the hook option locally and it seems to work pretty well. The API is pretty much the same as my original comment. You call a useSingleton hook that sets up all the refs and effects that TippySingleton uses, and then passing that to the Tippy instance sets up the onCreate callback and forces the instance into a disabled state. I’ll submit a PR in a bit…


Thumbnails not showing on multipage

Hi Marii and Alex,
Thanks so much for developing Wax. I set up a gh-pages site using the Wax demo for a collection of multi-page documents (five separate documents, each document 9-30 images). My raw images are in five folders, and the images in each of the folders are jpegs. Here's a link to the repository:
Repo: https://github.com/jm-chris/grassroots_september/tree/gh-pages
Site: https://jm-chris.github.io/grassroots_september/
After I run the tasks for iiif derivatives, the site builds just fine, but I run into two issues with the thumbnails on the 'collection_item' pages. First, the actual images for each of the thumbnails don't seem to display. There is a kind of greyed-out placeholder button where a thumbnail should be that still lets you click forward to the next image, but the thumbnail itself isn't there, and I am not sure if it was ever produced. When I run the iiif derivatives task, I do get a repeating error message in the terminal (pasted at the bottom here) but I'm not sure if it's related.
Second, for the 'shadow thumbnails' and the derivatives that do output to the site, they don't seem to hold to any particular order with regard to the original sequencing in my raw images/collection directory. Within my raw images/collection directory, my folder was named doc1 (same as the pid in the .csv), and then the jpegs inside were named either 00.jpeg, 01.jpeg, 02.jpeg... OR alternately aa.jpeg ab.jpeg, ac.jpeg...and so on. I tried both numerical and alphabetic naming conventions separately and ran the tasks for each, but in each case, running the iiif derivatives tasks would scramble the order of the images on the site, so image 01.jpeg would be followed by 05.jpeg, or 29.jpeg, in seemingly random fashion.
Any ideas on what might be happening? Is this a Wax thing or an ImageMagick thing? Any ideas or suggestions would be greatly appreciated!
Here's what I'm running:
ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-darwin18]
Bundler version 2.0.2
jekyll 3.8.6
Version: ImageMagick 7.0.8-56 Q16 x86_64 2019-07-24
GPL Ghostscript 9.27 (2019-04-04)
Error message from Terminal when running iiif derivatives task:
[###########                                            ] [1/5] [ 20.00%] [02:36] [10:27] [0.01/s]mogrify: geometry does not contain image /var/folders/j4/sxkdk57d3z9gmz9ck06f4_y40000gn/T/mini_magick20190815-1383-1jouj5i.jpeg' @ warning/transform.c/CropImage/643. mogrify: geometry does not contain image /var/folders/j4/sxkdk57d3z9gmz9ck06f4_y40000gn/T/mini_magick20190815-1383-6uvpyf.jpeg' @ warning/transform.c/CropImage/643.
mogrify: geometry does not contain image /var/folders/j4/sxkdk57d3z9gmz9ck06f4_y40000gn/T/mini_magick20190815-1383-16ww8fv.jpeg' @ warning/transform.c/CropImage/643. mogrify: geometry does not contain image /var/folders/j4/sxkdk57d3z9gmz9ck06f4_y40000gn/T/mini_magick20190815-1383-1wha3ex.jpeg' @ warning/transform.c/CropImage/643.
mogrify: geometry does not contain image /var/folders/j4/sxkdk57d3z9gmz9ck06f4_y40000gn/T/mini_magick20190815-1383-10n0drv.jpeg' @ warning/transform.c/CropImage/643. mogrify: geometry does not contain image /var/folders/j4/sxkdk57d3z9gmz9ck06f4_y40000gn/T/mini_magick20190815-1383-191bfum.jpeg' @ warning/transform.c/CropImage/643.
mogrify: geometry does not contain image /var/folders/j4/sxkdk57d3z9gmz9ck06f4_y40000gn/T/mini_magick20190815-1383-si5esh.jpeg' @ warning/transform.c/CropImage/643. mogrify: geometry does not contain image /var/folders/j4/sxkdk57d3z9gmz9ck06f4_y40000gn/T/mini_magick20190815-1383-110qwcm.jpeg' @ warning/transform.c/CropImage/643.
mogrify: geometry does not contain image /var/folders/j4/sxkdk57d3z9gmz9ck06f4_y40000gn/T/mini_magick20190815-1383-1bjmejw.jpeg' @ warning/transform.c/CropImage/643. mogrify: geometry does not contain image /var/folders/j4/sxkdk57d3z9gmz9ck06f4_y40000gn/T/mini_magick20190815-1383-1o38a6a.jpeg' @ warning/transform.c/CropImage/643.
mogrify: geometry does not contain image /var/folders/j4/sxkdk57d3z9gmz9ck06f4_y40000gn/T/mini_magick20190815-1383-1wdywaw.jpeg' @ warning/transform.c/CropImage/643. mogrify: geometry does not contain image /var/folders/j4/sxkdk57d3z9gmz9ck06f4_y40000gn/T/mini_magick20190815-1383-qigmhu.jpeg' @ warning/transform.c/CropImage/643.
mogrify: geometry does not contain image /var/folders/j4/sxkdk57d3z9gmz9ck06f4_y40000gn/T/mini_magick20190815-1383-kee7nr.jpeg' @ warning/transform.c/CropImage/643. mogrify: geometry does not contain image /var/folders/j4/sxkdk57d3z9gmz9ck06f4_y40000gn/T/mini_magick20190815-1383-p9htrn.jpeg' @ warning/transform.c/CropImage/643.
mogrify: geometry does not contain image /var/folders/j4/sxkdk57d3z9gmz9ck06f4_y40000gn/T/mini_magick20190815-1383-zljj35.jpeg' @ warning/transform.c/CropImage/643. mogrify: geometry does not contain image /var/folders/j4/sxkdk57d3z9gmz9ck06f4_y40000gn/T/mini_magick20190815-1383-1xdor24.jpeg' @ warning/transform.c/CropImage/643.
mogrify: geometry does not contain image /var/folders/j4/sxkdk57d3z9gmz9ck06f4_y40000gn/T/mini_magick20190815-1383-13rr5se.jpeg' @ warning/transform.c/CropImage/643. mogrify: geometry does not contain image /var/folders/j4/sxkdk57d3z9gmz9ck06f4_y40000gn/T/mini_magick20190815-1383-1gi99ai.jpeg' @ warning/transform.c/CropImage/643.
mogrify: geometry does not contain image /var/folders/j4/sxkdk57d3z9gmz9ck06f4_y40000gn/T/mini_magick20190815-1383-13pr2y5.jpeg' @ warning/transform.c/CropImage/643. [############################################           ] [4/5] [ 80.00%] [13:15] [03:18] [0.01/s]mogrify: geometry does not contain image /var/folders/j4/sxkdk57d3z9gmz9ck06f4_y40000gn/T/mini_magick20190815-1383-yud0wd.jpeg' @ warning/transform.c/CropImage/643.
mogrify: geometry does not contain image `/var/folders/j4/sxkdk57d3z9gmz9ck06f4_y40000gn/T/mini_magick20190815-1383-1un8p5m.jpeg' @ warning/transform.c/CropImage/643.

@jm-chris let me take a look! I might have some follow up questions but I'll try to reproduce the error first.

Hi @jm-chris, I did some poking around and there's a few things going on.

The mogrify errors are not related although there's an issue to note here as well. This error is thrown when an original image provided is not as large as one or more derivatives requested; e.g., if image a is only 500px wide but Wax want to create an 1140px width access copy for site banners, it will not be able to do so. I wrote custom error messaging to handle this and warn users, but it seems it's not getting triggered for some reason. Tl;dr: this isn't the culprit for the thumbnail problem, but is worth knowing.
 The viewer is OpenSeadragon, so I'll need to see what the bug is on their end.

I'll look into the ordering error next–hopefully soon.

Dear Marii,
Thank you so much for looking into this issue. Obviously it’s not a huge thing and worst comes to worst I believe I could run the tasks on the images compiled as PDF and it might work, but based on my testing the derivatives task would take a lot longer. I was wondering, could it be the large number of images I have in each folder that causes the thumbnail carousel to break? I saw on the Qatar demo site there were always just a handful of images, while all five of my doc folders each have 9-30.
In any case, since we’ve opened this correspondence, I also wanted to use this opportunity to just thank you for developing Wax. I can’t tell you how long I’ve scoured the interwebs for something just like this, wishing for something like Wax to come along. I never would have guessed that something so perfect would get cooked up right here in my own backyard. I’ve heard great things about you from Alex and I’m beyond grateful that you’ve taken such an active approach to quashing bugs. I’m really looking forward to seeing how you guys take Wax forward and being an active member of the community!

On Aug 20, 2019, at 6:29 PM, marii¨<EMAIL_ADDRESS>wrote:
Hi @jm-chris, I did some poking around and there's a few things going on.
The mogrify errors are not related although there's an issue to note here as well. This error is thrown when an original image provided is not as large as one or more derivatives requested; e.g., if image a is only 500px wide but Wax want to create an 1140px width access copy for site banners, it will not be able to do so. I wrote custom error messaging to handle this and warn users, but it seems it's not getting triggered for some reason. Tl;dr: this isn't the culprit for the thumbnail problem, but is worth knowing.
 The viewer is OpenSeadragon, so I'll need to see what the bug is on their end.
I'll look into the ordering error next–hopefully soon.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

It definitely might be related...? I'm going to shift focus to fixing the ordering bug first (since that's definitely an issue in wax proper), though in the meantime would you be interested in using another viewer, like Leaflet-IIIF or Mirador? Writing "recipes" for swapping in different IIIF viewers is high on my to-do list, and I'd be happy to share such guides once they exist.
And thank you! That's really encouraging to hear, truly. It would be great to stay in contact and hear your ideas going forward.

Hi @mnyrop,
Just a quick update. I reran the IIIF tasks on PDF raw images (instead of JPEGs in folders) and the thumbnails and sequencing generated exactly as expected. They are working beautifully. I spoke to @elotroalex who says the PDFs were confirmed to work, so that's good. The only downside of doing it this way is that the derivatives created by running tasks on PDFs make the repository very big, to the point where it's no longer possible to push the commit to GitHub. I know you're still looking into the sequencing bug, thanks for the support.


Document about how to login using kubeadmin user.

As of now if you export the KUBECONFIG which is part of our bundle and then try using oc login -u kubeadmin it is going to fail with x509: certificate signed by unknown authority because it doesn't have ingress cert and also from openshift side it is advised that this kubeconfig file is only used for cluster admin work, not for normal user.
If a user used export KUBECONFIG command then that need to be unset using unset KUBECONFIG after that user can start login using oc login -u kubeadmin https://api.crc.tt.testing:6443

@praveenkumar Would this make sense to document as a known issue?

Closing this issue. Per @praveenkumar, we do not want the user to use KUBECONFIG at all.


Can't add a /32 prefix

When adding a new /32 subnet, both with prefix "x.y.z.w" and "x.y.z.w/32", I get the error
<type 'exceptions.AttributeError'>
'unicode' object has no attribute 'version'
Prefixes with the same network address, but masks ranging from /31 to /24, work as expected.

I'm actually not sure if I should define a prefix for /32 addresses, what I'm trying to do is to describe the content of a /22 prefix, that is

A number of /27,/28,/29 subnets, each associated to a vlan
After these subnets, I allocated some /32 IPs for the load balancer VIPs.

If I don't create prefixes for the /32 VIPs, and create addresses instead, the prefix view shows those IPs as available, which is not true.
Should I create /32 prefixes? Or should I create a "fake" container prefix for the VIPs and subsequent free space?

These are IP addresses, not prefixes. NetBox will not allow you to create a prefix with a /32 (IPv4) or /128 (IPv6) mask. This is supposed to be reported as an error in the form, but there's a problem with the way the model is being validated (fixing now).

Thank you!
How can I avoid seeing an "available" child prefix if a /32 IP address (defined in the parent prefix) is occupying that space?

You can define a prefix with a role of "container" to denote the space carved out for those loopback IPs. So for example, if you have eight VIPs within a /24, you can create a /29 within the /24 to summarize those.


CalDav Intereation

Description
I would like to see in the calendar module my events/tasks - which would be synced from my CalDAV server.

ReadOnly support of multiple calendars would be sufficient.
Calendar management would be great (write support).

I use radicale server.
Priority
Medium (Would be very useful)

Not planned at the moment. This is too much work at the moment. Please refer to #412


PCNT driver error

Hi,
Thanks for sharing the library!
While I build the example with no error, when I flash the build code into the HW, and I got the following error:
Serial debug message:
E (34) pcnt: _pcnt_isr_service_install(316): PCNT driver error
E (35) pcnt: _pcnt_isr_handler_add(264): ISR service is not installed, call pcnt_install_isr_service() first
E (38) pcnt: _pcnt_isr_handler_add(264): ISR service is not installed, call pcnt_install_isr_service() first
Start
May I check what could be wrong?
Thanks!

Hi,
still the same problem some months later. = Any solution ?
there's a thread otherwhere:
https://github.com/espressif/arduino-esp32/issues/8244
Despitie it's a liliygo, the error and architecture are the same

Hi,
Sorry, I have been busy and unable to investigate the issue. I'll have
a look in the next few days and let you know.
Regards
Mike
On Sun, 26 Nov 2023, 2:34 am kumado97, @.***> wrote:

Hi,
still the same problem some months later. = Any solution ?
there's a thread otherwhere:
espressif/arduino-esp32#8244
https://github.com/espressif/arduino-esp32/issues/8244
Despitie it's a liliygo, the error and architecture are the same
—
Reply to this email directly, view it on GitHub
https://github.com/mikegofton/ESP32PulseCounter/issues/3#issuecomment-1826372181,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AOZF6ROYZXYHYBL47O4HVDLYGIMX3AVCNFSM6AAAAAAXP5D4QSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMRWGM3TEMJYGE
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Hi,
this solution worked for me, please give it a try:

in esp32_pcnt.cpp   modify the method

void PulseCounter::initialise(int PCNT_INPUT_SIG_IO, int PCNT_INPUT_CTRL_IO)
calling there the
pcnt_isr_service_install(0);
just before the
pcnt_isr_handler_add(counter_id, isr_func[counter_id], (void *)counter_id);
Here the full method code:
void PulseCounter::initialise(int PCNT_INPUT_SIG_IO, int PCNT_INPUT_CTRL_IO)
{
    // save channel and pin numbers
    sig_pin = PCNT_INPUT_SIG_IO;
    ctrl_pin = PCNT_INPUT_CTRL_IO;

    // allocate isr callback functions
    static void ((*isr_func[COUNTER_MAX])(void *)) = {
        unit0_isr, unit1_isr, unit2_isr, unit3_isr, unit4_isr, unit5_isr, unit6_isr, unit7_isr
    };

    //find a free pulse counter unit and allocate
    bool counter_allocated = false;
    for (uint8_t i = 0; i < COUNTER_MAX; i++) {
        // test which counter is free
        if (bitRead(counter_used,i) == 0) {
            counter_id = (pcnt_unit_t)i; // assign a free counter
            bitSet(counter_used,counter_id); // record in isr allocation register
            obj_instance[counter_id] = this; // record instance object reference
            counter_allocated = true;
            break;
        }
    }
    if (counter_allocated) {
        // configure counter
        pcnt_config.unit = counter_id;
        pcnt_config.channel = PCNT_CHANNEL_0; //only use channel 0 of each counter unit.
        // Set signal and control inputGPIOs
        pcnt_config.pulse_gpio_num = sig_pin;
        pcnt_config.ctrl_gpio_num = ctrl_pin;
        pcnt_unit_config(&pcnt_config);
        //assign isr routine
        pcnt_isr_service_install(0);
        pcnt_isr_handler_add(counter_id, isr_func[counter_id], (void *)counter_id);
    }
}

Modify also the

void PulseCounter::instance_isr()
to invoke the execution of the callback, usr_isr must be treated as a function pointer:
void PulseCounter::instance_isr() {
    // call the user isr
    usr_isr(NULL);
}

Hope this helps
Regards,
Luca

Hi, this solution worked for me, please give it a try:

in esp32_pcnt.cpp   modify the method

void PulseCounter::initialise(int PCNT_INPUT_SIG_IO, int PCNT_INPUT_CTRL_IO)
calling there the
pcnt_isr_service_install(0);
just before the
pcnt_isr_handler_add(counter_id, isr_func[counter_id], (void *)counter_id);
Here the full method code:
void PulseCounter::initialise(int PCNT_INPUT_SIG_IO, int PCNT_INPUT_CTRL_IO)
{
    // save channel and pin numbers
    sig_pin = PCNT_INPUT_SIG_IO;
    ctrl_pin = PCNT_INPUT_CTRL_IO;

    // allocate isr callback functions
    static void ((*isr_func[COUNTER_MAX])(void *)) = {
        unit0_isr, unit1_isr, unit2_isr, unit3_isr, unit4_isr, unit5_isr, unit6_isr, unit7_isr
    };

    //find a free pulse counter unit and allocate
    bool counter_allocated = false;
    for (uint8_t i = 0; i < COUNTER_MAX; i++) {
        // test which counter is free
        if (bitRead(counter_used,i) == 0) {
            counter_id = (pcnt_unit_t)i; // assign a free counter
            bitSet(counter_used,counter_id); // record in isr allocation register
            obj_instance[counter_id] = this; // record instance object reference
            counter_allocated = true;
            break;
        }
    }
    if (counter_allocated) {
        // configure counter
        pcnt_config.unit = counter_id;
        pcnt_config.channel = PCNT_CHANNEL_0; //only use channel 0 of each counter unit.
        // Set signal and control inputGPIOs
        pcnt_config.pulse_gpio_num = sig_pin;
        pcnt_config.ctrl_gpio_num = ctrl_pin;
        pcnt_unit_config(&pcnt_config);
        //assign isr routine
        pcnt_isr_service_install(0);
        pcnt_isr_handler_add(counter_id, isr_func[counter_id], (void *)counter_id);
    }
}

Modify also the

void PulseCounter::instance_isr()
to invoke the execution of the callback, usr_isr must be treated as a function pointer:
void PulseCounter::instance_isr() {
    // call the user isr
    usr_isr(NULL);
}

Hope this helps
Regards, Luca

Thanks luca, adding those two lines has got rid of the associated runtime errors.
just to add, it would be nice if a pcnt could be set up without setting interrupts, and thus would not need this interrupt overheads but as it is I have had to set a dummy interrupt, and then ran into this problem.
I am compiling using VSCode and PlatformIO on a W10 PC with latest versions of everything, target is a Wemos Lolin32


Ideas for the future of fin

@fisherman/all
So fisherman 2.0 was the "end" of fin as we knew it, but that does not mean it must be gone gone. We still can do something with this repository and the name fin.
If you have any ideas, please share them!
I know @pickfire will have some interesting ideas.

@bucaran Most of my ideas is interesting (non-serious) name change and setting all the things in a file and just add some nice comments in it.

@pickfire What's the idea?

vandle file like package.json. I mean it include plugins name and version.

fin is now a node version manager similar to https://github.com/wbyoung/avn, https://github.com/creationix/nvm and https://github.com/tj/n.
Long live fin.


Separate imports and components

There should be an empty line between import groups and actual component code.
Imports should be grouped by:

lib imports like React and moment
Relative other component imports
Absolute other component imports
CSS and image imports

There should  be an empty line after type declarations
In a multi-component file, there should be an empty line between components
There should be an empty line above export statements

This must be done as a Prettier plugin so it can be used in other tools as well
https://prettier.io/docs/en/plugins.html

Thank you for you contribution to this repository.
Closing this contribution as this repository is being archived.


Add support for IP_LOCAL_PORT_RANGE socket option.

Add support for IP_LOCAL_PORT_RANGE socket option. The option supports both IPv4 and IPv6 sockets although the type is IPPROTO_IP.
The option can be used to enforce the ephemeral port number selection to be in certain range.

rebased to latest main and fixed the merge conflicts
fixes according to comments

@pdgendt / @cfriedt if you have any spare cycles, please take a look. Thanks in advance :bow:


Aggregate PR

Aggregation of the following PRs to trigger CI together: -
https://github.com/wildfly/wildfly-core/pull/4133
https://github.com/wildfly/wildfly-core/pull/4173
https://github.com/wildfly/wildfly-core/pull/4147
https://github.com/wildfly/wildfly-core/pull/4132
https://github.com/wildfly/wildfly-core/pull/4105
https://github.com/wildfly/wildfly-core/pull/4130

Dependency Tree Analyzer Output:
Removed Dependencies:

xml-resolver:xml-resolver:jar:1.2:compile

CC @wildfly/prod

All PRs merged.


Add note to block download

Clarify the settings under BlockDownloadLinksFileType

Docs Build status updates of commit 13b1c64:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

sharepoint/sharepoint-ps/sharepoint-online/Set-SPOSite.md
:white_check_mark:Succeeded
View (sharepoint-ps)

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel

Docs Build status updates of commit e6e3df7:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

sharepoint/sharepoint-ps/sharepoint-online/Set-SPOSite.md
:white_check_mark:Succeeded
View (sharepoint-ps)

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel

Docs Build status updates of commit 74faf1f:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

sharepoint/sharepoint-ps/sharepoint-online/Set-SPOSite.md
:white_check_mark:Succeeded
View (sharepoint-ps)

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


Array overlap to allow numeric operand

Description
Allow ARRAY_OVERLAP operator to take numeric value as input
Allow null & double values as elements of array passed as sql parameter

Release note

Key changed/added classes in this PR

ArrayOverlapOperatorConversion
SqlParameterizerShuttle
CalciteArraysQueryTest

This PR has:

[x] been self-reviewed.

[ ] using the concurrency checklist (Remove this item if the PR doesn't have any relation to concurrency.)

[ ] added documentation for new or modified features or behaviors.
[ ] a release note entry in the PR description.
[ ] added Javadocs for most classes and all non-trivial methods. Linked related entities via Javadoc links.
[ ] added or updated version, license, or notice information in licenses.yaml
[ ] added comments explaining the "why" and the intent of the code wherever would not be obvious for an unfamiliar reader.
[x] added unit tests or modified existing tests to cover new code paths, ensuring the threshold for code coverage is met.
[ ] added integration tests.
[ ] been tested in a test Druid cluster.

i think the only hesitation i have here is it feels odd that this is the only array function that allows numeric inputs, i wonder if we should just allow them all to accept any input since at the native layer we allow the array functions to work with anything, if it isn't already and array we make it a single element array. This is largely done to make stuff work with schema evolution, and also mvds fit this pattern, but SQL is currently more restrictive.. and probably shouldn't have allowed VARCHAR either if we werent going to allow ANY to be symmetrical with the native layer.
Need to think about it a bit.

IMO, rather than expanding the ARRAY functions to accept various kinds of scalars in array context, it's better to introduce a new function that explicitly accepts a scalar + an array. You're doing that already in #16306, so perhaps we can close this one?


Importing CSS elements from stylesheets

Message from Dr Chris Johnston:
Thanks again for the chat a couple of weeks ago about using the CSS files from the ONS Design System in my RMarkdown HTML outputs.
I just wanted to follow up on that and what we discussed. I’ve managed to get the document to import the formatting from the CDN, so for the most part the formatting is working, but there are some elements I’d like to adjust that don’t seem to work well with the CDN, such as the contents section. We discussed how using formatting for individual elements would require specifying their use specifically in the HTML output. Upon reflection, given our HTML files are relatively lightweight, that would seem to me to be a good solution in our case, as we can customise the elements to our needs and then save them in a template to be used across our documents.
I was wondering if there was a way to do that with the CDN or if I would need to download the CSS elements via node.js? If the former, how do I do this and if the latter, how can I get node.js on my ONS laptop? For reference, this is how I’m importing the CDN into my current RMarkdown outputs:
<style type="text/css">

     @import url(https://cdn.ons.gov.uk/sdc/design-system/66.0.1/css/main.css);
</style>

Thanks
,
Chris
Dr Christopher Johnston (he/him)
Public Services Analyst, Public Services Analysis Team, Analytical Hub Division, Public Policy Analysis Directorate
Office for National Statistics | Swyddfa Ystadegau Gwladol
<EMAIL_ADDRESS>| www.ons.gov.uk | @ONS

I have booked a meeting for Friday 26/01 to talk about this query.

I have had a meeting with Christopher and I have advised that to be able to use our components a Jinja or Nunjucks templating environment will need to be set. Christopher will look into this and decide on steps forward.


Can't change password server-side

Environment Setup
A Node.js app which call a distant parse-server instance.
Parse initialized with the MasterKey
Steps to reproduce
app.post("/changePassword, function (req, res) {
        var res_user = req.body.user;
        var User = Parse.Object.extend("User");
        var query = new Parse.Query(User);
        query.get(res_user, {
            success: function(user) {
                var password1 = req.body.password || null;
                var password2 = req.body.password2 || null;
                if(!password2){
                    password2 = password1;
                }
                if(password1 != '' && password1 != null){
                    if(password1 === password2){
                        user.set("password", password1);
                        user.save(null, {
                            success: function(user) {
                                _res(res, "Your password was updated");
                            },
                            error: function(error) {
                                res.error(error); //(Custom func I added to the res object)
                            }
                        }).then(function(){
                            //ok
                        });
                    } else {
                        res.error("Password are not equals !");
                    }
                } else {
                    res.error("Password is not valid !");
                }

            },
            error: function(object, error) {
                res.error(error);
            }
        });

    });

Logs/Trace
It throw an error without any message while saving the user.

Strange behavior but a few things look wrong... The request object passed in is req but you're accessing request.params.user.  The User class has a collection name of _User, and since you're not making the calls as the user, you should use the master key to make them.  Is request.params.user a string object id?  Have you validated that you're getting the correct values here (req.params.user, req.body.password, req.body.password2 or should they all use req.params)?
Commenting your intent would be useful. Instead of extending, just create a query with: var query = new Parse.Query("_User"); and pass an options block, and here it is with promises and arrow functions:
app.post("/changePassword, function (req, res) {
  // If a user id and password is provided, change the password
  // If both password fields are submitted, they must be equal
  var reqUser = req.params.user;
  var reqPassword = req.params.password;
  var reqConfirm = req.params.password2;
  if (!reqUser || !reqPassword || reqPassword != reqConfirm) {
    res.error('Invalid parameters.');
    return;
  }

  var query = new Parse.Query('_User');
  query.get(reqUser, { useMasterKey: true }).then((user) => {
    user.set('password', reqPassword);
    return user.save(null, { useMasterKey: true });
  }).then(() => {
    _res(res, 'Your password was updated');
  }, (obj, error) => {
    console.log('Failed save during /changePassword', error, obj);
    res.error('Failed to change password!');
  });
});

Add some additional logging as well, to the console,

Thanks for your fast response.

Is request.params.user a string object id?
Yes it is.

The request object passed in is req but you're accessing request.params.user
Sorry it's just a mistake when I edited my code after pasting it, the original code wasn't wrong.

I tested your code and...
It work nice ! :smiley:
Thank you very much :+1:


Error after new deployment - Sorry, an error occurred while trying to access this service.

After powershell deployment, everything was successful in the deploy, but getting an error when accessing:

Any suggested troubleshooting steps?

Hi @spikedfuel ,

The app service authentication issue is now resolved, and the changes have been pushed to Company Communicator GitHub repository.

If current version of the Company Communicator application is pointing to v5.5, please follow the below procedure to resolve the issue
Go to Azure Portal --> Go to Resource Group (where the CC deployment has been done) --> Select Web App(App Service) --> Go to Deployment Center --> Click on SYNC

Once the status shows successful within logs section of Deployment Center.

Note: Please make sure the Repo URL and Branch name is pointing to below values in Deployment Center Screen of app service

Please go to the Overview Section from and restart the app service.

Try accessing the CC application on Teams web client to avoid any cache related issue.

If current deployed version of the Company Communicator application is pointing to v5.4.1 or previous versions, please upgrade your app to latest version by following the migration guide as the fix is pushed to the main branch in Company Communicator's GitHub repo.

Please let us know if you are still facing the issue.

I did a sync @gsv022 and then uploaded the new app packages to Teams. Getting the following error when doing org consent:

checked app api permissions:

(noted neither of the admin/user app registrations had any configured permissions)
enterprise app is consented:

@gsv022 I was waiting on your response in regards to the Teams Admin console error with that latest package. "Please contact your tenant admin to fix the client application registration" - which I then sent the screenshots showing it is registered (at least where I assumed it needed to be) in the enterprise app registrations.
Despite the error, I was able to get the Company Communicator Admin to load, and a test message is queued....

Seeing a ton of errors in the application insights:

Can we schedule a quick call?

Hi @spikedfuel ,
Please cross verify the secrets. Here is the procedure for comparison.

Go to app registration-->open author app registration-->click certificate and secrets-->Grab secret value(not id)

Go to azure portal-->Go to resource group(Where the deployment has been done)-->Select keyvault  from list of resources

Go to Access Policy--> Click on Create

Select Key, secret and certificate management

Give the Id through which one can view the secrets

3rd step is optional

Go for Review+Create

Then go to Secrets. You will be able to view the secrets. Compare each app secret from keyvault with app registration secret.

I've verified all the client secrets / keyvault are correct. I then attempted to sync the deployment via the deployment center and it fails to update.
Failed exitCode=1, command=npm run build
An error has occurred during web site deployment.
npm WARN old lockfile \r\nnpm WARN old lockfile The package-lock.json file was created with an old version of npm,\r\nnpm WARN old lockfile so supplemental metadata must be fetched from the registry.\r\nnpm WARN old lockfile \r\nnpm WARN old lockfile This is a one-time fix-up, please be patient...\r\nnpm WARN old lockfile \r\nnpm WARN ERESOLVE overriding peer dependency\r\nnpm WARN While resolving<EMAIL_ADDRESS>WARN Found<EMAIL_ADDRESS>WARN node_modules/react\r\nnpm WARN<EMAIL_ADDRESS>from the root project\r\nnpm WARN   12 more (@reduxjs/toolkit, react-dom, react-

Hi @spikedfuel ,
There is a app service issue sync issue is going on. We are currently looking into it on priority. We will keep you posted

any updates?

Hi @spikedfuel ,
Thank you for the patience. The app service sync failure issue is now resolved, and the changes have been pushed to Company Communicator official GitHub repository.
If current deployed version of the Company Communicator application is pointing to v5.5 (latest version), please follow the below procedure to resolve the issue -

Go to Azure Portal --> Go to Resource Group (where the CC deployment has been done) --> Select Web App (App Service) --> Go to Deployment Center --> Click on SYNC

Once the status shows successful within logs section of Deployment Center.

Note: Please make sure the Repo URL and Branch name is pointing to below values in Deployment Center Screen of app service

Try accessing the CC application on Teams web client to avoid any cache related issue.

If current deployed version of the Company Communicator application is pointing to v5.4.1 or previous versions, please upgrade your app to latest version by following the migration guide as the fix is pushed to the main branch in Company Communicator's official GitHub repo.
If it’s a fresh deployment then proceed with the remaining steps as per the deployment guide.
Please let us know if you are still facing the issue.

Hi @gsv022  - ran the sync as requested, verified it was success (active) to #1280. Restarted webapp. Messages still queueing.
This is a brand new deployment, I verified the permissions previously for the keys to the app services. Errors in the app insight:

Hi @spikedfuel ,
Please cross verify the secrets. Here is the procedure for comparison.

Go to app registration-->open author app registration-->click certificate and secrets-->Grab secret value(not id)

Go to azure portal-->Go to resource group(Where the deployment has been done)-->Select keyvault  from list of resources

Go to Access Policy--> Click on Create

Select Key, secret and certificate management

Give the Id through which one can view the secrets

3rd step is optional

Go for Review+Create

Then go to Secrets. You will be able to view the secrets. Compare each app secret from keyvault with app registration secret.

I have three app registrations:
graph - confirmed the client secret matches  vaultGraphAppPassword secret value
authors - confirmed the client secret matches vaultAuthorAppPassword secret value
users - confirmed the client secret matches vaultUserAppPassword secret value

Hi @spikedfuel ,
Please cross-verify the set-up authentication steps present in deployment guide and share the relevant screenshots here.

I'll check on this today, thanks Sai

@spikedfuel
Sure, Please keep us posted.


Token not being added to in-scope requests

Hey,
Cool project. One thing ive noticed that, following your guide the token doesnt get added to any in-scope url set in the JWT Reauth -> scope.
Not sure whats happening, no errors in logs.

It works for me. Make sure that:

the Active and Prefix checkboxes are checked
the scope URL includes a port number, even if the default one (i.e. 443 for HTTPS) is used


Drop package that we spun out

[x] Drop flexx.pyscript and use pscript module instead
[x] Drop flexx.webruntime and use webruntime module instead
[x] Drop flexx.dialite (webruntime uses it, Flexx itself not

These are the best kinds of PR's :D

These are the most fulfilling PR's to merge ...


Replace scopes with guards

Rendered
Implementation
Closes #19.

@joshlf Could you please take a look at the Accessing the default handle section, since it is related to elfmalloc? You've been dealing with thread-locals and tuning performance a lot, so your opinion would be very helpful here.
@jeehoonkang is advocating for the 1st option, while I want the 3rd. But in the end, I don't feel particularly strongly about it.
However, there is one thing I strongly care about: let's avoid unsafe APIs whenever possible. In that spirit, the 2nd option would be better than the 1st one.

@jeehoonkang
I appreciate your concerns about the performance of the 3rd option. However, I'd like put some things into perspective first. Take a look at the following benchmarks:
#[bench]
fn pin_empty(b: &mut Bencher) {
    b.iter(|| epoch::pin());
}

#[bench]
fn default_handle_pin(b: &mut Bencher) {
    b.iter(|| epoch::default_handle().pin());
}

#[bench]
fn local_handle_pin(b: &mut Bencher) {
    let handle = epoch::default_handle();
    b.iter(|| handle.pin());
}

#[bench]
fn thread_local_handle_pin(b: &mut Bencher) {
    thread_local! {
        static MY: Handle = epoch::default_handle();
    }
    b.iter(|| MY.with(|handle| handle.pin()));
}

Results:
test default_handle_pin      ... bench:          13 ns/iter (+/- 1)
test local_handle_pin        ... bench:           9 ns/iter (+/- 1)
test pin_empty               ... bench:          12 ns/iter (+/- 1)
test thread_local_handle_pin ... bench:           9 ns/iter (+/- 0)

Looks like pinning itself costs 9 nanoseconds. Accessing the thread-local (that's LOCAL.with(...) inside epoch::pin()) adds 3 more nanoseconds. Finally, incrementing/decrementing the reference count to access the default handle costs 1 more nanosecond.
However, if you store the handle in an another thread-local (in this example, MY) and access it with MY.with(...), you don't pay the cost of reference counting. This is also faster than epoch::pin(), perhaps due to better inlining opportunities (?).
The point is, that 1 nanosecond paid on reference counting really doesn't matter at all. If you need maximum performance, it's easy to have it by creating a custom thread-local anyway.

@stjepang thanks for the kind explanation.  Now I prefer the 3rd option.  Let's go for it :)
For safety, I incorrectly assumed that both 1st and 3rd options invoke undefined behavior.  However, the 3rd option seems to raise a specific panic: HANDLE is already destroyed.  It's arguably less unsafe, I think.


chore: update component owner for AWS to jj22ee

Short description of the changes

Followup of https://github.com/open-telemetry/opentelemetry-js-contrib/pull/2415#issue-2500478070

Discussed within the X-Ray team at AWS, I will take over ownership+maintenance duties of the AWS components from @carolabadeer, whose bandwidth is currently being focused outside of OTel.

@jj22ee have you considered joining the OTel Organization? That would allow us to auto-assign pull requests to you for the relevant packages. I'd gladly sponsor you joining the Org. :)

@pichlermarc Hey, thanks for approving this code-owner update. I do want to join the OTel Organization, thanks for offering to sponsor me to join. Please let me know what I need to do on my end to join.

@jj22ee great to hear that. 🙌  Usually two sponsors from the organization are needed (from two different companies) - so you'd need to find one more person to sponsor you. You can find all the requirements to become a member in the community repo.
Once you have found a second sponsor and opened the request as outlined in the doc I linked, you can ping me on the CNCF slack and I'll comment to say that I support your membership request. 🙂

Hi @jj22ee, I'm happy to be a second sponsor for you.


Publish in app should open in the current Jupyter Lab window

Steps to reproduce
Currently if I click on the app's URL from the message after publishing the widget, the app opens up in the browser of the Jupyter lab instead of a new browser. I thought it is better in the old version, where a new tab is opened up instead.

Environment

atoti: 0.5.0
Operating System: win32

Hi Hui Fang,
The default behavior for links on the web is to open in the same tab so that's what we did here. But indeed, more and more, web apps try to prevent users accidentally replacing the current app by another website when clicking on a link. Besides, when you do session.url and click on the outputted link, it does in fact open in a new tab.
It's thus debatable whether this link to the app should also open in a new tab by default.
In the meantime, as for any web link, you can use ctrl click or right click to open it in a new tab.


Support for dynamic types

glib_wrapper! doesn't appear to have any support for dynamic types (types that become available after being loaded from a dynamic library)
https://developer.gnome.org/gobject/2.64/GTypeModule.html#G-DEFINE-DYNAMIC-TYPE:CAPS

See https://github.com/gtk-rs/gtk-rs-core/pull/1169


Make it possible to let mediapipe be installed in headless environments

Please make sure that this is a feature request.
System information (Please provide as much relevant information as possible)
Official python docker image python:3.9-slim (Debian based)

MediaPipe Solution (you are using): mediapipe python package installed via pip
Programming language : Python
Are you willing to contribute it (Yes/No): Maybe (Need to check CLAs with my employer first)

Describe the feature and the current behavior/state:
Reopen from https://github.com/google/mediapipe/issues/3403
It would be great to be able to install mediapipe in a headless version.
Currently mediapipe in python depends on opencv-contrib-python which needs a lot of GUI components not needed in headless environments such as slimmed down docker containers. Due to this a lot of overhead is created for people using mediapipe in a streamlined environment without GUI interaction.
In order to make mediapipe run in headless environments, the opencv-contrib-python requirement could be swapped for opencv-python-headless .
I see three possible approaches for this:

Just swap it completely
Create a fork/alternative version (mediapipe-headless)
Create a version with extras for the headless version (mediapipe[headless]

Will this change the current api? How?
In the headless version, maybe some features need to be turned off. I am not familiar with the complete set of features of mediapipe, so I am not sure if GUI features from opencv-contrib-python are used anywhere.
For my usecase everything seems to work fine.
Who will benefit with this feature?
Anyone running mediapipe in headless environments.
Please specify the use cases for this feature:
Create a service to be deployed in a cloud setting that takes an image and processes it with mediapipe.
No GUI features needed there.
Any Other info:
Sample docker file to demonstrate current problem:
FROM python:3.9-slim
RUN pip install mediapipe

ENTRYPOINT [ "python" , "-c"]
CMD [ "import mediapipe" ]

Ping

I would suggest either

an explicit headless package e.g. mediapipe-headless or
an installation option e.g. mediapipe[headless]

Bump
I am also looking an elegant solution to containerize mediapipe and opencv to Python Docker image.

Hello everyone, I'm trying to build a headless version of Mediapipe.
I downloaded the repo and made a few changes but facing the build problem. I can't build the Python package. can anyone help me?
This is the error I got.
INFO: Repository flatbuffers instantiated at:
  D:/python/mp-headless/mediapipe/WORKSPACE:205:12: in <toplevel>
  D:/python/mp-headless/mediapipe/third_party/flatbuffers/workspace.bzl:6:29: in repo
Repository rule third_party_http_archive defined at:
  D:/python/mp-headless/mediapipe/third_party/repo.bzl:132:43: in <toplevel>
INFO: repository @flatbuffers' used the following cache hits instead of downloading the corresponding file.
 * Hash '1cce06b17cddd896b6d73cc047e36a254fb8df4d7ea18a46acf16c4c0cd3f3f3' for https://github.com/google/flatbuffers/archive/v23.5.26.tar.gz
If the definition of 'repository @flatbuffers' was updated, verify that the hashes were also updated.
ERROR: An error occurred during the fetch of repository 'flatbuffers':
   Traceback (most recent call last):
        File "D:/python/mp-headless/mediapipe/third_party/repo.bzl", line 113, column 26, in _third_party_http_archive
                _apply_delete(ctx, ctx.attr.delete)
        File "D:/python/mp-headless/mediapipe/third_party/repo.bzl", line 72, column 32, in _apply_delete
                _execute_and_check_ret_code(ctx, cmd)
        File "D:/python/mp-headless/mediapipe/third_party/repo.bzl", line 50, column 13, in _execute_and_check_ret_code
                fail(("Non-zero return code({1}) when executing '{0}':\n" + "Stdout: {2}\n" +
Error in fail: Non-zero return code(1) when executing 'C:\WINDOWS\system32\bash.exe -l -c "rm" "-rf" "C:/users/ayush/_bazel_ayush/k5wytjhj/external/flatbuffers/build_defs.bzl" "C:/users/ayush/_bazel_ayush/k5wytjhj/external/flatbuffers/BUILD.bazel"':
Stdout:
Stderr: <3>WSL (8) ERROR: CreateProcessEntryCommon:577: execvpe /bin/bash failed 2
<3>WSL (8) ERROR: CreateProcessEntryCommon:586: Create process not expected to return
ERROR: D:/python/mp-headless/mediapipe/WORKSPACE:205:12: fetching third_party_http_archive rule //external:flatbuffers: Traceback (most recent call last):
        File "D:/python/mp-headless/mediapipe/third_party/repo.bzl", line 113, column 26, in _third_party_http_archive
Stdout:
Stderr: <3>WSL (8) ERROR: CreateProcessEntryCommon:577: execvpe /bin/bash failed 2
<3>WSL (8) ERROR: CreateProcessEntryCommon:586: Create process not expected to return
INFO: Elapsed time: 14.984s
INFO: 0 processes.
FAILED: Build did NOT complete successfully (0 packages loaded)
    currently loading: mediapipe/tasks/metadata
Command '['bazel', 'build', '--compilation_mode=opt', '--action_env=PYTHON_BIN_PATH=D:/Python/mp-headless/mediapipe/venv/Scripts/python.exe', '//mediapipe/tasks/metadata:image_segmenter_metadata_schema_py', '--define=MEDIAPIPE_DISABLE_GPU=1']' returned non-zero exit status 1.

Me too.  Looking for headless installation of mediapipe (opencv-contrib-python-headless instead of opencv-contrib-python for underlying dep).

is there any work around for this problem right now, or how people solve this problem

is there any work around for this problem right now, or how people solve this problem

I had to install mediapipe Python library and Mesa package on Linux to support it:
apt-get update && \
    apt-get install --no-install-recommends -y \
    libegl1-mesa-dev \
    libglib2.0-0

Not elegant solution at all.

is there any work around for this problem right now, or how people solve this problem

I had to install mediapipe Python library and Mesa package on Linux to support it:
apt-get update && \
    apt-get install --no-install-recommends -y \
    libegl1-mesa-dev \
    libglib2.0-0

Not elegant solution at all.

i changed the docker image to FROM python:3.10-bookworm AS builder and with couple of packages as well
RUN apt-get update && \
    apt-get install -y --no-install-recommends \
    build-essential \
    libssl-dev \
    libffi-dev \
    gcc \
    musl-dev \
    # libgcc \
    # freetype-dev \
    libpng-dev \
    libavcodec-dev \
    ffmpeg

i think it's working for me

Hi!
I think I've found the solution, I've written a gist for it: https://gist.github.com/FrankwaP/f45c9180cf85e5abe563d97f0af84ae5
Basically before installing Mediapipe, you install  opencv-contrib-python-headless and for each folder created you generate the corresponding "opencv-contrib-python" symbolic link.


HAPI: Fix and update CUDA Callback based implementation

Various fixes to make the CUDA Callback based implementation of HAPI work properly.
Also updated cudaStreamAddCallback to cudaLaunchHostFunc as it is set for deprecation.
There is no performance difference between the two, and this implementation is still significantly slower (2-4x) than the CUDA Event based implementation.
Should be merged after #2626.

Would it be better to use a struct for the message instead of doing pointer arithmetic? Something like
struct hapiCallbackMessage {
  char header[CmiMsgHeaderSizeBytes];
  int rank;
  void * cb;
  void * cb_msg;
  void * fixme;
};

@evan-charmworks That is a good idea, I'll look into that.

@matthiasdiener Could you review this?


Add support for prebuilt Rocky Linux versions

With CentOS 8 no longer being supported as of the end of 2021, many of
the former CentOS users are migrating to Rocky Linux which offers the
same model that CentOS previously offered.
By adding nightly and release version now, we'll be ready when CentOS 8
is discontinued to provide a path for any CentOS pony users.
Another PR will come once we have a release version of pony out and we
have added support in ponyup to add installation instructions for Rocky
Linux.

This was really easy to add. The only big difference was switching the FROM in the Dockerfile.


Publish itchysats to the AppStore

Sign and publish itchsats app to the Apple AppStore.
see also https://developer.apple.com/macos/distribution/
Dependent on #2980

I think homebrew is much easier target, and is a de-facto standard in mac world. I'll create a ticket for this.

I might not be the target user but is anyone using the Apple AppStore for Mac? I think I've never installed a single app from there.

I might not be the target user but is anyone using the Apple AppStore for Mac? I think I've never installed a single app from there.

Same here : 🙈
But consider with the M1 you can run apple iphone apps on your MacBook ;)

@holzeis after re-reading this ticket I might have misunderstood its original intention - did you mean publishing an iOS app to the AppStore?

Initially I was referring to the Mac apple store.

in this case, I'll close it as not planned for now; homebrew is de-facto standard to install/upgrade apps on macos and there's no real benefit from publishing on the Mac App Store.


[BUG] - Template Navbar prevents getting 100 on Lighthouse accessibility score

Describe the bug
(Tbh not sure if this counts as a bug, so I can move it somewhere else if needed)
Running Lighthouse on a near stock navbar from the V2 template leads to a score of 98 in accessibility. The only changes made are just different links, and no more search bar.
This happens in both desktop and mobile mod, and is because the list of items doesn't contain only  elements.
Your Example Website or App
https://portfolio-oop9rd9k1-sinan-karakaya.vercel.app/fr
Steps to Reproduce the Bug or Issue
Clone the latest next-app template.
Run Lighthouse
Get 97-98 in accessibility because of the navbar items.
Expected behavior
Get a 100 score on accessibility when using the stock config
Screenshots or Videos
mobile version with a score of 98:

desktop version with a score of 97:

Operating System Version
Windows 11
Browser
Chrome

Hey @Sinan-Karakaya please open this as a Feature Request in the template repo, remember that the template is a good point to start but you can modify/fix any part of it including the a11y issues directly in you cloned repo.


HOME_DIRECTORY to /tmp

To work with AWS Lambda Functions, a writable location has to be used as HOME_DIRECTORY

@tekollt, thank you for the PR, I'm sorry but we can't just change the HOME_DIRECTORY like that as It will be a breaking change. I think it's better if we can add a check to see the default HOME_DIRECTORY is writable or not and use /tmp if it's not writable.
You can create an issue and I can quickly implement it :)


[add]support retry mechanism when acquiring channel or sending notification fail

add code to ApnsClient class:

add a queue to save the PushNotificationPromise if send it fail
add a period task to consume PushNotificationPromise in the queue

it is suggested doing the retry in upper logic.
In best practice we will add semaphore like traffic quotation. Will it be invalid if we had many failed msgs in some condition?

I just retry to send notification when acquiring channel fail or sending/writing fail which we can make sure that the notification must not be sent to Client. it is difficult to make the choice in upper logic.
I have tried to use CountDownLatch or guava-RateLimiter to realize Rate-Limiting, but there also is a lot of exception like Http2ChannelClosedException

@jasonjoo2010 Can I add your WeChat, so that we can communicate more about APNs.

@qiankunli sure. jason_joo
I know what point you are meaning to now, but actually we rarely meet this now.

@qiankunli I'm EXTREMELY sorry to have let this sit for so long. Thank you very much for the contribution!
I definitely understand the need you're trying to address here, but I think this is complexity better left outside of Pushy (i.e. let callers decide how to handle this situation) for now.
Again, thank you very much for this thoughtful contribution, and I'm very sorry to have taken so long to respond.


[Jira] Implements the possibility to type before loading credentials

Description
Implements the possibility to type before loading credentials.
Checklist

[x] I read the extension guidelines
[x] I read the documentation about publishing
[x] I ran npm run build and tested this distribution build in Raycast
[x] I checked that files in the assets folder are used by the extension itself
[x] I checked that assets used by the README are placed outside of the metadata folder

@thomaslombart I just tested and even though I'm able to type, it doesn't properly update the list.
With current PR code:

Swapping Detail for List only.

Done. Sorry for missing that.

Thanks for the fix! 🚀


learning rate setting

If batchsize is 16 for one gpu,should I change the base lr?

@deep-practice We have taken care of the LR for you. No need to modify the learning rate at any batch size. Please refer to
https://github.com/Megvii-BaseDetection/YOLOX/blob/ce7d75497956c6c2544e352eda36f0173a917989/yolox/exp/yolox_base.py#L46
and
https://github.com/Megvii-BaseDetection/YOLOX/blob/96b74a504f183801dc4831931930b821fbe9d95d/yolox/core/trainer.py#L155

I see.Thx.

@Joker316701882 Should the 64 stay hardcoded or be adjusted?

You could adjust it. It's just per image learning rate.

@FateScript Thanks for answering the previous questions. Is there a max_lr in the config? I tried looking around but didn't see anything.


CB-15719: Enable patch upgrade from 7.2.7 for Data Hub clusters

The patch upgrade is enabled for the following blueprints:
7.2.7

Data Engineering
Data Discovery and Exploration
Operational Database: Apache HBase, Phoenix
Streams Messaging Heavy Duty with Apache Kafka, Schema Registry, Streams Messaging Manager, Streams Replication Manager
Streams Messaging Light Duty with Apache Kafka, Schema Registry, Streams Messaging Manager, Streams Replication Manager
Data Mart with Apache Impala and Hue
Real-time Data Mart: Apache Impala, Hue, Apache Kudu, Apache Spark
Flow Management Heavy Duty with Apache NiFi, Apache NiFi Registry
Flow Management Light Duty with Apache NiFi, Apache NiFi Registry

7.2.8

Data Engineering
Data Discovery and Exploration
Operational Database: Apache HBase, Phoenix
Streams Messaging Heavy Duty with Apache Kafka, Schema Registry, Streams Messaging Manager, Streams Replication Manager
Streams Messaging Light Duty with Apache Kafka, Schema Registry, Streams Messaging Manager, Streams Replication Manager
Data Mart with Apache Impala and Hue
Real-time Data Mart: Apache Impala, Hue, Apache Kudu, Apache Spark
Flow Management Heavy Duty with Apache NiFi, Apache NiFi Registry
Flow Management Light Duty with Apache NiFi, Apache NiFi Registry

7.2.9

Data Mart with Apache Impala and Hue
Real-time Data Mart: Apache Impala, Hue, Apache Kudu, Apache Spark
Flow Management Heavy Duty with Apache NiFi, Apache NiFi Registry
Flow Management Light Duty with Apache NiFi, Apache NiFi Registry

7.2.10

Data Mart with Apache Impala and Hue
Real-time Data Mart: Apache Impala, Hue, Apache Kudu, Apache Spark
Flow Management Heavy Duty with Apache NiFi, Apache NiFi Registry
Flow Management Light Duty with Apache NiFi, Apache NiFi Registry

7.2.11

Data Mart with Apache Impala and Hue
Real-time Data Mart: Apache Impala, Hue, Apache Kudu, Apache Spark
Flow Management Heavy Duty with Apache NiFi, Apache NiFi Registry
Flow Management Light Duty with Apache NiFi, Apache NiFi Registry

7.2.12

Flow Management Heavy Duty with Apache NiFi, Apache NiFi Registry
Flow Management Light Duty with Apache NiFi, Apache NiFi Registry

@tiborpopovics can you please restore the OS_UPGRADE_DISABLED for the Nifi templates. The rest looks good.


[BUG] Bold does not clear when using [default] style

You may find a solution to your problem in the docs or issues.
Describe the bug
[default] does not clear bold.
Platform
macOS
Both out-of-box and Pycharm terminals
I may ask you to copy and paste the output of the following commands. It may save some time if you do it now.
Titles like
f"[bold green]Header - [default] sub text that does not need bold"

The green goes away but the bold does not.

NOTE: I am using rich==11.2 currently due to a dependency conflict

Console markup is like HTML. You need to close tags.
"[bold green]Header - [/] sub text"

Console markup is like HTML. You need to close tags.
"[bold green]Header - [/] sub text"

TIL
thank you


Payment method missing on payment intent

Describe the bug
Payment method is missing on payment intent returned from collectPaymentMethod or any other.
Chatting with one of your team they suggested using updatePaymentIntent to return the payment method, yet it still isn't being returned to React Native due to invalid intent mapping in the Mappers.swift file
To Reproduce
Try get the payment method Id from the payment intent from any call that returns the stripe SDK.
Expected behavior
Returns a valid paymentMethodId or payment method object to React Native.
Stripe Terminal React Native SDK version
^0.0.1-beta.13
Additional context
I created a patch package locally in our repo which implements a valid mapper for the payment method, which then only returns when suppling the updatePaymentIntent: true to the collectPaymentMethod method.

Here is an example of my provided work around in my patch package.
This gets places in the Mappers.swift file
    class func mapFromPaymentIntent(_ paymentIntent: PaymentIntent) -> NSDictionary {
        let result: NSDictionary = [
            "amount": paymentIntent.amount,
            "charges": mapFromCharges(paymentIntent.charges),
            "created": convertDateToUnixTimestamp(date: paymentIntent.created) ?? NSNull(),
            "currency": paymentIntent.currency,
            "status": mapFromPaymentIntentStatus(paymentIntent.status),
            "id": paymentIntent.stripeId,
            "paymentMethod": mapFromPaymentMethod(paymentIntent.paymentMethod) ?? NSNull(),
        ]
        return result
    }

    class func mapFromPaymentMethod(_ paymentMethod: PaymentMethod?) -> NSDictionary? {
        guard let unwrappedPaymentMethod = paymentMethod else {
            return nil;
        }

        let result: NSDictionary = [
            "id": unwrappedPaymentMethod.stripeId,
        ]

        return result
    }

Then I create a type definition override to set the valid types of the new field. stripe.d.ts
import type { Charge } from '@stripe/stripe-terminal-react-native/src/types'
import type { PaymentIntent } from '@stripe/stripe-terminal-react-native'

declare module '@stripe/stripe-terminal-react-native' {
  export namespace PaymentIntent {
    import Status = PaymentIntent.Status

    export interface Type {
      id: string
      amount: number
      charges: Charge[]
      created: string
      currency: string
      status: Status
      paymentMethod: {
        id: string
      } | null
    }
  }
}

hey @UrbanChrisy for collectPaymentMethod unless you pass updatePaymentIntent: true we don't generate a PaymentMethod and don't have an ID to return. We also have a mismatch between the Android and iOS SDKs where the former supports returning just the PaymentMethod ID on the PaymentIntent and the latter only returns the expanded model for updatePaymentIntent. We will look into this to align the behaviors on the SDKs for when the ID is returned.
If you already have a patch for returning the ID from the PaymentMethod object when using updatePaymentIntent it would be great to put it up as a pull request and we can include it in the next release.

SDK now returns the PaymentMethod ID on the PaymentIntent when it's available: https://github.com/stripe/stripe-terminal-react-native/releases/tag/v0.0.1-beta.14


Naming of helpers, consistency

I can name my specs xx_spec.js and xxSpec.coffee, but the helper files have to include an underscore. This is not consistent.
Also, I would like to just accumulate all my helpers in a helpers.js file, that is not possible either.

Sounds like a good idea, would you like to provide a pull request?


chore: update badge demo

🤔 这个 PR 的性质是？

[ ] 日常 bug 修复
[ ] 新特性提交
[ ] 文档改进
[x] 演示代码改进
[ ] 组件样式/交互改进
[ ] CI/CD 改进
[ ] 重构
[ ] 代码风格优化
[ ] 测试用例
[ ] 分支合并
[ ] 其他

🔗 相关 Issue

#1281
💡 需求背景和解决方案

📝 更新日志

chore: update badge demo

[x] 本条 PR 不需要纳入 Changelog

☑ 请求合并前的自查清单
⚠ 请自检并全部勾选全部选项。⚠

[x] 文档已补充或无须补充
[x] 代码演示已提供或无须提供
[x] TypeScript 定义已补充或无须补充
[x] Changelog 已提供或无须提供

Codecov Report

Merging #1381 (b508553) into develop (492d477) will increase coverage by 0.08%.
The diff coverage is 68.96%.

@@             Coverage Diff             @@
##           develop    #1381      +/-   ##
===========================================
+ Coverage    57.94%   58.02%   +0.08%
===========================================
  Files          407      415       +8
  Lines        15371    15520     +149
  Branches      2931     2945      +14
===========================================
+ Hits          8907     9006      +99
- Misses        6187     6244      +57
+ Partials       277      270       -7

Impacted Files
Coverage Δ

src/button/props.ts
84.61% <0.00%> (-15.39%)
:arrow_down:

src/calendar/const.ts
100.00% <ø> (ø)

src/cascader/cascader.tsx
64.00% <ø> (ø)

src/color-picker/color-picker.tsx
81.25% <ø> (ø)

src/color-picker/panel/header.tsx
69.56% <ø> (-1.27%)
:arrow_down:

src/date-picker/base/Header.tsx
7.57% <0.00%> (-0.37%)
:arrow_down:

src/date-picker/date-picker-panel-props.ts
100.00% <ø> (+90.00%)
:arrow_up:

src/date-picker/date-range-picker-panel-props.ts
100.00% <ø> (+90.90%)
:arrow_up:

src/date-picker/date-range-picker-props.ts
42.85% <0.00%> (-11.69%)
:arrow_down:

src/date-picker/hooks/useRange.ts
35.89% <ø> (ø)

... and 177 more

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


perform DNS cleanup after failed install for GCP

Similar to how we try to clean up stray DNS records after failed installation (when the ClusterDeployment has ManagedDNS), do the same for GCP.
Share the existing zone cleanup code from the dnszone controller.

/hold
this requires the PR #1104 (or something similar)


[WIP] Perftest from sib

This is a pull request that will enable us to compile the PerfTestSuite solely from *.sib files.

@swift-ci Please test OS X smoke test

@swift-ci Please test OS X smoke test

@swift-ci Please smoke test OS X platform

WIP from February; still relevant?

This is pretty old. If I look into it, I will do it fresh.


Question about the dependency named plaid.

Greetings. Thanks for you excellent work. When trying to run through your pipeline, I found a library called plaid in code. I wonder what it is. It seems an inconsistent dependency.

Hi, thanks for pointing this out -- some changes were developed & tested in an environment for a follow-up project, and I've pushed some relevant changes to those dependencies. Closing this issue, feel free to open a new one as needed!

That should've been fixed in the last update -- could you try again and if it doesn't work, can you post the code to reproduce the error?
For context on the error, we'd trained the models using PyTorch Lightning, which pickles the inputs used to instantiate the model. In the pre-release code used during training, the latent scaler class (part of the external plaid package) was passed as an input to the model __init__ function, hence why it's unable to be unpickled here. The checkpoints should be modified now.

It has been fixed, thanks.


Add Millefeuille French and Marzipan German Phonemizers

French is UFR Millefeuille and Marzipan German is a new system. For Marzipan it has a new phoneme system, hand written dict, and improved G2P performance over existing German phonemizer. All Millefeuille vbs will update with this phoneme system in the future as native integration and XLS for Marzipan within Millefeuille is currently being tested. Phonetic system created and owned by imsupposedto.

Please try to avoid flipping line endings in files. You can see Github shows diff for every line of LyricsHelper.cs and PhoneticAssistantViewModel.cs just because the line ending change. If you use VS or VS Code, at the right bottom corner where shows CRLF or LF you should be able to change the line ending for file.

Please try to avoid flipping line endings in files. You can see Github shows diff for every line of LyricsHelper.cs and PhoneticAssistantViewModel.cs just because the line ending change. If you use VS or VS Code, at the right bottom corner where shows CRLF or LF you should be able to change the line ending for file.

What line ending type does it need to be?

@imsupposedto It should be CRLF.

@imsupposedto It should be CRLF.

Hm, I hadn't changed it from that. Must be some weird Visual Studio thing. I'm correcting it now and will update the pull request


chore: Add encryption at rest to AKS clusters

AKS does not encrypt Kubernetes Secrets at rest by default.  This PR generates a key, and configures the AKS cluster to use it for etcd encryption.

I've also removed the "customer-ns" and "env" tags from the resources in this PR.

This PR is included in version 2.1.6 :tada:


test: use T.TempDir to create temporary test directory

A testing cleanup.
This pull request replaces ioutil.TempDir with t.TempDir. We can use the T.TempDir function from the testing package to create temporary directory. The directory created by T.TempDir is automatically removed when the test and all its subtests complete.
Reference: https://pkg.go.dev/testing#T.TempDir

This PR also introduces a minor change to the sqlite dialect. The file descriptor is now properly closed in CreateDB().
func (m *sqlite) CreateDB() error {
 	if err != nil {
 		return fmt.Errorf("could not create SQLite database '%s': %w", m.ConnectionDetails.Database, err)
 	}
-	_, err = os.Create(m.ConnectionDetails.Database)
+	f, err := os.Create(m.ConnectionDetails.Database)
 	if err != nil {
 		return fmt.Errorf("could not create SQLite database '%s': %w", m.ConnectionDetails.Database, err)
 	}
+	_ = f.Close()

This is required after we use t.TempDir to create the temporary directory in the test TestSqlite_CreateDB. Otherwise the test will fail on Windows.
--- FAIL: TestSqlite_CreateDB (0.00s)
    testing.go:958: TempDir RemoveAll cleanup: remove C:\Users\RUNNER~1\AppData\Local\Temp\TestSqlite_CreateDB3832827053\001\testdb.sqlite: The process cannot access the file because it is being used by another process.

Thanks for your contribution! Looks good to me, I'm always happy to get rid of *util packages from our imports.


Explorer optimize startup and testing deadlock

Addresses #664 and partially https://github.com/NebulousLabs/Sia-Explorer/issues/11

build failed; possibly a deadlock timeout?

Travis build is now passing


[SPARK-38191][CORE][FOLLOWUP] The staging directory of write job only needs to be initialized once in HadoopMapReduceCommitProtocol

What changes were proposed in this pull request?
This pr follows up the https://github.com/apache/spark/pull/35492, try to use a stagingDir constant instead of the  stagingDir method in HadoopMapReduceCommitProtocol.
Why are the changes needed?
In the https://github.com/apache/spark/pull/35492#issuecomment-1054910730
./build/sbt -mem 4096 -Phadoop-2 "sql/testOnly org.apache.spark.sql.sources.PartitionedWriteSuite -- -z SPARK-27194"
...
[info]   Cause: org.apache.spark.SparkException: Task not serializable
...
[info]   Cause: java.io.NotSerializableException: org.apache.hadoop.fs.Path
...

It's because org.apache.hadoop.fs.Path is serializable in Hadoop3 but not in Hadoop2.  So, we should make the stagingDir  transient to avoid that.
Does this PR introduce any user-facing change?
No
How was this patch tested?
Passed ./build/sbt -mem 4096 -Phadoop-2 "sql/testOnly org.apache.spark.sql.sources.PartitionedWriteSuite -- -z SPARK-27194"
Pass the CIs.

cc @srowen @Ngone51 PTAL.

Can one of the admins verify this patch?

Merged to master

FWIW Path has been serializable in all hadoop 3.x releases, since HADOOP-13519 in 2016. life would be a lot easier if spark stopped trying to work on java 8 and hadoop 2


Automatically re-apply LB title on certain events

a feature to automatically re-apply the LB title on certain events (like using dark escape, getting bonded with life bond or prot bond, etc. - basically wherever it makes sense for dmg reduction) would be cool - although it's already available as a hot key it would be much easier if toolbox does this automatically instead of the player who always has to pay attention to these events. So the player can focus on his actual doa job instead of manually re-applying LB title. If you can enable/disable it in tb settings it shouldnt disturb other players who still want to do this manually.

Most likely won't happend.

Agree with reduf. With few obvious exceptions, the goal of toolbox is to make playing easier, not have it play for you. This is why I think hotkey is good while a fully automated solution is not.


Assets forceCopy doesn`t works on common

Hi there i build a module , using advance app, in my Module are some AssetBundle still works fine the issue is that the forcecopy doesnt works right.
my Asset Bundle
namespace common\modules\mediating\assets;

use yii\web\AssetBundle;
use backend\assets\AppAsset;

class MediatingAsset extends AssetBundle
{

    public $sourcePath = '@common/modules/mediating/web/';
    public $css = [
        'dist/css/animate.css/animate.css'
    ];
    public $js = [
        "dev/js/model/SortThumbs.js"

    ];

    public $depends = [
        'yii\web\JqueryAsset',
        'yii\web\YiiAsset'
    ];

    /**
     * @var array
     */
    public $publishOptions = [
        'forceCopy' => true
    ];
}

if i change something in my SortThumb.js i always have to clear the asset folder

I have the same behavior and cannot understand why it happens.
I have many assets classes, but only 2 of them have "forceCopy => true".
However, only one of them is being refreshed every time, while the other is not.
Double checked everything (also browser cache, but it's not the problem).
assetManager configuration is pretty much empty:
'assetManager' => [
	'bundles' => require( __DIR__ . '/../bundle/bundle-development.php' ) ,
],

where bundle-development.php is an empty array.
Both asset classes are identical as config (forceCopy => true) only the files are different.
Any ideas?
I also did some debug and the forceCopy seems to be sent correctly, however when the script reach this part here, the situation is different:
http://prntscr.com/8tcxhw
Check mate...

@BornToDrink would you please submit it as a separate issue with the full set of things to reproduce it?

@samdark - false alarm!
After only 1 hour of debug :D , I found that one of the assets classes had wrongly set $sourcePath the same as the problematic class.
From what I saw during debug, the source path is used as index of bundles array collection.
So in this case the forceCopy was overwritten by a class with the same source path.
And pretty much my case is closed after I fix my path.
However:
As I can see, we cannot use 2 different assets classes with the same $sourcePath, but different settings and files registered.
Is this a possible issue or by design?

I think it's by design.


x/crypto: error parsing even large ASN.1 identifiers

What version of Go are you using (go version)?

$ go version
go version go1.20.1 darwin/arm64

Does this issue reproduce with the latest release?
Yes on go 1.20.1 .
Similar to https://github.com/golang/go/issues/49678 but with an even larger oid: https://oidref.com/<IP_ADDRESS>51795998
This caused our program failure to parse a customer's certificate. Error message: x509: invalid certificate policies
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GO111MODULE=""
GOARCH="arm64"
GOBIN=""
GOCACHE="/Users/docker/Library/Caches/go-build"
GOENV="/Users/docker/Library/Application Support/go/env"
GOEXE=""
GOEXPERIMENT=""
GOFLAGS=""
GOHOSTARCH="arm64"
GOHOSTOS="darwin"
GOINSECURE=""
GOMODCACHE="/Users/docker/go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="darwin"
GOPATH="/Users/docker/go"
GOPRIVATE=""
GOPROXY="https://goproxy.cn,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_arm64"
GOVCS=""
GOVERSION="go1.20.1"
GCCGO="gccgo"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD="/Users/docker/work/codes/go/src/lxf/asn.1-oid-test/go.mod"
GOWORK=""
CGO_CFLAGS="-O2 -g"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-O2 -g"
CGO_FFLAGS="-O2 -g"
CGO_LDFLAGS="-O2 -g"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -arch arm64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/25/fnckz31d0jjfqdhs8yb80lmh0000gn/T/go-build2511654897=/tmp/go-build -gno-record-gcc-switches -fno-common"

What did you do?

https://go.dev/play/p/u4NrlO1xGqr
What did you expect to see?
Object Identifier: <IP_ADDRESS>517959<IP_ADDRESS>.1
ASN.1 Encoding:    060b2a24cb8990821e03010101
Decode result: true
Object Identifier: <IP_ADDRESS>517959<IP_ADDRESS>.1

What did you see instead?
Object Identifier: <IP_ADDRESS>517959<IP_ADDRESS>.1
ASN.1 Encoding:    060b2a24cb8990821e03010101
Decode result: false
Object Identifier:

CC @golang/security.

From https://go-review.googlesource.com/c/crypto/+/365674 done for https://github.com/golang/go/issues/49678 it follows that int element can not be greater than 2^31-1.
Interestingly that decoder was "fixed" but not the encoder.

Dupe of #30757, #36467, and #38737. By design asn1.ObjectIdentifier does not support OID components that are larger than 31 bits. Due to backwards compatibility constraints, there is no clear path forward to fix this.

It should be possible to support larger than 2^31 values on the platforms where sizeof(int) > 32 (https://pkg.go.dev/encoding/asn1#ObjectIdentifier is defined as []int) similar to Marshal that supports values up to maxInt.
The problem is that behavior would be different depending on the int size of the platform, i.e. large values would not work on 32 bit platforms (also not sure if Marshal errors in that case).

Right, we make a conscious choice to limit to the lower of the two possibilities so that there aren't certificates (or other ASN1 based protocols) which only work on 64 bit platforms.

We also run into the same issue with a user trying to parse a certificate from a Windows CA. Do you think it would be possible to add a asn1.ObjectIdentifier64 (or similar) which can handle those larger Oids? Maybe by switching the target certificate field (with the new field-type) explicitly using an "option" for x509.ParseCertificate...

When you say "Windows CA" do you mean a CA managed by Microsoft? Do you happen to know what the offending OID is?

As a workaround I've forked ReadASN1ObjectIdentifier and fixed it to support 64 bit ids, see https://github.com/AlexanderYastrebov/asn1oid64

Right, we make a conscious choice to limit to the lower of the two possibilities so that there aren't certificates (or other ASN1 based protocols) which only work on 64 bit platforms.

I've created a fix in case this decision changes
https://github.com/golang/crypto/compare/master...AlexanderYastrebov:crypto:go58821

Thanks @AlexanderYastrebov for the effort.
I hope to reconsider the decision of // We don't want different behavior based on the architecture. (from  the code comment) given that there are multiple issue reports like this. If we still keep current 32-bit golang programs' behavior by supporting larger Oid number on 64-bit platform, we don't break anything, we just make 64-bit programs not break in such cases.

@rolandshoemaker I linked the issue we have open in Telegraf https://github.com/influxdata/telegraf/issues/12684. Citing @skinfrakkiirid:

I can't share the certificate due to where I work, however this certificate differs by being issued from a local Windows CA[...]

he also provided the policy section of the cert
X509v3 extensions:
X509v3 Subject Alternative Name:
DNS:dnsserver1, DNS:dnsserver2 IP Address:address1, IP Address:address2
X509v3 Subject Key Identifier:
98:FF:66:3C:58:26:36:A1:F5:CB:C2:B3:BC:3C:33:90:3E:8A:5E:80
X509v3 Authority Key Identifier:
keyid:13:57:08:E7:5E:7E:92:45:E9:AF:CC:80:B2:D5:D2:A4:E2:30:8

I hope to reconsider the decision of // We don't want different behavior based on the architecture. (from the code comment) given that there are multiple issue reports like this. If we still keep current 32-bit golang programs' behavior by supporting larger Oid number on 64-bit platform, we don't break anything, we just make 64-bit programs not break in such cases.

Unfortunately, this solution won't support the 128 bit long 2.25 OID subtree (as mentioned in https://github.com/golang/go/issues/30757) so you would end up with a bit more certificates working on 64 bit architecture but not all certificates.
I think this deserves a real solution where all certificates are supported by Go.
It's really sad that a 4 years old issue has still no clear solution forward. Also I don't understand why https://github.com/golang/go/pull/39795 has been closed.

#60665 suggests a path forward on this.


Any language?

Excuse my naive question: will your script work with any language or just English?
If it works with English only, what would need to be adjusted to make it work with other languages?

Hi,
The script has been developed with English samples only.
Would it work with other languages? It depends on the language.
For languages with punctuation marks different from English, you will need to configure stable_ts (it supports several languages), the NEMO punctuation model and the custom splitter.
Other than that, I imagine it should work.
Best,
Ed

OK, thanks for clarifying. I will look into that once I’ve understood the role of punctuation in this pipeline. I’m just getting started and, so far, I didn’t think I need any punctuation.
when you say ”punctuation marks different than English “, do you mean that the punctuation symbols are different or the rules of where to put them in a sentence?

I meant primarily the symbols.
What matters are only the punctuation signs that typically mark the end of a sentence such as "., ?, !".
Other punctuation marks are irrelevant.
The period is tricky as it may also be found in abbreviations.
A better option could possibly be to use a sentence tokenizer from some NLP tool, but, in my experience, they did not work so well with certain transcripts in which the punctuation is a mess.

Oh, I see. So we are dealing with punctuation that is included in the transcript.


vde2: fix build with latest openssl

Motivation for this change
https://github.com/NixOS/nixpkgs/pull/80746
Things done

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

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

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

Just noticed that if we go with the upstream patch (not really biased at this time) we might want to pick https://github.com/virtualsquare/vde-2/pull/11 as well.

The project seems to be using wolfssl nowadays: virtualsquare/vde-2@8599321
This hasn't landed yet but might as well pick that patch from upstream (if it applies) instead of another downstream patch?

@andir I'm not really familiar with this package, but I do see it being used in the actual python testing driver. Those sound like major changes, not really great for a stable release even if we're still in BETA.

Nitpick: While we touch this the new home of the project is https://github.com/virtualsquare/vde-2. Can you update that?

I always fix the nits :+1:

On 15:35 24.02.20, worldofpeace wrote:

The project seems to be using wolfssl nowadays:
virtualsquare/vde-2@8599321
This hasn't landed yet but might as well pick that patch from
upstream (if it applies) instead of another downstream patch?

@andir I'm not really familiar with this package, but I do see it
being used in the actual python testing driver. Those sound like major
changes, not really great for a stable release even if we're still in
BETA.

I just thought the upstream patch my be as good as any abitrary
downstream distro patch. We can also use your proposed approach instead.
I really have no hard feelings either way.

Let's merge this with archlinux' patches for now. Once the project finished moving to wolfssl, we can do so too.


Why is the column name of the get table empty replication

=== TableMapEvent ===
Date: 2020-08-13 09:18:08
Log position: 566
Event size: 73
TableID: 108
TableID size: 6
Flags: 1
Schema: yitang
Table: yt_member
Column count: 9
Column type:
00000000  03 0f f6 f6 01 11 11 0f  03                       |.........|
NULL bitmap:
00000000  f4 00                                             |..|
Signedness bitmap:
Default charset: []
Column charset: []
Set str value: []
Enum str value: []
Column name: []
Geometry type: []
Primary key: []
Primary key prefix: []
Enum/set default charset: []
Enum/set column charset: []
UnsignedMap: map[int]bool(nil)
CollationMap: map[int]uint64(nil)
EnumSetCollationMap: map[int]uint64(nil)
EnumStrValueMap: map[int][]string(nil)
SetStrValueMap: map[int][]string(nil)
GeometryTypeMap: map[int]uint64(nil)
mysql version: 5.7.30-log MySQL Community Server (GPL)

Me too！Do you have any good solutions?

I just stumbled across the same issue and found out that by default both MariaDB and MySQL do not log the whole metadata for RowsEvents.
The full metadata including the ColumnNames has to be enabled see:
https://dev.mysql.com/doc/refman/8.0/en/replication-options-binary-log.html#sysvar_binlog_row_metadata
https://mariadb.com/kb/en/replication-and-binary-log-system-variables/#binlog_row_metadata

It would be nice to write about this in the documentation. PR welcome :)

I have opened https://github.com/go-mysql-org/go-mysql/pull/611 to add some documentation in the TableMapEvent, RowsEvent to describe the behavior of row-based logging with regard to binlog_row_metadata and binlog_row_image.


Ensure StandardContext#postWorkDirectory is protected

Goal is to enable to run tomcat without any temporary files.
For programmatic cases it is often possible and desired (note it is ok to skip jakarta.servlet.context.tempdir for such case).

Applied manually so I could add a changelog entry