Integration UI Download Links Broken

When accessing https://retro.readthedocs.io/en/latest/integration.html#the-integration-ui, the URLs to download the Windows or macOS Installers don't work for me. I get an XML file in my browser that reads:
This XML file does not appear to have any style information associated with it. The document tree is shown below.
<Error>
NoSuchBucket
<Message>The specified bucket does not exist.</Message>
</Error>

Could someone fix the URLs please? Thanks!

Closing this because @christopherhesse kindly uploaded some old versions of the integration UI, many thanks!
https://github.com/openai/retro/releases/tag/f347d7e


Add Tigris vectorstore for vector search

Feature request
Support Tigris as a vector search backend
Motivation
Tigris is a Serverless NoSQL Database and Search Platform and have their vector search product. It will be great option for users to use an integrated database and search product.
Your contribution
I can submit a a PR

love it! would gladly review if you want to take a stab at implementing

Would love to help out on this if need be

Thanks @taimurshaikh, maybe you can help with a review or enriching the jupyter notebook example in https://github.com/hwchase17/langchain/pull/5703


tests: Fix launchRedis for redis-server v4

The "Ready to accept connections" string changed in v4.0.0, breaking the previous launchRedis implementation.

Coverage remained the same at 97.742% when pulling 307d03717688c769158901612dce10eca0dff1e5 on redis-fix into b8043b5c6cecde95c0c71774b3d849b43de0ebe3 on master.


Issue in running inference with tf2.5 and tf2.3 on armv7l

Issue Type
Support
OS
RaspberryPi OS Buster
OS architecture
armv7
Hardware
RaspberryPi3
Description
I have trained a TRILL model in tf2.5.0 and have converted it into tflite by the following lines:
converter = tf.lite.TFLiteConverter.from_saved_model(export_dir)
converter._experimental_lower_tensor_list_ops = False
converter.target_spec.supported_ops = [tf.lite.OpsSet.TFLITE_BUILTINS, tf.lite.OpsSet.SELECT_TF_OPS]
tflite_model = converter.convert()

converter.optimizations = [tf.lite.Optimize.DEFAULT]

converter.target_spec.supported_types = [tf.float16]
tflite_quant_model = converter.convert()

open("TRILL_quant.tflite", "wb").write(tflite_quant_model)

The inference is working fine when tested on a colab environment
But when I try to run the same inference with the same model, I'm getting this error
I've tried tensorflow 2.3 and 2.5 from your repository
Relevant Log Output
RuntimeError: Regular TensorFlow ops are not supported by this interpreter. Make sure you apply/link the Flex delegate before inference.Node number 2 (FlexTensorListReserve) failed to prepare.

If you use TensorFlow v2.6.0 or v2.7.0, it may work correctly. However, the build will not succeed on the armv7l architecture. This is a problem that occurs when TensorFlow is built in a full package.
Therefore, if all you care about is running TensorFlow Lite, you can use the wheel package of TensorFlowLite to install the latest version and it will even work properly.
https://github.com/PINTO0309/TensorflowLite-bin

download_tflite_runtime-2.7.0-cp37-none-linux_aarch64.whl.sh
download_tflite_runtime-2.7.0-cp37-none-linux_armv7l.whl.sh
download_tflite_runtime-2.7.0-cp38-none-linux_aarch64.whl.sh
download_tflite_runtime-2.7.0-cp38-none-linux_armv7l.whl.sh
download_tflite_runtime-2.7.0-cp39-none-linux_aarch64.whl.sh
download_tflite_runtime-2.7.0-cp39-none-linux_armv7l.whl.sh

The figure below shows the successful execution of TRILL.tflite using tflite_runtime. You will need to install v2.7.0. Please ignore 2.8.0-rc0.
$ docker run -it --rm \
-v `pwd`:/home/user/workdir \
ghcr.io/pinto0309/openvino2tensorflow:latest

$ python3 -c 'import tensorflow as tf;print(tf.__version__)'

2.8.0-rc0

# import tensorflow as tf
from tflite_runtime.interpreter import Interpreter
import time
import numpy as np
from pprint import pprint

############################################################
interpreter = Interpreter(model_path=f'TRILL.tflite', num_threads=4)
interpreter.allocate_tensors()
input_details = interpreter.get_input_details()
output_details = interpreter.get_output_details()

loop = 1
e = 0.0
result = None
inp = np.ones((1, 48000), dtype=np.float32)
for _ in range(loop):
    s = time.time()
    interpreter.set_tensor(input_details[0]['index'], inp)
    interpreter.invoke()
    result = interpreter.get_tensor(output_details[0]['index'])
    e += (time.time() - s)
print('tflite output @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@')
print(f'elapsed time: {e/loop*1000}ms')
print(f'shape: {result.shape}')
pprint(result)

Result

$ python3 tflite_test.py
INFO: Created TensorFlow Lite delegate for select TF ops.
2022-01-13 08:02:59.038271: I tensorflow/core/platform/cpu_feature_guard.cc:151] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations:  SSE3 SSE4.1 SSE4.2 AVX AVX2 FMA
To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.
INFO: TfLiteFlexDelegate delegate: 4 nodes delegated out of 78 nodes with 2 partitions.

INFO: Created TensorFlow Lite XNNPACK delegate for CPU.
tflite output @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
elapsed time:<PHONE_NUMBER>7871094ms
shape: (1, 20)
array([[2.9382650e-39, 4.9900355e-11, 2.9382650e-39, 2.9382650e-39,
        2.9382650e-39, 2.9382650e-39, 7.2997009e-33, 5.0400943e-21,
        2.9382650e-39, 2.9382650e-39, 2.9382650e-39, 2.9382650e-39,
        2.9382650e-39, 1.0000000e+00, 2.9382650e-39, 2.9382650e-39,
        6.6310943e-14, 2.9382650e-39, 2.9382650e-39, 2.9382650e-39]],
      dtype=float32)

@PINTO0309 Thanks a lot for the detailed guide. However, when I run the above script, it throws me the following error
Python 3.7.4 (default, Jan 12 2022, 06:05:06)
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from tflite_runtime.interpreter import Interpreter
>>> interpreter = Interpreter(model_path=f'TRILL.tflite', num_threads=4)
INFO: Created TensorFlow Lite delegate for select TF ops.
INFO: TfLiteFlexDelegate delegate: 4 nodes delegated out of 78 nodes with 2 partitions.

>>> interpreter.allocate_tensors()
INFO: Created TensorFlow Lite XNNPACK delegate for CPU.
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/pi/task1/env/lib/python3.7/site-packages/tflite_runtime/interpreter.py", line 521, in allocate_tensors
    return self._interpreter.AllocateTensors()
RuntimeError: Attempting to use a delegate that only supports static-sized tensors with a graph that has dynamic-sized tensors (tensor#105 is a dynamic-sized tensor).Ignoring failed application of the default TensorFlow Lite delegate indexed at 0.

Now, please try to cross-compile v2.8.0-rc0 by yourself by referring to the official procedure below.
https://github.com/tensorflow/tensorflow/tree/v2.8.0-rc0/tensorflow/lite/tools/pip_package

If I ignore this error, I can run the lines after that though. What does this line do exactly? And will ignoring this error be fine for inference?

If the error message is due to XNNPACK, you can ignore it. Please try to run the inference first. Instead of typing the program interactively one line at a time, use the test program I presented.

If I run the test program at once, it throws the above runtime error exception and exits. However, if I bypass it using a try-except block, it predicts the correct class in inference

If the inference results are displayed correctly, then it will work. Rather, the result you are seeing is the conclusion itself. However, XNNPACK, which optimizes inference performance, should be disabled.

Got you. Thanks a lot for the resolution! 🎉

It gave me some interesting insights that I had not intended. So I modified the test code above.


cf bind-security-group has no effect if there is no space in the org

Please fill out the issue checklist below and provide ALL the requested information.

[x] I reviewed open and closed github issues that may be related to my problem.
[x] I tried updating to the latest version of the CF CLI to see if it fixed my problem.
[x] I attempted to run the command with CF_TRACE=1 to help debug the issue.
[x] I am reporting a bug that others will be able to reproduce.
[x] If this is an issue for the v7 beta release, I've read through the official docs and the release notes.

Describe the bug and the command you saw an issue with
When trying to bind a security group to an org with no spaces (cf bind-security-group <security-group> <org>), running cf security-groups shows nothing. We would have expected the output after calling cf bind-security-group to be similar to the result of calling cf bind-<running | staging>-security-group <security-group>, where output would show that all spaces inside of the organization are now under the effect of the security group.
What happened
After trying to bind a security group to an org with no spaces inside of it, we get the following output:
Getting security groups as admin...
OK

     name              organization   space   lifecycle
#0   dns               <all>          <all>   running
     dns               <all>          <all>   staging
#1   dummy-group

Expected behavior
We would have expected this output:
Getting security groups as admin...
OK

     name              organization   space   lifecycle
#0   dns               <all>          <all>   running
     dns               <all>          <all>   staging
#1   dummy-group       system         <all>   running

where system is the name of the org we chose to bind to.
Returning an error when binding the ASG could also suffice, although that would introduce fundamentally different behavior from cf bind-<running | staging>-security-group (which does not care if there are no spaces inside the org).
To Reproduce
Steps to reproduce the behavior; include the exact CLI commands and verbose output:

cf create-security-group dummy-group /path/to/json
cf create-org o
cf bind-security-group dummy-group o
cf security-groups

Provide more context

Mac OS X 10.13.6 iTerm
cf/6.46.1+4934877ec.2019-08-23 and cf/7.0.0-beta.26+649b9a675.2019-10-08
2.141.0 CC API

We believe that this bug has to do with how the bind-security-group command works internally. It does a loop inside of the org to determine all the spaces, and then will bind the security group to each space. So having no spaces would result in no groups being bound. We believe that there should be parity in behavior with cf bind-staging-security-group or cf bind-running-security-group. Even if there are no spaces, the user should either know that their command successfully executed for the organization, or that nothing happened as a result of there being no spaces.
For reference, this is the current output of cf security-groups when there are spaces inside of the org.
$ cf security-groups
Getting security groups as admin...
OK

     name              organization   space            lifecycle
#0   dns               <all>          <all>            running
     dns               <all>          <all>            staging
#1   dummy-group       system         system-space-1   running
     dummy-group       system         system-space-2   running

Submitted by the CF Networking Program

Hey @jeffpak thanks for this issue. We plan on building the security group commands on the v7 cf CLI soon and will review this to see how we an help. Those resources are next up in our roadmap (next  two months). Thanks again.

Thank you for your submission. If you still run into this issue with the latest CLI v8,  please open a new ticket.


[Macros] Do not edit macro buffer or position when refactoring

Rather than editing the macro buffer in refactoring, add appropriate padding and braces when creating the macro.
Don't edit the insertion location - we should update this in a later PR as well.

@swift-ci please test

@swift-ci please test


Missing check in MC2010

The MC2010 formula requires a check that sqrt(fck) <= 8 MPa. If I'm correct, this is not in the code yet.

I think it is already there in this line (min(sqrt(fc(ii)), 8)):
https://github.com/TNO/shear_calibration/blob/3b0f9589ec024a92044dafa1ed3139cec4871028/code/shared_utils/resistance_models/MC2010_level_II_codified_2019.m#L74

You're right, thanks!


Fix up current email message

Closes #2286

Backend checklist

[ ] Formatted my code by running autoflake -r -i --remove-all-unused-imports src && isort . && black . in app/backend
[ ] Added tests for any new code or added a regression test if fixing a bug
[ ] All tests pass
[ ] Run the backend locally and it works
[ ] Added migrations if there are any database changes, rebased onto develop if necessary for linear migration history

Web frontend checklist

[ ] Formatted my code with yarn format && yarn lint --fix
[ ] There are no warnings from yarn lint
[ ] There are no console warnings when running the app
[ ] Added any new components to storybook
[ ] Added tests where relevant
[ ] All tests pass
[ ] Clicked around my changes running locally and it works
[ ] Checked Desktop, Mobile and Tablet screen sizes

This will also require fixing up in the actual translations. I'm not sure what that entails.

Yeah, will likely need to propogate the <1> across to all languages' JSON via Weblate as well


Structure documentation site

TODO

[ ] Structure documentation site based on figma file

Deliverables

Basic site structure setup. No content on the pages yet

Estimated Effort

[ ] XS: 1 to 2 hours
[ ] S: half a day
[ ] M: 1-2 day
[ ] L: 1 week
[ ] XL: Move to an epic

Out of scope

Published English side of site to match new IA https://cds-snc.github.io/alpha-design-system-documentation/en/


optimize lint-staged

Coverage remained the same at 62.083% when pulling 3e843c52af35ea36fb475c0000edb58f5e79ea21 on jinasonlin:dev-ts into 8d19cbb906653b7051b1b8c26e7de3003154a51a on ZhonganTechENG:dev-ts.


Update content type handling

Add raw parameter which is boolean type
Update output parameter to be optional
Add support for HTTP headers to specify content type.

raw parameter controls whether or not to include the metadata about the request/response in the response body. This is an optional parameter that defaults to false.
If raw = false, the response will be structured as:
{
    "status": "200 OK",
    "time": 458.179,
    "hits": 3,
    "results": {
        "csv": "",
        "geojson": {}
    }
}

If raw = true, the response will include only the value of the csv or geojson attribute from the non-raw response. Example if output requested is geojson and raw is true:
{
            "type": "FeatureCollection",
            "features": [
                {
                    "id": "0",
                    "type": "Feature",
                    "properties": {
                        "reach_id": "73282400171",
                        "time_str": "2023-07-28T22:10:37Z",
                        "wse": "211.178",
                        "slope": "-0.0007516914999999999"
                    },
                    "geometry": {
                        "type": "LineString",
                        "coordinates": [...]
                    }
                },
                {
                    "id": "1",
                    "type": "Feature",
                    "properties": {
                        "reach_id": "73282400171",
                        "time_str": "2023-09-08T15:40:49Z",
                        "wse": "82.082",
                        "slope": "-1.0184e-06"
                    },
                    "geometry": {
                        "type": "LineString",
                        "coordinates": [...]
                    }
                },
                {
                    "id": "2",
                    "type": "Feature",
                    "properties": {
                        "reach_id": "73282400171",
                        "time_str": "2023-09-29T12:25:52Z",
                        "wse": "206.49349999999998",
                        "slope": "-0.0007833485000000001"
                    },
                    "geometry": {
                        "type": "LineString",
                        "coordinates": [...]
                    }
                }
            ]
        }

The output parameter should be optional. The output should be determined using the following logic:

If Accept header is provided in request

output is the first supported media type (below) present in the Accept list
If no supported media type is explicitly included in the Accept list, continue to step 2

No Accept header (or no specific media type including in Accept header). Look for output request parameter

If output request parameter exists and is csv. Output is csv.
If output request parameter exists and is geojson. Output is geojson
If output request parameter exists and is any other value. 400 Bad Request

No Accept header, no output request parameter, default to geojson output

If the Accept header is provided in the request and it includes one of the supported media types, the raw parameter will default as follows:

text/csv: raw=true
application/geo+json: raw=true
application/json: raw=false

Supported media types:
https://www.iana.org/assignments/media-types/text/csv text/csv
https://www.iana.org/assignments/media-types/application/geo+json application/geo+json
https://www.iana.org/assignments/media-types/application/json application/json

A few different scenarios and how the API should behave:

Accept: application/geo+json, raw=true: Return a valid GeoJSON FeatureCollection object
Accept: application/geo+json, raw=false: 400 Bad Request - Invalid Accept header for non-raw responses. Remove the raw request parameter or use application/json as the Accepted content type.
Accept: text/csv, raw=true: Return direct csv content
Accept: text/csv, raw=false: 400 Bad Request - Invalid Accept header for non-raw responses. Remove the raw request parameter or use application/json as the Accepted content type with output request parameter set to csv.
Accept: application/json, raw=true: Return a valid GeoJSON FeatureCollection object
Accept: application/json, raw=false: Return a json object with status, time, hits, and results. Results should be geojson
Accept: application/json, raw=true, output=geojson: Return a valid GeoJSON FeatureCollection object
Accept: application/json, raw=true, output=csv: Return direct csv content
Accept: application/json, raw=false, output=csv: Return a json object with status, time, hits, and results. Results should be csv
Accept: */*: Return a json object with status, time, hits, and results. Results should be geojson

Accept: text/csv,application/geo+json,application/json, output=csv: Return direct csv content

Should this case also return a 400 Bad Request so that it is consistent with the example where the 'Accept' header is the same but the output is set to geojson?

Maybe we can have a discussion about these behaviors. I put this together but re-reading it I think there might be easier logic if we start with processing the output parameter first. Basically, if output parameter is provided; assume application/json response body; if application/json is not covered by the Accept header, then return the 400 error.
If output parameter is not provided; then just use the Accept header to determine the response body content. text/csv is direct csv content, application/geo+json is direct geojson, and application/json includes metadata with output defaulted to geojson format


Implement Promise.catch, Promise.all, Promise.race

This adds the remaining APIs necessary to make Parse.Promise fully interchangeable with the ES6 Promise implementation.

This also runs the ParsePromise unit test suite in both A and A+ compliance modes, and adds some more test coverage.

:+1:


Android

That's a great extension, but any clue how to make it working on Android (since it is pure gml)
I need this really bad, thanks in advance

Hello!
There's actually nothing here that should stop it being run on Android, so long as you set the appropriate INTERNET permissions in the AndroidManifest (I believe the IDE exposes this).
However, I'd strongly encourage you not to use this project and instead look at something like htgm, which is far newer, significantly better written, and actually used in production, whereas this here project I made to teach myself HTTP back in 2022, and no doubt is a buggy and non-secure mess.


Remove Site.Recent from documentation

The Site.Recent variable is obsolete but the documentation says that it is deprecated. It is mentioned in the entry for Site.Pages.
See https://discuss.gohugo.io/t/site-recent-deprecated-or-removed/5851

I would really appreciate if you could just create a Pull Request for such minor adjustments. I.e. just do it and not create extra work for me and others to follow up on.


Please add raygui3 support

Raygui is a different project, with different underlying raylib version.
I think about creating a separate binding ...

Not so different project, you know :)
Raylib's parser.c supports raygui as well, why not?


Integrity should nicely visually display a diagram

config/
    errors/
    history/
    queue/

    + remaining.json
    + config.json

There will be a flag
--dirty

This will just reuse verify_integrity
(exisitng behaviour).
New default behaviour will be outlined above

The slashes will follow UNIX paths, because we're representing the idea of a folder, not os-specific implementations
(ie. as opposed to having)
folder=D:\a\b

for windows

Done in 6df22a6

Woot


Unable to find module with ID: aurelia-api when using Webpack Skeleton and Visual Studio

I'm sure that there's some sort of workaround at this point, but after several hours of research I'm stumped on how to proceed to resolve this.
I've installed using npm install aurelia-api -- save and see a corresponding entry in my package.json file:
"aurelia-api": "3.1.1" ,

I've added the following to boot.ts:
aurelia.use
.standardConfiguration()
...
.plugin(PLATFORM.moduleName("aurelia-api", (config:any) => {...}))
However, when I run the app I get the following error:
Uncaught (in promise) Error: Unable to find module with ID: aurelia-api
at WebpackLoader. (aurelia-loader-webpack.js:187)
at step (aurelia-loader-webpack.js:36)
...

That's strange. I haven't heard this before. I've asked the question in our gitter channel

Thanks for following up.  I'll keep an eye out there and here.

It didn't look like anyone had an idea.  Am I right?

I am using the plugin in my webpack app as well, without any errors. Can you provide some more code insight?

Hey Marc,
I'll try to get you some more info later today.. I'm travelling right now.
I really appreciate the time.
Rob
On Wed, Nov 8, 2017 at 3:47 AM, Marc Scheib<EMAIL_ADDRESS>wrote:

I am using the plugin in my webpack app as well, without any errors. Can
you provide some more code insight?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/SpoonX/aurelia-api/issues/204#issuecomment-342749930,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABxNKuGKCobdC6f_9PA3M7g6xbXa2NTMks5s0WqKgaJpZM4QIBge
.

Marc,
Did you use a skeleton to create your project?  I'm trying to create a
minimal skeleton to show the problem.  (Not sure what was originally used
to create the code base I'm working on).
Regards,
Rob
On Wed, Nov 8, 2017 at 9:04 AM, Rob Scott<EMAIL_ADDRESS>wrote:

Hey Marc,
I'll try to get you some more info later today.. I'm travelling right
now.  I really appreciate the time.
Rob
On Wed, Nov 8, 2017 at 3:47 AM, Marc Scheib<EMAIL_ADDRESS>wrote:

I am using the plugin in my webpack app as well, without any errors. Can
you provide some more code insight?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/SpoonX/aurelia-api/issues/204#issuecomment-342749930,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABxNKuGKCobdC6f_9PA3M7g6xbXa2NTMks5s0WqKgaJpZM4QIBge
.

@robscottnh yes, basically I am using the webpack typescript sekeleton (no cli project).

Hey Marc,
Just getting back to this.  Do you have a link to the skeleton you used?  I
used one from here:
https://blogs.msdn.microsoft.com/webdev/2017/02/14/building-single-page-applications-on-asp-net-core-with-javascriptservices/#comments
I'm betting you used a different one.  I'd like to take a look at it.  My
guess is the webpack configs are different and that's probably where my
issue lies.
Thanks,
Rob
On Wed, Nov 8, 2017 at 4:24 PM, Marc Scheib<EMAIL_ADDRESS>wrote:

@robscottnh https://github.com/robscottnh yes, basically I am using the
webpack typescript sekeleton (no cli project).
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/SpoonX/aurelia-api/issues/204#issuecomment-342964815,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABxNKvQVBoXZnjoiDPEQ07AW5R-a7v9Dks5s0hwqgaJpZM4QIBge
.

Could be:
From our install instructions:
Webpack
Run npm i aurelia-api --save from your project root.

Add 'aurelia-api' in the coreBundles.aurelia section of your webpack.config.js.

Closing this for now. If this is still relevant, feel free to reopen the issue.
Note: this is a copy-paste comment to clean up the issues. It's not personal, and I didn't review the issue before posting this. They're all outdated and I need a way to figure out what's still relevant.
Thank you for understanding :)


Corrected KeyUsage default value

https://github.com/MicrosoftDocs/windows-powershell-docs/issues/66

Looks good.

I am agree with Trevor.


RHEL repo addition

I needed to do this on RHEL6 and RHEL7 systems, so I added in the RHEL repos as valid options.  Unfortunately, the repo RPM package releases are hard-coded since the RPM to install the repo is not named ideally and does not have an alias like "latest" on the mesosphere repo, but it works well in my tests.

Great, looks good to me. This should be compatible with CentOS and RHEL 6 and 7?

Is is possible to use something like this?
   yumrepo { "mesosphere":
      baseurl => "http://repos.mesosphere.io/el/${osrel}/noarch/RPMS",
      enabled => 1,
      gpgcheck => 0
   }

instead of directly installing package?

I was thinking about using yumrepo, but that would have required additionally putting in a file requirement for the GPG key that the packages in that repo use.  Also, there are technically two repo locations (a $basearch path, and a noarch path) that the RPM version contains, so two yumrepo definitions would have been necessary.  So, I thought the single RPM install was probably cleaner.  To your first question, this should support RHEL6/7 as well as CentOS6/7 since osfamily "redhat" should cover anything redhat-based.  I found info on that here:
http://jenkner.org/blog/2013/03/27/use-osfamily-instead-of-operatingsystem/

Ok thanks. I think using passing GPG key would be cleaner approach, with these two repositories it gets complicated. Module with RHEL repo support is tagged as v0.5.2.
Thanks for your contribution!


Missing dependencies

Just pointing out some missing dependencies for the install:

h5py
scikit-learn
ipywidgets

Thanks, I added those.


Unreported/unexplained error/failure during portforward creation

If one only enters the desired name of a new port forward (screenshot below) and presses "Create Port Forward", the port forward is not created, and the app does not inform the user that creation failed or why.
Partial stack trace:
09-22 17:01:27.416  27549-27549/org.connectbot.debug E/CB.PortForwardListAct﹕ Could not update port forward
java.lang.NumberFormatException: Invalid int: ""
        at java.lang.Integer.invalidInt(Integer.java:138)
        at java.lang.Integer.parseInt(Integer.java:358)
        at java.lang.Integer.parseInt(Integer.java:334)
        at org.connectbot.bean.PortForwardBean.<init>(PortForwardBean.java:72)
        at org.connectbot.PortForwardListActivity$2$2.onClick(PortForwardListActivity.java:191)
        at com.android.internal.app.AlertController$ButtonHandler.handleMessage(AlertController.java:163)

Looks like we need some good ol' form validation. @rhansby do you want to take this? If not, I can look into it tomorrow.

@jklein24 yes I'll take it

:+1:


⚠ Jenkins Plugins Artifactory has degraded performance

In f32d4a4, Jenkins Plugins Artifactory (https://get.jenkins.io/plugins/artifactory/) experienced degraded performance:

HTTP code: 200
Response time: 1547 ms

Resolved: Jenkins Plugins Artifactory performance has improved in f625ad8 after 3 hours, 10 minutes.


Instructions don't work for Ubuntu 19.10

Neither the one-liner or full manual steps work for the latest version of Ubuntu (19.10).

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

ID: fe1526a9-7f22-504e-484c-0f3edc11b178
Version Independent ID: c5dec108-efcd-aa77-04b5-803b6b894dba
Content: Install the Azure CLI on Linux with apt
Content Source: docs-ref-conceptual/install-azure-cli-apt.md
Product: azure
Technology: azure-cli
GitHub Login: @sptramer
Microsoft Alias: sttramer

@budzynski Thank you for providing the feedback. I have assigned this to the content author to add a not with regard to supported O/S versions or identify compatibility issue with the current documentation.

Try to set the following in step 2:
AZ_REPO=bionic

@devdeer-alex Thank you for clarifying on step 3.
@budzynski Hope the above information helps. Will go ahead and close this issue for now, however if you have further queries or issues please let us know. Will be more than happy to continue the conversation forward. Thanks

bionic did not work for me it complains about libsane-common:
ugen@eugen-VirtualBox-Ubuntu-19:~$ echo "deb [arch=amd64] https://packages.microsoft.com/repos/azure-cli/ $AZ_REPO main" | sudo tee /etc/apt/sources.list.d/azure-cli.list
deb [arch=amd64] https://packages.microsoft.com/repos/azure-cli/ bionic main
eugen@eugen-VirtualBox-Ubuntu-19:~$ sudo apt-get install azure-cli
Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run 'apt --fix-broken install' to correct these.
The following packages have unmet dependencies:
 libsane : Depends: libsane-common (= 1.0.27-3.2ubuntu3) but it is not going to be installed
W: Encountered status field in a non-version description
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).
eugen@eugen-VirtualBox-Ubuntu-19:~$ sudo apt --fix-broken install
Reading package lists... Done
Building dependency tree
Reading state information... Done
Correcting dependencies... Done
The following packages were automatically installed and are no longer required:
  gir1.2-geocodeglib-1.0 gir1.2-gst-plugins-base-1.0 gir1.2-gudev-1.0 gir1.2-udisks-2.0 grilo-plugins-0.3-base gstreamer1.0-gtk3
  guile-2.2-libs libboost-date-time1.67.0 libboost-filesystem1.67.0 libboost-iostreams1.67.0 libboost-locale1.67.0 libcdr-0.1-1
  libclucene-contribs1v5 libclucene-core1v5 libcmis-0.5-5v5 libcolamd2 libdazzle-1.0-0 libe-book-0.1-1 libeot0 libepubgen-0.1-1
  libetonyek-0.1-1 libevent-2.1-6 libfreerdp-client2-2 libfreerdp2-2 libgc1c2 libgom-1.0-0 libgpgmepp6 libgpod-common libgpod4
  libgrilo-0.3-0 liblangtag-common liblangtag1 liblirc-client0 liblua5.3-0 libminiupnpc17 libmspub-0.1-1 libodfgen-0.1-1
  liborcus-0.14-0 libqqwing2v5 libraw19 librevenge-0.0-0 librsync2 libsgutils2-2 libsuitesparseconfig5 libvncclient1 libwinpr2-2
  libxmlsec1-nss lp-solve media-player-info python3-bcrypt python3-fasteners python3-future python3-lib2to3 python3-lockfile
  python3-mako python3-markupsafe python3-monotonic python3-paramiko syslinux syslinux-common syslinux-legacy usb-creator-common
Use 'sudo apt autoremove' to remove them.
The following additional packages will be installed:
  libsane-common
The following NEW packages will be installed:
  libsane-common
0 upgraded, 1 newly installed, 0 to remove and 115 not upgraded.
Need to get 0 B/271 kB of archives.
After this operation, 1,217 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
dpkg: error: parsing file '/var/lib/dpkg/status' near line 22373 package 'libsane-common':
 missing 'Version' field
E: Sub-process /usr/bin/dpkg returned an error code (2)

@eugen-nw Thank you for letting us know. I suggest you open a new issue here so we can track and address it separately.


Add support github.com/clowdhaus/eksup

https://github.com/clowdhaus/eksup

Thank you.

https://github.com/aquaproj/aqua-registry/pull/16496

v4.70.0 is out 🎉
https://github.com/aquaproj/aqua-registry/releases/tag/v4.70.0


Question: How to use certificate with password?

I tried to use this tool to sign SBOM for our driver package with PFX certificate with password and got error.
>"H:\Program Files\Windows Kits\10\Tools\10.0.26063.0\x64\CoseSignTool.exe" sign /PayloadFile NetKVM.sbom.json /PfxCertificate VirtIOTestCertPass.pfx
COSE Sign failed.
The specified network password is not correct.

If  I try to use a certificate without a password, everything works.
How should I specify the password for the certificate? How can I use this tool to sign SBOM with an EV Code Signing token certificate?
Best regards

Hi Yan! Excited to hear about your interest in CoseSignTool :) The correct usage here would be to add /Password:<password> to your command. You can find additional documentation in CoseSignTool.md. In the future, we will be giving users the option to be prompted for passwords at runtime so we can consume it as a secure string. Closing this issue and opening https://github.com/microsoft/CoseSignTool/issues/84 to track that work.

Thanks a lot!


Add icons on Navbar for menu items

We need to improve:
Icons for each button can be added alongside with the text on the Navbar to make it look more appealing

can you make a design first to show how it will look after.
You can make it in any software even in Canva.

sure ,I will make the design first and then you can review it

it will look something like this , a rough idea of the styling

Okay ,no problem , thanks for your response


[Bug]: Spurious(?) Error messages during build: Failed to pre-render columns Parser Error: syntax error at or near "SELECT"

Describe the bug
During build process, Evidence spits out error messages to do with the pre-rendering of columns
Steps to Reproduce

Clean install on  "@evidence-dev/evidence": "^39.1.3",
npm run build
Observe build logs

Logs
(!) Some chunks are larger than 500 kB after minification. Consider:
- Using dynamic import() to code-split the application
- Use build.rollupOptions.output.manualChunks to improve chunking: https://rollupjs.org/configuration-options/#output-manualchunks
- Adjust chunk size limit for this warning via build.chunkSizeWarningLimit.
✓ built in 22.66s
Failed to pre-render columns Parser Error: syntax error at or near "SELECT"
LINE 2: DESCRIBE SELECT * FROM (select
                 ^
Failed to pre-render columns Parser Error: syntax error at or near "SELECT"
LINE 2: DESCRIBE SELECT * FROM (SELECT DISTINCT category AS "value", category AS "label" FROM (SELECT * FROM (select
      category
  from needful_things.orders
  group by category
) AS "inputQuery-jV")
) AS "inputQuery-5v"
...
                 ^
Failed to pre-render columns Parser Error: syntax error at or near "SELECT"
LINE 2: DESCRIBE SELECT * FROM (select
                 ^
Failed to pre-render columns Parser Error: syntax error at or near "SELECT"
LINE 2: DESCRIBE SELECT * FROM (SELECT DISTINCT category AS "value", category AS "label" FROM (SELECT * FROM (select
      category
  from needful_things.orders
  group by category
) AS "inputQuery-Yw")
) AS "inputQuery-Up"
...

System Info
System:
    OS: macOS 14.2.1
    CPU: (10) arm64 Apple M1 Pro
    Memory: 84.97 MB / 16.00 GB
    Shell: 5.1.16 - /opt/homebrew/bin/bash
  Binaries:
    Node: 20.15.0 - ~/.nvm/versions/node/v20.15.0/bin/node
    Yarn: 1.22.22 - ~/.nvm/versions/node/v20.15.0/bin/yarn
    npm: 10.7.0 - ~/.nvm/versions/node/v20.15.0/bin/npm
    pnpm: 8.6.9 - /opt/homebrew/bin/pnpm
    bun: 1.0.25 - /opt/homebrew/bin/bun
  Browsers:
    Brave Browser: <IP_ADDRESS>
    Chrome: 127.0.6533.100
    Safari: 17.2.1
  npmPackages:
    @evidence-dev/bigquery: ^2.0.7 => 2.0.7
    @evidence-dev/core-components: ^4.7.4 => 4.7.4
    @evidence-dev/csv: ^1.0.12 => 1.0.12
    @evidence-dev/databricks: ^1.0.7 => 1.0.7
    @evidence-dev/duckdb: ^1.0.11 => 1.0.11
    @evidence-dev/evidence: ^39.1.3 => 39.1.3
    @evidence-dev/motherduck: ^1.0.2 => 1.0.2
    @evidence-dev/mssql: ^1.0.9 => 1.0.9
    @evidence-dev/mysql: ^1.1.3 => 1.1.3
    @evidence-dev/postgres: ^1.0.6 => 1.0.6
    @evidence-dev/snowflake: ^1.1.0 => 1.1.0
    @evidence-dev/sqlite: ^2.0.6 => 2.0.6
    @evidence-dev/trino: ^1.0.8 => 1.0.8

Severity
annoyance
Additional Information, or Workarounds
No response

Perhaps caused by https://github.com/evidence-dev/evidence/pull/2261/files
And maybe related to

@zachstence
Probably related: https://github.com/evidence-dev/evidence/issues/2437
This seems to be affecting a wide range of projects - impacting cloud logs and builds

Can confirm it's not affecting 39.1.1 but affects all later versions.

After some digging, I've discovered that the version 1.28.0 of @duckdb/duckdb-wasm has a bug where nested describes don't work (e.g. describe (describe select 1)). This bug appears to be fixed in later dev versions, but 1.28.1 has yet to have a stable release.
Regardless of this shortcoming, I think that there is some cleanup that could be done to our query running (we shouldn't be doing a nested describe). Cleaning this up would likely benefit build speed as well (however small that benefit may be) due to running unnecessary queries.


Bug with 2 queries with OR and ASC and DESC ordering

Using 1.14.2 SDK (latest at the time of writing)
Using the following code (i.e. joining 2 queries with OR) and ordering the joined query by 2 fields (one ASC followed by another one DESC) results in only the last orderBy to take effect (i.e. only by "paidFor" field):
// query A - open tables from any day
let queryOpenBills = PFQuery(className: self.parseClassName!)
queryOpenBills.whereKey("menu", equalTo: PFUser.currentUser()!["establishmentName"])
queryOpenBills.whereKey("paidFor", notEqualTo: true)

// query B - closed table from today
let queryTodayClosedBills = PFQuery(className: self.parseClassName!)
queryTodayClosedBills.whereKey("menu", equalTo: PFUser.currentUser()!["establishmentName"])
queryTodayClosedBills.whereKey("paidFor", equalTo: true)
queryTodayClosedBills.whereKey("updatedAt", greaterThanOrEqualTo: today)

// use OR with the 2 queries
let query = PFQuery.orQueryWithSubqueries([queryOpenBills, queryTodayClosedBills])
query.includeKey("user")
query.orderByDescending("updatedAt")
query.orderByAscending("paidFor")

Is this a known issue?

anyone?


ten new repos added participated in hacktoberfest

new 10 repos added

please resolve merge conflicts

Can you please tell me how to resolve it

Please check it.


HypergraphPlot: PlotStyle

We should have an option in HypergraphPlot to specify the base color. That color will be used for both vertices and edges.
In the first iteration it could just accept colors only, nothing else.

Done https://github.com/maxitg/SetReplace/pull/151.


Fixes LocaleList not supported below API level 24

Modifies WritableArray method so that LocaleList is not needed on devices with lower than API level 24.

LGTM 👍


Current Behavior

Using lambdas in plugin to add doLast block to tasks breaks cacheability.
Context

I am working with a plugin that adds a doLast block to tasks of type checkStyle. This plugin is written in Java and is compiled separately and used as a dependency. In the plugin we add a doLast block with something like this:

task.doLast(t -> { //do something })

I notice that checkStyle task is not cacheable due to the doLast block being defined as a Lambda.
During execution with debug turned on, I see the following log output:
_Task myCustomCheckstyle
Appending .....
Appending actionType to build cache key: com.myorg.MyCustomPlugin$$Lambda$188/376495921
...
Build cache key for task 'myCustomCheckstyle' is b869c161eb63f4507d850045047ee9aa_

The actionType is different on each invocation because the part after the $$Lambda$188/ changes with each invocation.
When I replace the lambda with an Action, like
   task.doLast(new MyCustomDoLastAction())

caching works as expected since the actionType resolves to com.myorg.MyCustomPlugin.$MyCustomDoLastAction
Steps to Reproduce (for bugs)

Create a java project on which checkstyle plugin is applied
Create a project to house a plugin that scans the project on which it is applied, to find checkstyle tasks and adds a doLast block to each checkstyle task it finds. Make sure the doLast block is added with a closure block and not an explicit Action implementation.
Compile the plugin and apply it to the java project created in step one.
Run checkstyle task with -Dorg.gradle.caching.debug=true flag.
Notice the debug log with a message of the kind:

Appending actionType to build cache key: com.myorg.MyCustomPlugin$$Lambda$188/376495921

Run the checkstyle task again, notice that the task is not cacheable because the the actionType corresponding to the lambda is different, and therefore the cache key is different.
Now replace the closure defining the action block in the plugin with an implementation of the action. Compile the plugin again and apply to the project.
Run checkstyle task twice and notice that it is not cacheable.

Your Environment

OS: macOS High Sierra
Java Version: 1.8.0_121
Gradle Version: 4.6

@sayniv Thank you for reporting. I am surprised by the bug report, given that the underlying problem should have been fixed in Java 8u40 (see the JDK bug).
I guess this is something different, right? So the code of the plugin does not change (it is compiled separately) and still the class name of the lambda changes?

Independently of this bug, don't we deactivate the cache with custom actions anyway? After all they can introduce new, untracked outputs that could break caching.

There is no major difference between task actions declared via @TaskAction and doLast(). For each action we assume that inputs and outputs are properly declared (either via @Input annotations or via the runtime API). It's not an air-tight system by any means, as we simply trust that things are set up properly.

It looks like the JVM will add an unstable hash code to the end of the lambda class name when calling getClass().getName() on a lambda.
I've been thinking a bit about this and wanted to run this by everyone. If indeed the assumption is that inputs and outputs are properly declared, then shouldn't the action name not be part of the cache key?

Can you please share a reproducible test or some results we can look at?

I'm seeing similar behavior when using the spring boot plugin with gradle 4.9.  It appears the spring boot plugin applies an action when the JavaPlugin is also present on a project.
https://github.com/spring-projects/spring-boot/blob/master/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/plugin/JavaPluginAction.java
I notice this on the compileJava task when I have org.gradle.caching.debug=true
Appending actionType to build cache key: org.springframework.boot.gradle.plugin.JavaPluginAction$$Lambda$33/67053257
Running in Jenkins, on linux with java 1.8.0_181, every build produces a different number for the 67053257 part and I get a cache miss.
The strange part is this works fine on my Mac.  The number stays the same from build to build.
Even more strange is when I run the build on my machine(Docker for Mac) with the same container used by Jenkins, the number stays the same.

Here is a sample project that will hopefully reproduce the problem, or at least a variant of it.
You can see the type name of the lambda task action change depending on the presence of --info:
Without --info:
$ GRADLE_OPTS=-verbose:class ./gradlew compileJava --no-daemon --console=plain | grep ExamplePlugin
[Loaded com.example.ExamplePlugin from file:/Users/awilkinson/.gradle/caches/jars-3/d2a9372c2f68ba34f55fb0a07a3b11d1/buildSrc.jar]
[Loaded com.example.ExamplePlugin$$Lambda$1/837790893 from com.example.ExamplePlugin]
[Loaded com.example.ExamplePlugin$$Lambda$2/1111413685 from com.example.ExamplePlugin]

Without --info again. Names are unchanged:
$ GRADLE_OPTS=-verbose:class ./gradlew compileJava --no-daemon --console=plain | grep ExamplePlugin
[Loaded com.example.ExamplePlugin from file:/Users/awilkinson/.gradle/caches/jars-3/d2a9372c2f68ba34f55fb0a07a3b11d1/buildSrc.jar]
[Loaded com.example.ExamplePlugin$$Lambda$1/837790893 from com.example.ExamplePlugin]
[Loaded com.example.ExamplePlugin$$Lambda$2/1111413685 from com.example.ExamplePlugin]

With --info. The names have changed:
$ GRADLE_OPTS=-verbose:class ./gradlew compileJava --no-daemon --console=plain --info | grep ExamplePlugin
[Loaded com.example.ExamplePlugin from file:/Users/awilkinson/.gradle/caches/jars-3/d2a9372c2f68ba34f55fb0a07a3b11d1/buildSrc.jar]
[Loaded com.example.ExamplePlugin$$Lambda$1/1938374337 from com.example.ExamplePlugin]
[Loaded com.example.ExamplePlugin$$Lambda$2/1728266914 from com.example.ExamplePlugin]

With --info again. The names have remained the same:
$ GRADLE_OPTS=-verbose:class ./gradlew compileJava --no-daemon --console=plain --info | grep ExamplePlugin
[Loaded com.example.ExamplePlugin from file:/Users/awilkinson/.gradle/caches/jars-3/d2a9372c2f68ba34f55fb0a07a3b11d1/buildSrc.jar]
[Loaded com.example.ExamplePlugin$$Lambda$1/1938374337 from com.example.ExamplePlugin]
[Loaded com.example.ExamplePlugin$$Lambda$2/1728266914 from com.example.ExamplePlugin]

Without --info. The names are back to what they were originally:
$ GRADLE_OPTS=-verbose:class ./gradlew compileJava --no-daemon --console=plain | grep ExamplePlugin
[Loaded com.example.ExamplePlugin from file:/Users/awilkinson/.gradle/caches/jars-3/d2a9372c2f68ba34f55fb0a07a3b11d1/buildSrc.jar]
[Loaded com.example.ExamplePlugin$$Lambda$1/837790893 from com.example.ExamplePlugin]
[Loaded com.example.ExamplePlugin$$Lambda$2/1111413685 from com.example.ExamplePlugin]

The --no-daemon option explains why I'm seeing different behavior between my local and Jenkins builds.  My Jenkins build uses --no-daemon.  When I use --no-daemon on my local build I get a different value from run to run.  Using or not using --info seems to make no difference in my build.  The numbers are always different.

IIUC correctly, then the lambda classes are created at execution time and are not created at compilation time by the compiler. The class name consists of the call site (com.example.ExamplePlugin$$Lambda$1), which seems to be stable, and a counter /837790893, which doesn't seem to be stable between different JVM runs.
The class is only created once per JVM, which explains why using the same daemon leaves the task up-to-date.
Would it make sense to drop the /837790893 suffix from the class name for up-to-date checks and build cache keys when the class comes from a lambda? Would that cause any changes to be missed, e.g. lead to wrong cache hits? It seems to be not the case...

Unfortunately, the 1 in com.example.ExamplePlugin$$Lambda$1 means that it's the first lambda that's been created in the JVM, not that it's the first lambda in ExamplePlugin. If some code that uses a lambda runs first the number will change. For example:
[Loaded com.example.AnotherPlugin from file:/Users/awilkinson/.gradle/caches/jars-3/5b588771d431b79ceec34f122c58b6e8/buildSrc.jar]
[Loaded com.example.AnotherPlugin$$Lambda$1/322100932 from com.example.AnotherPlugin]
[Loaded com.example.AnotherPlugin$$Lambda$2/604480364 from com.example.AnotherPlugin]
[Loaded com.example.ExamplePlugin from file:/Users/awilkinson/.gradle/caches/jars-3/5b588771d431b79ceec34f122c58b6e8/buildSrc.jar]
[Loaded com.example.ExamplePlugin$$Lambda$3/1174599796 from com.example.ExamplePlugin]
[Loaded com.example.ExamplePlugin$$Lambda$4/893152673 from com.example.ExamplePlugin]

If you swap the order in which the plugins are applied, the numbers change:
[Loaded com.example.ExamplePlugin from file:/Users/awilkinson/.gradle/caches/jars-3/5b588771d431b79ceec34f122c58b6e8/buildSrc.jar]
[Loaded com.example.ExamplePlugin$$Lambda$1/836371508 from com.example.ExamplePlugin]
[Loaded com.example.ExamplePlugin$$Lambda$2/1073862849 from com.example.ExamplePlugin]
[Loaded com.example.AnotherPlugin from file:/Users/awilkinson/.gradle/caches/jars-3/5b588771d431b79ceec34f122c58b6e8/buildSrc.jar]
[Loaded com.example.AnotherPlugin$$Lambda$3/2091160281 from com.example.AnotherPlugin]
[Loaded com.example.AnotherPlugin$$Lambda$4/2127862399 from com.example.AnotherPlugin]

I can't see a way to derive a name from a lambda that will be stable across builds.

@wilkinsona What Java version are you using? IIUC, there was a javac bug which was fixed and now the counter is per class: https://bugs.java.com/bugdatabase/view_bug.do?bug_id=8067422.
In your example it seems that the jar which contains the lambdas is not changing (buildSrc.jar). So maybe the Java bug above is something else. I saw the following code in InnerClassLambdaMetafactory:
lambdaClassName = targetClass.getName().replace('.', '/') + "$$Lambda$" + counter.incrementAndGet();

counter is a static field, so it would depend on the order the lambdas are loaded. That means that as there is change to the build file, the class name is stable (at least the part before the /).

counter is a static field, so it would depend on the order the lambdas are loaded.

Yeah, that's the problem.

That means that as there is change to the build file, the class name is stable (at least the part before the /).

I don't think it is stable even with an unchanged build.gradle. For example, the order in which lambdas are loaded or the number of lambdas that are loaded could vary depending on some conditional logic and properties that have been passed into the build.

configure-on-demand and composites are two other mechanics that can influence load order of configuration code.
Also, just adding a new plugin/script upstream of the lambda.

If the target class of the lambda is serializable, we can obtain a SerializedLambda, which contains the actual method which will be invoked:
interface SerializableConsumer extends Consumer<String>, Serializable {}
SerializableConsumer serializableConsumer = (String x) -> System.out.println(x);
Method method = serializableConsumer.getClass().getDeclaredMethod("writeReplace");
method.setAccessible(true);
SerializedLambda serializedLambda = (SerializedLambda) method.invoke(serializableConsumer);

SerializedLambda has implClass and implMethodName as fields - those would be enough to track changes.
If the target class is not serializable, then a simpler form of the lambda is created.

I guess we could parse the SAM method of the generated class for the lambda with asm and find out the actual invoked method.

So it is possible to write a Java agent which changes LambdaMetaFactory to add an annotation to each generated lambda class with the necessary information. Here is a spike for the implementation: https://github.com/wolfs/lambda-meta-information-java-agent
Here is a test verifying that it works:  https://github.com/wolfs/lambda-meta-information-java-agent/blob/master/instrumented-code/src/test/java/EnhancedLambdas.java#L17-L22

Is your suggestion to drop the last part of the lambda class name include using the agent or without it?
Just to be sure, you suggest that we retain only <DeclaringClass>$$Lambda from <DeclaringClass>$$Lambda$154/00000000082FF1F0? What if there are multiple lambdas declared by the same class?

IIUC, your argument is that the only code that would result in different behavior without a change in cache key would need to look something like this:
if (condition) {
    doLast(/* lambda #1 */);
} else {
    doLast(/* lambda #2 */);
}

...and in this case condition should somehow be represented as an input anyway.
That makes sense I think. I definitely prefer the simplicity this solution offers.

Actually, this is not correct. The code with the condition could be inside the plugin configuring the task, and then condition itself is not an input to the task anymore. Yet Gradle should still be able to figure out the difference between using lambda #1 and lambda #2.

For Gradle 5.0 we decided to disable up-to-date checks and caching when a lambda is used as a task action. There is currently no way to track the implementation of such an action reliably: https://github.com/gradle/gradle/pull/6503

In effect, in Gradle 5.0, if someone adds a doLast action in "build.gradle" that just prints a debug statement, it renders the entire task non-incremental and non cacheable. This makes the build slower and the team may not even notice. I am surprised the Gradle team considers this solution as viable. At LinkedIn we are finding it really hard to leverage distributed cache because it so easy to break cacheability of tasks and hard to track why tasks are not cacheable.

@mockitoguy Adding a doLast action in a build script will not disable caching/incremental build for the task. Only when the doLast action is implemented via a Java lambda. Groovy and Kotlin lambdas work just fine.
The reason why the task is not cacheable is shown in build scans. You can filter for non-cacheable tasks. The reason why the task is not up-to-date is also shown in build scans. Both things are printed on the info log. Where else would you expect that information to be shown?

@mockitoguy Adding a doLast action in a build script will not disable caching/incremental build for the task. Only when the doLast action is implemented via a Java lambda. Groovy and Kotlin lambdas work just fine.

@wolfs: are you sure that Kotlin lambdas work just fine?
I have a plugin implemented completely in Kotlin that uses lambdas as arguments to doFirst() & doLast().
When including the plugin in a composite build, and applying that plugin to another included build, :common, running:
./gradlew --info --warning-mode all --console=plain build

Outputs the following to the console:
> Task :common:compileJava
Caching disabled for task ':common:compileJava' because:
  Build cache is disabled
Task ':common:compileJava' is not up-to-date because:
  Additional action for task ':common:compileJava': was implemented by the Java lambda 'org.gradle.java.taskconfigurer.JavaCompileTaskConfigurer$$Lambda$1406/0x0000000801ffb440'. Using Java lambdas is not supported, use an (anonymous) inner class instead.
All input files are considered out-of-date for incremental task ':common:compileJava'.
Full recompilation is required because no incremental change information is available. This is usually caused by clean builds or changing compiler arguments.
Compiling with JDK Java compiler API.
Created classpath snapshot for incremental compilation in 0.035 secs.
:common:compileJava (Thread[Execution worker for ':common',5,main]) completed. Took 1.773 secs.

org.gradle.java.taskconfigurer.JavaCompileTaskConfigurer is implemented in Kotlin, as are all the other classes in the plugin.
I'm running using:
macOS 10.14.6 + all updates
Java 13: OpenJDK 64-Bit Server VM (build 13+33, mixed mode, sharing)
Gradle Wrapper 5.6.2 Kotlin DSL
Kotlin 1.3.50
With the following in my build.gradle.kts for the plugin:
tasks.withType<KotlinCompile>().configureEach {
    kotlinOptions {
        javaParameters = true
        jvmTarget      = VERSION_1_9.majorVersion
        verbose        = true
    }
}

Kotlin lambdas work fine, see https://github.com/gradle/gradle/issues/10854#issuecomment-535826639.


Portable Version of HashPad?

Are there any plans of making HashPad portable?

What do you exactly mean by "portable"?

Hi,
I mean by running it portable just like the "old version" FileHashChecker.
On Wed, Sep 15, 2021 at 1:52 PM emoacht @.***> wrote:

What do you exactly mean by "portable"?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/emoacht/HashPad/issues/16#issuecomment-919950210, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ABPMYQN4DOCHKTBXJWJJGBTUCCCG3ANCNFSM5EBWNJAQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

--
Met vriendelijke groet / With kind regards,
J. Slegers

I see.
You can build the executable file on your own. The most functions will work except those which require installation.
I created a branch named "single-file" to build a single file binary easily. To build the binary,

In Solution explorer, switch to "single-file" branch.
Right click the project and select Publish.
In Publish dialog, select Folder, select Folder and then click Finish.
Click Publish. It will build the binary in the path of Target location

Hello,
Thank you for your response. Where can I select publish? Or must I need the
Github Desktop tool?
[image: image.png]
Kind regards,
John
On Thu, Sep 16, 2021 at 5:49 AM emoacht @.***> wrote:

I see.
You can build the executable file on your own. The most functions will
work except those which require installation.
I created a branch named "single-file" to build a single file binary
easily. To build the binary,

In Solution explorer, switch to "single-file" branch.
Right click the project and select Publish.
In Publish dialog, select Folder, select Folder and then click
Finish.
Click Publish. It will build the binary in the path of Target
location

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/emoacht/HashPad/issues/16#issuecomment-920553307, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ABPMYQJJQRLE7ZNA3IBZU3TUCFSMHANCNFSM5EBWNJAQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

--
Met vriendelijke groet / With kind regards,
J. Slegers

Well, you need Visual Studio.

Hi,
I have Published it with Visual Studio. Output was only 170Mb so I will
keep it with the old version which is below 100Kb.
But thanks for your support.
Kind regards,
John
On Thu, Sep 16, 2021 at 1:07 PM emoacht @.***> wrote:

Well, you need Visual Studio.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/emoacht/HashPad/issues/16#issuecomment-920804717, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ABPMYQK6E3HPBOO7HN6RHPLUCHFXTANCNFSM5EBWNJAQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

--
Met vriendelijke groet / With kind regards,
J. Slegers


Use permissive Apache license instead of GPLv2

This update was made to @joekhoobyar/net-ssh-kerberos upstream, and
allows organizations to use net-ssh-kerberos freely.

 Could you give a  👍 if relicensing is ok with you?

Totally fine with me.  Thanks for keeping this gem going!

LGTM

Thanks all!! @cbeer Any chance this and the gssapi bump can go out in a 0.5.0 release? We can use the master branch if you're busy or can't release for some reason!

@lucywyman I'm good with that, and thanks for your contributions. I'm a little busy this week, but  I've gone ahead and added you to the github project and as a rubygems owner  and would welcome you to go ahead and make it happen.


add default value [/node_modules/] for ignored in watchOptions

set the default value of ignored in watchOptions as in this PR
PR : https://github.com/webpack/webpack-dev-server/pull/1794

This feature was reverted, so I'll close.


Unable to stash

/snap/git-cola-brlin/x17/usr/lib/git-core/git-stash: 46: .: Can't open /usr/bin/gettext.sh

Fixed in commit 25e22ea.


set digest_days to be a number of days instead of a hash [PEOPLE-115]

JIRA: https://netguru.atlassian.net/browse/PEOPLE-115
Changes:

set correct value for digest_days to be a fixnum instead of hash

accepted :octopus:


Fix bulk import socket hang up error

Upgrade elasticsearch dependency to version 14.2.1 to incorporate the timeout fixes for the bulk import. See issue #24 for more details.

@joshuamorris3 - Thank you!  I pulled in your commit via the command-line, but for some reason, this PR didn't auto-close (like I'm used to).
Anyways, after pulling in your commit, I also updated es to v5 (since it seemed to work).  I'll publish a new version soon.  Thanks again!


Make sure install works even when first install is on a BDC

What does this PR do?
changes logic on install; previously was not adding the user to the relevant groups on a BDC.
This means that the install wouldn't do all the necessary steps if the agent was installed on a BDC prior to the PDC.
Motivation
testing other PR

Closing because https://github.com/DataDog/datadog-agent/pull/6493/ is way better


aws.identitystore.User has a problem: Attribute must be a list.

What happened?
name property turns out to be required. If not provided the returned error is not descriptive enough.
Diagnostics:
  aws:identitystore:User (marcin):
    error: aws:identitystore/user:User resource 'marcin' has a problem: Attribute must be a list. Examine values at 'marcin.name'.

Example
This will fail:
  const user = new aws.identitystore.User("marcin", {
    userName: "marcin",
    displayName: "Marcin",
    emails: {
        primary: true,
        type: "WORK",
        value<EMAIL_ADDRESS>    },
    identityStoreId: sso.identityStoreIds[0],
  });

This will work:
  const user = new aws.identitystore.User("marcin", {
    name: {
      givenName: "Marcin",
      middleName: "Marcin",
      familyName: "Marcin",
    },
    userName: "marcin",
    displayName: "Marcin",
    emails: {
        primary: true,
        type: "WORK",
        value<EMAIL_ADDRESS>    },
    identityStoreId: sso.identityStoreIds[0],
  });

Output of pulumi about
Dependencies:
NAME            VERSION
@pulumi/aws     6.17.0
@pulumi/pulumi  3.99.0
@types/node     18.19.4

Additional context
No response
Contributing
Vote on this issue by adding a 👍 reaction.
To contribute a fix for this issue, leave a comment (and link to your pull request, if you've opened one already).

Hey @mpuhacz. The name property is required. It looks like a bug is causing the name property to attempt to auto-populate (and marking it as optional). The error message is actually saying (correctly) that the auto-populated value is invalid. We will get a fix out for that soon.


Reply button is not working under nested comments

Description:
There is a Reply button under a nested comment which is not doing anything. Should the user be able to reply to a nested comment with another nested comment?

Steps to reproduce:

Comment on an API
Reply to the comment
Click Reply button under nested comment

Affected Product Version:
API-M 4.0.0
Environment details (with versions):

OS: Windows 10

Suggested Labels:
API-M 4.0.0

This issue is present in the Comments section of the Publisher as well.


Reproducing Procgen results

Hi. @rraileanu
Thank you for your interesting work on RL generalization.
I am trying to reproduce your Procgen results using the same hyperparameter setting across the environments, following Appendix C in your paper, but get scores lower than reported in some environments (Plunder, ...).
Should I use environment-specific hyperparameter settings to reproduce the results?

Hi and thanks for your question!
In order to reproduce the results in the paper, you need to use the flag --use_best_hps, which will use different HPs for the different games according to best_hyperparameters.py. The default code uses the same set of HPs for all environments, which are the best ones overall.
Let me know if you have any other questions.

Thank you for the clarification, but the scores still have high variances.
In my understanding, the paper trains 10 policies with different random seeds and evaluates the average return of each policy on 10 test episodes. The mean and standard deviation are then computed over the random seeds. Is it correct?
I would greatly appreciate your feedback.


tween_length is incompatible with translated sprites and sprites larger than the tile size

Describe the bug
Enabling tweens breaks some features, like

translating sprites with e.g. translate:down:1
sprites larger than the tile size being rendered with the bottom left-hand corner aligned with the tile

Reproduction Steps

load example project https://puzzlescriptnext.polyomino.com/editor.html?hack=acfdae66917f81e67d957c9067438e59
note that the player sprite correctly extends into the tiles above and below, because it's 7 tiles tall and has translate:down:1
uncomment prelude line tween_length 0.1
note that the player is cropped to 5x5, and the translate transform is ignored

What did you expect would happen?
Tweens should be compatible with translated sprites / large sprites

Known problem. tween_length is implemented by the old PS+ render loop, which has no provision for transforms. It needs to be merged.


Create exclude-partial filter and use when referencing cards

Originally captured in #399.
Ideally the cards that are already referenced via that reference type would not just be exclude/cards/CARD-IDS, or exclude/direct-references/CARD-ID/REFERENCE-TYPE (would the latter be updated correctly for editing card?), because then they'd be disappeared, which would be weird.
Ideally they'd show up down-ranked and grayed out. Perhaps an exclude-partial configurable filter that takes the items that match and instead of fully excluding them, it sets their partialMatch to true, and takes their sort value and makes it smaller?

This machinery is non-trivial to design because the partialMatch/sortValues happens upstream of filterSetForFilterDefinitionItem.
Oh wait, actually it's not that hard, because filterSetForDefinitionItem returns the two extra objects, which are map to sortValue and partialMatch, and can just be consulted directly.

The reference dialog should exclude all types of already-referenced items (well maybe excluding links/ack), since typically you only want one outbound reference to another card


Cannot run amplify-lambda offline using instructions in Readme

I have tried this on a Windows and a Linux machine, and have gotten the same results. I have followed all the steps in the Readme.md and get the same results.
At steps under "Run Serverless Offline"
Trying option 1, in the repo root:
$ serverless amplify-lambda:offline --httpPort 3015 --stage dev

Result is:
The command "amplify-lambda:offline" is not currently supported by Compose.

However, running serverless amplify-lamba offline ... seems to go further, maybe the : needs to be removed from the instructions?
Trying option 2, in the amplify-lambda directory
serverless offline --httpPort 3015 --stage dev

Result is:
Cannot resolve '${param:SHARE_ASSISTANTS_ENDPOINT}' variable at 'provider.environment.SHARE_ASSISTANTS_ENDPOINT'. No value is available for this variable, and no default value was provided. Please check your variable definitions or provide a default value.
Error: Cannot resolve '${param:SHARE_ASSISTANTS_ENDPOINT}' variable at 'provider.environment.SHARE_ASSISTANTS_ENDPOINT'. No value is available for this variable, and no default value was provided. Please check your variable definitions or provide a default value.

I have no experience using serverless but this may be because this parameter is defined in serverless-compose in the parent directory.

Serveless offline does not support running from serverless-compose. It is not able to serve more than one service at a time on a given port. If you run the command from inside any of the directories, that specific service endpoint can run for local testing.

Thanks, you are correct. I will work on updating the documentation. The serverless compose plugin is not compatible with serverless-offline. There's a few options out there to dynamically set them from  a stagevar file for .env. But it would require some re-working of the serverless.yml to support it. Alternatively, you can manually drop those variables in there for testing and revert to deploy. I understand it's not ideal. I had to choose between making the deployment easier, or running serverless offline. If you see a way to improve that, please let me know. Happy to make changes.

Allen,
Thanks for your response. I see your point, my recommendation would be to
update the documentation and pass this param at runtime when running
offline such as:
serverless offline --httpPort 3015 --stage dev
--param="SHARE_ASSISTANTS_ENDPOINT=myval"
By the way - the next issue is this: "The Serverless version (4.3.3) does
not satisfy the "frameworkVersion" (3) in serverless.yml" - this is likely
because the instructions do not specify a version to install and I happened
to get the latest. An easy solution to this is to not recommend installing
globally, and running it from the package directory. This ensures control
over versioning using package.json - even if it's already globally
installed. The version installed in node_modules as a result of npm i is
3.39.  So that command would be:
npx serverless offline --httpPort 3015 --stage dev
--param="SHARE_ASSISTANTS_ENDPOINT=myval"
By the way - I am not sure if you are accepting PRs - but I did send one
based on a bug one of our developers spent a lot of time troubleshooting.
I'm happy to send PRs in general - just trying to get an idea since my
understanding based on our call last week is that you also maintain an
"internal" repo. Currently, we finally have a copy working and I'm spending
some time trying to understand the codebase and the development
architecture.
Thanks,
Ali
On Tue, Sep 17, 2024 at 5:25 PM Allen Karns @.***>
wrote:

Thanks, you are correct. I will work on updating the documentation. The
serverless compose plugin is not compatible with serverless-offline.
There's a few options out there to dynamically set them from a stagevar
file or .env. But it would require some re-working of the serverless.yml to
support it. Alternatively, you can manually drop those variables in there
for testing and revert to deploy. I understand it's not ideal. I had to
choose between making the deployment easier, or running serverless offline.
If you see a way to improve that, please let me know. Happy to make changes.
—
Reply to this email directly, view it on GitHub
https://github.com/gaiin-platform/amplify-genai-backend/issues/23#issuecomment-2356963082,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACWLCA3IJW7KIWO77XDTCZTZXCM3TAVCNFSM6AAAAABOMDUGXOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNJWHE3DGMBYGI
.
You are receiving this because you authored the thread.Message ID:
@.***>

Allen,
Thanks for your response. I see your point, my recommendation would be to
update the documentation and pass this param at runtime when running
offline such as: serverless offline --httpPort 3015 --stage dev --param="SHARE_ASSISTANTS_ENDPOINT=myval"
By the way - the next issue is this: "The Serverless version (4.3.3) does not satisfy the "frameworkVersion" (3) in serverless.yml" - this is likely because the instructions do not specify a version to install and I happened to get the latest. An easy solution to this is to not recommend installing globally, and running it from the package directory. This ensures control over versioning using package.json - even if it's already globally installed. The version installed in node_modules as a result of npm i is 3.39.  So that command would be:
npx serverless offline --httpPort 3015 --stage dev --param="SHARE_ASSISTANTS_ENDPOINT=myval"


Confusing behavior when overwriting previous mocks/stubs

It seems that more specific stubs/mocks always have precedence over more generic ones, which has caused me some amount of pain and confusion.
In my test suites, I use the following pattern a lot, where I set up default behavior for the entire function-in-test during setup, and then only vary portions of the function-in-test during each individual test method. However, there are multiple times where I have encountered the following situation:
class TestStuff(object):
    def setup(self):
        allow(Module).foo.with_args('baz').and_return('giraffe')

    def test_something(self):
        allow(Module).foo.and_return('hippo')
        Module.foo('baz')  # Looks like it should return 'hippo', but will return 'giraffe'

Is this expected behavior? (It seems to me like a behavior that would make more sense is that mocks/stubs should be tried in order from most recent until earliest, until one works.) If this is the intended behavior, can it be documented? Either way, can we add a function that will let me clear all mocks/stubs from a method and return it to normal, so I can be sure that only the mocks/stubs specified after the 'clear' will be in effect?

@UberFarmer this is the intended behavior, see the code from method_double.py:
for allowance in self._allowances:
    if allowance.satisfy_exact_match(args, kwargs):
        return allowance

for allowance in self._allowances:
    if allowance.satisfy_any_args_match():
        return allowance

I'm not sure we want to change that, it could break existing tests.  I like the idea of adding some sort of doubles.clear() method though.  It could be general and clear all mocks/expectations, or it could take arguments and only clear the allowances on the supplied objects.  e.g.
doubles.clear(Module)

would clear all allowances on Module but leave everything else intact.   Any thoughts?

Okay, this sounds good.
Why not both?
doubles.clear(Module)

for clearing a specific module, and
doubles.clear_all()

for clearing all mocks/expectations?

@UberFarmer teardown() does clear does.  It removes expectations/allowances (without verifying them). I'm not sure it is the best name but you can use it.


Fail immediately on ErrorNotifierRecord inside BatchPushSource

Is your enhancement request related to a problem? Please describe.
When an IO connector that implements the BatchPushSource interface wants to fail a task, it publishes a ErrorNotifierRecord to the internal queue. However, the exception isn't thrown until the readNext method reads the message from the internal queue.
This results in an unnecessary delay between the time the error condition was encountered and the time when the exception is thrown. In addition, a lot of records are processed that shouldn't be if the task is going to get re-processed (duplicate data), etc.
Describe the solution you'd like
Change the logic in the consume method to check for the presence of a ErrorNotifierRecord and throw the exception then rather than inside the readNext() method
Describe alternatives you've considered
Leaving the code as-is

When an IO connector that implements the BatchPushSource interface wants to fail a task, it publishes a ErrorNotifierRecord to the internal queue. However, the exception isn't thrown until the readNext method reads the message from the internal queue.

This is done intentionally so messages that were already consumed will still get a chance to be published.

In addition, a lot of records are processed that shouldn't be

In what scenario will records get processed that shouldn't be processed?  The ErrorNotifierRecord is sent in stream, thus messages that came before it should be valid messages that can be sent out.

Perhaps there should be two modes of notifying a fatal error.  One is to restart without flushing the internal queue of records.  The other one is to restart after flushing the internal queue of records.

I guess my main concern is the duplication of data if a task is failed and re-processed. Consider a scenario where the task is a list of 1,000 records to be put into a database, and we fail on record 500 on a non-connectivity errors such as "invalid foreign key ".  Then we proceed with inserting the remaining 499 records before failing the entire task.
The task message will get redelivered and the same 999 records will be inserted a second time. Even if these second inserts were just duplicates, they would all be unnecessary calls to the DB.

Perhaps there should be two modes of notifying a fatal error. One is to restart without flushing the internal queue of records. The other one is to restart after flushing the internal queue of records.

Agreed, there could be more than one way to handle a single bad record depending upon the type of error, and the needs of the class implementing the BatchPushSource, etc

The issue had no activity for 30 days, mark with Stale label.

Closed as stale and it seems by design. Please open a new issue if it's still relevant to the maintained versions.


update docs

on the website
https://valor-software.com/ng2-bootstrap/index-bs4.html#/
i read
<!-- index.html -->
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">

that doesn't make much sense for bootstrap4
can you please update website to avoid misunderstanding on how to use it?

agreed, writing docs is not my strongest side :)

will be deployed in a sec


ceph-iscsi: create pool once from monitor

af9f6684 introduced a regression on the ceph iscsi pool creation
because it was delegated to the first monitor node before that change.
This patch restores the initial worflow.
When the iscsi node doesn't have the admin keyring then the pool
creation fails.
This commit also ensures that the pool creation is only executed once
when having multiple iscsi nodes.
Signed-off-by: Dimitri Savineau<EMAIL_ADDRESS>

jenkins test ceph-non_container-all_daemons

jenkins test ceph-container-all_daemons

jenkins test centos-non_container-all_daemons

jenkins test centos-container-all_daemons

jenkins test centos-non_container-all_daemons

jenkins test centos-container-all_daemons

jenkins test centos-container-all_daemons


Closing tab or switching tabs makes the widget scroll to a random position on top.

Sometimes when I close a tab either via Ctrl+W or by clicking the X icon in the widget or when I switch tabs via Alt+Tab or by clicking another tab via the widget, the widget scrolls to a random position near the top.

Hey @WaelShaikh, thanks for reporting. Can you share if this only happens when you're using tab groups.

The bug is very inconsistent. I tried but I can't seem to recreate the bug on a new window. And I'm afraid I can't risk closing all my tab groups on my main window.

It happens even if you have no tab groups. I opened a second window with about 110 tabs, most of which were grouped into
about 10 tab groups. The bug happened when I closed a tab near the bottom. Then I ungrouped all of the tabs (keeping them open) and tried closing a tab again, and the bug happened again.

Note, I opened the second window using Tab Session Manager extension. When I closed that window and opened a new window with ~110 blank tabs, the bug did not happen. I wonder if the bug only happens when reopening a closed window after the computer restarts or something.

I haven't experienced the issue as of yet. It seems to have been fixed.

I haven't experienced the original issue since you mentioned the fix, thanks! Recently now I'm experiencing a similar issue:
If I open/close a tab group, the widget will scroll such that the currently open tab is visible. This often makes me lose my place since I can't see the tab group that I just opened/closed.

I can turn this into a new issue if you like.


set server_name, move root out of location block

in prod server_name should be named
primary root should be placed outside of location block and only placed inside location block if necessary

LGTM


add text "For the real Pi lovers here's a million digits of pi for yo…

…u to memorize ;D." and first million digits of pi to article

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] My article does not contain shortened URLs or affiliate links.

If your pull request closes a GitHub issue, replace the XXXXX below with the issue number.
Closes #XXXXX

This doesn't add any value to our Guide.


[Word Search] Add preference to make copying the correctly-spelled word to the default action (instead of pasting)

Extension
https://www.raycast.com/rishabswift/word-search
Description
Today, the default action in the spelling command is to paste the correctly-spelled word into the active application. I almost always want to copy it instead, but that is a secondary action, so I have to remember to press Cmd K, Down Arrow, Enter. Unfortunately, there's seemingly no option or preference for changing this.
Who will benefit from this feature?
Everyone who wants to copy the correctly-spelled word.
Anything else?
No response

@chriscalo You're able to quickly copy the word instead of pasting it by hitting Command + Return. So you don't have to do the steps you mentioned since this is just as fast as hitting "Return" 😉

Thanks for pointing this out. I was already aware of this option, and I know memorizing and using Cmd Enter is less physical effort, but I'm not sure it's going to stick in my brain. Because it's also the cognitive effort I'm trying to avoid, not just the physical. It would be better if I didn't have to remember for this one command to Cmd Enter where everywhere else I can just mash the Enter key. You obviously don't have to follow what I'm recommending, but being able to make Copy the default action feels like the ideal experience for those who would like to make Paste, the possibly destructive action, harder to do.

Hey,
Just to let you know that this feature is now live so you can change the default behaviour by going to the extension preferences.

Works perfectly, thank you so much, @RishabSwift 🙏🏼


Fix .travis.yml requirements install

Recently, how pip installs dependencies in travis has changed.
Now, installing dependecies with sudo prevents import in user space.

related https://github.com/ARMmbed/mbed-os/pull/5055

closed as change in travis removes the need for this


DependencyResolver problem for UWP !

I have followed your doc in objective if extending my existing xamarin app with uwp .
iI have added all the nuget packages available in the *.shared project, then debugging i get an unhandled exception:
       "Object reference not set to an instance of an object."

It's  triggered by the  dependencyResolver method:
  await DependencyResolver.Resolve<INavigationService>().InitializeAsync();

that exists in OnStart() method of the App.xmal.cs of the  *.Mobile.Shared project:
    protected override async void OnStart()
    {
       base.OnStart();

      if (Device.RuntimePlatform == Device.iOS)
      {
        SetInitialScreenForIos();
        await UserConfigurationManager.GetIfNeedsAsync();
      }

       await DependencyResolver.Resolve<INavigationService>().InitializeAsync();

      OnResume();
   }

what is wrong please ?
more description of my project in SO

Hi @HADDADENICAR, this is not a support channel, but for feedback on our documentation. However I took at quick look and it seems like you are using ACRSupport but as you can see on GitHub there is no UWP implementation.

Does that means that  , in order to work all the nuget packages have to be the same for *.ios ,*.droid and *.shared ?

Any NuGet packages you use must have support for UWP, if you plan to deploy on UWP. You can see from the GitHub source that package has no UWP code or support.


Make pages headers use params.cover_dimming_class similarly to site h…

…eader.
Related to #696

cover_dimming_class should be documented somewhere (e.g. in the config of the example site).

Closing this in favour of #732 (same fix and documentation)


Generated hardware-configuration.nix files use deprecated attribute

The generated hardware-configuration.nix files still use the now deprecated i18n.consoleFont attribute (it should now be console.font). Because of this you get warnings such as below
trace: warning: The option `i18n.consoleFont' defined in `/etc/nixos/hardware-configuration.nix' has been renamed to `console.font'.

Fix in https://github.com/NixOS/nixpkgs/pull/76497


Nuke: Push to project - AY-742

Changelog Description
Port of https://github.com/ynput/OpenPype/pull/6245
Testing notes:

In Nuke have some Read nodes and containers.
Go to OpenPype > Push to Project
Choose a project, asset, task and variant. Variant is technically not needed for the workfile, but I didnt want to modify the Push to Library Project code too much.
Hit Push.
Launch the workfile in the chosen project. It wont open on launch, cause the workfile naming is wrong, but this is intentional so its works like a version 0.
Validate all Read nodes works with paths from the resources folder.

So, if I understand it correctly you're using Push tool as context selection tool? In other words, adding logic that is not related to tool juse because you want to use it for something else?

There is context dialog that may be used for that purposes.

Did not know about the context dialog, which works great for this!


Reboot automatically after CARROOT displayed.

I tried it in the environment at hand.

If it works, you should see log messages all the way up to [+] It worked???!?, and the device will start booting normally.

During boot, you should see a "BOOTING CARROOT" message appear in a very tiny font at the bottom of the screen, along with some ASCII art.

After paddling to this point, the device automatically rebooted and no further processing could be carried out.
Is this the correct behaviour?
OS : Monterey
Intel Mac

That sounds unexpected.
Check the youtube demo if you'd like to make extra sure what it's supposed to look like when it works: https://www.youtube.com/watch?v=WFj9VPzNgn4
What firmware version is your R1 running? Have you used any other rooting/jailbreaking tools on it before now? (e.g. https://github.com/RabbitHoleEscapeR1/r1_escape )

I was wrong, CARROOT is functioning as per the youtube video. I respect and thank you for your excellent work.
This rooting is working inside the device, so fastboot and adb cannot be used, right? Can I use it for FLASHing system.img?

You don't need this for flashing a system.img, you can just use mtkclient for that, see https://github.com/RabbitHoleEscapeR1/r1_escape
The whole point of my tool is that it doesn't flash internal storage.

I understood the gist of the tool.
I apologise for asking such a rudimentary question.
Thank you for your sincere answer.


[$250] Approvers - No RBR and "View Duplicate" button after creating expenses with duplicate fields

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: <IP_ADDRESS>
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail: N/A
Email or phone of affected tester (no customers<EMAIL_ADDRESS>Issue reported by: Applause - Internal Team
Action Performed:

Create admin account in with Gmail
Create Collect workspace, set Workflows to enabled and the admin is configured as the approved, se
Invite employee to Workspace
Login as an employee
Navigate to the Collect workspace chat
Create 2 expenses with duplicate fields - Amount, Merchant and date. Categories and Description are different.
Check created report

Expected Result:
Report preview contains a RBR in the top right corner, both expenses have an RBR, both expenses have a "Duplicate" status and "Hold" status
Header has a button "Review Duplicates"
Actual Result:
No RBR in the top right corner, both expenses have NOT an RBR, both expenses have NOT "Hold" status.
No button "Review Duplicates" in the report header
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

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

Screenshots/Videos
Add any screenshot/video evidence

https://github.com/user-attachments/assets/252f12a4-9c6e-4ece-a36e-62d2ff89bee4
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~0195e5927ee5e6ceed
Upwork Job ID:<PHONE_NUMBER>433554654
Last Price Increase: 2024-08-06

Issue OwnerCurrent Issue Owner: @rojiphil

I attended this interview!

@rojiphil please review the updated proposal

Sorry for the delay here. I will review and provide an update by tomorrow my day.

Get hasWarningViolations condition, then add it to shouldShowRBR. This will include duplicate violation as well.
const hasWarningViolations = TransactionUtils.hasWarningTypeViolation(transaction?.transactionID ?? '-1', transactionViolations);

const shouldShowRBR = hasNoticeTypeViolations || hasViolations || hasFieldErrors || (!isFullySettled && !isFullyApproved && isOnHold) || hasWarningViolations;

@daledah Thanks for the proposal. Just one question. I can understand the need to correct the name to duplicateDetection but what specific issue are we fixing by adding hasWarningViolations to shouldShowRBR?

Adding hasWarningViolations to shouldShowRBR should fix the bug both expenses have NOT an RBR, both expenses have NOT "Hold" status., as mentioned in the issue description

The RBR and Hold status issue does not come up for me once we correct the permission name. Anyway, we can have a look again at this and take this up at the PR stage.
Otherwise, @daledah proposal of correcting the permission name LGTM
🎀👀🎀 C+ reviewed

@bondydaa Would BE send across dupeDetection as a BETA permission? If so, this issue can be considered resolved from the BE side.

your accounts would have to be added to the dupeDetection beta in order for that to get returned.

@abekkala Can we please close this issue as this is a non-issue?


Add gradient for QR decomposition of wide matrices (nrows < ncols)

This PR adds the gradient calculation for the QR decomposition of real wide input matrices (num_rows < num_cols).
The gradient for the QR decomposition was requested in issue #6504 .
Currently Tf supports the QR gradient calculation for square and deep matrices (rows >= cols), when full_matrices = False.
There are TODO(pfau) items  to add the gradient calculation for wide matrices and for the cases with full_matrices=True in the test file qr_op_test.py .
This PR resolves one and a half TODO items:

wide real input matrix (nrows < ncols) and full_matrices = False.
wide real input matrix (nrows < ncols) and full_matrices = True.

Code is largely based on the following references:

Liao et al. Differentiable Programming Tensor Networks
Ionescu et al. Matrix Backpropagation for Deep Networks with Structured Layers
Giles, M. An extended collection of matrix derivative results
for forward and reverse mode algorithmic
differentiation

Hi @rmlarsen can you please take a look and let me know your thoughts? thanks

@D-Roberts Can you please check build failures. Thanks!

@gbaned I pushed another commit that should hopefully fix the build failures.

@ezhulenev thank you for your review. @gbaned please let me know if there is anything else necessary to do here.


Redirect docs to docs/ to fix paths to assets

CabbageDoc web module uses relative paths so trailing slashes are very important.
At /docs, stylesheet points to /css/application.css
At /docs/, stylsheet points to /docs/css/application.css
Since it's a mountable Rack application, the latter is expected and needs to be enforced all the time.
tl;dr This won't happen ever again:

I didn't think of this :)


There is a blank line in the dropdown list of the 'Operator' part for one table

Storage Explorer Version: 1.20.0-dev
Build Number: 20210526.1
Branch: main
Platform/OS: Windows 10/ Linux Ubuntu 18.04/ MacOS Big Sur 11.3
Architecture: ia32/x64
How Found: From running test case
Regression From: Not a regression
Steps to Reproduce

Expand one storage account -> Tables.
Create a table -> Click 'Query' -> Click 'Add new clause'.
Expand the dropdown list of the 'Operator' part.
Check there is no blank line.

Expected Experience
There is no blank line.
Actual Experience
There is a blank line.

So...the blank is is due to a literal empty string added at the end of the array containing the options. No idea why it was put there.


Print the file URL on upload for easier copy/paste

To make it easier to copy and share the uploaded file URL, print out the URL after uploading it.

@kconarro14 Good idea, thanks.


Token metadata document

Standardize a token metadata document and its authentication
Rendered Proposal

How secure does this data need to be? Who needs to verify/approve this data?
To add a token we need foundation approval and signing of the token config.
Should this metadata just be added to that tokens config document and included as part of the token config signing process?

I think Eran is right and it could be the same minting trust root. But I would suggest that it should be a separate document, because I think we should separate the data about a token that the enclave needs to function from the metadata that the enclave doesn't care about.

If other parties can alter the token metadata is this a vector for bad actors? Change a token metadata after creation to impersonate another token or brand?

Yes, this is not something that should be allowed to happen, and one of the design goals is to make it hard for bad actors to do this.

Client impact and scaling and hosting.
If we scale to hundreds or thousands of tokens a single json file will probably become unwieldy pretty quickly. Especially if we are embedding svg data inline with the data.
If a client has to download and parse the entire dataset because on a regular basis, this could be problematic over slow or low bandwidth connections.

Yes I agree, this solution isn't expected to be scale if we have more than a few dozen tokens. But we will do something else to improve this before then.

If this data doesn't need to be accessed over an attested connection, could we add it as an untrusted path or even a different micro-service included under the consensus server hostname? A service where a client can query for the token ids it needs instead of the entire set? Is this what mcip 40 proposes?

The issue with querying just the token ids you need is that you have to be able to authenticate any data that you get, with a chain of trust going back to the foundation. You wouldn't be able to validate the signature with just part of the data. We could change the scheme so that there is a signature over each token id payload, but this will add engineering complexity, and probably isn't needed for now.

Do we care if the data is centralized (stored in a single place like www.mobilecoin.com) or should it be decentralized, presented and stored by all of the node operators?
A benefit of keeping it near the consensus service is clients would not need to know about additional paths and or configurations to get this information.

That seems fine to me -- if all the nodes are using nginx or something as a proxy ahead of the consensus-service, we could simply make nginx serve these static files as well?

I found some more info about currency localization, will continue to read and assess:
https://learn.microsoft.com/en-us/globalization/locale/currency-formatting
https://polaris.shopify.com/foundations/formatting-localized-currency

This is now entering final comment period

There's some discussion in the background around changing the URLs where the registry is reachable, so im going to remove final comment period label


Issue with sign-up

Hello,
I;m unable to sign-up. During signup, I put e-mail, login,  my invitation code and received an error: FAILED to get getpin greeting : EOF
my log id: 4bff1b70a8d44df0aed1771c

CC: @cjb and @oconnor663, looks like electron didn't start up properly, and also pinentry is failing!

For now you might try:
keybase ctl stop
export KEYBASE_PINENTRY=none
keybase ctl start

and then try to login again

Hi @KasiaCat, it looks like the GUI (in your menubar) quit about five minutes after it started.. it started at 16:09, quit at 16:13, and then you were trying to log in at 16:06 (before it ran) and 16:27 (after it had quit).  If the GUI isn't running we try to use pinentry, but you're on Debian so that's probably not available.
Please could you try running:
run_keybase
and then use the GUI window to do the signup?  If anything doesn't work, run keybase log send again and let us know the new ID and what happened.  Thanks!

Hi,
Solution sent to me by Maxwell Krohn worked.
Thank you Maxwell and Chris for all your help and timing.
I'm so happy that you worked the solution so fast.
Thank you!
Regards,
Katarzyna
2016-09-16 21:58 GMT+02:00 Chris Ball<EMAIL_ADDRESS>
Hi @KasiaCat https://github.com/KasiaCat, it looks like the GUI (in
your menubar) quit about five minutes after it started.. it started at
16:09, quit at 16:13, and then you were trying to log in at 16:06 (before
it ran) and 16:27 (after it had quit). If the GUI isn't running we try to
use pinentry, but you're on Debian so that's probably not available.
Please could you try running:
run_keybase
and then use the GUI window to do the signup? If anything doesn't work,
run keybase log send again and let us know the new ID and what happened.
Thanks!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/keybase/client/issues/4302#issuecomment-247694142,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AOrGntfgyAvU6RCV2u3aIHwMEts7VpfXks5qqvTigaJpZM4J_RiV
.


Update Examples Projects With Unit Converter

Is there anything else to do before it can be merged?

@KarthikeyanRanasthala thanks!


⚠ Spryr has degraded performance

In 3d66656, Spryr (https://spryr.com) experienced degraded performance:

HTTP code: 200
Response time: 3739 ms

Resolved: Spryr performance has improved in 9ef4be2 after 7 minutes.