Triage new slang-test/WGPU failures

There are 103 failures in total

tests/autodiff-dstdlib/dstdlib-abs.slang
tests/autodiff/bug-1.slang
tests/autodiff/custom-intrinsic.slang
tests/autodiff/diff-ptr-type-call.slang
tests/autodiff/diff-ptr-type-loop.slang
tests/autodiff/diff-ptr-type-smoke.slang
tests/autodiff/existential-1.slang
tests/autodiff/existential-2.slang
tests/autodiff/global-param-hoisting.slang
tests/autodiff/material/diff-bwd-falcor-material-system.slang
tests/autodiff/material2/diff-bwd-falcor-material-system.slang
tests/autodiff/matrix-arithmetic-fwd.slang
tests/autodiff/reverse-loop-checkpoint-test.slang
tests/bindings/nested-parameter-block-2.slang
tests/bindings/nested-parameter-block-3.slang
tests/bugs/atomic-coerce.slang
tests/bugs/buffer-swizzle-store.slang
tests/bugs/dxbc-double-problem.slang
tests/bugs/frexp-double.slang
tests/bugs/frexp.slang
tests/bugs/generic-type-duplication.slang
tests/bugs/gh-2959.slang
tests/bugs/gh-3980.slang
tests/bugs/gh-471.slang
tests/bugs/gh-518.slang
tests/bugs/gh-566.slang
tests/bugs/inf-float-literal.slang
tests/bugs/mutating/resource-specialization-inout.slang
tests/bugs/nested-switch.slang
tests/bugs/obfuscate-specialization-naming.slang
tests/bugs/op-assignment-unify-mat.slang
tests/bugs/shadowed-lookup.slang
tests/bugs/specialize-function-array-args.slang
tests/bugs/static-var.slang
tests/bugs/user-attribute-lookup.slang
tests/compute/atomics-buffer.slang
tests/compute/atomics-groupshared.slang
tests/compute/atomics.slang
tests/compute/buffer-type-splitting.slang
tests/compute/cbuffer-legalize.slang
tests/compute/column-major.slang
tests/compute/compile-time-loop.slang
tests/compute/constant-buffer-memory-packing.slang
tests/compute/constexpr.slang
tests/compute/discard-stmt.slang
tests/compute/func-cbuffer-param.slang
tests/compute/func-param-legalize.slang
tests/compute/func-resource-param.slang
tests/compute/interface-shader-param-in-struct.slang
tests/compute/interface-shader-param.slang
tests/compute/kernel-context-threading.slang
tests/compute/loop-unroll.slang
tests/compute/matrix-layout.hlsl
tests/compute/non-square-column-major.slang
tests/compute/non-square-row-major.slang
tests/compute/parameter-block.slang
tests/compute/row-major.slang
tests/compute/texture-get-dimensions.slang
tests/compute/texture-sampling.slang
tests/compute/texture-simple.slang
tests/compute/texture-simpler.slang
tests/compute/transcendental-double.slang
tests/hlsl-intrinsic/byte-address-buffer/byte-address-struct.slang
tests/hlsl-intrinsic/classify-double.slang
tests/hlsl-intrinsic/classify-float.slang
tests/hlsl-intrinsic/matrix-float.slang
tests/hlsl-intrinsic/matrix-int.slang
tests/hlsl-intrinsic/sampler-feedback/compute-sampler-feedback.slang
tests/hlsl-intrinsic/scalar-double-simple.slang
tests/hlsl-intrinsic/scalar-float.slang
tests/hlsl-intrinsic/vector-float.slang
tests/hlsl/packoffset.slang
tests/ir/string-literal-hash.slang
tests/language-feature/anonymous-struct.slang
tests/language-feature/constants/constexpr-loop.slang
tests/language-feature/constants/static-const-in-generic-interface.slang
tests/language-feature/enums/nested-enum.slang
tests/language-feature/enums/strongly-typed-id.slang
tests/language-feature/generics/irwarray.slang
tests/language-feature/generics/parameter-block-unify.slang
tests/language-feature/generics/tuple.slang
tests/language-feature/generics/variadic-0.slang
tests/language-feature/generics/variadic-void.slang
tests/language-feature/higher-order-functions/simple.slang
tests/language-feature/inheritance/struct-inheritance.slang
tests/language-feature/shader-params/entry-point-uniform-params-implicit.slang
tests/language-feature/shader-params/entry-point-uniform-params.slang
tests/language-feature/shader-params/interface-shader-param-ordinary.slang
tests/language-feature/swizzles/matrix-swizzle-write-array.slang
tests/language-feature/swizzles/matrix-swizzle-write-single.slang
tests/language-feature/swizzles/matrix-swizzle-write-swizzle.slang
tests/language-feature/swizzles/matrix-swizzle-write.slang
tests/language-feature/tuple/tuple-parameter.slang
tests/language-feature/types/opaque/inout-param-opaque-type-in-struct.slang
tests/language-feature/types/opaque/inout-param-opaque-type.slang
tests/language-feature/types/opaque/out-param-opaque-type-in-struct.slang
tests/language-feature/types/opaque/out-param-opaque-type.slang
tests/language-feature/types/opaque/return-opaque-type-in-struct.slang
tests/language-feature/types/opaque/return-opaque-type.slang
tests/metal/groupshared-threadlocal-same-parameter.slang
tests/optimization/func-resource-result/func-resource-result-complex.slang
tests/optimization/func-resource-result/func-resource-result-simple.slang
tests/pipeline/compute/compute-system-values.slang

The task is to categorize these and assign issues to discuss and address them, creating new issues as needed.

'inff' float literal: https://github.com/shader-slang/slang/issues/5280

tests/bugs/inf-float-literal.slang

Binding missing from bind group layout: https://github.com/shader-slang/slang/issues/5222

tests/autodiff/global-param-hoisting.slang
tests/bindings/nested-parameter-block-2.slang
tests/compute/cbuffer-legalize.slang
tests/compute/column-major.slang
tests/compute/constant-buffer-memory-packing.slang
tests/compute/func-cbuffer-param.slang
tests/compute/interface-shader-param-in-struct.slang
tests/compute/interface-shader-param.slang
tests/compute/kernel-context-threading.slang
tests/compute/loop-unroll.slang
tests/compute/matrix-layout.hlsl
tests/compute/matrix-layout.hlsl
tests/compute/non-square-column-major.slang
tests/compute/non-square-column-major.slang
tests/compute/non-square-row-major.slang
tests/compute/parameter-block.slang
tests/compute/parameter-block.slang
tests/compute/row-major.slang
tests/compute/row-major.slang
tests/hlsl/packoffset.slang
tests/language-feature/generics/parameter-block-unify.slang
tests/language-feature/inheritance/struct-inheritance.slang
tests/language-feature/shader-params/entry-point-uniform-params.slang
tests/language-feature/tuple/tuple-parameter.slang

Capability for numerical types: https://github.com/shader-slang/slang/issues/4947

tests/bugs/buffer-swizzle-store.slang
tests/bugs/op-assignment-unify-mat.slang
tests/compute/transcendental-double.slang
tests/hlsl-intrinsic/matrix-int.slang

Finite array of runtime-sized arrays: https://github.com/shader-slang/slang/issues/5221#issuecomment-2407202272 (TODO: follow up on thread and decide whether to file separate issue for this)

tests/compute/buffer-type-splitting.slang

Intel vkCreateDevice crash: https://github.com/shader-slang/slang/issues/5275

tests/bugs/atomic-coerce.slang
tests/bugs/frexp-double.slang
tests/bugs/frexp.slang
tests/bugs/generic-type-duplication.slang
tests/bugs/gh-3980.slang
tests/bugs/shadowed-lookup.slang
tests/hlsl-intrinsic/classify-double.slang
tests/hlsl-intrinsic/classify-float.slang
tests/hlsl-intrinsic/matrix-float.slang
tests/hlsl-intrinsic/scalar-double-simple.slang
tests/language-feature/higher-order-functions/simple.slang
tests/language-feature/swizzles/matrix-swizzle-write-array.slang
tests/language-feature/swizzles/matrix-swizzle-write-single.slang
tests/language-feature/swizzles/matrix-swizzle-write-swizzle.slang
tests/language-feature/swizzles/matrix-swizzle-write.slang
tests/pipeline/compute/compute-system-values.slang

Mismatching values in autodiff tests: https://github.com/shader-slang/slang/issues/5290

tests/autodiff/matrix-arithmetic-fwd.slang
tests/autodiff/reverse-loop-checkpoint-test.slang

Nested structures in entry point IO: https://github.com/shader-slang/slang/issues/5226

tests/compute/compile-time-loop.slang
tests/compute/constexpr.slang

No texture_1d_array type: https://github.com/shader-slang/slang/issues/5223

tests/compute/texture-get-dimensions.slang
tests/compute/texture-sampling.slang
tests/compute/texture-simple.slang

Marked by slang-test as passing, but clearly have errors output: https://github.com/shader-slang/slang/issues/5291

tests/bugs/gh-2959.slang
tests/bugs/gh-471.slang
tests/bugs/static-var.slang
tests/language-feature/anonymous-struct.slang
tests/language-feature/constants/static-const-in-generic-interface.slang
tests/language-feature/enums/nested-enum.slang
tests/language-feature/enums/strongly-typed-id.slang
tests/language-feature/generics/irwarray.slang
tests/language-feature/generics/tuple.slang
tests/language-feature/generics/variadic-0.slang
tests/language-feature/generics/variadic-void.slang
tests/language-feature/shader-params/entry-point-uniform-params-implicit.slang
tests/metal/groupshared-threadlocal-same-parameter.slang

Passing runtime-sized arrays: https://github.com/shader-slang/slang/issues/5228

tests/autodiff/diff-ptr-type-call.slang
tests/autodiff/diff-ptr-type-loop.slang
tests/autodiff/diff-ptr-type-smoke.slang
tests/bindings/nested-parameter-block-3.slang
tests/bugs/gh-518.slang
tests/bugs/gh-566.slang
tests/bugs/obfuscate-specialization-naming.slang
tests/bugs/specialize-function-array-args.slang
tests/compute/func-param-legalize.slang
tests/compute/func-resource-param.slang
tests/compute/kernel-context-threading.slang
tests/language-feature/shader-params/interface-shader-param-ordinary.slang
tests/language-feature/types/opaque/inout-param-opaque-type-in-struct.slang
tests/language-feature/types/opaque/inout-param-opaque-type.slang
tests/language-feature/types/opaque/out-param-opaque-type-in-struct.slang
tests/language-feature/types/opaque/out-param-opaque-type.slang
tests/language-feature/types/opaque/return-opaque-type-in-struct.slang
tests/language-feature/types/opaque/return-opaque-type.slang

Semantics:  https://github.com/shader-slang/slang/issues/4940

tests/compute/texture-simpler.slang

Signed-unsigned comparison: https://github.com/shader-slang/slang/issues/5262

tests/autodiff/bug-1.slang

Unexpected IR opcode: https://github.com/shader-slang/slang/issues/5263

tests/autodiff/custom-intrinsic.slang

Unfilterable-float sampler used to filter: https://github.com/shader-slang/slang/issues/5227

tests/compute/discard-stmt.slang

Uniform elements with stride less than 16: https://github.com/shader-slang/slang/issues/4985

tests/compute/non-square-row-major.slang

WGSL: Emitting<PHONE_NUMBER> as 'i32': https://github.com/shader-slang/slang/issues/5286

tests/ir/string-literal-hash.slang
tests/ir/string-literal.slang

WGSL: Initialize signed int with unsigned int: https://github.com/shader-slang/slang/issues/5283

tests/hlsl-intrinsic/byte-address-buffer/byte-address-struct.slang

WGSL: Runtime-sized array as return value: https://github.com/shader-slang/slang/issues/5288

tests/optimization/func-resource-result/func-resource-result-simple.slang

WGSL: Ternary operator emitted: https://github.com/shader-slang/slang/issues/5289

tests/autodiff-dstdlib/dstdlib-abs.slang

WGSL: missing return: https://github.com/shader-slang/slang/issues/5282

tests/hlsl-intrinsic/scalar-float.slang
tests/hlsl-intrinsic/vector-float.slang

WGSL: pointer formed to texture: https://github.com/shader-slang/slang/issues/5278

tests/bugs/mutating/resource-specialization-inout.slang

WGSL: texture_2d used as an element type of an array: https://github.com/shader-slang/slang/issues/5279

tests/bugs/dxbc-double-problem.slang
tests/optimization/func-resource-result/func-resource-result-complex.slang

emitStructFieldAttributes crash: https://github.com/shader-slang/slang/issues/5264

tests/autodiff/existential-1.slang
tests/autodiff/existential-2.slang
tests/autodiff/material/diff-bwd-falcor-material-system.slang
tests/autodiff/material2/diff-bwd-falcor-material-system.slang

nullptr deref in ShaderObjectImpl::writeSamplerDescriptor: https://github.com/shader-slang/slang/issues/5277

tests/bugs/user-attribute-lookup.slang

slang-test assert on usePassthru: https://github.com/shader-slang/slang/issues/5276

tests/bugs/texture2d-gather.hlsl

slang-test: cannot access as blob: https://github.com/shader-slang/slang/issues/5284

tests/hlsl-intrinsic/sampler-feedback/compute-sampler-feedback.slang

switch without default: https://github.com/shader-slang/slang/issues/5281

tests/bugs/nested-switch.slang

texturesamplelevel offset must be const: https://github.com/shader-slang/slang/issues/5287

tests/language-feature/constants/constexpr-loop.slang


fix: allow sympy.Number to be used as bounds

Both variable and constraint bounds can now be set to sympy.Number types

Current coverage is 78.55% (diff: 100%)

Merging #35 into devel will increase coverage by 0.18%

@@              devel        #35   diff @@
==========================================
  Files             7          7
  Lines          2145       2145
  Methods           0          0
  Messages          0          0
  Branches        458        458
==========================================
+ Hits           1681       1685     +4
+ Misses          386        384     -2
+ Partials         78         76     -2

Powered by Codecov. Last update 5860afc...c83929c


How to set the default permissions 777 for uploaded files.

How  on uploaded files via FTP are set to 644 permissions and user:group 48:48

I decided it.
-v /etc/setup/vsftpd.conf:/etc/vsftpd.conf
` ... local_umask = 000 `


fix: added GitHub repo social image to each card

What type of PR is this? (check all applicable)

[x] 🐛 Bug Fix

Description

This PR replaces the previous placeholder image of each card with the corresponding repository social image that will be generated by Github. Also, I removed the actions buttons at the bottom as suggested by @bdougie and placed the upvote button at the top right corner of the card at the same line where the contributor's avatars are located. Only the PostGrid file was changed for this PR
Related Tickets & Documents

Fixes #17
Mobile & Desktop Screenshots/Recordings

Added tests?

[x] 🙅 no, because they aren't needed

Added to documentation?

[x] 🙅 no documentation needed

Hi @0-vortex
I believe this PR is much better now and we can focus on the current issue at hand. Is there any way you can help with how I can do to resolve the Netlify failed tests
I checked the build logs and this is the error message there
11:26:45 PM: Error: The package "esbuild-linux-64" could not be found, and is needed by esbuild.
11:26:45 PM: If you are installing esbuild with npm, make sure that you don't specify the
"--no-optional" flag. The "optionalDependencies" package.json feature is used
11:26:45 PM: by esbuild to install the correct binary executable for your current platform.

Thank you once again for your time


Suppress some previously deprecated methods from API docs

Housekeeping PR to hide some fully-deprecated (i.e., erroring out) methods from our API docs. I also standardized some of the messages and reformatted a few to show up better in the AST-based inv show-deprecations helper.

Could also be convinced that it's time to remove a couple of these fully, but I think it's friendly to keep the errors around for a while in case people try to revive old code (or use an LLM with a stale knowledge base or something).

@prbot approve (docs changes only)

Nice. Some of these are super old and we can probably remove them at this point!


Move Symbol shims into single file.

Considering we're shimming Symbol and items on it frequently, I think it would be best to move it into a single file.
That would make this:
import {$$iterator} from '../utils/Symbol_iterator';
import {$$observable} from '../utils/Symbol_observable';

const something = {
  [$$iterator]() { }
  [$$observable]() { }
};

... into this...
import {Symbol} from '../utils/Symbol';

const something = {
  [Symbol.iterator]() { }
  [Symbol.observable]() { }
};

Typesciprt side support of es6 global symbol (https://github.com/Microsoft/TypeScript/issues/980) makes bit hard to use module name Symbol, causes name collision in es6 build like
192   [Symbol.iterator]() {
       ~~~~~~
src/operators/zip-support.ts(192,4): error TS2470: 'Symbol' reference does not refer to the global Symbol constructor object.

while other (cjs, etcs) are built. What about having different name for this module, maybe SymbolPolyfill or something else?
p.s :
seems global symbol is supported for es6 only, using those global symbol and targeting es5 will simply raise lookup failure.
161   [Symbol.iterator]() {
       ~~~~~~
src/operators/zip-support.ts(161,4): error TS2304: Cannot find name 'Symbol'.

Sigh. TypeScript. LOL. We may have to go back to using Babel to target ES5.
TypeScript also doesn't allow generators in code targeting ES5. Which isn't a big issue so far, but I've hit it playing around.


Reconsider serialization approach

What motivated this proposal?
Currently, publish and subscribe API is rather opaque in terms of serialization.
When publishing some already serialized data (e.g. byte[], Memory<byte>, ReadOnlyMemory<byte>), clients have the following options:

Pass byte[] as data to PublishAsync<T>()
Wrap binary data in ReadOnlySequence<byte> and pass it to PublishAsync()
Pass binary data to PublisAsync<T>() and provide a custom serializer in NatsPubOpts that can handle the type.

The problem here is that code such as follows compiles, but fails at runtime:
public async Task Foo(NatsConnection conn){
    Memory<byte> bytes = new byte[32];
    await conn.PublishAsync("some.subject", bytes);
}

That is because the generic overload of PublishAsync is chosen which then calls into NatsJsonSerializer which doesn't handle [ReadOnly]Memory<byte>. byte[] works because the JSON serializer apparently handles it, but it is at least weird to call into a JSON serializer to copy some byte array.
See https://github.com/nats-io/nats.net.v2/pull/136 for illustration of the problem.
What is the proposed change?
I think there are two options to improve the situation here:

Provide overloads for commonly used types that would be preferred during overload resolution, i.e.

public interface INatsConnection {
+    ValueTask PublishAsync(string subject, byte[] payload, NatsHeaders? headers = default, string? replyTo = default, NatsPubOpts? opts = default, CancellationToken cancellationToken = default);
+    ValueTask PublishAsync(string subject, Memory<byte> payload, NatsHeaders? headers = default, string? replyTo = default, NatsPubOpts? opts = default, CancellationToken cancellationToken = default);
+    ValueTask PublishAsync(string subject, ReadOnlyMemory<byte> payload, NatsHeaders? headers = default, string? replyTo = default, NatsPubOpts? opts = default, CancellationToken cancellationToken = default);
}

Distinguish the generic PublishAsync overload by forcing clients to provide an ISerializer<T> explicitly, remove NatsPubOpts.Serializer, and have a single overload which handles byte[] and [ReadOnly]Memory<byte>, i.e.

public record NatsPubOpts
{
-    public INatsSerializer? Serializer { get; init; }
}

+ public interface ISerializer<T> {
+    int Serializer(IBufferWriter bufferWriter, T object);
+ }

public interface INatsConnection {
-    ValueTask PublishAsync<T>(string subject, T? data, NatsHeaders? headers = default, string? replyTo = default, NatsPubOpts? opts = default, CancellationToken cancellationToken = default);
+    ValueTask PublishAsync<T>(string subject, T? data, ISerializer<T> serializer, NatsHeaders? headers = default, string? replyTo = default, NatsPubOpts? opts = default, CancellationToken cancellationToken = default);
+    ValueTask PublishAsync(string subject, ReadOnlyMemory<byte> data, NatsHeaders? headers = default, string? replyTo = default, NatsPubOpts? opts = default, CancellationToken cancellationToken = default)
}

Personally, I'd prefer 2., since it avoids overload resolution issues in the future and makes it explicit that a serializer is required. It is also more AOT friendly.
NB: I have never really understood the motivation for having a connection wide serializer in NATS clients.
Subscriptions could use a similar approach.
Who benefits from this change?
Users wouldn't observe runtime exceptions for code that compiles. Possibly better performance when not invoking JSON serializer for byte[].
What alternatives have you evaluated?
No response

This is excellent @jasper-d we were discussing serialization of bytes types in slack recently. (If you're not already on we'd love you to have you on https://slack.nats.io #dotnet channel btw)
We've been also discussing with @caleblloyd as well and I think we're pretty much on the same page with you with your option 2. Some questions if I may add to the discussion:

Do we want to remove the default serializer from the connection? Would that cause inconvenience for applications where there is only one serializer used especially greenfield apps.
Should we introduce a method on the connection to swap the serializer when needed e.g. INatsConnection.WithSerializer(INatsSerializer)?
Should we have a somewhat smart serializer / chain of serializer (like a mini serializer framework) to detect the type and do the right thing for 'bytes[]', 'Memory, etc. binary types and also maybe string`?

It's be great if we can have a good discussion as a community and reach a consensus.

Was thinking something along the lines of this-
Get rid of:

ValueTask PublishAsync(string subject, ReadOnlySequence<byte> payload = default, ...
ValueTask<INatsSub> SubscribeAsync(string subject ...

Make a BytesSerialzier that handles ReadOnlySequence<byte>, ReadOnlyMemory<byte>, byte[]
This way any of the Byte types will work without having to add an overload for each specific byte type.
For chainable serializers, was thinking something like this:

Data Format
Serailzier

Bytes and JSON (default)
new BytesSerialzier(new JSONSerializer())

Bytes and Strings
new BytesSerialzier(new StringSerializer())

Just Bytes
new BytesSerialzier()

I think there are two main design goals here:

Doing what users expect (that is, only serialize things that need to be)
Performance (avoid work/allocations that doesn't need doing)

[1] can be solved with overloads (targeting more types and/or using distinct method names). I'm not sure I like the idea of having bytes passing through a serializer to produce bytes, even if it is a no-op. It'll also be non-obvious (from the method signature) that it'll actually work.
I'd vote to keep the Serializer option on NatsOps, as that has better ergonomics and discoverability than having to set or pass it separately. I'm also not convinced that there is a use case where someone would want to change their serializer for a connection after creating it (but if it does they can easily create a new connection instead).
[2] As for performance, I think it is important to try to guide folks in the right direction. If the underlying code consuming the data has a preference (span, sequence, array, stream) that will be faster or less allocatey to use, then it should be easy for people to discover that this exists.
That may not be easy if all the overloads have the same method name, but it can be mitigated with docs and code comments (for intellisense). However, if different names are acceptable it becomes possible to group them a bit by behavior:

PublishAsync (preferred/fast methods)
PublishModelAsync (for serializable stuff)
PublishRawAsync (for various other byte/text formats that cannot be directly consumed)
This makes it obvious that the methods have different behaviors.

Overloading works on the Publish methods because a param types can be overloaded.  It does not  work for Subscribe though because the only difference is the return type.
So if we want to support the same byte types consistently on Publish and Subscribe in a similar manner, it will either need to be done with Separate Method names or via Generics for all of these methods:

INatsConnection.PublishAsync
INatsConnection.SubscribeAsync
INatsConnection.RequestAsync
INatsConnection.RequestManyAsync
NatsJSConsumer.ConsumeAllAsync
NatsJSConsumer.ConsumeAsync
NatsJSConsumer.NextAsync
NatsJSConsumer.FetchAllAsync
NatsJSConsumer.FetchAsync

Some good reading for potential byte return types in addition to byte[] that folks may want to use from Subscribe/Consume:
https://learn.microsoft.com/en-us/dotnet/standard/memory-and-spans/memory-t-usage-guidelines

So if we want to support the same byte types consistently on Publish and Subscribe in a similar manner, it will either need to be done with Separate Method names or via Generics for all of these methods:

I don't really have a preference here, as long as the end result is performant and does the expected thing :)

see also https://github.com/nats-io/nats.net.v2/pull/140#issuecomment-1747307102

Sorry, I'm slow to respond. And apologies, this is going to become a wall of text.

Do we want to remove the default serializer from the connection? Would that cause inconvenience for applications where there is only one serializer used especially greenfield apps.

Given that I never used the encoded connection in nats.net v1, I would vote for that. I find the global serializer is a extremely hard to discover API (it's not apparent from IntelliSense that it even exists).
It fails at runtime instead of compile time because it's not type safe, and it does not compose when one needs to support more than one message type or add support for more types later on.
In addition, I don't think that the currently used default serializer can be made trim safe (c.f. #92).

Should we introduce a method on the connection to swap the serializer when needed e.g. INatsConnection.WithSerializer(INatsSerializer)?

I see great potential for concurrency issues and hard to debug bugs.

new BytesSerialzier(new StringSerializer())

What encoding would StringSerializer use?

I made some changes (incomplete, but core and js compile), just to get a better feeling for possible API changes.
Serialization:
Serialization is done using Action<T, IBufferWriter<byte> because I believe that has the best ergonomics. It doesn't compile if no serializer is given and IntelliSense/API docs will immediately tell a user to pass a serializer. It also works quite well with a number of serialization implementations and avoids boilerplate.
E.g. when serializing Protobuf (using Google's implementation) one would just need to pass (obj, bw) => obj.WriteTo(bw).
String serialization would be just as simple: (str, bw) => Encoding.ASCII.GetBytes(str, bw).
S.T.J is slightly more involved because of the disposable Utf8JsonWriter and the three parameter it needs (https://github.com/nats-io/nats.net.v2/compare/main...jasper-d:jasper-d/serialization#diff-d22e1e76d04ff13d307301f8a762b8e01e37b8171d22af8c9ac2eb174c685338R9-R29).
Returning void from the serializer (instead of the number of written bytes) makes it easier for clients to implement serialization delegates (neither Google Protobuf nor STJ serializers return the length). Instead, the length can be determined at the call-site of the serialization delegate.
For byte[], Memory<byte> and ReadOnlyMemory<byte> I added an overload for PublishAsync as an example here: https://github.com/nats-io/nats.net.v2/commit/61864dbe4d4d3091b020a401475a9e690c627004
ByRef-like types such as [ReadOnly]Span<byte> don't work with this design because they can't be used as generic arguments. I don't think that's too bad though, because their contents would need to be copied to the heap as soon as we hit an async path anyway.
If something like https://github.com/nats-io/nats.net.v2/pull/140#issuecomment-1747307102 is implemented, special handling for ReadOnlySpan<byte> could be added.
Deserialization
Deserialization looks slightly different, mainly because I opted to put the serializer into (now generic) NatsSubOpt<T>. I wanted to try it but I don't like the asymmetry, find it hard to discover and the parameter reordering is more than just unfortunate.
I don't see problems with return types, because the return type is T in NatsSubOpt<T>.
The deserializer itself is Func<IMemoryOwner<byte>, T>. As an alternative, we could pass ReadOnlyMemory<byte> to it, which would be nicer for consumers.
Either is different from the current implementation that takes a ROS<byte>.
The relational here is that copying the payload to a temporary buffer is (almost) guaranteed to increase receive throughput because after copying the buffer serialization can happen outside the receive loop, instead of waiting here:
https://github.com/nats-io/nats.net.v2/blob/caada52729ec0ab1e73f06c1c63e9130c01f789b/src/NATS.Client.Core/Internal/NatsReadProtocolProcessor.cs#L209C1-L209C1
Using IMemoryOwner instead of ROM enables buffer pooling. The idea is essentially the same as outlined in https://github.com/nats-io/nats.net.v2/pull/140#issuecomment-1747307102 for transmit.
However, it puts the burden of disposing the owner on the (client provided) deserializer, which I don't like.
On the other hand, it's not too bad as long as the underlying pool implementation does not leak when failing to return buffers (IIRC that's true for Array/MemoryPool).
Other stuff:

Passing the serializer explicitly brings use one step close to removal of NatsPubOpt (unless there are plans to put other stuff into it). I have an implementation that is not very different from this client, but avoids the need for WaitUntilSent and ErrorHandler. I will open an issue to discuss the design once I find some time.

I tried to change some nullability annotations on generic parameters. I don't think all of those changes are correct, but the idea is that the caller should be able to specify nullability of types. An example of how this affects the API is in the JS API.

I'm a bit worried that the changes I made exacerbate generic expansion, simply because there are more generic types and none of the type arguments are constrained to reference types. This is only a problem when using value types as type arguments, but would deserve some investigation (especially wrt to NAOT and binary size).
Apart from that issue, the changes should resolve all trim/NAOT warnings.

Just watching this great discussion from afar and wanted to jump in with a very specific nitpick:

However, it puts the burden of disposing the owner on the (client provided) deserializer, which I don't like.
On the other hand, it's not too bad as long as the underlying pool implementation does not leak when failing to return buffers (IIRC that's true for Array/MemoryPool).

There's an excellent blog post here that walks through some of the differences between ArrayPool and MemoryPool. The notable one for this discussion is MemoryPools hand you an IMemoryOwner, which is disposable while an ArrayPool straight up hands you an array you are expected to Return(). The blog post talks about how this is a feature, as IMemoryOwner ends up being a heap allocation every time you need a new one. Allocation-less tight loops of small buffers will be impacted by the overhead of IMemoryOwner, so will drift towards ArrayPools.
The MSDN link for ArrayPool.Rent makes this tradeoff clear:

This buffer is loaned to the caller and should be returned to the same pool using the Return method, so that it can be reused in subsequent calls to the Rent method. Failure to return a rented buffer is not a fatal error. However, it may lead to decreased application performance, as the pool may need to create a new buffer to replace the lost one.

You're correct that it will not leak memory, but it may leak performance when the intention of the API surface is to be performant.
This comment isn't setting up an expectation of an allocation-free NATS client or anything. Just wanted to make sure the decisions made here are respecting the performance intent of these APIs 🙂

I have a few questions. (partly because of my lack of understanding -need to deep dive at some point, partly to shape the design)

Is there an implementation of IBufferWriter<byte> we can use, or do we need to implement one?

When using ArrayPool are we suggesting GC to take care of the Return? If not how/when do we ensure the buffer is returned?

Only IMemoryOwner is offering a contract to explicitly return the buffer (via Dispose) which works great for Publish but I can't see an available option for Subscribe, something like IBufferWriter doesn't have a Dispose for example.

Have a look at the new NatsMemoryOwner implementation https://github.com/nats-io/nats.net.v2/blob/main/src/NATS.Client.Core/NatsMemoryOwner.cs Does that alleviate GC concerns for you?

Is there an implementation of IBufferWriter we can use, or do we need to implement one?

I think there are quite a lot, many of them private though. A public one I know is Sequence from Nerdbank.Streams. The general pattern is to have IBufferWriter<T> create a linked list of ReadOnlySequenceSegment<T> segments which can than be used to construct a ReadOnlySequence<T>.

When using ArrayPool are we suggesting GC to take care of the Return? If not how/when do we ensure the buffer is returned?

I think for publishing it's straight forward. Much like now, serializers can write to an IBufferWriter implementation (that would rent memory and construct sequence segments) and once the buffers are copied to the socket (or an intermediate buffer for that matter) they can be "freed" (e.g. returned to pool) by us.
GC is only the stop-gap. It won't return the buffer, but eventually collect them just like any other ordinary memory that has no live references pointing to it.

When receiving messages (i.e. subscriptions) IMemoryOwner works fine.

I agree, it works perfectly fine. The only concern I have is that it works best only as long as clients consuming the memory (e.g. deserializing the buffer) are properly disposing it afterwards.
If they don't, no pooling will happen and performance will be somewhat worse than directly allocating buffers (e.g. new byte[]) without any pooling.
On the other hand, clients which don't dispose an IMemoryOwner are breaking the contract, so one could argue it's their fault. If that is an API that is easy enough to use is the maintainers call to make ;)

Have a look at the new NatsMemoryOwner implementation https://github.com/nats-io/nats.net.v2/blob/main/src/NATS.Client.Core/NatsMemoryOwner.cs Does that alleviate GC concerns for you?

Any implementation of IMemoryOwner will cause an allocation. I don't think it's that bad though.
For publishing, we can avoid it entirely and safely pool our buffers (i.e. ReadOnlySequenceSegments). It would only fail if a client holds on to a buffer after calling IBufferWriter.Advance which is just very wrong.
For subscriptions we would need to instantiate a IMemoryOwner, but right now there are a lot of allocations happening anyway, so one allocation more won't hurt that much (at the same time we most likely avoid one allocation by pooling the underlying buffer). The non-generic NatsMsg could actually double as an IMemoryOwner, avoiding any extra allocations in that case.

Please have a quick look at #171 for the proposed solution.

cc: @renkman You might be interested in this too.


[Fixes 1816] Adding direct deep-links into Google Cloud Shell that also clones a git repo.

Fixes #1816

After talking with @blueandgold , we're going to close this and the underlying Issue out.


Daily update

Automated changes by create-pull-request GitHub action

Build failed because of:
no headquarter addresses for consensys-health at https://www.crunchbase.com/organization/consensys-health
No cached entry, and Sollers College has issues with twitter: https://twitter.com/SollersEdu, 401 - {"request":"/1.1/statuses/user_timeline","error":"Not authorized."}
Empty twitter for CSIRO/DATA 61: https://twitter.com/CSIROnews
Empty twitter for IOTA Foundation: https://twitter.com/iotatoken
No cached entry, and Volkswagen Aktiengesellschaft has issues with twitter: https://twitter.com/volkswagen_de, 401 - {"request":"/1.1/statuses/user_timeline","error":"Not authorized."}
Empty twitter for TYNYBAY Inc: https://twitter.com/tynybayinc
Empty twitter for Tectonic Labs Ltd.: https://twitter.com/cloud_ridge
Empty twitter for Truepic, Inc.: https://twitter.com/truepicinc
Empty twitter for SVA System Vertrieb Alexander GmbH: https://twitter.com/SvaGmbh
Empty twitter for eBaoTech International Pte Ltd: https://twitter.com/Ebaotech
Empty twitter for China Telecommunications Corporation: https://twitter.com/chinatelecom1
ConsenSys Health either has no crunchbase entry or it is invalid


Allow uploading of multiple files

Uploading multiple files in one go, e.g. as zipped, would be a simple addition to make working with file resources more efficient.
The auto detected file settings could even be created without human intervention as they can be changed manually later on at any time.

Thanks Markus, sounds reasonable for cases where the user needs to upload a bunch of files.
Related #1928


If GUI size greater than window size, cursor coord space is incorrect

Results in cursor drift on mouse capture. Easy to reproduce with test case by setting initial game window to larger than monitor height, which will result in GUI height greater than window height
If this is not fixable/worth fixing perhaps handle in __input_release_multimonitor_cursor, rename appropriately

https://github.com/JujuAdams/Input/commit/c511841abf39f80ee74f8accc360e69f667fdcea


Bit flags, winapi, cleanup and v0.17 release

TODO:

[x] GL
[x] dx11
[x] metal
[x] vulkan (err...)

Alright, this is really tedious, esp the winapi-0.3 update of dx11 stuff... Should be ready now (as long as CI is happy, I tested it manually as well).

bors r=msiglreith

bors r=msiglreith


Adding target option

This adds a target option to the parallel function calls. For CUDA:
JACC.parallel_for(CUDABackend(), N, axpy, alpha, x_device_JACC, y_device_JACC)

The GPU packages provide these backends. JACC then defines ThreadsBackend() in addition to those.
Doing it this way should resolve precompilation error, while also resolving https://github.com/JuliaORNL/JACC.jl/issues/56 . In addition, there is no need to set preferences anymore and the various backends can be used concurrently in a code. Also no need for a JACC.Array type. This tries to imitate the target offload pragma of OpenMP.
@PhilipFackler Let me know if there are any further issues with this solution.
Edit: These backends are also used by KernelAbstractions (except ThreadsBackend(), of course), so it would be easy now to write, for example, some GPU kernels in KA that don't require backend-specific functionality.

@michel2323 thanks for adding this. I think we need to discuss offline as the changes remove JACC's public API portability across vendors for the same code. Am I seeing this right?

@michel2323 thanks for adding this. I think we need to discuss offline as the changes remove JACC's public API portability across vendors for the same code. Am I seeing this right?

I wouldn't say so? In how far? At some point, you have to pick a backend. But the same is true for OpenMP. In Julia you can do this at runtime.

If your code only uses one backend, say CUDA, you could have a setup.jl where the user has to pick the packed. Or you could load all backend packages (CUDA.jl, AMDGPU.jl,...) and see which one is functional() (see tests). I think this is great in case you have a mix of AMD and NVIDIA GPUs on one system, for example.

Ah, I see what you mean maybe: the array types CuArray are vendor specific. But there Julia provides already a wonderful solution with the Adapt package that also all backends support.
x = zeros(10)
dx = adapt(backend, x)

So in the case where backend=CUDABackend(), dx will be of type CuArray and you never have to (nor should) use the vendor specific types.

I think this is great in case you have a mix of AMD and NVIDIA GPUs on one system

This is mostly a corner case that very rarely comes up, so we should focus on portable code across different vendors. I agree it's a nice to have, but enforcing a specific back end in the public API should be optional (maybe should be a macro?) for corner cases not the rule.
The back end selection follows Preferences.jl just like MPIPreferences.jl, so user code calling JACC (like those in tests) doesn't need to be touched from parallel_for(BackendX, ...) to parallel_for(BackendY,...), especially in code with several calls to parallel_for. In fact, they only need to set LocalPreferences and add an "import XBackend". We can discuss offline.

The argument would be a variable backend. If you want, you can make it a global variable or have a default based on what backend is functional. I don't think it's such a corner case since one has at least host and device backends available, and I doubt one wants to run everything on a device.

I doubt one wants to run everything on a device

For those cases, the user should rely on Julia regular Arrays and CPU (host) if it's not worth porting, JACC is very targeted for performance portable code pieces.

The argument would be a variable backend. If you want, you can make it a global variable or have a default based on what backend is functional.

That's what JACCPreferences sets, but via LocalPreferences, see this line.  The least vendor/system info is exposed to the targeted users (domain scientists) the better.

Let me add an example code:
# code in a setup jl or run by the user before running his code
using CUDA

if CUDA.functional()
    backend = CUDABackend()
else
    backend = ThreadsBackend()
end

# application code using JACC which is the same accross all vendors

using JACC

function axpy(i, alpha, x, y)
    if i <= length(x)
        @inbounds x[i] += alpha * y[i]
    end
end

x = adapt(backend, x)
y = adapt(backend, y)

for i in 1:11
    @time JACC.parallel_for(backend, N, axpy, alpha, x, y)
end

# Copy to host
x = adapt(ThreadsBackend(),x)
y = adapt(ThreadsBackend(),y)

So the difference is whether to set preferences or set it in a setup.jl. The preferences solution breaks precompilation with the current API https://github.com/JuliaORNL/JACC.jl/issues/53 . I don't know how else to resolve that.

The difference between MPI and the GPU backends is that MPI has the same API across all implementations and the same array types are passed in. For the GPUs that's different.

Another stab at it. This defines a default_backend.
using JACC
# "Default backend is ThreadsBackend()"
println_default_backend()
using CUDA
# "Default backend is CUDABackend()"
println_default_backend()

And then there are parallel methods that pass this down. Of course, if multiple GPU packages are loaded by the user, this will pick whatever extension was compiled last.
Sorry, I really don't know how else to resolve the precompilation issue with Preferences.

And now with Preferences support too. So the breaking change is that JACC.Array is gone. That is still the difficult bit as you cannot dispatch on JACC.Array with all backends and have precompilation working.

@michel2323 thanks, see discussion in #53 . I am asking @PhilipFackler how to reproduce the error as it's not showing in the current CI. I'd rather keep the public API as simple as possible since back ends can be handled internally and weak dependencies should provide the desired separation.

Ideally users should not deal with any detail in the code other than memory allocation and parallel_for and parallel_reduce. Otherwise, there is little advantage in using JACC if the programming model is not that simple (even adapt is too complex for end-users). Today, it works like this:
# Using CUDA triggers weak dependencies JACCCUDA and must match LocalPreferences.toml
using CUDA # the code should work just fine on CPU without this line
using JACC # I don't know if there is a good way to just import a back end here (e.g. CUDA, AMDGPU, etc.)

function axpy(i, alpha, x, y)
    if i <= length(x)
        @inbounds x[i] += alpha * y[i]
    end
end

x = JACC.Array(round.(rand(Float32, N) * 100))
y = JACC.Array(round.(rand(Float32, N) * 100))
alpha = 2.5

for i in 1:11
    @time JACC.parallel_for(N, axpy, alpha, x, y)
end

# Copy to host...perhaps implement JACC.to_host(x) to avoid deep copies on CPU host and device
x_h = Array(x)
y_h = Array(y)

Subsumed by #123


TypeError: expected str, bytes or os.PathLike object, not OutputStream

I've opened issue with all the details here: #831


Implement Modules

A module is a subset of translations. The idea is to store translations in different files and load them when you enter this module. For example you need only text for managing your own content but when you enter the administration area you may need additional text like "CHANGE_USER_QUOTA".
Basically it should be configurable in the TranslateConfig:
import {TranslateConfig, TranslateLoaderJson} from 'angular2-translator';

export const translateConfig = new TranslateConfig({
  defaultLang: 'de',
  providedLangs: ['de', 'en'],
  loader: TranslateLoaderJson,
  loaderConfig: {
    path: 'i18n',
    extension: '-lang.json'
  },
  modules: {
    'admin': {
      path: '{{parent}}/admin',    // default
      extension: '{{parent}}',     // default
    },
    'messages': {} // use defaults
  }
});

To use the module from TranslateService:
import {Component} from "angular2/core";
import {TranslateService} from "angular2-translator";

@Component({
    selector: "my-app",
    template: "<h1>{{ title }}</h1"
})
export class ChangeQuotaComponent {
    public title = 'CHANGE_USER_QUOTA';

    constructor(translate: TranslateService) {
        translate.module('admin')
            .translate(this.title)
            .then((title) => this.title = title);
    }
}

There is still a question how to use the module from component and pipe. I think we will have two options: add this parameter as translate-module="admin" or define it in the component or even in a parent component (I don't know if this is possible).

how to define what we get from parent? maybe another loader gets different parameters?
i think translateserve should not know anything about the configuration itself. it is ':any' and therefore it does not know what is inside.


fix: update to Carbon 11 compatible versions to latest

This PR was automatically generated to update Carbon 11 compatible versions on a regular basis. This is not intended to create any breaking changes, and will be reflected as a minor version bump for affected packages. NB we'll run all tests and do visual verifications, but there is always the opportunity for unexpected regressions. If you're using one of the packages in a stable or production context you may want to check this before taking the next minor version, and do let us know ASAP if you see anything problematic.
The goal is to update to the latest Carbon 11 compatible versions each Friday, to ensure we remain up-to-date with the latest changes (often published on Thursdays) and to ensure interoperability with other packages that also depend on Carbon. We will normally update all other dependencies at the same time to their latest versions, except for specific cases where we have found the updates to be problematic or require further work before they can be used. By using the latest stable version of each dependency we ensure we get fixes and improvements in a timely fashion and reduce the impact of updating the versions that can arise if versions are allowed to become stale for an extended period.
What did you change?
This action ran yarn upgrade:carbon to upgrade all carbon-related packages to the latest versions.
This PR includes the various package.json that pull our dependencies forward to the latest versions, and updates the offline mirror.
How did you test and verify your work?
This PR should not be merged until the following checks have been made:

[ ] A reminder message has been posted onto the ibmproducts-pal-dev Slack channel that a version update PR is going through.
[ ] yarn ci-check runs cleanly and all tests pass (done automatically as part of the PR checks).
[ ] the Netlify deploy-preview has been used to ensure that storybook runs and the main published components render correctly.

Made some minor fixes and minor refactoring in the Datagrid tests.
Querying with parentElement.previousSibling broke because there’s a new wrapper class (.cds--tooltip-trigger__wrapper) around the icon buttons so went looking for a less fragile option. Looks like we can use getByLabelText pretty effectively (corresponds to aria-labelledby), which we use in a few places but not consistently.
Apparently still need to fix this in Toolbar tests though. 🙃
**Only did minimal refactoring in Datagrid.test.js for now — it definitely still needs a lot more work outside of the upgrade scope.


Can't delete a column

There is no UI option for deleting a column in the UI.
Recommend adding a button to the code editor that lets you delete it after a confirmation prompt.

Also referenced in #23


broker: add JournalSpec.Fragment.PathPostfixTemplate

Primary use-case of path postfix templates is to allow for Hive-compatible
partitioning of a journal's fragments on creation time, under the path
already implied by the fragment store prefix & journal name.
Using templates allows for variation in formatting, and allows for other
esoteric use cases (i.e. using journal registers, or current properties
of the JournalSpec).
Issue #238

This change is

(skip past the first commit in review; this PR is rebased upon #230 because they conflict).


luci-mod-dashboard: wireless information is broken/missing

openwrt 22.03.2
in dashboard wireless section there is some missing information. There is no signal bar and no MAC of client. This information is available in default Overview.

openwrt 22.03.2
in dashboard wireless section there is some missing information. There is no signal bar and no MAC of client. This information is available in default Overview.

23.05.0. Xiaomi AX3200 All the same. How did you solve the problem?

This is a dashboard e.g. a panel for a quick overview.
It's must show only generic inflammation.
You can see details on the Network / Wireless page
http://<IP_ADDRESS>/cgi-bin/luci/admin/network/wireless
Here is sources of wifi dashboard for a reference
https://github.com/openwrt/luci/blob/master/modules/luci-mod-dashboard/htdocs/luci-static/resources/view/dashboard/include/30_wifi.js

This is a dashboard e.g. a panel for a quick overview. It's must show only generic inflammation. You can see details on the Network / Wireless page.
We may add a link on the bottom of Wifi section but I think that's not needed.
Please add details of close the issue.

I think what he meant is that the dashboard shows the signal column but it is blank and the information is available in the details. If it is not the objective to show the signal column, then it would be better to remove the column, right? Look the purple selection...

Should look as follows:


Connection Reset by peer (curl http://localhost:8080) : DejectDojo Docker not working

Hello,
I followed the installation step on the documentation
Everything was ok till I tried to access the GUI web application.
It doest not work when I try to access Defectdojo web app
Even when I'm on the server, it does not. I tried with curl http://localhost:8080 and I get Connection Reset by peer
I don't know what to say about the steps to reproduce since I juste followed everything ont the documentation
The host is RHEL 8.3 and firewalld is disabled
Below is the log file
defectdojo logs.txt

What type of install did you do?  godojo/docker-compose/k8s?
Also, there's a decent guide to installing on CentOS/RHEL at https://github.com/DefectDojo/Community-Contribs/tree/master/CentOS-7-deploy

What type of install did you do? godojo/docker-compose/k8s?
Also, there's a decent guide to installing on CentOS/RHEL at https://github.com/DefectDojo/Community-Contribs/tree/master/CentOS-7-deploy

@mtesauro Thank you for you reply
After reading the link you posted, I realized I took somewhat a shortcut.
The computer I installed DejectDojo on is an Air Gapped virtual machine ; so no internet
So here's how I installed it :
1. Download all docker required packages (ex : docker-ce )
2. Install Docker and Docker Compose for airgapped environment as per docker documentation
3. Reconfigure docker to run as Rootless (as per docker documentation)
4. On a separate system, I ran the dc-up.sh and  dc.build.sh so that it can get me all necessary docker images
5. Moved, using a USB, all images from steps 4 into the airgapped environment
6. Load all docker images using docker load command
7. Finally, I simply ran dc-up.sh on the airgapped system
As a result, it worked perfectly the first time. I was able to access DefectDojo web UI. But after a couple of days, the issue started and I could not fix it ; nothing changed in my initial settings though
Here's the guide I followed
https://github.com/DefectDojo/django-DefectDojo/blob/dev/readme-docs/DOCKER.md

I've talked to people that had restricted environments - not airgapped but no public Internet access.  From my recollection, they had some issues with the docker images - I think they did docker save and piped it to gz then used docker load with the resulting  file after piping through gunzip. Something like that.
Anyway, as I recall they had issues with the tagging of the containers getting lost in that process though this doesn't sound like your case.
If you can get docker compose up - I'd suggest looking at the output of docker logs for the various running containers.  Dojo is pretty good about printing decent logs when there are problems.

I've talked to people that had restricted environments - not airgapped but no public Internet access. From my recollection, they had some issues with the docker images - I think they did docker save and piped it to gz then used docker load with the resulting file after piping through gunzip. Something like that.
Anyway, as I recall they had issues with the tagging of the containers getting lost in that process though this doesn't sound like your case.
If you can get docker compose up - I'd suggest looking at the output of docker logs for the various running containers. Dojo is pretty good about printing decent logs when there are problems.

@mtesauro The logs for each container are for the most exactly that I posted in my first post (see attached file)
Nonetheless, I saw this error :

in the mysql container the following error : "Got an error reading communication packets"

Sorry, missed the log file.
Unfortunately, I'm a Posgres user so can't offer much help with MySQL.  Have you asked on #DefectDojo on the OWASP Slack instance?  Details to join are here if you're not joined yet.

Hi @mtesauro can we close this issue as stale?
I guess you should ask in the slack channel @cicode225


telegram /earnings no longer showing daily earnings

Hi,
I frequently check /earnings to keep track of my node on telegram. Today, for the first time, I noticed that the daily earnings is "-", despite many fee-earning forwards today.
The weekly earnings value is present, but it is short by todays earnings.

lncli fwdinghistory --start_time "-1d" --skip_peer_alias_lookup --max_events 1
{
    "forwarding_events":  [
        {
            "timestamp":  "1700321338",
            "chan_id_in":  "874615320612962305",
            "chan_id_out":  "845562924766789634",
            "amt_in":  "2",
            "amt_out":  "1",
            "fee":  "1",
            "fee_msat":  "1000",
            "amt_in_msat":  "2502",
            "amt_out_msat":  "1502",
            "timestamp_ns":  "1700321338975766852",
            "peer_alias_in":  "",
            "peer_alias_out":  ""
        }
    ],
    "last_offset_index":  1
}

what does /version show

should be fixed now

yep, seems fixed. thanks!


Created and Completed User Rating Model

Description
Hooray, Oje can update his user profile now with ratings. Star Rating Schema seems a-okay to go on server-side.

I still need to integrate it into my errand tracker (started on axios calls but that's more front-end in another PR)

Still working on my errands schema, ugh.

How to test
Working in postman

Notes
I used async/await, hopefully that's okay with the architecture owner.
Reflects currently logged in user as of now on front end but haven't fully integrated the rating incrementation

 Rating Model Complete [Backend]


Assert/Refute against nonempty/empty output

Closes #5; Depends on #14
Do not merge; still needs update to docs. Docs added.

Indentation fixed; debugging echos removed; improved error messaging.

bump (changes had been made as requested)


attempt to recover the ui after failing to load cluster store

Trying to improve the situation when the app starts without the main UI appearing (menu is present) due to an unknown problem with loading the cluster store after an update. This PR recovers the UI (with an empty cluster store) but any clusters that are added can't connect (spins forever)
info: [APP]: Init dashboard, clusterId=1fdef426-95cd-443b-ade0-8d5a4374075c, frameId=5
...
Uncaught (in promise) TypeError: Cannot read property 'whenReady' of undefined

addresses #2195

Closing due to referring item being closed.


prevent default when decorations have changed

Summary
When content of decorated entities limited by max length changes, it causes weird characters to show in editor.
Test Plan
Verify content changes are handled properly. I have deployed dist/Draft.js from this PR for testing at http://react.jsbin.com/hitiyugore/1/edit?output. Bug can be seen in action against 0.9.0 version at http://react.jsbin.com/fikadeliva/1/edit?output.
Fixes: https://github.com/facebook/draft-js/issues/691

@alshamiri1 looks like review is done. Can we get this merged?

Hey @sophiebits, what is needed to get this through?

I'm having trouble understanding why we would need to preventDefault in this case. The jsbin is down so I can't check the repro at the moment. :(


Chapter 2: Opening, Creeps sections

Godz needs some actual lines. And love. But mostly lines.

Currently broken because the golems arent alive to speak the dialog. Could require them and keep them in their default location (the center). Later we can come up with a better solution for the ghosts (or just change the default location to somewhere hidden).

@RobinKa Fixed Golems missing from being required. They're now placed near the top Barracks.
The creep section is something I've spent more than a couple hours on trying to "stabilize" it when you constantly skip to it. In practice, it should never be possible in a game, as you should only be able to skip between Chapters.
It tries to properly clean and reinitialize the creep arrays, but sometimes it may still break on very specific cases.

They're now placed near the top Barracks.
I think they should be placed far away since they are now "ghosts"  and were killed off earlier.

I think they should be placed far away since they are now "ghosts" and were killed off earlier. Or make them invisible somehow like was mentioned on the discord (can do that later).

We can do it later, it doesn't really matter that much.


Progress Tracker is pretty innacurate

It seems like the Reading Progress Tracker is pretty inaccurate on some pages. In the picture below, I'm right at the second topic, but it says I've only finished up to half of the first.

This is probably more an electric problem than a wedeploy.com problem, so I don't mind moving this issue over there if need be

Issue moved to wedeploy/marble #78 via ZenHub


Added safari to native fetch browser support.

Safari 10.1 now natively supports fetch. https://developer.apple.com/library/prerelease/content/releasenotes/General/WhatsNewInSafari/Articles/Safari_10_1.html

Thanks! When is Safari 10.1 slated to ship?

It's shipped with macOS 10.12.4 and iOS 10.3.
On Wed, Jan 25, 2017, 11:09 AM Mislav Marohnić<EMAIL_ADDRESS>wrote:

Thanks! When is Safari 10.1 slated to ship?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/github/fetch/pull/469#issuecomment-275150462, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ACFePFfppuVxLCvmQF0_dRnyXav_nvX5ks5rV3N7gaJpZM4LtDYI
.

I thought Fetch's presence in Safari Technology Preview implied it would be included with Safari 10 and added it to the list in a82b0a9b. It didn't ship in version 10, so this was removed in c6c0a603. Maybe this time it will make it into the release!

Sorry guys. I just checked macOS 10.12.3, Safari 10.1 hasn't been released. Sorry for the trouble.

We'll merge this when it ships. Thanks for the update!

Safari 10.1 is out with MacOS 10.12.4. I have tried fetch and it works natively.


add The Odin Project Ruby and Rails courses

The Odin Project is an online open-source platform for learning web development. It features seven courses, from what a web developer does, all the way to how to get hired. In between those courses you have a Ruby course and a Rails course.
The idea of the platform is to learn by doing, you'll usually have assignments to read and then a hands-on project to solidify what you just learned(you also learn git since it suggests to upload all the solutions to github). You build a lot of stuff, in the ruby course for example, you build a Mastermind game, Tic Tac Toe game, Chess, among others. Check it out, if you think is worth it, merge it :+1:

It looks like The Odin Project has its own learning path. I gonna check it out!

@sagarmrey Do you have any strong preference not merge this branch?

Added


Inconsistency between page content and code snippet

The content "Note that when a union pattern is covered by a guard, the guard applies to all of the patterns, not just the last one. For example, given the following code, the guard when a > 12 applies to both A a and B a:" does not match the code snippet directly below, which actually uses the condition a > 41.
a > 12 should be updated to a > 41

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

ID: 623de492-3ccf-2284-2f76-9a7707ed14ad
Version Independent ID: c73b2029-d5e9-0fb4-5afc-aba43e922d84
Content: Match expressions - F#
Content Source: docs/fsharp/language-reference/match-expressions.md
Product: dotnet-fsharp
GitHub Login: @cartermp
Microsoft Alias: dotnetcontent

Thanks for noting this @mijpeterson
I've added this to our backlog, and added the "help wanted" label for public contributors. You're suggestion is the correct fix.

Hello!
First time in the hacktoberfest. If this is still open I'd like to give it a go.


Fix (brevitas/quantizer): Removed the initial forward call in the quantizer

Thanks to this fix, an initial forward pass of a Brevitas module is no longer required when using accelerate. Note, this PR superseeds #83.
After merging, please pin you brevitas version to 506954cba84aea81f3ee740b4b36d56ce5489a88 until this commit lands in a Brevitas release.

@nickfraser Can you update https://github.com/huggingface/optimum-amd/blob/b17439ed6a825d1957cd7b8a6fdd564c75048831/.github/workflows/test_brevitas.yaml#L42?

@Giuseppe5, should we install from dev or pin to that specific commit

I would pin to dev, knowing that if anything breaks, we have a fallback commit to compare against.


fix broken python package due to outdated deps

was unable to run the python package due to broken dependencies, this should be fixed now.

Thanks a lot @rohanb1216 , sorry unfortunately this very old project is not actively maintained, all of its contents would need to migrate to a more recent template (such as this one https://github.com/smarie/python-makefun)
But since the full app executable GUI is available "as is" in the releases section, you can still use it as is, without pip installing it.


[Add Palenight Theme]

I miss this theme in the repo, so I added it myself. Hope you enjoy.

Closes #62

It looks good, could you capitalize the first letter, please? Palenight.yml
It is like the color schemes I used to use. 👏

It looks good, could you capitalize the first letter file, please? Palenight.yml
It is like the color schemes I used to use. clap
What promt's theme are you using?

Oh-my-zsh with spaceship.

It looks good, could you capitalize the first letter file, please? Palenight.yml

It is like the color schemes I used to use. clap

What promt's theme are you using?

Oh-my-zsh with spaceship.

Thank you, I'll check it out, I already use oh my zsh.
And thank you for adding a new theme, we are always welcoming improvements if you want to contributing. Have a great day!

:tada: This PR is included in version 4.1.4 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Disable notifiations on broken workers

Disable email and IRC notifications on workers which were never green
(tests always failed).

cc @pablogsal

New config deployed.


three year not new release？

There are several three years in life？

I'm also curious about whether or not this project has a current maintainer.


[Go] move most of genkit package into core

This PR greatly simplifies the genkit package, limiting it to
the symbols that Genkit app developers, as exemplified by
the programs in the "samples" directory, would need.
To accomplish this, it moves most of the code to a new package, named
core. The core package, rather than the genkit package, is now imported
by the ai package and plugins. End-user applications should not normally
require it.
This overlapped with #229, so unfortunately those (minor) changes
are incorporated here as well, in a slightly different form.

Here is the output of go doc -all on the genkit package:
package genkit // import "github.com/firebase/genkit/go/genkit"
Package genkit provides Genkit functionality for application developers.
FUNCTIONS
func DefineFlow[I, O, S any](name string, fn core.Func[I, O, S]) *core.Flow[I, O, S]
DefineFlow creates a Flow that runs fn, and registers it as an action.
func NewFlowServeMux() *http.ServeMux
NewFlowServeMux constructs a net/http.ServeMux where each defined flow is
a route. All routes take a single query parameter, "stream", which if true
will stream the flow's results back to the client. (Not all flows support
streaming, however.)
To use the returned ServeMux as part of a server with other routes, either
add routes to it, or install it as part of another ServeMux, like so:

    mainMux := http.NewServeMux()
    mainMux.Handle("POST /flow/", http.StripPrefix("/flow/", NewFlowServeMux()))

func Run[T any](ctx context.Context, name string, f func() (T, error)) (T, error)
Run runs the function f in the context of the current flow. It returns an
error if no flow is active.
Each call to Run results in a new step in the flow. A step has its own span
in the trace, and its result is cached so that if the flow is restarted,
f will not be called a second time.

func RunFlow[I, O, S any](ctx context.Context, flow *core.Flow[I, O, S], input I) (O, error)
RunFlow runs flow in the context of another flow. The flow must run to
completion when started (that is, it must not have interrupts).
func StartFlowServer(addr string) error
StartFlowServer starts a server serving the routes described in
NewFlowServeMux. It listens on addr, or if empty, the value of the PORT
environment variable, or if that is empty, ":3400".
In development mode (if the environment variable GENKIT_ENV=dev), it also
starts a dev server.

StartFlowServer always returns a non-nil error, the one returned by
http.ListenAndServe.

func StreamFlow[I, O, S any](ctx context.Context, flow *core.Flow[I, O, S], input I) func(func(*StreamFlowValue[O, S], error) bool)
StreamFlow runs flow on input and delivers both the streamed values and
the final output. It returns a function whose argument function (the "yield
function") will be repeatedly called with the results.
If the yield function is passed a non-nil error, the flow has failed with
that error; the yield function will not be called again. An error is also
passed if the flow fails to complete (that is, it has an interrupt).
Genkit Go does not yet support interrupts.

If the yield function's StreamFlowValue argument has Done == true, the
value's Output field contains the final output; the yield function will not
be called again.

Otherwise the Stream field of the passed StreamFlowValue holds a streamed
result.

TYPES
type NoStream = core.NoStream
type StreamFlowValue[O, S any] struct {
Done   bool
Output O // valid if Done is true
Stream S // valid if Done is false
}
StreamFlowValue is either a streamed value or a final output of a flow.


Refactor stdenv.lib -> lib

Refactor code based on https://github.com/NixOS/nixpkgs/issues/108938

Thank you! Sorry about the delayed reply, my Github notifications are a mess. I'll take a look at this in the next day or two

Great ;-)

Finally, and again, sorry it's taken so long. I had to update a few more occurences (in  79e6639bb5cc33c0d41a1859e298abeff1749968) after applying this, but it seems to be building happily now


Code Review 1

My "organ_pitch/Scripts/Visualizing_data.ipynb" file has bugs in it-- can you help me with it? There are persistent error messages you'll see when you open the script. Thanks!

@taliamo I'll take a look at an error message or two if you make the data load... hit me up with a message done once you've pushed a notebook with data loaded with data that exists in the repo.

Hi Tiffany,
I'm making an entirely new script for my final project with all the code items, and I got the data to load in that. I am unsure whether a histogram will work, but I expect it to!
So, maybe hold off on trying to make it work on those other pages--but thanks for the offer!
Thanks,
Talia
-----Original Message-----
From: Tiffany Timbers<EMAIL_ADDRESS>Sent: Tue 11/10/2015 7:02 PM
To: taliamo/Final_Project
Cc: Talia Rebecca Shayndel Martz-Oberlander
Subject: Re: [Final_Project] Code Review 1 (#1)
@taliamo I'll take a look at an error message or two if you make the data load... hit me up with a message done once you've pushed a notebook with data loaded with data that exists in the repo.

Reply to this email directly or view it on GitHub:
https://github.com/taliamo/Final_Project/issues/1#issuecomment-155644837


dls fails with DestinationHasFailedJobs due to missing jsonl files in concurrent runs

Which area(s) are affected? (leave empty if unsure)
No response
To Reproduce
Materialise a partitioned run of any asset that has partitions, such as this one, and select a range of more than 2 entries.
Describe the Bug
When running a partitioned pipeline, dlt intermittently fails with a
DestinationHasFailedJobs error. Upon investigation, it appears that the
failure is caused by a missing jsonl file in the Google Cloud Storage bucket.
For example:

Not found: URI
gs://oso-dataset-transfer-bucket/open_collective/expenses/1725794458.6399574.1665a80ab2.jsonl

After some retries, the job sometimes succeeds.
This issue occurs specifically when multiple materializations are running
concurrently. During this process, dlt converts the data to a jsonl file,
which it then attempts to upload to the GCS bucket.
When only a single materialization is running, the jsonl file is successfully
uploaded, and the process completes without error. However, when multiple
materializations are active, the file is sometimes missing, causing the
subsequent LOAD operation in BigQuery to fail due to the missing files.
2024-09-08 17:04:28 +0200 - dagster - ERROR - __ASSET_JOB_0 - f198d474-92f0-4fbb-a30c-5d4a25bcad02 - 64368 - open_collective__expenses - STEP_FAILURE - Execution of step "open_collective__expenses" failed.

dagster._core.errors.DagsterExecutionStepExecutionError: Error occurred while executing op "open_collective__expenses"::

dlt.pipeline.exceptions.PipelineStepFailed: Pipeline execution failed at stage load when processing package<PHONE_NUMBER>.518212 with exception:

<class 'FileNotFoundError'>
[Errno 2] No such file or directory: '/Users/$USER/.dlt/pipelines/open_collective_/load/normalized/1725807796.518212/started_jobs/expenses.b5d4a81f6e.0.reference' -> '/Users/$USER/.dlt/pipelines/open_collective_/load/normalized/1725807796.518212/completed_jobs/expenses.b5d4a81f6e.0.reference'

Expected Behavior
dlt should create the files even when running concurrently.

Oh this is even more strange. I would have expected GCS to be fine with handling an upload.

Oh this is even more strange. I would have expected GCS to be fine with handling any number of concurrent uploads.

GCS does handle upload correctly, the issue is that dlt fails to generate those files when running concurrently.
[Errno 2] No such file or directory: '/Users/$USER/.dlt/pipelines/open_collective_/load/normalized/1725807796.518212/started_jobs/expenses.b5d4a81f6e.0.reference'

In this error,<PHONE_NUMBER>.518212 is the asset ID that gets loaded to GCS so that Big Query performs a LOAD, but since dlt does not load that, it does not get uploaded and Big Query fails.
Here's a failing Big Query load, for reference:

Ah! I misunderstood. Hrm still very odd. Do we know how large these files are? I’m curious if the k8s node is running out of space locally. They aren’t equipped with very large disk space. I’ll double check the exact spec but if we are generating hundreds of gigabytes of data then I might fail to write but I’d expect a different error


Update orchestration install document

What this PR does / why we need it:
This PR update the Orchestration installation document with updated code

Codecov Report

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

@@          Coverage Diff           @@
##           master     #27   +/-   ##
======================================
  Coverage    42.5%   42.5%
======================================
  Files          13      13
  Lines         614     614
  Branches       65      65
======================================
  Hits          261     261
  Misses        343     343
  Partials       10      10


Comitted Home,Sidebar and Loader

Home Component: The Home component represents the main page of the application. It includes functionality for scanning QR codes, displaying user information, and managing active requests. Key features include:
QR Code Scanner: Uses the Html5QrcodePlugin to scan QR codes and initiate coverage eligibility requests.
User Information: Displays user-specific information fetched from the backend.
Active Requests: Displays a list of active coverage and claim requests, allowing users to view details and manage them.
Sidebar Component: The Sidebar component is a navigation menu that provides links to different sections of the application. Key features include:
Responsive Design: Adapts to different screen sizes, toggling visibility based on user interactions.
Menu Items: Includes links to the home page, user profile, and logout functionality.
Sidebar Animation: Uses CSS transitions to animate opening and closing the sidebar.
Loader Component: The Loader component is a simple loading indicator that displays a spinning animation while waiting for data or actions to complete. Key features include:
Minimalistic Design: A small, unobtrusive loading indicator.
Responsive Layout: Centers itself vertically and horizontally on the screen.
Customizable: Can be styled and customized to match the overall theme of the application.

Comitted Sidebar,Home and Loader


return hipSuccess when count is zero

Check count of bytes first and return hipSuccess if zero.

Sorry, messed up local repo, so created a new PR https://github.com/ROCm-Developer-Tools/HIP/pull/1900


[Disabled Tests] test/inlining/rlexe.xml: tests marked as exclude_arm

Follow up from #3120 and #3122 (https://github.com/Microsoft/ChakraCore/pull/3122#discussion_r120764836)

Not worth investigating, since we don't even run these tests on ARM.


Cannot read v8 schema using Altova XMLSpy

Altova XMLSpy is a very useful tool for working with JSON files and JSON schemas.  When I load in the v8 CityJSON schema, Altova XMLSpy cannot follow the external schema links:

I am not sure if this is a limitation of XMLSpy or if the CityJSON schema is not correct.  Any of the following solutions would work for me:

Find another graphical schema editor (do you have any suggestions?)
Use a script to combine all the schema's together (does such a script exist?)
Change the CityJSON schema to meet Altova XMLSpy's requirements

Do you have any recommendations?

This is a weird limitation/feature (whatever you wish to call it! :P) of XMLSpy. I had the same error/warning (unable to resolve the reference for "metadata.json" and so on) when I first used the XMLSpy for CityJSON. However, I was able to use XMLSpy to validate CityJSON datasets against the schema without any hassle. IMO, XMLSpy uses the path of "cityjson.json" schema as the base path for all other referenced schemas. So, you can validate a CityJSON dataset using XMLSpy if all your CityJSON schemas are within the same folder. If you delete any referenced schema (e.g. metadata.json) from the schema folder, XMLSpy will give you a validation error.

OxygenXML
not aware of any, I'm planning to write one at some point.
it ain't gonna happen :)

Wow thanks for all the great activity on this ticket!

@macumber  stitching them into one is actually super easy:
https://gist.github.com/hugoledoux/4002869e257c56341722f0302a37c73e

Thanks @hugoledoux, not sure if you'd want to provide a single/minified schema with each release or not, Might be useful for people with limited JSON schema parsers.

@macumber good idea, I'll provide the merged one from next version.
but we have an implementation of the validation in cjio that is ready to use, schemas are even included.

We have just released Altova XMLSpy v2019r3 today, which now supports draft-06 and draft-07 of JSON-Schema: https://www.altova.com/xmlspy-xml-editor/whatsnew
Also, please note the following regarding the above issue:

Our Text View works fine, i.e. editing support only where schemas are expected
Validation works correctly, incl. resolution of references
Schema editor handles named schema definitions correctly, only the error message/highlighting was misleading (and this has been fixed in the latest version)
The only other graphical schema editor I am aware of is Liquid XML Studio (see https://www.liquid-technologies.com/json-schema-editor). I am not sure whether they resolve schema references graphically at all.
OxygenXML does not provide any alternative (see https://www.oxygenxml.com/doc/versions/20.1/ug-editorEclipse/topics/editing-JSON-schema.html)

the minified schema for 1.0.0 is available:
https://3d.bk.tudelft.nl/schemas/cityjson/1.0.0/cityjson.min.schema.json
it works fine with online apps like that one (https://json-schema-validator.herokuapp.com/) so should work for everything. All $ref have been removed.

Hi @hugoledoux
The file you are referencing starts with:
{"$schema":"http://json-schema.org/draft-04/schema#"
so it is specifying draft-04. Therefore, XMLSpy 2019r3 will produce a series of warnings, because this schema file actually uses features of draft-07 already.
The fix is very easy - just specify the correct JSON schema version in the file:
{"$schema":"http://json-schema.org/draft-07/schema#"
Once you do that, XMLSpy will confirm that this file is valid!

What features from v07 is it using?

"format": "date"
and
"format": "uri-reference"
For further info, please see also: https://json-schema.org/draft-07/json-schema-release-notes.html#formats

right, indeed.
Just puzzled why my validation tests with dates and URIs were successful then... I use Python jsonschema validator (https://pypi.org/project/jsonschema/), and use v04 explicitly, see https://github.com/tudelft3d/cjio/blob/master/cjio/validation.py#L362

@afalk42 OK, I made some tests and all seems good with v07, and it's there: https://www.dropbox.com/s/t009xhvt1iiscji/cityjson.min.schema.json?dl=0
Can you confirm that it's fine in your software please?
My validator, jsonschema, processed correctly the time and uri even in v04... why I don't know.

@hugoledoux I can confirm that the new version you supplied via Dropbox works perfectly fine in XMLSpy v2019r3 now and is considered valid:

cheers, will be in v1.0.1


feat: multiline support

Adds support for pasting queries that span more lines.

@MichaelMraka please have a look. Thank you.


Update documentation for .NET Isolated tables bindings

[ ] Fill in the following template with all the information required to update the docs
[ ] Share with Matthew for public doc updates + PR

Template
See blob issue as an example of how to full this template in

Binding name
List of supported types
Link to code sample
Supported worker extension version
Required worker versions

Only close this issue when the public docs PR has been merged

Binding name
.NET Isolated Table Input Binding
List of supported types
Input

TableClient
TableEntity & IEnumerable
POCO & IEnumerable

Link to code sample

TableInput sample

Supported worker extension version

Worker Table extension: 1.2.0-preview1

Required worker versions

Worker: 1.15.0-preview1
Worker Sdk: 1.11.0-preview1

Expected GA versions:

Worker: 1.17.0
Worker Sdk: 1.12.0


java.util.zip.ZipException: invalid CEN header (encrypted entry), still works on Oreo

Information

Apktool Version (apktool -version) -2.0.2-dirty
Operating System (Mac, Linux, Windows) - Linux (Ubuntu)
APK From? (Playstore, ROM, Other) - Other

###Disclaim: This apk is a malware
This stacktrace is quite similar to https://github.com/iBotPeaches/Apktool/issues/550 .
As it is already locked, I create this issue for further discussion.
I have tested this APK with the one of the newest Android OS versions (Nexus 5X, Oreo 8.1.0, Security patch May 5 2018). It is working fine.
So maybe it is a different problem with issues #550 (I am not sure though)
Stacktrace/Logcat
I: Using Apktool 2.0.2-dirty on 9183aba0aea1ad5608f2b1795a3c6d28.apk
Exception in thread "main" brut.androlib.AndrolibException: brut.directory.DirectoryException: java.util.zip.ZipException: invalid CEN header (encrypted entry)
	at brut.androlib.ApkDecoder.hasResources(ApkDecoder.java:281)
	at brut.androlib.ApkDecoder.decode(ApkDecoder.java:90)
	at brut.apktool.Main.cmdDecode(Main.java:165)
	at brut.apktool.Main.main(Main.java:81)
Caused by: brut.directory.DirectoryException: java.util.zip.ZipException: invalid CEN header (encrypted entry)
	at brut.directory.ZipRODirectory.<init>(ZipRODirectory.java:55)
	at brut.directory.ZipRODirectory.<init>(ZipRODirectory.java:38)
	at brut.androlib.res.util.ExtFile.getDirectory(ExtFile.java:55)
	at brut.androlib.ApkDecoder.hasResources(ApkDecoder.java:279)
	... 3 more
Caused by: java.util.zip.ZipException: invalid CEN header (encrypted entry)
	at java.util.zip.ZipFile.open(Native Method)
	at java.util.zip.ZipFile.<init>(ZipFile.java:225)
	at java.util.zip.ZipFile.<init>(ZipFile.java:155)
	at java.util.zip.ZipFile.<init>(ZipFile.java:169)
	at brut.directory.ZipRODirectory.<init>(ZipRODirectory.java:53)

Steps to Reproduce

apktool  d 9183aba0aea1ad5608f2b1795a3c6d28.apk

Frameworks
If this APK is from an OEM ROM (Samsung, HTC, LG). Please attach framework files
(.apks that live in /system/framework or /system/priv-app)
APK: please change  *zip extension to *apk
9183aba0aea1ad5608f2b1795a3c6d28.zip
Questions to ask before submission

Have you tried apktool d, apktool b without changing anything? Yes, I have
If you are trying to install a modified apk, did you resign it? N/A
Are you using the latest apktool version? Yes

Interesting. I reverted these patches, because AOSP patched it (https://android.googlesource.com/platform/libcore/+/25681be69e19a834b00cfbf54cd99ac13f12b9ff)

https://github.com/iBotPeaches/Apktool/commit/81e6af093b9584f5bd34f24cc5a9cb1c45a66b6d#diff-ac42123fbe1bbc1292afcdffc87d521a

I'll have to do some digging. Thanks for a new report

change 'PK' xxxx  01 -> 00, not work.  focus on it, zz~~

I reverted this and not bringing it back. Use older Apktool if you need it. This doesn't work on newer Android.


corgi: 0.2.3 -> 0.2.4

Motivation for this change
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Fits CONTRIBUTING.md.

Success on aarch64-linux (full log)
Attempted: corgi
Partial log (click to expand)
installing
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/2ncfdjd85gb03sh3v76jn4b56z4qm021-corgi-v0.2.4-bin
shrinking /nix/store/2ncfdjd85gb03sh3v76jn4b56z4qm021-corgi-v0.2.4-bin/bin/corgi
strip is /nix/store/p9akxn2sfy4wkhqdqa3li97pc6jaz3r1-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/2ncfdjd85gb03sh3v76jn4b56z4qm021-corgi-v0.2.4-bin/bin
patching script interpreter paths in /nix/store/2ncfdjd85gb03sh3v76jn4b56z4qm021-corgi-v0.2.4-bin
checking for references to /build in /nix/store/2ncfdjd85gb03sh3v76jn4b56z4qm021-corgi-v0.2.4-bin...
strip is /nix/store/p9akxn2sfy4wkhqdqa3li97pc6jaz3r1-binutils-2.30/bin/strip
/nix/store/2ncfdjd85gb03sh3v76jn4b56z4qm021-corgi-v0.2.4-bin

Success on x86_64-linux (full log)
Attempted: corgi
Partial log (click to expand)
installing
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/zb2cn9acpvdz26p4k1fhcm2k6sn2c7gi-corgi-v0.2.4-bin
shrinking /nix/store/zb2cn9acpvdz26p4k1fhcm2k6sn2c7gi-corgi-v0.2.4-bin/bin/corgi
strip is /nix/store/vcc4svb8gy29g4pam2zja6llkbcwsyiq-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/zb2cn9acpvdz26p4k1fhcm2k6sn2c7gi-corgi-v0.2.4-bin/bin
patching script interpreter paths in /nix/store/zb2cn9acpvdz26p4k1fhcm2k6sn2c7gi-corgi-v0.2.4-bin
checking for references to /build in /nix/store/zb2cn9acpvdz26p4k1fhcm2k6sn2c7gi-corgi-v0.2.4-bin...
strip is /nix/store/vcc4svb8gy29g4pam2zja6llkbcwsyiq-binutils-2.30/bin/strip
/nix/store/zb2cn9acpvdz26p4k1fhcm2k6sn2c7gi-corgi-v0.2.4-bin


Windows Support in manage.py

Using virtualenv on Windows, we need to be able to support the Windows installation which installs pip to the [Ss]cripts folder (no bin/ exists). Change supports this with a simple sys.platform() call.

Thanks! I just pushed version 2.1.11 to pypi which includes this fix.


hideSeries() break animations

Description
I wanted to load data asynchronous.
After that I wanted to update series to show the corresponding data and hide some series by default with hideSeries() method.
Unfortunately the initial animation and the "after update" animations didn't works.
Steps to Reproduce

Create a chart.
Then update series data and hide the unwanted series in the chart.
Watch out for the missing animation.
If you remove/comment out the hideSeries lines in the reproduction codepen, it will works as it should.

Expected Behavior
Animations should work on the shown series.
Actual Behavior
Animations didn't work initially or with updateSeries or updateOptions.
Reproduction Link
https://codepen.io/gyurielf/pen/oNepYmj?editors=0011

Hello! do you have any update? Have same issue with updateOptions, animations isn't working on updateOptions in react.

AFAIK there is no update on this.


Re-organized resources and rbacs

Also disabled couchbase test
fixes #17

rerun minishift

rerun minikube

ready to merge?


Fix MicroProfile JWT TCK pipeline

The MicroProfile JWT requires REST to be available to the container. However, the Piranha Micro doesn't include it by default, so no endpoints are available and all tests fail.
I think it's not the goal to include a REST provider on the micro-servlet extension. I don't know if we should use another extension to run the tests, like webprofile extension. If so, we need to rework that extension.

Please implement a micro-profile extension as per #936 and then circle back to validate it fixes this issue


AdjustStrike RE - Can't Predicate On Distance

I am trying to setup a rule element on an item that applies a Monk's Mystic Strike if they are in the Monastic Archer Stance; however, due to the way Monastic Arche Stance works it should only apply if the target is within half of the first range increment of the bow. I am trying to predicate on target:distance being less than or equal to 50 which would be half of the first range increment but it doesn't work. If I remove this predicate or replace it with something like target:size:medium it works fine.
{
  "definition": [
    "item:id:{item|id}"
  ],
  "key": "AdjustStrike",
  "mode": "add",
  "predicate": [
    "self:effect:monastic-archer-stance",
    "feature:mystic-strikes",
    {
      "lte": [
        "target:distance",
        50
      ]
    }
  ],
  "property": "weapon-traits",
  "value": "magical"
}

Is this still an issue? Should be working as of the latest hotfix.

This is still an issue, I went ahead and even simplified it more for quicker testing. If you add the below to an item and attack someone within 50 ft it should make the strike magical; however, it does not. You can remove the predicate entirely to see that the rest of the rule element works.
{
  "definition": [
    "item:id:{item|id}"
  ],
  "key": "AdjustStrike",
  "mode": "add",
  "predicate": [
    {
      "lte": [
        "target:distance",
        50
      ]
    }
  ],
  "property": "weapon-traits",
  "value": "magical"
}

Repro'd. I first tested if it was just that target options were missing, but it seems like its just the distance option that's missing. Maybe a few others.

AdjustStrike is not long for this world: use an ItemAlteration instead.


Import istio/proxy for 1.1.3

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: duderino
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: costinm
If they are not already assigned, you can assign the PR to them by writing /assign @costinm 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

@duderino: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-integ-k8s-tests.sh
e8b486ca2aac5a902fcf65aaa1aa76f10cc903d3
link
/test istio-integ-k8s-tests

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. I understand the commands that are listed here.

@duderino: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-integ-k8s-tests.sh
e8b486ca2aac5a902fcf65aaa1aa76f10cc903d3
link
/test istio-integ-k8s-tests

prow/istio-pilot-multicluster-e2e.sh
e8b486ca2aac5a902fcf65aaa1aa76f10cc903d3
link
/test istio-pilot-multicluster-e2e

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. I understand the commands that are listed here.


Migrate CodePlex examples?

Hi,
the article references example-code on CodePlex aimed at SqlServer 2005 and/or 2008. Are they already migrated somewhere else, so that the link may be corrected? Can they be migrated somewhere else?
A quick scan over the list looked as if the examples could cover useful topics.
Best Regards

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

ID: b2d365b2-e8bd-6e18-5844-c16d793497b3
Version Independent ID: 6e3f93af-7709-42c5-86e7-9b78081be1f4
Content: Creating an Assembly - SQL Server
Content Source: docs/relational-databases/clr-integration/assemblies/creating-an-assembly.md
Product: sql
Technology: clr
GitHub Login: @rothja
Microsoft Alias: jroth

@TheConstructor -- Matthias, thank you for your question.  Please see here for potential answers:

DBA Stack Exchange
Stack Overflow

Also, you are welcome to add your migration suggestion here:

SQL Server Feedback


space in email

I generated a ?format=csv&results=5000 CSV but I found a email with spaces after which my system crashed
Fernao de<EMAIL_ADDRESS>I guess this can be fixed by replacing spaces with underscores on the following line
https://github.com/RandomAPI/Randomuser.me-Node/blob/33d943d2cd18600354fb423cdd3790b331081850/api/1.3/api.js#L173
Maybe it is also nice to make the mail lowercase?

Looks like only the last name is currently having spaces replaced. I'll try and push a fix for this in a bit.


rename repo to: dbt-layer or dbt-layerai?

we have an unwritten standard on adapter names: dbt-$ADAPTERNAME. Now might be a great time to switch the name before too many take dependencies on this?

thanks for the heads up! i think it would make sense to rename to dbt-layer, let me check with the team and make the change if there are no objections

Done!


My blog

Feedback is welcome :) . Thank you!

Hi, what tools have you used to develop your portfolio? Can't seem to find an open-source repo of your website.
I really enjoy the design, especially the theme change animation, but other than that I'm not sure the rest of the interface fits with the sites currently on the list.

Hi! I'm using Wordpress but the theme I created myself from scratch. Why do you think it does not fit?

I usually try to add websites that do not use templating services such as WP ! :)


Customize parameter names

Certain queries end up with generic (read: terrible) names in parameter structs. For example
CREATE TABLE foo (bar text not null);

-- name: ListBar :many
SELECT bar FROM foo WHERE $1:bool;

There is no way to generate a good name for lone parameter in this query. Maybe another special comment? -- param could work.
-- name: ListBar :many
-- param: 1 IsTrue
SELECT bar FROM foo WHERE $1:bool;

+1 this would be helpful.
I encountered this situation:
CREATE TABLE foo (bar TEXT);

-- name: SetBar :exec
UPDATE foo
SET bar = $1::TEXT;

Casting $1 to TEXT avoids a sql.NullString in the parameter of SetBar, but the parameter doesn't infer the name bar. It would be convenient if I could set it explicitly.

Adding named parameters a la HugSQL could solve this problem too:
-- name: ListBar :many
SELECT bar FROM foo WHERE :is_true::bool;

@maxhawkins I've avoided adding support for the HugSQL syntax because it's nonstandard. Passing that query to the PostgreSQL parser returns an error.

OK, agreed. Avoiding nonstandard syntax makes sense to me.
I want to add automatic SQL formatting to my query files and nonstandard syntax would break it.

SQLAlchemy supports named parameters in the form :param:
stmt = text("SELECT * FROM users WHERE users.name BETWEEN :x AND :y")
stmt = stmt.bindparams(x="m", y="z")

Sequel, a Ruby database toolkit, supports the same format:
DB.fetch("SELECT * FROM albums WHERE name LIKE :pattern", pattern: 'A%') do |row|
  puts row[:name]
end

While this format isn't part of the SQL standard, I think it solves the problem nicely.

psql uses a similar format for its \set command:
\set name 'Max'
SELECT * FROM users WHERE name = :name;


Support Request:

Describe Your Problem
Change Type
Relevant log output
Hello, I used since months one bot exposed in HomeKit as a smart lock. Due to some restore issue I was to reconfigure the plug-in. All works but now also if the config shows smart lock in HomeKit I see a plug. Do you know how can fix it?

Config for homebridge-switchbot
{
            "name": "SwitchBot",
            "credentials": {
                "token": "xxxxxx",
                "secret": "xxxxxx",
                "notice": "Keep your Token & Secret a secret!"
            },
            "options": {
                "devices": [
                    {
                        "deviceId": "C0043623E577",
                        "configDeviceName": "Portone",
                        "configDeviceType": "Smart Lock",
                        "connectionType": "BLE"
                    },
                    {
                        "deviceId": "DF0AA6E9AE90",
                        "configDeviceName": "Beko_Pause",
                        "configDeviceType": "Bot",
                        "connectionType": "BLE"
                    }
                ]
            },

Screenshots

Device & Model
Switch bot
Node.js Version
18.12.1
NPM Version
Nd
Homebridge Version
1.6.0.
Homebridge SwitchBot Plugin Version
2.2.2.
Homebridge Config UI X Plugin Version
4.50.2
Operating System
PI 3

configDeviceType is only used to bring the configs in correctly. You have to set the bot mode first, either switch or press. Then a setting for a Bot deviceType will show up.


[PROJECT] Integrate Collective Updates into Dashboard

Overview
As we move forward with developing the different sets of platform features from the dashboard as a launchpad, we are also migrating admin actions originally inside the public profile pages (With admin-only visibility).
For Collectives, our main public profile page, we are undertaking a parallel effort to move the project and event creation and preview to the dashboard, and the effort described here is to have the ability to publish updates from the Collective dashboard.
Doing this will enable the Collective public page simplification, helping us differentiate all the actions and offerings for communities (Contributors, sponsors) from all the admin actions necessary to manage those communities.
Proposal
Scope 1 - Add an "Updates" section to the Collectives' Dashboard

A list of previously published updates
Add the "Create Update" Button as the main action

Updates.png

Implement a "Post update" modal

Post update form
Post privately option
Save as draft option

Continues in https://github.com/opencollective/opencollective/issues/7348.