AdamOptimizer's slots "beta1_power" and "beta2_power" are not available via "get_slot()" and "get_slot_names()"

Preamble.
I want to explicitly pass list of variables to tf.variables_initializer(). I do something like this:
model_variables = my_model.get_variables_list()
optimizer_slots = [
    optimizer.get_slot(var, name)
    for name in optimizer.get_slot_names()
    for var in model_variables
]
all_variables = [
    *model_variables,
    *optimizer_slots,
    global_step,
]
init_op = tf.variables_initializer(all_variables)

When I used the AdamOptimizer, I got such exception:
FailedPreconditionError (see above for traceback): Attempting to use uninitialized value beta2_power

The problem.
After digging into the TensorFlow sources, I found that AdamOptimizer overrides its _create_slots() in that way:
  def _create_slots(self, var_list):
    # Create the beta1 and beta2 accumulators on the same device as the first
    # variable.
    if (self._beta1_power is None or
        self._beta1_power.graph is not var_list[0].graph):
      with ops.colocate_with(var_list[0]):
        self._beta1_power = variables.Variable(self._beta1,
                                               name="beta1_power",
                                               trainable=False)
        self._beta2_power = variables.Variable(self._beta2,
                                               name="beta2_power",
                                               trainable=False)
    # Create slots for the first and second moments.
    for v in var_list:
      self._zeros_slot(v, "m", self._name)
      self._zeros_slot(v, "v", self._name)

It creates two Variables and does not store them into self._slots, therefore I can not access them using public interface.
This problem refers to library's API design.
I see that beta1_power and beta2_power slots are not subject to any variable while self._slots implies that each slot have both name and related variable, so there is no obvious solution... It may be reasonable to extend public API to cover such cases.

AdamOptimizer is the one built-in optimizer with such problem. So the simplest fast-and-dirty workaround is to do so:
model_variables = my_model.get_variables_list()
optimizer_slots = [
    optimizer.get_slot(var, name)
    for name in optimizer.get_slot_names()
    for var in model_variables
]
if isinstance(optimizer, tf.train.AdamOptimizer):
    optimizer_slots.extend([
        optimizer._beta1_power, optimizer._beta2_power
    ])
all_variables = [
    *model_variables,
    *optimizer_slots,
    global_step,
]
init_op = tf.variables_initializer(all_variables)

@alextp I think you've looked at this code recently.  Do you have any suggestions?

The private method is sad because it can return wrong results if the optimizer is reused across many graphs (and, indeed, the optimizer itself is kinda wrong for that use-case).
I think we can make the slot API better by allowing variable-free slots (keyed by a graph, or, if None, the current default graph) and having Adam use those. Something called graph_slot, or free_slot?

I started working on the patch for this issue. If no one mind, I'll submit a pull request soon.

@faddey-w any update on this? Is this still an issue or has it been resolved?

Yes, the problem still exists.
Sorry for such delay, the coursework at my university took all my free time. :) Fortunately, I've finished it just a few days ago, so I can continue working on this issue.
There is not much work to do, so I believe, I'll send a pull request in next 2-3 days.

I understood here such a thing: variables beta1_power and beta2_power are specific to each call to apply_gradients, but not to the whole graph. So if we want to call apply_gradients twice, two separate pairs of beta accumulators should be created, even if both calls are made within the single graph. This does not fit into the concept of "graph slots". Definitely, we should separate these slots by graphs, but we cannot simply key these slots by graphs only.
In general, the concept of slots is not suitable for cases when we need a separate variable for each application of gradients, as here. Keeping in mind that the original problem was the impossibility to retrieve beta accumulators without touching undocumented/protected API, I think that optimizers should add such "per-application" variables to some internal lists. But this seems to be quite ugly solution. Do anyone have better suggestion?
Maybe it will be better simply to make _get_beta_accumulators public and documented? This is the only special case, therefore it is short-sighted and unjustified to invent a complex API for it.

I'm receiving the same error (FailedPreconditionError (see above for traceback): Attempting to use uninitialized value beta1_power) when I try something as simple as
optimizer = tf.train.AdamOptimizer()
followed by
sess.run(tf.global_variables_initializer())
while trying to train my sequence to sequence model. By contrast, optimizer = tf.train.GradientDescentOptimizer(learning_rate=initial_learning_rate) works fine. Am I doing something wrong, or is this currently a bug with TensorFlow?

Certainly there is some undocumented behavior with beta#_power variables, but it should not produce an error if you run global_variables_initializer. Could you post all your code?

I'm happy to post all my code, but let's see if this is sufficient currently. Here's my main function, where execution starts.
def main(_):
    x_minibatch, y_minibatch, y_lengths_minibatch = construct_data_pipeline()
    model = import_model()
    train(model=model, x_minibatch=x_minibatch, y_minibatch=y_minibatch, y_lengths_minibatch=y_lengths_minibatch)

import_model() imports my Model class, which has the following constructor:
class Model(object):
    def __init__(self, batch_size, initial_learning_rate):
        self.x, self.y_actual, self.y_actual_lengths = self._define_inputs(batch_size)
        self.encoder_outputs, self.encoder_final_states, self.decoder_outputs, self.y_predicted_logits = self._define_model()
        self.loss = self._define_loss()
        self.metrics = self._define_metrics()
        self.optimizer = self._define_optimizer(initial_learning_rate)

_define_optimizer(initial_learning_rate) is defined as follows:
    @staticmethod
    def _define_optimizer(initial_learning_rate):
        with tf.name_scope('define_optimizer'):
            optimizer = tf.train.GradientDescentOptimizer(learning_rate=initial_learning_rate)
            # optimizer = tf.train.AdamOptimizer(learning_rate=initial_learning_rate)
        return optimizer

Then, main calls function train(), which is defined as follows:
    with tf.Session() as sess:

        # create coordinator to handle threading
        coord = tf.train.Coordinator()

        # start threads to enqueue input minibatches for training
        threads = tf.train.start_queue_runners(sess=sess, coord=coord)

        # initialize all variables and ops
        sess.run(tf.global_variables_initializer())

        start_time = time.time()

        # train
        for step in range(tf.app.flags.FLAGS.training_steps):

            train_op(sess, model, x_minibatch, y_minibatch, y_lengths_minibatch)

            # every 100 steps, evaluate model metrics and write summaries to disk
            if (step + 1) % 10 == 0 or step == tf.app.flags.FLAGS.training_steps - 1:
                eval_op(sess, model, x_minibatch, y_minibatch, y_lengths_minibatch, step, start_time)
                start_time = time.time()

        # when done, ask the threads to stop
        coord.request_stop()

        # wait for threads to finish
        coord.join(threads)

My train_op is defined as follows:
def train_op(sess, model, x_minibatch, y_minibatch, y_lengths_minibatch):
    x_values, y_values, y_lengths_values = sess.run([x_minibatch, y_minibatch, y_lengths_minibatch])

    # minimize loss
    sess.run([model.optimizer.minimize(model.loss), model.y_predicted_logits],
                                     feed_dict={model.x: x_values,
                                                model.y_actual: y_values,
                                                model.y_actual_lengths: y_lengths_values})

As you can see, the model is constructed before I call sess.run(tf.global_variables_initializer())

The problem is that you call model.optimizer.minimize too late. This methods creates additional tensors within your graph, so calling it within a loop is bad idea - it is something similar to a memory leak. Also, in case of stateful optimizers (such as AdamOptimizer) minimize creates additional variables. That's why you get exception you described - your initializer runs before you create them. The solution for you will be to place call to model.optimizer.minimize within the model class itself, and store its result in model`s attribute.
So, your problem does not refer to this issue.

@faddey-w , thank you!

I'm working with the C++ API and I cannot find any default values nor recommendations for the parameters values of the tensorflow::ApplyAdam class.
What are the current default values for beta#_power that are passed from the python class to the lower level API?

They have to be variables, and by default are initalized such that beta1=0.9 and beta2=0.999

What are the defaults of beta#_power?

beta1_power is initialized to beta1, beta2_power is initialized to beta2. Then, after each training step beta#_powers are multiplied by beta1 and beta2, respectively.

I'm closing this issue since technically these values are not slots (as there is not one value per variable in the model).

I do not know why this issue is closed, but for TF1.8.0 this issue still alive.
Those 'beta1_power' and 'beta2_power' are not within the variable_scope unlike other variables.

tf.contrib.optimizer_v2.AdamOptimizer fixes this issue:
https://github.com/tensorflow/tensorflow/blob/master/tensorflow/contrib/optimizer_v2/adam.py
On Fri, May 25, 2018 at 1:32 AM sdr2002<EMAIL_ADDRESS>wrote:

I do not know why this issue is closed, but for TF1.8.0 this issue still
alive.
Those 'beta1_power' and 'beta2_power' are not within the variable_scope
unlike other variables.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/tensorflow/tensorflow/issues/8057#issuecomment-391981229,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAATxdWcxdjbZrLxAizLPyxEgumfdiJ5ks5t18GPgaJpZM4MScRa
.

--

Alex

There is another method which was added recently: https://www.tensorflow.org/versions/r1.13/api_docs/python/tf/train/Optimizer#variables
It just returns all variables that optimizer have, including non-slot ones. If I remember correctly it is present in 1.13.1. If you want just to get all variables and do something with the whole set (initialize, for example), and don't need to get some specific variable, it should help you then.


Config file not found on Android

Expected behavior
Indicate a specific when the config file is not found.
Observed behavior

A Bugsnag API key is required to release a build. Set com.bugsnag.android.API_KEY in your AndroidManifest.xml to detect API key automatically.

Steps to reproduce
It is a React Native project organized like this :
/android
/ios
/fastlane
   /Fastfile

With no config_file
platform :android do
    lane :beta do
        send_build_to_bugsnag
    end
end

A Bugsnag API key is required to release a build. Set the config_file option with the path to your AndroidManifest.xml and set com.bugsnag.android.API_KEY in it to detect API key automatically.

With good config_file containing the API KEY
platform :android do
    lane :beta2 do
        send_build_to_bugsnag(
            config_file: "./android/app/src/main/AndroidManifest.xml",
        )
    end
end

A Bugsnag API key is required to release a build. Set com.bugsnag.android.API_KEY in your AndroidManifest.xml to detect API key automatically.

With unknown config_file
platform :android do
    lane :beta2 do
        send_build_to_bugsnag(
            config_file: "./android/app/src/main/UnknownFile.xml",
        )
    end
end

A Bugsnag API key is required to release a build. Set com.bugsnag.android.API_KEY in your AndroidManifest.xml to detect API key automatically.

There is no way to figure out what's wrong.
Version
+------------------------+---------+------------------------+
|                       Used plugins                        |
+------------------------+---------+------------------------+
| Plugin                 | Version | Action                 |
+------------------------+---------+------------------------+
| fastlane-plugin-bugsn  | 1.2.1   | send_build_to_bugsnag  |
| ag                     |         | upload_symbols_to_bug  |
|                        |         | snag                   |
+------------------------+---------+------------------------+

Additional information
Can't comment on Issues?
Some users have been unable to comment on Github issues when an adblocker extension is enabled.
We recommend temporarily disabling the extension, or if that fails, contacting<EMAIL_ADDRESS>

Thanks for the report, @c100k. What is the output of fastlane action send_build_to_bugsnag? Are you running the command from the root of your project?

Hi @kattrali,
Here is the output of fastlane action send_build_to_bugsnag.
+------------------------+---------+------------------------+
|                       Used plugins                        |
+------------------------+---------+------------------------+
| Plugin                 | Version | Action                 |
+------------------------+---------+------------------------+
| fastlane-plugin-incre  | 0.4.3   | increment_version_cod  |
| ment_version_code      |         | e                      |
| fastlane-plugin-bugsn  | 1.2.1   | send_build_to_bugsnag  |
| ag                     |         | upload_symbols_to_bug  |
|                        |         | snag                   |
+------------------------+---------+------------------------+

Loading documentation for send_build_to_bugsnag:

+---------------------------------------------------------------------------+
|                           send_build_to_bugsnag                           |
+---------------------------------------------------------------------------+
| Notifies Bugsnag of a build                                               |
|                                                                           |
| Notifies Bugsnag of a new build being released including app version and  |
| source control details                                                    |
|                                                                           |
| Created by cawllec                                                        |
+---------------------------------------------------------------------------+

+------------------+------------------+---------+------------------+
|                  send_build_to_bugsnag Options                   |
+------------------+------------------+---------+------------------+
| Key              | Description      | Env Var | Default          |
+------------------+------------------+---------+------------------+
| config_file      | AndroidManifest  |         |                  |
|                  | .xml/Info.plist  |         |                  |
|                  | location         |         |                  |
| api_key          | Bugsnag API Key  |         |                  |
| app_version      | App version      |         |                  |
|                  | being built      |         |                  |
| android_version  | Android app      |         |                  |
| _code            | version code     |         |                  |
| ios_bundle_vers  | iOS/macOS/tvOS   |         |                  |
| ion              | bundle version   |         |                  |
| release_stage    | Release stage    |         | production       |
|                  | being built,     |         |                  |
|                  | i.e. staging,    |         |                  |
|                  | production       |         |                  |
| builder          | The name of the  |         | chafikhnini      |
|                  | entity           |         |                  |
|                  | triggering the   |         |                  |
|                  | build            |         |                  |
| repository       | The source       |         |<EMAIL_ADDRESS> |
|                  | control          |         | intra-vp/BugsBu  |
|                  | repository URL   |         | nny.git          |
|                  | for this         |         |                  |
|                  | application      |         |                  |
| revision         | The source       |         | d62250a1b3a1ec0  |
|                  | control          |         | 255d3dfa744d07c  |
|                  | revision id      |         | 0ec86c9555       |
| provider         | The source       |         |                  |
|                  | control          |         |                  |
|                  | provider, one    |         |                  |
|                  | of               |         |                  |
|                  | 'github-enterpr  |         |                  |
|                  | ise',            |         |                  |
|                  | 'gitlab-onpremi  |         |                  |
|                  | se', or          |         |                  |
|                  | 'bitbucket-serv  |         |                  |
|                  | er', if any      |         |                  |
| endpoint         | Bugsnag          |         | https://build.b  |
|                  | deployment       |         | ugsnag.com       |
|                  | endpoint         |         |                  |
+------------------+------------------+---------+------------------+

More information can be found on https://docs.fastlane.tools/actions/send_build_to_bugsnag

And yes, I'm running the commands in the root of the project.
Thanks,

Thanks @c100k. Is this the output when overriding config_file?

@kattrali What do you mean ? This command is only supposed to give me the documentation, right ?

It took a bit of debugging but there were a few issues in the way of using the plugin from a React Native project. These should be resolved now in v1.3.0.

I confirm, it works.
Thanks for fixing this so quickly !


Changes to completeopt

I think we should both

Set completeopt-=preview by default.
Have the preview buffer open at the bottom of the window instead of the top so that it doesn't cause the currently selected line to jump around.

I think the only reason we don't already do this is so people become aware that there is extra information available.  I imagine most people turn it off though.

Vim opens the preview window during completions, not us, so the only way to achieve this is with :set splitbelow.  However that affects how any window will get split, not just the preview window.  A compromise would be just to do it for python buffers.

Personally I think split below is much nicer than the default of split above.

I think the only reason we don't already do this is so people become aware that there is extra information available. I imagine most people turn it off though.

Is is possible to by default automatically close the preview window when a completion has been selected via autocmd CompleteDone * if !pumvisible() | pclose | endif?

Vim opens the preview window during completions, not us, so the only way to achieve this is with :set splitbelow. However that affects how any window will get split, not just the preview window. A compromise would be just to do it for python buffers.

If we decide to keep the preview window on by default, I think we should make it split below for Python buffers.

Seems like we should have it default off if we think it's not valuable enough that most people, given the option, wouldn't keep it on. In particular because it's such a large UI. And we can rely on other ways to educate users about it, e.g. the onboarding file, and we will be doing more on the marketing team soon around user education also.
FWIW we recently got negative user feedback about this panel. (I'm not sure whether that user knew how to turn it off.)

Results after discussing with Andy:

completeopt is global in vim. We'll always get some side-effects if we try to treat it local
Andy will investigate if other plugins, like Jedi, handle this somehow else which is preferable
If there's not better way, then we'll add a flag to control the completeopts for python buffers, e.g. kite_completeopt.
kite_completeopt is set to a meaninful default by the Kite plugin, unless the user already modified it, e.g. in vimrc
when a user enters a python buffer, then completeopt=kite_completeopt
when a users leaves a python buffer, then the original value of completeopt is restored

This is similar to what we had before, but it has these advantages:

we're not overriding something which is used elsewhere (i.e. completeopt).
we're hiding the preview panel in python buffers by default
we still allow the user to control kite_completeopt if he/she wants to

If the user changes completeopt in a Python buffer, e.g. adding or removing preview, should that change apply to the global completeopt when they enter a non-Python buffer?

Yes, I think the user would expect this change to apply to the global completeopt as well.

Similarly, if the user changes completeopt in a non-Python buffer, e.g. adding or removing preview, should that change apply to the Python completeopt when they enter a Python buffer?

Yes, I think the user would expect this change to be global and therefore should apply to Python buffers.
In general, if the user has made a manual change to completeopt, we have to assume the user knows what they were doing and therefore they would expect to see the change applied globally.

Jedi sets completeopt (to menuone,longest,preview) if and only if the user hasn't already set completeopt themself.  This is done at Vim startup.  The user can also opt out of Jedi's auto configuration (which includes mappings as well as completeopt).

This is how our thinking has progressed:

Originally we documented our recommended completeopt in the readme (link).
Then we configured completeopt if and only if the user hadn't (dfadf5f).
Then we tried to eliminate side-effects for non-Python files (a05b65f).
Then we always configured completeopt (69def8c).

Given that other popular completion plugins don't worry about the side-effects of setting completeopt, how about this:

If the user has set completeopt:

assume they know what they are doing and don't change it;
if completeopt doesn't contain menuone,noinsert or does contain longest, show a warning every time completion is attempted and don't attempt the completion.

If the user hasn't set completeopt, set it ourselves, once, at Vim startup.

The benefits are:

users who don't know about completeopt get the best completion experience;
users who do know about completeopt can set it at will, e.g. showing/hiding the preview, and their changes are not overwritten when they enter a new buffer;
we protect against "bad" completeopt configurations which would break our completions.

Would the warning (as outlined above) take focus or require the user's attention to remove it?

No to both.  However if the user has showmode on and a cmdheight (the height of the command line) of 1, which are the defaults, the warning won't be visible because it will be hidden by Vim showing the mode: -- INSERT --.

@its-dhung cc @metalogical  Does the plan outlined above sound okay to you?

yes, this seems like the best way forward

Done via #230.

Sorry to comment on an old thread, but I just installed kite and I'm getting a message saying template must not contain 'longest' and my googling led me here...sounds like my completeopt has longest in. Whats the fix for this, and how can I make it a permanent fix?
Thanks guys.


Can you add support for native dart

Currently this package support only flutter, I am using dart native/ console and in need of the same behavior that the package offers.
Can you transform the package to work without flutter?

In the same vein, can you make this package compatible with dart 3?


Change DO NOT EDIT format in generated code to help vscode know it

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 99.747%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1181

Relevant Lines:
1184

💛  - Coveralls


Update Ubuntu Github Runner

From https://github.com/InsightSoftwareConsortium/ITKCLEsperanto/actions/runs/3054684986:

The ubuntu-18.04 environment is deprecated, consider switching to ubuntu-20.04(ubuntu-latest), or ubuntu-22.04 instead. For more details see https://github.com/actions/virtual-environments/issues/6002

Closed by #43


Split archive

How can we compress one file and split it to multiple parts?

If this can't be done, can you point out which parts need to be modified in order to implement this feature?

I need this solution too.

The code to compress RAR isn't open source.  I haven't implemented Zip splitting.  You're welcome to contribute back that.

Any progress on this?

No.  Apparently, DotNetZip does it so it could be ported from there.


API Keys are being deprecated

hi,
is it possible to use an access token?
thanks

Access token are intended for your own personal use. If you want to request your own data.
Do not share access token with 3rd party integrations! Third party integrations can use OAuth which is way safer to share credentials and assure you the application has been validated by Intercom.
More informations  in official docs


Implement layout changes

The layout changes introduced in #606 are not yet implemented, such that the dynamically generated offer produces the
desired new layout.
This request is about implementing the new layout in the dynamic generation of the offer.

 Implement layout changes #613

@Steffengreiner @jenniferboedker can this be closed?

Yes the PR is merged :)


Fancy Zones settings revert to default on screen lock / unlock

Microsoft PowerToys version
0.47.0
Running as admin

[X] Yes

Area(s) with issue?
FancyZones
Steps to reproduce
Two screens.
Set up a layout for each screen.
Lock screen
Unlock screen
Goes back to default layout on both screens.
The new layouts are still available. The user needs to re-apply them.
✔ Expected Behavior
Keep the custom layouts under all circumstances. Lock/Unlock, restart, sleep/wake etc.
❌ Actual Behavior
Goes back to default layout on both screens following lock/unlock (may be other cases).
The new layouts are still available. The user needs to re-apply them.
Other Software
No response

#13625

Duplicate of #13625


Pdf converter showing Error

I get the following whenever i try to use the pdf converter.
"Unexpected error: <class 'AttributeError'>
Unable to process file 1q19-pr-12648.pdf"
tried it using the examples, same thing.

@fmikaelian I am facing the same issue.
I have attached the pdf file and the code i am running in my command prompt is :
and after it even converts into a data frame it is not getting converted in an proper format, can you help me in  this:
JD1.pdf

>>>from cdqa.utils.converters import pdf_converter
>>> import tika
>>> df = pdf_converter(directory_path='/home/xxxx/Downloads/data/')


Use Patternfly styling for toast, toast list, and notifications drawer

Looks good - pulled code, ran it and styling looks fine.

LGTM


Feefeed docker

:clipboard: Add associated issues, tickets, docs URL here.
Overview
Describe what your Pull Request is about in a few sentences.
Changes
Describe your changes and implementation choices. More details make PRs easier to review.

Change 1
Change 2
...

Testing
Describe how to test your new feature/bug fix and if possible, a step by step guide on how to demo this.

closing in favor of #1700


fix: mget http method typo

Description
Was working with mget, from the docs made a GET request, but it was resolved with an error saying the response body can't be sent with GET requests, changed it to a POST request it started working, this is a quick PR which might help someone with some hassle.
Checklist

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

HI @BagchiMB! I just tried both GET and POST and they worked:
GET /_mget
{
  "docs": [
    {
      "_index": "shakespeare",
      "_id": "1"
    },
    {
      "_index": "shakespeare",
      "_id": "2"
    }
  ]
}

POST /_mget
{
  "docs": [
    {
      "_index": "shakespeare",
      "_id": "1"
    },
    {
      "_index": "shakespeare",
      "_id": "2"
    }
  ]
}

Would you share the exact setup and request that you used? We can add the POST to HTTP methods for sure.

Yes, I think that seems to be a client problem. Given this, if you'd like to close this PR, I can add the POST method and remove the extra line in another PR.

That seems cool to me, I am trying to start my open-source journey right now, and I would like to merge this PR, by making necessary changes, but if you think that would be a greater hassle, and you can do this in a better fashion in a separate PR, I totally understand.
I couldn't understand what were you saying with the extra line, a little bit light on that would be pretty generous of you.

@BagchiMB Sure, we'd love your help! Here's what you can do in this PR:

Add POST to Path and HTTP methods so they are

GET _mget
GET <index>/_mget
POST _mget
POST <index>/_mget
``
2. Remove an extra new line between the GET and the request body in the second example. Having that extra space between the header and the body will prevent the curl from working. So the example should be

Example of specifying index in URL
GET sample-index1/_mget
{
"docs": [
{
"_id": "1",
"_source": false
},
{
"_id": "2",
"_source": [ "Director", "Title" ]
}
]
}
Thanks!

Thanks for letting me work on this.
I made the changes, I was also thinking of making one of the methods in the example POST, just for variety and better understanding.

Thanks so much, @BagchiMB! We normally list the GET method in examples and we list both in Path and HTTP methods. That said, we have an API template that this file (like many other files in the API section :) does not conform to. If you'd like to reorder the sections to follow the template, that would be another great improvement for consistency. If not, this PR is ready to merge.

Hi, @kolchfa-aws I made the necessary changes to the ordering, you can check it out once


Screenshot functions don't return images of their active kivy app

Versions

Python: 2.7.13
OS: Raspbian 9.4
Kivy: 1.10.1

Description
I am trying to take a screenshot of the lines drawn in my Kivy paint app. None of the methods I have tried actually take a picture of the Kivy app itself. I have attempted the following methods:
self.export_to_png('image_1.png')
ImageGrab.grab_to_file('image_2.png')
self.screenshot('image_3.png')

export_to_png() produces a random tiled image. ImageGrab() takes a screenshot of the screen underneath the kivy app. screenshot() produces an error, as I can't figure out its syntax.
Code and Logs
from kivy.app import App
from kivy.uix.widget import Widget
from kivy.graphics import Line
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.screenmanager import Screen , ScreenManager

import pyscreenshot as ImageGrab

class Home(Screen):
    pass

class DrawInput(Widget):

    def on_touch_down(self, touch):
        with self.canvas:
            touch.ud["line"] = Line(points=(touch.x, touch.y))

    def on_touch_move(self, touch):
        touch.ud["line"].points += (touch.x, touch.y)

    def clear_canvas(self):
        self.canvas.clear()

class Screenshot(Widget):

    def take(self):
        self.export_to_png('image_1.png')
        ImageGrab.grab_to_file('image_2.png')
        self.screenshot('image_3.png')

class SimpleKivy(App):
    def build(self):
        return

if __name__ == "__main__":
    SimpleKivy().run()

Kivy file:
<Button>:
    font_size: 40
    color: 1,1,1,1

ScreenManager:

    Home:

        name: 'home'
        DrawInput:
            id: widget_clear

        Screenshot:
            id: widget_screenshot

        FloatLayout:

            Button:
                text: "Clear"
                pos_hint: {"x": 0, 'top': 0.6666}
                size_hint: 0.2, 0.3333
                on_release:
                    widget_clear.clear_canvas()

            Button:
                text: "Save"
                pos_hint: {"x": 0.8, 'top': 0.6666}
                size_hint: 0.2, 0.3333
                on_release:
                    widget_screenshot.take()
                    widget_clear.clear_canvas()

May be support, but if your goal is to take a screenshot of your Kivy app, self.export_to_png will work only for "self" aka your Screenshot widget, not the entire app. (It put the widget in a fbo, render and export).
There is a method in window for that:
https://kivy.org/doc/stable/api-kivy.core.window.html#kivy.core.window.WindowBase.screenshot
So:
from kivy.core.window import Window
Window.screenshot()


[folder-refactor]add yarn-frameworklauncher build context and deploy config

Coverage increased (+32.0%) to 83.943% when pulling e9907f5afaa1061af13df4b26714a195ecf6df03 on canwan/add-launcher-build-deploy into 53af33bacc42ad194d902040b8a8f434c06f150e on folder-refactor.


Review-SRS-Team30: Add external link to EMA

Add an external link to EMA related information for users to reference and learn more about EMA in section 1 under reference material

P.S No permission to add label to issues

@CSchank


Update github repo link with forked repo link

after forks have been done, the links to Github repositories of mentors should be replaced by the forked repositories in order to avoid confusion.

solved


The default location for hooks should be a directory

Describe the problem
In the previous version of Sveltekit, the default location for hooks was src/hooks but after some time when it was divided into both client and server hooks, the directory was removed.
I know we can all configure the location in the config file but I suggest we stick to src/hooks where we can place both hooks.server.js and hooks.client.js inside.
Doing this makes the project looks more organized because we are grouping similar content together.
Even service workers who usually contain just an index.js file gets to use a whole directory why not group both hooks file into a single directory, this was the default before and I do not understand why it was removed.
Describe the proposed solution
The default path for hooks should be src/hooks
Alternatives considered
We can edit the configuration files ourselves to change it
Importance
would make my life easier
Additional Information
No response

I think it would be an idea to have the hooks function within the layout.ts or layout.server.ts as a separate function like export const hook = async () => {} as it applies to the directory it is in, this would remove one extra file needed and collate information to make it simpler for the user

(leaving this open until we reach a conclusion; I'm against this - either way, it's a 2.0 issue if anything)

I think it would be an idea to have the hooks function within the layout.ts or layout.server.ts as a separate function like export const hook = async () => {} as it applies to the directory it is in, this would remove one extra file needed and collate information to make it simpler for the user

how is this different from a load function exported from the layout?

The page load function may be triggered at the same time the page load function does. You could always await parent() in the page load function but, aside of being easy to forget, the layout load function may do a lot of extra stuff you don't need for the hooks.
Instead of the export const hook = async () => {} in the layout, I'd rather have a +hooks.server.ts file per directory route so that you can avoid messing with route ids like so:
export const handle = async ({ event, resolve }) => {
	if (event.route.id?.startsWith('/(protected)')) {
		...
	}
	else {
		...
	}
	return await resolve(event);
};

I guess for nested +hook.server.ts the file router could apply automatically the hooks sequence function, but it could get quite tricky if you need to control the application. Perhaps something analogous to layout groups could work, like +hooks.server@(protected).ts.

We're leaving this as is - closing.


AttributeError: module 'subprocess' has no attribute 'CREATE_NO_WINDOW'

This command is only avaliable in Windows. Let me fix this. Thanks for the report!

Update to the latest version and this should be resolved!
pip install --upgrade AutomaticDemuxer


Create acceptance channel for e2e testing

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Speaker links ignored

I have one more for you:
When you generate the demo page using the data from the repository, the links attached to speakers in their yml files are ignored:
person-a.md
---
name: Tolga Philip
first_name: Tolga
last_name: Philip
links:
  - name: Profile
    href: https://github.com
---

yet the speaker page contains this

More Information:

              Profile

where XXX is the value of the last (absolute) url listed under my page wide links
 navigation:
    links:
      - name: Program
        disabled: false
        relative_url: /program/
      - name: Talks
        disabled: true
        relative_url: /talks/
      - name: Speakers
        disabled: false
        relative_url: /speakers/
      - name: Previous Editions
        menu:
          - name: foo
            absolute_url: YYY
          - name: bar
            absolute_url: XXX

The fix is to use absolute_url instead of href in the link.
The demo person-a.md is simply outdated.

The fix is to use absolute_url instead of href in the link.
The demo person-a.md is simply outdated.

Thanks!


On Windows Laravel Folio throws always a PossibleDirectoryTraversal Exception

Folio Version
v1.0.0-beta.1
Laravel Version
v10.16.1
PHP Version
8.1.10
Description
I'm using Laravel with Laragon on Windows, every time I try to load some blade file in the default Folio folder ('/view/pages') Laravel throws a PossibleDirectoryTraversal Exception.
Looking in the sources of the package, the problem seems located in vendor/laravel/folio/src/Pipeline/EnsureNoDirectoryTraversal.php at row 22:
if (! Str::of(realpath($view->path))->startsWith($state->mountPath.'/')) {             throw new PossibleDirectoryTraversal;         }
Using dd() the result of realpath($view->path) has a different ending char than $state->mountPath.'/'
realpath($view->path) => C:\laragon\www\filamentv3\resources\views\pages\index.blade.php"
$state->mountPath.'/' => "C:\laragon\www\filamentv3\resources\views\pages/"

Steps To Reproduce

Install Laravel Folio
Delete default route
Create a page with php artisan make:folio index
Try to load the the folio route with the browser

We have this solved already. It'll be in the next beta. Thanks!

Sorry, I did not see that it was already solved.
Thank you for your great job!

still getting this error


DYNASTY WARRIORS: Godseekers [PCSE00995]

App summary

App name: DYNASTY WARRIORS: Godseekers
App serial: PCSE00995
App version: 1.00

Vita3K summary

Version: v0.1.8
Build number: 3300
Commit hash: https://github.com/vita3k/vita3k/commit/5cb4c46c
CPU backend: Dynarmic
GPU backend: Vulkan

Test environment summary

Tested by: Sam
OS: Windows 10
CPU: AMD 5500u
GPU: AMD  Radeon Graphics
RAM: 6 GB

Issues

Screenshots

Log
vita3k.log
Recommended labels

https://github.com/Vita3K/compatibility/labels/Playable
B?
C?

Gets force closed after cutscene when starting the game for the first time.

App summary
App name: DYNASTY WARRIORS: Godseekers
App serial: PCSE00995
App version: 1.00
Vita3K android V12
Force close app after first cut scene
Unplayable

Game run great but how to fix the audio crackling and slowed issue whenever the intermission with dialogue box comes in?
the log says something about decode more data, any help would be appreciated thanks


Unknown Subscription ID when renewing a subscription with sdcX

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
The connection between sdcX (Consumer) and SDC11073 (Provider) is established normally.
When renewing the subscription to the BICEPS service (independent of mode, error occurs both with path dispatching as well as reference parameters), sdc11073 will respond with a SOAP Fault. The subscription to the Set Service can be renewed in both cases.
Example messages for all cases attached.
Out_NoRefParam.txt
SDC11073_Set_RefParamOFF.txt
SDC11073_Set_RefParamON.txt
SDC11073_StateEvent_RefParamOFF.txt
SDC11073_StateEvent_RefParamON.txt
Expected Behavior
Subscription should be renewed. Used sdcX Reference Consumer works with all other libraries out there.
Minimal Reproducible Example
No response
Solution proposal
No response
Python Version
3.11
Operating system
Windows, Linux
Sdc11073 Version
2.0.1
Link to sdc11073 Logs
No response
Further Information
No response
Participation

[ ] I am willing to submit a pull request to fix this bug.

It turned out to be a certificate problem in environment, no bug.


chore: bdd-nh-1576617059 to 0.0.1

chore: Promote bdd-nh-1576617059 to version 0.0.1

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


[Ray] Support supervisor on oscar for ray task mode

Is your feature request related to a problem? Please describe.
Currently ray dag mode run supervisor in client, which have some issues:

Client and Ray cluster are usually not in the same cluster or data center.  There may be instability and delay in communication, which will lead to serious latency in Ray Task scheduling, resulting in insufficient pipelineization and low task throughput and resource utilization.
The Mars Dashboard address cannot be accessed through a browser. Since Supervisor is created in Notebook, Mars Dashboard cannot be accessed through a proxy in ray cluster.
The small size of Notebook container may not meet the resource requirements for supervisor. Generally, the Notebook container specification is 2C4G or 4C8G. When the data scale is large, Supervisor may OOM.
Can not support the large-scale Failover which needs distributed Supervisor. Large-scale Failover need to save the lineage of a large number of subtasks, so it may need to make the Supervisor running in multiple Ray Actors to ensure that the Supervisor can store a large number of fine-grained lineages. If the Supervisor is running in the client, it is not an independent instance, and it is difficult to extend and make it distributed.
Ray driver resource usage are not managed by ray cluster, which also increase the possibilities of OOM

Describe the solution you'd like
We should support scheduling ray tasks in ray actors.

Another issue is Ray  client server bottleneck:
In the Ray Task mode, a large number of ObjectRefs are held in the supervisor. If the supervisor is created in the client, and the client is connected to the Ray cluster through the Ray Client, the square-level number of ObjectRefs in these intermediate processes will be processed by the Ray client server once. The client server becomes the cluster bottleneck.


Fixed sriov conformance release vf test case

Fixed expected log for release the VFs test case

/lgtm

LGTM


Reference Time Series:  Preview plot should exclude NoData values

When I put in a REST URL to retrieve a referenced time series during the resource creation process, there is a button to validate the URL and preview the time series.  A plot is created, but if there are NoData values in the time series, it isn't that interesting.  NoData values should not be plotted. See the example below

@horsburgh please test this and close if it works.

I just tested on alpha.hydroshare.org with the following REST URL:
http://data.iutahepscor.org/RedButteCreekWOF/REST/waterml_1_1.svc/datavalues?location=iutah:RB_ARBR_AA&variable=iutah:WaterTemp_EXO/methodCode=56/sourceCode=1/qualityControlLevelCode=0&startDate=&endDate=
I first got an error button stating that "This is not a valid HIS REST Url".  It seems weird that the error comes back as a clickable button.  It should probably be a label or use some kind of HydroShare standardized error reporting rather than putting the error in a clickable button that just resubmits the form.
This error led me to check the URL that I am using in a browser window to make sure that it returned a valid WaterML file.  I discovered that my main web server was down due to an issue with our virtualization infrastructure.  So, the error that I got was not because the REST URL is invalid, but rather because HydroShare could not retrieve a WaterML file because my server was not responding.  I wonder if we could maybe do a little more descriptive error trapping - e.g., display an error that says something like "The server is not responding" rather than "This is not a valid HIS REST Url".
I got my server back up and running and then tried again. The URL validated, and the data were retrieved, but the "Invalid data" text at the bottom of the page didn't go away even though the preview plot was generated (see screen shot).

Then, I clicked the "Add HIS Time Series" button at the bottom and got the following error.

Yeah. I think we should put a more descriptive fail message. That's a good
idea. Also, I will look into this "DataError" bug. I've never seen that
before.... Thanks for the testing and feedback Jeff.
On Mon, Mar 23, 2015 at 9:52 AM Jeff Horsburgh<EMAIL_ADDRESS>wrote:

I just tested on alpha.hydroshare.org with the following REST URL:
http://data.iutahepscor.org/RedButteCreekWOF/REST/waterml_1_1.svc/datavalues?location=iutah:RB_ARBR_AA&variable=iutah:WaterTemp_EXO/methodCode=56/sourceCode=1/qualityControlLevelCode=0&startDate=&endDate=
I first got an error button stating that "This is not a valid HIS REST
Url". It seems weird that the error comes back as a clickable button. It
should probably be a label or use some kind of HydroShare standardized
error reporting rather than putting the error in a clickable button that
just resubmits the form.
This error led me to check the URL that I am using in a browser window to
make sure that it returned a valid WaterML file. I discovered that my main
web server was down due to an issue with our virtualization infrastructure.
So, the error that I got was not because the REST URL is invalid, but
rather because HydroShare could not retrieve a WaterML file because my
server was not responding. I wonder if we could maybe do a little more
descriptive error trapping - e.g., display an error that says something
like "The server is not responding" rather than "This is not a valid HIS
REST Url".
I got my server back up and running and then tried again. The URL
validated, and the data were retrieved, but the "Invalid data" text at the
bottom of the page didn't go away even though the preview plot was
generated (see screen shot).
[image: screenshot]
https://cloud.githubusercontent.com/assets/3485902/6783893/066f5d42-d142-11e4-817c-6a89711806c7.png
Then, I clicked the "Add HIS Time Series" button at the bottom and got the
following error.
[image: screenshot]
https://cloud.githubusercontent.com/assets/3485902/6783939/3a9b0a08-d142-11e4-81eb-23c6d88d0e04.png
—
Reply to this email directly or view it on GitHub
https://github.com/hydroshare/hydroshare/issues/187#issuecomment-85060134
.

The original problem is fixed. There is a new problem now, issue #282


Issue with syringes.

If you attempt to collect wither skeletons with a syringe it gives skeleton instead.

Yes I know. Skeletons are very special in Minecraft. A Wither skeleton is actually a normal skeleton. It just becomes a wither skeleton if you spawn it in the nether. I don't know yet how to solve this problem.

talk to skyboy he might be able help you with that because he maintains MFR and there is code in the mod that allows spawning of wither skeletons using the auto spawner and safari nets to collect them in to use with the auto spawner.

This being still open I assume you haven't quite resolved this yet, and I love your mod. There's a method in skeleton to check to see if the skeleton is a wither skeleton. I suggest doing a one-off whenever the syringe is used to check for that. If it is, you'll have to write one-off checking in each tool that uses the syringes :( it's annoying and complicated, but that's the way of minecraft!

If its any help, Wither skeletons have the NBT data "SkeletonType" set to 1

Should work fine in 1.10.2


[Community] Platforms of Platforms and methods of defining interaction layers between software products/platforms

Contribution Description
Applications and Platforms and Application Platforms, and the many variations, create confusion in the devex and management of cloud environments. If I am tasked with deploying an application that calls itself a Data Platform into my Kubernetes Platform, where does the platform end and the platform begin?
One of the primary benefits of cloud-native is the ability to share resources between components. This is also a common hurdle of understanding for cloud-native newbies. The ability to deploy multiple logically separate applications/platforms and have them share resources can be a huge benefit.  Actually making this happen is a whole other challenge that is not often made easy by project maintainers/vendors.
How do I define my application/platform's ability to interoperate and share resources, within the context of the component model in the Platforms Whitepaper?  How do I communicate whether or not it needs it's own tenant or standalone components?
I have both worked with project maintainers to help their applications/platforms become more deployable and adoptable, as well as the consumers who are managing their own platforms, and have faced these challenges from both sides. I would like to share our lessons learned and some recommendations on ways to communicate patterns and documentation methods (templates/artifacts) to help make software more adoptable and manageable.
Related Working Group (WG)
Platforms
Contribution type
Blog (Default)
Why TAG App Delivery?
This targets the bridge between App Delivery and Platforms.
Related projects/technologies
Platforms Whitepaper
Platforms Maturity Model
Platforms as a Product Whitepaper
{would like to target a CNCF project as an example}
Affiliation disclosure
n/a
Additional collaborators
@jawadqur
Additional information
No response

This sounds fantastic @krumware! The content sounds relevant to the TAG and specifically an add-on to the WG white paper work.
You mention you are going to use CNCF projects as an example which is great, but just want to call out the overall goal of the CNCF WGs to discuss patterns over "king making" so maybe have a think about how you can both provide an example while also acknowledging the "category" of tool that may be interchangeable.
Aside from that small nit, I would say this sounds well placed for a blog post. In general we aim for blog posts to be author led and while a TAG lead will need to verify the content meets our guidelines and other community reviews are available more for support than as a blocker.
Is there anything further we can do to support you at this stage? If not, you are encouraged to create a draft, either using google docs if you expect a high level of collaboration/feedback or directly as a PR if you prefer to keep feedback more focused on "approval".

I'm definitely following. There wouldn't be an aspect of kingmaking, since there isn't a product to promote there, just examples of combining software applications which leverage (share) instances of platform capabilities to operate efficiently. I'll be working on the scaffold and will share. Thank you!

Thank you @krumware. I've also been hearing about platforms on platforms, and am very interested in hearing how capabilities and platforms could become more composable and interoperable. Also heard from a couple folks just today how there is usually more than one "platform" team needed at an enterprise. Looking forward to reading your work!

Thanks again @joshgav and @abangser. I'm also sorry I've been pulled away from the past couple of meetings, duty calls! I'm working on a better strawman and would enjoy finding a team to hop on a call with you guys soon outside of the normal meeting times (which are difficult to make it to)

I'm also interested in this topic as I have spent a long time in the API platform space. Explaining how different platforms intersect is quite interesting to me--happy to support this in ideation, reviewing, editing, etc.

I'm interested in this ... "platforms" is such an overloaded term and much of my work with customers is assessing what their definition might be.  In my mind, this is all about layers of abstraction - e.g. a storage platform takes advantage of disk; a cloud platform uses storage platforms; an IDP will hopefully consume many platforms to create an end-to-end experience for developers.
There are some really important general things though about platforms - the concept of a 'customer', etc.  I'd be happy to help contribute to this.

I'm interested in this topic and I see a good relation with this issue https://github.com/cncf/tag-app-delivery/issues/586

I have added a representation about Platform of Platforms. I don't known how to proceed. Better to cross link the issue https://github.com/cncf/tag-app-delivery/issues/586#issuecomment-2074591349 or move the conversation in this issue?

In trying to get alignment on current WG priorities, I am going to suggest we close this topic. I also believe this may be superseded by the work in #586 and associated blog post. But before doing so, I want to give 1 week for anyone who is interested to revive the focus on this, else we can reopen in the future when we have the right people/energies to commit to this topic.
Thanks!

I still believe there's more to expand on here, but will archive for now.

I am very intesting on it. Actually, I implmeneted same concept in my company for 3 years, platform name is POP,which means platforms of paltforms, super amzing name is same too.

I'd be very curious of any industry learnings of the topic. I'm in process of trying to establish patterns for Internal Platform <-> Internal Platform interaction and am struggling a bit.


Recitation 7 3c, generic abstract class Func<T,R>

Hello, im rather confused with the generics above, like putting the appropriate alphabets in <>. Anybody can explain the flow of putting the correct alphabet? Thank you so much!!

Hi, could you specify where in the code you are asking about?

E.g., are you asking about the type of the argument of the method header compose, the format of the method header compose, etc?

From the line 1 and line 3 of the codes, why is there a change of generic type from <T,R> to <U,R>?

Suppose you have a function f that converts a Double to an Int and then g that converts an Int into a String. We can do gf = g.compose(f) which in math notation will look something like: gf.apply(x) <==> g.compose(f).apply(x) <==> g(f(x)). In this sense, .compose is kinda like "prepending" an operation to a current one. Now gf converts a Double into a String.
        f       g
Double --> Int --> String
       ---------->
           gf

f has type Func<Double, Int>
g has type Func<Int, String>
gf has type Func<Double, String>

So when you are implementing Func.compose, you need to take into account that the final composed function could have a new "initial" type.
For this example above, the f.compose(g) would have the type matching as follows:
U: Double // The new "initial" type
T: Int // The type of the output of f and the input of g
R: String // The type of the output of g

okie thanks all!


menu inside autocomplete should have absolute position

Hi,
In v.0.1.26 the position of the form-autocomplete-list was absolute. In later versions it was refactored to use menu instead of form-autocomplete-list.
menu inside dropdown here does have correct position.
Thanks !

@borisirota Hi, I have improved this part in https://github.com/picturepan2/spectre/releases/tag/v0.2.8.

@picturepan2 thanks!


Redisson JUnit tests due leaks connections/clients/threads

If you run the JUnit tests for Redisson a lot of client and their associated connections/threads are leaking because they are not properly shutdown. This will prevent the build to be successful on system with limited number of user-processes/open-files (i.e. MacOS El Capitain).
To verify this, build the project with an attached debugger and watch the constantly growing amount of threads.

I am preparing a PR to fix this.

Good! It would be nice to have a look at this

@smigfu Could you please check it again? I think I fixed it.

Looks good, though some of the ExecutorServices are also leaking (maybe you could cherry-pick https://github.com/redisson/redisson/commit/bd12c45 of my orginal PR). Though the ExecutorServices aren't as severe since they will shutdown themselves in finalize (which was the motivation for https://github.com/redisson/redisson/pull/709).
Thanks for fixing this.


[BUG] letter combination doesn't work in Windows

Describe the bug
A clear and concise description of what the bug is.
if I define the key map as this:
const keyMap = {
      openDialog: 'a+b',
};

It doesn't work in Chrome/IE11/Edge on Windows environment. On Mac Chrome Version 77.0.3865.90, 'a+b' and 'b+a' will both trigger the same event in handler.
How are you using react hotkeys components? (HotKeys, GlobalHotKeys, IgnoreKeys etc)
I'm using HotKeys
Expected behavior
A clear and concise description of what you expected to happen.
'a+b' should trigger the event on Windows and Mac correctly.
Platform (please complete the following information):

Version of react-hotkeys 2.0.0
Browser [e.g. chrome, safari] IE 11, chrome on Mac and Windows
OS: [e.g. iOS] Mac OS

Are you willing and able to create a PR request to fix this issue?
APPLICABLE TO v2.0.0-pre1 AND ABOVE: ======================
Include the smallest log that includes your issue:
In windows. After click 'a' the log says it looks for map action and no match. Then log shows a 'a' keyup event without I releasing the key. Then it looks for the 'b' keydown match. So it never finds the combination.
Paste logs in Windows Chrome when I do 'a+b':
HotKeys (F2📘-E9💛-C0🔺-P0🔺:) New 'a' keydown event.
AbstractKeyEventStrategy.js?b56c:429 HotKeys (F2📘-E9💛-C0🔺-P0🔺:) No matching actions found for 'a' keydown.
FocusOnlyKeyEventStrategy.js?98f4:298 HotKeys (F2📘-E10💜-C0🔺-P0🔺:) New 'a' keypress event.
FocusOnlyKeyEventStrategy.js?98f4:298 HotKeys (F2📘-E11🧡-C0🔺-P0🔺:) New 'a' keyup event.
FocusOnlyKeyEventStrategy.js?98f4:298 HotKeys (F2📘-E12❤-C0🔺-P0🔺:) New 'b' keydown event.
AbstractKeyEventStrategy.js?b56c:429 HotKeys (F2📘-E12❤-C0🔺-P0🔺:) No matching actions found for 'b' keydown.
FocusOnlyKeyEventStrategy.js?98f4:298 HotKeys (F2📘-E13💚-C0🔺-P0🔺:) New 'b' keypress event.
FocusOnlyKeyEventStrategy.js?98f4:298 HotKeys (F2📘-E14💙-C0🔺-P0🔺:) New 'b' keyup event.

In Chrome Mac. The key press array is correct. But the order doesn't work properly.
'a+b' log:
New 'a' keydown event.
AbstractKeyEventStrategy.js?b56c:429 HotKeys (F1📗-E1💚-C0🔺-P0🔺:) No matching actions found for 'a' keydown.
FocusOnlyKeyEventStrategy.js?98f4:298 HotKeys (F1📗-E2💙-C0🔺-P0🔺:) New 'a' keypress event.
FocusOnlyKeyEventStrategy.js?98f4:298 HotKeys (F1📗-E3💛-C0🔺-P0🔺:) New 'b' keydown event.
AbstractKeyEventStrategy.js?b56c:418 HotKeys (F1📗-E3💛-C0🔺-P0🔺:) Found action that matches 'a+b': openDialog. Calling handler . . .

'b+a' log:
New 'b' keydown event.
AbstractKeyEventStrategy.js?b56c:429 HotKeys (F5📗-E6❤-C0🔺-P0🔺:) No matching actions found for 'b' keydown.
FocusOnlyKeyEventStrategy.js?98f4:298 HotKeys (F5📗-E7💚-C0🔺-P0🔺:) New 'b' keypress event.
FocusOnlyKeyEventStrategy.js?98f4:298 HotKeys (F5📗-E8💙-C0🔺-P0🔺:) New 'a' keydown event.
AbstractKeyEventStrategy.js?b56c:418 HotKeys (F5📗-E8💙-C0🔺-P0🔺:) Found action that matches 'a+b': openDialog. Calling handler . . .'

Set logging to verbose (you'll need the development build if its possible):
import { configure } from 'react-hotkeys';

configure({
  logLevel: 'verbose'
})

What Configuration options are you using?
All default configs.
configure({
  //options
})

Hi @Ray-Hong,
Thank you for taking the time to fill out the bug reporting template correctly. That is really helpful.
I can see for the logs that on Windows Chrome, react-hotkeys seems to think you are releasing the a key before you press the b key.
I'll need to investigate this further and find out why on the Windows version of Chrome the keyup native event is being emitted despite you not releasing the key. I am not sure if this something in React or Chrome.
Would you mind telling me what version of React are you using?

Hey @greena13 ,
Thank you for replying. I'm using React 16.8.5. Please let me know if you have any questions.


CM-708: How to Correctly Initialize a String in C#

Hi there! I've added some examples for correctly initializing strings in C#. This is a common issue that beginners often face, and these examples can help them understand the proper way of initializing strings. I believe this will be a valuable addition to the project and will benefit anyone who comes across it. Let me know if you have any feedback or suggestions. Thank you!

retest this please


How to remotely trigger a capture without using renderdocui?

I'm working on a GTA V plugin and I want to trigger a renderdoc capture in the game. The plugin is written in c# and injected into the game with a dll library. Is there a web API for capturing, or do I need to use renderdoc.dll to do the connection and capturing? Thanks!

Doing it remotely without renderdocui might be a bit tricky, you'd need to connect over the socket and use the protocol to trigger a remote capture.
However if you have your plugin injected into the process then there's a simpler solution - you can use the in-application API yourself to trigger a capture, the same as any other code in the process.
Someone on the Unity forums I remember did exactly this to be able to use the editor integration to capture parts of the scene that weren't rendered, so there's some sample code showing how to do this from C# using P/Invoke in this forum thread

I successfully triggered a capture with the TriggerCapture API. It's so convenient. Thanks!


[figshare] Figshare add-on root makes slow API call when loading HGrid

I noticed that the HGrid on https://osf.io/hks4q/files/ loads pretty slowly (typically about 5s on my laptop). It turned out that much of that time was spent getting the title of the Figshare project from their API. This is a problem, because all HGrid content is waiting for the response from the Figshare API. In general, we should minimize (or ideally eliminate) any interactions with external APIs when building the HGrid root.
Proposed solution: Don't load the title of the Figshare project on the backend. Instead, make a separate API request from the client after loading the grid.
@lyndsysimon, @samanehsan: Not sure what priority you think this should be, but I did notice this on a public OSF demo page, and it's a little embarrassing.

With waterbulter, this should no longer be a problem.


proposal: testing: Provide TestMain with stats so that it can print a custom summary.

Background
There have been several requests in the past for a summary in the end of a test suite run:

#27755 - proposal: cmd/go: go test summary
#30507 - cmd/go: add summary at end of go test results
#41748 - proposal: testing: re-print failed test names before exiting

All these requests have been denied as it isn't clear which summary style/format would clearly be beneficial.
The proposed workaround was to run the tests with -json and to use the output to generate a suitable summary.
For instance gotestsum provides just that but it is an external tool and so developers and automation need to diverge from their usual workflow in order to utilize gotestsum.
Proposal
Add test stats to testing.M so that TestMain can print a custom test results summary after m.Run().
The test stats should include:

List of all tests.
List of all examples.
List of all benchmarks.
List of successful tests.
List of successful examples.
List of successful benchmarks.
List of skipped tests.
List of skipped examples (in case of -failfast).
List of skipped benchmarks (in case tests or examples failed).
List of failed tests.
List of failed examples.
List of failed benchmarks.

This could be done by enhancing the runTests, runExamples and runBenchmarks functions to produce these lists.
All lists would be of type []InternalTest, []InternalExample or []InternalBenchmark.

Perhaps we could instead give TestMain a way to get a list of the test functions, and have those functions report whether they succeed or fail.  Then TestMain can do whatever it wants.

I don't see how the proposed changes to TestMain or testing.M solve the problem. In most cases, especially those cases where there is sufficient output to benefit from a summary, the tests for more than one Go package will be run. There is a TestMain for each package, so the summary would be printed when a package ends, not when the test run ends. The summary will end up in the middle of the output and is just as hard to find as the original test failure.
If you write the summary out to a file and gather it at the end, you once again need a separate binary, so why not use the existing mechanism (-json and a tool like gotestsum)?
The crux of this argument seems to be

developers and automation need to diverge from their usual workflow in order to utilize gotestsum

That statement seems a bit exaggerated to me.
First lets look at the developer experience. An external binary does add a one-time step of downloading the binary, that's true, but after that one time the workflow is essentially unchanged. Compare running go test to running gotestsum:
$ go test      [go test flags] [packages] [test binary flags]
$ gotestsum -- [go test flags] [packages] [test binary flags]

There are optional gotestsum flags which can be specified as env vars, but otherwise the commands are nearly identical. Any go test command line can be run using gotestsum.
Part of the argument seems to be that using another binary doesn't scale to larger teams. Any change to TestMain or testing.M would require every package in every project to import some library to print a summary. That seems like a much larger commitment than running go get once and being able to use the external binary for every package and every project.
Finally there is the question of automation. Many of the largest open source Go projects are already using gotestsum for CI: Kubernetes, Docker, many projects in the Docker and Kubernetes ecosystems, hashicorp/{terraform,vault,consul,nomad}, ipfs/go-ipfs, facebook/ent, influxdata/influxdb, prometheus/prometheus, etc.
If so many of these large projects are already using an external binary, I would suggest it may not actually be a problem. I suspect these projects are using gotestsum not only for the summary, but also because:

from a single test run you are able to produce stdout for humans, a JUnit XML file for the CI system, and a test2json file to produce metrics or analytics.
the standard go test and go test -v are not really ideal for CI. go test does not print the names of passed or skipped tests. If the environment is not setup correctly you could be unintentionally skipping tests that you thought you were running. go test -v will give you that information, but essentially makes the log output useless for verbose test suites. The testname format in gotestsum is a more appropriate middle ground. You get a single line per passed test, making it easy to visually verify which tests ran and in which order, with full output for failed or skipped tests.

So even if this proposal were implemented, it seems unlikely it would be a replacement for the solution that already exists.

I have another solution to this problem, that is a little unconventional. If you really don't want to install a different binary, you could use a library to run go test and print the summary. I suspect that any change to TestMain would require roughly the same thing. You would need some library to aggregate and format the returned test cases, because presumably you have more than one package with tests.
As an example, you could create a file in the project at test/main.go with contents:
package main

import (
	"fmt"
	"os"
	"gotest.tools/gotestsum/cmd"
)

func main() {
	name, args := os.Args[0], os.Args[1:]
	args = append([]string{"-f=testname", "--"}, args...)
	if err := cmd.Run(name, args); err != nil {
		fmt.Fprintln(os.Stderr, "ERROR ", err.Error())
		os.Exit(1)
	}
}

And to run tests with a summary:
$ go run ./test [go test flags]

Perhaps we could instead give TestMain a way to get a list of the test functions, and have those functions report whether they succeed or fail. Then TestMain can do whatever it wants.

If we also provided it a list of examples and benchmarks, it could run those as well, controlling parallelism and setting b.N = 1, subsuming #41824.

@dnephin
Please don't get me wrong on gotestsum. I think gotestsum is very much useful in larger scenarios as you rightfully mention in your first comment. So IMHO gotestsum isn't the issue but rather that it has to use -json to get the data from the test suite instead of the test suite providing that data in an easier accessible form.
I partially agree with your second comment but I wouldn't run go test. Once TestMain has access to that data one could directly import the summary-printer of gotestsum... ;-)

I would like to have access to the granular test results programmatically as well. I would like collect per-test telemetry for every invocation. Since I can't always control the invocation to use -json, I would need to insert that telemetry collection into the code itself.
Looking at the testing package code, I think all the information I would need is readily available on the common struct. This could be exposed on testing.M as  func (m *M) Results() []TestResult that could be something like:
type TestResult interface {
	// Test function name
	Name() string
	// Test, Benchmark, Fuzz
	Type() string
	// Enclosing package
	Package() string
	// Start time of the Test execution
	Start() time.Time
	// Execution duration
	Duration() time.Duration
	// Passed, Failed, Skipped
	Result() string
	// any output printed during the test
	Output() []string
	// Subtest results, empty slice if none
	SubTests() []TestResult
}

I think this would provide the same data as the original proposal, but allow for more extensibility. I think something like this is what @ianlancetaylor was suggesting as well.


Support dot in IDs

Because antlr does not allow lexer rules that overlap, the PATH lexer
rule is replaced with ID which is now used in both positions. This means
that quotes can appear in the names of file paths (which is not desired), but since this code
is likely to be thrown out, this is probably OK.

that quotes can appear in the names of file paths (which is not desired)

Why is undesirable? Shouldn't it be OK to say import "some.file.auth"?

that quotes can appear in the names of file paths (which is not desired)

Why is undesirable? Shouldn't it be OK to say import "some.file.auth"?

You're right I guess that's fine.


make build failed on mac

internal/api/usererror/translate.go:27:2<EMAIL_ADDRESS>invalid version: git ls-remote -q origin in /Users/xyz/go/pkg/mod/cache/vcs/40d64810da2531b923441e2458e47c2849215bcd631e15353e5941e1aca2d37a: exit status 128:
fatal: could not read Username for 'https://github.com': terminal prompts disabled
Confirm the import path was entered correctly.
If this is a private repository, see https://golang.org/doc/faq#git_https for additional information.
make: *** [build] Error 1

Are your github credentials correctly configured?

Hey @ohari5336, thanks for bringing up this issue, much appreciated!
There seem's to have been a reference left to an internal repository of harness.
I've removed the reference and the issue should be fixed now.
Could you give it another spin? If you run into any issues, please let me know and I'll be happy to take another look!

had the same issue - refreshing the codebase did the trick. Thanks!

Awesome, thanks for confirming @johnmark!

thanks, now build


Add Fedora support.

This PR adds in support for using the CentOS 7 repo for Fedora. I have tested this on Fedora 24.
Since Fedora is considered it's own platform family per https://github.com/chef/ohai/blob/master/lib/ohai/plugins/linux/platform.rb#L191-L194 I added in a case to handle creating the repo file using the CentOS 7 repo.
It would be super sweet if TD created an official Fedora repository. If you folks don't want to officially support Fedora and you can point me at the current CentOS 7 spec file, I can make one for Fedora and throw it on https://copr.fedorainfracloud.org/

Any movement on getting this merged?

Sorry to be late. LGTM.

Great! Thank you!!


Add a minimal hello_web example

Add a convenient starting point for a Rust web project with very basic crate usage.
Something like this might be useful in cargo web
console.log was chosen over alert because it also works in node.js; may or may not be a good idea.
Should I also add an HTML that calls the .js file? If so, how do I call the JS? The todomvc example looks for the code in js/app.js and that's not where cargo build --target=asmjs-unknown-emscripten puts it. I imagine there is some magic that cargo web does in this case, but I'd strongly favor a "batteries included" kind of hello world :smile_cat:

Sounds like a good idea to me!
Although I'd make two changes:

Add a semicolon at the end of console.log. (: (It works without one, but semicolon-less JavaScript will not be supported by the js! macro in the future.)
Change the name. As much as I like the hello_web name I think hello_world would be more appropriate, considering this would be an example for absolute beginners and basically every programmer knows what a "hello world" is.

Should I also add an HTML that calls the .js file?

What do you mean by "calls"? Only includes? Or explicitly calls a function which is exported by the Rust code?

I imagine there is some magic that cargo web does in this case

Yep. That's exactly what happens. It serves the crate as js/app.js, and if it doesn't find an index.html it will dynamically generate one and serve it (and the index.html which it generates includes js/app.js, which is why everything magically works by default).

but I'd strongly favor a "batteries included" kind of hello world 😸

Do you mean a hello world without the use of cargo-web?


Errors installing and ImportError while initializing on Python 3

What steps will reproduce the problem?
1. Install the package on Python 3. It will install, but with errors.
2. Attempt to import 'keyczar.keyczar'. This also raises an error.

What is the expected output? What do you see instead?

The package should install nicely and run on Python 3. These errors are seen
during install:

Running python-keyczar-0.71b\setup.py -q bdist_egg --dist-dir
c:\users\jaraco\appdata\local\temp\easy_install-moe2i9\python-keyczar-0.71b\egg-
dist-tmp-2lfd9s
  File "build\bdist.win-amd64\egg\keyczar\keyczart.py", line 169
    print "Generating private key sets..."
                                         ^
SyntaxError: invalid syntax

  File "build\bdist.win-amd64\egg\keyczar\util.py", line 800
    except UnicodeDecodeError, exc:
                             ^
SyntaxError: invalid syntax

zip_safe flag not set; analyzing archive contents...
  File "c:\users\jaraco\projects\public\keyring\env\python33\site-packages\python_keyczar-0.71b-py3.3.egg\keyczar\keyczart.py", line 169
    print "Generating private key sets..."
                                         ^
SyntaxError: invalid syntax

  File "c:\users\jaraco\projects\public\keyring\env\python33\site-packages\python_keyczar-0.71b-py3.3.egg\keyczar\util.py", line 800
    except UnicodeDecodeError, exc:
                             ^
SyntaxError: invalid syntax

Adding python-keyczar 0.71b to easy-install.pth file
Installing keyczart-script.py script to
C:\Users\jaraco\projects\public\keyring\env/Scripts
Installing keyczart.exe script to
C:\Users\jaraco\projects\public\keyring\env/Scripts

And this is the error occurs during initial import:

>>> import keyczar.keyczar
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\jaraco\projects\public\keyring\env\Python33\site-packages\python_keyczar-0.71b-py3.3.egg\keyczar\keyczar.py", line 27, in <module>
    import errors
ImportError: No module named 'errors'

What version of the product are you using? On what operating system?

0.71b on Python 3.3 64-bit on Windows 8.

Original issue reported on code.google.com by<EMAIL_ADDRESS>on 7 Feb 2013 at 10:47

Are there any updates regarding supporting Python 3.0+?  I'd like to use Keyczar in a Python 3 project.  Thanks for any information.

Unfortunately there are no updates. Jay did a lot of work here https://github.com/jbtule/keyczar-python2to3
Its a gigantic PR that was difficult to break down so we weren't able to finish reviewing it at the time. All of the changes he made make sense from a high level.
@jbtule if you can submit it through a github PR I could start working on the code review.

added the pull request, #164  it's two years old, don't have time to make a better one.

Its nearly december.  We are 99% there..  Please roll out into global release..
Python 3 has been around for decades in computer time...  And I keep bumping into lack of 2 to 3 upgrades..
With security being an ever more important issues on the internet..  I find the complacency here astounding.

Any updates on when keyczar will be GA?

Python 3 adoption is really taking off.  Maybe Priority-Low isn't so true anymore?

For what it's worth, Keyczar is the only Python library we use that still isn't compatible with Python 3.
This seems like it would be a great 20% project for someone on the Google Security team :)

Less than 20% when all is needed is just auditing and merging a 3 year old pull request.
Sent from my iPhone

On Mar 30, 2016, at 12:45 PM, Nick Baum<EMAIL_ADDRESS>wrote:
For what it's worth, Keyczar is the only Python library we use that still isn't compatible with Python 3.
This seems like it would be a great 20% project for someone on the Google Security team :)
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub

I suspect a 3 year old pull request would be non-trivial to review, but I'm in no position to judge.

+1 for this request. Any ETA as when Python 3 support will be available??

+1 for this request also. Latest Ubuntu LTS ships with Python 3 now as default. This is the last library our platform need to run on 3. Thanks.

+1.

Is this the answer? : https://pypi.python.org/pypi/python3-keyczar/0.71rc0

It's 2018... is there a solution to this?

@edknapp posted some updates in this issue.
https://github.com/google/keyczar/issues/213
TL;DR is that work is happening but don't expect something soon

Yes soferio, use https://pypi.python.org/pypi/python3-keyczar/0.71rc0
pip install python3-keyczar

@dennismwagiru  as of right now python3-keyczar depends on pycrypto, which I can't get to build on Centos7 with Python36

@pembo13, first install pycryptodome and the rename the pycrptodome folder to pycrypto before installing python3-keyczar

@pembo13, this might also be helpful
https://stackoverflow.com/questions/41813030/problems-with-installation-pycrypto-in-python-3-6

@dennismwagiru

first install pycryptodome and the rename the pycrptodome folder to pycrypto

Please note, PyCryptodome is meant as a drop-in replacement of PyCrypto (with absolutely inevitable incompatibilities only). If a rename is necessary, that would be a bug in one of the involved packages.

what is the correct import?
from keyczar import keyczar

returns import error still, even for python3-keyzcar
Is it a different import package?


Add CloudABI pthread_mutex related functions and types

Adding types and functions related to creating and using pthread mutexes and condvars on CloudABI. Taken from these headers.
This is in preparation for implementing a proper ThreadParker for CloudABI in parking_lot. There is a pthread one already. So hopefully we can just plug that one in when the platform has these libc bindings.
Ping @EdSchouten, who seem knowledgeable about CloudABI synchronization primitives. Do you think this looks reasonable?

r? @gnzlbg
(rust_highfive has picked a reviewer for you, use r? to override)

Hi there,
The pthread datatypes exposed by the C library were never intended to have a stable ABI. This is not a true requirement for CloudABI yet, mainly due to a strong focus on static linkage. That said, we'd better keep the number of data structures copied from cloudlibc to an absolute minimum. It also increases the amount of stuff from libc on which we depend to a minimum.
For CloudABI, I intentionally implemented the mutex datatypes directly on top of CloudABI's futex system call API. By doing so, we achieved locking primitives whose implementation might not exactly be as optimised as parking_lot, but came pretty close. Mutexes and rwlocks may be implemented in as little as 4 bytes, while recursive mutexes would be 8 bytes in size. The locks would implement priority inheritance properly and also provide fairness.
This is why I'm of the opinion that implementing this on top of pthreads is actually a step backwards. It increases the reliance on parts of the C library that have no strong ABI.

@EdSchouten So for adding CloudABI support to parking_lot, would you suggest I instead implement the parking mechanism via the cloudabi::poll(&subscription, ...) calls, in the same way the current libstd primitives are implemented?

Yes, exactly!
CloudABI is somewhat opposite of most UNIX flavours: the system call API/ABI is intended to be stable, whereas the libc API/ABI is not. The reason for that is that the former has to be stable anyway to be able to support multiple OSes/runtimes properly.

Ok, thank you. I will then start writing a ThreadParker in that way. Will ping you for some input when it's getting ready if that is OK?
Will keep this PR open a bit longer in case some more information surfaces soon.

Sure thing. Thanks!

@EdSchouten There is no such thing as a simple futex/atomic wait? Where I can just park the thread waiting on an integer address to receive a notification? That's what we do on other systems. See here for example: https://github.com/Amanieu/parking_lot/blob/master/core/src/thread_parker/wasm.rs#L50
If mutexes and condvars is all I have at my disposal it looks like I need a solution very similar to the pthread design in the unix impl I linked in the initial post of this PR. Where the parker holds both a mutex and a condvar and needs to lock the mutex and wait for the condvar in order to park.


CASMSEC-370: Restrict accessible Keycloak URIs via OPA Ingress Policy

Resolves: CASMSEC-370
Summary and Scope
Restrict accessible Keycloak application paths to a subset of those defined in Keycloak 9.0.0 OIDC endpoints (Shasta Realm), for all but requests that use the CMN LB (keyed by HTTP HOST attribute):
https://github.com/keycloak/keycloak-documentation/blob/9.0.0/securing_apps/topics/oidc/oidc-generic.adoc
The following end-points were not allowed due to lack of use cases in CSM:

token introspection
check session iframe
registration endpoint

Cross-referenced requests against log traces from all istio ingress gateways on multiple systems.
As a delta to content in release/1.3, also ported the allow-listing in the keycloak-system policy/test after chatting with @kburns-hpe.
Issues and Related PRs

Resolves CASMSEC-370
Change already  in CSM 1.2.2 (CASMSEC-368), 1.3.1 (CASMSEC-371)

Testing

Tested using OPA unit tests, as updated.
Tested by applying policies to Surtur (1.4 system)
Tested deployment via helm chart upgrade and rollback on Surtur.
Tested Keycloak admin console login and browse on Surtur (via CMN LB).
Executed /usr/share/doc/csm/scripts/operations/gateway-test/ncn-gateway-test.sh on Surtur before and after, verified passing.
Verified via one-shot script and proxied browsing that /keycloak was not accessible (full application root) from the NMN, HMN, or CAN on Surtur.

Upgrade Command/Results:
helm upgrade -n opa -f ./cray-opa-overrides.yaml cray-opa ./cray-opa

Values File:
global:
  chart:
    name: cray-opa
    version: 1.29.3
ingresses:
  ingressgateway:
    issuers:
      shasta-cmn: https://api.cmn.surtur.hpc.amslabs.hpecorp.net/keycloak/realms/shasta
      keycloak-cmn: https://auth.cmn.surtur.hpc.amslabs.hpecorp.net/keycloak/realms/shasta
      shasta-nmn: https://api.nmnlb.surtur.hpc.amslabs.hpecorp.net/keycloak/realms/shasta
      keycloak-nmn: https://auth.nmnlb.surtur.hpc.amslabs.hpecorp.net/keycloak/realms/shasta
  ingressgateway-customer-admin:
    issuers:
      shasta-cmn: https://api.cmn.surtur.hpc.amslabs.hpecorp.net/keycloak/realms/shasta
      keycloak-cmn: https://auth.cmn.surtur.hpc.amslabs.hpecorp.net/keycloak/realms/shasta
  ingressgateway-customer-user:
    issuers:
      shasta-can: https://api.can.surtur.hpc.amslabs.hpecorp.net/keycloak/realms/shasta
      keycloak-can: https://auth.can.surtur.hpc.amslabs.hpecorp.net/keycloak/realms/shasta
      shasta-chn: https://api.chn.surtur.hpc.amslabs.hpecorp.net/keycloak/realms/shasta
      keycloak-chn: https://auth.chn.surtur.hpc.amslabs.hpecorp.net/keycloak/realms/shasta
  ingressgateway-hmn:
    issuers:
      shasta-hmn: https://api.hmnlb.surtur.hpc.amslabs.hpecorp.net/keycloak/realms/shasta
      keycloak-hmn: https://auth.hmnlb.surtur.hpc.amslabs.hpecorp.net/keycloak/realms/shasta

Tested on:

Surtur
Local development environment

Test description:

Were the install/upgrade-based validation checks/tests run (goss tests/install-validation doc)? Y
Were continuous integration tests run? If not, why? Y (gateway test only due to shared use, other work on mug that would impact tests)
Was upgrade tested? If not, why? Y
Was downgrade tested? If not, why? Y
Were new tests (or test issues/Jiras) created for this change? N

Risks and Mitigations

The RSA Token support was not tested. However, it's not clear if it is still in active use and the standard OIDC endpoints that are available should allow for continued use of the feature. Would need an environment to validate.
Policies should be tested against a full install, ideally, to verify no impact to install functionality.
If these policies should impact the system, a helm rollback can be performed to the previous version of OPA, sans the least (lesser) privilege protections.

Pull Request Checklist

[x] Version number(s) incremented, if applicable
[X] Target branch correct
[x] Testing is appropriate and complete, if applicable

@kburns-hpe I cut a release/1.4 branch for this, and am using versioning basically continuing off of main/master (1.29.x). Please advise if this needs change.


[Feature Request]: No clip id  without any data submit

Is there an existing issue for this?

[X] I have searched the existing issues

Feature Description

when we create an clip id when by adding text data its also work for empty field when clicked create its gives id to access empty clip
adding an .env file to project with empty value so user can add values of his own
also need to update the .env part in documentation

Use Case

its flood an database with empty unwanted data fields
its useless and program run for no data

Benefits
No response
Add ScreenShots
No response
Priority
High
Record

[X] I have read the Contributing Guidelines
[X] I want to work on this issue

Already Merged, in previous pull request https://github.com/subinoybiswas/clippy/pull/43


[Flight tracks feature] Pipeline for processing data in the cloud

Context
For the flight paths feature we are working through a workflow for adding new flight visualizations to CASEI. But there are many manual aspects of this work and we need to automate it as much as possible. In particular we want to make the developer experience as clear and seamless as possible.
Goal
Build a pipeline to process the data for a new campaign every time we have a change in the repository or at least an easy way to manually execute the data processing in the cloud.

March 25 Sprint 5 Update
Adding a task that's not represented as a standalone issue but related to campaigns MACPEX, MC3E, VIRGAS, SEAC4RS, where we have the data collected by @praveenphatate and @als0076 but not yet visualized because of inconsistencies in data formats and coordinates across the data.
In order to extend the processing capabilities to support these, @willemarcel is continuing to work on parsing of the different data formats and coordinates to handle these scenarios.

Hi @willemarcel I know this issue was meant to be a place to represent the pipeline work you're doing, which has changed throughout this PI as the data for each campaign has changed.
To prevent carrying through issues across PIs, to what extent do we have an established pipeline now and can create future issues as needed to update it? My impression is that this is done but may need adaptation as new data comes.

After talking with @willemarcel we will close this issue but start a new, more updated version, for the next PI.
This is the current conclusion:

Technically speaking, we were not able to create a pipeline for processing nav data in the cloud because the data formats have proven to be too inconsistent to be able to reliably go straight from a yaml file to visualization on the web without manual intervention.
Throughout this PI, Wille has still had to make adjustments to the visuals locally and resave to a GeoJSON on the S3 bucket
Likely we need to continue adding more campaigns and learning about more edge cases before we attempt to create a automated visualization pipeline.


Tokens in external file

Now tokens / keys  are set inside the followers.py file. Instead, they should be stored in a private external file and the script should read the tokens from there.

Added in commit
https://github.com/alumbreras/twitter-followers-graph/commit/f77025792ef65891a3565279accd0da5a2bddcdd


All WGPU demos randomly crash mac systems

Hi
Incredible repository which I found just yesterday.
Issue: The app will force Mac to freeze for a while completely blocking all IO until the system will force itself to reboot.
zig build bullet_physics_test_wgpu-run will cause this behavior 100% of the time.
zig build triangle_wgpu-run will cause pretty randomly but still 70-80% of the time.
I haven't been working with low-lever computer graphics for years and it reminds me how it will crash the graphics driver when you try to access the GPU with the wrong address.

I am unable to reproduce this on my machine. What are you running?
➜  zig-gamedev git:(main) sw_vers; clang --version; zig version
ProductName:		macOS
ProductVersion:		13.6
BuildVersion:		22G120
Homebrew clang version 17.0.1
Target: arm64-apple-darwin22.6.0
Thread model: posix
InstalledDir: /opt/homebrew/opt/llvm/bin
0.12.0-dev.594+8fab4f98c

Sounds like it could be out-of-memory. Might be worth monitoring memory usage to see. Can you post your system specs also?

clang --version; zig version
Apple clang version 14.0.3 (clang-14<IP_ADDRESS>.1)
Target: arm64-apple-darwin22.5.0, M2 MacBook Pro 64gigs
Thread model: posix
zig version: 0.12.0-dev.467+0345d7866
Not sure how to provide more details since it completely freezes my system until it decides to reboot itself.

@Umenokin Try release config: zig build -Doptimize=ReleaseFast

I'm not fully convinced that this isn't related to that old Dawn bug on macOS. I thought it was fixed but I've since had very strange crashes similar to this, only on macOS. General purpose allocator reports no memory leaks. Really hard for me to predictably recreate.

IIRC macOS does use a swap file on disk when memory is exhausted.
The GPA will only pick up memory leaks from allocations that went through it. Dawn may well be allocating memory for CPU or GPU that wouldn't be tracked by the GPA.

IIRC macOS does use a swap file on disk when memory is exhausted.
The GPA will only pick up memory leaks from allocations that went through it. Dawn may well be allocating memory for CPU or GPU that wouldn't be tracked by the GPA.

Yes, macOS has a swap file. And it can be used even when memory is NOT exhausted. Here is an article about the swap file: https://www.digitaltrends.com/computing/what-is-swap-used-in-mac-activity-monitor/.

Bullet_physics_test_wgpu-run now seems to freeze completely for me, too. I just started the app and checked memory with Activity Monitor, noticed a small but noticeable memory leak... but it also said 361 GB of private memory was used. I tried to take a screenshot but my Mac froze and had to be rebooted before I could.

I'm fairly certain this has to do with Dawn as it affects both my mach-core and zig-gamedev projects. Similar to what you said I can sometimes observe a small memory leak but the swap file seems to eat all available storage.

Updating to a newer version of Dawn gives more validation error reporting. I'm optimistic that resolving these validation errors will solve the problems we have on Apple Silicon.

Crash report for reference
{"bug_type":"284","timestamp":"2024-03-01 23:41:49.00 +0000","os_version":"macOS 14.3.1 (23D60)","roots_installed":0,"incident_id":"BAB940BE-9852-438D-9DE4-F13EA2B4164C"}
{
  "roots_installed" : 0,
  "bug_type" : "284",
  "process_name" : "physically_based",
  "registers" : {},
  "timestamp" :<PHONE_NUMBER>,
  "analysis" : {"iofence_list":{"iofence_num_iosurfaces":1,"iofence_iosurfaces":[{"iofence_current_queue":[{"iofence_acceleratorid":0,"iofence_backtrace":[-2198506784372,-2198506782880,-2198509187096,-2198509177616,-2198509183812,-2198526384164,-2198508960252,-2198508948292],"iofence_direction":1}],"iosurface_id":663,"iofence_waiting_queue":[{"iofence_acceleratorid":2,"iofence_backtrace":[-2198841624180,-2198841622688,-2198874093560,-2198874542164,-2198845326180,-2198874398656,-2198874421544,-2198874423052],"iofence_direction":2},{"iofence_acceleratorid":2,"iofence_backtrace":[-2198841624180,-2198841622688,-2198874093560,-2198874542164,-2198845326180,-2198874398656,-2198874421544,-2198874423052],"iofence_direction":2},{"iofence_acceleratorid":2,"iofence_backtrace":[-2198841624180,-2198841622688,-2198874093560,-2198874542164,-2198845326180,-2198874398656,-2198874421544,-2198874423052],"iofence_direction":2},{"iofence_acceleratorid":2,"iofence_backtrace":[-2198841624180,-2198841622688,-2198874093560,-2198874542164,-2198845326180,-2198874398656,-2198874421544,-2198874423052],"iofence_direction":2},{"iofence_acceleratorid":2,"iofence_backtrace":[-2198841624180,-2198841622688,-2198874093560,-2198874542164,-2198845326180,-2198874398656,-2198874421544,-2198874423052],"iofence_direction":2},{"iofence_acceleratorid":2,"iofence_backtrace":[-2198841624180,-2198841622688,-2198874093560,-2198874542164,-2198845326180,-2198874398656,-2198874421544,-2198874423052],"iofence_direction":2},{"iofence_acceleratorid":2,"iofence_backtrace":[-2198841624180,-2198841622688,-2198874093560,-2198874542164,-2198845326180,-2198874398656,-2198874421544,-2198874423052],"iofence_direction":2},{"iofence_acceleratorid":2,"iofence_backtrace":[-2198841624180,-2198841622688,-2198874093560,-2198874542164,-2198845326180,-2198874398656,-2198874421544,-2198874423052],"iofence_direction":2},{"iofence_acceleratorid":2,"iofence_backtrace":[-2198841624180,-2198841622688,-2198874093560,-2198874542164,-2198845326180,-2198874398656,-2198874421544,-2198874423052],"iofence_direction":2},{"iofence_acceleratorid":2,"iofence_backtrace":[-2198841624180,-2198841622688,-2198874093560,-2198874542164,-2198845326180,-2198874398656,-2198874421544,-2198874423052],"iofence_direction":1}]}]},"fw_ta_substate":{"slot0":0,"slot1":0},"fw_power_state":0,"fw_power_boost_controller":9,"guilty_dm":1,"fw_power_controller_in_charge":9,"fw_cl_state":{"slot0":0,"slot1":0,"slot2":0},"fw_perf_state_lo":8,"fw_ta_state":{"slot0":0,"slot1":0},"signature":625,"fw_power_substate":4,"command_buffer_trace_id":470954171,"fw_perf_state_select":0,"restart_reason":7,"fw_3d_state":{"slot0":0,"slot1":0,"slot2":0},"fw_gpc_perf_state":0,"fw_perf_state_hi":8,"fw_power_limit_controller":12,"restart_reason_desc":"blocked by IOFence"}
}

I just confirmed this is a Dawn issue. Their own C++ demo also crashes, just not as often. I guess the more complex, the likely it will crash: https://developer.chrome.com/docs/web-platform/webgpu/build-app

For the record I have experienced problems with Dawn crashing previously but they are gone after upgrading to 15.1.

Yes! Same here, I can no longer reproduce earlier demo crashes. I am running zig 0.14.0-dev.2367+aa7d13846 and zig-gamedev master on my M3 Max.
Tests pass, benchmarks look good, and I had no problems doing a quick run through of all demos. In particular, physically_based_rendering_wgpu no longer causes immediate freezing/crashing. RAM usage seems stable at a reasonable level even if I play around for a while. The log shows a brief CPU spike on startup, but after that CPU remains at a low and stable level.