Create post form needs some work

We shouldn't be able to select the author
I don't think we should be able to choose unlisted (not 100% sure about this though)
Posts can have more than one category, or none at all. Currently each post has exactly one category.
More granular datetime selection (hours / minutes)
Date picker should default to current time
Typo "Visibile", should be "Visible"
I don't think we should be able to choose Visible to

* We shouldn't be able to select the author
-I don't see it
* I don't think we should be able to choose unlisted (not 100% sure about this though)
-This is part of req
* Posts can have more than one category, or none at all. Currently each post has exactly one category.
-Added module to allow for multiple categories
* Typo "Visibile", should be "Visible"
-Removed VisibleTo
* I don't think we should be able to choose Visible to
-Removed VisibleTo
To Do

More granular datetime selection (hours / minutes)
Date picker should default to current time

* More granular datetime selection (hours / minutes)
* Date picker should default to current time
-Added a date time picker that utilizes bootstrap 4 (Django doesn't have one itself).
-Done.

@willfenton @gneagu For the second point, If we don't need to choose unlisted, how do we make posts that are unlisted? We have a user story: As an author, I want to be able to make posts that are unlisted, that are publicly shareable by URI alone (or for embedding images)

In the form to create a post on "/new_post/" there is just a little checkbox to specify whether '''unlisted''' is active or not.


Updated SQS logging

Description
Improves SQS logging including failure scenarios
Issues Resolved
Check List

[ ] New functionality includes testing.
[ ] New functionality has been documented.

[ ] New functionality has javadoc added

[x] Commits are signed with a real name per the DCO

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #2417 (74b49ac) into main (298e793) will decrease coverage by 0.11%.
The diff coverage is n/a.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@             Coverage Diff              @@
##               main    #2417      +/-   ##
============================================
- Coverage     93.85%   93.74%   -0.11%
- Complexity     2000     2058      +58
============================================
  Files           234      238       +4
  Lines          5546     5708     +162
  Branches        443      466      +23
============================================
+ Hits           5205     5351     +146
- Misses          230      240      +10
- Partials        111      117       +6

see 6 files with indirect coverage changes
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Add openai gym to rosdep/python.yaml

openai pip package
From the openaigym website: A toolkit for developing and comparing reinforcement learning algorithms. It supports teaching agents everything from walking to playing games like Pong or Pinball.
Use case is training of software agents for robotic applications.


Wiki contribution

How can one contribute to the Wiki? I started working on a copy which I think is not the best way.

We prefer contribution on the docs repository, he wiki will be repurposed for parse-server development and not usage.


automate sympy installation with Conda

Now that PyCall (1.1 or later) supports using the Conda.jl Python distribution, you should be able to do something like https://github.com/stevengj/PyPlot.jl/commit/7169a21e7e39e422e4e5f79da18dd2bfd5e7a8a1 to automate installation of sympy in __init__ when PyCall.conda is true.

That's awesome. Thanks for pointing this out.

This is closed by #39


Browser pages

This adds new events pageopened and pageclosed to browser.
It also adds browser.pages().
#386 #443

Sorry, it seems the version in the heading of this doc needs to be updated.

I believe these tests fail in non-headless mode, as soon as window.open is run, with "Unhandled promise rejection (rejection id: 1): Error: Protocol error (Network.enable): Target closed."  I think it's due to Chrome shifting tab focus, but not really sure.

Additionally, it appears the main frame is not attached to the page yet when pageopened is  fired, limiting the ability to do things like  injectFile, etc.  Is this intended?

This PR is awesome!
I am eager to get something like browser.pages(). So I did some tests with Branch: browser_pages.
What I did:

try it with headless: true.
The results were great. I could get pages which comes from page.goto() and which created from a[target="_blank"]

try it with headless: false.
Error came out. nodejs.unhandledRejectionError: Protocol error (Network.enable): Target closed. Just like what @twalpole said.

@duckywang1 When running headless, were you able to actually do anything/interact with the pages created from a[target="_blank"] ?

Apologies. I have no experience of unit test.
Yesterday I didn't try this feature seriously. Today I write an example of my business logic with browser.pages(); and headless browser. It worked!
I can interact with page created from a[target="_blank"]. @twalpole
Now I hope this great feature would be merged, althought it only take effect in headless browser temporarily.
Here is my example:
I got two pages.

detail page.
This page provide an HTMLElememt a[target="_blank"] and link to download page
download page.
This page will provide a resource URL and download it automatically in 2-10 second.

Here is my example code(fake code, but it did work):
const browser = initHeadlessBrowser(); // create a Headless browser
const detailPage = browser.newPage();
detailPage.goto(url, '{ waitUntil: 'networkidle' }');
const btn = page.$('.download');
btn.click({ delay: 100 }); // create a download page but we can fetch them with browser.pages();

const allPages = browser.pages();
for (let i = 1; i < allPages.length; i += 1) {
  // allPages[0] is a blank page. We can't get any valid info. If interested, you can open a headless: false browser and see the GUI of Chrominum.
  // compare something with your download page
  // here I confirm it with page.url();
  if (condition) {
    const downloadPage = allPages[i];
    await downloadPage.setRequestInterceptionEnabled(true);
    downloadPage.on('request', request => {
      if (request.url.indexOf('.png') >= 0) {
        // here i use node_modules`download`
        download(request.url).then(streamData => {
          // get streamData and do something fun
        });
      } else {
        request.continue();
      }
    });
    await downloadPage.waitFor(30000); // waiting for loading views
    await downloadPage.close(); // close download page
  }
}

@duckywang1 Ah -- I see you're using pages not the 'pageopened' and 'pageclosed' events

Looking forward to this!

Can someone explain this?

The newtab pages come in as 'other'

... it seems unnecessary to launch a new browser and always having to open a new tab. Why can't I just use the one that's already open?

Any more work being done on this?

@JoelEinbinder What's the latest update on Browser Pages?

I'm waiting for this PR will be accepted. Any problems with this PR?

i am trying to use your changes to capture a popup but it doesnt seem to work.. there are no errors but no pagecreated event is fired
I could share the snippet - could be that i am doing something wrong

The Chromium can be rolled to r501642 to fix targets appearing as "other".
@dmportella Sharing the snippet would be very useful to me! Thanks.

@dgozman @JoelEinbinder @vsemozhetbyt
Hey guys, can you help us understand what is preventing this from being accepted/merged?

@nwhitmont this PR doesn't work well enough. One of the issues is that Puppeteer's FrameManager doesn't know how to attach to a non-empty page.
We're working on it; we'll merge this PR as all the blockers are eliminated.

There is still a race somewhere when running in headful mode. Target.attachToTarget returns before the target is usable, and so the first message to it sometimes gets rejected with a target closed error.

Thanks for the updates & keep up the great work!

Hope this PR can be approved in the next release. I need it so badly.
 So my page handlers are not reliable. And I cannot make it better. because I don't know wether a page is available or not.

How to setRequestInterceptionEnabled on new popup pages (target="_blank") and attach event on request. For example, I need block the download popup pages by url.
Thank you.
Sorry for my english.

As discussed offline, these are the last bits remaining:

[ ] move target initialization "hack" to target creation
[ ] report targetchanged event so that URL changes are observable

For the record: this is waiting for the upstream change to land.

Is it working with latest code from master?

Should be good now that #1019 landed.

So now I should use
  browser.on('targetcreated',  pageOpened => {
      console.log('1');
  });

Right?

Wooooooot!

Thanks everyone who worked on this, it looks great!  Really appreciate this change, it'll make life a lot easier for us when testing popups!

so this great feature  is available  from which number version?

Sweet!

Thank you for working on this! I am making a vi-like web automation/scraping language, but it has been on hold for some time because this is absolutely essential.

can you give any code sample of, how to open multiple tabs using puppeteer?

@manideep1111 you can use browser.newPage more than once to create more tabs.

Hi JoelEinbinder Thanks for your reply, I tried with  browser.newPage but my side giving UnhandlePromiseRejection error came .
If possible plea send any example code.

Thanks @JoelEinbinder for reply, I used browser.newPage my side it's not opening new tab,If you give any code example it's grateful for me.

@manideep1111 can you file a separate issue? Thanks!

No separate issue ? If you want see my file I can send to you..Thanks


Shopping Cart Page

Value Proposition
As a User
I want to have a shopping cart
So that I have an overview of my bookmarked product's
Description

Acceptance Criteria

[ ] there is a shopping cart page
[ ] all bookmarked product's are shown on this page
[ ] there is a button with an arrow
[ ] clicking on the button returns the user to the product page

Tasks

[ ] create new feature branch ("shoppingCartPage")
[ ] create a shopping cart page
[ ] add a button with an arrow
[ ] route the button to the product page
[ ] add basic styling
[ ] add to storybook

Complexity
S

Looks great!


Make various hipache parameters user configurable

We now enable tweaking of various hipache config options via following
environment varables:
AZK_BALANCER_WORKERS
AZK_BALANCER_WORKER_MAX_SOCKETS
AZK_BALANCER_TCP_TIMEOUT
AZK_BALANCER_DEAD_BACKEND_TTL

Also increase tcpTimeout to 63 (from 30). 63 is a weird enough number
that it should tip of anyone who needs a bigger timeout to search for it
and thus easily discover how to increase.
To test this, start the agent with any/all of the above options and corresponding hipache settings should be visible in ~/.azk/data/run/hipache.json. Some, like workers can also be seen to take effect by just looking at number of hipache processes running.

LGTM

Thank you for the PR, @slobo! Nice changes!
Could you please add this into the CHANGELOG.md? Then I can merge it next.

Wasn't sure about the wording/tag, let me know if it need me to adjust it further


[DOC] Documentation Gap: Missing http.compression Parameter Reference

Issue Description

[x] Request a change to existing documentation
[x] Add new documentation
[x] Report a technical problem with the documentation

The http.compression option is not currently documented in the OpenSearch reference, specifically in the :link: Install and Configure » Configuring OpenSearch » Network Settings » Advanced HTTP Settings section. However, there is evidence of its presence in the OpenSearch node startup log, as highlighted below:
...
[2023-06-05T10:10:08,986][INFO ][o.o.p.PluginsService     ] [os-manager-node2] loaded plugin [opensearch-security-analytics]
[2023-06-05T10:10:08,986][INFO ][o.o.p.PluginsService     ] [os-manager-node2] loaded plugin [opensearch-sql]
+ [2023-06-05T10:10:09,021][INFO ][o.o.s.OpenSearchSecurityPlugin] [os-manager-node2] Disabled https compression by default to mitigate BREACH attacks. You can enable it by setting 'http.compression: true' in opensearch.yml
[2023-06-05T10:10:09,059][INFO ][o.o.e.NodeEnvironment    ] [os-manager-node2] using [1] data paths, mounts [[/usr/share/opensearch/data (/dev/sdc2)]], net usable_space [174.7gb], net total_space [199.8gb], types [xfs]
[2023-06-05T10:10:09,059][INFO ][o.o.e.NodeEnvironment    ] [os-manager-node2] heap size [512mb], compressed ordinary object pointers [true]
...

The absence of this parameter in the official documentation raises a question about its existence or if there might be a documentation gap.
Field References
I found the http.compression parameter behavior documented in the AWS OpenSearch Service and Elasticsearch in the following links:

AWS OpenSearch Service: https://docs.aws.amazon.com/opensearch-service/latest/developerguide/gzip.html#gzip-enable
Elasticsearch: https://www.elastic.co/guide/en/elasticsearch/reference/8.11/modules-network.html#http-settings

Clarification Required
I would appreciate clarification regarding the inclusion of the http.compression parameter in OpenSearch documentation. Please confirm whether its absence is intentional or if it is specific to the AWS OpenSearch Service.
Proposed Action
I am willing to create a Pull Request to add the http.compression documentation. I plan to base the documentation on the descriptions provided in the Elasticsearch and AWS OpenSearch Service references. However, if the parameter is not a part of OpenSearch, please disregard the PR.
Your guidance on this matter would be greatly appreciated. Thank you!

PR Created!
As mentioned in the Issue description, I created the PR with the documentation of the field http.compression.

PR Link: https://github.com/opensearch-project/documentation-website/pull/6051


test: Enable verbose policy logs to help debug flake

The DNSSEC test has been flaky in master, egress connections rejected by lack of an allow policy rule. The client pod is deleted as soon as the connection fails so we can't retrieve policy map contents that way. Instead, we can dump the verbose policy logs and reconstruct an image of the policy map state when the drops happen.
Related: https://github.com/cilium/cilium/issues/16713.

test-runtime

Runtime test passed and reviews are in. Merging.


when this is pulled in for deps, it kills chef run

Instead of being hostile to chef 11 runs it should just not provide the functionality.  Using multipackage  depends on compat_resource, and compat_resource is failing chef runs on chef11

+1 Using Amazon opsworks here. This system don't provide a way to upgrade to Chef 12.
A older cookbok docker has the dependency:
compat_resource >= 0.0.0
and I can't found the correct version dependency on your cookbook. :-(
I just only now my docker's cookbook is from November 2014.
There is any way to get a compat_resource cookbook from this date?

+1 We also see this error
================================================================================
Recipe Compile Error in /var/lib/aws/opsworks/cache.stage2/cookbooks/compat_resource/libraries/autoload.rb
RuntimeError
The compat_resources cookbook does not support chef versions older than Chef 12.0.0
Cookbook Trace:
/var/lib/aws/opsworks/cache.stage2/cookbooks/compat_resource/libraries/autoload.rb:2:in `<top (required)>'

We found a solution for our problem with opsworks. Was the cookbok iptables.
Fixing iptables to 1.0.0 in Berksfile solves it

We also ended up pinning rsyslog <= 2.2.0 which has solved the problem for now

All of our chef runs now fail. "The compat_resources cookbook does not support chef versions older than Chef 12.0.0"
Looks like it started here... https://github.com/chef-cookbooks/compat_resource/commit/386bbc465c3e4a46eac82ce911251860f5d5b747
What a headache.

All of the cookbooks that use compat_resource have had major version bumps to indicate breaking changes and have dropped support for Chef 11.
This cookbook is operating as designed.  It does not and will not support Chef 11.  Cookbooks written to use compat_resource are written with Chef 12.5.x syntax and with this cookbook will only work on Chef 12.0-12.5
Chef 11 users MUST pin their cookbook to prior major revisions.  Pinning with a '~>' operator is best-practice anyway.

It was pointed out to me that this was breaking people who were pulling a cookbook they didn't use which then depended upon compat_resource.
So I moved where the exception occurs in #18
However, I suspect that this will not fix anyone's chef client runs.  Since the cookbook people don't use has Chef 12.5 resources in them all those files will always get parsed and the Chef::Resource.action method will always get called.
At least that way it does blow up with a pointer to the code upstream from this cookbook which is written in 12.5 resources style which cannot run on 11.x


Codec setting

Dear friend
I need to set the codec, how can I set the codec or make an option for the codec that we want to use, I didn't find any option for that in the code. Is there anyway that I can modify to add this option?

We are currently researching and developing more features, please wait for the next version! Thank you!


Create a charter.md for the Public Sector User Group

CNCF Public Sector User Group Charter
Primary Authors: Taylor Dolezal <I will update with your name as you would like!>
Approved < Date TBD >
Reviewed and contributed to by:

< Names will be added here >

Introduction
This charter describes the operations of the CNCF Public Sector User Group, which focuses on developing and sharing cloud native practices for public sector organizations that are building and operating cloud native infrastructure or applications.
This user group (UG) produces supporting material and best practices for end users in the public sector and provides guidance and coordination for CNCF projects working within the group's scope.
Mission
The mission of the CNCF Public Sector User Group is to:

Collaborate on areas related to developing, distributing, deploying, managing and operating secure cloud native workflows that can be used by organizations in the public sector vertical.
Develop informational resources including guides, tutorials, and white papers to give the community an understanding of best practices, trade-offs, and value-adds.
Identify useful CNCF projects and contexts.
Share information about gaps and opportunities for improvement with the CNCF ecosystem.
<Anything else?>

Areas considered in Scope
The CNCF Public Sector User Group focuses on the following topics of the lifecycle of cloud-native applications:

<We spoke about airgapped networks and some other items this morning. What would you like to list here?>

The group will work on developing best practices, fostering collaboration between related projects, working on improving tool interoperability, as well as proposing new initiatives and projects when blank spots in the current landscape are identified.
For CNCF projects, the scope of the Public Sector User Group engages, amongst others, with the application management focused ones, for example:

<We spoke about airgapped networks and some other items this morning. What would you like to list here?>

Areas considered out of Scope
Anything not explicitly considered in the scope above. Example include:

<I would like to hear your thoughts on these!>

Roadmap

<Are there any items that make sense to put on our roadmap, or would you like a GitHub Project board for this?>

Governance
Cross-group relationships
Lifecycle management of applications is a broad and mainstream topic of Cloud Native computing; therefore this TAG may collaborate with other CNCF UGs, TAGs, and projects.
Contact

Slack Channel (#public-sector-ug)
<Would you like a mailing list? If so, who should we add initially?>

Beyond air-gapped, we also discussed far edge deployments and an increased interest in topics like security and SBOMs. I'm happy to take a crack at defining far edge if there's value.
I'm not sure if there are areas explicitly out of scope, but I'm happy to be proven wrong. I'm not sure about the Roadmap. I would personally vote against a mailing list, preferring to default to Slack.

No issue at all (pun intended) 😂 thank you, @idunbarh!


added reset() function to sequential model

once the model is created and trained, it can be rest like this:
model = Sequential()
model.add(Dense...)
...
model.fit(X, Y)
...
# will reset all weights & biases randomly and recompile the model (necessary)
model = model.reset()
model.fit(X, Y)

@fchollet:
If this shouldn't be a clean way of doing that, please suggest a different solution.

Ideally this pull request fixes #609
I mean there seems to me no way around recompiling after resetting the weights, but here is a convenient function to do that in one go.

Hmm, but how is this different from just re-calling compile() if you are recompiling anyway?

For me compiling didn't reset the weights. I'm not entirely sure why that's the case. I needed both - calling layer.build() for each layer (which does the actual weight randomizing) and model.compile(). Otherwise it was still reusing the old weights.

You shouldn't need to re-compile, because not having to recompile is maybe the single most important aspect of a reset function.
What a reset function should do is actually the equivalent of set_weight (value assignment in all weight tensors), but with weights that would be randomly initialized from the init function of the layer. You think you can do that?

@fchollet I tried the following: at the end of model.Sequential.compile() I added a line to store the weights of each layer in a list.
self.stored_weights = [l.get_weights() for l in self.layers]
Then I added a function "reset to stored" into model.Sequential that goes through each of those stored weights and restores them for the corresponding layer like this:
def reset(self, use_stored=False):
    if use_stored:
        print("using soft reset")
        for i in range(len(self.stored_weights)):
            self.layers[i].set_weights(self.stored_weights[i])

Now this works, as in: it resets the weights (tested with a few examples) and it doesn't need to recompile.
BUT. But if I try to actually randomize the inputs again, which is -to my understanding- done in each layer's build function, it doesn't work. For some reason that I don't understand. I mean just calling the layer.build() function of each layer should reset the weights to random values, right (in case there are no extra regularizers, no initial weights and no other special stuff)?
To verify this, I added a 'hard reset' function, that would go through each layer, that I marked as resettable (like Dense, but not Activation). In each of those layers it would call the build function. And I actually looked at the weights before the layer.build() and after and they are completely different. The weights are randomized again and the biases are set to zero in case of the Dense.
But why does this not have any effect on the calculation? How is calling the layer.build() + layer.set_weights(layer.get_weights()) function different then layer.set_weights(previous_weights)?
To see what I mean:
def reset(self, use_stored=False):

    if use_stored:
        print("using soft reset") # this works

        for i in range(len(self.stored_weights)):
            self.layers[i].set_weights(self.stored_weights[i])

    else:
        print("using hard reset") # this doesn't work

        for i in range(len(self.layers)):
            print (self.layers[i].get_weights()[0]) # these are the old weights

            self.layers[i].build()

            print (self.layers[i].get_weights()[0]) # these weights are entirely different from the old weights above

            self.layers[i].set_weights(self.layers[i].get_weights()) # I tried with and without this line... no difference
            # I mean the get_weights() gives different weights after the build()... how does this not work and the thing above does work?

....ahhh, I think I get it. The backend of Keras isn't using the actual objects, but the pointers to specific objects that were used in the function. Therefore the soft reset works because both the old weights and the stored weights point to the same variable, which was used in the loss function. But in case of the hard reset I am creating an entirely new variable in memory that no function is using.  I'll try that out.

okay, yes, that was the issue.
I solved it for the Dense layer (as an example) like this (not taking into account initial weights if there were any):
def reinit_weights(self):
    input_dim = self.input_shape[1]
    new_weights = self.init((input_dim, self.output_dim), name='{}_W'.format(self.name))

    self.trainable_weights[0].set_value(new_weights.get_value())

This will write the new weights into the same shared Theano variable that the loss function is using.
Only problem: now I have to write this for each layer, because each layer has a different init. I'll do this in the next few days and then submit a new pull request.

@fchollet or @fgolemo, it'd be interesting to hear if there are any plans to finish up a performant way to randomize/reset weights. I'm too novice to try it myself. Regards..

@Kielland After @fchollet 's input I created another pull request at https://github.com/fchollet/keras/pull/2079
But because it took too long to merge it, it got outdated and now it would need serious effort to merge it again into the main branch (and also adapt it to the functional API, not just the sequential model). I currently don't have the time to do that, but might in a few weeks or latest over Christmas.

@fgolemo , thanks for that. Based on your comments above, I gave it a shot to solve this in my model code, based on your ideas above. It didn't succeed, however, so I've asked the community. Feel free to add any insights :-) Thanks!

@fgolemo, just to follow up. I found a practical solution by @jkleint here:
https://gist.github.com/jkleint/eb6dc49c861a1c21b612b568dd188668. Thanks!

Why is this closed? There is no reset function for graphical models.
Is the solution to place model bulding code within the for loop to ensure weights and optimizer states get re-initialized?

There is a great solution posted here.
You can use tf.keras.models.clone_model which returns a new model with random initialized weights. Exactly what I needed.


Confusing variable names in exercise

Hey Allen, in the recursion factorial exercise, you describe raising x to an integer power, but then use n in instructions:

Will fix. Thank you!

Done!


Column content auto stripped as fit-content styles

Describe the Bug
I'm using Tailwind component to create a table UI on email, but the content is auto stripped, similar to width: fit-content attribute on Gmail app, it works well on Gmail web, but on mobile app is have UI issue.
Result using Gmail on web:

Result on mobile app:

The issue is when I update the text on Header (change long text from Ngay GDKQH to Ngay to make is shorter), the layout on mobile will stripped all:
Short text on header

Long text on header

Which package is affected (leave empty if unsure)
@react-email/column, @react-email/row, @react-email/tailwind
Link to the code that reproduces this issue
https://github.com/resend/react-email/
To Reproduce
Here's the code snippet:

  <Tailwind>

      <Container>
        {/* Heading */}
        <Row className="border-solid border-b-2 border-[#24c55e] w-[95%]">
          <Column className="w-1/4 pl-2">MÃ CP</Column>
          <Column className="w-1/4 text-center">NGÀY GDKHQ</Column>
          <Column className="w-1/4 text-center">LOẠI</Column>
          <Column className="w-1/4 text-center pr-2">TỶ LỆ</Column>
        </Row>

        {/* Content row */}
        <Row className="border-solid border-b border-slate-200 w-[95%]">
          <Column className="w-1/4 pl-2">
            <Link
              href="link-1"
              title="title"
              className="flex items-center gap-2"
            >

ABC

            </Link>
          </Column>
          <Column className="w-1/4 text-center">26/9</Column>
          <Column className="w-1/4 text-center">Tiền mặt</Column>
          <Column className="w-1/4 text-center pr-2">200%</Column>
        </Row>

        {/* More rows from data */}

      </Container>
      <EmailFooter />

  </Tailwind>

Expected Behavior
Each column should have width is 25% (as w-1/4 class name) instead of stripped as content as:

Please note that: I already try to use styles inline as well, but the same issue, I tried 2 ways like this:
Current styles using Tailwind
<Column className="w-1/4 text-center">

Inline styles
<Column className="text-center" styles={{ width: '25%' }}>

What's your node version? (if relevant)
20.16.0

@gabrielmfern Got it, thank you for clarify, it works if I use table


Next

Contains:

[x] Strict flow checking for types
[x] Updated example with a lot of improvement
[x] Flow declaration file
[x] Store: Check for action type existing
[x] Independent Thunk functionality
[x] Redux Converter and Listen functionality for redux
[x] bindActions functionality
[x] Fix listen for situations with restoring original store state
[x] Fix default stateGetter in listern
[x] Fix for useDispatchers
[ ] redux helper for use redux extenders without manual putting reduxConverter and restoreListen
[ ] docs for more utils

When redux layer and docs will be ready it will be 0.5.0 version

[Current coverage][cc-pull] is 76.54%

No coverage report found for master at 51b4622.

Powered by Codecov. Last updated by [51b4622...19efe8d][cc-compare]
[cc-base-branch]: https://codecov.io/gh/Kr0na/point-one/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/Kr0na/point-one/compare/51b4622f19eb43aad622f1ec87863ed0bc68d863...19efe8d57a48a504aea1930c88c37e53a26c5d9a
[cc-pull]: https://codecov.io/gh/Kr0na/point-one/pull/11?src=pr


You already have a Gem request in.

Maybe I am missing something.  The bot will not open gems\ portals and was opening them before.
give the message You already have a Gem request in.

What led up to this event/getting stuck in this way? I'm not sure if you have any context (due to this being an unattended bot) that could help give some insight?
Did you restart the bot/relog the client, or try anything in particular that might help diagnose?

What led up to this event/getting stuck in this way? I'm not sure if you have any context (due to this being an unattended bot) that could help give some insight?
Did you restart the bot/relog the client, or try anything in particular that might help diagnose?

Hello Patrick,The only thing I know that I did was move it from one computer to another.How ever after the move it was working properly.I tried everything you mentioned and more that i probably forgot.I ended up reinstalling and of course redefining all the portals. It seems like maybe an xml file got messes up after I moved and like I said it was working.So not sure what happened.Is there a way to back up the configs...so if it messes up again I can just restore them from a backup?I "think?" I still have the old files if you want to look at those for future diagnosis to others.I also want to say thank you it is a good bot and has plenty of features.I also run an IBAirport bot in shoushi and another one I think on Coldeve. You all rock - thanks for all you do for the AC community.Any way thank youAl Forte
-------- Original Message --------
Subject: Re: [patri0t86/ACManager] You already have a Gem request in.
(#37)
From: patri0t86<EMAIL_ADDRESS>Date: Fri, January 22, 2021 11:23 pm
To: patri0t86/ACManager<EMAIL_ADDRESS>Cc: kilroy79763<EMAIL_ADDRESS> Author
<EMAIL_ADDRESS>What led up to this event/getting stuck in this way? I'm not sure if you have any context (due to this being an unattended bot) that could help give some insight? Did you restart the bot/relog the client, or try anything in particular that might help diagnose? —You are receiving this because you authored the thread.Reply to this email directly, view it on GitHub, or unsubscribe.

Hello Patrick,The only thing I know that I did was move it from one computer to another.How ever after the move it was working properly.I tried everything you mentioned and more that i probably forgot.I ended up reinstalling and of course redefining all the portals. It seems like maybe an xml file got messes up after I moved and like I said it was working.So not sure what happened.Is there a way to back up the configs...so if it messes up again I can just restore them from a backup?I "think?" I still have the old files if you want to look at those for future diagnosis to others.I also want to say thank you it is a good bot and has plenty of features.I also run an IBAirport bot in shoushi and another one I think on Coldeve. You all rock - thanks for all you do for the AC community.Any way thank youAl Forte
-------- Original Message --------
Subject: Re: [patri0t86/ACManager] You already have a Gem request in.
(#37)
From: patri0t86<EMAIL_ADDRESS>Date: Fri, January 22, 2021 11:23 pm
To: patri0t86/ACManager<EMAIL_ADDRESS>Cc: kilroy79763<EMAIL_ADDRESS> Author
<EMAIL_ADDRESS>What led up to this event/getting stuck in this way? I'm not sure if you have any context (due to this being an unattended bot) that could help give some insight? Did you restart the bot/relog the client, or try anything in particular that might help diagnose? —You are receiving this because you authored the thread.Reply to this email directly, view it on GitHub, or unsubscribe.

Oh, definitely back it up if you can - can save time moving it from machine to machine (I've done it a few times myself changing VMs).
The config that is most important is the acm_settings.xml file located in the folder for that account, for that server. To handle running multiple bots on the same machine, I have it separated that way. There is an ACManager folder adjacent to where to installed ACManager.dll where all of this is located. All information is stored in XML format, so it is human readable/editable outside of the game as well. If you wish to back that file up to save future configs, just keep a copy located outside of the ACManager folder that was created when you installed the plugin.
If a file is corrupt, you will get a warning when you log into the game saying the file is corrupt, or something along the lines of "XML error". I have only seen or had it reported that this occurs when a VM or machine is hard-powered down improperly. The file isn't saved in proper format when this occurs. The workaround is to open the file in an editor and save it again, no change necessary. This resets the file and works again. Do that for all of the XML files (not the buff profiles), and they should just work again.
And you're very welcome for the bot! I've worked very hard on it and I'm the only dev that has touched it, so I put a lot of care into it!
I'm going to mark this issue closed since it appears it is fixed.

Oh, definitely back it up if you can - can save time moving it from machine to machine (I've done it a few times myself changing VMs).
The config that is most important is the acm_settings.xml file located in the folder for that account, for that server. To handle running multiple bots on the same machine, I have it separated that way. There is an ACManager folder adjacent to where to installed ACManager.dll where all of this is located. All information is stored in XML format, so it is human readable/editable outside of the game as well. If you wish to back that file up to save future configs, just keep a copy located outside of the ACManager folder that was created when you installed the plugin.
If a file is corrupt, you will get a warning when you log into the game saying the file is corrupt, or something along the lines of "XML error". I have only seen or had it reported that this occurs when a VM or machine is hard-powered down improperly. The file isn't saved in proper format when this occurs. The workaround is to open the file in an editor and save it again, no change necessary. This resets the file and works again. Do that for all of the XML files (not the buff profiles), and they should just work again.
And you're very welcome for the bot! I've worked very hard on it and I'm the only dev that has touched it, so I put a lot of care into it!
I'm going to mark this issue closed since it appears it is fixed.


Fixed CA1062 and CA1812

Fixed CA1062: Validate arguments of public methods and CA1812: Avoid uninstantiated internal classes

Autumn cleaning!


Static Links in Menu [at required positions]

Need to add external/internal links in the menu as well as define the order of these menu items in the menu

order of the menu items can be done on the admin side.
External links has to be added


post_gen_project hook runs before .cruft.json is created.

This is probably by design, but I would like to automatically add .cruft.json to git in the hook.
This is my hook code:
check_call(["git", "init", "--initial-branch", "main"])
check_call(["git", "add", ".gitignore"])
check_call(["git", "commit", "-m", "Add .gitignore"])
check_call(["git", "add", "."])
check_call(["git", "commit", "-m", "Initialized from template"])

After running cruft create, the .cruft.json file is present but untracked in git.

I'm in a similar boat, having a post_gen_hook of the sort:
# Prepopulates a git repo out of the rendered template with an initial commit

# If a git repo is already in place
if [[ -d ".git/" ]];
then
    exit 0  # No action, exit early
fi

# First create empty git repo
git init

# Temporarily set commiter name.

The behaviour I expect for cruft (which I'm trying to adopt), is to (per my script) early-exit the git repo creation, and instead (by cruft's own means) make a git commit with the cruft-ed changes, if they work out OK.
Currently I'm not sure what cruft does, but it seems to run the post-gen-hook twice (both old/new cookiecutter template versions), and the resulting double-git-inits are seen as two blobs of COMMIT_EDIT_MSGs, causing abort?
Overall, it'd be neat to clarify what cruft does/should do when there already is a repo, and especially when post-gen-hook are creating repos themselves.
I recommend a cruft-side post-gen-hook of its own, detecting presence of git repo after template instantiation, to enable some extra logic around using the commit message we got from template (before/after), like diffing the actual commit message before/after template update? Unsure.
I'd love to chat more about this project, which seems full of good ideas (dealing with template updates after use? 100% compat with Cookiecutter? love it! it's a perfect feature gap!) but needs more love to rise up to the amazing goals it sets for itself.

I hit the same issue.
For the time being, @ian471  @OverkillGuy, did you come up with any solutions for yourselves, perhaps some workarounds?
Thanks!

I ended up removing my auto-commit-all because it doesn't play nice with linter Git pre-commit hooks: either cruft runs the pre-commit hook and it sometimes fails (meaning cruft create/update fails) or I disable the pre-commit hook and end up with unlinted changes.

I have to admit I left cruft for copier, which deals with all the edge case I was interested in!
Sorry cruft devs, copier has won my heart for now


Add units package

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.0 out of 2 committers have signed the CLA.:x: Ivan.Kok:x: ColinKerrIvan.Kok seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

Another thing that needs to be done is to set the API access control and add inline documentation and comments.
Look around for the format that is needed.
We want to mark all the API as @alpha or @internal.  Use @internal for API that is used for the implementation of the conversion but no caller that does conversion ever needs.  Use @alpha for the rest.

It may be too early too ask, but eventually I will need to be able to locate a unit by its label or one of its alternate labels and phenomenon. The label checks would have to be case insensitive.

Bad merge?

Thanks @pmconne this has been fixed

You will need to run rush change.

Done


Order Summary option label and value should be visually separated

When you add an item to cart with options and reach the checkout, the order summary shows the option label and value on a single line in a single HTML element with no separation. This can be very confusing to customers. These should be separated by a colon, or at least placed into separate HTML tags so a developer can style them differently.
Current implementation:

Proposed implementation 1:

Proposed implementation 2:

That's cool!
As a minimum split them up in option value spans.

This would be super helpful to us and our clients as well.
I prefer option 2 (to start) as it gives us more control than option 1.

Sounds like a nice improvement, we will go with option 2.


Nullifer tags are incorrectly being set

In order to receive information about spent nullifiers, we need to reduce the nullifiers of committed (but not yet consumed) notes. We want to reduce them to the higher 16 bits (which should be the first element of the nullifier Word), but currently this is being done incorrectly.

Closing as it was the node who was computing the prefixes incorrectly: https://github.com/0xPolygonMiden/miden-node/issues/218


MSCS unable to find installed java

I've installed java 19 via SDKMan and am able to see and use it, but mscs tells me that Java is not found.
Error:
➜  mscs git:(main) mscs list
ERROR: Java not found!
Try installing this with:
sudo apt-get install default-jre

I've got the same setup, mscs + sdkman installed java only, on a raspberry pi that is working. However for some reason on my Ubuntu server desktop mscs is unable to find java.
I edited mscs and msctl to print out the PATH variable and it shows the bin directory where java is located at, but it's still unable to find it.
mscs path -- /home/traumaer/.sdkman/candidates/java/19-amzn/bin:/home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
msctl path -- /home/traumaer/.sdkman/candidates/java/19-amzn/bin:/home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
ERROR: Java not found!
Try installing this with:
sudo apt-get install default-jre

If I follow the suggestion of sudo apt-get install default-jre it is able to find java. However, it'll only ever use Java 11 that is installed that way and not use my Java 19.
Any help would be greatly appreciated.
Environment:
Distributor ID: Ubuntu
Description:    Ubuntu 22.10
Release:        22.10
Codename:       kinetic

Hardware:
➜  mscs git:(main) inxi -F
System:
  Host: mc-box Kernel: 5.19.0-26-generic arch: x86_64 bits: 64 Console: pty pts/0 Distro: Ubuntu
    22.10 (Kinetic Kudu)
Machine:
  Type: Desktop Mobo: ASRock model: FM2A88X-ITX+ serial: <superuser required>
    BIOS: American Megatrends v: P2.40 date: 08/01/2014
CPU:
  Info: quad core model: AMD A8-6600K APU with Radeon HD Graphics bits: 64 type: MT MCP cache:
    L2: 4 MiB
  Speed (MHz): avg: 1898 min/max: 1900/3900 cores: 1: 1900 2: 1900 3: 1896 4: 1896
Graphics:
  Device-1: AMD Richland [Radeon HD 8570D] driver: N/A
  Display: server: No display server data found. Headless machine? tty: 209x51
  API: N/A Message: No display API data available in console. Headless machine?
Audio:
  Device-1: AMD Trinity HDMI Audio driver: snd_hda_intel
  Device-2: AMD FCH Azalia driver: snd_hda_intel
  Sound API: ALSA v: k5.19.0-26-generic running: yes
Network:
  Device-1: Qualcomm Atheros AR9462 Wireless Network Adapter driver: ath9k
  IF: wlp1s0 state: down mac: dc:85:de:b8:39:34
  Device-2: Qualcomm Atheros QCA8171 Gigabit Ethernet driver: alx
  IF: enp3s0 state: up speed: 1000 Mbps duplex: full mac: d0:50:99:52:c4:61
  IF-ID-1: docker0 state: down mac: 02:42:ae:d5:8e:71
Bluetooth:
  Device-1: IMC Networks type: USB driver: btusb
  Report: rfkill ID: hci0 rfk-id: 1 state: down bt-service: not found rfk-block: hardware: no
    software: no address: see --recommends
Drives:
  Local Storage: total: 119.24 GiB used: 14.78 GiB (12.4%)
  ID-1: /dev/sda vendor: Samsung model: SSD 850 PRO 128GB size: 119.24 GiB
Partition:
  ID-1: / size: 57.4 GiB used: 14.65 GiB (25.5%) fs: ext4 dev: /dev/dm-0
  ID-2: /boot size: 1.9 GiB used: 135.4 MiB (7.0%) fs: ext4 dev: /dev/sda2
Swap:
  ID-1: swap-1 type: file size: 4 GiB used: 0 KiB (0.0%) file: /swap.img
Sensors:
  Src: /sys System Temperatures: cpu: 7.4 C mobo: N/A
  Fan Speeds (RPM): N/A
Info:
  Processes: 129 Uptime: 21h 25m Memory: 14.57 GiB used: 620.6 MiB (4.2%) Init: systemd
  target: graphical (5) Shell: Zsh inxi: 3.3.24

Derp, So apparently Ubuntu is a little more Security conscious than PiOS. The reason why mscs was unable to see java even though the directory was on the PATH is because it was in my home directory and it didn't have permission.
Solution: Uninstall sdkman from my user home directory and install it under /usr/local/sdkman this gave the minecraft user the ability to see it.

Glad you got it figured out


Anime page searching problem and sign up page minor mistake

Fixes #(issue number)

Describe the changes you've made
A clear and concise description of what you have done to successfully close your assigned issue. Any new files? or anything you feel to let us know!
Deploy your changes to github page or netlify and mention deployment link:
Add the deployment link here.
Describe if there is any unusual behaviour of your code(Write NA if there isn't)
A clear and concise description of it.
Additional context (OPTIONAL)
Add any other context or screenshots about the feature request here.
Test plan (OPTIONAL)
A good test plan should give instructions that someone else can easily follow.
How someone can test your code?
Checklist

[ ] I have mentioned related issue number in PR description.
[ ] I have added screenshots and related demo links of my changes..
[ ] The title of my pull request is a short description of the requested changes.
[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] Open Source Program names(OPTIONAL: If you participated in any open-source program then please mention the program name here)

Comparison of Anime page vs other page like Comedy during perform search function

@KarieTan fetch upstream your repo is few commits behind.


Multilanguage for portfolio?

Is your feature request related to a problem? Please describe.
Hi, I really love the theme so far!
I have a question regarding multilanguage feature: Can it also be applied to the portfolio page and if so, how? It seems like that it doesn't work for it, at least I have noticed on the example site that the language switch disappears when navigation to the portfolio and couldn't get it to work on my own site.
Describe the solution you'd like
Since the portfolio is configured via /data/portfolio.yml, perhaps we can create a structure with multiple .yml files (like creating multiple contentDirs for each language) like so:

Any questions or more information needed, just ask.
Thanks in advance,
Vadim

This should be relatively easy to implement.
As a local quick fix, do the following:

Create a portfolio directory inside layouts.
Copy layouts/portfolio/list.html from the GitHub repository of the theme to the directory created in the first step.

Then, replace the second line of list.html with
{{ $data := index .Site.Data .Site.Language.Lang }}
{{ range $index, $elemen:= $data.portfolio.portfolioitems }}

Be aware that this overrides the list.html implementation of the theme. Thus, for future updates you need to merge manually.


How to configure using custom pusher server ?

Here's my configuration. I can't find on the docs on how to configure key, host, port and auth endpoint.
const config = {
  broadcaster: 'pusher',
  key: process.env.PUSHER_APP_KEY,
  wssHost: process.env.PUSHER_APP_HOST,
  wssPort: process.env.PUSHER_APP_PORT,
  authEndpoint: process.env.WS_AUTH_ENDPOINT,
  disableStats: true,
  auth: {
    headers: {
      Authorization: '',
      Accept: 'application/json'
    }
  }
}

Hi @kszyrvercobrador
The settings are the same as https://laravel.com/docs/7.x/broadcasting
Could you provide more information?

i dunno but the config does nothing except for the key & broadcaster property.
host either gets overriden or its not used


add VEP HGVS POST endpoint

For 86, just an easy thing for me to tick off my list today :-)

Ah sorry I have messed up the .conf file.
Please don't merge til I've fixed it.

We're putting you on hold until 37 is done to keep things clean.

Just added some more commits not relevant to this PR in particular, but should fix some potential problems with updates to ensembl-variation. That is when everything else is working.
Basically this will make the world a better place.

all those lovely dependencies...
At least it's fixed now and it should fix it for the other runs as well
Thanks for the changes


Vararg for setters / builder

Idea: For arrays Builder and Setters may generate a vararg parameter.
Example
@Setter
class NameContainer {
  private String[] names;
}

will generate:
class NameContainer {
  private String[] names;
  public setNames(String... _names) {
    this.names = _names;
  }
}

This feature would also be nice for Builders.
Maybe related to #932.

@rspilker and I talked about it; feature request denied.
Arrays are like low-level assembler. The whole point of the varargs concept is to make nice API, and arrays fundamentally clash with the notion of nice API. We'd be writing a cheque our code couldn't cash – creating the impression this is supposed to be nice API without actually having it. Sending mixed messages.
The proper way to do this is with @Builder.

Thanks for your evaluation. Answer accepted. I like varargs because it's a very simple way of passing many elements. Code can still be kept small without this feature by using lists and static import of asList(...).


PR to issue #243: fixed std::reinterpret_pointer_cast with older libc++ versions

Currently buffer.hpp file uses std::reinterpret_pointer_cast. This works with libstdc++ in C++17 mode.
However it doesn't work with libc++ prior to the current llvm master branch.
So I added an additional header (detail/reinterpret_pointer_cast.hpp) which checks if libc++ is used via the _LIBCPP_VERSION macro (which is not set in libstdc++). If the value of this macro is less than 11000 (the value set in the current master branch, clang 10.0.0 sets the value to 10000), the header file defines the reinterpret_pointer_cast function as shown on cppreference. Otherwise it uses the std implementation.
After including the newly added header, we only have to change the lines in buffer.hpp from using std::reinterpret_pointer_cast to detail::reinterpret_pointer_cast.

LGTM, just a little comment: personally I'd move it in a special shim namespace to make clear that it's really just a placeholder..

Thank you! Since we might want to use reinterpret_pointer_cast also in other components apart from the SYCL interface (e.g. runtime or compiler), I also wonder whether it might be better to place it in hipsycl::common (or maybe hipsycl::common::util/shim) and include/hipSYCL/common/?
I'm afraid that we will probably have to support clang 10 still for a substantial amount of time, so I don't think this will just be a placeholder that we can get rid of quickly...

If you mean that I should add a new folder common/ in the same directory as detail/ and move reinterpret_pointer_cast.hpp from detail/ to common/ and change the namespace from detail::reinterpret_pointer_cast to common::shim::reinterpret_pointer_cast, then I can do that.

If you mean that I should add a new folder common/ in the same directory as detail/ and move reinterpret_pointer_cast.hpp from detail/ to common/ and change the namespace from detail::reinterpret_pointer_cast to common::shim::reinterpret_pointer_cast, then I can do that.

The new directory would not be in the same directory as detail. You see, I have recently started to shuffle code around to separate the three main components of hipSYCL (SYCL interface, compiler, runtime).
This means that we now have the subdirectories

src/compiler - compiler component
src/sycl - SYCL interface
src/runtime - SYCL runtime (not there yet, will come with the new runtime that's currently in development).
The same for header files:
include/hipSYCL/compiler - compiler component
include/hipSYCL/sycl - SYCL interface
include/hipSYCL/runtime - not there yet, will come with the new runtime.

The detail subdirectory is part of the include/hipSYCL/sycl directory, i.e. part of the SYCL interface code base. What I'm suggesting is to give equal access to this function for all three components by creating include/hipSYCL/common, i.e. moving it out of the code tree of the SYCL interface.
Because of a similar reasoning, I suggest to not put it in the sycl namespace since it is reserved for the SYCL interface. Just put it in hipsycl::common::shim as you say.

That's a good idea. I changed it accordingly.

Thank you!


Handling an empty sitemap file

What if the sitemap URL and file are valid, but it contains no url's like below?
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
</urlset>

Hmm, not sure what happens, did you run into this issue?

I did, but pull 21 might resolve the issue?   I used the below code to just test it out and I didn't receive anything from the promise, resolve or reject, which is kind of odd.  The xml file is just what's above (ie legit sitemap.xml with no URLs)
var Sitemapper = require('sitemapper'),
    sitemap = new Sitemapper(),
    url = 'http://testDomain.com/bad-sitemap.xml';

sitemap.fetch(url)
        .then(function(urls) {
                // console.log(urls.sites.length);
                console.log(urls);
                console.log('hii');

        })
        .catch(function(err) {
                console.log('hi');
                console.log(err);
        });

Is there any plans for getting the 2.1.10 version published to the public npm repo any time soon?

Yeah I can publish tomorrow. I must have forgotten.
On Wed, May 17, 2017 at 6:43 PM edsyoo<EMAIL_ADDRESS>wrote:

I did, but pull 21 https://github.com/hawaiianchimp/sitemapper/pull/21
might resolve the issue? I used the below code to just test it out and I
didn't receive anything from the promise, resolve or reject, which is kind
of odd. The xml file is just what's above (ie legit sitemap.xml with no
URLs)
var Sitemapper = require('sitemapper'),
sitemap = new Sitemapper(),
url = 'http://testDomain.com/bad-sitemap.xml';
sitemap.fetch(url)
.then(function(urls) {
// console.log(urls.sites.length);
console.log(urls);
console.log('hii');
    })
    .catch(function(err) {
            console.log('hi');
            console.log(err);
    });

Is there any plans for getting the 2.1.10 version published to the public
npm repo any time soon?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/hawaiianchimp/sitemapper/issues/23#issuecomment-302277342,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA66shGKBJtDxf2EG2CfIyZ2V5-a5QH1ks5r66I9gaJpZM4NeNiV
.

Actually, reopening because installing from npm, the patch from PR 21 isn't showing up and the issue is not resolved.

What version do you have installed?

2.1.12

BUMP

I was curious if this was going to get merged or applied to the lib/sitemapper.js file.
Another question is why it was applied to the src/assets file rather than to the lib file?  I am very new to this, so I am trying to learn.
Thanks,

Oh I see what happened. Yeah the src/assets is written in es6, and the lib is compiled to es5, it should have been compiled to lib, but now that node can support es6 files, maybe compiling it isn't necessary anymore

So if I'm using node v6.10 and it's using ES5.1.281, how could I use the updated sitemapper version?

If you run npm run build it will generate the correct lib file.

Just ran it and committed it. It should be in NPM soon


Add support for regex in cssContainingText.

In order to get this working, I had to serialize the regex before
we send it over the wire to the browser.
Since there is no standard way to do this, I took guidance from
a stackoverflow answer, where they call toString on the regex.
Then, on the browser, you use a regex to extract out the text in between
/someregex/
The hard part is to also extract out the modifiers, like i for ignore case.
Anyhow, this approach seems to work, and I have tests to prove it.

I signed it!

Link to Stackoverflow answer that I used:
https://stackoverflow.com/a/33416684/1222743

Why does it still say I have not signed the agreement?


Add support for the Leap Motion Unity Modules 4.6.0, 4.7.0, and 4.7.1

Add support for the Leap 4.6 Unity Modules as MRTK only currently supports version 4.5.0 and 4.5.1
https://github.com/leapmotion/UnityModules/releases/tag/UM-4.6.0

ETA on the merge?

@slimshader The PR has been merged.


GitHubSource to genreconciler

This also makes it use the v1 Serving API.
WIP until https://github.com/knative/eventing-contrib/pull/1009 merged (base commit)

/lgtm
/approve


image-types: start describing image types

This is the start to document the image types that osbuild-composer
produces on a higher level than the code in the distro package.
The idea is to document the purpose for each of the image types as well
as the reasons why deviating from a standard install is necessary.
This is a draft. Want to get feedback if this is generally going in the right direction before fleshing it out further. That's why I requested reviews from all the people :tada:

I love the general approach! How do you imagine the process for reviewing and maintaining and keeping these things up to date should be?

I like the general idea, because this "formal" definition of an image is something I miss a lot. But I have basically the same question as @teg : how to we keep this up-to-date?
What do you think about generating these from the source code? Could we agree on a specific comment format and write a script that would generate the document from the code. Especially the list of packages and kernel parameters could be generated.
Example (three slashes and a markdown format):
	/// # OpenStack Image
	/// This image is meant to be run in an OpenStack environment. It has to conform to
	/// OpenStack’s [image requirements][requirements].
	///
	/// ## Architectures
	///
	/// Only `x86_64` images are generated.
	r.outputs["openstack"] = output{
		Name:     "disk.qcow2",
		MimeType: "application/x-qemu-disk",
	        /// ## Additional Software
	        ///
	        /// The following packages are installed in addition to a base install (`@Core` and `kernel`):
		Packages: []string{
			"@Core",
			"chrony",
			"kernel",
			"selinux-policy-targeted",
			"spice-vdagent",
			"qemu-guest-agent",
			"xen-libs",
			"langpacks-en",
			"cloud-init",
			"libdrm",
		},
		ExcludedPackages: []string{
			"dracut-config-rescue",
		},
		KernelOptions: "ro biosdevname=0 net.ifnames=0",
		Bootable:      true,
		DefaultSize:   2 * GigaByte,
                // ## File Format
                // This image is OpenStack's native file format is qcow2.
		Assembler: func(uefi bool, size uint64) *osbuild.Assembler {
			return r.qemuAssembler("qcow2", "disk.qcow2", uefi, size)
		},
	}

Or to go one step further, we can place a simple json distro definition file somewhere, which can contain more than just package-lists, but also other input we need for distros. Note that none of this needs to be ABI (unless we want to). So the format can be changed anytime.

We discussed something similar during the hackfest. I basically proposed to have the definition of translation between empty blueprint and osbuild manifest as a JSON file so it becomes easier for others to see how we define what e.g. "Fedora 30 is". But we decided not to have this declarative format, because we already have blueprints and manifests and we didn't want to introduce another intermediate configuration file.
Or do you propose to have only the "static data" like packages, kernel parameters, etc. in the JSON document and then we include it directly in the binary?

@msehnout Your idea of auto-generating the definitions is really cool, but Lars and I have discussed a workflow for how these definitions are maintained independently of the source code, so that the definition is the source of truth against which the source code is implemented. To support this workflow, we would identify owners/stakeholders who understand what requirements the image types need to support and would own the definitions.
So for example, if the formal definition is updated to include different requirements by the image owner, then after we review and commit the updated definition, we would then update the image type in the source code to match. Or alternatively, if the source code somehow gets out of sync, then it's easy enough to check the definition and know what it's supposed to be.
Along with adding the existing definitions, we would also want to include a description of this process for updating or introducing new image types.

Thanks for all the feedback! I've reworded things a bit and added an additional README.md in the rhel8 directory, which is meant to document the base install.
I hope I'm answering all questions below. Please let me know if I forgot something :)
@teg

How do you imagine the process for reviewing and maintaining and keeping these things up to date should be?

@jgiardino and I have some ideas, but nothing concrete yet. It will probably revolve around having points-of-contact for each product and image type. I thought a good first step is to document what we currently have in this PR, to figure out the format that we want.
@msehnout

What do you think about generating these from the source code?

I'd like this to be a bit more high-level. More like a requirements document which states the reasons behind the decisions. I've made this more clear by not including full package lists, but saying things like "no -firmware packages". This (hopefully) makes it clear that we'd exclude the next firmware package that shows up as well.
Also, as @jgiardino mentioned, we'd like people who don't know the code to contribute to these documents. It will be harder for them to edit comments.
@dvdhrm

However, rather than auto-generating documentation, how about an authoritative package-list somewhere in the source tree, which is human-readable and sourced by our code to determine the packages to install (at compile-time should be sufficient).

I would like this a lot, if it is possible. As mentioned above, I think this is not in scope for this particular patch. Could you and @msehnout take this to a separate issue?

Some changes after talking to @teg (thanks!):

I removed the awkward "unknown reasons" sections. If this PR is accepted, I'll open issues that point out the differences.
I added an "Owner: None" to each of the documents. This is meant to signal that these are in draft state until we have identified someone who owns the requirements for this image type. This way, we can merge these two now.

This looks good to me. Why not assign the owners now?

We don't have them yet :) Working on getting them as soon as we can.

This is amazing!

Thanks a lot everyone!


kairos.io invalid ceertificate

Since today kairos.io has the following error: NET::ERR_CERT_COMMON_NAME_INVALID so documentation is inaccessible...

Thanks for reporting @Ognian !

the page is now accessible, the issue came from when we tried to configure subdomains for versions of the docs


Be able to compute the status from an object list

Discussed in https://github.com/Decathlon/kubernetes-status-to-github/discussions/3

Originally posted by GregoireW October  5, 2023
In case we push multiple object in kubernetes to deploy one application it may be interesting to compute a status from all the object.
 You deploy all of them when you put your application in production, you want to check all them to be deployed to declare a deployment succesful.
The CRD could be modified to something like this:
apiVersion: github.decathlon.com/v1beta1
kind: GitHubDeployment
metadata:
  name: example
spec:
  sourceRef:
    apiVersion: apps/v1
    kind: Deployment
    name: podinfo-primary
    namespace: test

  additionnalRef:
    -  apiVersion: apps/v1
       kind: Deployment
       name: front-app
      namespace: test
    - apiVersion: apps/v1
      kind: Deployment
      name: worker
      namespace: test

  extract:  # Extract the ref on which to GitHub will create the deployment ( commit sha1, tag, etc... )
    containerName: podinfod  #  get the tag of the image of this container. If it is not set, a `jsonPath` option has to be given.
    # jsonPath: $.metadata.annotations.source-ref # a jsonPath to extract a value. Mandatory is `containerName` is not set
    regexp: main-.*-(.*) # optional. If present, extract a substring from the tag. Capture a single group (can be named "ref")
    # template: "{}"  # optional. If present, use this template to build the GitHub ref from the extracted string. "{}" will be replaced by the extract string.
                      # For instance if you capture "1.2.3", a template like 'tag-{}' will send to GitHub a ref "tag-123"
  repository:
    name: my-repo  # your repo name (no need to set the org/user, you can just set the repo name)
    environment: staging # the environment name. It can be anything like  production, staging, ..

Extract / template to get the commit point in git would be extracted from the sourceRef  object,  but the overall status would be the minimum status from all the objects from additionalRef + sourceRef.

If one object is in error, the global status is in error
else if one object is in pending, the global status is pending
else if ALL object are current, the result is current.

Extract / template to get the commit point in git would be extracted from the sourceRef object, but the overall status would be the minimum status from all the objects from additionalRef + sourceRef.

Extracting the git ref only from the sourceRef object can lead to the wrong status. If all objects do not have the same git ref, the status computed is not reliable.
If we have a sourceRef A and additionnalRef B and C with v1 git ref, compute status from all objects makes sense because they are with the same git ref.
But I see two other cases:

If only B git ref changes to v2, this will result to any update into github because sourceRef doesn't change.
If only A git ref changes to v2, this will result to an update into github with v2 ref, but status will be computed on A in v2, B and C are still in v1. This case doesn't mean that B and C will not be updated to v2 in near future. Flux can check the image registry when only one of the 3 images has its tag pushed. If B and C update to v2 after A is in its final state, their states in v2 will never be taken into account, and if one of them fail, the deployment will be success instead of failure in GitHub.

So I don't think this proposal can manage multi-object deployments properly at this stage.


added styles for mobile checkboxes and radio buttons

What changed

Added mobile sizes for checkboxes and radio buttons
Improved the spacing for input forms
Removed the necessity to manually add "inline" to custom checkboxes and radio buttons
(ignore the changelog changes... apparently it auto-removed every empty space?)

This hasn't been device tested yet. I won't merge until it is.

Tested on

[ ] Safari
[ ]
[ ]
[ ]

Note: I did not make checkboxes and radio buttons within cards larger, since the click area is already larger. We only make them large if they stand alone.


Possible overlap/collaboration with other project

Hi,
I just found out your module totally by accident, and just want to point out that the following project seems to follow similar goals :
https://github.com/felixfbecker/node-sql-template-strings
Note that I'm not involved in this project in any way, I just use this module for several months, and it works fine.

Cool, good to know. It would have been helpful to know about this module a while ago 😉
Although it doesn't solve the needs I was feeling for PostGraphQL (where the first implementation of this module lives. Specifically the ability to compose SQL queries in a safe fashion to avoid SQL injection and keep the order of a values array. I also really wanted an escape mechanism for identifiers and a minification step so I could add documentation to long queries.
Turns out I still needed those properties outside of PostGraphQL in my work, so pg-sql was born 😊
It solves my needs almost perfectly, so I'm very happy with it. It was by accident that I may have introduced a little overlap 😉. If someone wants to make a PR to sql-template-strings making this module obsolete, I'd be all for it!

Ah yes, I better understand the rationale of this project.
Thx for your detailled answer ! 😊
I will try to have a look for the additional features this project has compared to sql-templated-strings and if I can make some PR.


springboot+nacos-client1.3.2  Start error report  ,BeanUtils   error

启动报错

APPLICATION FAILED TO START

Description:
An attempt was made to call a method that does not exist. The attempt was made from the following location:
com.alibaba.nacos.spring.core.env.NacosPropertySourcePostProcessor.postProcessBeanFactory(NacosPropertySourcePostProcessor.java:102)

The following method did not exist:
com.alibaba.spring.util.BeanUtils.getBeanNames(Lorg/springframework/beans/factory/config/ConfigurableListableBeanFactory;Ljava/lang/Class;)[Ljava/lang/String;

The method's class, com.alibaba.spring.util.BeanUtils, is available from the following locations:
jar:file:/E:/repository/com/alibaba/spring/spring-context-support/1.0.8/spring-context-support-1.0.8.jar!/com/alibaba/spring/util/BeanUtils.class

It was loaded from the following location:
file:/E:/repository/com/alibaba/spring/spring-context-support/1.0.8/spring-context-support-1.0.8.jar

Action:
Correct the classpath of your application so that it contains a single, compatible version of com.alibaba.spring.util.BeanUtils
Process finished with exit code 1
Tell us your environment
springboot  2.2.9.RELEASE
nacos-config-spring-boot-starter  0.2.7
nacos-client  1.3.2

111

这个解决了吗，我也遇到了，大坑呀


New package: Ferrite v0.3.0

Registering package: Ferrite
Repository: https://github.com/Ferrite-FEM/Ferrite.jl
Created by: @KristofferC
Version: v0.3.0
Commit: 6124aa056b1b2ffeccb5007aba1309be170d0cf3
Reviewed by: @KristofferC
Reference: https://github.com/Ferrite-FEM/Ferrite.jl/commit/6124aa056b1b2ffeccb5007aba1309be170d0cf3#commitcomment-48554012

Hi @KristofferC, thanks for your package and welcome to the Julia community!  Please see the message above.  Once you add the missing compat bounds you can trigger registration again without changing the version number and this pull request will be automatically updated. :slightly_smiling_face:
[noblock]

Why didn't my comment above block automerge?

I suspect review comments are ignored, I saw that other times


Code coverage on @NonNull

Using a config flag in order to maintain any sort of backward compatibility that might be required, is it possible to change the code that gets generated for the @NonNull annotation from:
...
if (person == null) {
    throw new NullPointerException("person is marked @NonNull but is null");
}
...

to:
$$$nonNull$$$(person, "person");

where $$$nonNull$$$ is a static method that looks something in the order of:
@lombok.Generated
private static void $$$nonNull$$$(Object object, String parameterName) {
    if (object == null) {
        throw new NullPointerException(parameterName +
            " is marked as @NonNull but is null");
    }
}

This would:

reduce the amount of generated code (even if it's generated, we can still apply the DRY principle!)
not mark the null check lines as uncovered in coverage tools that respect the @lombok.Generated annotation

No; lombok is a compile-time only dependency, so there's no place we can stick this $$$nonNull$$$ method that's still in existence at runtime. We'd have to generate it.
Applying DRY to code generation is a silly argument. As with all programming maxims and rules of thumb, you can apply it badly. Try to think of what the maxim is actually trying to prevent and then use that insight. For example, DRY is primarily about saving yourself from having to fix the same bug, or apply the same change request, in multiple places (or worse, forgetting about a few places and creating an inconsistent experience, and/or bugs). None of this applies to code generation.
The coverage tools thing is quite a relevant remark but I don't have a real solution to it; we can generate a private method to do it in each class that has @NonNull annotations in it, but those aren't entirely invisible (they show up in autocomplete dialogs and the like), and that makes the cure worse than the disease.
opinion/rant follows:
A code coverage tool which marks if (x == null) throw new NullPointerException(); as a problem because the line isn't covered, is indicative of why code coverage is a silly thing to chase. Don't use code coverage tools in this way! It makes you remove defensive code, and/or screw up your APIs to make it possible to create inconsistent state just so you can at least test that your code does something deterministic and testable when you create inconsistent situations.  It's lose/lose.
Another issue is the value of coverage: Unless you get a straight up 100%, the percentage value is useless. Each line of code has a 'relevancy score', indicating how important that line of code is. Some lines score thousands of 'relevancy' points, whereas others score a straight up 0, whilst most score a 1. Thus, 95% code coverage measured where each non-blank, non-comment line counts as '1 relevancy point', says absolutely nothing of import whatsoever about the quality of your tests. If the lines with a few thousands 'relevancy points' are part of the 5% uncovered, your tests are apparently just testing the simple stuff and the boilerplate, and not the real meat and potatoes, and are thus a waste of everybody's time. But that 90% code coverage number is giving everyone a false sense of achievement.
Said even more simply: Dump your code coverage tools because they are bad, they make you write bad code, and they mislead you about the quality of your code.
There is one good reason to use a code coverage tool: "Line for line": Looking at some line of code, run a bunch of tests and/or a real run whilst you manually press some buttons, and then ask a code coverage tool which test or tests covered the exact line you're looking at. That's a fine tool and a nice aid for figuring out complicated issues. Note that lombok's nullcheck being impossible to trigger is no problem whatsoever when code coverage tools are deployed in this fashion.
But that's it; the moment anybody starts mentioning the word 'percent' or 'full code coverage', my disdain for said code shop grows.
end rant.

I like this rant a lot.
It's accurate.  Unit tests that
only cover the happy path, ditto. You want to cover the corner cases and
those won't be covered if you only test the easy stuff.
I disagree that having full coverage is necessarily a bad sign though.
Given that you want some kind yard stick  for "good enough" that is not
entirely subjective, it may be better than nothing or some meaningless
percentage of partial coverage.
I don't think unit tests should ever be the whole story or some kind of
holy grail though. Higher level tests tend to be more reliable indicators
of "stuff being broken" than unit tests. Those still have coverage, of
course, but code that can not be reached from there probably should not be
covered..
Op wo 25 jul. 2018 23:50 schreef Reinier Zwitserloot <
<EMAIL_ADDRESS>
No; lombok is a compile-time only dependency, so there's no place we can
stick this $$$nonNull$$$ method that's still in existence at runtime. We'd
have to generate it.
Applying DRY to code generation is a silly argument. As with all
programming maxims and rules of thumb, you can apply it badly. Try to think
of what the maxim is actually trying to prevent and then use that insight.
For example, DRY is primarily about saving yourself from having to fix the
same bug, or apply the same change request, in multiple places (or worse,
forgetting about a few places and creating an inconsistent experience,
and/or bugs). None of this applies to code generation.
The coverage tools thing is quite a relevant remark but I don't have a
real solution to it; we can generate a private method to do it in each
class that has @NonNull annotations in it, but those aren't entirely
invisible (they show up in autocomplete dialogs and the like), and that
makes the cure worse than the disease.
opinion/rant follows:
A code coverage tool which marks if (x == null) throw new
NullPointerException(); as a problem because the line isn't covered, is
indicative of why code coverage is a silly thing to chase. Don't use code
coverage tools in this way! It makes you remove defensive code, and/or
screw up your APIs to make it possible to create inconsistent state just so
you can at least test that your code does something deterministic and
testable when you create inconsistent situations.
It's lose/lose.
Another issue is the value of coverage: Unless you get a straight up 100%,
the percentage value is useless. Each line of code has a 'relevancy score',
indicating how important that line of code is. Some lines score thousands
of 'relevancy' points, whereas others score a straight up 0, whilst most
score a 1. Thus, 95% code coverage measured where each non-blank,
non-comment line counts as '1 relevancy point', says absolutely nothing of
import whatsoever about the quality of your tests. If the lines with a few
thousands 'relevancy points' are part of the 5% uncovered, your tests are
apparently just testing the simple stuff and the boilerplate, and not the
real meat and potatoes, and are thus a waste of everybody's time. But that
90% code coverage number is giving everyone a false sense of achievement.
Said even more simply: Dump your code coverage tools because they are bad,
they make you write bad code, and they mislead you about the quality of
your code.
There is one good reason to use a code coverage tool: "Line for line":
Looking at some line of code, run a bunch of tests and/or a real run whilst
you manually press some buttons, and then ask a code coverage tool which
test or tests covered the exact line you're looking at. That's a fine tool
and a nice aid for figuring out complicated issues. Note that lombok's
nullcheck being impossible to trigger is no problem whatsoever when code
coverage tools are deployed in this fashion.
But that's it; the moment anybody starts mentioning the word 'percent' or
'full code coverage', my disdain for said code shop grows.
end rant.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/rzwitserloot/lombok/issues/1786#issuecomment-407908054,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAKCRTXsPked3SsXZIu7UAIkSVaOfmJdks5uKOgogaJpZM4VU9lD
.

No; lombok is a compile-time only dependency, so there's no place we can stick this $$$nonNull$$$ method that's still in existence at runtime. We'd have to generate it.

Exactly my point. Generate it on every class that has an @NonNull annotation.

None of this applies to code generation

I largely agree with this, however one place where this does help is in class file size, and therefore jar size. This is pretty minor though.

but those aren't entirely invisible (they show up in autocomplete dialogs and the like)

Fair enough point. I hadn't considered that. Having said that, IDEs like IntelliJ (with the JetBrains @NotNull annotation) generate code that is very similar to the one I proposed when you build through the IDE (which is one thing I don't like about it, since you don't get the same build from your machine or from running gradle/maven on your CI box).
I imagine that the Lombok plugin would be able to take care of not showing the method (but I've never written an IDE plugin, so it might not be possible). Also, I think that this only applies to this class, as the method should be private.

As for your opinion/rant - I pretty much agree with everything! Code coverage is a rather meaningless number which can be easily manipulated.

Said even more simply: Dump your code coverage tools because they are bad, they make you write bad code, and they mislead you about the quality of your code.

This one, not so much: Running a code coverage tool, and analysing its results can lead you to find meaningful things that you're not testing (perhaps for a good reason, or perhaps by simple forgetfulness) such as branches or error conditions that might be part of the meat and potatoes, or at least the gravy :wink:.
I think Lombok is a great tool, and I think if we can make it play nicer with some other concerns, that are important to some people, it can become an ever better tool.
Thanks for taking the time to thoughtfully respond to this issue.


GH-33243: [Plasma] Remove

Rationale for this change
We can't maintain Plasma.
What changes are included in this PR?
These changes remove all Plasma related codes.
Are these changes tested?
Yes.
Are there any user-facing changes?
Yes.

Closes: #33243

@github-actions crossbow submit -g nightly-tests -g nightly-packaging -g nightly-release

I'll merge this next week if nobody objects it.

@github-actions crossbow submit -g nightly-tests -g nightly-packaging -g nightly-release

No objection. I merge this.


Revert "Pull beta-only changes out of identity for the August GA release (#5863)

Adding back beta features, that were previously removed for the GA release: https://github.com/Azure/azure-sdk-for-cpp/pull/5863

/azp run cpp - identity


[Platform] Linux Yocto, kernel 5.15

Reproduction steps
I am able to run chip tool somehow on my device. I have checked all the necessary configrautions and tried to solve it to the best of my ability.
I am facing issue with adding matter device through chip-tool cli. I tried to use the

./chip-tool pairing ble-wifi 0x1234 ssid abcd 10101011 1000 but some reason I would see pairing timeout.
./chip-tool pairing onnetwork 0x11 10101011. I have attached screenshots for this.

Also notice why time shows 2023. My RTC is prefectly synced with the correct UTC time.
And why do I get a mdns timeout error I checked and my mdns service runs perfectly well.
I am using Linux yocto based device. Please guide me. I have been at this stage since 1 month....
Thanks
Platform
other
Platform Version(s)
No response
Type
Platform validated
(Optional) If manually tested please explain why this is only manually tested
No response
Anything else?
No response

@hassan-xy Well, is the device being paired on-network or not?  It sure doesn't look like it from the onnetwork log, and the fact that you were trying ble-wifi also suggests that it's not...  Is it?

Well it's not pairing currently. I am not sure if bluez stack is to blame. But if it was the onnetwork should work.
I have added an mDNS service and noted it's working successfully. The Bluetooth service also works fine. Now I am unable to debug this issue. Do you have any logging feature to debug this process?
Any other suggestions you might have.

I suggest looking at logs from both sides.  But the first step is really figuring out which scenario you are in: are you on-network or not?

I tried for both and both actually failed.

Do you have any links to refer to for validating the ipv6 or ble protocol?

No, I mean which one is the device?
If the device is already on the IP network but on-network pairing is failing, then I would suggest looking at the log to see which part is failing (DNS-SD discovery or something later).  And perhaps comparing to what avahi is reporting for the DNS-SD bits.
If the device is not on the IP network, I have no idea what you should do to debug bluez, sorry.

@hassan-xy could you please provide a reproduction script for this one?
Something line an existing sample application + a shell script that uses chip-tool to reproduce the issue. Without that, it seems to me that this is some environment-specific issue that you encounter and then I cannot validate if this is a real SDK issue or not.

Hi @andy31415 Thanks for looking into the issue. Unfortunately I am working on few other priority issues and will come back to this later.
But since you mention that this could be an issue of the environment and not the SDK let me just ensure we are on the same page.
I am unable to pull the SDK and build on my target device(linux yocto kirkstone 4.0) due to python software issue(I raised tickets as well for the same but got no update), So I got the chip-tool and binaries from the RPI board for arm64 arch. and used it in my board.
The only other issue I faced was with the libstdc++ linking. So I pulled the needed file from RPI and used a script to change the linking
#!/bin/bash
cd /usr/lib/
mkdir backup_libs
cp libstdc++.so* backup_libs/.
cp ~/libstdc++.so.6* .
ln -sf libstdc++.so libstdc++.so.6.0.30
cd
./chip-tool
And then it starts running.
Let me know your thoughts.
Thanks

We cannot support all linux environments currently  - I am not familiar with yocto linux. I don't think we would expect things build for RPi to run out of the box on other systems. I would suggest to try to setup a sysroot that is yocto-specific to compile. https://github.com/project-chip/connectedhomeip/blob/master/integrations/docker/images/stage-1/chip-build-crosscompile/start-sysroot-vm.sh has the example of building the sysroot for RPi.
if you already have a yocto device, maybe you could construct a sysroot out of it (copying the libs and includes from it into a separate folder) and then cross compile.


retry not working in argo workflow v3.5.0-rc2

Pre-requisites

[X] I have double-checked my configuration
[X] I can confirm the issues exists when I tested with :latest
[ ] I'd like to contribute the fix myself (see contributing guide)

What happened/what you expected to happen?
hit retry on a failed workflow. got this error
{"code":6,"message":"Workflow already exists on cluster, use argo retry {name} instead"}: Workflow already exists on cluster, use argo retry {name} instead
Version
v3.5.0-rc2
Paste a small workflow that reproduces the issue. We must be able to run the workflow; don't enter a workflows that uses private images.
N/A

Logs from the workflow controller
kubectl logs -n argo deploy/workflow-controller | grep ${workflow}

❯ kubectl logs -n argo deploy/workflow-controller | grep searchapi-integration-tests
Found 3 pods, using pod/workflow-controller-5f46cd5bd9-bb244
...
time="2023-09-29T16:11:08.475Z" level=info msg="Queueing Failed workflow backend/searchapi-integration-tests-27-g44kp for delete in 51h42m52s due to TTL"
time="2023-09-29T16:11:08.714Z" level=info msg="Queueing Failed workflow backend/searchapi-integration-tests-27-vnxbx for delete in 52h59m5s due to TTL"

### Logs from in your workflow's wait container

```text
kubectl logs -n argo -c wait -l workflows.argoproj.io/workflow=${workflow},workflow.argoproj.io/phase!=Succeeded

N/A

Potentially bug introduced in https://github.com/argoproj/argo-workflows/pull/11409

cc @or-shachar

Never mind. It's unrelated to that PR. @rwong2888 Do you have reproducible steps? Looks like you are retrying an archived workflow but it still exists in the cluster?

It looks like it is an archived workflow. Are those not retriable anymore @terrytangyuan ?
Not sure how to reproduce... maybe have a workflow with exit 1 step and retry before and after archive time limit?

Are you using argo archive retry?

Ok my guess is that you hit the retry button in the UI. The problem is that UI is calling argo archive retry instead of argo retry.

Yes, I'm hitting the retry button on the UI

Maybe with the new unified view, it is not able to distinguish?

There may be a similar issue with resubmit as well

Yes exactly. We need to improve UI code. cc @toyamagu-2021
@rwong2888 Can you try resubmit?

Retry works for me with my admin privileges, but I did see one of our devs have a resubmit issue (with lesser perms)
{"code":7,"message":"workflows.argoproj.io is forbidden: User \"system:serviceaccount:backend:backend\" cannot create resource \"workflows\" in API group \"argoproj.io\" in the namespace \"backend\""}: workflows.argoproj.io is forbidden: User "system:serviceaccount:backend:backend" cannot create resource "workflows" in API group "argoproj.io" in the namespace "backend"

That seems unrelated.

Should I open another ticket?

Sure

I'll submit a fix.

https://github.com/argoproj/argo-workflows/pull/11906


Add Series.product

Implemented Series.product (Series.prod as an alias).
*Note that since It is implemented by using exp(sum(log(...))) trick, it only works for positive numbers.
*Note that the result can be slightly different from pandas' since the rounding error.
>>> ks.Series([]).prod()
1.0
>>> ks.Series([1, 2, 3, 4, 5]).prod()
120
>>> ks.Series([1, np.nan, 3, np.nan, 5]).prod()
15.0

Thanks, @HyukjinKwon .

@itholic can you address the comments above?


[ALLUXIO-2334] Mark class DefaultAsyncPersistHandler with keyword "final"

https://alluxio.atlassian.net/browse/ALLUXIO-2334
Mark class DefaultAsyncPersistHandler with keyword "final"

Can one of the admins verify this patch?

ok to test

Jenkins, add to whitelist

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/11846/
Test FAILed.

Jenkins, test this please

The test failure looks unrelated to this PR


ScrollBar fails with "IndexError: list index out of range" when choices contains a single element.

I ran into this issue when I was dynamically generating my list of choices. I found that when there was only one choice in the choices list I got the error below.  I found that the issue only occured with ScrollBar and so as a workaround I just use Bullet when there is only one choice.
Relevant Snippet
user_response = ScrollBar(
            "make a choice",
            ['single choice'],
            height=5,
            align=5,
            margin=3,
            pointer="⦿",
            background_on_switch=colors.background["black"]
        ).launch()

Cleansed Traceback:
...
  File "my_module.py", line 164, in select_anchor_point_prompt
    background_on_switch=colors.background["black"]
  File "...python3.7/site-packages/bullet/client.py", line 684, in launch
    self.renderRows()
  File "=.../python3.7/site-packages/bullet/client.py", line 609, in renderRows
    self.printRow(i + 1, indicator= self.down_indicator if self.top + self.height != len(self.choices) else '')
  File ".../python3.7/site-packages/bullet/client.py", line 621, in printRow
    utils.cprint(self.choices[idx], word_color, back_color, end = '')
IndexError: list index out of range

That should have been fixed already: https://github.com/Mckinsey666/bullet/commit/d4b7d1328d3bf7ded498b64889936e073cbaf5a4
It's possible it wasn't pushed out to pip though. Maybe try checking out the repo?

That should have been fixed already: d4b7d13
It's possible it wasn't pushed out to pip though. Maybe try checking out the repo?

Yeap, the latest version on pypi does not include the fix. Thanks.

Unfortunately, the maintainer seems to have gone AWOL, so I don't know when it will be updated on pypi...

Sorry for keeping you all hanging :( I've been quite busy the past year. The newest version of bullet is now on pypi.


6.0.2

Checklist

[ ] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

Supersedes https://github.com/conda-forge/mongodb-feedstock/pull/65


SAS Token from a Shared Access Policy

Which version of the SDK/iOS was used?
latest (0.2.6)
What problem was encountered?
how to generate a SAS-token from a blob-container's Access-Policy, from the iOS Client SDK?
Also is this SDK being worked on? -if so when will there be another release?
Have you found a mitigation/solution?
no.

Hi @ReveelTeam, please refer to this unit test to see how to generate SAS using access policies.
Unfortunately this SDK is not being worked on at the moment. We are planning on providing a better solution but I do not have a timeline to share yet. Sorry about the inconvenience.


1.x JSON encoding fix: do not unwrap single element arrays

NetflixOSS » eureka » eureka-pull-requests #434 SUCCESS
This pull request looks good


Support for Running in Workers without document Object

At the moment, FFmpeg.wasm cannot be run on a Service Worker since Service Worker does not have access to document.
One reason this does not work is due to the usage of resolve-url which fails if the document object is not available.
One would also have to change the way the script is injected by using importScripts over document.createElement('script') if document is not available.

seconded - broken in webworkers, which is obviously a huge use case.


Crash with "ERROR: DownMedia[Script Filter] Code 1: ... `spawn': Permission denied"

Setup info

Workflow name: DownMedia
Workflow version: 2020.1
Alfred version: 4.0.8
macOS version: 10.15.2
download_dir set to ~/Downloads

Description of issue
I have moved to the new MacBook and migrated all my Alfred settings.
So this workflow worked on the previous machine and not on the new one.
Steps to reproduce:

copy link https://www.youtube.com/watch?v=7HgbcTqxoN4
open Alfred and type dv
DownMedia workflow "crashes" with the following debug output

Debugger output
[20:23:34.550] DownMedia[Script Filter] Queuing argument ''
[20:23:34.806] DownMedia[Script Filter] Script with argv '' finished
[20:23:34.818] ERROR: DownMedia[Script Filter] Code 1: /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/open3.rb:213:in `spawn': Permission denied - /Users/sergei.prikhodko/Google (Errno::EACCES)
	from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/open3.rb:213:in `popen_run'
	from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/open3.rb:159:in `popen2'
	from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/open3.rb:342:in `capture2'
	from /Users/sergei.prikhodko/Google Drive/Alfred/Alfred.alfredpreferences/workflows/user.workflow.B30E4DEE-38A2-4DCC-A1A8-8B293B5C82B1/downmedia_functions.rb:216:in `get_title_url'
	from /Users/sergei.prikhodko/Google Drive/Alfred/Alfred.alfredpreferences/workflows/user.workflow.B30E4DEE-38A2-4DCC-A1A8-8B293B5C82B1/downmedia_functions.rb:20:in `show_options'
	from /Users/sergei.prikhodko/Library/Caches/com.runningwithcrayons.Alfred/Workflow Scripts/762003D4-17D6-40EA-B1EC-739AE4C55B44:3:in `<main>'

@aleksfadini If you’re using the version in this repo, you’re considerably outdated. As explained at the top of the repo, workflows here are moving to their own repos.
https://github.com/vitorgalvao/download-media-workflow/

Thank you for calrifying, I was just looking for an issue tracker. I downloaded the version from the Alfred gallery website. I also check with the "check for workflows update" option in the workflows tab of Alfred.
Again, many thanks for the killing workflows!!!