st2 key get for non-existent key has excessive ERROR logs

If I query for a non-existent key in the datastore, st2api.log logs are unnecessarily verbose.
e.g. if I run st2 key get foobar (where that key does not exist), the user experience is OK:
ubuntu@st2vagrant:~$ st2 key get foobar
Key Value Pair "foobar" is not found.

ubuntu@st2vagrant:~$

But I see this in /var/log/st2/st2api.log:
2018-01-24 03:26:05,200<PHONE_NUMBER>97936 ERROR router [-] Failed to call controller function "get_one" for operation "st2api.controllers.v1.keyvalue:key_value_pair_controller.get_one": KeyValuePair with name: foobar and scope: st2kv.system not found in db.
Traceback (most recent call last):
  File "/opt/stackstorm/st2/local/lib/python2.7/site-packages/st2common/router.py", line 450, in __call__
    resp = func(**kw)
  File "/opt/stackstorm/st2/local/lib/python2.7/site-packages/st2api/controllers/v1/keyvalue.py", line 102, in get_one
    from_model_kwargs=from_model_kwargs
  File "/opt/stackstorm/st2/local/lib/python2.7/site-packages/st2api/controllers/resource.py", line 318, in _get_one_by_scope_and_name
    raise StackStormDBObjectNotFoundError(msg)
StackStormDBObjectNotFoundError: KeyValuePair with name: foobar and scope: st2kv.system not found in db.
2018-01-24 03:26:05,203<PHONE_NUMBER>97936 INFO logging [-] b858d708-9712-4eb0-a4d8-0d9524856dd6 - 404 96 12.065ms (content_length=96,request_id='b858d708-9712-4eb0-a4d8-0d9524856dd6',runtime=12.065,remote_addr='<IP_ADDRESS>',status=404,method='GET',path='/v1/keys/foobar')

This seems rather excessive. Perhaps just a WARN log?

It's still relevant - we still produce excessively noisy logs

This is no longer an issue with st2 3.5.0
Now the logs look like this:
2021-09-11 20:27:12,473<PHONE_NUMBER>12368 INFO logging [-] 48668613-71d1-46cd-a95b-8c393351f477 - GET /v1/keys/foobar with query={'decrypt': ['false'], 'scope': ['system']} (method='GET',path='/v1/keys/foobar',remote_addr='<IP_ADDRESS>',query={'decrypt': ['false'], 'scope': ['system']},request_id='48668613-71d1-46cd-a95b-8c393351f477')
2021-09-11 20:27:12,480<PHONE_NUMBER>12368 WARNING router [-] Failed to call controller function "get_one" for operation "st2api.controllers.v1.keyvalue:key_value_pair_controller.get_one": The key "foobar" does not exist in the StackStorm datastore.
2021-09-11 20:27:12,481<PHONE_NUMBER>12368 INFO logging [-] 48668613-71d1-46cd-a95b-8c393351f477 - 404 80 7.628ms (method='GET',path='/v1/keys/foobar',remote_addr='<IP_ADDRESS>',status=404,runtime=7.628,content_length=80,request_id='48668613-71d1-46cd-a95b-8c393351f477')

So the stacktrace is gone and the remaining log lines should be ok. I'll close this issue.


parse basic content for page

see https://github.com/bundesverfassung-oesterreich/bv-static/issues/76

the build fails because the file contains an embedded font, causing oxygarage to return a zip-file containing xml + font-files, resulting in a binary response that can't be decoded to utf-8


Explode in EachValidator

Have an idea to add property explode to the EachValidator, which will call StringHelper::explode() if the validating value is a string.
The property may be

true - call StringHelper::explode() without additional params
string - use string as a delimiter to call StringHelper::explode()
array - use the array in call_user_func_array to call StringHelper::explode()
false - do not try to explode a string

For example, when you want to create an input, suitable for multiple values (like emails), you can easily validate it with EachValidator:
 ['emails', 'each', 'rule' => 'email', 'explode' => true]

The same may be done with two validation records like:
[
   ['emails', 'filter', 'filter' => function ($value) {
       return StringHelper::explode($value);
   }],
   ['emails', 'each', 'rule' => 'email']
]

so i'm not sure, that my idea is good. What do you think about this?

It is better to perfrom explode using FilterValidator rather then overcomplicate EachValidator.


Allow passwords to be retrieved from a credentials file instead of only on the command line

Add support for specifying a credential file which holds your password.
This is more secure than specifying the password on the command line
which can be intercepted by malicious shells as well as simply being
stored in your .history file.

Also added support for revoking access tokens.


fix: Add PasswordField to mask input value of the field with `format:…

… password`
Fixes: #285
Fixes: #503

w/r/t the browser auto fill, I know chrome is eager like crazy to fill the username/password thing everywhere, I think it's done if the input name attribute is same on the combination of one type=text and one type=password

w/r/t the browser auto fill, I know chrome is eager like crazy to fill the username/password thing everywhere, I think it's done if the input name attribute is same on the combination of one type=text and one type=password

Maybe this will help: https://developer.mozilla.org/en-US/docs/Web/Security/Securing_your_site/Turning_off_form_autocompletion


No longer disallow recursive call to get_config (reverts e390cbf)

It turns out that we make use of recursive get_config calls in our
own code: CachedUpdatePersister initializes with
self.update_cache(), which is decorated with
PluggableDecorator('update_model_decorators'), which calls
get_config to get a list of strings pointing to decorator functions.
In any event, it may be a good idea to call self.update_cache() from
a thread so to not block initialization.  However,
PluggableDecorator likely has other legitimate uses, so this isn't a
fix for the problem at hand.
The caveat still applies that if one calls get_config from component
code, one must be aware that the part of config we want to refer to
may not be initialized yet.  Best way to work around this is to either
not rely on __factory__ and friends at all (PluggableDecorator does
that), or to make that part of the configuration a sub-entry to the
component's own configuration, if possible.

Coverage remained the same at 100.0% when pulling 41ddb4c506b466039102661d9b1879c047e833c6 on bug/permissive-recursive-get-config into bba5a402fc9c20f71f3e4c83ff70b617c819f224 on develop.


@ignore did not work for unknown variables

During compile of qx.io.remote.Rpc you get an error message:
2017-11-05 12:04:49.437 qx.io.remote.Rpc: [127,8] Unresolved use of symbol qx.core.ServerSettings
qx.core.ServerSettings has an entry @ignore in Rpc.js.
Steps to reproduce:

create an new Project qx create test
add  @require(qx.io.remote.Rpc) in Application.js
qx compile

Versions: qooxdoo-cli v0.1.30, qooxdoo-compiler v0.1.26

fixed in next release (0.1.27)


rebooting phone in aeroplane mode returns isConnected=true

fixes issue #12138

Can you add a test plan and add any missing sections from the PR template?

sure thing
On Fri, Apr 28, 2017 at 1:48 AM, Héctor Ramos<EMAIL_ADDRESS>wrote:

Can you add a test plan and add any missing sections from the PR template?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/facebook/react-native/pull/12176#issuecomment-297754781,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABmzC6v4WCu-7OMIL7xBD3EreafiqYHWks5r0LjrgaJpZM4L1vn3
.

Closing due to lack of follow up.


Running on lower resolution images.

Hi! I have 640x360 images. I wonder if I can use the model directly on these lower resolution images without resizing to 616x1064.

Hi! I have 640x360 images. I wonder if I can use the model directly on these lower resolution images without resizing to 616x1064.

We cannot because the original ViT models do not support multiple input resolutions due to positional embeddings. All images should be resized/cropped to 616x1064 before feeding into the network.
There are some works exploring this like Patch n' Pack. However, we did not apply such techniques when training metric3d ViT models.

Yes there are many interesting solution like ViTAR


not working when window is not scrollable

Using the wrong offset.
My situation:

using the table's div tag as the scrollableArea because window was not the one being scrolled
led to bug where offsetTop was always 0. Because it was pulling from window's offset, not the scrollableArea's offset
fixed it using the following hack:

    base.toggleHeaders = function () {
      if (base.$el) {
        base.$el.each(function () {
          var $this = $(this),
            newLeft,
            newTopOffset = base.isWindowScrolling ? (
                  isNaN(base.options.fixedOffset) ?
                  $(base.options.fixedOffset).outerHeight() :
                  base.options.fixedOffset
                ) :
                base.$scrollableArea.offset().top +
                (!isNaN(base.options.fixedOffset) ?
                    base.options.fixedOffset : 0),
            offset = $this.offset(),

            scrollTop = base.$scrollableArea.scrollTop() + newTopOffset,
            scrollLeft = base.$scrollableArea.scrollLeft(),

            scrolledPastTop = base.isWindowScrolling ?
                scrollTop > offset.top :
                newTopOffset > offset.top,
            notScrolledPastBottom = (base.isWindowScrolling ? scrollTop : 0) <
                (offset.top + $this.height() - base.$clonedHeader.height() - (base.isWindowScrolling ? 0 : newTopOffset));

          //===============================================================
          //===
          // Hack to fix the bug.
          newTopOffset = scrollTop;
          //===
          //===============================================================

          if (scrolledPastTop && notScrolledPastBottom) {
            newLeft = offset.left - scrollLeft + base.options.leftOffset;
            base.$originalHeader.css({
              'position': 'fixed',
              'margin-top': 0,
              'left': newLeft,
              'z-index': 1 // #18: opacity bug
            });
            base.leftOffset = newLeft;
            base.topOffset = newTopOffset;
            base.$clonedHeader.css('display', '');
            if (!base.isSticky) {
              base.isSticky = true;
              // make sure the width is correct: the user might have resized the browser while in static mode
              base.updateWidth();
            }
            base.setPositionValues();
          } else if (base.isSticky) {
            base.$originalHeader.css('position', 'static');
            base.$clonedHeader.css('display', 'none');
            base.isSticky = false;
            base.resetWidth($('td,th', base.$clonedHeader), $('td,th', base.$originalHeader));
          }
        });
      }
    };

Jonas Good afternoon, I have a project in Yii and I'm using an extension called "multimodelform" and installed your jQuery "StickyTableHeaders" but when setting the header, is outside the div.
I hope not to ask the wrong place, yet would attach a picture so you understand my problem.

And This

how i can fix it?
I hope you can help me with the problem beforehand, thanks

@RoyArgaez does the my proposed hack help solve your problem?

@RoyArgaez The problem you're having looks more like it falls under this issue: https://github.com/jmosbech/StickyTableHeaders/issues/106
I added some suggestions to that issue.


Use 'requires static' for optional dependencies

Attempting to compile a project that depends on HikariCP results in the following exceptions:
java.lang.module.FindException: Module micrometer.core not found, required by com.zaxxer.hikari
java.lang.module.FindException: Module simpleclient not found, required by com.zaxxer.hikari
java.lang.module.FindException: Module javassist not found, required by com.zaxxer.hikari
java.lang.module.FindException: Module hibernate.core not found, required by com.zaxxer.hikari

Since all of these are defined as optional in the pom.xml of HikariCP, it also makes sense to mark them as such in the module-info.java file.
See https://nipafx.dev/java-modules-optional-dependencies

Never mind, I see that there's an already open PR for the same thing: https://github.com/brettwooldridge/HikariCP/pull/1587


Is there anyway to change variable in paths?

Need to change the appHtml variable, but seems no way to do that.

Hi @nanxiaobei
craco doesn't support this feature right now.
If what you need is to customize the template property of the HtmlWebpackPlugin plugin, I see 3 ways it could be done.
1- A PR to craco to support CRA paths override. Looking at the actual code of react-scripts it's very faisable to override the paths used by CRA. A section could be added to craco.config.js.
Something like:
{
    paths: {
        appHtml: ""
    }
}

2- A craco plugin could be created to override the HtmlWebpackPlugin in CRA
3- You could setup your craco config with something like this:
    webpack: {
        configure: (webpackConfig, { env }) => {
            webpackConfig.plugins = webpackConfig.plugins.map(plugin => {
                if (plugin.constructor.name === "HtmlWebpackPlugin") {
                    if (env === "development") {
                        plugin = new HtmlWebpackPlugin({
                            inject: true,
                            template: "[Your remplacement for paths.appHtml]"
                        });
                    } else {
                        plugin = new HtmlWebpackPlugin({
                            inject: true,
                            template: "[Your remplacement for paths.appHtml]",
                            minify: {
                              removeComments: true,
                              collapseWhitespace: true,
                              removeRedundantAttributes: true,
                              useShortDoctype: true,
                              removeEmptyAttributes: true,
                              removeStyleLinkTypeAttributes: true,
                              keepClosingSlash: true,
                              minifyJS: true,
                              minifyCSS: true,
                              minifyURLs: true,
                            }
                        })
                    }
                }

                return plugin;
            });

            return webpackConfig;
        }
    }

Hope it helps!

@patricklafrance
Thanks for your reply.
Seems like No. 1 solution is the best. Because I need to modify not just appHtml in HtmlWebpackPlugin, but also in react-scripts/scripts/start.js.
I will spend some time to find a way to do that. ^_^

@nanxiaobei any success? I also need a way to edit paths with craco.

@nanxiaobei no :(

Still not implemented?


Spelling error in exception class

InvalidArgumentExcpetion should be InvalidArgumentExcepetion.
See: ZF\Apigility\Doctrine\Server\Exception\InvalidArgumentException
I would fix it but currently tests are broken (#224). I can also make a combined fix PR for everything, if you don't want separate fix PRs.

Fixed in https://github.com/zfcampus/zf-apigility-doctrine/blob/master/src/Server/Exception/InvalidArgumentException.php


Update FLARE-VM Installer

Update FLARE-VM installer at https://github.com/mandiant/flare-vm to use packages built/pushed from this repository

TODO:

[ ] Update documentation (OS/VM checks, have users disable Defender and Updates, word it saying we've tested it on XYZ)
[ ] Make XML file of all packages
[ ] Basic GUI to select packages to installer


The update to 2.2.4 caused some amd modules to be detected as commonjs

This file is being detected as commonjs:
https://github.com/moment/moment/blob/develop/moment.js
Reverting back to 2.2.3 fixed the problem

Hey @lellimecnar! Thanks for filing the issue!
UMD files are interesting in that they're commonjs or amd depending on the environment.
The 2.2.3 implementation searched through the entire file before determining the type – so the AMD define was found after the commonjs module.exports. Now, we stop searching as soon as we have enough information to determine the module type.
Technically, we could interpret that file as CommonJS because that's the first import mechanism listed. That file being considered AMD is only a coincidence.
So that I have a better understanding of your needs, in what way are you using module-definition that you need this file to be considered AMD?
cc @pahen

I use it to determine if a file needs to be transpiled before running in
the browser. Is there any chance for adding "UMD" as a possible return
value?
On Wed, Aug 24, 2016, 7:22 PM Joel Kemp<EMAIL_ADDRESS>wrote:

Hey @lellimecnar https://github.com/lellimecnar! Thanks for filing the
issue!
UMD files are interesting in that they're commonjs or amd depending on the
environment.
The 2.2.3 implementation searched through the entire file before
determining the type – so the AMD define was found after the commonjs
module.exports. Now, we stop searching as soon as we have enough
information to determine the module type.
Technically, we could interpret that file as CommonJS because that's the
first import mechanism listed. That file being considered AMD is only a
coincidence.
So that I have a better understanding of your needs, in what way are you
using module-definition that you need this file to be considered AMD?
cc @pahen https://github.com/pahen
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/mrjoelkemp/module-definition/issues/24#issuecomment-242256158,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABCXgwybpObIH3kugeH3E_2AlLtMs_ccks5qjO5cgaJpZM4JsNhz
.

Thanks for clarifying @lellimecnar. It's definitely possible and a better option than choosing commonjs or amd based on which one is listed first. Are you open to creating that PR? I'd be happy to review it.

@lellimecnar I've been thinking about this issue quite a bit. As much as I think a UMD type is clear, I'm not sure that I see the benefit that this would provide.
From an implementation perspective, detecting the umd type would involve sniffing the entire file for both amd and commonjs import mechanisms. Sniffing the entire file/ast was a very time consuming operation (see https://github.com/dependents/module-definition/pull/23). Now, we stop when we've found the first identifiable import mechanism.
Looking at the UMD variations, it seems that there are forms that would make the file be identified (if we continue to stop once we identify an import mechanism) as AMD over CommonJS. There are also other forms of UMD that do the opposite.
Taking a step back though, in your determination of whether or not a file needs to be transpiled, what does the module type have to do with this? Do you have an example repo for more details? I'd like to understand what you're going for to determine if there's a different path that avoids the need for UMD support.

I'm open to a PR that introduces a flag to allow a deep search to determine if a file is of the UMD type. Happy to review such a PR.
Alsi happy to reopen this if there's interest in continuing the discussion.


[Hotfix] Missing import for HaMapUtilities in MapConfig.

Apologies, looks like I missed an import when I cleaned up some I thought were unused.
Fixes https://github.com/nathan-gs/ha-map-card/issues/50

Oops, fixed it myself (added eslint)


Documentation of Collection#add/create missing to mention options passed down during Model creation

In the Backbone 1.3.3 docs it is only mentioned in the section for the property Collection#model that:

If defined, you can pass raw attributes objects (and arrays) to add, create, and reset, and the attributes will be converted into a model of the proper type.

Leaving undocumented the fact that options can also be provided to be passed along to the creation of the model. As it's visible in:

https://github.com/jashkenas/backbone/blob/master/backbone.js#L889
https://github.com/jashkenas/backbone/blob/master/backbone.js#L1137

The lack of this small comment makes it appear in first instance like a limiting factor when handling creation of models directly through collections.

I created a small PR with the proposed changes in https://github.com/jashkenas/backbone/pull/4190

Thanks!


Update deprecated APIs

Warning: apiextensions.k8s.io/v1beta1 CustomResourceDefinition is deprecated in v1.16+, unavailable in v1.22+; use apiextensions.k8s.io/v1 CustomResourceDefinition
Warning: admissionregistration.k8s.io/v1beta1 MutatingWebhookConfiguration is deprecated in v1.16+, unavailable in v1.22+; use admissionregistration.k8s.io/v1 MutatingWebhookConfiguration
Warning: admissionregistration.k8s.io/v1beta1 ValidatingWebhookConfiguration is deprecated in v1.16+, unavailable in v1.22+; use admissionregistration.k8s.io/v1 ValidatingWebhookConfiguration

At least CRD requires also fixing of tests and the default value handling of protocol.

@mumoshu please add the chore label to this issue to prevent the bot killing it. This will certainly need doing or the solution will stop working on modern k8s instances

Any chance of updating admissionregistration.k8s.io/v1beta1 in the charts? We are getting "build" failures on lint.

@jwalters-gpsw Hey! Thanks for reporting. As I have other high-priority items now, would you mind submitting a PR for that? I thought we've already migrated to newer controller-runtime and controller-gen in #629 and upgraded admissionregistration API used in the kustomize config. Perhaps you can make similar manual changes in the chart.

Also note that CRDs have already been upgraded to the v1 API in #629

I thought we've already migrated to newer controller-runtime and controller-gen in #629

Apparently, we only migrated to the newer API for newly generated resources. There are still a few remaining resources to be upgraded. You can try removing webhookVersions=v1beta1 annotations in webhook-related types in our go code and run make manifests to regenerate.


Apply Force and Torque GUI plugin

🎉 New feature
Partially addresses #306
Summary

Adds a new ApplyForceTorque GUI plugin, essentially implementing the Apply Force and Torque interface that we have in Gazebo Classic.
This allows users to apply a specified force and torque to a chosen link in a model upon pressing a button. The implementation takes advantage of the existing ApplyLinkWrench system, sending the wrenches to the /world/<world_name>/wrench topic.
However, a current limitation is that applying the force with an offset from the link origin is not supported, since it is not implemented in ApplyLinkWrench.
Test it

Open a test world that has the ApplyLinkWrench system.
gz sim src/gz-sim/examples/worlds/apply_link_wrench.sdf

Load the Apply Force Torque plugin from the plugin dropdown.
On the interface, input the desired force and torque. The model is selected from the scene, and the specific link is specified through a dropdown on the interface. Buttons are available to apply either just a force, just a torque or both at the same time.

Checklist

[x] Signed all commits for DCO
[ ] Added tests
[ ] Added example and/or tutorial
[ ] Updated documentation (as needed)
[ ] Updated migration guide (as needed)
[ ] Consider updating Python bindings (if the library has them)
[x] codecheck passed (See contributing)
[x] All tests passed (See test coverage)
[ ] While waiting for a review on your PR, please help review another open pull request to support the maintainers

Note to maintainers: Remember to use Squash-Merge and edit the commit message to match the pull request summary while retaining Signed-off-by messages.

Thanks for the feedback. I addressed the requested changes in 6fbbfc0.

@osrf-jenkins run tests please

Changes addressed in ca1c904.

You're right, I hadn't noticed that. I changed the application to the body fixed frame and added an indication to the GUI, so it's more consistent with Gazebo-Classic.


Updated for SDN 3.0

:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Remove useless .keep files

Interesting - while most of the .keep files are in dirs populated with other files, removing app/mailers/.keep will cause directory app/mailers to be removed.
Is Rails OK with that?


Fix: no space between 3 dots and admin

Add Margin-left: 12px, spacing.ml3, to the peopleBadgestyle

Details

Fixed Issues

$ #32967
PROPOSAL: #32967 (comment)
Tests

Open the app and login with user having long username
Click on plus and click on start chat
Observe that we maintain gap between 3 dots of username and 'Add to group' button
Similarly, open settings->workspaces->any workspace->members
Observe that there is no space between 3 dots of username and admin tab
There should be some spacing between the dots and the admin tag

[x] Verify that no errors appear in the JS console

Offline tests

QA Steps

Open the app and login with user having long username
Click on plus and click on start chat
Observe that we maintain gap between 3 dots of username and 'Add to group' button
Similarly, open settings->workspaces->any workspace->members
Observe that there is no space between 3 dots of username and admin tab
There should be some spacing between the dots and the admin tag

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

I have read the CLA Document and I hereby sign the CLA

hey @youssef-lr this is my 1st PR with Expensify, do I have to worry about the failed Perfotmance test

Haha weird, it's just a style change, I can't imagine how it can affect performance 😄. I'm gonna re-run it and see.

Not an emergency, this is just a minor style change and can't affect performance.

🚀 Deployed to staging by https://github.com/youssef-lr in version: 1.4.16-2 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/mountiny in version: 1.4.16-5 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

@youssef-lr any idea why the payment is not processed?

@dragnoir @youssef-lr Please, don't forget that screenshots need to be added to the checklists and both checklists are missing them so the chance of causing a regression is much higher.


FIX: Find CompositeField actions

Without recursive search for Actions this code block won't work:
 public function getCMSActions()
 {
        $actions = parent::getCMSActions();

        $actions->addFieldsToTab('ActionMenus.MoreOptions', [
            CustomAction::create('doCreateDefaultElements', 'Create Default Blocks'),
        ]);

        return $actions;
}

So you won't be able to add an action to submenu

@a2nt good stuff!


370 create a metrics page on the site

Closes #370

PR-Codex overview
The focus of this PR is to reorganize the documentation structure by moving the metrics content to a separate file and updating references accordingly.
Detailed summary

Moved metrics content to a separate file metrics.md.
Updated references to metrics in various files.
Added a CLI command reference in the metrics.md file.

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

@deemp Thanks for the contribution! You've earned +5 points for this: +20 as a basis; +5 for 103 hits-of-code; -7 for too many hits-of-code (103 >= 100); -15 for the lack of code review; -5 for 0 comments of reviewers; +7 to give you at least something. Please, keep them coming. Your running balance is +45.


Posting (editing) recording caused existing data to be cleared

It is required to include existing recording information, like ISRC, when adding a URL relation, otherwise the ISRC will be cleared.

Captured web-form from adding a Spotify-URL to a recording which already had ISRC value:

Form key
Form value

edit-recording.name
Mis ik jou

edit-recording.artist_credit.names.0.name
Acda en De Munnik

edit-recording.artist_credit.names.0.join_phrase

edit-recording.artist_credit.names.0.artist.name
Acda en De Munnik

edit-recording.artist_credit.names.0.artist.id
61909

edit-recording.comment

edit-recording.isrcs.0
NLD049801008

edit-recording.url.0.text
https://open.spotify.com/track/3ZDO5YINwfoifRQ3ElshPM

edit-recording.url.0.link_type_id
268

edit-recording.edit_note


Test is not being executed / header file does not exist

Problem file: test/unit/math/fwd/mat/vectorize/fwd_scalar_unary_test.hpp
The included header file, test/unit/math/prim/mat/vectorize/expect_types.hpp does not exist. I suspect this is not being picked up because the test file has a *.hpp file extension, causing it to not be picked up by the automated test script.
Current version: develop HEAD (as of 3 days ago).

Good catch, will fix this and add a check to the check script to search for _test.hpp files.

There is actually more of this _test.hpp files. Though other probably dont fail so they werent a problem for you.
After I updated the check script.
test/unit/math/fwd/mat/vectorize/fwd_scalar_unary_test.hpp:
	 A *_test.hpp file found. Must be *_test.cpp to run.
test/unit/math/rev/mat/vectorize/rev_scalar_unary_test.hpp:
	 A *_test.hpp file found. Must be *_test.cpp to run.
test/unit/math/mix/mat/vectorize/mix_scalar_unary_test.hpp:
	 A *_test.hpp file found. Must be *_test.cpp to run.


docker examples

The quickstart page uses this broken links: https://github.com/golemcloud/golem-services/blob/main/docker-examples/docker-compose.yaml (docker-compose.yaml does not exist)

The actual docker-compose files in the docker-examples do not run per the given instructions reproduced below, given the required link correction:

curl -sSL https://raw.githubusercontent.com/golemcloud/golem-services/main/docker-examples/docker-compose-sqlite.yaml> docker-compose.yaml
docker-compose up
WARN[0000] The "REDIS_PORT" variable is not set. Defaulting to a blank string.
WARN[0000] The "REDIS_PORT" variable is not set. Defaulting to a blank string.
WARN[0000] The "SHARD_MANAGER_HTTP_PORT" variable is not set. Defaulting to a blank string.
WARN[0000] The "SHARD_MANAGER_GRPC_PORT" variable is not set. Defaulting to a blank string.
WARN[0000] The "SHARD_MANAGER_GRPC_PORT" variable is not set. Defaulting to a blank string.
WARN[0000] The "GOLEM_SERVICE_GRPC_PORT" variable is not set. Defaulting to a blank string.
WARN[0000] The "GOLEM_SERVICE_HTTP_PORT" variable is not set. Defaulting to a blank string.
WARN[0000] The "GOLEM_SERVICE_HTTP_PORT" variable is not set. Defaulting to a blank string.
WARN[0000] The "GOLEM_SERVICE_HTTP_PORT" variable is not set. Defaulting to a blank string.
WARN[0000] The "GOLEM_SERVICE_GRPC_PORT" variable is not set. Defaulting to a blank string.
WARN[0000] The "GOLEM_SERVICE_GRPC_PORT" variable is not set. Defaulting to a blank string.
WARN[0000] The "REDIS_PORT" variable is not set. Defaulting to a blank string.
WARN[0000] The "GOLEM_SERVICE_GRPC_PORT" variable is not set. Defaulting to a blank string.
WARN[0000] The "WORKER_EXECUTOR_GRPC_PORT" variable is not set. Defaulting to a blank string.
WARN[0000] The "WORKER_EXECUTOR_HTTP_PORT" variable is not set. Defaulting to a blank string.
WARN[0000] The "SHARD_MANAGER_GRPC_PORT" variable is not set. Defaulting to a blank string.
WARN[0000] The "WORKER_EXECUTOR_HTTP_PORT" variable is not set. Defaulting to a blank string.
WARN[0000] The "WORKER_EXECUTOR_HTTP_PORT" variable is not set. Defaulting to a blank string.
validating /Users/johncoleman/golemcloud/docker-compose.yaml: services.golem-service.ports array items[0,1] must be unique

It would be useful to provide script to configure the ports which presumably would fix these issues, or just provide some sensible defaults such that the docker-compose is readily executable.

Thanks for reporting this

@JohnSColeman  If you could refer README while we update the quick start guide to get things going.
We are in the process of refining the documentation and site updates. Once again, thanks for proposing solutions/raising issues.

https://github.com/golemcloud/golem-services/blob/main/README.md

Documentation has been updated


[FEATURE REQUEST] Provide way for other frameworks to auto-update plugins

Is your feature request related to a problem? Please describe.
There exists a way for Genesis to auto-update itself when installed fresh or updated in a Unity project, but not for other frameworks that might leverage Genesis. Looking at Entitas Redux as a prime example, it would be nice if there were a way for other libraries or frameworks that built on top of genesis to be able to provide their own plugins which could get copied over any existing assemblies in the Plugins folder. The benefit of this is that a user could update their plugins in a few standard, easy ways.
Describe the solution you'd like
There should be some sort of plugin installer workflow or set of conventions that would allow Genesis to discover all plugins packages and copy them into the plugins folder.
Fresh Install of Genesis or Entitas Redux

Install Entitas Redux, which would add the Genesis package.
Configure their Genesis installation and install the CLI.
At the same time as the CLI was installed, all plugin packages could be discovered and would also be extracted/copied into the plugins folder. This could also be a manual step users could

Update Genesis

Updated package of Genesis is added.
Existing installation is found, auto-update prompt is launched and user clicks yes.
All plugin packages are discovered and copied to plugins folder.

Update Entitas Redux

Updated package of Entitas Redux is added.
Genesis auto-update hook is triggered,  auto-update prompt is launched and user clicks yes.
All plugin packages are discovered and copied to plugins folder.

Manual trigger by User

User wants to force a plugin update and clicks a button or selects a menu item to update plugin packages
Genesis auto-update hook is triggered, prompt is suppressed.
All plugin packages are discovered and copied to plugins folder.

Describe alternatives you've considered
For most users who are building their own plugins, it's probably just as easy to have a copy build step in their project that copies the plugin assemblies to the desired folder. This feature would be less useful in that scenario; it's intended mostly to support other libraries or frameworks to be able to auto-update their plugins without requiring users to do this manually every time.
Additional context
This may need to take into account a minimum or required version of Genesis so that older or incompatible plugin packages issue a warning instead of being copied in, but I could also see that being kept as a separate issue as part of the main CLI program to identify that when loading plugins.
Since major or minor versions of Genesis would contain at least one breaking change, this would likely play into both:

How plugins would be auto-installed or not to the Genesis installation.
How plugins would be loaded by the Genesis.CLI; it would be ideal to detect out-of-date plugins and either:

Enable them to be loaded with a warning if on the same major, minor version.
Prevent them from being loaded if on an older or incompatible major, minor version.

This relates to the final instructions for installing Genesis here on the wiki.

This has been accomplished with the PluginInstallerConfiguration and new plugin loading flow merged to develop. Instructions on how to use PluginInstallerConfiguration can be found here.


Textual date representation

Source issue: https://github.com/metanorma/metanorma-jis/issues/9
From cover page:

Currently:

adoc:

:published-date: 2019-07-22

Presentation xml:

<date type="published">
<on>2019-07-22</on>
</date>

令和元年 - Google translated is as 2019
This sentence contains from two parts:

令和 means 'Reiwa era' https://en.wikipedia.org/wiki/Reiwa_era, from May 1, 2019
元年 means 'first year'
translate.ru (https://www.translate.ru/перевод/японский-английский?text=令和元年) shows The first year of Reiw

Note: for 2019 - there are two  years in Japanese notation

(from https://groups.oist.jp/resource-center/japanese-year-converter)
7 月22 日 - July 22

Right now we don't have a good gem that works with Japanese dates. It would be easier if we just ask the user to input the dates for now.

Right now we don't have a good gem that works with Japanese dates.

https://github.com/twitter/twitter-cldr-rb does Japanese Gregorian dates fine: https://github.com/twitter/twitter-cldr-rb/blob/b5256d83cdb8e90310ab4a28994407b7139f8394/resources/locales/ja/calendars.yml . For Japanese Imperial eras, there likely are several gems out there (remember where Ruby originated), but we haven't searched for them yet.

https://github.com/RyoYamamotoJP/japanese_calendar

Yes, but only to the extent of customising Gregorian calendars. The Thai Buddhist calendar used to be supported, and was retracted; there is no indication of any Japanese imperial calendar.

I've used twitter_cldr to make the era year spelled out, the gem I've used is numeric.

@opoudjis thanks!

As you can see, @Intelligent2013, I am slowly catching up on very old backlog...


PHP MacOS Interceptor Test Flake

There was 1 failure:

1) InterceptorTest::testClientChangeRequestInterceptor
Failed asserting that null is identical to 'intercepted_stream_request'.

/Volumes/BuildData/tmpfs/src/github/grpc/workspace_php_macos_dbg_native/src/php/tests/unit_tests/InterceptorTest.php:365

FAILURES!
Tests: 132, Assertions: 311, Failures: 1.

https://source.cloud.google.com/results/invocations/4875df59-bc5c-4915-ab99-13486c5e523f/log

This seems to be not happening recently.

I just saw this again:
https://source.cloud.google.com/results/invocations/8ee7aaf5-de17-4850-982d-1ee87a753cea/targets/github%2Fgrpc%2Frun_tests%2Fphp7_macos_opt_native%2Fsrc%2Fphp%2Fbin%2Frun_tests.sh/tests


Revert the unnecessary changes

Description
Revert the changes from https://github.com/Azure/azure-sdk-for-java/pull/37093, keep the same changes from https://github.com/MicrosoftDocs/azure-dev-docs-pr/pull/5004 and https://github.com/MicrosoftDocs/azure-dev-docs-pr/pull/5005
All SDK Contribution checklist:

[x] The pull request does not introduce [breaking changes]
[ ] CHANGELOG is updated for new features, bug fixes or other significant changes.
[x] I have read the contribution guidelines.

General Guidelines and Best Practices

[x] Title of the pull request is clear and informative.
[x] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[ ] Pull request includes test coverage for the included changes.

API change check
API changes are not detected in this pull request.


Make compatible with Python 3.12

This PR adds Python 3.11 and 3.12 to the CI build and addresses an issue that popped up when doing so (which blocks modal-client from being Python 3.12 compatible).
In Python 3.12, TypeVar no longer has a __dict__ attribute. I gather that is a result of the work done to implement PEP695, although I haven't surfaced any specific discussion of this apparently abrupt API break on TypeVar. That caused a few manipulations in synchronicity to fail.
Note that I don't fully understand the context for why some things are done the way they are in synchronicity (e.g. why we prefer manipulating __dict__ rather than using getattr/setattr; the diff here appears to work but could be simpler in some places!
Also 3.7 is EOL so we should probably remove that (in a separate PR).
Fixes #118

While passing tests, the following traceback is printed out when modal run exits:
Exception in thread Thread-1 (thread_inner):
Traceback (most recent call last):
  File "/usr/lib/python3.12/threading.py", line 1073, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.12/threading.py", line 1010, in run
    self._target(*self._args, **self._kwargs)
  File "/home/ubuntu/venvs/py312/lib/python3.12/site-packages/synchronicity/synchronizer.py", line 159, in thread_inner
    asyncio.run(loop_inner())
  File "/usr/lib/python3.12/asyncio/runners.py", line 193, in run
    with Runner(debug=debug, loop_factory=loop_factory) as runner:
  File "/usr/lib/python3.12/asyncio/runners.py", line 62, in __exit__
    self.close()
  File "/usr/lib/python3.12/asyncio/runners.py", line 72, in close
    loop.run_until_complete(
  File "/usr/lib/python3.12/asyncio/base_events.py", line 684, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/asyncio/base_events.py", line 596, in shutdown_default_executor
    thread.start()
  File "/usr/lib/python3.12/threading.py", line 992, in start
    _start_new_thread(self._bootstrap, ())
RuntimeError: can't create new thread at interpreter shutdown

I suspect this is Python 3.12 related because I found an issue on sentry-python describing the same problem, also only on 3.12. I would like to fix this before merging this PR (but I don't totally understand it, or how to reproduce it outside of modal, right now).

Here is the relevant Python change: https://github.com/python/cpython/commit/ce558e69d4087dd3653207de78345fbb8a2c7835

Ahhh, graceful shutdown handling in synchronicity has been a long standing issue in general and has been on my todo. I even started a PR working on related code here: https://github.com/modal-labs/synchronicity/pull/113

I still can't quite figure out how we're tripping the "can't start a new thread at shutdown" exception shown above. How do we feel about just swallowing it, e.g.
@@ -156,7 +156,11 @@ class Synchronizer:
                     is_ready.set()
                     await self._stopping.wait()  # wait until told to stop

-                asyncio.run(loop_inner())
+                try:
+                    asyncio.run(loop_inner())
+                except RuntimeError as exc:
+                    if "can't create new thread at interpreter shutdown" not in str(exc):
+                        raise exc

             self._thread = threading.Thread(target=thread_inner, daemon=True)
             self._thread.start()

In my experience it has been things like standard library dns lookups in shutdown handlers that trigger this error, since they use run_in_executor to convert the blocking lookup into a thread. That it happens with Modal is probably due to shutdown handlers doing network requests. Not trivial to fix, so maybe worth just swallowing the exception for now and add a comment about revisiting once we have refactored shutdown handlers?


json rpc 2.0

Json rpc 2 packs returned data into result parameter, for instance:
{"jsonrpc": "2.0", "result": 19, "id": 3}

Any error is reported back in error parameter:
{"jsonrpc": "2.0", "error": {"code": -32601, "message": "Method not found"}, "id": "1"}

We could say that result and error are optional parameter because if request is successful the error parameter is not required, and if error is returned no result parameter is returned.
I tested FsPicker json deseralization on the following data:
type ErrorData =
    {
        code: int
        message: string
    }

type JsonRpcResponse<'T> =
    {
        result: 'T
        error: ErrorData
    }

type AccountDetailsResponse =
    {
        currencyCode: string
        firstName: string
        lastName: string
        localeCode: string
        region: string
        timezone: string
        discountRate: double
        pointsBalance: int
    }

let runTest() =
    let json = """{"jsonrpc":"2.0","result":{"currencyCode":"EUR","firstName":"Stefan","lastName":"Belopotocan","localeCode":"en","region":"GBR","timezone":"CET","discountRate":0.0,"pointsBalance":0},"id":1}"""
    let json2 = """{"result":{"currencyCode":"EUR","firstName":"Stefan","lastName":"Belopotocan","localeCode":"en","region":"GBR","timezone":"CET","discountRate":0.0,"pointsBalance":0},"error":{"code":-32700,"message":"DSC-0008"}}"""

    let jsp = FsPickler.CreateJson(indent = true, omitHeader = true)

    let data = jsp.UnPickleOfString<JsonRpcResponse<AccountDetailsResponse>>(json2)

    printfn "%A" data

For “json” data this code throws exeception:
{"expected property 'result' but was 'jsonrpc'."}

Because json data starts with the parameter:  jsonrpc, what is just syntactical sugar for json rpc 2 response message. If I remove parts which are not used by my mapping model: JsonRpcResponse and use sample defined by json2 value, the data are deserialized correctly, but that is not the way how real json api responses are used in my application, as the same api method could returned response without some optional parameters.
What was my first naïve approach was to declare error parameter as optional but it does not work. Even if you change order of properties, for instance in the record
AccountDetailsResponse you declare currencyCode as third parameter and not as the first one as it is returned by api, then deserialization fails. In real api applications you do not need to map all api models to your domain models as well.
It would be nice if your library would map only selected properties skipping not used ones.

Actually not json.net, but NetJSON if you did not hear about it yet. Definitely better performance with NetJSON.


[regression] Assertion with java.awt.Path2D object usingRecursiveComparison().isEqualsTo() fails in 3.23.0+

Describe the bug
The following assertion passes for versions ≤ 3.22.0:
import java.awt.geom.Path2D;

import static org.assertj.core.api.Assertions.assertThat;

public class Main {
  @SuppressWarnings("DuplicatedCode")
  public static void main(String... args) {
    var path1 = new Path2D.Float();
    path1.moveTo(0, 0);
    path1.lineTo(10, 0);
    path1.curveTo(13, 2, 13, 5, 10, 7);
    path1.lineTo(0, 7);
    path1.curveTo(-3, 5, -3, 2, 0, 0);
    path1.closePath();

    var path2 = new Path2D.Float();
    path2.moveTo(0, 0);
    path2.lineTo(10, 0);
    path2.curveTo(13, 2, 13, 5, 10, 7);
    path2.lineTo(0, 7);
    path2.curveTo(-3, 5, -3, 2, 0, 0);
    path2.closePath();

    assertThat(path1)
        .usingRecursiveComparison()
        .isEqualTo(path2);
  }
}

But from version 3.23.0+, we get the following instead:
Exception in thread "main" java.lang.AssertionError:
Expecting actual:
  java.awt.geom.Path2D$Float@6325a3ee
to be equal to:
  java.awt.geom.Path2D$Float@1d16f93d
when recursively comparing field by field, but found the following difference:

Top level actual and expected objects differ:
- actual value  : java.awt.geom.Path2D$Float@6325a3ee
- expected value: java.awt.geom.Path2D$Float@1d16f93d

The recursive comparison was performed with this configuration:
- no overridden equals methods were used in the comparison (except for java types)
- these types were compared with the following comparators:
  - java.lang.Double -> DoubleComparator[precision=1.0E-15]
  - java.lang.Float -> FloatComparator[precision=1.0E-6]
  - java.nio.file.Path -> lexicographic comparator (Path natural order)
- actual and expected objects and their fields were compared field by field recursively even if they were not of the same type, this allows for example to compare a Person to a PersonDto (call strictTypeChecking(true) to change that behavior).

	at Main.main(Main.java:26)

Additional context
After debugging a bit, it seems that the problem is in the RecursiveComparisonDifferenceCalculator.mustCompareFieldsRecursively():
private boolean mustCompareFieldsRecursively(DualValue dualValue) {

  return !recursiveComparisonConfiguration.hasCustomComparator(dualValue)   // <- evals to 'true'
         && !shouldHonorEquals(dualValue, recursiveComparisonConfiguration) // <- evals to 'true'
         && dualValue.hasNoContainerValues();
         //            ^
         //            |
         //  This evaluates to 'false'. I believe is because the class Path2D.Float
         //  has its data in arrays and not in java collection type containers.

}

assertj core version: 3.22.0+
java version: Java 11
test framework version: JUnit 4

Test case reproducing the bug
Add a test case showing the bug that we can run
public class SomeTest {
  @Test
  public void test() {
    var path1 = new Path2D.Float();
    path1.moveTo(0, 0);
    path1.lineTo(10, 0);
    path1.curveTo(13, 2, 13, 5, 10, 7);
    path1.lineTo(0, 7);
    path1.curveTo(-3, 5, -3, 2, 0, 0);
    path1.closePath();

    var path2 = new Path2D.Float();
    path2.moveTo(0, 0);
    path2.lineTo(10, 0);
    path2.curveTo(13, 2, 13, 5, 10, 7);
    path2.lineTo(0, 7);
    path2.curveTo(-3, 5, -3, 2, 0, 0);
    path2.closePath();

    assertThat(path1)
        .usingRecursiveComparison()
        .isEqualTo(path2);
  }
}

thanks for the detailed report @higuaro

Can you probably identify if an object does not override equals and print a warning in that case?

I'm not sure we want a warning for a situation that is normal, we could instead make it clear in the recursive comparison config displayed when the tests run that the java types are compared with their equals method


Syntax highlight using Pygments

I'd like to add support for Pygment code syntax highlighting -- but I am having trouble figuring out where in the plugin lifecycle this needs to happen. Any plugin documentation or examples you can point me to @koenbok please?

would be really great to add pygments here :+1:

@vyscond -- I made a pull request with my changes. It's a tiny piece of code, so should be easy to integrate it into your own setup. Grab it and let me know what you think.

The pull request is here: https://github.com/koenbok/Cactus/pull/227

Got it. But i think you need to add pygments to dependencies. Right now you plugin kind assumes that we have pygments installed as a global package. Right?

Correct. I've not defined dependencies properly but the import statements are pretty clear :)

Is the intention to syntax highlight markdown?
I'm currently achieving this by adding the fenced-code-block extension to the markdown template tag (which detects and uses pygments when available):
{% filter markdown:"fenced-code-blocks" %}
```python
PAGE_URL = '{slug}/'
PAGE_SAVE_AS = '{slug}/index.html'

{% endfilter %}

So there may not be any need for an additional cactus plugin.

in this case you installed pygments globally?

I use a virtualenv for Cactus so I've got pygments installed in there. You could install it globally if you prefer.
The nice thing with the MD template tag and the (built in) fenced-code-blocks extension, there's no hard dependency on pygments.

I think this "problem"/"request" is more related to people using the mac app.

@vyscond - oh right... in that case, yeah, install it globally or go hacking around inside the OS X application package.
We should start making use of 'labels'.... @krallin @koenbok - I'd be happy to help with that sort of housekeeping if it's possible to assign that role without giving out commit rights.

I can't think about any terrible thing right now about including pygments as default dependency on both environments. May add a app option too turn/switch on/off the pygment render. I think...

@vyscond This request/issue is not specific to the mac app at all

@vyscond - I'd prefer to see it remain optional in the core cactus package. It's really an optional/extended feature. Once it's set as a dependency the matters of ongoing stability, compatibility, etc. become more critical.
As it currently stands, it's super simple to install pygments via pip and the python markdown engine will use it if it's available. If the markdown project deemed it essential for markdown authors, then we'd be picking it up via that dependency chain. Their approach seems to support my point above.
For the mac app, then it may be more logical to include pygments if the target audience are writing markdown with code. But that's a separate decision process anyways.


[stable/rethinkdb] Implement storageClass

The cluster.persistentVolume.storageClass was never used and would never
properly populate the volumeClaimTemplate.
This also adds the convention that "-" will set the null storage class
(as this is a pretty common convention).
@meenie
Is this a new chart
No
What this PR does / why we need it:
The cluster.persistentVolume.storageClass was documented but never used/implemented.
Which issue this PR fixes
N/A
Special notes for your reviewer:
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

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

/ok-to-test

@lachie83
@prydonius
@sameersbn
@viglesiasce
@unguiculus
@scottrigby
@mattfarina
@davidkarlsen
@paulczar
@cpanato
@jlegrone
@maorfr
Could you guys lgtm this please?

/lgtm
would you mind avoiding such mass pings?


Mediapipe lagging with Tkinter

I've been trying to use Mediapipe detection model with Tkinter but the result is a very laggy video. Here is the code I'm using:
import cv2
from custom_funcs import mediapipe_detection
from custom_funcs import  draw_styled_landmarks
from custom_funcs import mp_holistic
from tkinter import *
import cv2
from PIL import Image, ImageTk

width, height = 800, 600

cap = cv2.VideoCapture(0)

cap.set(cv2.CAP_PROP_FRAME_WIDTH, width)
cap.set(cv2.CAP_PROP_FRAME_HEIGHT, height)

app = Tk()
app.bind('<Escape>', lambda e: app.quit())

label_widget = Label(app)
label_widget.pack()

def open_camera():

 with mp_holistic.Holistic(min_detection_confidence=0.5, min_tracking_confidence=0.5) as holistic:
    ret, frame = cap.read()
    image, results = mediapipe_detection(frame, holistic)
    draw_styled_landmarks(image, results)

  opencv_image = cv2.cvtColor(image, cv2.COLOR_BGR2RGBA)
  captured_image = Image.fromarray(opencv_image)
  photo_image = ImageTk.PhotoImage(image=captured_image)
  label_widget.photo_image = photo_image
  label_widget.configure(image=photo_image)

  label_widget.after(1, open_camera)

button1 = Button(app, text="Open Camera", command=open_camera)
button1.pack()

app.mainloop()

Here's the code written in custom_funcs module:
import cv2
import numpy as np
import mediapipe as mp

mp_holistic = mp.solutions.holistic
mp_drawing = mp.solutions.drawing_utils

def extract_keypoints(results):
    lh = np.array([[res.x, res.y, res.z] for res in results.left_hand_landmarks.landmark]).flatten() if results.left_hand_landmarks else np.zeros(21*3)
    rh = np.array([[res.x, res.y, res.z] for res in results.right_hand_landmarks.landmark]).flatten() if results.right_hand_landmarks else np.zeros(21*3)
    return np.concatenate([lh, rh])

def mediapipe_detection(image, model):
    image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
    image.flags.writeable = False
    results = model.process(image)
    image.flags.writeable = True
    image = cv2.cvtColor(image, cv2.COLOR_RGB2BGR)
    return image, results

def draw_styled_landmarks(image, results):
    mp_drawing.draw_landmarks(image, results.left_hand_landmarks, mp_holistic.HAND_CONNECTIONS,
                             mp_drawing.DrawingSpec(color=(121,22,76), thickness=2, circle_radius=4),
                             mp_drawing.DrawingSpec(color=(121,44,250), thickness=2, circle_radius=2)
                             )
    mp_drawing.draw_landmarks(image, results.right_hand_landmarks, mp_holistic.HAND_CONNECTIONS,
                             mp_drawing.DrawingSpec(color=(245,117,66), thickness=2, circle_radius=4),
                             mp_drawing.DrawingSpec(color=(245,66,230), thickness=2, circle_radius=2)
                             )

@kuaashish

Hi @NishanthThePythoner,
We apologize for the delay in responding. We have noticed that your current standalone code utilizes the legacy holistic solution which has been upgraded to the new Holistic Task API, which offers improved functionality. The new Task APIs simplify the process of building and customizing machine learning solutions for your applications and support for legacy Holistic solution is completely ended.
Would you be willing to try out the new HolisticLandmarker task APIs available here? Please let us know if you encounter any issues during implementation. We apologize to inform you that documentation for implementing the new Holistic Task API is not yet available, but we are actively working on it and will be out soon.
Thank you!!


Implementation of chat using SignalR

This step includes fully implemented chat, which will use SignalR technology. The chat will provide users functionality for writing comments, sending references to recipes, which they have made and another stuff. The moderators in the web system have to moderate all the sent messages and they will have rights for editing/deleting these messages.

I have a problem with unexpected disconnection after successfully received message in the client UI.
The error message is: "Uncaught (in promise) Error: Invocation canceled due to the underlying connection being closed." at line 16 in signalr.min.js.

Finish general implementation that is planned. The issue will be reopened if we add new functionality of modify the existing one.

Finish general implementation that is planned. The issue will be reopened if we add new functionality of modify the existing one.


[Bug]: PaDiM models trained with custom dataset are not deterministic

Describe the bug
Training PaDiM models (and possibly other models as well, I have not tried those) with the same parameters and seeds results in different results during inference.
The same PaDiM model is deterministic when I run inference on it multiple times. The problem only occurs if I train a new model and run inference again.
I have tried the various settings and trained both on CPU and GPU, but the results remain non-deterministic.
Things I have tried (besides setting the seed for the Folder datamodule):

Trained on GPU
Trained on CPU
Set num_workers to 0
Passed {'deterministic': True} as **kwargs for Trainer to Engine API call
Set the following parameters/seeds to prevent non-determinism (some for GPU and some for CPU):

os.environ["CUBLAS_WORKSPACE_CONFIG"] = ":4096:8"
os.environ["MKL_NUM_THREADS"] = "1"
os.environ["NUMEXPR_NUM_THREADS"] = "1"
os.environ["OMP_NUM_THREADS"] = "1"
os.environ["OPENBLAS_NUM_THREADS"] = "1"
os.environ["PL_GLOBAL_SEED"] = str(seed)
os.environ["PL_SEED_WORKERS"] = f"{int(True)}"
random.seed(seed)
np.random.seed(seed)
torch.manual_seed(seed)
torch.cuda.manual_seed_all(seed)
torch.use_deterministic_algorithms(mode=True)
torch.backends.cudnn.deterministic = True
torch.backends.cudnn.benchmark = False

Is this impossible to prevent? Or is there another setting I am missing?
Dataset
Folder
Model
PADiM
Steps to reproduce the behavior

Install anomalib 1.0.0dev0
Run script with suggested API calls and Folder datamodule that gets passed my seed (42). Engine is setup with task=TaskType.CLASSIFICATION and image_metrics=['F1AdaptiveThreshold']
Export model in torch format
Run inference with TorchInferencer and same settings for Folder datamodule.

OS information
OS information:

OS: Windows 11
Python version: 3.10.0
Anomalib version: 1.0.0dev
PyTorch version: 2.1.2
CUDA/cuDNN version: 12.1
GPU models and configuration: RTX 4090
Custom Dataset

Expected behavior
Identical results during inference for every PaDiM model trained with same parameters and seed.
Screenshots
No response
Pip/GitHub
GitHub
What version/branch did you use?
No response
Configuration YAML
(API calls)

Logs
-

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Have you tried to hard determine the test split images? E.g. setting test_split_ratio = 1.0 and val_split_ratio = 1.0 (These might not be useful settings and I'm not sure if it will even work, but I faced some issues that the test and val split were not deterministic even though everything was set to deterministic before. Which might result from the fact the manual_seed is called again here: https://github.com/openvinotoolkit/anomalib/blob/13b6a7cb3cb1f7dc0172923779602c4ac380ab0c/src/anomalib/data/utils/split.py#L117-L122

Also you could try to debug non deterministic actions https://pytorch.org/docs/stable/generated/torch.set_deterministic_debug_mode.html#torch.set_deterministic_debug_mode
use CUBLAS_WORKSPACE_CONFIG=:16:8 as well as CUBLAS_WORKSPACE_CONFIG=:4096:8

Update:
I managed to get everything deterministic by setting the above mentioned parameters/seeds again in the torch_model.py file of the padim model. Not sure if some parameters have to be set there to have any effect (currently I'm setting them in my own script with the API calls to anomalib) or if some of them are reset/changed at some point between me calling anomlib and anomalib calling the torch model.
I'll have to investigate which settings exactly need to be set to speed up the training again, since it is (expectedly) very slow this way. But I'll close this issue for now since the main problem is solved.


Add date to rmarkdown file output name when clicking "knit"

Describe the bug
I am using rmarkdown within VSCode, and would like to automatically add today's date to the output filename when clicking the 'knit' button.  I see that this feature was requested here and added in PR #765, however, I can't get it to work.
To Reproduce
Steps to reproduce the behavior:

Create file test.Rmd that contains the following code:

---
title: "hello world"
knit: (function(input, ...) {
    rmarkdown::render(
      input,
      output_file = paste0(
        xfun::sans_ext(input), '-', Sys.Date(), '.html'
      ),
      envir = globalenv()
    )
  })
---

hello world

Click on Knit > Rmd button:

Unfortunately, the output filename is test.html and does not contain the date:

Note after clicking the knit button, the following command is automatically called (which I suspect is causing the date to be removed from the filename):
rmarkdown::render("test.Rmd", encoding = "UTF-8")
Environment (please complete the following information):

OS: macOS but I am using VSCode to connect to a remote server where I am using Rmarkdown/R for analysis
VSCode Version: 1.69.1
R Version: 4.1.3
vscode-R version: v\2.5.2

I can't replicate this locally -- I'd just like to double check that you have enabled the VSC setting rmarkdown.knit.useBackgroundProcess as otherwise vscode-R will default to standard knitting in the interactive terminal

I can't replicate this locally -- I'd just like to double check that you have enabled the VSC setting rmarkdown.knit.useBackgroundProcess as otherwise vscode-R will default to standard knitting in the interactive terminal

It works now after checking that box.  Thanks!


Documented float

Don't hesitate to document several classes within the same commit when it's small classes like that, it would be less demanding on Travis-CI builds ;)

@akien-mga also if you add [ci skip] anywhere in the commit message, the Travis build won't run. It's a nice thing to mention in the docs guide.

Yeah, but I'm actually more concerned about having a readable git history than a low CI usage to be honest, if we get lots of small documentation PRs it will become hard to spot actual code changes in the logs.


Correct spelling mistakes in documentation and UI text

What changed? Why?
Corrected spelling mistakes in documentation and UI text:
verifable → verifiable
Langauge → Language x2.
Feedbak → Feedback
These changes improve the clarity and accuracy of the documentation and user interface.
Notes to reviewers

Please verify that all corrected spellings are consistent throughout the documentation and UI.
Ensure that no functionality was affected by these text changes.
Review the corrected terms to make sure they align with the overall style guide.

How has it been tested?

Manually reviewed the affected documentation and UI components to confirm spelling corrections.
Verified that no other content or functionality was unintentionally altered.

🟡 Heimdall Review Status

Requirement
Status
More Info

Reviews

🟡
0/1

Denominator calculation

Show calculation

1 if user is bot
0

1 if user is external
0

From .codeflow.yml

1

Additional review requirements

Show calculation

Max
0

0

From CODEOWNERS

0

Global minimum
0

Max

1

1

1 if commit is unverified
0

Sum
1

@brendan-defi could you pls check this PR?


Fixed Wedding Associations (FK) and added Basic structure API route for Weeding

Fixed Wedding Associations (FK) and added a Basic structure API route for Weeding.

closes #63
closes #69

Wonderful!! Glad this was resolved 👍


FastAPI version requirements? Doesn't install with latest

First, thanks for writing this, it's great to have sessions support for FastAPI!
I'm trying to install with the latest version of FastAPI and getting the following message:
"Because fastapi-sessions (0.3.0) depends on fastapi (>=0.65.1,<0.66.0)
and no versions of fastapi-sessions match >0.3.0,<0.4.0, fastapi-sessions (>=0.3.0,<0.4.0) requires fastapi (>=0.65.1,<0.66.0)."
Any chance you can loosen the version requirements?
Changing the line in the pyproject.toml to:
fastapi = "^0.65"
might fix it

Yes please! I'm unable to install this alongside FastAPI 0.68.1

Should be fixed with latest update fastapi-sessions 0.3.1


Fix broken links in book

A couple of links are broken in the docs, see #731.
It fixes them and add mdbook-linkcheck to the CI.
Checklist

[x] An issue to be fixed by this PR is listed above.
[ ] New tests are added to ensure new features are working. End-to-end tests are usually in the ./frb_example/pure_dart example, more specifically, rust/src/api.rs and dart/lib/main.dart.
[x] The code generator is run and the code is formatted (e.g. via just refresh_all).
[ ] If this PR adds/changes features, documentations (in the ./book folder) are updated.
[x] CI is passing.

Temporarily revert this to see whether #741 is ok now. Feel free to re-PR without this bug!

@fzyzcjy I browsed the files again there shouldn't be any problem : could you describe more accurately what kind of bugs it generated ?

@Roms1383 when viewing the website every page says 404


macOS 13 image occasionally missing Ruby

Description
On a run of my pipeline, I'm getting issues where some (but not all) of my images don't seem to have Ruby installed, causing my useRubyVersion to fail.
Starting: UseRubyVersion
==============================================================================
Task         : Use Ruby version
Description  : Use the specified version of Ruby from the tool cache, optionally adding it to the PATH
Version      : 0.213.0
Author       : Microsoft Corporation
Help         : https://docs.microsoft.com/azure/devops/pipelines/tasks/tool/use-ruby-version
==============================================================================
##[error]Version spec >= 2.7 for architecture %s did not match any version in Agent.ToolsDirectory.
Available versions: /Users/runner/hostedtoolcache

If this is a Microsoft-hosted agent, check that this image supports side-by-side versions of Ruby at https://aka.ms/hosted-agent-software.
If this is a self-hosted agent, see how to configure side-by-side Ruby versions at https://go.microsoft.com/fwlink/?linkid=2005989.
Finishing: UseRubyVersion

Platforms affected

[X] Azure DevOps
[ ] GitHub Actions - Standard Runners
[ ] GitHub Actions - Larger Runners

Runner images affected

[ ] Ubuntu 20.04
[ ] Ubuntu 22.04
[ ] macOS 11
[ ] macOS 12
[X] macOS 13
[ ] Windows Server 2019
[ ] Windows Server 2022

Image version and build link
Image: macos-13
Version: 20230417.1
Included Software: https://github.com/actions/runner-images/blob/macOS-13/20230417.1/images/macos/macos-13-Readme.md
Image Release: https://github.com/actions/runner-images/releases/tag/macOS-13%2F20230417.1
https://dev.azure.com/ms/react-native/_build/results?buildId=501119&view=logs&j=b24eb30e-907c-58af-44ed-713bd1138078&t=94a14104-cf5f-4300-9f63-3a5c8322afad
Is it regression?
Yes?
Expected behavior
Ruby should successfully get used
Actual behavior
Ruby fails to be used
Repro steps
Use the useRubyVersion task linked above in a job.

Hello @Saadnajmi. You happened to reach a pretty old image, currently, we are in the process of adding capacity so it can happen again. We will update all runners to the latest version shortly.
Duplicate of #8341.


Possible to use NamedTemporaryFile instead of SpooledTemporaryFile?

First check

[ x ] I added a very descriptive title to this issue.
[ x ] I used the GitHub search to find a similar issue and didn't find it.
[ x ] I searched the FastAPI documentation, with the integrated search.
[ x ] I already searched in Google "How to X in FastAPI" and didn't find any information.
[ x ] I already read and followed all the tutorial in the docs and didn't find an answer.
[ x ] I already checked if it is not related to FastAPI but to Pydantic.
[ x ] I already checked if it is not related to FastAPI but to Swagger UI.
[ x ] I already checked if it is not related to FastAPI but to ReDoc.
[ x ] After submitting this, I commit to one of:

Read open issues with questions until I find 2 issues where I can help someone and add a comment to help there.
I already hit the "watch" button in this repository to receive notifications and I commit to help at least 2 people that ask questions in the future.
Implement a Pull Request for a confirmed bug.

Example
from fastapi import FastAPI, UploadFile, File

app = FastAPI()

@app.post("/upload")
def upload_file(file: UploadFile = File(...)):
    return {"temporaryFileName": file.file.name}

Description
I am running FastAPI on a very small system, with only a little under 1GB left for storage. Due to this limitation I'm running into an Issue where when uploading large files (in this case a Firmware Update) the temporary file already takes up half of the empty storage and I'm therefore unable to store a copy that I can actually work with. Therefore it would make more sense to have a TemporaryFile that I can work with directly.
Is there any way to use a NamedTemporaryFile (as I understand these can be accessed by other processes as long as they exist?) instead of a SpooledTemporaryFile? Or would I have to stream the received data and store it in some file myself?
Environment

OS: [ Linux armhf ]:

FastAPI Version [ 0.60.0 ]:

Python version: 3.7.8

I'm having a similar issue, where I need to better control where uploaded files end up.
In our case, we know that some of the routes are expected to receive massive files (~10Gb); a plain UploadFile will create a SpooledTemporaryFile in /tmp (which is a tmpfs on our server), and overflow the RAM.
In my case, being able to set the dir argument of SpooledTemporaryFile would solve the issue. However this parameter is not accessible at fastapi level
@makupi I am not very confident FastAPI can do something, this seems like a starlette issue.
Some issues worth reading, you may find something that fits your need:

https://github.com/encode/starlette/issues/697
https://github.com/tiangolo/fastapi/issues/390#issuecomment-511766926
https://github.com/encode/starlette/issues/388


Expected image (JPEG, PNG, or GIF), got unknown format starting with 'BM"\360\003\000\000\000\000\0006\000\000\000(\000' 	 [[{{node DecodeJpeg}}]]

System information
I have followed examples from tensorflow official website with some changes but essentially the same. I want to get an image generator that is efficient at its task of generating only images without caring about labels (its only cat images), -- AND I am using jupyter notebook.

OS Platform and Distribution - Linux Ubuntu 19.10
TensorFlow installed from conda using -- conda install tensorflow-gpu
TensorFlow version == 2.1.0
Python version == 3.7.7
CUDA Toolkit version == 10.1.243
cuDNN version == 7.6.5
GPU model and memory == NVIDIA GTX 1050 (4GB)

Source code sniplet:
data_dir = pathlib.Path('cat/')
list_ds = tf.data.Dataset.list_files(str(data_dir/'CAT/*.jpg'))

def parse_image(filename):
    image = tf.io.read_file(filename)
    image = tf.image.decode_jpeg(image)
    image = tf.image.convert_image_dtype(image, tf.float32)
    image = tf.image.resize(image, [64,64])
    return image

AUTOTUNE = tf.data.experimental.AUTOTUNE
# Set `num_parallel_calls` so multiple images are loaded/processed in parallel.
images_ds = list_ds.map(parse_image, num_parallel_calls=AUTOTUNE)

images_ds = images_ds.prefetch(buffer_size=AUTOTUNE)
images_ds = images_ds.repeat()
images_ds = images_ds.cache().batch(BATCH_SIZE)
images_ds = images_ds.shuffle(buffer_size=1000)

image_batch = next(iter(images_ds)) ## This line causes error

I have seen this error pop up for many users on the internet but did not find a viable solution to it. Some suggested to check all the images if they were not corrupted. I used the below script but everything turned out to be fine.
import os
import tensorflow as tf

for i, file_name in enumerate(os.walk('cat/CAT/')):
#     print(file_name[2])
    try:
        img = tf.io.read_file('cat/CAT/'+file_name[2][i])
        img = tf.image.decode_jpeg(img)
    except Exception as e:
        print(e)
        print('******************************************************')
        print('{} - broken'.format(file_name[2][i]))

Please help me in this issue.
Detailed Error
---------------------------------------------------------------------------
InvalidArgumentError                      Traceback (most recent call last)
~/anaconda3/envs/sci/lib/python3.7/site-packages/tensorflow_core/python/eager/context.py in execution_mode(mode)
   1896     ctx.executor = executor_new
-> 1897     yield
   1898   finally:

~/anaconda3/envs/sci/lib/python3.7/site-packages/tensorflow_core/python/data/ops/iterator_ops.py in _next_internal(self)
    658             output_types=self._flat_output_types,
--> 659             output_shapes=self._flat_output_shapes)
    660

~/anaconda3/envs/sci/lib/python3.7/site-packages/tensorflow_core/python/ops/gen_dataset_ops.py in iterator_get_next_sync(iterator, output_types, output_shapes, name)
   2478     except _core._NotOkStatusException as e:
-> 2479       _ops.raise_from_not_ok_status(e, name)
   2480   # Add nodes to the TensorFlow graph.

~/anaconda3/envs/sci/lib/python3.7/site-packages/tensorflow_core/python/framework/ops.py in raise_from_not_ok_status(e, name)
   6605   # pylint: disable=protected-access
-> 6606   six.raise_from(core._status_to_exception(e.code, message), None)
   6607   # pylint: enable=protected-access

~/anaconda3/envs/sci/lib/python3.7/site-packages/six.py in raise_from(value, from_value)

InvalidArgumentError: Expected image (JPEG, PNG, or GIF), got unknown format starting with 'BM\"\360\003\000\000\000\000\0006\000\000\000(\000'
	 [[{{node DecodeJpeg}}]] [Op:IteratorGetNextSync]

During handling of the above exception, another exception occurred:

InvalidArgumentError                      Traceback (most recent call last)
<ipython-input-119-e1154546d6ba> in <module>
----> 1 image_batch = next(iter(images_ds))

~/anaconda3/envs/sci/lib/python3.7/site-packages/tensorflow_core/python/data/ops/iterator_ops.py in __next__(self)
    628
    629   def __next__(self):  # For Python 3 compatibility
--> 630     return self.next()
    631
    632   def _next_internal(self):

~/anaconda3/envs/sci/lib/python3.7/site-packages/tensorflow_core/python/data/ops/iterator_ops.py in next(self)
    672     """Returns a nested structure of `Tensor`s containing the next element."""
    673     try:
--> 674       return self._next_internal()
    675     except errors.OutOfRangeError:
    676       raise StopIteration

~/anaconda3/envs/sci/lib/python3.7/site-packages/tensorflow_core/python/data/ops/iterator_ops.py in _next_internal(self)
    663         return self._element_spec._from_compatible_tensor_list(ret)  # pylint: disable=protected-access
    664       except AttributeError:
--> 665         return structure.from_compatible_tensor_list(self._element_spec, ret)
    666
    667   @property

~/anaconda3/envs/sci/lib/python3.7/contextlib.py in __exit__(self, type, value, traceback)
    128                 value = type()
    129             try:
--> 130                 self.gen.throw(type, value, traceback)
    131             except StopIteration as exc:
    132                 # Suppress StopIteration *unless* it's the same exception that

~/anaconda3/envs/sci/lib/python3.7/site-packages/tensorflow_core/python/eager/context.py in execution_mode(mode)
   1898   finally:
   1899     ctx.executor = executor_old
-> 1900     executor_new.wait()
   1901
   1902

~/anaconda3/envs/sci/lib/python3.7/site-packages/tensorflow_core/python/eager/executor.py in wait(self)
     65   def wait(self):
     66     """Waits for ops dispatched in this executor to finish."""
---> 67     pywrap_tensorflow.TFE_ExecutorWaitForAllPendingNodes(self._handle)
     68
     69   def clear_error(self):

InvalidArgumentError: Expected image (JPEG, PNG, or GIF), got unknown format starting with 'BM\"\360\003\000\000\000\000\0006\000\000\000(\000'
	 [[{{node DecodeJpeg}}]]

@kyteinsky,
I was able to run the code without any issues using a sample dataset, please find the gist of it here. Could you please verify if the code works with another dataset? Thanks!

@amahendrakar
Thank you sir for your time. If the code works for another dataset, can you suggest methods for checking out broken images in my dataset and removing them so that this error doesn't come up again.

And what does 'BM ...' message mean?

Thank you sir for your time. If the code works for another dataset, can you suggest methods for checking out broken images in my dataset and removing them so that this error doesn't come up again.

@kyteinsky,
As the issue is with that particular dataset, unfortunately I will not be able to help with it. Alternatively, you can post this query on StackOverflow as there is a larger community that reads questions there. Thanks!

Yeah sure, I'll lookup there for a solution.
Thank you for your help.


Call to undefined method Messaging::createMessaging()

try to make samples of Laravel calls none of this working
ymfony\Component\Debug\Exception\FatalThrowableError: Call to undefined method Kreait\Firebase\Messaging::createMessaging()
$messaging =  app('firebase.messaging')->createMessaging();
        $message = CloudMessage::withTarget('token', $id)
                ->withNotification(Notification::create('testing', 'working ok'))
                ->withData(['test' => 'value']);

        $m = $messaging->send($message);

$messaging = app('firebase.messaging');

not working Symfony\Component\Debug\Exception\FatalThrowableError: Class 'App\Http\Controllers\CloudMessage' not found

$messaging =  app('firebase.messaging');

        $message = CloudMessage::withTarget('token', $id)
                ->withNotification(Notification::create('testing', 'working ok'))
                ->withData(['test' => 'value']);

        $m = $messaging->send($message);

        return [$m];

``

You didn‘t
use Kreait\Firebase\Messaging\CloudMessage;

no am only following the readme file try make some little samples for laravel like this use Kreait\Firebase\Messaging\CloudMessage;

now this Symfony\Component\Debug\Exception\FatalThrowableError: Class 'App\Http\Controllers\Notification' not found

please which of the Notification needed

Please read the documentation at https://firebase-php.readthedocs.io/
How to create notifications (includes the use statement): https://firebase-php.readthedocs.io/en/stable/cloud-messaging.html#adding-a-notification
How to create cloud messages (includes the use statement): https://firebase-php.readthedocs.io/en/stable/cloud-messaging.html#getting-started
The only difference between the direct usage of the SDK and this package is that you don‘t need to invoke the SDK‘s factory to instantiate the components.
So, instead of writing
$messaging = (new Factory)->withServiceAccount('...')->createMessaging();

you can write
$messaging = app('firebase.messaging');

The same with all other components. After that, you‘ll find everything you need in the docs linked above.

working now use Kreait\Firebase\Messaging\Notification; thanks for your time


Implement 'Multi Path Selection' & 'Batch Selection'

Hi,

I would appreciate a way to have a persisting selection, when switching folders. So you can pool some files in a selection from multiple paths/directories.
A batch selection tool would be amazing. It would help if you want to for example select all audio files in the current directory or maybe just all mp3 files.

I did a mockup with how it could look like in a side panel.

While this could be useful when integrated into the workflow, especially when moving or copying files, it might overload the user with UI.
If this gets implemented, I would like it to be either an OPT-IN feature or maybe even an addon (if addons are possible with UWP)

couldn't you just search *.mp3 in the directory then ctrl + a

While this could be useful when integrated into the workflow, especially when moving or copying files, it might overload the user with UI.
If this gets implemented, I would like it to be either an OPT-IN feature or maybe even an addon (if addons are possible with UWP)

It's something the user would have to toggle first so that shouldn't be an issue.

Couldn't you just search *.mp3 in the directory then ctrl + a.

If I'd just want the mp3 files, of course. But if I want to select all audio files, this becomes a needlessly complicated process.

@yaichenbaum You could additionally consider an entry 'selection' in context menu (when right-clicking on file).
Example:
User rightclicks mp3 file.
...
'Selection'
|- 'select all of type'
|- 'select all audio files'
...

https://twitter.com/zeealeid/status/1302277651466420225?s=20
a flyout like this might be a great solution for being able to select multiple files at once

Merging with #6514.


Add golangci-lint config files and GitHub Actions

Let's just add the configs for now and then improve one step at a time.
Supersedes #9

We agreed to merge this and have golangci-lint as an optional CI job in our heads until we fix it.


Start operation timed out (Build and run on Xubuntu)

I am using latest code, build and run on Xubuntu. However I have some problem and now I got a strange behaviour. After about a minute after login remote (rdp), it just disappear. I can see this in syslog; "systemd[1]: xrdp.service: Start operation timed out. Terminating.".
I do like this (after fresh installation of Xubuntu 16.10 and update):
$ sudo apt install gcc make autoconf automake libtool pkgconf nasm git
$ sudo apt install xserver-xorg-dev libssl-dev libpam0g-dev libxfixes-dev libxrandr-dev
$ git clone --recursive https://github.com/neutrinolabs/xrdp
$ cd xrdp
$ ./bootstrap
$ ./configure --enable-ipv6
$ make
$ sudo make install
$ cd ..
$ git clone --recursive https://github.com/neutrinolabs/xorgxrdp
$ cd xorgxrdp
$ ./bootstrap
$ ./configure
$ make
$ sudo make install
$ sudo ln -s /usr/local/sbin/xrdp /usr/sbin
$ sudo ln -s /usr/local/sbin/xrdp-sesman /usr/sbin
$ sudo systemctl enable xrdp
$ reboot
What do I do wrong?
Best regards
Michael
PS. Part of the syslog...
Mar 24 21:35:23 VerifyXrdp xrdp[1376]: (1376)(139992840853248)[DEBUG] Closed socket 16 (AF_INET6 ::1 port 33744)
Mar 24 21:35:23 VerifyXrdp xrdp[1376]: (1376)(139992840853248)[INFO ] The following channel is allowed: rdpdr (0)
Mar 24 21:35:23 VerifyXrdp xrdp[1376]: (1376)(139992840853248)[INFO ] The following channel is allowed: cliprdr (1)
Mar 24 21:35:23 VerifyXrdp xrdp[1376]: (1376)(139992840853248)[INFO ] The following channel is allowed: rdpsnd (2)
Mar 24 21:35:23 VerifyXrdp xrdp[1376]: (1376)(139992840853248)[DEBUG] The allow channel list now initialized for this session
Mar 24 21:36:32 VerifyXrdp systemd[1]: xrdp.service: Start operation timed out. Terminating.
Mar 24 21:36:32 VerifyXrdp systemd[1]: xrdp-sesman.service: Unit not needed anymore. Stopping.
Mar 24 21:36:32 VerifyXrdp xrdp[941]: (941)(139992840853248)[DEBUG] Closed socket 11 (AF_INET6 :: port 3389)

Hmm, that looks strange. Can you confirm if it works in foreground?
# xrdp -ns
# xrdp-sesman -ns

Thanks
Running like that did work (I used sudo, or else didn't have rights to the log files). However after logout, I loose my local desktop on that machine.
I also tested to install xrdp from Ubuntu (i.e. sudo apt install xrdp), this on a fresh Xubuntu. Now I also got this timeout problem. Need to reboot twice. Now I'm lost, I don't understand whats going on. However I have had strange problem all the time while verify xrdp in my virtual machine. Need to reinstall many times. Sometimes not able to shutdown. I have a little special environment, a router also involved. I also remote my host machine, running VMs headless. Maybe my host (running virtualbox) needs a reboot.
Thanks for help. However right now I thinking about to skip doing my verification in a virtual machine. I will use a physical labb machine instead.

No feedback from the reporter for a long time, closing.  Please leave a comment when you're back. I'll reopen the issue.


Issue: Build-Events not compiling the right version of Navisworks

Hey, I have built ENGyn. There are a few issues with it though.

When I try to change the target configuration to Navis Manage 18, it builds for Manage 2019 and puts the built dlls in the %APPDATA%\Autodesk Navisworks Manage 2019\Plugins\  folder. Navis Manage 2019 does not recognize the plugin.
If I copy the ENGyn build and paste it in "%APPDATA%\Autodesk Navisworks Manage 2018\Plugins", Navisworks 18 does not recognize the plugin.

Regards and thanks
Originally posted by @jeetendragan in https://github.com/ENGworks-DEV/ENGyn/issues/60#issuecomment-446581872

Please, confirm if you are compiling Master or Testing because they have different build structure.

Hey, thanks for the change. I have done that and it builds for Navisworks Manage 2018. But, when I start Navis Manage 2018, the add-in does not show up.
Thanks.

Please confirm that the build had copied all files to %appdata%\Autodesk Navisworks Manage 2018\Plugins\ENGyn\ and that "Images" has ENGyn.png & en-US\ENGyn.xml


feat: As a developer, I or portal owner should be able to revoke or replace the attestation

What does this PR do?
Along with the portal owner, an attester who attested the attestation should be able to revoke or replace his attestation too.
Related ticket
Fixes #546
Type of change

[ ] Chore
[ ] Bug fix
[x] New feature
[ ] Documentation update

Check list

[x] Unit tests for any smart contract change
[x] Contracts and functions are documented

Stale


Fixing previous commit (SettableApiFuture: protected -> public for set methods).

Pushed wrong thing :(.

LGTM

Codecov Report

Merging #30 into master will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master      #30   +/-   ##
=========================================
  Coverage     59.23%   59.23%
  Complexity      138      138
=========================================
  Files            15       15
  Lines           601      601
  Branches         91       91
=========================================
  Hits            356      356
  Misses          223      223
  Partials         22       22

Impacted Files
Coverage Δ
Complexity Δ

...in/java/com/google/api/core/SettableApiFuture.java
100% <ø> (ø)
4 <0> (ø)
:arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 216b72a...af99a46. Read the comment docs.


Feature request: Poker Hand Prediction using Machine Learning

Is your feature request related to a problem? Please describe.
Predict Poker Hand to train AI models in games
Describe the solution you'd like
Using ML algos and datasets predict Poker Hand
Describe alternatives you've considered
N/A
Approach to be followed (optional)
Data Collection, EDA, Preprocessing, Training and testing
Additional context
I am a GSSOC'24 Extended and Hacktoberfest Contributor

Kindly re open the issue, i need to create a PR


mirrorprobes: removing mirror pod probes (PROJQUAY-2226)

Following feedback there is now ay of getting the health of the mirror
component. This PR removes the checks, essentially rolling back a change
made by https://github.com/quay/quay-operator/pull/427.
As soon as we have a proper way of checking for the mirror health we
will need to re-enable these.

@jonathankingfc would you mind approving it once more?


feat(integrateep): Integrate Event processor - WIP

Summary
The "why", or other context.
Test plan
Issues

"THING-1234" or "Fixes #123"

Coverage increased (+0.09%) to 99.491% when pulling e1f6715b23ff7bc821244be951cb5a8e45dca5d0 on rashid/optly-EP-integration into 096ae95ca7d8f68cf913b5c9583dccf22063db9d on rashid/batch-event-processor.