Use shape and dtype as typevars in NamedArray

Using a different TypeVar strategy compared to #8281. The idea here is to typevar shape and dtype instead, just like numpy does.
Previously I tried to use the _data array as the TypeVar but that causes all kinds of issues since TypeVar is usually invariant and can't be updated to a new type. Since the dtype changes very frequently when doing array operations it quickly gets difficult to pass along the correct typing.

This PR adds a from_array function. The intention is to use that function to create NamedArrays when you are passing around ArrayLikes. The init for NamedArray will now just assume the input data is correct. At runtime at least, mypy will catch any non-supported array types. There's some precedent to this:

numpy.array_api.Array forces to use xp.asarray.
Cubed assumes the inputs are correct. Has a xp.asarray and a from_array function.
The ugly fastpath argument is therefore not needed.

Adds a bunch of type hint classes, duckarray[ShapeType, DType] (corresponding to np.ndarray) or DuckArray[ScalarType] (corresponding to np.typing.NDArray) are the recommended ones.

It's better to use these kinds of classes over creating is_duck_array functions with typeguards because isinstance also works on the else clause.

This PR adds some array_api functions, the idea here is that NamedArray could also be array_api compliant.

[x] Tests added
[x] Closes #8291

References:
https://github.com/tomwhite/cubed/blob/ea885193dd37d27917a24878b51bb086aaef5fb1/cubed/core/ops.py#L34
https://stackoverflow.com/questions/74633074/how-to-type-hint-a-generic-numpy-array
https://numpy.org/doc/stable/reference/arrays.scalars.html#scalars
https://github.com/numpy/numpy/blob/040ed2dc9847265c581a342301dd87d2b518a3c2/numpy/__init__.pyi#L1423
https://github.com/numpy/numpy/blob/040ed2dc9847265c581a342301dd87d2b518a3c2/numpy/_typing/_array_like.py#L32
https://stackoverflow.com/questions/69186176/determine-if-subclass-has-a-base-classs-method-implemented-in-python

Green mypy, but red pytest instead.

And back to the drawing board.

And back to the drawing board.

Yeah, all these NamedArray PRs will have heavy merge conflicts:/

Went easier than expected getting tests green. That's suspicious! I'll dig around regarding that in a follow up PR.

Hey, I see that this was fairly recently merged. I have a question, and I was hoping it'd be appropriate to post here.
Why is this

Because dim can be anything Hashable: 1, "x", ("x", 23), None.
So it is the opposite, str is a subtype of Hashable!
from typing import Hashable

dims_str: tuple[Hashable, ...] = ("x",)
dims_int: tuple[Hashable, ...] = (654, 23)
dims_tuple: tuple[Hashable, ...] = (("#", "sdf"), ("s",))

# mypy --strict:
# Success: no issues found in 1 source file

# pyright 1.1.280
# 0 errors, 0 warnings, 0 informations
# Completed in 0.865sec

This PR deals with the typing of namedarray specifically, so I'm not promising everything is perfect typing wise at the DataArray level.
But DataArray is the odd one out currently:
import numpy as np
import xarray as xr

a = xr.namedarray.core.NamedArray(data=np.array([1, 2, 3]), dims=(7,))
b = xr.Variable(data=np.array([1, 2, 3]), dims=(7,))
c = xr.Dataset({"b": b})
d = xr.DataArray(data=[1, 2, 3], dims=(7,))  # error

Let me elaborate on this a bit...

Why is this:
https://github.com/pydata/xarray/blob/562f2f86ba5f4c072f63e78b72753145b76bd2db/xarray/namedarray/_typing.py#L68
not
_Dim = str

?

Because we mostly support non-string types for dimension and variable names.
The support has become better and better in the last year.
You could use custom classes like enums or tuples as dimension names.

I'm trying to write code like
da_dims: tuple[str] = da.dims

which doesn't work since Hashable isn't a subtype of str.

That is a limitation on how things currently work. In this case you will have to use cast(tuple[str, ...], da.dims)
There is some effort in the new NamedArray class to make the dimensions Generic as well, see https://github.com/pydata/xarray/pull/8276
Then the dims type will depend on how you construct the object.

On the other hand,
>>> da = xr.DataArray(data=[1,2,3], dims=[7])
TypeError: dimension 7 is not a string

so it seems like it can't be any hashable other than str.

The constructors are still a weak spot of typing so far (and error messages as well as it seems) because they allow many different combinations of how to create a DataArray (Dataset) and are therefore highly dynamic and difficult to statically type.
Actually, I would consider this example a bug because we clearly state that hashables are supported. Feel free to open an issue about that!

Thanks so much @Illviljan and @headtr1ck for the fast and detailed response!!!
As per @headtr1ck's suggestion I opened #8546.


shared loop variable not reinitialized properly

Here is a repo. The assert triggers
let k = 0;
for (var i = 0; i < 1; ++i) {
    k = i;
}
for (var i = 0; i < 1; ++i) {
    k = i + 5;
}
basic.showNumber(k);
control.assert(k == 5);

Seems like the initialization in the second loop is peeped out. I will take a look. Works fine with 'let' instead of var though as it introduces a separate scoped variable for each let instance.

The problem is that all i share node-id except for the second var which is different. If TS introduces a new node id for the second var they should also resolve the following references to it.  Maybe this is fixed in more recent TypeScript. Should we try to merge 2.1?

In JavaScript var is not block scoped and both var refer to the same var. Redeclaration is no-op.

Sure. Which is why all the node-ids should be the same.

Yes makes sense.. Though I do want to remove 'var' and just allow 'let' for language semantics perspective.

As long as we have a nice error message saying "change 'var' to 'let'"

https://github.com/Microsoft/pxt/pull/780


Could not write to local resource

Repro steps:

Action: appService.fileEditor.onDidSaveTextDocument
Error type: 409
Error Message: Could not write to local resource '/home/site/wwwroot/hostingstart.html' due to error 'The process cannot access the file '/home/site/wwwroot/hostingstart.html' because it is being used by another process.'.
Version: 0.13.0
OS: win32
VS Code Version: 1.32.3

Call Stack
module.exports.o.pipeline (dist/extension.bundle.js:333:435311)
s (dist/extension.bundle.js:277:112563)
s (dist/extension.bundle.js:165:26036)
dist/extension.bundle.js:165:27276
o (dist/extension.bundle.js:223:7054)
dist/extension.bundle.js:165:24957
$.module.exports.t.requestLibrarySink.t.headersOnly.t.streamedResponse.t.body.function.t.body.pipe.s.pipe.a [as _callback] (dist/extension.bundle.js:1:521621)
$.module.exports.$.init.t._callback.t.callback.t.callback (dist/extension.bundle.js:253:5461)
$.emit (events.js:182:13)
$.<anonymous> (dist/extension.bundle.js:253:18274)
$.emit (events.js:187:15)
IncomingMessage.<anonymous> (dist/extension.bundle.js:253:17116)
Object.onceWrapper (events.js:273:13)
IncomingMessage.emit (events.js:187:15)
endReadableNT (_stream_readable.js:1090:12)
process._tickCallback (internal/process/next_tick.js:63:19)

HI @chipimo,
Thanks for reporting this issue.  It looks like you are trying to save your remote copy of hostingstart.html while it is being edited somewhere else.  Are you accessing this file somewhere else?


fix: destroy socket if body is aborted

Purpose
Fix: the socket is hangup although the body is aborted.
Changes
Destroy socket if body is aborted.
Additional information
see demo for reproduction.

[ ] I updated readme
[ ] I added unit test(s)

fix #000

I just encountered an equivalent issue in a test in our codebase and my fix looks almost identical, except I have the destroy error forwarding go in the opposite direction. Should the introduced pipeAndDestroy method do both dst.on('error', err => src.destroy(err)); and src.on('error', err => dst.destroy(err)); ?


[Script]: Improvement in Password Generator | Password Generator 2.0

Aim
Password Generator will generate secure password of 16 characters. (character length can be changed). The previous password generator uses long code which can be shortened to 8-10 lines of code.
Details
This password generator script will consist of 10 lines of code and will use "secrets" module to generate random passwords. These passwords can be used for better security.
Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSoC'23 contributor
[X] I want to work on this issue

I want to work on this issues. Please assign me this issue.

Script Not Needed


Allows to re-register a controller

Ignoring provided values on re-registration
Fixing an useless 'assert' crash when invoked in a StatefulWidget

fix #87

@eyoeldefare


how to show Image of BMP format?

Thank you very much

Call tilingDisabled() on your ImageSource instance. Android's BitmapRegionDecoder does not support BMP files. It would be better to convert the file to PNG or JPG.


CoapClient ReceiveAsync can't be canceld using a CancellationToken

It seems that it's not possible to cancel a CoapClient ReceiveAsync call by cancling the CancellationToken.

Are you able to provide sample application where ReceiveAsync does not throw a OperationCanceledException when the CancelationToken is canceled? I'm having difficulty reproducing the problem as each scenario in the tests, works.

Weird, setting some debug breakpoints seems to have fixes this "issue". So I guess this was an debugger cause isse. Sorry.


Specific apps playing sensor trigger

Preconditions

[X] The support request template is not a better fit to my question

Issue
Hi,
Is there possible to condition the playing sensor to work only in some specific apps like Infuse, Netflix, Disney or Amazon Prime?
When I open apps like YouTube or Spotify, the playing sensor triggers and does what I told him to. But in these cases I wouldn't want to run that automation.

#272 might help you

Would be nice if you could let me know whether or not the linked discussion answers your issue. If you need further assistance let me know.

Would be nice if you could let me know whether or not the linked discussion answers your issue. If you need further assistance let me know.

It worked, thanks a lot.


Allow flash-message to not have any default class as prefix

With this change, if the component receives a messageStyle="one-of-my-own" it doesn't
generate it just generates an "alert-{{TYPE}}" (instead of "alert alert-{{type}}"), since
that is the styles expected by bootstrap.
The default behavior is still the same, this just allows the user to opt out.
This allows me by example to create my own component that extends from the default one and provide different classes (since in my project the "alert" class is used for another kind of component, and I want to use "flash" instead.
import FlashMessageComponent from 'ember-cli-flash/components/flash-message';

export default FlashMessageComponent.extend({
  classNames: ['flash'],
  messageStyle: 'custom'
});

:umbrella: The latest upstream changes (presumably f5002eb) made this pull request unmergeable. Please resolve the merge conflicts.

@cibernox You good if I close this? 😅

@sbatson5 be my guest 👍


Update to Grafana 9.5.2

Keep up to date with the latest Grafana toolkit.

Codecov Report
Patch and project coverage have no change.

Comparison is base (06ecace) 90.29% compared to head (9760026) 90.29%.

Additional details and impacted files
@@           Coverage Diff           @@
##             main       #6   +/-   ##
=======================================
  Coverage   90.29%   90.29%
=======================================
  Files          13       13
  Lines         103      103
  Branches       12       12
=======================================
  Hits           93       93
  Misses          8        8
  Partials        2        2

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Remove prepend oustanding ops [0.26]

Port #3842 to 0.26

Can you please notify our OCEs and folks working on 0.26 integration here on a new patch, risks, etc.?

Close and reopening to trigger the pipeline


Camera 2D should (optionally) rotate with the follow target

Project Type
2D
Feature Description
When a PhantomCamera2D is in Follow Mode Glued or Simple, the camera should, in some cases, also match the global rotation of the follow target.
Use Cases
One example would be a top-down racing game. Assuming the world is static and the car is the object moving around (and the camera is following the car), I may want the car to remain fixed in the middle of the viewport pointing up. The current behavior is that "up" (-Y) is always at the top of the screen.
(Optional) Proposed Solution
From a user perspective, I'd like to see a checkbox in the main section for enabling rotation matching. Conceivably there could also be some kind of damping specifically for rotation, but it could be nauseating so I'd personally turn that feature off.
This may be related to #214.

Also...I'm not sure what ramifications a rotated follow target would be for Limits. Maybe the only option would be to set a Limit Target.

Think this is a good idea.
Should be fairly easy to add in.


Refactor + select support

Hi Omar I'm BitPhoenix, it's a pleasure to meet you. I wanted to start off by thanking you for creating such an awesome package! It's very useful and has helped me a lot. I really appreciate the hard work you continue to put into it.
My apologies that the refactor and fix are in one pull review, and that the commits are larger than normal. I'll make sure to separate them in the future.
Since this is quite a big pull request, please let me know if you'd like to hop on a voice chat to go through the changes together, in case that would help make things easier.
References

Support select: https://github.com/omar-dulaimi/prisma-trpc-generator/issues/13
Support select relation fields
Support select _count

Description
I started out by trying to fix the missing select issue referenced here: https://github.com/omar-dulaimi/prisma-trpc-generator/issues/13
To help me better understand the codebase, I started refactoring the prisma-generator.ts and transformer.ts files as I read through the code to get hands on and aid in understanding. Pretty small things like:

Extracting grouped logic into functions in prisma-generator.ts
Updating some variable / function names for clarity / consistency
Reorganizing function order in transformer.ts to decrease vertical distance
Extracting missing mongo type generation into a separate file + functions

After I finished performing the above changes and understood the codebase, I added functions to src/helpers/helpers.ts responsible for generating the types needed to support select. I plan on working on include next and will likely update the file / folder structure in a future pull request to represent that this group of functions is for adding the select related types (similar to how we now have a file dedicated to mongo missing type generation logic).
The screenshots below show the generated zod schema which will help a lot to explain what the end goal was of the code that was added to src/helpers/helpers.ts. The short version is:

support select
support select relation fields
support select _count

Appropriate queries have a select property (Unique example is pictured)

ModelSelect schema is generated. If the model has a many relation with another model, we include a union with the find many schema for that model. We also include the _count property

If the model does has a single relation with another model, we union with args object schema for that model. If the model does not have a many relation with another model, _count will not be present.

Hi @BitPhoenix,
I am getting error for circular relations in select.
I integrated this PR to my tester app. I am getting full type support in vscode but APIs are not working. See the schemas. If I break the circular relation, then the APIs will work.

Hi @BitPhoenix, I am getting error for circular relations in select. I integrated this PR to my tester app. I am getting full type support in vscode but APIs are not working. See the schemas. If I break the circular relation, then the APIs will work.

Hey Shahidul1004 nice to meet ya! Thank you for testing this out and submitting the very helpful information.
Interestingly when I try it out on my end I don't have any issues, I suspect it's working on my end is a side effect of node's behavior for supporting circular imports:

Node supports circular imports
Node.js documentation

Will attach screenshots of it working on my end below as a sanity check

Do you happen to have your code pushed to a branch somewhere where the three of us can test it out / reproduce the error to make it easier to work on a fix? I don't get the error in my current environment but can definitely see this being an issue in other ones. So just want to make sure I can be in one where the error occurs for fixing / testing any fixes 🙂
I'm curious if there's any difference if you manually update the generated schema to this:
export const PostFindManySchema = z.object({
  where: PostWhereInputObjectSchema.optional(),
  orderBy: PostOrderByWithRelationInputObjectSchema.optional(),
  cursor: PostWhereUniqueInputObjectSchema.optional(),
  take: z.number().optional(),
  skip: z.number().optional(),
  distinct: z.array(PostScalarFieldEnumSchema).optional(),
})
.strict();
Object.assign(PostFindManySchema,  PostFindManySchema.extend({ select: PostSelectObjectSchema.optional() }));

Curious if you'll get the same error with this snippet. If no error this might be a potential fix, the only downside being that the select is not available in the type if you hover over the imported PostFindManySchema. Note that select is actually present and working on the exported schema - can be verified by parsing an object containing select first, then commenting out Object.assign and testing again. It's just not shown on the type when hovering with mouse, but is actually part of the exported / imported zod schema.
If this doesn't make a difference and we get the same error, we'll have to brainstorm a bit more on how to resolve this.

@omar-dulaimi Update on most recents commits:

Merged in @Revitate aggregate support
Extracted aggregate support to helpers/aggregate-helpers.ts
Renamed helpers.ts to select-helpers.ts
Now calling mongodb input object type generation / pushing from addMissingInputObjectTypes
Fixed function parameter typo

Before merging: note that discussion / investigation with @Shahidul1004 is pending to resolve the issue he is experiencing

Hey @BitPhoenix I'm glad you like this project and find it useful.
Let me start by saying that I don't know what is better, the description of the PR, the code refactor or the feature implementation!
Not only you did all that, but you also taught me a few things in the process; like vertical distance, the importance of high cohesion and separation of concerns at a practical level.
Thank you for that.
I left you just one small note(a typo) and a question in the review.
Also, if you could, maybe add a flag that defaults to false, that controls outputting select files. This way it would maintain the current behavior and the current amount of files people expect.
Other than that, I think you did great. I appreciate the time and effort you put into this.

Thank you so much for the kind words 🙏  And for the quick review!
I'm happy to hear that I was able to share a few things, I learned a lot from you about how prisma generators work! Very grateful that I got to give back in some way.
"Also, if you could, maybe add a flag that defaults to false, that controls outputting select files. This way it would maintain the current behavior and the current amount of files people expect."
Nice idea - I'll work on this one next!

Hi @BitPhoenix
Hope you are doing great.
I got a solution.  Because we are calling PostSelectObjectSchema inside PostFindManySchema, but PostSelectObjectSchema is defined later.
This circular relation exists in the Post model but not in the User model. So we can call {Model}SelectObjectSchema as a lazy function inside of {Model}FindManySchema if the {Model} has many-to-one relation with other models. But it would be fine, if we always lazily call {Model}SelectObjectSchema inside {Model}FindManySchema.

Hey @BitPhoenix
I was trying to add include support for this repo and, it seems like I have succeeded. I was wondering if you are also working on the same thing. If that's not the case then I might create a PR for include support.

Hi @BitPhoenix Hope you are doing great. I got a solution.  Because we are calling PostSelectObjectSchema inside PostFindManySchema, but PostSelectObjectSchema is defined later.
This circular relation exists in the Post model but not in the User model. So we can call {Model}SelectObjectSchema as a lazy function inside of {Model}FindManySchema if the {Model} has many-to-one relation with other models. But it would be fine, if we always lazily call {Model}SelectObjectSchema inside {Model}FindManySchema.

Fantastic solution and explanation! Added a commit with your solution: https://github.com/omar-dulaimi/prisma-zod-generator/pull/28/commits/12b4b09f6e29e00e9d69284f89f9fbebd3b8ad3c
Added co-authored by line for you in the commit message but not sure if it worked properly

Hey @BitPhoenix I was trying to add include support for this repo and, it seems like I have succeeded. I was wondering if you are also working on the same thing. If that's not the case then I might create a PR for include support.

That's fantastic! I was going to work on include later this week so nope all good! I'll add the feature flag request today that omar requested for select generation and hopefully we can get PR one merged in and then we can look over your include PR next 🎊
You probably already did this but just in case, one suggestion I have is to put include function code under helpers/include-helpers.ts and then call the function from helpers.ts addMissingInputObjectTypes, basically just keeping the same convention this pr introduces for organized missing input object type generation logic: so far we have aggregate, select, mongodb and with yours we'd also have a dedicated file for include 🙂

@omar-dulaimi Small update: added a commit with @Shahidul1004's fix for the circular relation. Last part is to add the flag support for select generation which I will add today so that we can tackle @Shahidul1004's include functionality PR next

@omar-dulaimi Most recent commit contains isGenerateSelect generator config option that controls whether Select schemas are generated and whether the select property is available on query schemas (defaults to false)
@Shahidul1004 Might be worth reviewing that commit as I imagine Omar might potentially want include to be flag controlled as well

Ready for re-review ✅

Ready for re-review: ✅

Updated README isGenerate -> isGenerateSelect
Updated default value to be '' instead of undefined

Released in https://github.com/omar-dulaimi/prisma-zod-generator/releases/tag/0.6.0
Thanks for your efforts

@omar-dulaimi Thank you for all of your time and insightful comments on this pull request! 🙏


allow more configuration of jobs via annotations

Looks good to me. I've requested reviews from the other maintainers, as I'm less familiar with this code than they are.

@spinscale did you get a chance to look at this?


windows_ai: float and double tensor's getAsVectorView() throws exception

Is there an existing issue for this?

[X] I have searched the existing issues

On which packages did you experience this issue?
windows_ai
What version are you using?
windows_ai: 0.0.2
What happened?
Creating a tensor of type float or double (using the TensorFloat or TensorDouble class) and calling getAsVectorView() throws exception.
Steps to reproduce
1. Run the following dart code:

import 'package:windows_ai/windows_ai.dart';

void main() {
  final tensor =
      TensorFloat.createFromShapeArrayAndDataArray([1, 4], [1, 2, 3, 4]);
  print(tensor?.getAsVectorView());
}

Expected Output: `[1, 2, 3, 4]`
Current Output:
Unhandled exception:
Invalid argument (T): Unsupported type: double
#0      new IVectorView.fromPtr (package:windows_foundation/src/collections/ivectorview.dart:133:5)
#1      ITensorFloat.getAsVectorView (package:windows_ai/src/machinelearning/itensorfloat.dart:48:24)
#2      TensorFloat.getAsVectorView (package:windows_ai/src/machinelearning/tensorfloat.dart:73:51)
#3      main (package:iamhear_app/services/windows_ai.dart:6:17)
#4      _delayEntrypointInvocation.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:296:19)
#5      _RawReceivePort._handleMessage (dart:isolate-patch/isolate_patch.dart:189:12)

Supporting info to reproduce
Upon looking at the IVectorView.fromPtr factory in ivectorview.dart in windows_foundation, it seems that the error happens because the factory can handle bool, Guid, int, String and Uri, but has no method for double.
This is also seems to be the case when looking at the ivectorview_part.dart in the same package, as the said file does not ivectorview class for double type.
Relevant log output
Unhandled exception:
Invalid argument (T): Unsupported type: double
#0      new IVectorView.fromPtr (package:windows_foundation/src/collections/ivectorview.dart:133:5)
#1      ITensorFloat.getAsVectorView (package:windows_ai/src/machinelearning/itensorfloat.dart:48:24)
#2      TensorFloat.getAsVectorView (package:windows_ai/src/machinelearning/tensorfloat.dart:73:51)
#3      main (package:iamhear_app/services/windows_ai.dart:6:17)
#4      _delayEntrypointInvocation.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:296:19)
#5      _RawReceivePort._handleMessage (dart:isolate-patch/isolate_patch.dart:189:12)

Flutter analyze output
Analyzing services...

   info - Don't invoke 'print' in production code - windows_ai.dart:6:3 - avoid_print

1 issue found. (ran in 0.4s)

Flutter doctor output
[√] Flutter (Channel stable, 3.10.5, on Microsoft Windows [Version 10.0.22621.1848], locale en-US)
    • Flutter version 3.10.5 on channel stable at C:\src\flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 796c8ef792 (9 days ago), 2023-06-13 15:51:02 -0700
    • Engine revision 45f6e00911
    • Dart version 3.0.5
    • DevTools version 2.23.1

[√] Windows Version (Installed version of Windows is version 10 or higher)

[√] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at C:\Users\harsh\AppData\Local\Android\sdk
    • Platform android-34, build-tools 34.0.0
    • Java binary at: C:\Program Files\Android\Android Studio\jbr\bin\java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-b2043.56-9586694)
    • All Android licenses accepted.

[√] Chrome - develop for the web
    • CHROME_EXECUTABLE = C:\Program Files\BraveSoftware\Brave-Browser\Application\brave.exe

[√] Visual Studio - develop for Windows (Visual Studio Community 2022 17.6.2)
    • Visual Studio at C:\Program Files\Microsoft Visual Studio\2022\Community
    • Visual Studio Community 2022 version 17.6.33723.286
    • Windows 10 SDK version 10.0.22000.0

[√] Android Studio (version 2022.2)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
       https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-b2043.56-9586694)

[√] VS Code (version 1.79.2)
    • VS Code at C:\Users\harsh\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.66.0

[√] Connected device (3 available)
    • Windows (desktop) • windows • windows-x64    • Microsoft Windows [Version 10.0.22621.1848]
    • Chrome (web)      • chrome  • web-javascript • unknown
    • Edge (web)        • edge    • web-javascript • Microsoft Edge 112.0.1722.58

[√] Network resources
    • All expected network resources are available.

• No issues found!
[√] Network resources

• No issues found!

Code of Conduct

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

No worries! Thanks a lot for the really nice project :).

Just published windows_ai v0.0.2+1.

Thanks a lot, I just tested it and can confirm it works!


Drive motor CAN IDs

What are the correct CAN IDs on the motors?  Need to check RoboRIO dashboard

PCM - ID 0
Left front=1
Left rear = 2
Right front = 3
Right rear = 4


Don't use "target=_blank" in links

Using target=_blank in links makes the browser open the link in a special way that gives the new window access to the original window's .window object in the DOM. This can be misused in malicious ways and it is recommended to also use rel=noopener in these cases. We need to edit our XMLUI themes to use the recommend rel syntax in these cases.
See: https://mathiasbynens.github.io/rel-noopener/

Irrelevant in modern browsers.


Remote span context read for the JMS

Copy from the old inspectIT, should be straight forward if implemented after M3.
Add system test with mocked JMS impl.

Is this relevant any more? JMS Monitoring works long time ago

Hello @mc-chaos , this ticket is still open because the default configuration does not cover JMS data, yet. I've created a new ticket for this, because only a configuration has to be created here.
Closed in favor for #781


Minor issues converting code to 2.0.0

RunModel
I am having some minor troubles converting Hydra to q-d 2.0.0 with the change from a handle-based RunModel to a typeclass based.
I have this declaration
instance
  ( MonadDelay m
  , MonadAsync m
  , MonadCatch m
  , MonadTimer m
  , MonadThrow (STM m)
  , MonadLabelledSTM m
  ) =>
  RunModel WorldState (StateT (Nodes m) m)
  where
  postcondition _st (Commit _party expectedCommitted) _ actualCommitted =
    pure $ expectedCommitted == actualCommitted
  postcondition _ _ _ _ = pure True
...

which looks fine but unfortunately does not compile because of:
test/Hydra/Model.hs:333:33: error:
    • Could not deduce: Realized
                          (StateT (Nodes m) m) [(CardanoSigningKey, Value)]
                        ~ [(CardanoSigningKey, Value)]
      from the context: a ~ UTxOType Payment
        bound by a pattern with constructor:
                   Commit :: Party
                             -> UTxOType Payment -> Action WorldState ActualCommitted,
                 in an equation for ‘postcondition’
        at test/Hydra/Model.hs:332:22-52
      Expected type: [(CardanoSigningKey, Value)]
        Actual type: Realized (StateT (Nodes m) m) a
    • In the second argument of ‘(==)’, namely ‘actualCommitted’
      In the second argument of ‘($)’, namely
        ‘expectedCommitted == actualCommitted’
      In the expression: pure $ expectedCommitted == actualCommitted
    • Relevant bindings include
        actualCommitted :: Realized (StateT (Nodes m) m) a
          (bound at test/Hydra/Model.hs:332:57)
        postcondition :: (WorldState, WorldState)
                         -> Action WorldState a
                         -> Test.QuickCheck.StateModel.LookUp (StateT (Nodes m) m)
                         -> Realized (StateT (Nodes m) m) a
                         -> StateT (Nodes m) m Bool
          (bound at test/Hydra/Model.hs:332:3)
    |
333 |     pure $ expectedCommitted == actualCommitted
    |                                 ^^^^^^^^^^^^^^^

Realized is a type family with an instance for StateT s m which says:
type instance Realized (State s m) a = Realized m a

which is annoying because I would like it to simply be
type instance Realized (State s m) a = a

I could try to solve the issue by instantiating the m in the RunModel to be IOSim s but it does not work either.
The only solution I found was to introduce a newtype RunMonad m a = .... to wrap the StateT monad so that I can provide a custome instance of Realized.
Possible solution: Remove the type instance declarations in the StateModel module?
Redundant Typeable a constraint
When I declare my nextAction function:
  nextState :: WorldState -> Action WorldState a -> Var a -> WorldState
  nextState s@WorldState{hydraParties, hydraState} a _ =

I got the following errror:
test/Hydra/Model.hs:239:16: error: [-Wredundant-constraints, -Werror=redundant-constraints]
    • Redundant constraint: Typeable a
    • In the type signature for:
           nextState :: forall a.
                        Typeable a =>
                        WorldState -> Action WorldState a -> Var a -> WorldState
      When checking that instance signature for ‘nextState’
        is more general than its signature in the class
        Instance sig: forall a.
                      WorldState -> Action WorldState a -> Var a -> WorldState
           Class sig: forall a.
                      Typeable a =>
                      WorldState -> Action WorldState a -> Var a -> WorldState
      In the instance declaration for ‘StateModel WorldState’
    |
239 |   nextState :: WorldState -> Action WorldState a -> Var a -> WorldState
    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

which I can ignore by switching the appropriate warning, but probably not something we want in general.
Missing Show
In declaring the monitoring function,
  monitoring (s, s') action _l result =
    decoratePostconditionFailure   . decorateTransitions
   where
    -- REVIEW: This should be part of the quickcheck-dynamic runActions
    decoratePostconditionFailure
      | checkOutcome s action result = id
      | otherwise =
        counterexample "postcondition failed"
          . counterexample ("Action: " <> show action)
          . counterexample ("State: " <> show s)
        .  counterexample ("Result: " <> show result)

    decorateTransitions =
      case (hydraState s, hydraState s') of
        (st, st') -> tabulate "Transitions" [unsafeConstructorName st <> " -> " <> unsafeConstructorName st']

I got
test/Hydra/Model.hs:357:43: error:
    • Could not deduce (Show a) arising from a use of ‘show’
      from the context: (MonadAsync m, MonadCatch m, MonadTimer m,
                         MonadThrow (STM m), MonadLabelledSTM m)
        bound by the instance declaration
        at test/Hydra/Model.hs:(335,3)-(342,34)
      Possible fix:
        add (Show a) to the context of
          the type signature for:
            monitoring :: forall a.
                          (WorldState, WorldState)
                          -> Action WorldState a
                          -> Test.QuickCheck.StateModel.LookUp (RunMonad m)
                          -> Realized (RunMonad m) a
                          -> Test.QuickCheck.Property.Property
                          -> Test.QuickCheck.Property.Property
    • In the second argument of ‘(<>)’, namely ‘show result’
      In the first argument of ‘counterexample’, namely
        ‘("Result: " <> show result)’
      In the second argument of ‘(.)’, namely
        ‘counterexample ("Result: " <> show result)’
    |
357 |           . counterexample ("Result: " <> show result)
    |                                           ^^^^^^^^^^^

I can remove the counterexample but it's there for a reason.

RunModel
Did you try adding a Realized m [(CardanoSigningKey, Value)] ~ [(CardanoSigningKey, Value)] constraint to the instance head?
Typeable constraint
That looks like a bug in ghc. I can reproduce on 8.10 with this program:
{-# LANGUAGE InstanceSigs #-}
{-# OPTIONS_GHC -Wredundant-constraints #-}

class C a where
  foo :: Eq b => b -> a

instance C Int where
  foo :: b -> Int   -- With ghc < 9.0: Redundant constraint: Eq b
  foo _ = 0

With 9.0 and above I get no warning.
The constraint really isn't redundant; sometimes you do need the fact that a is Typeable, it's just that your particular instance doesn't. The workaround is to not use InstanceSigs on 8.10, or to disable the warning.
Show constraint
This one is a little awkward. One trick I've used is to implement
showFromAction :: Action Model a -> (Show a => b) -> b
showFromAction Action1{} k = k
...

and use that to bring the Show instance into scope. We should perhaps look into generating that function for you.

I tried Realized m a ~ a  which failed because a is not in scope. This error occurs several time with different types so I guess a specific instance like this one wouldn't help. The newtype wrapper solution works fine, but how about removing predefined instances in the StateModel?

re redundant Typeable: I am stupid, I should just have removed the type signature on nextAction and that's it

I tried showFromAction trick and it works well, thanks! I never thought of doing that 🤦

I tried Realized m a ~ a which failed because a is not in scope. This error occurs several time with different types so I guess a specific instance like this one wouldn't help. The newtype wrapper solution works fine, but how about removing predefined instances in the StateModel?

 As Ulf said I think the two fixes are either:

newtype but that's not the prettiest solution
adding constraints like forall a. Realized m a ~ a or maybe just a specific constraint in your case like Realized m ModelTypeCausingError ~ TypeAtWhichIUseIt?

for that situation it would be nice if you weren't forced to write down some awkward definition of Realized
It does not feel that awkward, it's just a step one needs to take to define the RunModel and really just one line of code.
It seems to me we are inflicting our help on the implementor by providing some instances and not others.

I don't know that I agree with that. Now if you're using "normal" and concrete monads like IO, IOSim, ReaderT, StateT, most of the Realized machinery should be invisible (at least that's my goal) and only if you want to do something really fancy should it show up. I think that's still a worth-while goal to have no?

It won't be invisible most of the times, as it likely will pop up in errors anyway.

@abailly-iohk how do you mean it will likely pop up in errors anyway? My intuition is that if people are writing instances that are monomorphic in the target monad (which I expect to be the "standard use case") then Realized should disappear. That's at least I think a reasonable design goal to avoid confusion. Doing what you're doing here is an "advanced technique" (that we should definitely document somewhere because it's super cool!) and then I'm totally fine with Realized showing up.

Yes, I get what you mean. But my point is that you were having those issues because your code is polymorphic in the target monad :)
Yes, that sounds like a good idea.


Mount before systemd starts

This isn't really a bug, rather a question (not sure if this is the right place for that).
We have a need to mount a few mount points before SystemD starts. What would be the right place to do that ? From what I understand, by default there is no initramfs created for RaspberryPi, so where should the change really live ?

you need initramfs as you rightly said. Now you could try to enable it and the knobs are well documented here but you need to define logic. In yoe distro we use initramfs based boot system by default e.g. see
https://github.com/YoeDistro/yoe-distro/tree/master/sources/meta-yoe/recipes-support/updater
basically yoe-simple-image will automatically boot using this updater/initramfs and now you can encode the mount logic in the script on launch see
https://github.com/YoeDistro/yoe-distro/blob/master/sources/meta-yoe/recipes-support/updater/files/updater.installer

If you only need a set of mounts you can also code it as part of a wrapper which at the end execs the init process. That would be less overhead.
Anyway, I'll close this issue for now.

If you only need a set of mounts you can also code it as part of a wrapper which at the end execs the init process. That would be less overhead.

Yeah, I only need to do mounts. Where exactly shall I make the change ?  If getting away with using initramfs is an option, I'd go with that one.

In that case you can use what @kraj recommended or directly use he initramfs frameworkiin yocto and add a custom module.

So I was thinking a bit more about it. I think for my case I can get away with just change the /sbin/init symlink to be a full fledged script that in the end runs /lib/systemd/systemd

That is exactly what I gave you as an option above. That should be easy to do and less overhead as a full-fledgediinitramfs .

Ah, I had misunderstood that one. Thanks a lot :-)


bug: Closing select dialog triggers onPageWillEnter

Type: bug
Ionic Version: 2.x
Platform: all
I have an @Page component with a form.  I am using the ion-select component.  After I make my selection and close the dialogue, it calls onPageWillEnter again.  This seems like a bug to me.
It is very easy to reproduce.  If you need code I can give you code.  This is with beta1 npm module.

On a similar point, I have onPageWillEnter firing after closing an alert. Not sure if that is as designed, caught me out for a while

Ok, I think I see the problem, where when a modal/alert/actionsheet is technically another page that loaded in the nav stack, and when it's removed then the page before it "entered" again. For sure the ion-select probably shouldn't do this, since conceptually it's apart of the page. That's also debatable for alert and actionsheet. However, for modal the previous page should onPageWillEnter. I'll add it to beta2 and take a look, thanks.

From my perspective, an Alert is just an alert, not a page.
I guess I view it as fundamentally different than a Modal, where my Modal does take a Page component as a parameter and display that.  When I close a Modal, I would expect the underlying page's onPageWillEnter to be called.
It's interesting though - I am not so sure I would feel that way in a master/detail view, so iPad or decent sized browser.  It may be worth looking at what Cocoa Touch does and when it calls viewWillAppear.

If not too onerous, that leads to a thought - perhaps have onViewWillEnter for a view entry event (including after closing alerts, actionsheets, selects), and onPageWillEnter for where its a page, with a page constructor (i.e. excluding alerts, actionsheets, selects)

Awesome thanks for the issue, I think this is a good update. So now alerts, actionsheets and ion-selects, won't fire the active page's lifecycle events. Thanks!


Unhandled promise rejection on errors

Issue Type
Bug
Description
Produce unhandled promise rejection on each error in Node.js and Browser.
Steps to reproduce

Initialize eths:

const eth = new Eth(new Eth.HttpProvider('...url...'));

Call any method:

await eth.contract(abi, bytecode).new();

Versions

Node/NPM: 9.3
Browser: Chrome 63

I also encountered this error. It had to do with the fact that ethjs doesn't seem to come packaged with the most recent version of ethjs-query (link). The workaround is to use the libraries directly:
const HttpProvider = require("ethjs-provider-http");
const Eth = require("ethjs-query");
await Eth.contract(...).new();

I will push the new ethjs-query into ethjs, probably by Wednesday night,
thanks!

Sorry! Gonna be tomorrow for this push. Has other things to tackle before this.
Sent from my iPhone

On Apr 2, 2018, at 10:22 PM, Paul Fletcher-Hill<EMAIL_ADDRESS>wrote:
Sounds good, I appreciate the quick response @SilentCicero!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.


Initial support to get coverage from e2e tests on minikube

Trying to make code coverage less intrusive as possible. All coverage enable binary are created in go/linux_amd64/coverage, such that they don't impact normal workflows. One needs to set the env variable COVERAGE=true to produce coverage enable binaries. However the docker images created will use the same name.
Updated the helm template for code coverage. The data will be saved on the minikube vm on /coverage.
Right now only a few binaries are enabled (mixs, istioctl, pilot-discovery, sidecar-injector and istio_ca), simply because more intrusive work is required to get the other to work. I was able to run the e2e-simple e2e on minikube with success, and got some failures on the e2e_all suite, but still able to some coverage information.
I am working with another team to be able to merge the code coverage to test grid, but part of the tool they use is not open source yet. Once that's done I'll update a circle CI codecov target to get more data.

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

Needs approval from an approver in each of these files:

OWNERS

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

@sebastienvas: PR needs rebase.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.


replace fuzzywuzzy

FuzzyWuzzy is GPL Licensed, which is incompatible with the license used by this project. This Pull Request replaces FuzzyWuzzy with RapidFuzz, which implements the same algorithms. It is licensed in a compatible way (MIT License) and is faster than FuzzyWuzzy.

Thank you for fixing this! Hope you are enjoying this library.


chore(tests) use the kong source that matches the version we built

We clone the kong source so we have access to the .requirements file.
The requirements file is needed by kong-build-tools to double check the right things got built. However, running the  01-package test suite on docker-kong CI is largely unecessary (with the exception of the version check as it has been beneficial in the past) as any asset couldn't have been built without already going through the tests.
I think this initially got pinned to 2.1.0-beta.1 because the $version_given variable is incorrect for our prereleases.
Future improvements:

only run the 02-api test suite against docker-kong
logic to handle pre release tag format. In the absence of a tag default to next might be OK
possibly merge kbt and docker-kong. They're becoming rather intertwined

instead of passing the version, can't you use labels;

https://docs.docker.com/config/labels-custom-metadata/
https://github.com/opencontainers/image-spec/blob/master/annotations.md#pre-defined-annotation-keys

similar to this: https://github.com/Kong/kong-ee/pull/1623/files
not sure though it even makes sense? is this based on images?

The version is snagged from the Dockerfile's themselves ie https://github.com/Kong/docker-kong/blob/master/alpine/Dockerfile#L12
The intent is:
The Dockerfile says to build x.y.z
OK make sure the .requirements file for x.y.z matches what we've actually ended up with

you cannot trust this. It is the exact same problem that Pongo has, it needs the matching git commit to fetch the Kong sources. Hence why the Kong-EE nightly image is tagged with the commit hash in the PR linked above.
Pongo cannot test CE nightlies because this tag is missing from those images. So maybe adding the tag would solve both problems?

This I'm pretty sure is a different problem (or I'm confused lol). In my case I can trust that the Dockerfile KONG_VERSION has an existing github tag which is true 90% of the time. For the exceptions I think defaulting back to next will be fine
To review the sequence is:

kong/kbt builds a kong asset and sends it to bintray
someone (a robot) updates docker-kong Dockerfile with the new version
docker-kong CI pulls the asset from bintray and builds

It's at this point that we need to test the image we built is correct and to do that we need the Kong source. The exception is that prerelease KONG_VERSION doesn't equal the github tag ie ARG KONG_VERSION=2.1.0beta.1 vs 2.1.0-beta.1

for tagged versions the problem doesn't exist. Only for untagged ones, like the RC's or nightlies, and for those the problem is the exact same.
I'd prefer we fix this problem, because it would also allow Pongo to test against nightly-CE images. For EE the ability already works, but not for CE.


Update for openturns 1.10

@conda-forge-admin, please rerender

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


WAL Archiving Occurs Every Second Despite archive_timeout Set to 600s

I am experiencing an issue with PostgreSQL where WAL files are being archived every second, even though the archive_timeout parameter is configured to 600 seconds(10min). This behavior is causing an unexpected frequency of WAL archiving, which might lead to performance degradation and excessive storage usage.
Configuration Details:
PostgreSQL Version: 17.2
WAL Segment Size: 16MB
min_wal_size: 2GB
max_wal_size: 16GB
wal_buffers: 32MB

Relevant Parameters:
archive_timeout = 600s
wal_segment_size = 16MB
max_wal_size = 16GB
Archiving is configured using wal-g.

Observed Behavior:
WAL files are archived every second (of 1-3MB of each wal file to the s3).
This occurs regardless of the low volume of write operations in the database.
Checking pg_stat_archiver shows rapid increments in the archived_count.
Expected Behavior:
WAL files should only be archived either when the 16MB segment is full or when the archive_timeout of 600 seconds is reached.
archive_command uses WAL-G to push the WAL files to an S3-compatible storage.
#du -sm /var/lib/postgresql/17/main/pg_wal/
16385   /var/lib/postgresql/17/main/pg_wal/

Please provide guidance on whether this is a configuration issue or a potential bug. Let me know if additional details are required for further debugging.

WAL archiving in PostgreSQL occurs either when a WAL segment is filled (default size is 16 MB) or after the time specified in the archive_timeout parameter has elapsed. If archiving happens every second, it likely indicates a write workload of approximately 1 WAL per second.
This is not an issue and is normal behavior for a high-load database. In fact, I have setups where 3-4 WAL files are archived per second, and this is also considered standard system operation.

Check the metrics of the monitoring system, I recommend using pgwatch

Solved by run full backup once:
wal-g backup-push /var/lib/postgresql/17/main/


Support GRAPHCOOL_PROJECT environment variable as alternative to .graphcoolrc

 Issue by schickling
Thursday Sep 07, 2017 at 19:54 GMT
Originally opened as https://github.com/graphcool/cli/issues/171

In cases where you don't want to commit the .graphcoolrc file to your repository and you need to be able to deploy a project (for example from a CI environment) it would be very helpful to be able to set the GRAPHCOOL_PROJECT environment variable instead to provide the necessary project context (can be either the ID or alias).

This is now called GRAPHCOOL_TARGET and can be provided like this:
export GRAPHCOOL_TARGET=shared-eu-west-1/cj8vn13me00er0147a280yhwn
graphcool deploy #runs without having a .graphcoolrc


UI change behaviour and revamp

The avatar now is assigned based on the
gender tag given. If both gender is provided, deemed as unisex.
Added score bar in case width is small
Delete will set task and score list to unchecked state
close #84
close #86

LGTM, great work on the UI.


(US-17) New Game Creation

Description:
This pull request introduces significant additions to the codebase to implement game creation functionality, specifically catering to the needs of airsoft field owners. Here are the key updates:
Frontend
In NewGame.js, a new component for creating games has been added. This includes form handling for game details such as game name, date, time, and teams. Functions for adding and removing teams, generating random session IDs, and submitting the form have been implemented.
The NewGame.css file has been added to style the new game creation form.
Backend
In cl_game.js, a new method for game creation has been added. This includes data verification and addition of a new game to the database.
In r_game.js, a new route for game creation has been added
Tests
Tests for the game creation functionality have been added in cl_game.test.js and NewGame.test.js. These tests validate the backend game creation process, including data verification and database operations, and the frontend game creation form, including form data handling and submission.

For more information, please refer to the user story description here
How to test:

Navigata to the map list
Navigate to the game list.
Click "Create a new game" to enter the game creation page.
Fill in the game details, add teams, and submit the form.
Check in the database if the match has been correctly added. You should also see the match in the match list
Run the tests in cl_game.test.js and NewGame.test.js to validate the game creation process.

Screenshots

👍 Overall, the implementation aligns with the user story, and the testing approach is comprehensive. Pending the resolution of minor styling aspects, this looks ready for merging.

💡 Improvements & Suggestions:

A minor suggestion is to refine the styling, especially in scenarios where there is no match for a map, and during the display of success/error messages in the popup.
Consider addressing the slight layout changes when messages appear in the popup for a more consistent user experience.

🌟 Positive Aspects:

The user interface for the game creation form is intuitive and user-friendly.
Tests cover a wide range of scenarios, contributing to the robustness of the implemented functionality.


storage: initial EOS support

Make EOS available in:

REANA Kubernetes jobs
REANA interactive sessions

PR group working, tested on reana-dev.cern.ch with:
version: 0.6.0
workflow:
  type: serial
  specification:
    steps:
      - name: testeos
        environment: 'reanahub/reana-demo-atlas-recast-eventselection'
        kerberos: true
        commands:
        - klist
        - cat /eos/user/r/rodrigdi/does-eos-work-with-reana.txt
        - echo "Yes it does :)" > /eos/user/r/rodrigdi/does-eos-work-with-reana.txt
        - cat /eos/user/r/rodrigdi/does-eos-work-with-reana.txt

And the output:
$ reana-client run
$ reana-client logs -w workflow
JOB LOGS
job id: 85119571-e16a-43db-8516-103f79ae90f8
krb5:

job:
 Ticket cache: FILE:/krb5_cache/krb5_1000
Default principal<EMAIL_ADDRESS>
Valid starting     Expires            Service principal
12/06/19 16:54:01  12/07/19 17:54:01<EMAIL_ADDRESS>        renew until 12/11/19 16:54:01

job id: 4d6e4c6d-1c91-4c1e-add1-b38d9cf1d57d
krb5:

job:
 I don't know :/

job id: adc4da93-cfd9-4b3b-a7ef-cc507e4ea64d
krb5:

job:

job id: ad0d487a-edd2-498c-a9ec-073561d50cc8
krb5:

job:
 Yes it does :)

Looks like the interactive sessions are currently broken there so no chance to try EOS on the Notebook session:
$ reana-client open jupyter -w workflow
Interactive session could not be opened:
(500)
Reason: Internal Server Error
HTTP response headers: HTTPHeaderDict({'Content-Type': 'application/json', 'Date': 'Fri, 06 Dec 2019 15:55:31 GMT', 'Content-Length': '240'})
HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"no kind \"Ingress\" is registered for version \"extensions/v1beta1\" in scheme \"k8s.io/apimachinery/pkg/apis/meta/internalversion/register.go:31\"","code":500}


chore: Fix typo in the comment

@fml2 Please sign the Contributor License Agreement!
Click here to manually synchronize the status of this Pull Request.
See the FAQ for frequently asked questions.

@fml2 Thank you for signing the Contributor License Agreement!

@fml2 This project will soon reach EOL. Please see the announcement for further details.
I'm going to close this PR as only security fixes can be merged at this time.


Almost half of tests failing

Current Behavior
106+141 tests failing out of 531:
https://http.fs.neo.org/7ZVSQHtioVRiDT2btN9xEmQhczXV9vryCEAHUawfD8Sc/10-/index.html
Expected Behavior
Green. Some parts of the API are known to be unsupported:
https://github.com/nspcc-dev/neofs-s3-gw/blob/master/docs/aws_s3_compat.md
While some can be bugs.
Possible Solution
Suppress unsupported things, create issues for problems in supported cases.

All tests that were without special marks (fails_on_aws/fails_on_dbstore) were analyzed, relevant bugs were opened. For special marks, additional issues were opened.


Ensure wide images work with makeAspectCrop

Fixes #142

Thanks virgofx, will take a look when I’m back in a couple of days


A schema with a UDT fails: "cannot create schema: missing definition of column 'complex_type'"

Gemini version:
$ docker container ls | grep -i gemini
ee3fbbdb369b   scylladb/hydra-loaders:gemini-v1.8.4

The schema used the following UDT (as used in attached zip as well):
schema5.json.gz
				{
					"name": "t2",
					"type": {
						"type_name": "udt_672245080",
						"frozen": true,
						"coltypes": {
							"udt_672245080_0": "varchar",
							"udt_672245080_1": "smallint"
						}
					}
				}

Got a failure of:
[schema5.json.gz](https://github.com/scylladb/gemini/files/11959620/schema5.json.gz): [map[string]interface {}]map[coltypes:map[udt_672245080_0:varchar udt_672245080_1:smallint] frozen:true type_name:udt_672245080]: validation failed
Error: cannot create schema: missing definition of column 'complex_type': [map[string]interface {}]map[coltypes:map[udt_672245080_0:varchar udt_672245080_1:smallint] frozen:true type_name:udt_672245080]: validation failed

Might require an additional dict parameter here - "complex_type": "udt". retesting it with:
				{
					"name": "t2",
					"type": {
						"type_name": "udt_672245080",
						"frozen": true,
						"complex_type": "udt",
						"value_types": {
							"udt_672245080_0": "varchar",
							"udt_672245080_1": "smallint"
						}
					}
				}

Looks like it is able to run this way -
Seed:                   69
Maximum duration:       5m0s
Warmup duration:        1m0s
Concurrency:            2
Test cluster:           [<IP_ADDRESS>]
Oracle cluster:         []
Output file:            /gemini_result_eee59651-51cc-4e17-91ee-c68c930cb8b9.log
Schema: {
    "keyspace": {
        "replication": {
            "class": "SimpleStrategy",
            "replication_factor": 1
        },
        "oracle_replication": {
            "class": "SimpleStrategy",
            "replication_factor": 1
        },
        "name": "gemini"
    },
    "tables": [
        {
            "name": "data1",
            "partition_keys": [
                {
                    "type": "int",
                    "name": "pk"
                }
            ],
            "clustering_keys": [
                {
                    "type": "int",
                    "name": "ck"
                }
            ],
            "columns": [
                {
                    "type": "uuid",
                    "name": "n"
                },
                {
                    "type": "timestamp",
                    "name": "t"
                },
                {
                    "type": {
                        "complex_type": "udt",
                        "value_types": {
                            "udt_672245080_0": "varchar",
                            "udt_672245080_1": "smallint"
                        },
                        "type_name": "udt_672245080",
                        "frozen": true
                    },
                    "name": "t2"
                }
            ],
            "known_issues": null
        },
        {
            "name": "data2",
            "partition_keys": [
                {
                    "type": "int",
                    "name": "pk1"
                },
                {
                    "type": "int",
                    "name": "pk2"
                }
            ],
            "clustering_keys": [
                {
                    "type": "int",
                    "name": "ck1"
                },
                {
                    "type": "int",
                    "name": "ck2"
                }
            ],
            "columns": [
                {
                    "type": "bigint",
                    "name": "a"
                },
                {
                    "type": "blob",
                    "name": "b"
                },
                {
                    "type": "text",
                    "name": "c"
                },
                {
                    "type": "date",
                    "name": "d"
                },
                {
                    "type": "varchar",
                    "name": "e"
                }
            ],
            "known_issues": null
        }
    ]
}
{"L":"INFO","T":"2023-07-06T06:19:45.355Z","N":"generators","M":"starting partition key generation loop"}
{"L":"INFO","T":"2023-07-06T06:19:45.380Z","N":"warmup cycle","M":"start jobs"}
{"L":"INFO","T":"2023-07-06T06:19:45.380Z","N":"warmup cycle.warmup","M":"starting warmup loop"}
{"L":"INFO","T":"2023-07-06T06:19:45.380Z","N":"warmup cycle.warmup","M":"starting warmup loop"}
{"L":"INFO","T":"2023-07-06T06:19:45.380Z","N":"generators","M":"starting partition key generation loop"}
{"L":"INFO","T":"2023-07-06T06:19:45.380Z","N":"warmup cycle.warmup","M":"starting warmup loop"}
{"L":"INFO","T":"2023-07-06T06:19:45.380Z","N":"warmup cycle.warmup","M":"starting warmup loop"}
{"L":"INFO","T":"2023-07-06T06:20:45.382Z","N":"warmup cycle","M":"jobs time is up, begins jobs completion"}
{"L":"INFO","T":"2023-07-06T06:20:45.382Z","N":"warmup cycle.warmup","M":"ending warmup loop"}
{"L":"INFO","T":"2023-07-06T06:20:45.383Z","N":"warmup cycle.warmup","M":"ending warmup loop"}
{"L":"INFO","T":"2023-07-06T06:20:45.383Z","N":"warmup cycle.warmup","M":"ending warmup loop"}
{"L":"INFO","T":"2023-07-06T06:20:45.383Z","N":"warmup cycle.warmup","M":"ending warmup loop"}
{"L":"INFO","T":"2023-07-06T06:20:45.383Z","N":"work cycle","M":"start jobs"}
{"L":"INFO","T":"2023-07-06T06:20:45.383Z","N":"work cycle.validation_job","M":"starting validation loop"}
{"L":"INFO","T":"2023-07-06T06:20:45.383Z","N":"work cycle.mutation_job","M":"starting mutation loop"}
{"L":"INFO","T":"2023-07-06T06:20:45.383Z","N":"work cycle.validation_job","M":"starting validation loop"}
{"L":"INFO","T":"2023-07-06T06:20:45.383Z","N":"work cycle.mutation_job","M":"starting mutation loop"}
{"L":"INFO","T":"2023-07-06T06:20:45.383Z","N":"work cycle.validation_job","M":"starting validation loop"}
{"L":"INFO","T":"2023-07-06T06:20:45.384Z","N":"work cycle.mutation_job","M":"starting mutation loop"}
{"L":"INFO","T":"2023-07-06T06:20:45.384Z","N":"work cycle.validation_job","M":"starting validation loop"}
{"L":"INFO","T":"2023-07-06T06:20:45.384Z","N":"work cycle.mutation_job","M":"starting mutation loop"}
~
~
~


feat(lint): add noDocumentCookie rule

Summary

Implement unicorn/no-document-cookie
Close #3940
There are a few differences from the original rule.

No support for bracket notation Support at https://github.com/biomejs/biome/pull/4204/commits/a0ec05fff78ed2337eca5a0ad8f9207d7208432b, but the following case is not supported

document["cookie"] = "foo=bar"; // supported
document["coo" + "kie"] = "foo=bar"; //  not supported

No tracking of assignments to variables

const doc = document;
doc.cookie = "foo = bar";

Test Plan

Added tests and snapshots

I've updated the rule to support basic bracket notation, but more complex cases are not supported at this time.
For example
document["cookie"] = "foo=bar"; // supported
document["coo" + "kie"] = "foo=bar"; //  not supported

Looking at the original rule's test case, it appears that more complex scenarios are addressed.
However, I believe that there are not many cases like this, so I do not think it is necessary to handle them.
What are your thoughts on this?"

Could you rebase this and rerun codegen to fix the merge conflicts?


Make syncType less prone to caching invalid values

Writing this workup item after a call with transformation services team
Problem
Calling getters on the transformer such as :

provenanceDb
provenanceSourceDb
isForwardSync
isReverseSync

Would lock in incorrect values if they were called too early. This is because a property 'isSynchronization' needs to be set to true before the syncDirection is accurately determined.
We had a few potential solutions:
Solution 1
use a private property to make sure that processAll / processChanges has been called before accessing provenanceDb / provenanceSourceDb getters. Throw error if not.
Problems:

services team could easily set this private property if they wanetd.

Solution 2
Add hooks / callbacks that would be called on events such as onTransformerInitialized.

prov db and sync getters would be removed, but that information would be passed ot the callbacks.

Problems:

callbacks make consumers dependent on the order they're called in

Solution 3
Pass to transformer ctor additional options:
iSsynchronization: boolean. processAll and processChanges will be merged into one process() method
initialize would be moved into function which is responsibility of consumers to call. Then it shoudl be safe to access provenanceDb/sourceDb/ syncDirection.
Open Questions

Does transformation services ever set isSynchronization to true during a processAll?
Is there such thing as a processAll reverseSync? If isSynchronization is false, which it is in processAll. then that defauslt to assuming a forward sync.
If consumer fails to call initialize, should we call it for them in the process function?

Solution 3 from vilius seems the best, we should proceed with that.

Answers to the open Questions;
Does transformation services ever set isSynchronization to true during a processAll?

No. We only do that when we are going to call processChanges and want to call initialize before that.

Is there such thing as a processAll reverseSync? If isSynchronization is false, which it is in processAll. then that defauslt to assuming a forward sync.

Reverse synchronization is always a change processing workflow on our side.

If consumer fails to call initialize, should we call it for them in the process function?

From our perspective, I would rather have it manually invoked only and have the transformer throw something like a "NotInitializedError" if we forgot to do it. Reason for that being is that initialize will be a complex and heavy operation, and the transformer might even add elements into iModels when you call it. I wouldn't want such a thing be implicitly called, and the user should understand it and call it explicitly. Similar to "I agree with terms and conditions" Accept button


namelists should point to config_private.xml

Currently they all point to DLR version of configuration file.

Duplicate of #10

This has been addressed in docker branch.

Agree it's the duplicate. Closing and moving discussion to #10


Add php 7.4

Tool information

Tool name: php 7.4
Add or update? Add
Desired version: 7.4
Approximate size:
If this is an add request:

Brief description of tool: Latest stable version of php
URL for tool's homepage: https://www.php.net/manual/fr/migration74.php

Area for Triage: PHP
Question, Bug, or Feature?: Feature
Virtual environments affected

[ ] macOS 10.15
[ ] Ubuntu 16.04 LTS
[x] Ubuntu 18.04 LTS
[ ] Windows Server 2016 R2
[ ] Windows Server 2019

Can this tool be installed during the build?
Not sure tho
Are you willing to submit a PR?
I'm not yet knowing the actions well enough, maybe later :)

FYI, the PR for this has been merged few days ago. It should land in the first week of january.

This issue is now resolved as I tested & validated new 7.4 containers, thanks you ❤

@Geolim4 you did? How? I don't see the php 7.4 binary available yet on ubuntu-latest

@zoispag Probably by using its own docker images or using https://github.com/shivammathur/setup-php.

@Lctrs that's what I thought. Thanks


Legend for shape is not visible with color and size

Cannot see all the three legends for the following spec.
{
  "marktype": "point",
  "encoding": {
    "x": {"name": "Origin","type": "O"},
    "y": {"name": "Cylinders","type": "O"},
    "size": {"name": "Displacement","type": "Q"},
    "color": {"name": "Horsepower","type": "Q"},
    "shape": {"bin": {"maxbins": 15},"name": "Miles_per_Gallon","type": "Q"}
  },
  "config": {"singleHeight": 400,"singleWidth": 400,"largeBandMaxCardinality": 20},
  "data": {"url": "data/cars.json"}
}

Removing either of the color or size brings up legend for shape.

Thanks for reporting issues.
This is actually a vega-life issue.  Also, it is redundant with https://github.com/uwdata/vega-lite/issues/131 so I'm closing this for now.  #131 is in the roadmap and will be fixed once we migrate to vega2.


cannot start qollama.exe dlls not found

i am under windows 10 x64, when i start qollama.exen
i have errors messages : dlls not found :
python312.dll
libc++.dll
libunwind.dll
libc++.dll
can you tell me where to find these correct DLLs (right version, x64 or x32...)
i try a lot of versions but it doesn't work, shall i install QT 6.3 to have these DLLS ?
thank you

Can you compile successfully?

I just downloaded the file qollama.7z from github, i dont have the QT library on my PC.

ok, I will update the zip file with lacked dll.

@lbarasc  done

ok thank you, but i don't see the new file qollama.7z with the dll ?

I didn't found these dlls also in my computer.
So I recompile and upload new files.
You can try again. It not work, pls show more error messages like screenshots.


Revert the reaper fix since it has been fixed in libcontainer

This needs some investigations and tests, but I think that libcontainer has been fixed by https://github.com/opencontainers/runc/pull/1506 and that we don't need this commit anymore https://github.com/clearcontainers/agent/commit/56aca9119aa6d181b7e9660e93e9343a53072fd1

@sboeuf - should your PR reference this?  or, is this a duplicate that can  be closed?

duplicate that can be closed.


Team based sports are more exciting for spectators

because there's more uncertainty.  but teams competing with each other based on what exactly? kindof feels meaning less to just average their dunedin peaces. maybe teams should form based on their respective strategies?

Teams are formed to share resources


Add Wisdom Tracker to Historian Sheet

Changes / Comments

Adding a tracker for the Historian character specific resource called Wisdom.
Also a minor spelling error is fixed on line 10167(pre-wisdom)/10169(post-wisdom).

Roll20 Requests
Comments are very helpful for reviewing the code changes. Please answer the relevant questions below in your comment.

[X] Does the pull request title have the sheet name(s)? Include each sheet name.

It should but if it doesn't it is "Legacy - Life Among the Ruins/LegacyRoll20sheets.html"

[ ] Is this a bug fix?
[X] Does this add functional enhancements (new features or extending existing features) ?

Historian character specific resource tracking added

[ ] Does this add or change functional aesthetics (such as layout or color scheme) ?
[ ] If changing or removing attributes, what steps have you taken, if any, to preserve player data ?
[ ] If this is a new sheet, did you follow Building Character Sheets standards ?

If you do not know English. Please leave a comment in your native language.

Character Sheet Info Roll20 Internal Use only.

@Deshaun-bit Please ensure in future that the sheet name is provided in the PR title. I've added it for you in this instance.


[Feature Request] Tasker Integration

It would be great if there was a tasker plugin that would make automatic creation of tasks with Tasker and Tasker reactions to existing tasks possible.

Hi, I also like the idea of an tasker integration.
Is the status the same as two years ago?


pkgs/pantheon: tries to pick up themes correctly

Description of changes
Motivated by #163623
Things done

[x] I am using 22.05.20220317.39ea66b on my laptop
Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[x] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

@ofborg test pantheon

Looks like there is https://www.githubstatus.com/incidents/sksd097hm0y5 :face_exhaling:

@ofborg eval
@ofborg test pantheon

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

57 packages built:

monitor
pantheon-tweaks
pantheon.appcenter
pantheon.elementary-calculator
pantheon.elementary-calendar
pantheon.elementary-camera
pantheon.elementary-code
pantheon.elementary-feedback
pantheon.elementary-files
pantheon.elementary-greeter
pantheon.elementary-gsettings-schemas
pantheon.elementary-mail
pantheon.elementary-music
pantheon.elementary-onboarding
pantheon.elementary-photos
pantheon.elementary-screenshot
pantheon.elementary-session-settings
pantheon.elementary-shortcut-overlay
pantheon.elementary-tasks
pantheon.elementary-terminal
pantheon.elementary-videos
pantheon.gala
pantheon.sideload
pantheon.switchboard
pantheon.switchboard-plug-a11y
pantheon.switchboard-plug-about
pantheon.switchboard-plug-applications
pantheon.switchboard-plug-bluetooth
pantheon.switchboard-plug-datetime
pantheon.switchboard-plug-display
pantheon.switchboard-plug-keyboard
pantheon.switchboard-plug-mouse-touchpad
pantheon.switchboard-plug-network
pantheon.switchboard-plug-notifications
pantheon.switchboard-plug-onlineaccounts
pantheon.switchboard-plug-pantheon-shell
pantheon.switchboard-plug-power
pantheon.switchboard-plug-printers
pantheon.switchboard-plug-security-privacy
pantheon.switchboard-plug-sharing
pantheon.switchboard-plug-sound
pantheon.switchboard-plug-wacom
pantheon.switchboard-with-plugs
pantheon.wingpanel
pantheon.wingpanel-applications-menu
pantheon.wingpanel-indicator-a11y
pantheon.wingpanel-indicator-bluetooth
pantheon.wingpanel-indicator-datetime
pantheon.wingpanel-indicator-keyboard
pantheon.wingpanel-indicator-network
pantheon.wingpanel-indicator-nightlight
pantheon.wingpanel-indicator-notifications
pantheon.wingpanel-indicator-power
pantheon.wingpanel-indicator-session
pantheon.wingpanel-indicator-sound
pantheon.wingpanel-with-indicators
wingpanel-indicator-ayatana


Can't find resource mahapps.styles.button.flat

Hi, I am developing an app as a CAD extension. My view are called by a classlibrary and I am getting trouble as soon as I use some button control saying "can't find resource mahapps.styles.button.flat".
My view app loos like this:
<Application.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Controls.xaml" />
                <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Controls.Buttons.xaml" />
                <!--<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Controls.FlatButton.xaml" />-->
                <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Controls.FlatButton.xaml" />
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
    </Application.Resources>

My test window looks like this:
<mah:MetroWindow x:Class="ELPROCADTestWPFView.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:mah="clr-namespace:MahApps.Metro.Controls;assembly=MahApps.Metro"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:ELPROCADTestWPFView"
        mc:Ignorable="d"
        Title="MainWindow" Height="450" Width="800">

    <Grid>
        <mah:SplitButton Width="100" Height="100"
                         Foreground="Red"/>
                <Button Style="{StaticResource MahApps.Styles.Button.Flat}"
                        Width="50" Height="50"
                        Foreground="Red"/>
            </Grid>
</mah:MetroWindow>

Also my classlib is referencing Mahapps.Metro....
When running just the MetroWindow without any button controls it works just fine.
Best Regards
Magnus Eriksson

@Mager66 Hi Magnus, to use the flat Button style you don't need to add the Buttons or FlatButton resources. Normaly this should work:
<Application x:Class="SampleApp"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             StartupUri="MainWindow.xaml">
  <Application.Resources>
    <ResourceDictionary>
      <ResourceDictionary.MergedDictionaries>
        <!-- MahApps.Metro resource dictionaries. Make sure that all file names are Case Sensitive! -->
        <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Controls.xaml" />
        <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Fonts.xaml" />
        <!-- Theme setting -->
        <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Themes/Light.Blue.xaml" />
      </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
  </Application.Resources>
</Application>

https://mahapps.com/docs/guides/quick-start#mahapps-build-in-styles-and-themes
It could be that you don't have an App, if so then you must add the resources to every Window of your extension.
Another trick is to use the DynamicResource instead StaticResource, because the resources will maybe are loaded later.

@Mager66 I’m closing this for now. This probably means that it is not reproducible or it has been fixed in a newer version.
Please reopen if you still encounter this issue with the latest stable version and then please use the issue template.
You can also create a simple app with exactly this one issue and put it on GitHub, in most cases this is the fastest way to see what's going wrong.
Thank you! 🙏


feat(storage): Support composite primary keys

Aims to solve #384, #385.
Still need to handle composite primary keys in BTreeMapMemTable, submitting for early feedback as there may be some other things I've got wrong about the code base.

@danipozo Maybe you need to implement cargo fmt

would you please rebase to main + fmt? thanks a lot!

would you please rebase to main + fmt? thanks a lot!

Done!


SQL Server: text and ntext bug (DDL)

We mustn't use max length for text and ntext data types.

verified


fix: Add tests to check lazy matching is applied and that the string …

…"h1" is not matched

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] All the files I changed are in the same world language (for example: only English changes, or only Chinese changes, etc.)
[x] My changes do not use shortened URLs or affiliate links.

Closes #38190

Thanks, @AshNaz87.  LGTM.
@moT01 assuming the tests pass I think this can be merged.


feat: KongUpstreamPolicy accepted condition

What this PR does / why we need it:

Which issue this PR fixes:

Fixes #4932
Special notes for your reviewer:

PR Readiness Checklist:
Complete these before marking the PR as ready to review:

[ ] the CHANGELOG.md release notes have been updated to reflect any significant (and particularly user-facing) changes introduced by this PR

I created some follow-up issues to this one to avoid having is a gigantic PR

Before merging, I think we should cover the reconciler with envtests to verify the status is populated as expected. We could also cover all the added helpers with unit tests (I'd highly encourage to do so).

Here is an issue about adding integration tests: https://github.com/Kong/kubernetes-ingress-controller/issues/5292. In addition to that, I'll add some unit tests for the helpers in this PR. Does it sound good to you?

Another important point is that KongUpstreamPolicy might be attached not only to Services that are used as HTTPRoutes' backends, but also with any other Gateway API Route that we support and netv1.Ingress as well. I suggest we create a separate issue to handle all other Routes and Ingress references similarly to how we handle HTTPRoute in this PR.

And here is the issue about checking the ingress: https://github.com/Kong/kubernetes-ingress-controller/issues/5293

The implementation seems to assumpted that HTTPRoute is always present in the cluster, but gateway API are not installed by default so there is possibility that HTTPRoute does not exist in the cluster. I am not sure if this will cause unexpected behavior such as controller crash or endless reconcilng loop.

The controller does not start unless the gateway API is installed in the cluster, as it is wrapped by the dynamicCRDcontroller https://github.com/Kong/kubernetes-ingress-controller/blob/4ee9eff13e69b6f71bef5ec5970d8480e9e257cc/internal/manager/controllerdef.go#L254-L274


nostr package part 2

Implemented the outline I presented in the previous PR. There is enough functionality now to start setting up an automated test suite, which is my plan for the next PR.

Build error:

23:26:21.466 | $ tsc
-- | --
23:26:28.958 | src/raw.ts(6,50): error TS2307: Cannot find module './nostr' or its corresponding type declarations.


bicep publish should have an --immutable option

Is your feature request related to a problem? Please describe.
bicep publish does not lock down the published module, which enables it to be overwritten. This is dangerous in CI/CD pipelines that consume from the registry automatically. Imagine a bad actor overwriting a widely consumed module in the registry to add themselves as User Access Administrator
Currently, I am handling this in our CI/CD process by running Update-AzContainerRegistryTag immediately after publishing.
Describe the solution you'd like
bicep publish .\mybicep.bicep --target myacr.azurecr.io/mybicep:v1.2.3 --immutable would set the -DeleteEnabled $False -WriteEnabled $False on the published tag and verify the module tag is writable before attempting to publish.
reference:
Container Registry Image Lock
Update-AzContainerRegistryTag

This is a duplicate of #4757 - which takes the alternative approach of blocking overwriting by default. I'll copy this comment into the description of that issue so we can compare the two suggestions.


[Bug] Some Amount values are showing as negative.

Bug report
I am having a weird issue where a very small amount of numbers are getting displayed incorrectly, consistently. You can see it here: https://api.thegraph.com/subgraphs/name/cinjon/research-portfolio-v1-goerli/ and in the attached screenshots. It's a minority of amounts and I don't see any rhyme or reason to them. This is one such amount: 0xf9f1da88f9710aaaaa. Another is 0x8ed3584e45652aaaaa. They are not the largest amounts, so I think that rules out it being an overflow. I posted on the Discord and Jerry helpfully suggesting posting here instead. This is using @graphprotocol/graph-ts: 0.29.3.

The query is below. Notice it's not happening if we use this accountAddress: 0x6849db46b51E825bc1469C93D039D044eD31d158. It has a different amount.
query accountBalances($accountAddress: Bytes!, $block: Block_height) {
  account(id: $accountAddress, block: $block) {

	ERC20Reservations(where: {claimed: false}) {
		ERC20Contract {
			id
			totalSupply {
				value
				valueExact
			}
			decimals
			asResearch {
				minter {
					id
				}
				researchIdentifier
			}
			name
			symbol
		}
		ERC20Distributor {
			id
		}
		amount
		claimed
	}

  }
}

Here's the associated GQL:
,{
  "name": "ERC20ReservationForAccount",
  "fields": [
    { "name": "ERC20Distributor",     "type": "ERC20Distributor!"                                   },
    { "name": "ERC20Contract",        "type": "ERC20Contract!"                                      },
    { "name": "index",                "type": "BigInt!"                                             },
    { "name": "account",              "type": "Account!"                                            },
    { "name": "claimed",              "type": "Boolean!"                                            },
    { "name": "amount",               "type": "BigInt!"                                             },
    { "name": "proof",                "type": "[String!]"                                           }
  ]
},

And here is where it's declared in the datasource:
      log.info("for account", []);
      let reservationAccountAddress = Address.fromString(
        reservationKeySplit[1]
      );
      let reservation = new ERC20ReservationForAccount(
        distributor.id.toHexString() +
          "/" +
          reservationIndex.toBigInt().toHexString()
      );
      let reservationAmountByteArray = Bytes.fromUint8Array(
        ByteArray.fromHexString(reservationAmount.toString()).reverse()
      );
      let amount = BigInt.fromByteArray(reservationAmountByteArray);
      reservation.amount = amount;

Relevant log output
No response
IPFS hash
QmQR58w8qSBY6EYaznuPrSCGa8UjwcCun1BHUF6oN6ePUF
Subgraph name or link to explorer
https://thegraph.com/hosted-service/subgraph/cinjon/research-portfolio-v1-goerli
Some information to help us out

[ ] Tick this box if this bug is caused by a regression found in the latest release.
[ ] Tick this box if this bug is specific to the hosted service.
[X] I have searched the issue tracker to make sure this issue is not a duplicate.

OS information
None

hey @cinjon you are doing quite a lot of transformations to calculate the amount:
let reservationAmountByteArray = Bytes.fromUint8Array(
        ByteArray.fromHexString(reservationAmount.toString()).reverse()
      );
      let amount = BigInt.fromByteArray(reservationAmountByteArray);
      reservation.amount = amount;

Why is this required, and where does reservationAmount come from? Do the non-negative values of amount look correct / is there any way of verifying what the values should be?

Thanks for replying @azf20. All of the values are correct. The problem is that we are getting the decimal from a signed 2's complement and that's failing for some values. See the attached screenshot for an example.
The reservationAmount comes from a manifest object, where the manifest is a json hosted at ipfs, e.g. the one here: https://ipfs.io/ipfs/bafkreibtut5iow2pvdy4xnurcadtvzp3igz4cuu3sc34t57kwcdubuzc24. See below for the code to yield that reservationAmount.
What's the recommended way to do this conversion from hex to decimal in TheGraph's assemblyscript?
  // parse as JSON, iterate over entries
  let manifestParsed = json.fromBytes(manifestData).toObject();
  if (manifestParsed === null) {
    return;
  }

  let reservations = manifestParsed.get("claims");
  if (reservations === null) {
    return;
  }

  let reservationsObject = reservations.toObject();
  if (reservationsObject === null) {
    return;
  }

  let reservationEntries = reservationsObject.entries;
  for (let i: i32 = 0; i < reservationEntries.length; ++i) {
    // add Reservation for each entry
    let entry = reservationEntries[i];
    let reservationKey = entry.key;
    let reservationKeySplit = reservationKey.split("/");

    let reservationValue = entry.value;
    let reservationObject = reservationValue.toObject();
    if (reservationObject == null) {
      continue;
    }
    let reservationIndex = reservationObject.get("index");
    let reservationAmount = reservationObject.get("amount");
...

hey @cinjon you should be able to use parseInt on the hex

Closing, please re-open if that doesn't work for you!


Put a more sane log-level as default for weave-npc

The debug value prints out ALOT in the log file and i'm sure most users will get a chock the first time they open it not expecting debug to be on by default

This is really "do you want anyone to be able to debug what went wrong"?
We need the debug info to do that.
#3183 will cut it down by 50-60%.
Still, why warning and not info ?

@bboreham you are right. it should be "info", mental fart on my side.
I welcome #3183 but still believe that DEBUG should be something toggled by the user when needed.
My main concern was that it was printing env variables and args etc in the logs but as i can see from #3183 that a lot of this will be removed to trim the size.


[flutter-tools] pass files to analyze #96231

https://github.com/flutter/flutter/issues/96231
"analyze" command only accepted directories now you can pass files to it

@Jasguerrero you will have to rebase upstream in order to get the updated names of the tool_integration_tests. This is a breaking change I made to the infrastructure unrelated to your test. Rebasing will be something like git fetch upstream && git rebase upstream/master.


[APP-6981] - fix persisting scroll to bottom button

Description
If the user's message list meets both "scrolled to top" and "scrolled to bottom" criteria, its going to prioritize "scrolled to top", which is a problem because then we can't get rid of the scroll to bottom button.
Test Plan

Insert just enough content to reach the size of the message list container height. Verify that the scroll to bottom button is not present.

Can you fix up PR description formatting? Looks like you're list "Test plan" section.


Set sourceJar.from=allSource for modules/spock

Fixes issue #2280
By default, sourceJar.from = allJava (see gradle/publishing.gradle)
But Spock module is in Groovy
=> sourceJar.from should be allGroovy/allSource

Released in 1.13.0! Thanks for the contribution @pertu  😃


Organization images not showing up properly in Tasking Manager project display

Bug description
What is happening?
Either no organizational image or a broken link is showing up in the project tile displays.
See here: https://tasks.openhistoricalmap.org/explore

Console...

What should be happening?
Nice organizational images (or at least, org names) should be displayed on the tiles.
Kinda like this: https://tasks.hotosm.org/explore

@danrademacher , This is a frontend issue, The website can not find wiki.openstreetmap.org/wiki/File:Ohm_logo_small.png it shoudl be  https://wiki.openstreetmap.org/w/images/e/e6/Ohm_logo_small.png, I am not sure if the image url can be customized  in the task creation process?  in other case we need to customize the code.

@Rub21 just granted admin access on this repo to all members of ohm_site_devs, so you should have that now

oh wait, that was Github! Now I see what you asked. Lemme see if I have admin rights in Tasking Manager myself!

Admin granted:

Also updated that URL:

And the logo is loading:

OK, so the bad OHM logo is fixed via admin panel. the "missing" WikiWar items are just because they don't have a logo, though interesting that over at HOT's TM, their logo-less tiles are the same height. But that's definitely a front-end issue!

let's deprioritize this, given the obvious image link fix...


Gradle error

Adding the following line causes the gradle error:
compile group: 'com.cloudant', name: 'cloudant-sync-datastore-android-encryption', version:'latest.release'

11:01:45 PM Gradle sync started
11:01:46 PM Gradle sync completed
11:01:46 PM Executing tasks: [:app:assembleDebug]
11:02:11 PM Gradle build finished with 1 error(s) in 24s 682ms

I can't make out the error from the information you've provided. Have you included Maven Central in your list of repositories?

This is my complete build.grade file:
apply plugin: 'com.android.application'

repositories {
    mavenLocal()
    mavenCentral()

    maven { url "http://cloudant.github.io/cloudant-sync-eap/repository/" }
}

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        applicationId "csci567.csu.path2friend"
        minSdkVersion 21
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.1.1'
    compile 'com.android.support:design:23.1.1'
    compile group: 'com.ibm.mobilefirstplatform.clientsdk.android', name:'googleauthentication', version: '2.+', ext: 'aar', transitive: true
    compile 'com.jakewharton:butterknife:7.0.1'
    compile group: 'com.cloudant', name: 'cloudant-sync-datastore-android-encryption', version:'latest.release'
}

The error message is displayed when I try to build and run the app. But for some reason when doing a Gradle sync, no errors are reported.

Can you provide the output from running the  gradle build on the command line with the -i option?

Here is the output with the -i flag:
FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'.
> com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK META-INF/NOTICE.txt
  	File1: /Users/CSU/.gradle/caches/modules-2/files-2.1/commons-io/commons-io/2.4/b1b6ea3b7e4aa4f492509a4952029cd8e48019ad/commons-io-2.4.jar
  	File2: /Users/CSU/.gradle/caches/modules-2/files-2.1/commons-codec/commons-codec/1.10/4b95f4897fa13f2cd904aee711aeafc0c5295cd8/commons-codec-1.10.jar

* Try:
Run with --stacktrace option to get the stack trace. Run with --debug option to get more log output.

Something about duplicate files being added ...

To fix this issue, I added the following exceptions to the cradle file:
packagingOptions {
        exclude 'META-INF/NOTICE.txt'
        exclude 'META-INF/LICENSE.txt'
    }

Doing this solved my Issue ...


Update AppleVoiceUnity.cs

appended "-kill" to the stop function command to force the killing.

Thanks, I had this in the pipeline :)


Updated and improved DeepLakeIndexDemo.ipynb

Description
Cleaned up the Deeplake example code:

Update errors in code such as .hash instead of .doc_hash and not relying on wget
Better explain what is going on in the steps
Fix spelling/grammar
-Remove invalid and/or unnecessary step output

Type of Change
Please delete options that are not relevant.

[X] Documentation notebook update

How Has This Been Tested?
Locally executed the updated notebook end-to-end

[X] I stared at the code and made sure it makes sense

Suggested Checklist:

[X] I have performed a self-review of my own code
[X] I have commented my code, particularly in hard-to-understand areas
[X] I have made corresponding changes to the documentation
[ ] I have added Google Colab support for the newly added notebooks.
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] I ran make format; make lint to appease the lint gods

Yea looks fine to me. Just curious, whats wrong with wget ?