Too many brews issue

Error Code
Error: Internal Server Error

Error: Internal Server Error
    at Request.<anonymous> (https://homebrewery.naturalcrit.com/homebrew/bundle.js:76373:19)
    at Emitter.emit (https://homebrewery.naturalcrit.com/homebrew/bundle.js:1966:20)
    at xhr.onreadystatechange (https://homebrewery.naturalcrit.com/homebrew/bundle.js:76682:10)
{
  "status": 500,
  "method": "PUT",
  "url": "/api/update/j3BIgdoOJG1E"
}

### Your description of what happened:

Homebrewery only shows the 255 most recently edited brews. I've been able to get around this by editing the text file in google drive, then opening it up in homebrewery. Recently, though, when I try to edit files that have been modified in this way I get this error once they try to save.

Homebrewery only shows the 255 most recently edited brews. I've been able to get around this by editing the text file in google drive, then opening it up in homebrewery. Recently, though, when I try to edit files that have been modified in this way I get this error once they try to save.

When you say "only shows the 255 most recently edited brews", is this on your user page, or in the "Recent Brews" menu?

(This might be a quirk of the new version-checking code, which might be tricky)

You have an old version of the Homebrewery site that is missing a recent update. If reloading the page didn't work, try Hard Reloading the page. You can do this by pressing CTRL + SHIFT + R at the same time while at the Homebrewery.  Alternatively, you can open up the Chrome Developer Console (Right-click on the page and choose "inspect"). This will add some options to the refresh button if you right-click it. Again, choose "Hard Reload".

That should force Chrome to check for an update to the Homebrewery. Let us know if that doesn't work.


Daniil: Watch email<EMAIL_ADDRESS>

Daniil requests the watch of the watch_keyword email<EMAIL_ADDRESS>See the MS search here and the Stack Exchange search here.

email<EMAIL_ADDRESS>has been seen in 0 true positives, 0 false positives, and 0 NAAs.

Syntax error; duplicate of #3826


Request: Add vehicle name as attribute

The vehicle name that's set in UVO is part of the friendly name of all entities. However, it's not add as an attribute, so it's not possible to dynamically add it to your lovelace setup (ie. Markdown).
It would be nice if it was an attribute of the data entity too.

Let me check it, looks easy

please get latest code, you will receive a new attribute called vehicle_name under data entity.
example usage {{ states.binary_sensor.niro_data.attributes.vehicle_name }}

resolving this, open if needed


Update prohardver rules

The rules added in #437 don't block those elements anymore. Desktop rules still block those elements, so translated that rule to be compatible with AdGuard iOS. #440

@Cyberbeni sorry, my bad)

@Cyberbeni thank you for doing this. By the way, I just checked, and it seems there are many :has-based rules in ads.txt, probably some of them also could be "ported" to iOS in this way

I just opened an issue for this: https://github.com/hufilter/hufilter-dev/issues/453
If you have some time to make some progress on this, I'd appreciate it if you could help! 🙂


swagger-codegen3: 3.0.32 -> 3.0.33

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/swagger-codegen/versions.
meta.description for swagger-codegen3 is: "Allows generation of API client libraries (SDK generation), server stubs and documentation automatically given an OpenAPI Spec"
meta.homepage for swagger-codegen3 is: "https://github.com/swagger-api/swagger-codegen/tree/3.0.0"
meta.changelog for swagger-codegen3 is: ""
Updates performed

Version update

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
Warning: no invocation of /nix/store/qwkky4rlxq1kni5wkai8l7pyrmf3h4bn-swagger-codegen-3.0.33/bin/swagger-codegen3 had a zero exit code or showed the expected version
0 of 1 passed binary check by having a zero exit code.
0 of 1 passed binary check by having the new version present in output.
found 3.0.33 with grep in /nix/store/qwkky4rlxq1kni5wkai8l7pyrmf3h4bn-swagger-codegen-3.0.33
found 3.0.33 in filename of file in /nix/store/qwkky4rlxq1kni5wkai8l7pyrmf3h4bn-swagger-codegen-3.0.33

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

1 x86_64-linux rebuild(s)
0 x86_64-darwin rebuild(s)

First fifty rebuilds by attrpath
swagger-codegen3

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/qwkky4rlxq1kni5wkai8l7pyrmf3h4bn-swagger-codegen-3.0.33 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A swagger-codegen3 https://github.com/r-ryantm/nixpkgs/archive/2a439fb366d024efe66964756e86a854a4cac26b.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/qwkky4rlxq1kni5wkai8l7pyrmf3h4bn-swagger-codegen-3.0.33
ls -la /nix/store/qwkky4rlxq1kni5wkai8l7pyrmf3h4bn-swagger-codegen-3.0.33/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

swagger-codegen3

Maintainer pings
cc @1000101 for testing.

Result of nixpkgs-review pr 158942 run on x86_64-linux 1

1 package built:

swagger-codegen3


Replace Glide with Dep. Update to Zap 1.6.0

The readme still lists glide as a required tool, let's switch that to dep. Otherwise looks good 👍


Kamadan and Ascalon Trade Chats not working

Intermittently getting a "Connection time out" error stating a host error with kamadan.gwtoolbox.com and advising to check via cloudflare.com.  At other times the trade chat page has been loading, but only displaying messages which are several hours old.

It's now working again.  :-)

Working again.


Add a new helper type Primitive for JSON

Search Terms

Primitive
JSON

Suggestion
When you encode an object to a JSON-string and decode the JSON-string to an object again, the object would be primitive. All of the methods defined in the object would be removed and its prototype would also be the primitive Object.

If the target object has a toJSON() method, it would be converted to a pritimive of returned value from the toJSON() method.

To express those conversions, I suggest a new helper type Primitive. I believe that providing the helper type Primitive is much better choice rather than hard-coding; enforcing programmers to implement duplicated (primitive) type definition, by themselves, considering the JSON encoding & decoding.
Below is the implementation code:
/**
 * Primitify a type.
 *
 * If target type is an object, all methods defined in the object would be
 * removed. Also, if the target type has a `toJSON()` method, its return type
 * would be chosen.
 *
 * @typeParam T A type to be primitive
 */
export type Primitive<Instance> = value_of<Instance> extends object
    ? Instance extends object
        ? Instance extends IJsonable<infer Raw>
            ? value_of<Raw> extends object
                ? Raw extends object
                    ? PrimitiveObject<Raw> // object would be primitified
                    : never // cannot be
                : value_of<Raw> // atomic value
            : PrimitiveObject<Instance> // object would be primitified
        : never // cannot be
    : value_of<Instance>;

/**
 * @hidden
 */
type PrimitiveObject<Instance extends object> =
{
    [P in keyof Instance]: Instance[P] extends Function
        ? never
        : Primitive<Instance[P]>
};

/**
 * @hidden
 */
type value_of<Instance> =
    is_value_of<Instance, Boolean> extends true ? boolean
    : is_value_of<Instance, Number> extends true ? number
    : is_value_of<Instance, String> extends true ? string
    : Instance;

/**
 * @hidden
 */
type is_value_of<Instance, Object extends IValueOf<any>> =
    Instance extends Object
        ? Object extends IValueOf<infer Primitive>
            ? Instance extends Primitive
                ? false
                : true // not Primitive, but Object
            : false // cannot be
        : false;

/**
 * @hidden
 */
interface IValueOf<T>
{
    valueOf(): T;
}

Use Cases
interface IMember
{
    id: Number;
    name: string;
    email: String;
    mobile: string;
    login_histories: LoginHistory[];
}

declare class Member
{
    private id_: Number;
    private name_: string;
    private email_: String;
    private mobile_: string;
    private login_histories_: LoginHistory[];

    public activate(password: string): boolean;
    public isActivated(): boolean;
    public toJSON(): IMember;
}

declare class LoginHistory
{
    public readonly timestamp: Date;
    public readonly success: Boolean;
}

function main(json: string): void
{
    // Member -> Primitive<ReturnType<Member.prototype.toJSON>>
    let members: Primitive<Member[]> = JSON.parse(json);

    // Date -> string throw Date.toJSON()
    console.log(members[0].login_histories[0].timestamp);
}

type Primitive<Member[]> = Array<{
    id: number; // Number -> number
    name: string;
    email: string; // String -> string
    mobile: string;
    login_histories: Array<{
        timestamp: string; // Date.toJSON(): string
        success: boolean; // Boolean -> boolean
    }>;
}>;

Checklist
My suggestion meets these guidelines:

[x] This wouldn't be a breaking change in existing TypeScript/JavaScript code
[x] This wouldn't change the runtime behavior of existing JavaScript code
[x] This could be implemented without emitting different JS based on the types of the expressions
[x] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, etc.)
[x] This feature would agree with the rest of TypeScript's Design Goals.

The term "primitive" in JS/TS specifically refers to non-objects.  I'd suggest using a different term (AsJsonCompatible<T>? JsonRoundTrip<T>?  ToThereAndBackAgain<T>? MyDataWentToJsonAndAllIGotWasThisLousyDataStructure<T>?) so as not to cause unintended confusion.

Our experience of adding types that could be in userspace to the built-in library has not gone well lately, so there'd need to be some compelling reason why we need to put this in the lib.


Support partial steplists in remote flow.

Like @nmoroze suggested in #1261, there's not much reason to exclude custom steplist parameters from the remote flow. It may not be useful for generic ASIC / bitstream builds, but it could help with design exploration, and the functionality is already built into Chip.run if we pass it through.
This could also work with a from / to specification, if we implement that.

Do you have a test for this functionality, or will that have to wait. Since this is new functionality, I think it should come with a test.

Yes, you're right. I had only done a quick manual test, and in the process of adding CI tests, I found a small bug.


path/filepath: regression in EvalSymlinks wrt ending slash

Summary
In Go versions prior to 1.12-beta1, a call to filepath.EvalSymlinks() with an argument like "/path/to/existing/file/" results in no error and the trailing slash removed. With 1.12-beta1, it gives "file does not exist". Complete example here: https://play.golang.org/p/YmfDC5IcWMF
Whether the old behavior was deliberate or accidental, this looks like a regression.

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

$ go1.12beta1 version
go version go1.12beta1 linux/amd64

Does this issue reproduce with the latest release?
yes (beta)
What operating system and processor architecture are you using (go env)?
go env Output
$ go1.12beta1 env
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/kir/.cache/go-build"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/kir/go"
GOPROXY=""
GORACE=""
GOROOT="/home/kir/sdk/go1.12beta1"
GOTMPDIR=""
GOTOOLDIR="/home/kir/sdk/go1.12beta1/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build989138565=/tmp/go-build -gno-record-gcc-switches"

What did you do?
	path, err := filepath.EvalSymlinks("/path/to/existing/file/")

Complete example: https://play.golang.org/p/YmfDC5IcWMF
What did you expect to see?
No error, trailing slash removed:
kir@kd:~/go/src/github.com/kolyshkin/test/go112$ go test -v .
=== RUN   TestEvalSymlinksWithEndingSlash
--- PASS: TestEvalSymlinksWithEndingSlash (0.00s)
PASS
ok  	github.com/kolyshkin/test/go112	0.001s

What did you see instead?
"file does not exist" error with no context:
kir@kd:~/go/src/github.com/kolyshkin/test/go112$ go1.12beta1 test -v .
=== RUN   TestEvalSymlinksWithEndingSlash
--- FAIL: TestEvalSymlinksWithEndingSlash (0.00s)
    filepath_test.go:23: file does not exist
FAIL
FAIL	github.com/kolyshkin/test/go112	0.001s

Forgot to add that this was probably introduced by 7d27e87d35b4c8948a498711cb34c1f73917535b (aka https://go-review.googlesource.com/121676).
Checked that the case of existing directory with the ending slash works fine; it's just for files so maybe not a regression but an (accidental) fix?
This should be at least described in release notes, and I guess a test case needs to be added.

@kolyshkin I think it fixed the bug accidentally but introduce new bug.
Indeed, os.LStat("/path/to/existing_file/") will return not a directory error. But in that walkSymlinks, dest was stripped from /path/to/existing_file/ to /path/to/existing_file, so os.LStat call return no error.
The later check then returns confusing error in this case.

/cc @ianlancetaylor @alexbrainman

While this is definitely a change, I have to say that returning an error for /path/to/file/ seems to me like a bug fix.  Is this breaking any programs?
I agree that it would be better to return not-a-directory.

On Windows, it isn't fixed yet. Which why my tests added in CL failed on Windows. evalSymlinksUsingGetFinalPathNameByHandle just return the path name but doesn't check if it's a symlink or a directory.
I updated CL to do extra check before evalSymlinksUsingGetFinalPathNameByHandle return.
cc @ianlancetaylor @davecheney

Is this breaking any programs?

In our case it was just a unit test case (and I hope no real production code depends on such behavior of EvalSymlinks).

I agree that it would be better to return not-a-directory.

That would actually fix the above unit test!

I strongly support returning os.PathError rather than just syscall.ENOTDIR here. Adding context can be a lifesaver in many situations.


Software License

We would like to use vertx-sse in our project. Please, could you add a Software License text on your repository.

Fixed in cf70025e21bbacbc637fb36a7a2cf8039ec6984c


Don't display error log while waiting for provider to be created

Currently, if Airnode is waiting for the provider to be created on chain, it will output two messages:
[2021-02-10 18:21:22.848] INFO Airnode will not process requests until the create provider transaction has been confirmed  Coordinator-ID:0f3e51b70f13a3c2, Provider:evm-local, Chain:EVM, Chain-ID:31337
[2021-02-10 18:21:22.850] ERROR Failed to initialize provider:evm-local                                           Coordinator-ID:0f3e51b70f13a3c2

The first is fine, but we don't want to display an error log as this is normal behaviour.
This happens because the initialize-provider handler returns null if the provider does not exist on chain. Any null responses get logged as an error from the local or AWS handler.
We should handle this differently (although I'm not sure what is the best course of action at this point)

@andreogle I think this is resolved now, right?

Yep. Thanks for pointing it out 👍🏻


Providing a custom.css file to mimic Jupyter's styles

Is your feature request related to a problem? Please describe.
All Jupyter style are gone using html_nocode
Describe the solution you'd like
Could you distribute a custom.css file that would mimic Jupyter's one?

@gbrault this shouldn't be necessary since JupyterLab styles are distributed in NBConvert itself (and some parts in jupyterlab pygments). Can you see if you're still missing styles on v0.3.1?


Add format function for LSP progress

Contributing guidelines

[X] I have read CONTRIBUTING.md
[X] I have read CODE_OF_CONDUCT.md

Module(s)
mini.notify
Description
Currently the LSP progress message  format is hardcoded. See  https://github.com/echasnovski/mini.nvim/blob/df1559e2ed7ece458e0a97a8bb9556d465d1c775/lua/mini/notify.lua#L678
It would be nice to make this more dynamic, via a format function.

Please see https://github.com/echasnovski/mini.nvim/pull/1276

Thanks for the suggestion!
I think the proper way is to add some kind of source field to notification specification. One small issue is that add() was not really designed to be extensible (mostly by design to limit complexity). I'd take some time to think if adding source as fourth argument is worth it.

Fair enough. My current workaround is quite hacky:
                notify.setup({
                    content = {
                        format = function (str)
                            local parts = vim.split(str.msg, ': ')

                            if #parts == 2 then
                                return parts[2]
                            end

                            return string.format('\n  %s  \n', str.msg)
                        end,
                    },
                    window = {
                        winblend = 0,
                        config   = function ()
                            local pad = vim.o.cmdheight + (vim.o.laststatus > 0 and 1 or 0)

                            return {
                                row    = vim.o.lines - pad - 1,
                                col    = vim.o.columns,
                                border = 'none',
                                anchor = 'SE',
                            }
                        end,
                    }
                })
            })

https://gitlab.com/kaspervdheijden/kickstart/-/blob/master/lua/plugins-enabled/mini-nvim.lua?ref_type=heads#L78

Fair enough. My current workaround is quite hacky:

I don't find the code particularly hacky, on the contrary even - quite concise and to the point. The fact that it is applied to any notification and not only to the ones coming from LSP progress - yeah, maybe.


Sprite alpha after using setBlendFunction

After using setBlendFunction() on sprite it doesn't changes alpha. If I set alpha(0f) - nothing happens. But without using setBlendFunction() it works.

I think it would be kind of helpful if you would specify which BlendFunction you were using?

sprite.setBlendFunction(GLES20.GL_ONE,GLES20.GL_ONE);

That is expected OpenGL behavior.


Drag Items gets buggy

Description
Role "Drag Items" gets buggy when you have a list with sub-items and you try to move those sub-items.
To Reproduce
Simply use the example on documentation, just add another sub-list in one of the items.
Expected behavior
Being able to drag sub-items without a problem.
Screenshots

Desktop (please complete the following information):

OS: Windows
Browser: Chrome
Metro Version 4.4.3

use codepen to create example


imv: release 4.2.0 is out

Checklist

[x] Checked the nixpkgs master branch
[x] Checked the nixpkgs pull requests

See: https://github.com/eXeC64/imv/releases/tag/v4.2.0
Project name
nix search name: imv
current version: 4.1.0
desired version: 4.2.0
Notify maintainers
maintainers: cc: @rnhmjoj @markus1189
Note for maintainers
Please tag this issue in your PR.

This looks like more than a version bump, they switched to meson.

This looks like more than a version bump, they switched to meson.


Invalid syntax   print baos.get_output()

Hi,
I am getting an invalid syntax error.
$ pyspark --driver-class-path drunken-data-quality_2.11-x.y.z.jar
Python 3.6.11 (default, Jul 20 2020, 22:15:17)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-28)] on linux
Type "help", "copyright", "credits" or "license" for more information.
Setting default log level to "WARN".
To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).
20/07/31 18:34:46 WARN HiveConf: HiveConf of name hive.server2.thrift.url does not exist
20/07/31 18:34:46 WARN Utils: Service 'SparkUI' could not bind on port 4040. Attempting port 4041.
20/07/31 18:34:47 WARN Client: Neither spark.yarn.jars nor spark.yarn.archive is set, falling back to uploading libraries under SPARK_HOME.
Welcome to
      ____              __
     / __/__  ___ _____/ /__
    _\ \/ _ \/ _ `/ __/  '_/
   /__ / .__/\_,_/_/ /_/\_\   version 2.4.4
      /_/

Using Python version 3.6.11 (default, Jul 20 2020 22:15:17)
SparkSession available as 'spark'.
>>> from pyddq.core import Check
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python3.6/dist-packages/pyddq/core.py", line 439
    print baos.get_output()
             ^
SyntaxError: invalid syntax
>>>
>>> df = spark.createDataFrame([(1, "a"), (1, None), (3, "c")])

>>> check = Check(df)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'Check' is not defined
>>> check.hasUniqueKey("_1", "_2").isNeverNull("_1").run()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'check' is not defined

Hi! Sorry to hear that you are having issues. Unfortunately there is no Python 3 support as of today. Would you be interested in providing a PR?

Actually... Are you using the latest version of DDQ? This issue should've been fixed already.


sidebar text & pixel size is too small

the size of sidebar texts are too small to view and even pixels sizes are not correct the crosss logo on the to left is also to big and there could be a cross logo in the most the top area instead of a toggle button

my os : macos
browser : google crome
version : Version 129.0.6668.100 (Official Build) (arm64)
@tushargupta1504

I would like to work on this issue, kindly assign me this issue @tushargupta1504


Rate limit with Jwt 500 error

Hi I am trying to implement rate limit for some API and trying this solution https://learn.microsoft.com/en-us/azure/api-management/api-management-sample-flexible-throttling#user-identity-throttling
When I use
<rate-limit-by-key calls="100" renewal-period="60" counter-key="@(context.Request.Headers.GetValueOrDefault("Authorization","").Substring("Bearer ".Length).AsJwt()?.Subject)" />
or
<rate-limit-by-key calls="100" renewal-period="60" counter-key="@(context.Request.Headers.GetValueOrDefault("Authorization","")).AsJwt()?.Subject)" />
and both work, but when I use Basic authentication it shows me
"statusCode": 500,     "message": "Internal server error",
And that is incorrect and should be regular 401 instead of 500 because it is not a service issue.
So how can I use Jwt rate limit and get the right error code with other authentication methods?

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

ID: c64c31f4-ee3f-1482-14a8-3585ff5ef2de
Version Independent ID: 8e50e224-bfd8-061c-3203-4d19016d16dd
Content: Advanced request throttling with Azure API Management
Content Source: articles/api-management/api-management-sample-flexible-throttling.md
Service: api-management
GitHub Login: @dlepow
Microsoft Alias: danlep

@Nahtandidzze
Thanks for your feedback! We will investigate and update as appropriate.

@Nahtandidzze
Thank you for your feedback!
Since this issue isn't directly related to improving our docs, and to gain a better understanding of your issue, I'd recommend working closer with our support team via an [Azure support request] (https://docs.microsoft.com/en-us/azure/azure-portal/supportability/how-to-create-azure-support-request). Or you can leverage our Q&A forum by posting your issue there so our community, and MVPs can further assist you in troubleshooting this issue or finding potential workarounds.
[Teams Q&A forum] (https://docs.microsoft.com/en-us/answers/topics/46488/office-teams-windows-itpro.html) for technical questions about the configuration and administration of Microsoft Teams on Windows.
[Microsoft Teams Community forum] (https://answers.microsoft.com/en-us/msteams/forum?sort=LastReplyDate&dir=Desc&tab=All&status=all&mod=&modAge=&advFil=&postedAfter=&postedBefore=&threadType=All&isFilterExpanded=false&page=1
If there are any further questions regarding the documentation, please tag me in your reply and we will be happy to continue the conversation.


Keep deleting lines when triggering deleteAllLeft on column 1

Related issue: https://github.com/Microsoft/vscode/issues/17143,
Let me know what you guys think, I would love to have this feature.

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot

@rebornix any concerns with this change? thanks!

@alfonsoperez I really like the idea and the code looks good. The only thing we forget to take into consideration is multi cursor.
Let's say we have below content

Note the cursors are before the last character of each line. Then we press cmd+backspace

Everything looks pretty good. Now we have a problem with what's the expected result of another cmd+backspace. Do you think it should behave the same as a simple backspace
backspace

cmd+backspace

The command is called delete all left. While in this case, the cursor is at the beginning of the line, there is nothing on the left, so I would expect another Delete All Left will just delete the line break before the cursor. While right now, the result is correct but the result selections are not the same as a backspace. What do you think on this?

BTW, if you play with Sublime Text, you can see that cmd+backspace works the same as backspace in this particular case. Our 	_getEndCursorState needs to be smarter.

Good point!, thanks for the detailed review!, I will take a look

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

@rebornix Sorry for the delay, I have been very busy, I had some spare time to look at this, and added 2 commits, let me know what you think!

any updates on this?

@alfonsoperez thanks for your contribution ❤


Feature/podspec split

Hi,
Actually it's impossible to compile a project with target using differents subspec.
for exemple,
TARGET A
pod atinternet-ios-objc-sdk
TARGET B (an AppExtension)
pod atinternet-ios-objc-sdk/AppExtension
=> compilation failed, conflict on frameworks names.
subspec are not the right solution to compile a light framework for AppExtension because it's final name is the same has the full one integrated to app.
A good solution ? (my pull request), is to use 2 podspecs to generate 2 frameworks with distinct names.
PS : The same issue exists on the Swift version. (but the same fix could fix it)

Hi,
It's a good improvement idea, we are going to discuss about it. However it may be fixed only at the end of the months (with swift4 updates). Are there any caveats about generating multiple spec ?


Google.Cloud.Datastore: x-goog-request-params issue accessing multi database

Hello,
I am using Google.Cloud.Datastore 4.7.0-beta03 to access datastore multi database.
It used to work for some time, however, today the client started throwing errors as follows:
The routing header for the request does not match the resource in the request message projects/#PROJECT_ID#/databases/#DATABASE_ID# != projects/#PROJECT_ID#.  The routing header should be x-goog-request-params:project_id=#PROJECT_ID#&database_id=#DATABASE_ID#. Please refer to https://firebase.google.com/docs/firestore/manage-databases#access_a_named_database_with_a_client_library for more details.

I use the following code to initialize db.
new DatastoreDbBuilder
        {
            ProjectId = #PROJECT_ID#,
            DatabaseId = #DATABASE_ID#
        }.Build()

What could be an issue?

I'll have a look at this on Monday. Does your database ID contain any characters other than alphanumeric ones? (Just in case this is an encoding issue.)
The stack trace shows that this is in rollback - do other operations work?

Thank you!
Yes, project id and database id contains a dash in the name.
E.g.
Project_id: test-dev
Database_id: area-service
Same issue with other operations, e.g. upsert

Also, Google.Cloud.Datastore 4.7.0-beta03 was released 4 days ago. Has it been working until today with Google.Cloud.Datastore 4.7.0-beta03 or is it possible that it was working before with Google.Cloud.Datastore 4.7.0-beta02 and it broke after you updated the dependency?

4.7.0-beta02 has been working before for a while and it broke a couple of hours ago.
After it broke, I tried updating to later 4.7.0-beta03 version - but update didn't help.
Same issue with 4.7.0-beta02 and 4.7.0-beta03

Ok, this looks like a service issue then and possibly not related to the library itself.
Just to confirm, it had been working with the same project ID and database ID with which it is failing now?

Yes, the database with specific project_id and database_id worked and suddenly started throwing errors and it is still failing.
Do you need a specific project_id and database_id where it is failing now?

No, I can reproduce locally, but also our integration tests that have been green till now are failing as well, in the same manner.
This is most certainly an issue with the service itself. I'll create an internal bug for them.
I'll mark this as external just because there's nothing on the libraries side to be done at the moment.

Ok, thank you!
Is it possible to follow the updates on the issue anywhere?

Ok, thank you! Is it possible to follow the updates on the issue anywhere?

No, I'm sorry, the issue I've created is internal, I'll give updates as I can.

Ok, thanks!

Okay, thanks.
I found this issue from some time ago, which looks similar.
Maybe could be of any help https://github.com/googleapis/google-cloud-ruby/issues/20926

I'd be surprised if it were a client issue (and if it is, the API probably needs annotating to generate the right header) but I'll have another look. (That may not be today.)

Have had another look at the client library code, and we definitely populate the x-goog-request-params header as I'd expect. At the moment I still think this is a server issue.

@jskeet thanks a lot for looking into the issue

@TheSpy just FYI, we now know the reason for this issue, we are looking at possible fixes. But it should be a matter of a couple of days at most.

@TheSpy this should be working again now after a service side fix. I cannot longer reproduce the issue and our tests are back to green. Can you confirm it's also working for you? Thanks!

@amanda-tarafa great news! I can confirm that the issue is resolved on my side too!
Thanks a lot for helping with the issue!

Amazing! I'll close this issue then.


Test Adapter error - "Could not start Karma"

Hi Morten
I've updated to the latest version of your test adapter - however, when VS does test discovery, I get the following error:
[Karma] [Error] [Nwc.Web] Could not start Karma
The system cannot find the file specified
   at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)
   at System.Diagnostics.Process.Start()
   at TwoPS.Processes.Process.Run()
   at TwoPS.Processes.ProcessRunner.Run(ProcessRunnerOptions options)
   at NpmProxy.Npm.Root(Boolean global) in c:\Git\JsTestAdapter\NpmProxy\Commands\Root.cs:line 18
   at JsTestAdapter.TestServerClient.TestServer.<GetNodePath>d__2.MoveNext() in c:\Git\JsTestAdapter\JsTestAdapter\TestServerClient\TestServer.cs:line 45
   at System.Linq.Enumerable.WhereEnumerableIterator`1.MoveNext()
   at System.String.Join(String separator, IEnumerable`1 values)
   at JsTestAdapter.TestServerClient.TestServer.get_NodePath() in c:\Git\JsTestAdapter\JsTestAdapter\TestServerClient\TestServer.cs:line 31
   at JsTestAdapter.TestServerClient.TestServer.GetProcessOptions() in c:\Git\JsTestAdapter\JsTestAdapter\TestServerClient\TestServer.cs:line 79
   at JsTestAdapter.TestServerClient.TestServer.StartServer(Int32 timeout) in c:\Git\JsTestAdapter\JsTestAdapter\TestServerClient\TestServer.cs:line 143
   at JsTestAdapter.TestAdapter.TestContainer.StartTestServer() in c:\Git\JsTestAdapter\JsTestAdapter\TestAdapter\TestContainer.cs:line 163

I can run the tests successfully from the command line using karma start (so karma does exist!). I only have a karma.conf.js (no KarmaTestAdapter.json).

Hi Colin
I'm sorry to hear that it isn't working for you. Can you tell me whether you have node.exe in your path?

Wow that was a quick response! My node.exe is located in my chocolatey bin folder:
C:\Users\All Users\chocolatey\bin

Is that in your PATH environment variable?

Yes, both paths are in my PATH environment variable. I can run node from any command window.

No easy solution then :smile:
I think the first thing I need to do is to improve the "discovery" of node.exe, and have better logging of missing files. I will get back to you as soon as I have implemented that.

Thanks Morten!

@colindembovsky I have made a prerelease (v1.1.1-alpha1). I am hopeful, that it will resolve this issue. If not, at least it should provide better logging.
Would you be able to give it a spin?

@MortenHoustonLudvigsen I've installed the alpha build - the logging showed all the paths where your extension is looking for npm.cmd (not node.exe). My npm.cmd file is in this directory:
C:\ProgramData\chocolatey\lib\npm.1.4.9\tools folder. When I added that to my PATH the extension started working again.
Thanks for the help and quick turnaround!

@colindembovsky Great! I will make it a full release then. By the way, it will only log directories it looks for node.exe or npm.cmd if it can not find the file. So it is by design, that i doesn't show paths for node.exe.


login connection to github doesnt work

Upon clicking on the login with GitHub option, the site doesn't log us in with GitHub.
Steps to reproduce the behavior:
Go to the Log In page.
Click on the GitHub icon.
See error
Expected behavior:
The GitHub icon should redirect the user to the login with GitHub page.
Suggestion:
Add Login with GitHub functionality to the webapp to make it easier for the users to log in.
My approach:
Registering Counsellor Portal as a new GitHub OAuth application.
Updating the onclick functionality of the GitHub login button to redirect to the GitHub login page.
Receiving the access code for the user and using it to access the public info about the user.
Displaying the public info like Name, Username of the user on the Counsellor Portal
Transferring the ownership of the OAuth application to @thestarsahil
Please assign me this issue under GSSoC'23 and give me a chance to work on it.

Thank you for your interest in working on this issue. I have assigned the issue to you under GSSoC'23. Please go ahead with your proposed approach:
Register Counsellor Portal as a new GitHub OAuth application.
Update the onclick functionality of the GitHub login button to redirect users to the GitHub login page.
Receive the access code for the user and use it to access the public info about the user.
Display the public info such as Name and Username of the user on the Counsellor Portal.
Transfer the ownership of the OAuth application to @thestarsahil.
Please keep the community updated on your progress by joining the Discord server. Good luck with your work, and feel free to reach out if you have any questions or need further assistance.

ok, i am have started working on it

We would like to express our gratitude for your contributions and hard work towards the project. Your dedication and efforts have been greatly appreciated.
However, we wanted to inform you that we have recently undergone a complete redesign of the website's structure. As a result, we kindly request you to review the updated README file to ensure that your contributions align with the new structure and guidelines.
If you have any questions or need further clarification, please don't hesitate to reach out to us. We are here to support you throughout the process and assist with any challenges you may encounter.
Once again, thank you for your commitment and valuable contributions. We look forward to your continued involvement in the project.
Make Sure to join Discord Server For latest updates


Update elezar profile

I have added some additional info to my Bio page.
@frontendherodk @dami-gg @hesserp Let me know if it looks OK.

@elezar I think you're missing some lunch in your task list

:ship:

@frontendherodk How about now?

👍 🚢


Sort and Search Feature request

Hi there..
Do you have a plan to add a sorting and search to the Session History Page?
Best Regards
https://www.nawwarstore.com

Hey, @Nawwarstore01 we are exploring the option of adding it. It would be helpful if you give us an example of the value of it for you so we can add that to the consideration.


[build,c++] add CXXCompilerFlags to (un)set warnings

Just like with the C components and CompilerFlags.cmake add a configuration for C++ that disables specific warnings only found in C++ code.
Disable useless C++ warnings (old standard compatibility, ...)
Disable -Wno-disabled-macro-expansion as the warning is only providing useless information for our project
Fix some constants changed for SDL3 API

merging after:

tested locally and works on ci as well.
changes only (un)set compiler warnings


Should qsl_idx be part of the SSD model output?

Currently, the reference SSD models add image id (actually qsl_idx) as part of the output in the post-processing step (see coco.py#L158. However, LoadGen already keeps track of qsl_idx in the accuracy_summary log.
Does qsl_idx have to be part of the model output? Could we add an option to the accuracy script such that it relies on the qsl_idx from LoadGen logs instead of the first field of the model output at accuracy-coco.py#L59, like what it is done in accuracy-imagenet.py?

I think we can change it in v0.6.

Using qsl_idx as image_idex in accuracy script in #395. Closing.


Configuration errors observed when trying to clone a new repository onto an existing cloud dev box

Dev Home version
0.1401.501.0
Windows build number
10.0.26220.5000
Other software
OS Build Version: 10.0.26220.5000.amd64fre.ge_current_directadept.240514-1700
.NET Version: .NET 8.0.4
Steps to reproduce the bug
In Dev Home, with a pre-existing cloud dev box set up:

Navigate to the "Set up an environment" flow in the machine configuration page.
Select the pre-existing cloud dev box
Click 'Add repository'
I entered in the clone path that I wanted on the dev box (e.g., C:\users\myalias\source\repos) and gave it the URL to the DevHome GitHub repository

Expected result
I was expecting that the flow would complete and the repos would be cloned as expected.
Actual result
I got back an error from winget with trying to apply a few packages (see screenshot). The logs also indicated that there was some sort of error installing Powershell (because it already exists)- I don't think I knowingly selected to install that, though.

[2024/05/16 11:22:56.349 INF] (LoadingViewModel) Starting all tasks
[2024/05/16 11:22:56.352 INF] (ConfigureTargetTask) Starting configuration on adityar-razzle
[2024/05/16 11:23:12.914 INF] (ConfigureTargetTask) Ignoring configuration unit pending state.
[2024/05/16 11:25:14.968 ERR] (ConfigureTargetTask) Target experienced an error while applying the configuration: Short error description: [2024-05-16T18:23:09.430641+00:00] PowerShell 7 is already installed
Detailed error description:
[2024/05/16 11:25:30.104 INF] (ConfigureTargetTask) Configuration stopped
Included System Information
CPU: AMD Ryzen Threadripper PRO 3945WX 12-Cores
Physical Memory: 63.86GB (47.63GB free)
Processor Architecture: x64
Included Extensions Information
Extensions:
9932MartCliment.WingetUIWidgets_<IP_ADDRESS>_x64__g91dtg5srk15g (WingetUI Widgets (Preview))
Microsoft.Windows.DevHomeGitHubExtension.Canary_0.1400.500.0_x64__8wekyb3d8bbwe (Dev Home GitHub Extension (Canary))
Microsoft.Windows.DevHomeAzureExtension.Canary_0.900.501.0_x64__8wekyb3d8bbwe (Dev Home Azure Extension (Canary))
Microsoft.Windows.DevHome.Canary_0.1401.501.0_x64__8wekyb3d8bbwe (Core Widget Extension)
Microsoft.Windows.DevHome.Canary_0.1401.501.0_x64__8wekyb3d8bbwe (Hyper-V Extension)
Widget Service:
MicrosoftWindows.Client.WebExperience_524.13200.0.0_x64__cw5n1h2txyewy

@AmelBawa-msft I think this might be a configuration issue?  CloneRepositoryAsync in GenericProvider is not invoked when the repo is cloning.
@bbonaby how does the environment flow clone repositories?

Unable to repro this. @adrastogi are you able to repro this through the latest preview? Also, please provide the logs from C:\Users<UserName>\AppData\Local\Packages\Microsoft.Windows.DevHomeAzureExtension.<Canary/Dev>_8wekyb3d8bbwe\TempState if you are able to repro.
And the "Powershell already installed" isn't an error. It is just logging that specifies that the dependent PowerShell module is already installed.

Thanks, @huzaifa-d; I hit what I think are some unrelated errors initially (related to the state of the dev box), but eventually was able to repro.

Will follow up separately regarding the logs.

Unable to repro this/logs have nothing worthwhile. Will have to work offline with @adrastogi to figure this one out.

Confirmed offline; no repro in latest version.


Update Spark 2.x explain API with changes in 22.04

fixes https://github.com/NVIDIA/spark-rapids/issues/4908
This updates all the Spark 2.x explain api code to pull over checks from the changes to the 22.04 code.
I updated diff scripts and checks all the Overrides to try to catch anything new added.
I tested using the NDS queries. I diff'd the new output of 22.04 vs the 22.02 explain api output and the main differences now seem to be with ExistenceJoin being supported and then LeftSemi join. Unfortunately I also found a case the Spark 2.x planner inserts EqualNullSafe, which we don't support on the GPU, but in  Spark 3.x it doesn't generate that, it uses other expressions so in Spark 3.x it does say it will run on the GPU.  I documented that one.
I also diff'd the results vs explain on 3.1 and didn't see anything we missed.

build


scrollable-dropdown not working

The example given for scrollable dropdown on the typeahead.js website will not work, you will see the results in the dropdown however no background or scroll bar for the dropdown.
CSS
#scrollable-dropdown-menu .tt-dropdown-menu {
  max-height: 150px;
  overflow-y: auto;
}

HTML
<div id="scrollable-dropdown-menu">
  <input class="typeahead" type="text" placeholder="Countries">
</div>

This can be fixed by replacing .tt-dropdown-menu with .tt-menu. That means the same styling you have for .tt-dropdown-menu just apply it to .tt-menu. I have just upgraded to v0.11.1 and found this issue. They also need to change it on the website https://twitter.github.io/typeahead.js/examples/ as it can confuse many people.

Thank you! Was pretty frustrating when the example did not work.

I thought I was losing my mind…

Thank you @Crisp3333

That's works, thanks

It works. Thank you

Depending on the version it is (this is typeahead 3)... and I searched hours for this...
ul.typeahead.dropdown-menu {
max-height: 150px;
overflow: auto;
}

typeahead 3 - also have the same problem how can i fix ?
//Below code is not working for Keyboard UP & DOWN arrows..
ul.typeahead.dropdown-menu {
max-height: 150px;
overflow: auto;
}
//This is my code...

<script type="text/javascript">
    var jsType = $.noConflict();
    jsType(function () {
        //PinCode
        jsType('[id*=txtPincode]').typeahead({
            autoSelect: true,
            highlight: true,
            minLength: 2,
            items: 'all'
    , source: function (request, response) {
        jsType.ajax({
            url: '<%=ResolveUrl("~/AutoCompleteService.asmx/GetPincode") %>',
            data: "{ 'prefix': '" + request + "'}",
            dataType: "json",
            type: "POST",
            contentType: "application/json; charset=utf-8",
            success: function (data) {
                items = [];
                map = {};
                $.each(data.d, function (i, item) {
                    var id = item.split('-')[0];
                    var name = item.split('-')[1];
                    map[name] = { id: id, name: name };
                    items.push(name);
                });
                response(items);
                $(".dropdown-menu").css("height", "auto");
                $(".dropdown-menu").css("overflow-x", "auto");
            },
            error: function (response) {
                alert(response.responseText);
            },
            failure: function (response) {
                alert(response.responseText);
            }
        });
    },
            updater: function (item) {
                jsType('[id*=hfPincode]').val(map[item].id);
                return item;
            }
        });

});


fixing a bug in the function setSingleStep by adding a try statement

The for-loop cycles through all objects in the parameter viewer dict. The first one of each instrument is the QTreeWidget, where it expects a dict. Adding the try-except solves the issue.
@peendebak

@NicoHendrickx Closing this. I created #633 which has a similar solution but with unit tests.


Remix of "Tiers of Data" for blog

Original beats from Wil. Righteous dubs by me.

Few things, but generally looks good.

Accepted your suggestions, thanks!


Clientside movement

We agreed to try it, mainly for people with Argentinian levels of internet.
I had a potential idea on implementing it:

Subscribe to ComponentGetStateAttemptEvent for transforms + physics and where the entity has a specific component (e.g. clientauthrotiativecomponent) then ignore them for netsync. This is mainly because we can use it for their own actor entity + stuff like board games. Main thing is to work out how expensive this may be given it's adding a HasComp to every time transform is dirty (probably nowhere near as bad as MoveEvent itself) and means they always have to use the slow path for PVS.
Whenever the client moves during IsFirstTimePredicted have them send a message with their new position

Allowing the client to inform the server where the player is positioned is how you get speed and teleport hacks.

another another conversation if we can make pushing not bad
https://discord.com/channels/310555209753690112/310555209753690112/940387150111858768


Unable to render only Tabbar in android

What I Did
 navigationState: {
                index: 0,
                routes:
                    [
                        { index: 0, key: 'one', title: 'one', code: 'one' },
                        { index: 1, key: 'two', title: 'two', code: 'two' },
                        { index: 2, key: 'three', title: 'three', code: 'three' },
                    ]
}

<TabBar
                    renderLabel={this._renderLabel}
                    navigationState={navigationState}
                    jumpTo={(routeKey) => {
                    }}
                    onTabPress={(props) => {
                        onTabPress && onTabPress(props);
                        this.setState({ index: props.route.index });
                    }}
                    scrollEnabled={true}
                    indicatorStyle={{ height: 0 }}
                    tabStyle={{ width: 'auto', paddingVertical: 5, paddingHorizontal: 0 }}
                    activeColor={activeColor}
                    inactiveColor={inactiveColor}
                    style={{ backgroundColor: 'white' }}
/>

What I Expect
using tabbar as a filter
What I Got
Attempt to invoke virtual method 'double java.lang.Double.doubeValue()'  on a null object reference
https://pasteboard.co/IVvgmM0.png

I'm also encountering this problem; only on Android

I think it's a bit overkill to use this library just to use the tab bar. You can implement a similar tab bar using a horizontal ScrollView or FlatList pretty easily. Closing since this is not a use case that we support.


Placeholder Defaults in Setup.ps1

Use default values for AuthorName, Description and Tags if none are provided in the Setup.ps1 script.

Honestly, leaving _____PLACEHOLDERS_____ is not such a terrible idea.


Add Running Object Table (ROT) example

Motivation: "ROT" registration & lookup could be more suited than CoCreateInstance in situations where the COM server is already running.
Registration function: RegisterActiveObject, RevokeActiveObject
Lookup function: GetActiveObject(clsid)
Language wrappers:

Python comtypes (includes GetActiveObject(progid) wrapper)
.Net Marshal.GetActiveObject

Closing since the content have been moved to https://github.com/forderud/ComSamples?tab=readme-ov-file#background-service-deployment


Change default link color in call-to-action

Done when default link color is changed to be the same darker blue that it currently is for the :hover state.

Duplicate of #274. Closing.


Track is not downloaded

When I try to download a gpx track with gimporter, it seems that connection will be closed to early from gexporter, even when gimporter is still downloading the track:
[DEBUG] Did open connection on socket 5
[DEBUG] Did connect
[DEBUG] Did start background task
[DEBUG] Connection received 223 bytes on socket 5
[DEBUG] Connection on socket 5 preflighting request "GET /Lucendro" with 223 bytes body
[DEBUG] Connection on socket 5 processing request "GET /Lucendro" with 223 bytes body
[DEBUG] Connection sent 261 bytes on socket 5
[DEBUG] Connection sent 2834 bytes on socket 5
[DEBUG] Did close connection on socket 5
[VERBOSE] [::1:22222] ::1:49824 200 "GET /Lucendro" (223 | 3095)
[DEBUG] Did disconnect
[DEBUG] Did end background task
Another log:
[DEBUG] Did open connection on socket 5
[DEBUG] Did connect
[DEBUG] Did start background task
[DEBUG] Connection received 319 bytes on socket 5
[DEBUG] Connection on socket 5 preflighting request "GET /Leckihorn" with 319 bytes body
[DEBUG] Connection on socket 5 processing request "GET /Leckihorn" with 319 bytes body
[DEBUG] Connection sent 189 bytes on socket 5
[DEBUG] Did close connection on socket 5
[VERBOSE] [::1:22222] ::1:49799 304 "GET /Leckihorn" (319 | 189)
[DEBUG] Did disconnect
[DEBUG] Did end background task
The last "Did disconnect" occurs still when gimporter displays "Downloading". Do you have an idea why?
And sometimes gimporter says, track is already downloaded. But it's not at my track list.

What's the real actual size for "/Lucendro"? The app seems to think 3095 bytes (~ 3kb).
The "Did close connection" message does not mean that gexporter closed the connection, it could have been closed by the gimporter app.
In your second log I see that it's returning a 304 Not Modified, so I disabled cache in the latest commit, maybe that interferes with the normal process.
It looks like gimporter has issues with downloading large files (presumably due to the hardware limitations of the garmin devices) so if your GPX/FIT files have a ton of track points/waypoints, that might be the cause.
I can tell you that the gexporter iOS app does not have any significant issues in serving files of any size, you can test this easily by using Postman or a similar tool and running GET [your ios device IP]:22222/Leckihorn or GET /Lucendro, you should see the entire file being returned.

The file is 3kB, this is correct.
When I try to use Postman and send the GET request, I only got the 501 (not implemented) response:
[DEBUG] Did open connection on socket 5
[DEBUG] Did connect
[DEBUG] Did start background task
[DEBUG] Connection received 235 bytes on socket 5
[DEBUG] Connection aborted with status code 501 on socket 5
[DEBUG] Connection sent 110 bytes on socket 5
[DEBUG] Did close connection on socket 5
[VERBOSE] [<IP_ADDRESS>:22222] <IP_ADDRESS>:58695 501 "GET /Leckihorn" (235 | 110)
[DEBUG] Did disconnect
[DEBUG] Did end background task

I‘ve got an answer from gimporter delevoper: Problem is, that fenix only understand fit files. So his gexporter app for android converts automatically gpx files into fit files.
Is this also possible for you to implement this?
Regards

I just checked their Android GPX->FIT converter and it involves some meticulous XML parsing which I don't really have the time nor the motivation to do.
There don't seem to be any readily available libraries I could integrate to handle it either.
If anyone gets around to do it I will gladly accept the pull request.


Question Relay generated folder

Hi Léo
Quick question
How did you generate a typescript version of the 4 graphql files for relay src/__generated__/relay/
With relay-compiler-language-typescript?
Thanks

It's using the relay-compiler  package provided by relay

Config is here https://github.com/pradel/stacks-ceramic-demo/blob/main/relay.config.js

Ah nice, I see. And then pnpm run relay runs when starting the whole thing

For reference:
https://relay.dev/docs/guides/compiler/


Update Duplicity to  <IP_ADDRESS>

I started to use volumerize and ran into the problem described in https://bugs.launchpad.net/duplicity/+bug/1788558. The problem prevents my from using volumerize. It is fixed in Duplicity <IP_ADDRESS>. Could you update volumerize to use the new version?

You can find it here: https://launchpad.net/duplicity/+milestone/<IP_ADDRESS>.

Fixed


Exported shared code to temp variables in ExprEvaluator.

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#893  👈 (View in Graphite)
#892
#889
#888
#887
#879 : 1 other dependent PR (#883 )
#876
#875
dev

This stack of pull requests is managed by Graphite. Learn more about stacking.

Codecov Report
Attention: Patch coverage is 98.14815% with 1 line in your changes missing coverage. Please review.

Project coverage is 91.75%. Comparing base (159714d) to head (e88e970).

Files with missing lines
Patch %
Lines

crates/prover/src/constraint_framework/expr.rs
98.14%
1 Missing :warning:

Additional details and impacted files
@@                     Coverage Diff                     @@
##           alont/formal-logup-sums     #893      +/-   ##
===========================================================
- Coverage                    91.83%   91.75%   -0.09%
===========================================================
  Files                           93       93
  Lines                        13111    12994     -117
  Branches                     13111    12994     -117
===========================================================
- Hits                         12040    11922     -118
- Misses                         956      957       +1
  Partials                       115      115

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

🚨 Try these New Features:

Flaky Tests Detection - Detect and resolve failed and flaky tests


Deploying to Heroku results in 404 for app.js and vendor.js

Using the "Deploy to Heroku" button the main Wiki.js github page produces the following result:

Build log:
-----> Node.js app detected
-----> Creating runtime environment

       NPM_CONFIG_LOGLEVEL=error
       NPM_CONFIG_PRODUCTION=true
       NODE_VERBOSE=false
       NODE_ENV=production
       NODE_MODULES_CACHE=true
-----> Installing binaries
       engines.node (package.json):  *
       engines.npm (package.json):   unspecified (use default)

       Resolving node version * via semver.io...
       Downloading and installing node 8.1.4...
       Using default npm version: 5.0.3
-----> Restoring cache
       Skipping cache restore (new-signature)
-----> Building dependencies
       Installing node modules (package.json)

       ><EMAIL_ADDRESS>postinstall /tmp/build_60dcd004b9e7d9edf7022bc3d00c3e6f/Requarks-wiki-heroku-ac07465
       > npm install wiki.js@latest

       ><EMAIL_ADDRESS>install /tmp/build_60dcd004b9e7d9edf7022bc3d00c3e6f/Requarks-wiki-heroku-ac07465/node_modules/fsevents
       > node install

       ><EMAIL_ADDRESS>postinstall /tmp/build_60dcd004b9e7d9edf7022bc3d00c3e6f/Requarks-wiki-heroku-ac07465/node_modules/wiki.js
       > node install.js

       > WIKI.JS [Installing...]
       >> Fetching tarball...
       >> Extracting to /tmp/build_60dcd004b9e7d9edf7022bc3d00c3e6f/Requarks-wiki-heroku-ac07465
       >> Creating config file...
       >> Installing dependencies...
       ✔ Installation succeeded.
       > Wiki.js has been installed and is configured to use Heroku configuration.
       +<EMAIL_ADDRESS>       added 304 packages in 83.442s
       up to date in 84.319s
-----> Caching build
       Clearing previous node cache
       Saving 2 cacheDirectories (default):
       - node_modules
       - bower_components (nothing to cache)
-----> Build succeeded!
-----> Discovering process types
       Procfile declares types -> web
-----> Compressing...
       Done: 60.3M
-----> Launching...
       Released v5
       https://buffer-wiki.herokuapp.com/ deployed to Heroku

Fixed:

I had created the repo, but not initialized it before -- I then initialized the repo, and re-deployed via Heroku and it seems to be working.


Update request dependency

request v2.34.0 have 3 vulnerabilities in dependencies:
Denial-of-Service Extended Event Loop Blocking
<EMAIL_ADDRESS>><EMAIL_ADDRESS>><EMAIL_ADDRESS>https://nodesecurity.io/advisories/28

Denial-of-Service Memory Exhaustion
<EMAIL_ADDRESS>><EMAIL_ADDRESS>><EMAIL_ADDRESS>https://nodesecurity.io/advisories/29

Regular Expression Denial of Service
<EMAIL_ADDRESS>><EMAIL_ADDRESS>><EMAIL_ADDRESS>https://nodesecurity.io/advisories/77

👍 thanks!


Added a helper for mocking data contracts - alternative approach

Instead of taking the approach of allowing application code to create and use mock contracts, we'll simply provide a helper function that sets the mock data on the contract and specifies that useMock should be true. This still allows the application to pull the mock data out of the contract definition and into the prototype application code, while also still integrating with the logging capabilities built into data contracts. The only drawback to this approach is that a data contract, once set to use mocks, will use mocks everywhere it is used, unless it is first cloned.

We'll be migrating off of data contracts anyway, so this becomes less useful.


added macOS Catalina support

added macOS Catalina support

accounted for new softwareupdate syntax #32
added explicit 10.15 support in version compatibility check #25

removed legacy launchctl syntax
updated some screenshots

Confirmed script successfully detects updates requiring restart and initiates a system restart on a test Catalina install (verified with 10.15 Supplemental Update).


scripts:Unique error enum update for 1/25/2017

Hadn't had a spec update in quite a while so this one was huge.
Also the format of the spec itself changed which required a number of
changes to the spec parser. The spec script is still broken for the
online spec which is not valid xhtml. For this update I downloaded the
spec source and hand-edited the broken parts so that the spec parser
could deal with it. Will figure out a better solution going forward,
though.
Here's the beast of a command line for this update:
python spec.py -spec test_xhtml_spec_039.html -update -remap 214-180,3:
269-220,3:361-289:371-299:373-301:409-334,10:470-404,12:483-416,6:
768-625,10:948-754,2:951-756,4:970-760,8:979-769:989-778,4:1031-812,16:
1048-828,16:1158-936:1160-937,10:1171-947,12:1189-965:1190-966,2:
1192-968:1251-1027,33:1371-1141:1408-1175,3:1412-1178:1414-1179,2:
1417-1181:1419-1182,15:1435-1198,2:1627-1343,7:1646-1359,2:1668-1366,2:
1720-1383:1783-1395:1871-1449:1878-1455,16:1977-1554,5:2012-1565,9:
1992-1559,4:1997-1563,2:2202-1615:2222-1635,2:1047-1741:2313-1844,7:
2361-1878,5:2370-1883,6:956-2161,13:1650-2201:1672-2214:1696-2229,2:
1729-2249,2:1759-2267,2:1793-2288,2:1982-2304,6:1990-2313:1999-2314,13:
2366-2327,4:1159-2348:968-2524:1413-2533:1418-2534:983-772,4:2512-1680:
2587-2040:1996-2547:1170-2525:969-2173

cherry-picked and pushed to master


Updates for some of the ARC feedback

This PR tries to address below ARC feedbacks.

Clarify that WordIo etc are AML macros (ARC #197)
Change from Requirement to Rule (ARC #199)
Add clarification for URT_050 (ARC #201)
Remove allowing deprecated legacy SBI console (ARC #203)
Update text around secondary core requirement (ARC #183)

@andreiw @adurbin-rivos @avpatel - please review.

Overall all changes looks good to me.

thanks, looks good - merged


needleValue, arcDelimiters is greater than or greater than equal to is not working

Hi
needleValue, arcDelimiters is greater than || greater than equal to rangeLabel max or min value  is not working can you please help me to resolve this issue.
below are the configurations
public canvasWidth = 300;
public needleValue = 2000;
public centralLabel = '1000';
public name = 'Gauge chart';
public bottomLabel = '65';
public options = {
hasNeedle: false,
needleColor: 'gray',
needleUpdateSpeed: 1000,
arcColors: ['rgb(44, 151, 222)', 'lightgray'],
arcDelimiters: [2000],
rangeLabel: ['1', '1000'],
needleStartValue: 50,
};
Version
<EMAIL_ADDRESS>@angular/cli: ~7.3.1

Hi @rpvsen,
Both needleValue and values of arcDelimiters have to stay in the range [0, 100]. Perceive them as percentage but not as absolute values.
Hope that helps. I'll add these notes to the README for clarification.


Update minishift.rb

If there’s a checkbox you can’t complete for any reason, that's okay, just explain in detail why you weren’t able to do so.
After making all changes to the cask:

[x] brew cask audit --download {{cask_file}} is error-free.
[x] brew cask style --fix {{cask_file}} reports no offenses.
[ ] The commit message includes the cask’s name and version.

Additionally, if adding a new cask:

[x] Named the cask according to the token reference.
[x] brew cask install {{cask_file}} worked successfully.
[x] brew cask uninstall {{cask_file}} worked successfully.
[x] Checked there are no open pull requests for the same cask.
[x] Checked the cask was not already refused in closed issues.
[ ] Checked the cask is submitted to the correct repo.

I think this is wrong repo because rc isn't stable, I think…

That can be considered stable.


temp/uploads clearing

Clearing temp october directory, where saving uploads resized and sended to s3

I think this does not apply to clear cache functional. Maybe it should be a separate plugin or at least an additional option, which disabled by default, for the clear cache plugin?
Also I not clearly understand what you mean when writing

...and sended to s3

That is temp path. But in octobercms today no exists functionality for automatic clearing this dir.
In my case - on the production server, that folder now bigger than 4.1 Gb. With reserve copies - more than 12Gb temporary files.
https://octobercms.com/docs/services/helpers#method-temp-path
This path used in File class: https://github.com/octobercms/library/blob/396f65dc139d0a62b7fb61b767e86aa57a115761/src/Database/Attach/File.php#L973-L973
And, also, used in Resizer (but with is another folder, not temp/uploads, it used temp/resizer): https://github.com/octobercms/october/blob/f8f5e6e02273c81488542e51be50b5baed7a8af2/modules/system/classes/ImageResizer.php#L341-L341
Temp file need create in storage/temp/uploads directory, because that code used this for creating thumb of the image. First file copied from storage (in my case from s3 mini storage - that in-box functionality in octobercms) to local file system in the temp folder: https://github.com/octobercms/library/blob/396f65dc139d0a62b7fb61b767e86aa57a115761/src/Database/Attach/File.php#L656-L656
I have write a ticket into octobercms repository, but i not sure abous that error. On some my server with similar octobercms installation stay is empty storage/temp/uploads dir, and i do not why is empty.
I found your plugin as only exists solution (with simple patch) for resolve this situtation with temp/uploads dir.

More screenshoots about big size of storage/temp dir.

I wrote topic in the octobercms forum. Maybe i find solution, or this topic need to be moved to octobercms bug-tracker

Hmm. temp folder contains not only uploads subfolder. in addition, in temp folder exists media and public subfolder.
And in some cases temp folder used for saving any some files with custom directory structure.
You are rights. That is need deep exploration and do not mix of the clear cache functionality.
OctoberCMS and some users maybe used this folder for many cases.

Saving uploads, public or media (i do not sure differences)
Saving artisan console output (stdout redirect to file, without to send info messages to cron daemon)

$ du -hsx storage/temp/uploads
664K    storage/temp/uploads
$ du -hsx storage/temp/media/
4.0K    storage/temp/media/
$ ls -la storage/temp -h
total 126M
drwxrwxr-x 5 10ballov www-data 4.0K Oct  3 23:12 .
drwxrwxr-x 7 10ballov www-data 4.0K Jul 15 14:09 ..
-rwxrwxr-x 1 10ballov www-data   22 Jul 15 14:09 .gitignore
drwxrwxrwx 2 10ballov www-data 4.0K Jul 21 12:30 media
drwxrwxr-x 3 10ballov www-data 4.0K Jul 21 12:29 public
-rw-rw-r-- 1 10ballov www-data 126M Oct  5 00:10 scheduledOutput
drwxrwxrwx 2 10ballov www-data 660K Oct  6 18:52 uploads
$ du -hsx storage/temp/media/
4.0K    storage/temp/media/
$ du -hsx storage/temp/public/
44K     storage/temp/public/
$ ls storage/temp/public/a38/9ec/678/
thumb_a389ec678d31d788ef93023f43c4a4b81595323778_165x165_crop.jpg  thumb_a389ec678d31d788ef93023f43c4a4b81595323778_75x75_crop.jpg
thumb_a389ec678d31d788ef93023f43c4a4b81595323778_300x255_auto.jpg


x/time/rate: CancelAt returns less than expected tokens

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

$ go version
1.17.6

Does this issue reproduce with the latest release?
yes
https://github.com/golang/time/blob/master/rate/rate.go
What operating system and processor architecture are you using (go env)?
mac os, m1 chip
go env Output
$ go env

What did you do?
Using rate.go to build my token bucket algorithm, when I read the source code, I got one question that puzzled me.
The question is that we call function CancelAt, the variable restoreTokens calculated is not right.
Then, I googled to see if anyone had this problem.  As follows:
https://learnku.com/go/t/71323
https://stackoverflow.com/questions/70993567/rate-limiting-cancellation-token-restore
https://lailin.xyz/post/go-training-week6-3-token-bucket-2.html#comments
Now, let us look a piece of code.
func Test_tr(t *testing.T) {
	tr()
}

func tr() {
	t0 := time.Now()
	t1 := time.Now().Add(100 * time.Millisecond) // + 1
	t2 := time.Now().Add(200 * time.Millisecond) // + 2
	t3 := time.Now().Add(300 * time.Millisecond) // + 3

	l := rate.NewLimiter(10, 20)
	l.ReserveN(t0, 15) // bucket left 5 token
	fmt.Printf("%+v\n", l)

	r := l.ReserveN(t1, 10) // bucket left 4 token
	fmt.Printf("%+v\n", l)

	l.ReserveN(t2, 2) // bucket left -5 token
	fmt.Printf("%+v\n", l)

	r.CancelAt(t3) // when we see source code in CancelAt, now logic is: -5 + 1 + (10 - 2) = 4
	// but we expected logic is: -5 + 1 + 10 = 6, this is a right answer
	fmt.Printf("%+v\n", l) // bucket left 4 token
}

What did you expect to see?
we expected logic is: -5 + 1 + 10 = 6, this is a right answer
What did you see instead?
// when we see source code in CancelAt, now logic is: -5 + 1 + (10 - 2) = 4
Why ?
Then I debug the code, I found the is we sub the tokensFromDuration twice.
// the code blow is source code in `rate.go`

func (r *Reservation) CancelAt(now time.Time) {
	if !r.ok {
		return
	}

	r.lim.mu.Lock()
	defer r.lim.mu.Unlock()

	if r.lim.limit == Inf || r.tokens == 0 || r.timeToAct.Before(now) {
		return
	}

	restoreTokens := float64(r.tokens) - r.limit.tokensFromDuration(r.lim.lastEvent.Sub(r.timeToAct)) // look this, we sub tokensFromDuration, but is also should be restore instead of exclude
	if restoreTokens <= 0 {
		return
	}
	now, _, tokens := r.lim.advance(now) // the tokens is `lim.tokens + delta`, we has already sub once when we call `reserveN`
	tokens += restoreTokens
	if burst := float64(r.lim.burst); tokens > burst {
		tokens = burst
	}
	r.lim.last = now
	r.lim.tokens = tokens
	if r.timeToAct == r.lim.lastEvent {
		prevEvent := r.timeToAct.Add(r.limit.durationFromTokens(float64(-r.tokens)))
		if !prevEvent.Before(now) {
			r.lim.lastEvent = prevEvent
		}
	}
}

if we use restoreTokens = float64(r.tokens), then we got right answer.

cc @Sajmani

The code in rate.go has a comment explaining the logic:
	// calculate tokens to restore
	// The duration between lim.lastEvent and r.timeToAct tells us how many tokens were reserved
	// after r was obtained. These tokens should not be restored.
	restoreTokens := float64(r.tokens) - r.limit.tokensFromDuration(r.lim.lastEvent.Sub(r.timeToAct))

In your example code, 2 tokens are reserved by the call l.ReserveN(t2, 2).
These are the 2 tokens subtracted by r.CancelAt(t3): -5 + 1 + (10 - 2).
If we changed the code as you suggested, the limited would exceed the target rate by 2 tokens when the t2 reservation is used.

YoungReese is right, and the logic of restoreTokens := float64(r.tokens) - r.limit.tokensFromDuration(r.lim.lastEvent.Sub(r.timeToAct)) in golang.org/x/time/rate is wrong!
What's more, I would like to recommend a rate limiter that is more concise + more correct and effective than the official go implementation watchdog
watchdog has 2 advantages:

Simpler implementation. watchdog implements the token bucket algorithm based on the simple zero point movement mechanism, which is simpler and easier to understand than golang.org/x/time/rate, the official implementation

More reliable limiting mechanism. watchdog calculates the token correctly, thanks to which the limiting mechanism it provides is reliable. While the logic of golang.org/x/time/rate is wrong because it considers reserved tokens when calculating the returned tokens for canceled events. Related discussions can refer to:

https://stackoverflow.com/questions/70993567/rate-limiting-cancellation-token-restore

https://www.v2ex.com/t/877175

https://lailin.xyz/post/go-training-week6-3-token-bucket-2.html#comments

This bug is easily fixed by watchdog's zero point movement mechanism

At the usage level, watchdog completely covers the functions of golang.org/x/time/rate and maintains a similar interface, so it does not require too much mental burden to use
For specific introduction and implementation, please refer to https://github.com/1996Paul-Wen/watchdog#readme


Equinox and Einops Layer Integration

Hi Patrick,
I was wondering if you had any input on integrating Einops Rearrange Layers with Equinox Module composites such as eqx.nn.Sequential.
For example:
self.to_patch_embedding = eqx.nn.Sequential([
        Rearrange('b c (h p1) (w p2) -> b (h w) (p1 p2 c)', p1 = patch_height, p2 = patch_width),
        eqx.nn.Linear(patch_dim, dim, key = key_1)
        ])

I have been working on a full ViT transformer example in Equinox (it is about 300 lines so I did not want to post the full code snippet here) and have been trying to find a way to properly implement the layer. Here is a subset of the code:
def pair(t):
    return t if isinstance(t, tuple) else (t, t)

class ViT(Module):
    to_patch_embedding: eqx.nn.Sequential
    pos_embedding: jnp.ndarray
    cls_token: jnp.ndarray
    dropout: eqx.nn.Dropout
    transformer: Module
    pool: str = static_field()
    to_latent: eqx.nn.Identity
    mlp_head: eqx.nn.Sequential

    def __init__(self, *, image_size, patch_size, num_classes, dim, depth, heads, mlp_dim, key, pool = 'cls', channels = 3, dim_head = 64, dropout = 0., emb_dropout = 0.):
        super().__init__()

        key_1, key_2, key_3, key_4, key_5 = random.split(key, 5)

        image_height, image_width = pair(image_size)
        patch_height, patch_width = pair(patch_size)

        assert image_height % patch_height == 0
        assert image_width % patch_width == 0

        num_patches = (image_height // patch_height) * (image_width // patch_width)
        patch_dim = channels * patch_height * patch_width
        assert pool in {'cls', 'mean'}

        self.to_patch_embedding = eqx.nn.Sequential([
            Rearrange('b c (h p1) (w p2) -> b (h w) (p1 p2 c)', p1 = patch_height, p2 = patch_width),
            eqx.nn.Linear(patch_dim, dim, key = key_1)
        ])
        print(self.to_patch_embedding)

        self.pos_embedding = random.normal(key_2, shape = [1, num_patches + 1, dim])
        self.cls_token = random.normal(key_3, shape = [1, 1, dim])
        self.dropout = eqx.nn.Dropout(emb_dropout)

        self.transformer = Transformer(dim = dim, depth = depth, heads = heads, dim_head = dim_head, mlp_dim = mlp_dim, key = key_4, dropout = dropout)

        self.pool = pool
        self.to_latent = eqx.nn.Identity()

        self.mlp_head = eqx.nn.Sequential([
            eqx.nn.LayerNorm(dim),
            eqx.nn.Linear(dim, num_classes, key = key_5),
        ])

    def __call__(self, img):
        x = self.to_patch_embedding(img)
        b, n, _ = x.shape

        cls_tokens = repeat(self.cls_token, '() n d -> b n d', b = b)
        x = jnp.concatenate([cls_tokens, x], axis = 1)
        x += self.pos_embedding[:, :(n + 1)]
        x = self.dropout(x)

        x = self.transformer(x)

        if self.pool == 'mean':
            x = jnp.mean(x, axis = 1)
        else:
            x = x[:, 0]

        x = self.to_latent(x)
        return self.mlp_head(x)

I greatly appreciate your help.
Thank you,
Enrico Shippole

Sure:
class Rearrange(eqx.Module)
    pattern: str
    axes_lengths: dict

    def __init__(self, pattern, **axes_lengths):
        self.pattern = pattern
        self.axes_lengths = axes_lengths

    def __call__(self, x, *, key=None):
        return einops.rearrange(x, self.pattern, **self.axes_lengths)

(The key is ignored and is just an Equinox convention, for ease of working with eqx.nn.Sequential.)

Hi @patrick-kidger ,
That worked perfectly.
I appreciate your help.
Thank you.
Enrico Shippole


Task fails to run when using runAsNonRoot and runAsUser

This doc shows an example of using runAsNonRoot.

The Pod will also run as a non-root user.

Expected Behavior
Tasks run successfully.
Actual Behavior
Tested this on both GKE and OpenShift 4 (CodeReady Containers, actually). I set runAsNonRoot (or runAsUser) in a TaskRun like this:
spec:
  taskRef:
    name: jib-gradle
  ...
  podTemplate:
    securityContext:
      runAsNonRoot: true

runAsUser

When using runAsUser: 12345, the tekton-results-folder-writable container run fails with an error. I think the command chmod 777 /tekton/results doesn't work due to a permission issue.

  tekton-results-folder-writable:
    Container ID:  cri-o://bfe047e46148846f24efd90608ec31796c2e3359fff23c2905c5f942213bd168
    Image:         busybox
    Image ID:      docker.io/library/busybox@sha256:6915be4043561d64e0ab0f8f098dc2ac48e077fe23f488ac24b665166898115a
    Port:          <none>
    Host Port:     <none>
    Command:
      sh
    Args:
      -c
      chmod 777 /tekton/results
    State:          Terminated
      Reason:       Error
      Exit Code:    1
      Started:      Fri, 06 Mar 2020 12:18:49 -0500
      Finished:     Fri, 06 Mar 2020 12:18:49 -0500
    Ready:          False
    Restart Count:  0
    Environment:    <none>
    Mounts:
      /tekton/home from tekton-internal-home (rw)
      /tekton/results from tekton-internal-results (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-khxck (ro)
      /workspace from tekton-internal-workspace (rw)

runAsNonRoot

When using runAsNonRoot: true, I saw slightly different messages on GKE and OpenShfit, but both of them hang indefintely.

GKE

NAME                           READY   STATUS                            RESTARTS   AGE
pod/jib-gradle-run-pod-kbpp2   0/4     Init:CreateContainerConfigError   0          21m

Events:
  Type     Reason     Age                    From                                               Message
  ----     ------     ----                   ----                                               -------
  Normal   Scheduled  9m2s                   default-scheduler                                  Successfully assigned default/jib-gradle-run-pod-kbpp2 to gke-cluster-2-default-pool-12e48c0a-wwmc
  Normal   Pulled     7m56s (x8 over 9m1s)   kubelet, gke-cluster-2-default-pool-12e48c0a-wwmc  Successfully pulled image "busybox"
  Warning  Failed     7m56s (x8 over 9m1s)   kubelet, gke-cluster-2-default-pool-12e48c0a-wwmc  Error: container has runAsNonRoot and image will run as root
  Normal   Pulling    3m54s (x27 over 9m1s)  kubelet, gke-cluster-2-default-pool-12e48c0a-wwmc  Pulling image "busybox"

OpenShift

Events:
  Type     Reason     Age              From                         Message
  ----     ------     ----             ----                         -------
  Normal   Scheduled  <unknown>        default-scheduler            Successfully assigned chanseok/jib-gradle-run-pod-zmzpb to crc-w6th5-master-0
  Normal   Pulled     1s (x3 over 3s)  kubelet, crc-w6th5-master-0  Container image "gcr.io/tekton-releases/github.com/tektoncd/pipeline/cmd/creds-init@sha256:d1251c017ad8db911f6b459f9cbe94328c962b619b5a6e4ef57524254c1dc30d" already present on machine
  Warning  Failed     1s (x3 over 3s)  kubelet, crc-w6th5-master-0  Error: container has runAsNonRoot and image will run as root

Steps to Reproduce the Problem

Set runAsNonRoot: true or runAsUser: 12345 in PodTemplate.
Run a task.

Additional Info
I saw #1872, but I don't even get to that point.
Tekton version: v0.11.0-rc1

Thanks for the report.  I believe this is a duplicate of https://github.com/tektoncd/pipeline/issues/2172 and the fix will be rolled into 0.11.0-rc2, which is planned to be released early next week.

Ah, @piyush-garg got me before me. But I wonder if runAsNonRoot is a different issue. It doesn't fail with chmod but hangs.
Warning  Failed     1s (x3 over 3s)  kubelet, crc-w6th5-master-0  Error: container has runAsNonRoot and image will run as root

Are you able to tell from the describe or get output of kubectl which container this error is referring to?

It's right before running tekton-results-folder-writable (i.e., State: Waiting). The reason is CreateContainerConfigError.
$ kubectl logs pod/jib-gradle-run-pod-kbpp2 -c tekton-results-folder-writable
Error from server (BadRequest): container "tekton-results-folder-writable" in pod "jib-gradle-run-pod-kbpp2" is waiting to start: CreateContainerConfigError

$ kubectl describe pod/jib-gradle-run-pod-kbpp2
Name:           jib-gradle-run-pod-kbpp2
Namespace:      default
Priority:       0
Node:           gke-cluster-2-default-pool-12e48c0a-wwmc/<IP_ADDRESS>
Start Time:     Fri, 06 Mar 2020 12:58:47 -0500
Labels:         app.kubernetes.io/managed-by=tekton-pipelines
                tekton.dev/task=jib-gradle
                tekton.dev/taskRun=jib-gradle-run
Annotations:    kubectl.kubernetes.io/last-applied-configuration:
                  {"apiVersion":"tekton.dev/v1alpha1","kind":"Task","metadata":{"annotations":{},"name":"jib-gradle","namespace":"default"},"spec":{"inputs"...
                kubernetes.io/limit-ranger:
                  LimitRanger plugin set: cpu request for init container tekton-results-folder-writable; cpu request for init container place-scripts; cpu r...
                pipeline.tekton.dev/release: devel
Status:         Pending
IP:             <IP_ADDRESS>
Controlled By:  TaskRun/jib-gradle-run
Init Containers:
  tekton-results-folder-writable:
    Container ID:
    Image:         busybox
    Image ID:
    Port:          <none>
    Host Port:     <none>
    Command:
      sh
    Args:
      -c
      chmod 777 /tekton/results
    State:          Waiting
      Reason:       CreateContainerConfigError
    Ready:          False
    Restart Count:  0
    Requests:
      cpu:        100m
    Environment:  <none>
    Mounts:
      /tekton/home from tekton-internal-home (rw)
      /tekton/results from tekton-internal-results (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-kj8l9 (ro)

Oh, but I see you removed tekton-results-folder-writable entirely in #2143, so I guess this won't happen in the next release.

hm, CreateContainerConfigError implies something may be wrong in the secrets or configmap mounts.  What do the Task and TaskRun specs look like for this?
Still not 100% sure if this is related to the chmod init container or something else.

$ kubectl apply -f https://raw.githubusercontent.com/tektoncd/catalog/master/jib-gradle/jib-gradle.yaml
task.tekton.dev/jib-gradle created

And apply the following TaskRun.
apiVersion: tekton.dev/v1alpha1
kind: TaskRun
metadata:
  name: jib-gradle-run
spec:
  taskRef:
    name: jib-gradle
  inputs:
    resources:
    - name: source
      resourceSpec:
        type: git
        params:
        - name: url
          value: https://github.com/che-samples/console-java-simple
  outputs:
    resources:
    - name: image
      resourceSpec:
        type: image
        params:
        - name: url
          value: doesnotmatter
  podTemplate:
    securityContext:
      runAsNonRoot: true

Can verify I am seeing the same behavior a v1.17.3 cluster on AWS. Only difference is I am setting securityContext on the steps of a Task:
apiVersion: tekton.dev/v1alpha1
kind: Task
metadata:
  name: echo-task
spec:
  steps:
    - name: echo-first
      image: ubuntu
      command:
        - echo
      args:
        - "Executing first"
      securityContext:
        runAsUser: 1000
    - name: echo-second
      image: ubuntu
      command:
        - echo
      args:
        - "Executing second"
      securityContext:
        runAsUser: 1000

kubectl describe pod echo-task-run-std22-pod-g9t85:
Name:         echo-task-run-std22-pod-g9t85
Namespace:    lab-tekton-fundamentals-w01-s001
Priority:     0
Node:         ip-10-0-1-18.us-east-2.compute.internal/<IP_ADDRESS>
Start Time:   Tue, 21 Apr 2020 19:10:25 +0000
Labels:       app.kubernetes.io/managed-by=tekton-pipelines
              tekton.dev/task=echo-task
              tekton.dev/taskRun=echo-task-run-std22
Annotations:  cni.projectcalico.org/podIP: <IP_ADDRESS>/32
              kubectl.kubernetes.io/last-applied-configuration:
                {"apiVersion":"tekton.dev/v1beta1","kind":"Task","metadata":{"annotations":{},"name":"echo-task
","namespace":"lab-tekton-fundamentals-w01-...
              kubernetes.io/psp: vmware-system-tmc-restricted
              pipeline.tekton.dev/release: devel
              seccomp.security.alpha.kubernetes.io/pod: runtime/default
Status:       Pending
IP:           <IP_ADDRESS>
IPs:
  IP:           <IP_ADDRESS>
Controlled By:  TaskRun/echo-task-run-std22
Init Containers:
  place-tools:
    Container ID:
    Image:         gcr.io/tekton-releases/github.com/tektoncd/pipeline/cmd/entrypoint:v0.11.1@sha256:4475ce9472
2b7a6b4ca0cb4244e4cd6d8781d30ca1527767474334518908c405
    Image ID:
    Port:          <none>
    Host Port:     <none>
    Command:
      cp
      /ko-app/entrypoint
      /tekton/tools/entrypoint
    State:          Waiting
      Reason:       CreateContainerConfigError
    Ready:          False
    Restart Count:  0
    Environment:    <none>
    Mounts:
      /tekton/tools from tekton-internal-tools (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-597d9 (ro)
Containers:
  step-echo-first:
    Container ID:
    Image:         ubuntu
    Image ID:
    Port:          <none>
    Host Port:     <none>
    Command:
      /tekton/tools/entrypoint
    Args:
      -wait_file
      /tekton/downward/ready
      -wait_file_content
      -post_file
      /tekton/tools/0
      -termination_path
      /tekton/termination
      -entrypoint
      echo
      --
      Executing first
    State:          Waiting
      Reason:       PodInitializing
    Ready:          False
    Restart Count:  0
    Requests:
      cpu:                0
      ephemeral-storage:  0
      memory:             0
    Environment:
      HOME:  /tekton/home
    Mounts:
      /tekton/downward from tekton-internal-downward (rw)
      /tekton/home from tekton-internal-home (rw)
      /tekton/results from tekton-internal-results (rw)
      /tekton/tools from tekton-internal-tools (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-597d9 (ro)
      /workspace from tekton-internal-workspace (rw)
  step-echo-second:
    Container ID:
    Image:         ubuntu
    Image ID:
    Port:          <none>
    Host Port:     <none>
    Command:
      /tekton/tools/entrypoint
    Args:
      -wait_file
      /tekton/tools/0
      -post_file
      /tekton/tools/1
      -termination_path
      /tekton/termination
      -entrypoint
      echo
      --
      Executing second
    State:          Waiting
      Reason:       PodInitializing
    Ready:          False
    Restart Count:  0
    Requests:
      cpu:                0
      ephemeral-storage:  0
      memory:             0
    Environment:
      HOME:  /tekton/home
    Mounts:
      /tekton/home from tekton-internal-home (rw)
      /tekton/results from tekton-internal-results (rw)
      /tekton/tools from tekton-internal-tools (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-597d9 (ro)
      /workspace from tekton-internal-workspace (rw)
Conditions:
  Type              Status
  Initialized       False
  Ready             False
  ContainersReady   False
  PodScheduled      True
Volumes:
  tekton-internal-workspace:
    Type:       EmptyDir (a temporary directory that shares a pod's lifetime)
    Medium:
    SizeLimit:  <unset>
  tekton-internal-home:
    Type:       EmptyDir (a temporary directory that shares a pod's lifetime)
    Medium:
    SizeLimit:  <unset>
  tekton-internal-results:
    Type:       EmptyDir (a temporary directory that shares a pod's lifetime)
    Medium:
    SizeLimit:  <unset>
  tekton-internal-tools:
    Type:       EmptyDir (a temporary directory that shares a pod's lifetime)
    Medium:
    SizeLimit:  <unset>
  tekton-internal-downward:
    Type:  DownwardAPI (a volume populated by information about the pod)
    Items:
      metadata.annotations['tekton.dev/ready'] -> ready
  default-token-597d9:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  default-token-597d9
    Optional:    false
QoS Class:       BestEffort
Node-Selectors:  <none>
Tolerations:     node.kubernetes.io/not-ready:NoExecute for 300s
                 node.kubernetes.io/unreachable:NoExecute for 300s
Events:
  Type     Reason     Age                   From                                              Message
  ----     ------     ----                  ----                                              -------
  Normal   Scheduled  15m                   default-scheduler                                 Successfully assi
gned lab-tekton-fundamentals-w01-s001/echo-task-run-std22-pod-g9t85 to ip-10-0-1-18.us-east-2.compute.internal
  Warning  Failed     12m (x12 over 15m)    kubelet, ip-10-0-1-18.us-east-2.compute.internal  Error: container
has runAsNonRoot and image will run as root
  Normal   Pulled     4m54s (x50 over 15m)  kubelet, ip-10-0-1-18.us-east-2.compute.internal  Container image "
gcr.io/tekton-releases/github.com/tektoncd/pipeline/cmd/entrypoint:v0.11.1@sha256:4475ce94722b7a6b4ca0cb4244e4c
d6d8781d30ca1527767474334518908c405" already present on machine

This can be resolved by setting fsGroup and runAsGroup on the Pod template in addition to runAsUser:
securityContext:
  runAsUser: 1000
  runAsGroup: 3000
  fsGroup: 2000

See more here: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod

@chanseokoh @danielhelfand at this point should we consider this a bug in Pipelines, a lack of documentation in Pipelines, or just expected behaviour when using runAsUser/runAsNonRoot?  Or maybe all three?  I'm not totally clear on the actions that need to be taken to resolve this issue.

I can't speak to exactly why runAsNonRoot does not work as expected. I have noticed the same behavior with steps as documented above, so it could very well be a bug. I can try to look further to see if there are other reasons outside of Pipelines.
When it comes to using runAsUser, however, runAsGroup and fsGroup must be specified as well. In many cases, certain distributions of Kubernetes will handle fsGroup on behalf of users, so it may not be necessary. At the very least, any documentation with runAsUser should also include runAsGroup/fsGroup.

So digging further here, Tekton does not account for the securityContext of steps that are defined as part of a Task, such as:
apiVersion: tekton.dev/v1beta1
kind: Task
metadata:
  name: echo-task
spec:
  steps:
    - name: echo-first
      image: ubuntu
      command:
        - echo
      args:
        - "Executing first"
      securityContext:
        runAsNonRoot: true
        runAsUser: 1001

The only securityContext that is applied is whatever is applied on the TaskRun or PipelineRun pod template:
https://github.com/tektoncd/pipeline/blob/c30d3aa0230faab3be210fccac19f7bb7ddd658f/pkg/pod/pod.go#L211
So this really comes down to two things:

The documentation should be updated for securityContext through out the project if only runAsNonRoot/runAsUser are being specified for a securityContext
The securityContext of steps should be applied if specified

For runAsNonRoot, you still need to specify a UID:
securityContext:
      runAsNonRoot: true
      runAsUser: 1001

This may not be the fault of Tekton, but to me, this doesn't sound intuitive. If you have to use runAsUser, then there's no reason for the existence of runAsNonRoot. Is runAsNonRoot deprecated? Maybe I'm missing something.

runAsNonRoot is about validating containers running in the pod, not actually setting the user. See more under the Kubernetes pod documentation:
runAsNonRoot | boolean | Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.

In general, running as a non root user should be built into the container image itself as opposed to relying on a securityContext whenever possible.

Ah, makes sense. Thanks for the explanation. It would have been better if the name were verifyNonRoot or such, because this is inconsistent with runAsUser. (I would expect that runAsUser: 1001 validates that the container runs with UID 1001, not making the container run with UID 1001.)

Last piece of information on this: To specify a securityContext for a step, the Pod also must specify a securityContext. For example:
apiVersion: tekton.dev/v1beta1
kind: Task
metadata:
  name: echo-task
spec:
  steps:
    - name: echo-first
      image: ubuntu
      command:
        - sleep
      args:
        - 120s
      securityContext:
        runAsUser: 2000
        allowPrivilegeEscalation: false

apiVersion: tekton.dev/v1beta1
kind: TaskRun
metadata:
  generateName: echo-task-run-
spec:
  taskRef:
    name: echo-task
  podTemplate:
    securityContext:
      runAsNonRoot: true
      runAsUser: 1001

The combination above will both run in an environment that does not allow root user containers and also allow the step to specify its own user to run as amongst other properties. So this is not actually an issue with Pipelines itself, but rather a documentation/examples issue that should be better highlighted.

👍 fantastic summary and investigation, thank you very much @danielhelfand !  I've updated labels on the issue to reflect this info.

Sure, happy to help. If no one is working on this, more than happy to pick it up.

/assign


PR68101, 68108 and 68118 combo

The bug these PRs are trying to hit is very hard to get locally, so I need a pull request I can submit to the CI system for stress testing.

Added https://github.com/zephyrproject-rtos/zephyr/pull/68118 to the mix


Update aws sdk go v1.37.1

This updates aws-sdk-go to version 1.37.x, adding support for AWS Single Sign-On (SSO) Credential Provider (added in v1.37.0) plus some additional fixes in v1.37.1.
Resolves #296

Hello maintainers,
Any ETA of this getting merged? :)

/lgtm

Thanks!

/approve

Sorry for commenting on a merged PR, but when can we expect this to be released? Kind of waiting for this one for a while to be able to use the AWS SSO provider. Thx!


Stretched Resizable Mode

Just as fixed mode has a stretched mode (Stretched Fixed Mode in the Runelite options menu), where some horizontal & some vertical lines are doubled to give the game the effect of being larger, and if done on an integer scale, 2x or beyond scaled. Stretched resizable mode would do the same thing except with resizable mode.
Why?

This allows the UI to be "scaled" being more comfortable for some users. Eg. I'm used to stretched fixed mode's speed when turning the camera with middle mouse button which has a way slower sensitivity than regular resizeable mode
This would also allow for less clipping of terrain which happens in fixed mode.
A more "clean" UI. More efficient use of game space
In effect, a "scaled UI" that Jagex was working on years ago and never got around to officially implementing.

I'd also like to preface the rest of this with: I checked the to see if there were any completely similar suggestions. While #4769 and others were closed because they were recommended they use dpi scaling, this isn't a real solution to me because while it does scale the game, it also scales the Runelite UI, leading to a lessened experience than an official implementation. I could not find any other suggestions that were the exact same as mine.

As you can see in this image, when using integer scale and using stretched fixed mode the game doesn't use all of the available screen. This is as intended and working perfectly if the user doesn't want to distort their game in any way. But this still leads to there being "wasted space" surrounding the game.
Here is a photo manipulated mock up of what this might look like when implemented:

Here is what resizable mode normally looks like:

This mock up was just created by taking my available screen real estate (1642 x 1057) when accounting for the runelite panel (which I always have open) and dividing this number by half, (821x528.5) then resizing my game to create an image this size. And finally just taking this image and scaling it 2x to fit the space.
So stretched resizable mode would work as so: Calculate the available screen real estate the user has (the area beside the panel), divide by 2, and set that as the client size, then scale that image 2x. Or if the user wants, 3x, 4x, etc.

Made a thing: https://www.youtube.com/watch?v=pdCwzXRd6U4


[Bug Report]:  HMR module log circular printing

System Info
System:
OS: Windows 10 10.0.22621
CPU: (8) x64 Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz
Memory: 5.67 GB / 15.88 GB
Binaries:
Node: 18.13.0 - D:\Programs\nodejs\node.EXE
Yarn: 1.22.19 - C:\Program Files (x86)\Yarn\bin\yarn.CMD
npm: 8.19.3 - D:\Programs\nodejs\npm.CMD
Browsers:
Edge: Spartan (44.22621.1265.0), Chromium (110.0.1587.69)
npmPackages:
@rspack/cli: latest => 0.1.0
Details
pnpm v7.29.1
The browser found that the HMR module has been printing logs in a loop.
When the component code is edited and saved, a hot update is triggered, and then the HMR module appears in the console to keep printing logs.

Reproduce link
No response
Reproduce Steps
1、 pnpm create rspack
2、pnpm dev
3、Create a Button component
4、Import Button component into App.jsx
5、Save component code file
6、Observe the browser console

I couldn't reproduce the problem the way you did, maybe it's a problem with my computer system or maybe it's missing some steps. Can you post a repository where you can reproduce the problem.


(#76) - fix localstorage destroy()

This fixes the PouchDB test suite. I did not add a new test
to this repo, because I didn't have time.
These tests were broken in Firefox and Safari but not Chrome.
Apparently the issue is that LocalStorage implementations are
allowed to reorder the keys before and after removing items,
meaning we can't count on the order to stay the same while
we're deleting stuff. The W3C spec has more info:
https://www.w3.org/TR/webstorage/

Accidentally merged this to master without a review, but it's pretty straightforward. Also tests are broken because Zuul has a bug in 3.9.0, so I pinned us back to 3.8.0.