Bindgen doesn't know about #pragma pack(1)

Given the header
#pragma pack(1)
struct foo { int x; };

bindgen generates
#[repr(C)]
pub struct foo {
    pub x: ::std::os::raw::c_int,
}

which uses repr(C) instead of repr(packed), and therefore has the wrong alignment:
running 1 test
test bindgen_test_layout_foo ... FAILED

failures:

---- bindgen_test_layout_foo stdout ----
        thread 'bindgen_test_layout_foo' panicked at 'assertion failed: `(left == right)` (left: `4`, right: `1`): Alignment of foo', testcase.rs:12
note: Run with `RUST_BACKTRACE=1` for a backtrace.

failures:
    bindgen_test_layout_foo

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured

In fact, bindgen emits a warning to this effect:
WARN:bindgen::codegen: Type foo has an unkown attribute that may affect layout

Details
Steps to reproduce:
$ cat bindgen.h
#pragma pack(1)
struct foo { int x; };
$ RUST_LOG=bindgen bindgen testcase.h -o testcase.rs
$ rustc --test testcase.rs
$ ./testcase

bindgen 0.22.0
rustc 1.15.1 (021bd294c 2017-02-08)

Thanks for the bug report! I'm not super familiar with #pragma pack -- is it standard? Or at least widely used? If not, we might want to consider whether implementing support is worth the pay off, and what ongoing maintenance costs might be.
If we did support this, I think we would want to use #[repr(C, packed)], not just #[repr(C)].

is it standard?

#pragma pack is understood by GCC and Visual Studio, and I think Borland too. I don't know about clang.

Or at least widely used?

I hope not! Abusing structs for serialisation purposes doesn't seem to be a good idea, and can cause problems. Unfortunately, I know of least one library which does this extensively.

whether implementing support is worth the pay off

bindgen is currently generating structs which have the wrong layout; this could also lead to some fairly strange behaviour. I think there are a number of ways you could go here:

When bindgen sees #pragma pack(*) it aborts.
When bindgen sees #pragma pack(*) it spits out a warning and stops generating bindings until it sees #pragma pack() (which resets things to normal).
bindgen generates compatible structs. In this case, I think a warning is still in order, since repr(packed) can lead to undefined behaviour in rust.

I don't think we can even see #pragma packed from libclang?
I guess we can try to guess if we see the alignment is 1 and the relevant fields are packed when looking at their offsets, but...

Hello,
I'm having a similar issue on macOS 10.12.4. When generating the bindings for a header which includes "fcntl.h", the following struct is encountered:
#pragma pack(4)

struct log2phys {
	unsigned int	l2p_flags;	 /* unused so far */
	off_t		l2p_contigbytes; /* F_LOG2PHYS:     unused so far */
					 /* F_LOG2PHYS_EXT: IN:  number of bytes to be queried */
					 /*                 OUT: number of contiguous bytes at this position */
	off_t		l2p_devoffset;   /* F_LOG2PHYS:     OUT: bytes into device */
					 /* F_LOG2PHYS_EXT: IN:  bytes into file */
					 /*                 OUT: bytes into device */
};

#pragma pack()

Rust-bindgen generates the following code:
#[repr(C)]
#[derive(Debug, Copy)]
pub struct log2phys {
    pub l2p_flags: ::std::os::raw::c_uint,
    pub l2p_contigbytes: off_t,
    pub l2p_devoffset: off_t,
}
#[test]
fn bindgen_test_layout_log2phys() {
    assert_eq!(::std::mem::size_of::<log2phys>() , 20usize , concat ! (
               "Size of: " , stringify ! ( log2phys ) ));
    assert_eq! (::std::mem::align_of::<log2phys>() , 4usize , concat ! (
                "Alignment of " , stringify ! ( log2phys ) ));
    assert_eq! (unsafe {
                & ( * ( 0 as * const log2phys ) ) . l2p_flags as * const _ as
                usize } , 0usize , concat ! (
                "Alignment of field: " , stringify ! ( log2phys ) , "::" ,
                stringify ! ( l2p_flags ) ));
    assert_eq! (unsafe {
                & ( * ( 0 as * const log2phys ) ) . l2p_contigbytes as * const
                _ as usize } , 4usize , concat ! (
                "Alignment of field: " , stringify ! ( log2phys ) , "::" ,
                stringify ! ( l2p_contigbytes ) ));
    assert_eq! (unsafe {
                & ( * ( 0 as * const log2phys ) ) . l2p_devoffset as * const _
                as usize } , 12usize , concat ! (
                "Alignment of field: " , stringify ! ( log2phys ) , "::" ,
                stringify ! ( l2p_devoffset ) ));
}

Some of these assertions are failing:

::std::mem::size_of::<log2phys>() is 24 bytes, not 20.
::std::mem::align_of::<log2phys>() is 8 bytes, not 4.
unsafe {               & ( * ( 0 as * const log2phys ) ) . l2p_contigbytes as * const               _ as usize } is 8 bytes not 4.
unsafe {               & ( * ( 0 as * const log2phys ) ) . l2p_devoffset as * const _               as usize } is 16 bytes not 12.

I don't know how helpful this is, but please let me know if I can supply more information.
Thanks for making bindgen!

I'm running into this same issue for osx/ios.
Some of the system provided headers use pack quite heavily.
Running:
cd /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/
rg -c "^\s*#pragma\s*pack\(.*\d+\)" . | rg -v -N ":1$"

Gives the count of #pragma pack per header (with more than 1 occurrence):
usr/include/mach/clock.h:6
usr/include/mach/clock_priv.h:4
usr/include/mach/clock_reply.h:2
usr/include/mach/exc.h:6
usr/include/mach/host_security.h:4
usr/include/mach/host_priv.h:50
usr/include/mach/lock_set.h:12
usr/include/mach/mach_host.h:54
usr/include/mach/mach_port.h:72
usr/include/mach/mach_vm.h:40
usr/include/mach/mach_voucher.h:10
usr/include/mach/processor.h:12
usr/include/mach/processor_set.h:20
usr/include/mach/task.h:102
usr/include/mach/thread_act.h:56
usr/include/mach/vm_map.h:54
usr/include/net/if.h:4
usr/include/servers/netname.h:8
System/Library/Frameworks/AudioToolbox.framework/Versions/A/Headers/AudioUnitCarbonView.h:2
System/Library/Frameworks/IOKit.framework/Versions/A/Headers/OSMessageNotification.h:2
System/Library/Frameworks/IOKit.framework/Versions/A/Headers/iokitmig.h:160
System/Library/Frameworks/PCSC.framework/Versions/A/Headers/pcsclite.h:2
System/Library/Frameworks/IOKit.framework/Versions/A/Headers/scsi/SCSICmds_INQUIRY_Definitions.h:3
System/Library/Frameworks/IOKit.framework/Versions/A/Headers/usb/USB.h:5
System/Library/Frameworks/Kernel.framework/Versions/A/Headers/gssd/gssd_mach.h:18
System/Library/Frameworks/Kernel.framework/Versions/A/Headers/kextd/kextd_mach.h:2
System/Library/Frameworks/Kernel.framework/Versions/A/Headers/IOKit/OSMessageNotification.h:2
System/Library/Frameworks/Kernel.framework/Versions/A/Headers/lockd/lockd_mach.h:6
System/Library/Frameworks/Kernel.framework/Versions/A/Headers/mach/audit_triggers_server.h:2
System/Library/Frameworks/Kernel.framework/Versions/A/Headers/mach/clock.h:6
System/Library/Frameworks/Kernel.framework/Versions/A/Headers/mach/clock_priv.h:4
System/Library/Frameworks/Kernel.framework/Versions/A/Headers/mach/clock_reply_server.h:2
System/Library/Frameworks/Kernel.framework/Versions/A/Headers/mach/coalition_notification_server.h:2
System/Library/Frameworks/Kernel.framework/Versions/A/Headers/mach/exc_server.h:6
System/Library/Frameworks/Kernel.framework/Versions/A/Headers/mach/host_security.h:4
System/Library/Frameworks/Kernel.framework/Versions/A/Headers/mach/host_priv.h:50
System/Library/Frameworks/Kernel.framework/Versions/A/Headers/mach/ktrace_background.h:2
System/Library/Frameworks/Kernel.framework/Versions/A/Headers/mach/lock_set.h:12
System/Library/Frameworks/Kernel.framework/Versions/A/Headers/mach/mach_exc_server.h:6
System/Library/Frameworks/Kernel.framework/Versions/A/Headers/mach/mach_host.h:50
System/Library/Frameworks/Kernel.framework/Versions/A/Headers/mach/mach_port.h:72
System/Library/Frameworks/Kernel.framework/Versions/A/Headers/mach/mach_voucher.h:10
System/Library/Frameworks/Kernel.framework/Versions/A/Headers/mach/mach_voucher_attr_control.h:4
System/Library/Frameworks/Kernel.framework/Versions/A/Headers/mach/mach_vm.h:40
System/Library/Frameworks/Kernel.framework/Versions/A/Headers/mach/memory_object_default_server.h:2
System/Library/Frameworks/Kernel.framework/Versions/A/Headers/mach/memory_object_control.h:24
System/Library/Frameworks/Kernel.framework/Versions/A/Headers/net/if.h:2
System/Library/Frameworks/Kernel.framework/Versions/A/Headers/mach/notify_server.h:10
System/Library/Frameworks/Kernel.framework/Versions/A/Headers/mach/processor.h:12
System/Library/Frameworks/Kernel.framework/Versions/A/Headers/mach/processor_set.h:20
System/Library/Frameworks/Kernel.framework/Versions/A/Headers/mach/sysdiagnose_notification_server.h:2
System/Library/Frameworks/Kernel.framework/Versions/A/Headers/mach/task_access.h:4
System/Library/Frameworks/Kernel.framework/Versions/A/Headers/mach/task_access_server.h:4
System/Library/Frameworks/Kernel.framework/Versions/A/Headers/mach/task.h:102
System/Library/Frameworks/Kernel.framework/Versions/A/Headers/mach/telemetry_notification_server.h:2
System/Library/Frameworks/Kernel.framework/Versions/A/Headers/mach/thread_act.h:56
System/Library/Frameworks/Kernel.framework/Versions/A/Headers/mach/upl.h:8
System/Library/Frameworks/Kernel.framework/Versions/A/Headers/mach/vm_map.h:54
System/Library/Frameworks/Kernel.framework/Versions/A/Headers/sys/fcntl.h:2
System/Library/Frameworks/Kernel.framework/Versions/A/Headers/sys/mount.h:2
System/Library/Frameworks/Kernel.framework/Versions/A/Headers/IOKit/scsi/SCSICmds_INQUIRY_Definitions.h:3
System/Library/Frameworks/Kernel.framework/Versions/A/Headers/IOKit/usb/USB.h:5
System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/QD.framework/Versions/A/Headers/ColorSyncDeprecated.h:2

And there are many more headers with a single #pragma pack occurrence (not listed here to avoid excessive noise).

AFAICT, @emilo is right, and libclang doesn't even give us access to #pragma pack.
For this header
#pragma pack(1)
struct foo { int x; };

we get this libclang AST (note the UnexposedAttr):
(
 kind = StructDecl
 spelling = "foo"
 location = /home/fitzgen/scratch/packed.h:2:8
 is-definition? true
 is-declaration? true
 is-inlined-function? false
 usr = "c:@S@foo"

 semantic-parent.kind = TranslationUnit
 semantic-parent.spelling = "/home/fitzgen/scratch/packed.h"
 semantic-parent.location = builtin definitions
 semantic-parent.is-definition? false
 semantic-parent.is-declaration? false
 semantic-parent.is-inlined-function? false

 type.kind = Record
 type.cconv = 100
 type.spelling = "struct foo"
 type.is-variadic? false

    (
     kind = UnexposedAttr
     spelling = ""
     location = builtin definitions
     is-definition? false
     is-declaration? false
     is-inlined-function? false

     type.kind = Invalid
    )
    (
     kind = FieldDecl
     spelling = "x"
     location = /home/fitzgen/scratch/packed.h:2:18
     is-definition? true
     is-declaration? true
     is-inlined-function? false
     usr = "c:@S@foo@FI@x"

     semantic-parent.kind = StructDecl
     semantic-parent.spelling = "foo"
     semantic-parent.location = /home/fitzgen/scratch/packed.h:2:8
     semantic-parent.is-definition? true
     semantic-parent.is-declaration? true
     semantic-parent.is-inlined-function? false
     semantic-parent.usr = "c:@S@foo"

     semantic-parent.semantic-parent.kind = TranslationUnit
     semantic-parent.semantic-parent.spelling = "/home/fitzgen/scratch/packed.h"
     semantic-parent.semantic-parent.location = builtin definitions
     semantic-parent.semantic-parent.is-definition? false
     semantic-parent.semantic-parent.is-declaration? false
     semantic-parent.semantic-parent.is-inlined-function? false

     type.kind = Int
     type.cconv = 100
     type.spelling = "int"
     type.is-variadic? false
    )
)

Another version of this issue:
struct AlignedToLess {
    int i;
} __attribute__ ((packed,aligned(2)));

Hmmm, reading http://llvm.org/viewvc/llvm-project?view=revision&revision=191345 I would assume that packed should indeed be exposed by libclang?

On 10/19/2017 08:25 PM, Christian Legnitto wrote:> Hmmm, reading

http://llvm.org/viewvc/llvm-project?view=revision&revision=191345 I
would assume that packed should indeed be exposed by libclang?
Yup, attribute(packed) is exposed by libclang, but not pragma pack,
unfortunately.

I have a band-aid in https://github.com/rust-lang-nursery/rust-bindgen/pull/1136
It should make #pragma packed(1) work. For #pragma pack(n) where n > 1, it detects that something is off and makes the type opaque. This is the best that we can do since Rust doesn't have #[repr(packed = "n")] yet.

The PR for packed is there https://github.com/rust-lang/rust/pull/48528
It would be great if bindgen could start mapping #pragma pack(N) and the packed C attributes to #[repr(packed(N))] behind some sort of opt-in feature - the produced bindings are necessarily going to require nightly Rust until repr(packed) is stabilized.
Given that getting struct packing wrong is essentially undefined behavior, I'd wish that once the PR is merged it can be quickly stabilized.

@fitzgen repr(packed(N)) just landed, would it be possible for bindgen to use it instead of making the struct opaque?

We can start doing that when the rust target = nightly now. I don't have time to write a PR myself, but I could review one.


[ENG-2191] OSF confirmation link doesn't resolve

Purpose
For a while we've had a mysterious issue where confirmation links would fail, initially we didn't know what caused it and why it was effecting certain users. It turns out according to Sentry reports the link was failing because the user already had a logged in session causing a simple logic error.
Changes

add extra conditional addressing non-merging users who have a auth.user object already.

QA Notes
To recreate this bug:
1: Create an unconfirmed account and save the email link (but don't click it)
2: Log in to any pre-exsisting account
3: Click the link

Verify can do the above steps without causing an error.

Documentation
🐞 fix, no docs.
Side Effects
None that I know of.
Ticket
https://openscience.atlassian.net/browse/ENG-2191

Cherry-picked and squashed as hotfix: a1a51d8a5887720b23a8b7eab7e16627f82486d7. Consider this merged :octocat:


Ripple can't create on right place

Hi, I have another problem with the ripple effect.
I add my ripple on my element like your example :

    <md-icon>{{ icon }}</md-icon>
    <md-tooltip
        v-if="tooltip"
        :md-direction="direction || 'right'"
    >{{ tooltip }}</md-tooltip>

Normally, the div md-ink-ripple is created in this div but, if I test my element in the navigator, this is the generated ripple :

delete

In this case, my element is a component i create many times with different parameters in the same div, this is the cause of the bug?
Thanks.

The element that received the ripple directive have a position relative? It's not explicit on the documentation (yet) but this needs to implemented.

It's my bad, with the position : relative it works fine

Oh. Don't worry. Stay tuned. I will release a new version this weekend.


Issue-591: Holistic review of non-quarkus service orchestration chapter

Closes/Fixes/Resolves #591

Holistic review of non-quarkus service orchestration chapter
The PR introduce some readability improvements found during the chapter review.
I identified many issues that are out of the scope of this PR and are tracked here:

https://github.com/apache/incubator-kie-kogito-docs/issues/657
https://github.com/apache/incubator-kie-kogito-docs/issues/658
https://github.com/apache/incubator-kie-kogito-docs/issues/659

fyi @kaldesai


Fatfs 0.14b update

The PR contains two commits that:

update revision of FAT FS driver;
apply changes to FAT FS driver within Zephyr to support new revision.

Resolves: #34557

@de-nordic please update to SHA


Throw errors from validated reactive methods immediately

instead of wrapping them in a publisher.
I'm not sure why the original behavior was there, it doesn't seem to be tested.
An error publisher has worse error handling in the HTTP stack, leading to https://github.com/micronaut-projects/micronaut-core/issues/9418 . Prior to I think ebcd7c2eb217734fc572d6aa4c57515341e4a6c0, this was not hit by tests. That change removed the condition hasValidationAnnotation(context), which caused the change in error handling.
Fixes https://github.com/micronaut-projects/micronaut-core/issues/9418

@yawkat I added this PR to GitHub projects. Please, remember to do that.

I don’t think this is correct, we always wrap the exceptions in the reactive context. The issue should be solved in HTTP module

@dstepanov we didn't in 3.x. the code path was only hit if the return value was validated, now it's always hit.
the error handling of reactive streams in http is annoying because the error only shows up in response processing, when everything else is already done. if you had an error response filter for example, it would also not be triggered by this error.

This is the style in which we write interceptors. We will hit this problem with another interceptor, so I don't think this is a solution.

i think i have an alternative solution in core.

should this be PR be closed?


reference each condition resource type

Describe the bug
The way this is currently designed. if I have multiple DG1 segments (which creates multiple condition resources)
diagnosis:
   expressionType: nested
   evaluateLater: true
   generateList: true
   specs: DG1
   expressionsMap:
     condition:
        valueOf: datatype/Reference
        expressionType: resource
        specs: $Condition
     use:
        valueOf: datatype/CodeableConcept
        expressionType: resource
        specs: DG1.6
        vars:
          coding: DIAGNOSIS_USE, DG1.6
     rank:
        type: STRING
        valueOf: DG1.15
        expressionType: HL7Spec

we reference Condition but in this case I am testing we have two conditions created.  which created two references but they both reference the first condition.
I tried to do it this way as well
diagnosis:
   expressionType: nested
   evaluateLater: true
   generateList: true
   specs: DG1
   expressionsMap:
     condition:
        valueOf: resource/Condition
        generateList: true
        expressionType: reference
        specs: DG1
     use:
        valueOf: datatype/CodeableConcept
        expressionType: resource
        specs: DG1.6
        vars:
          coding: DIAGNOSIS_USE, DG1.6
     rank:
        type: STRING
        valueOf: DG1.15
        expressionType: HL7Spec

and this gives us two different references but neither of those references are from the two conditions originally created from DG1 (you can tell by looking at the reference id)
To Reproduce
run this test
    @Test
    void testAdtA03MultipleConditionsPresent() throws IOException {
        String hl7message =
                "MSH|^~\\&|PROSOLV|SENTARA|WHIA|IBM|20151008130307||ADT^A01^ADT_A01|MSGID000003|T|2.6\r" +
                        "EVN|A01|20151008130307|||\r"
                        + "PID|||1234^^^^MR\r"
                        + "PV1||I||||||||SUR||||||||S|VisitNumber^^^ACME|A||||||||||||||||||||||||20150502090000|\r"
                        + "DG1|1||B45678|||A|\r"
                        + "DG1|2||B45678|||A|\r";

        List<BundleEntryComponent> e = ResourceUtils.createFHIRBundleFromHL7MessageReturnEntryList(hl7message);

        // Expecting 4 total resources
        assertThat(e.size()).isEqualTo(4);

        List<Resource> patientResource = ResourceUtils.getResourceList(e, ResourceType.Patient);
        assertThat(patientResource).hasSize(1); // from PID and PD1

        List<Resource> encounterResource = ResourceUtils.getResourceList(e, ResourceType.Encounter);
        assertThat(encounterResource).hasSize(1); // from EVN, PV1, and PV2

        List<Resource> conditionResource = ResourceUtils.getResourceList(e, ResourceType.Condition);
        assertThat(conditionResource).hasSize(2); // from DG1

    }

Expected behavior
in the test case above we are expecting two conditions and one reference to each condition

In release 1.0.16


Clicking "add xxx" on an image block adds at the wrong place

It's hard to say what the bug is exactly, but when I click "Add text" or "Add table" or whatever else on an image block, items are added below another image higher in my doc!

Could you maybe record it as a gif?

@pixelastic sorry I never saw your comment before. I can do that :)

... when I can reproduce it!
There's probably some kind of preliminary condition to make this bug happen, I'll let you know when I get to it!

Closing it for now.

hmm @redox I understand it is not easily reproducible so hard to move forward on the issue, but why close it?
At least the open issue helps remind anyone to keep an eye out for this bug?

If we cannot reproduce a bug, I don't see any value keeping it open. If someone triggers it again, the worst case will be to reopen a new issue instead of appending it to this one, which is not a big deal.
Some projects have even bots doing it.

OK, as you wish. Although the worst case will probably to have a duplicate ^^

OK, as you wish.


Restore lag comp quota behavior

Lag comp quota is intended to build up each turn so that it can be used for spikes.  The current code depletes quota on slow computers, and even for computers with cpu lag below .04s, quota builds too slowly to be able to be used for multiple spikes in a game.
This patch is intended to be a short term fix, with a significant code and documentation overhaul planned in the near future.

cc @lenguyenthanh


[cli] pin to the latest langchain version and fix changes for using the latest langchain

Tested manually with a local built whl and things worked properly


Drop _PageImports.cshtml and _PageStart.cshtml and just rely on _ViewImports.cshtml and _ViewStart.cshtml instead

Yay, delete code!

@Eilon @rynowak needs assigning

I will the do.

This looks like it was done?

Yep.
c6e4609096c740ebc9dad021dfb032b640a73100
4032de064eb79aee8fb4562afca7d7c610086aff


Wav2Vec 2.0 pretraining limited by CPU even on large machine

I'm running wav2vec 2.0 pretraining on a DGX A100  and I seem to be CPU-limited which is a bit surprising given the amount of CPU resources the machine has. The GPUSs seem to be working at barely 50%. When I lower the GPU count to four I get basically the same updates / time unit but with higher GPU load per GPU.
I have tried running with and without +optimization.update_freq='[x]' parameter with somewhat similar result. The CPU load is lower without it, bit GPU utilization is about the same.
Any thoughts?
Setup:
NVIDIA DGX A100
8 x A100 GPU
2 x 64 core / 128 thread CPU
1TB RAM
Ubuntu 20.04
Code runs inside NVIDIA NGC container

same issue here. Can anyone share the GPU utilization ?

I have the same problem...

the training process seems to be over-optimized on large machine ...
try to use parameter OMP_NUM_THREADS=1
like
OMP_NUM_THREADS=1 fairseq-train ...
(8 x A100 GPU / 128 thread CPU: GPU utilization approx. 97-100% and CPU 8% instead of GPU 30% and 100% CPU)

Thank you @lubossmidl! I did not see this as I had moved on to other things. Closing issue.
Funny story: we debugged a similar issue today and found this exact solution. I remembered this issue and checked it out. If only I had read you answer two years ago we would have saved a few hours :)


feat: support datatype struct reorder

Which issue does this PR close?

Closes https://github.com/apache/arrow-rs/issues/4908.
Rationale for this change

What changes are included in this PR?

Are there any user-facing changes?

Looks i break the python binding API. 😢

This PR try to fix the failed CI: #4957此 PR 尝试修复失败的 CI：#4957

hope it can merge quickly.


Unable to dial number in outbound

First time using Twilio.
This code did not work:
with response.dial() as dial:
    dial.number("+16518675309")

This worked in the end:
response.dial("+16518675309")
I couldn't find docs easily for VoiceResponse(), most examples just show response.say().
response.dial("+16518675309") was a lucky guess based on error TypeError: dial() takes at least 2 arguments (1 given)

Thank you for your message. Indeed this comment was wrong, it was using the previous version of the twilio-python library. It is now updated.


Install OpenSwan for MS Always on VPN

After some troubleshooting, need to get IKEv2 protocol. SoftEther does not support this, so moving to Linux!.

[ ] Bring up Ubuntu
[ ] Install OpenSwan/StrongSwan/LibraSwan
[ ] Validate regular VPN connection works

Going strongswan. No real metric on this decision as this PoC wasn't meant to test VPN server software.


Is there a way to add component to an existing Entity?

See title. If I have an entity with components and at runtime want to add more components to it without destroying it and recreating -is there a way to do it?

I have added some methods to do that. Here is an example.
var manager = new EntityManager();
var entity = manager.CreateEntity(1, 12L, 12.3);
entity.RemoveComponents<long, double>();
entity.AddComponents("My entity");

But please do not use this library for anything. At it's current state it just serves educational purposes. It is a source generation experiment.
The API lacks features and is just bad. I have added those methods just for demonstration.


Integers passed to a method expected an array implicitly allocate an array of that length

Prerequisites

[X] Write a descriptive title.
[X] Make sure you are able to repro it on the latest released version
[X] Search the existing issues.
[X] Refer to the FAQ.
[X] Refer to Differences between Windows PowerShell 5.1 and PowerShell.

Steps to reproduce
If one invokes a method that takes an array, passing a numeric type should fail. Instead, an array of that length is implicitly allocated and passed in.
For this issue, Convert.ToHexString has three overloads: byte[], byte[] plus offset+length, and ReadOnlySpan<byte>. When called with a numeric type (such as a character), PowerShell implicitly casts the numeric value to an array instead of failing.
See: dotnet/runtime#101757
Expected behavior
PS> [Convert]::ToHexString([char]0x200F)
InvalidArgument: Cannot convert value ... to type "System.Byte[]".

Actual behavior
PS> [Convert]::ToHexString([char]0x200F)
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

Specifically, 16414 zeros (or 0x200F*2) are printed.
Environment data
PS> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      7.4.2
PSEdition                      Core
GitCommitId                    7.4.2
OS                             Microsoft Windows 10.0.22631
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

The same result:
-join ([byte[]][char]0x200f)

PowerShell allows passing [char] to [byte]-typed parameters,  and therefore also to [byte[]]-typed parameters.
In the case of [byte[]], the unexpected array-allocation behavior occurs, namely if the code point of the character is > 0xFF (255), i.e. doesn't fit into a single [byte].
The bug also surfaces with PowerShell-native commands - even with casts, as @237dmitry as discovered - so the simplest repro with a parameter is:
# OK -> 1, 255
# That is: One byte with value 255
& { param([byte[]] $bytes) $bytes.Length; Write-Host $bytes  } ([char] 255)

# !! BROKEN, due to the character's code point being > 255 (0xFF)
# !! -> 256(!) bytes with value 0
# !! That is, values >= 256 are mistakenly interpreted as the size of an array of 0 bytes to allocated.
& { param([byte[]] $bytes) $bytes.Length; Write-Host $bytes  } ([char] 256)

By contrast, note that the behavior is correct in the following cases, resulting in a statement-terminating error with message "Value was either too large or too small for an unsigned byte" if  [char] code point or number > 255 is passed:

with [char] for [byte]-typed parameters (non-arrays), and if you pass an array of [char] values to a [byte[]]-typed parameter

with any instance of a numeric type, both in the [byte] and [byte[]] cases

The same result:
-join ([byte[]][char]0x200f)

Well that's plain odd.   Granted most assumptions about chars converting to 7 or 8 bits have been broken since unicode arrived, but even so it's madly inconsistent.
> ([char]8364)
€

>$x = ([char]8364)

> [int[]]$x
8364

> ([byte[]]$x).count   #  it's that number of zeros
8364

> ([byte[]]'€').count  # String literal fails
InvalidArgument: Cannot convert value "€" to type "System.Byte[]".

([byte[]][char]'€').count  # String cast to a char (same as $x) gives that number of zeros
8364

> ( [byte[]]::new(8364) ).count   # which is a bit like new() for a an array of byte
8364

( [byte[]]::new([char]'€') ).Count  # and works with a char
8364

> ( [byte[]]::new('€') ).Count   # but not with a string literal
MethodException: Cannot convert argument "0", with value: "€", for ".ctor" to type "System.Int32":

 ([byte[]][char[]]'€')    # Single char gives that number of zeros, but array fails
InvalidArgument: Cannot convert value "€" to type "System.Byte".

> ([byte[]]8364)    # and single int fails
InvalidArgument: Cannot convert value "8364" to type "System.Byte[]".
```

One of the conversion paths PowerShell utilizes is trying to pass the conversion subject as the first argument to a constructor of the target type.
So while it's definitely surprising, and one of the more wacky examples, it does fit within PowerShell's conversion logic. It ends up generating something sorta close to this:
[Convert]::HexString([byte[]]::new([int][char]0x200F))

Interesting, so[char] is allowed to bind to any numeric parameter, not just [byte].
I suspect the ship has sailed, but:
In general:
While supporting implicit [char]-to-[byte] conversion is understandable, I wonder what the benefit is of allowing something like the following, especially given that use of [char] requires a deliberate act in PowerShell:
# -> 8364
& { param([double] $foo) $foo } ([char] 0x20ac)

As for the specific case at hand:
You could argue that an array-typed parameter should never attempt a constructor call like that.
In fact, it is sensibly not attempted when you pass a number directly:
# -> "Cannot convert value "8364" to type "System.Byte".
#      Error: "Value was either too large or too small for an unsigned byte.
& { param([byte[]] $foo) } 0x20ac

In other words: an array-typed parameter that isn't given an argument of the exact type should only ever:

Try to convert a scalar value to the target type and then create a single-element array from it.
Try to convert a differently typed array element-by-element to create an array of the target type.

An inability to convert the argument / at least one argument element should result in a (statement-terminating) error.

Interesting, so[char] is allowed to bind to any numeric parameter, not just [byte].

It's more just that char > int is a valid conversion path. Just like how string can also convert to int, so this does the same:
[byte[]]'10000'

But direct answer, the conversion path for char > int is a very common way of getting the numeric value for a character. Might actually be my most used conversion interactively. Double is less clear of a case though for sure.

char > int is a very common way of getting the numeric value for a character.

Good point.
However, I think the point about the inappropriate array-constructor call in the case at hand is still worth addressing.

However, I think the point about the inappropriate array-constructor call in the case at hand is still worth addressing. There's no benefit to the current behavior, and it is only likely to cause confusion.

So to be clear it's a generic conversion path, not just for array types. For instance [IO.FileInfo]'some path' only works because of the "try passing it as an arg to a constructor" conversion path.
I'll definitely grant you that in a vacuum there's no benefit to the specifics of how that conversion plays out, but that's an inevitability with how permissive the system is.

Understood about the generic conversion path, @SeeminglyScience, but I'm still baffled by the following discrepancy:
# Sensibly FAILS - 0x20ac is only interpreted as [byte] - no fallback to constructor.
[byte[]] 0x20ac

# !! Unexpectedly equivalent to [byte[]]::new(0x20ac)
[byte[]] [char] 0x20ac

Note that the latter seemingly works only with [char], whereas any numeric cast - e.g. [byte[]] [long] 0x20ac - sensibly fails too.

Ahh okay so there's an existing exclusion in that rule for numeric types that gets circumvented when a non-numeric type could be cast as one. That's sort of the issue with hard coding exclusions (or adding to existing exclusions) the rules get really hard to reason about.
I'll open it up to engine to discuss, but either way I think the implementation would make it challenge without just hard coding a list of every type that is convertible to int.

The Engine WG discussed this and agree that the behavior is confusing, but decided that adding additional hard coded exclusions here is not worth the extra potential confusion and/or breaking changes.


Allow hints around the type and order of JOIN operations

Problem Statement
[Raising feature request for consideration/refinement following a brief discussion with @seut ]
In some cases, the optimizer may come out with a suboptimal plan for performing JOINs for a query.
There may be many reasons for this, but on an exceptional basis, knowing how the data looks like, it would be useful to be able to request a specific JOIN order or force a hash join.
Possible Solutions
Something along the lines of what other systems do:
PostgreSQL allows hinting NestLoop and MergeJoin with pg_hint_plan.
In MySQL order can be forced using the keyword STRAIGHT_JOIN instead of JOIN.
In MSSQL JOIN can be preceded with LOOP (for nested loops), MERGE, or HASH to request a specific mechanism.
In Oracle the optimizer looks for hints within /* */ comments and there are hints such as USE_NL to request nested loops.
Considered Alternatives
Try rewriting queries with subqueries until obtaining the desired plan, results may change when upgrading CrateDB or changing other factors in the environment.
References:
MS SQL Server Hints https://learn.microsoft.com/en-us/sql/t-sql/queries/hints-transact-sql-query?view=sql-server-ver16#force-order

Relates with https://github.com/crate/crate/issues/10213
if we consider the workaround suggested in https://community.snowflake.com/s/article/Controlling-Join-Order

Regarding the option of using special comments as in pg_hint_plan, a discussion in https://github.com/crate/crash/pull/386 pointed out that https://www.postgresql.org/docs/15/sql-syntax-lexical.html#SQL-SYNTAX-COMMENTS reads:

A comment is removed from the input stream before further syntax analysis and is effectively replaced by whitespace.

I think the "plan" is to use special comments as pg_hint_plan or Oracle:
/*+ PARALLEL(employees 3) */,  (notice the + sign) so those, shouldn't be removed at parser level.


Episodes cannot be played

Hey Wes, hey Scott,
currently your Syntax episodes cannot be played. Looks somehow related to this one #511
From the console:
GET https://hwcdn.libsyn.com/p/7/c/5/7c5f0b8cc34d0a58/Syntax262.mp3?c_id=76837604&cs_id=76837604&expiration=1594018437&hwt=16067ab227c69719890c89e32a23d490 net::ERR_CONNECTION_REFUSED
our-react-wish-list:1 Uncaught (in promise) DOMException: Failed to load because no supported source was found.

Personally running on<EMAIL_ADDRESS>but I feel like it might have less to do with it.
Google Podcasts App happens to have a similar issue (endless loading of SyntaxFm episodes).
Cheers,
Matthias

Has been fixed some days later without addressing this issue.


mesa: strip binaries; move to python 3.8

The size of mesa after installation is around 2.6 Gb,
after striping less than 300M.

@maxim-belkin just FYI; got some build errors with llvm 10 and I need to rebuild a llvm 9 bottle in homebrew-core, so I went for llvm 8 for the time being.

@iMichka, I cherry-picked your style-fixing commits, so feel free to remove them from your branch... Also, if you need to modify some of the CI steps -- feel free to do that.

Thanks, no issue. I will remove these commits.
We have an issue with dependencies that do not install, I'll have a look if I can fix this:

2020-05-18T18:54:56.0768226Z Error: No such file or directory @ rb_sysopen - /github/home/.cache/Homebrew/downloads/40284c34ec231cc6a152c4d5234a03f3ad4427971c80a049c946b8a447c0bd3e--libyaml-0.2.4.x86_64_linux.bottle.tar.gz
2020-05-18T18:57:54.5873973Z Error: No such file or directory @ rb_sysopen - /github/home/.cache/Homebrew/downloads/c85ec295b782a957f8118853fbf37c892e451c23335c923e7eb5ed93121596d7--ruby-2.7.1_3.x86_64_linux.bottle.tar.gz

@maxim-belkin this is now ready for review. The build worked on GitHub Actions.
What are the steps to get a bottle uploaded?

Superseded by #639


usage from an AST

I'm generating an AST for a Markdown file and would like to use mdast-toc to add a table of contents, but it seems like this will only work when processing an existing markdown file, rather than generating one from scratch. Should I generate into a file and then re-transform it, or is there a way to use a transformer without starting out with a file?

Sorry, I'm on my mobile rather than my mac, so you'll have to do without links: use mdast.parse together with mdast.run, that should do the trick without a file!

Here are the links for mdast.parse and mdast.run, hope that makes it a bit more clear. You won’t need a file for that, if you’d like to get access to that you’ll have to pass a done callback to mdast.run which receives a file as a parameter.


update ground created from heightmap picture

Hi and thanks for all the things you do. I would like to dynamicaly update a ground created with the function "creategroundfromheightmap". I want to change the image provided. and display the new map
thanks

Hey please use forum.babylonjs.com for questions


pre-commit: standardize more line endings to lf

https://github.com/pre-commit/pre-commit-hooks#mixed-line-ending
Description
This PR extends the "mixed line endings" pre-commit hook to apply to more file types.
Just trying to create a code standard to follow.
You can test locally from the repo root with:
pre-commit run --all-files

Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] New feature (non-breaking change which adds functionality)
[ ] Bug fix (non-breaking change which fixes an issue)
[ ] Enhancement (improves an existing feature and functionality)
[X] Cleanup (Code refactoring and cleanup, that may add test cases)

Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale

[ ] Major
[X] Minor

Bug Severity

[ ] BLOCKER
[ ] Critical
[ ] Major
[ ] Minor
[X] Trivial

Screenshots (if appropriate):
How Has This Been Tested?

@blueorangutan package

@jbampton a [SF] Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

Packaging result [SF]: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: el9 :heavy_check_mark: debian :heavy_check_mark: suse15. SL-JID 6632

lgtm, though a lot of the touched files seem unmaintained

We could also "exclude" files/folders from this check perhaps for this case of unmaintained files

as long as it passes, never mind

@blueorangutan package

@shwstppr a [SF] Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

Packaging result [SF]: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: el9 :heavy_check_mark: debian :heavy_check_mark: suse15. SL-JID 7396

@shwstppr a [SF] Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

[SF] Trillian test result (tid-7994)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 44664 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr7804-t7994-kvm-centos7.zip
Smoke tests completed. 111 look OK, 2 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test
Result
Time (s)
Test File

test_02_trigger_shutdown
Failure
337.08
test_safe_shutdown.py

test_03_deploy_vm_wrong_checksum
Error
40.60
test_templates.py

test_09_list_templates_download_details
Failure
0.04
test_templates.py


Change Joanna Stephens to Florence Nightingale in concept tests

Who is this for?
E2Es
What is it doing for them?
They started breaking this morning (see Slack convo), I'm thinking something has changed in the pipeline or in the data we have and Joanna Stephens didn't have works ABOUT her anymore. I flagged it in the channel but am changing the tests to Florence Nightingale in the meantime, it serves the same purpose and I'm thinking she's not likely to have no works about or by her in the future.

I'll go ahead with a merge as the e2es are passing and it should fix main


implementing logout?

The generator generates code for creating users, logging in, but nothing for logging out/ destroying the session.
Is there a recommended approach?

It uses JWT so the most simplest way to logout (which is the way I do on my apps) is just removing the token reference from the client (e.g. if you store it in cookies, just remove it from there).
There're other approaches. You can refer to this answer on SO: http://stackoverflow.com/a/23089839/5513909


actions supporting HTTP method types

Example
export default DS.Model.extend(ResourceActionsMixin, {
  // attrs here
  revoke: action('revoke', {
    method: 'DELETE'
  })
});

Used with user.revoke() and firing DELETE /api/users/21/revoke.

Hmm, interesting. I like the options hash, but this makes me think that maybe actions should be their own class perhaps. You can pass arguments to an action at invocation (I'll call these "params" for now):
book.publish({ foo: 'bar' })

But this is different, it's arguments for the action definition itself ("options"). In this case, it's options for the default action, but you could imagine the default action as just a default class (i.e. RESTAction) and the options here are overriding the default settings.
I could even see us auto-discovering actions on the container (i.e. for CLI projects, a folder under app/actions). Not sure if that's overkill though.
I guess the question is how much reuse would there be - would enough actions have enough code in common to make it worthwhile it consolidate into base classes that are extended, or is each action different enough that the overlap would be relatively small.
Sorry for the braindump, just sorting all this stuff out in my head. Comments welcome :wink:

I think that actions are usually too heavily tied to their models. There might be some exceptions, but those could be defined in utils and reused. Although, at the same time, it seems like it might be a hassle to create custom actions since you'd have to define an action on the resource and on the adapter, to handle methods besides POST.

Maybe a middle road approach would work, something like how ember-validations does custom validators. You can define it inline if you want, or as a separate class.
I'm not sure about exposing adapter options on the model though, now that I think about it. While the convenience is nice, it feels like a leaky abstraction. I'm not sure of a clean way to do this though, off the top of my head.

Maybe have different types of action functions that are importable?

getAction
postAction
putAction
deleteAction

But then there are so many methods, that you can't possibly have one for all of them. Maybe from there you have to define your own.

But that still feels like it's coupling to the adapter too much. What if you have a non-RESTful adapter, or even localStorage adapter, where a postAction might not make sense? I could see supplying RESTful actions out-of-the-box, at the adapter layer, but I'm not sure about defining them like that on the model itself.

@davewasmer Yeah, agreed. This is a tough problem, maybe we abstract out the method, and just create actions that use a "verb" from the adapter.
action('delete', { verb: 'delete' }) where 'delete' is a function (or action) on the adapter, and can do a DELETE ajax request, or it could do localStorage.removeItem(..).

In some sense, that was my goal with having an adapter layer and a model layer definitions for actions. Your adapter action would fire the appropriate ajax request or whatever is needed, and your model action would perform any logic against the in-memory model.
I think perhaps what makes more sense is to provide a base RESTAction definition that is used as the default action, and can be tweaked like this:
DS.Model({
  revoke: action('revoke')
});

DS.RESTAdapter.extend({
  actions: {
    revoke: RESTAction({ verb: 'DELETE' })
  }
});

Or something like that.

That looks reasonable.


[ARM Bugbash] ARM Template Deploy instructions should indicate where application will be installed (subscription)

Information:
AZ CLI 61; dotnet corebot template
Issue Description:
Trying to run through the instructions to deploy via ARM template and running into surprises:

We introduce a password, but don't describe what the password does/is used for in the docs
We don't remind people to specify subscription which could cause some enterprise devs some surprises when they deploy into their prod subscription

Commands Example:
C:\repos\BotBuilder-Samples\samples\csharp_dotnetcore\13.core-bot\deploymentTemplates>az ad app create --display-name "NotPigLatinBot" --password "bananabanana" --available-to-other-tenants

Moved to
https://github.com/Microsoft/BotBuilder-Samples/issues/1374


cmd/compile: optimizate with SBFX / UBFX

(SLLconst (SRAconst x [d]) [c]) -> SBFX
(SRAconst (SLLconst x [d]) [c]) -> SBFX
(SLLconst (SRLconst x [d]) [c]) -> UBFX
(SRLconst (SLLconst x [d]) [c]) -> UBFX
SBFX and UBFX are available on ARMv7.

Please also assign it to me. ^_^

@benshi001 Can you change the title to "cmd:compile: use SBFX / UBFX instructions for XXX on ARMv7" (where XXX is the operation you're optimizing, I think it's "bit extraction"(?)).


graphicsmagick:x86-windows-static-md build failure

Host Environment
Win 10 latest update
MSVC 2019 Community edition
To Reproduce
Steps to reproduce the behavior:
./vcpkg install graphicsmagick:x86-windows-static-md
Failure logs
trying to link for 32-bit system gives linking errors:
graphicsmagick.lib(jbig.c.obj) : error LNK2019: unresolved external symbol __imp__jbg_enc_init referenced in function _WriteJBIGImage
...
1>graphicsmagick.lib(jbig.c.obj) : error LNK2019: unresolved external symbol __imp__jbg_dec_free referenced in function _ReadJBIGImage
issue 1 - it is intended to be a statically linked app
issue 2 - no indication that a library built for GM contains either of these 2 statically linked functions
Additional context
Add any other context about the problem here, such as what you have already tried to resolve the issue.

Thanks for posting this issue. graphicsmagick:x86-windows-static-md can install succeed now. If it is still an issue, please reopen this issue.
Installing package graphicsmagick[core]:x86-windows-static-md...
Elapsed time for package graphicsmagick:x86-windows-static-md: 1.067 min

Total elapsed time: 4.095 min


Flash message stays displayed even after navigating to another page

Describe the Issue
I noticed that a flash message stays displayed even after navigating to another page. Was it always like this?
Affected Page
any
Steps to Reproduce

Perform any action to show a flash message (For example, change some settings)
Go to a different page
See the flash message

Expected behavior
Flash message should disappear after navigating to a different page
Screenshots

System

Device: Laptop
OS: Windows 10
Browser: Chrome
Version: 102.0.5005.115

Additional context
No response

I think it has always been like this, and this, in my opinion, is expected behaviour.
The flash messages are supposed to be relatively important. So, the only reason they should disappear is when a Camper closes them.

I think some flash messages should disappear after sometime. For example, after signing up successfully a flash notification should disappear itself.

Thank you @ShaunSHamilton . It's OK with me if it was by design. But I also agree with @Owais28 , I thought most of the flash messages are mainly used for letting users know the result of their action and don't need to stay there if user moved on to a different page.
I will close this issue for now as it was not a bug.


About Cutout size

Hi!
I found that in your code, you set cutout_op as iaa.Cutout(nb_iterations=(1, 5), size=[0, 0.2], squared=True), here size=[0,0.2] means the size is either 0 or 0.2 ( under imgaug 0.4.0), which is different as what is described in paper.
Maybe we should change it to iaa.Cutout(nb_iterations=(1, 5), size=(0, 0.2), squared=True) ?

That is a great observation. We did not notice this difference during implementation. If you would like to compare the difference and let us know that will be great.

That is a great observation. We did not notice this difference during implementation. If you would like to compare the difference and let us know that will be great.

In the process of reproducing the result of C+{GB}+Cutout under fully supervised manner, standard 1x setting in Table3, I tried to use cutout with binary {0%, 20%} and random [0%, 20%], here is the results:

method
mAP

binary {0%,20%}
35.4

random [0%, 20%]
35.6

So I think it may make a small difference.


Issue: Add Air Pollution Data

Created a separate component for displaying the air quality along with a graphic.

.container {
    display: flex;
    width: 30%;
    margin-top: 20px;
    padding: 10px;
    box-shadow: 0 3px 8px rgba(170,230,239,0.8), 0 3px 8px rgba(170,230,239,0.8);
    margin-left: 150px;
    border-radius: 8px;
}

Hi, Isa. I love the styling. Maybe I would suggest to make the box center instead of in the left? Since the weather information is displayed in the center. Otherwise, you did a great job!

I like the design suggestion, definitely should be implemented. Also resolve the merge conflicts please @isalyu


Add disclaimer to not fork

Many community members are doing mistake of forking the repository. Added disclaimers to attempt to raise awareness

Closing for now since there was no agreement where this information should be put.


Skip IPv6 node addresses while adding fdb entries

In a dual-stack environment, a node is configured
with both IPv4 as well as IPv6 addresses. Currently, Submariner supports only IPv4 environements, so we should skip processing any IPv6 addresses on the node.
Partially Fixes: https://github.com/submariner-io/submariner/issues/1739
Signed-off-by: Sridhar Gaddam<EMAIL_ADDRESS>

Sample log from a dual-stack env:
A Node with name "cluster2-control-plane" and addresses []v1.NodeAddress{
v1.NodeAddress{Type:"Internal IP", Address:"<IP_ADDRESS>"},
v1.NodeAddress{Type:"InternalIP", Address:"fd00:dead:beef::5"},
v1.NodeAddress{Type:"Hostname", Address:"cluster2-control-plane"}}
has been added to the cluster

@nyechiel @skitt @tpantelis Shall we backport this to release-0.14 branch?

How confident are we with this change?  I am a bit hesitant about backporting it without further testing on more platforms and operating systems, but open for feedback :)


Different permissions for different folders in the portal

As reported in https://github.com/globus/globus-sample-data-portal/issues/64 the problem is that I have created 2 folders with different permissions that should only allow members of the CMB-S4 group to access.

Hi Andrea,
Sorry for the delay in response.
I get the following error, which I think matches the behavior you are
looking for:
{
"context": [
{
"operation": "Directory List / File Scan",
"path": "/DM_only_simulation/atmo/"
}
],
"error": {
"body": "500 Command failed : Path not allowed.%0D%0A",
"code": 500,
"endpoint": "CMB-S4 public data (aec142b2-d523-11eb-8322-45cc1b8ccd4a)",
"server": "gsiftp://dtn-ro.nersc.gov:2811",
"type": "FTPServerError"
}
}
Is this what we want?
Thanks,
Eli
On Tue, Oct 26, 2021 at 3:31 PM Andrea Zonca @.***>
wrote:

Permissions fixed in #7
https://github.com/zonca/cmb-s4-data-portal/pull/7.
@elidart https://github.com/elidart can you please test this?
You should be able to access all the public data and also the folder:
S4 only DT1: Noise only no splits (doc)
because you are member of CMB-S4 group on Globus.
But you are not member of the CMB-S4 Data Management group (it is just me
for now)
so you should get permissin error trying to access:
DM only DT1: Atmosphere (doc)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/zonca/cmb-s4-data-portal/issues/6#issuecomment-952377984,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AB66DMHLOQCJTK33FP2PVQTUI4T3BANCNFSM5GYZOIXA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

--
Eli Dart, Network Engineer                          NOC:<PHONE_NUMBER>
ESnet Science Engagement Group<PHONE_NUMBER>
Lawrence Berkeley National Laboratory

Thank you,
Yes I don't know how to make that message be more user-friendly.

As discussed on the telephone today I will try to use the labeling to identify which data sets are public and which are not.
So we will have labels both for permissions and for identifying the type of data product.

ok @elidart @jdborrill,
I have implemented a permission filter,
by default only shows the public data (just foregrounds), then you click to display the other folders:

This is just for visualization purposes, the permissions are handled by Globus directly.

Hi Andrea,
Thanks great - thanks.
Can I suggest that the labels just be "Public", "CMB-S4" (since we should
also support project members), and "CMB-S4 DM". In the future we may add
other CMB-S4 subgroups too (like DRM).
And what happens if someone who isn't in CMB-S4 clicks the "CMB-S4" button?
Do they see those datasets but then are refused permission to download them?
Best,
Julian
On Tue, Nov 9, 2021 at 6:50 PM Andrea Zonca @.***>
wrote:

ok @elidart https://github.com/elidart @jdborrill
https://github.com/jdborrill,
I have implemented a permission filter,
by default only shows the public data (just foregrounds), then you click
to display the other folders:
[image: image]
https://user-images.githubusercontent.com/383090/141040639-124bd895-4cf5-413d-b279-81b495eae4c3.png
This is just for visualization purposes, the permissions are handled by
Globus directly.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/zonca/cmb-s4-data-portal/issues/6#issuecomment-964737182,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAC4LSVXM7SMH7ISGUCJRS3ULHMWJANCNFSM5GYZOIXA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

ok, renamed the labels,
yes right, they can see the first level but denied access if they click on it.

ok, permissions setup is good enough for the time being.


Display full throughput values for throughputs under 1k in Metrics UI

As @aturley was testing "sleepy time" Market Spread, the Metrics UI did not provide enough information as it expects to display throughputs in the -.--k format and he was testing with multi ms computations which resulted in sub 1k throughput values.
If we expect that users will have multi ms computations, should we display the raw throughput values up to 1k before changing to the -.--k format?
The work to do this is done and on a branch, as @aturley needed it for testing.
Want to get insight from others prior to opening a PR.

Yes. I think that is a wise idea.

@JONBRWN I think you can go ahead and open the PR unless you'd like to wait for other feedback.


fix permissions issue in quickstart

This PR fixes an issue @dhpup discovered in the quickstart.
Unbeknownst to me, kind and k3d use different usernames.
I've updated the PromotionPolicy resources to grant authority over Promotion resources for each Environment on the basis of group membership. Users of k3d and kind clusters should mutually belong to the system:masters group.

Not waiting for a full CI run for a docs only change.


Add a live preview/working demo of it on the website

Just found this package and I am already all for it, we have barely any reliable alternatives out there. Thanks for the work, Mr Wu!
I see the package was published this week so of course you have a lot to work on but something I missed was a simple working implementation on the website itself, very useful to test with multiple camera-powered devices out-of-the-box.
I have a HUGE project and I am willing to give this library the shot on it, is it "safe for production" already? I will likely be around here more often than not! Hahahahahah

Hi Pedro,
Glad to hear you like it :)

something I missed was a simple working implementation on the website itself

I too noticed a lack of demos may hinder immediate testing and not straightforward for everyone to see the package in action, so I'm already working on one.

very useful to test with multiple camera-powered devices out-of-the-box.

I wasn't planning to add camera/video streams demos because there're many quirks with setting up cameras or capturing frames across different devices. A dedicated UI component package is something in my mind and I might explore in the future. But feel free to share your thoughts on what kind of demo you're expecting.

is it "safe for production" already?

This package was originally published as @sec-ant/zxing-wasm (which is deprecated now) and refactored and renamed to zxing-wasm just two weeks ago. Some of the newly added options because of the refactoring haven't been thoroughly tested due to a lack of samples, use cases, feedbacks and my knowledge on implementing tests. That's why I also think a working demo is in need.
However, for basic core functions, this package is already used in barcode-detector which aims to serve as a Barcode Detection API polyfill with dedicated APIs for web browsers. And barcode-detector is utilized in vue-qrcode-reader (check out its demos: https://vue-qrcode-reader.netlify.app/), which provides a set of Vue.js components for detecting QR codes and various other barcode formats right in the browser. I believe this package has already powered many websites and apps in production environments but still comprehensive tests are advised.
And welcome for all kinds of feedbacks. It's good to know that you're willing to bring this package into your project.

Some update. Here is a screen record of the working demo I'm working on:
https://github.com/Sec-ant/zxing-wasm/assets/10386119/25e4030e-2cc4-4c95-814e-567d0348100c
I'm adding a results display and fixing some glitches before it goes online.

The demo is online: https://zxing-wasm-demo.netlify.app/
I think we can close this issue now.


Imporvement recommendation

Hello, I was really thrilled with your plugin, and want thank you for your work. On my side, I would like to ask you add a new feature, let's name that prop  "resetOnHover". Some details:

When user hover stars, we highlight selected stars;
When user clicks, we apply setRating() method;
When user hovers again on same stars, we START highlighting selected stars
If user did NO click and did blur from stars, we show PREVIOUS rating;
If user hovers and clicks, we apply setRating() method

I managed to do it dummy way by

function onStarClick(e)
I commented

// if (isRating === true) {
//   return;
// }
then
2. function onMouseMove(e)
// if (disabled === true || isRating === true) {
//   return;
// }
And it worked as I wanted, but I suppose that feature will be required. Thanks.

Hi,
Thanks for the input. I'm not sure I understand. How is this different from how it works today?
When isRating is true there is a rating in progress and done hasn't been called so this logic is required.

Hello, I do apologize, problem was on my side, widget has that logic, so what you stated above is true. Thanks, I close issue.


Xlsx file repair required when column width setting is added.

Excel is reporting that "Excel could not open orders.xlsx because some content is unreadable. Do you want to open and repair this workbook?".
The culprit of this is the following line in the to_stream method in XlsxReporter
sheet.column_widths *Array.new(sheet.cells.count, 15)

Without the above line, the file produced is completely legit.
class XlsxReporter

  def initialize(sql_query)
    @sql_query = sql_query
  end

  def header=(value)
    @header = value
  end

  def query_results
    @query_results ||= ActiveRecord::Base.connection.execute(@sql_query)
  end

  def header
    @header ||= query_results.fields
  end

  def to_stream
    p = Axlsx::Package.new
    p.workbook.add_worksheet(:name => "report") do |sheet|
      sheet.add_row header
      query_results.each do |record|
        yield record if block_given?
        sheet.add_row record.values
      end
      sheet.column_widths *Array.new(sheet.cells.count, 15)
    end
    p.to_stream
  end

end

class Hash
  # Updates the corresponding values from Strings to ActiveSupport::TimeWithZone objects,
  # and changes the timezone from utc to the system timezone.
  #
  #   {"id"=>"1", "created_at"=>"2015-07-21 01:52:53"]}.update_utc_time_format!(["created_at"])
  def update_utc_time_format!(keys)
    keys.each do |i|
      self[i] = parse_time_from_utc(self[i]) if self[i]
    end
  end

  def update_boolean_format!(keys)
    keys.each do |i|
      next if self[i].nil?
      if self[i]=='f'
        self[i] = 'FALSE'
      elsif self[i]=='t'
        self[i] = 'TRUE'
      end
    end
  end

  def update_date_format!(keys)
    keys.each do |i|
      self[i] = Date.parse(self[i]) if self[i]
    end
  end

  # Adds quotation marks around long numbers to prevent concatenation in Excel.
  def update_long_number_format!(keys)
    keys.each do |i|
      self[i] = '"' + self[i] + '"' if !self[i].to_s.empty?
    end
  end

private

  def parse_time_from_utc(t)
    Time.zone.parse(t) + Time.zone.utc_offset
  end

end

The class defined above is used as
def send_orders_report
  orders_stream = XlsxReporter.new(reporting_orders_sql).to_stream do |row|
    row.update_utc_time_format!(["order_confirmation_time", "start_time", "end_time",
      "order_created_at", "recurrence_created_at", "payment_created_at", "payment_updated_at"])
  end
  ReportMailer.data_mail("orders.xlsx", orders_stream.read).deliver
end

def reporting_orders_sql
  'SELECT o.id AS "order_id",
      o.order_confirmation_time AS "order_confirmation_time",
      o.start_time AS "start_time",
      o.end_time AS "end_time",
      o.status AS "order_status",
      o.service_address "service_address",
      o.order_lat AS "order_lat",
      o.order_lng AS "order_lng",
      o.created_at AS "order_created_at",
      o.price AS "order_price",
      o.price_with_discount_score AS "price_with_discount_score",
      cus.phone_number AS "customer",
      serv.phone_number AS "server",
      o.recurrence_id AS "recurrence",
      rec.created_at AS "recurrence_created_at",
      o.office AS "office",
      o.source AS "source",
      p.id AS "payment_id",
      p.total AS "payment_total",
      p.server_payable AS "server_payable",
      p.payment_method AS "payment_method",
      p.status AS "payment_status",
      p.trade_id AS "trade_id",
      p.out_trade_id AS "out_trade_id",
      p.created_at AS "payment_created_at",
      p.updated_at AS "payment_updated_at"
  FROM orders o
    LEFT JOIN users cus ON o.customer_id = cus.id
    LEFT JOIN users serv ON o.server_id = serv.id
    LEFT JOIN recurrences rec ON o.recurrence_id = rec.id
    LEFT JOIN payments p ON p.order_id = o.id
    ORDER BY o.id'
end

orders.xlsx

Gem version used:
axlsx (2.0.1)
  htmlentities (~> 4.3.1)
  nokogiri (>= 1.4.1)
  rubyzip (~> 1.0.0)

This is the repair report by Excel
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<recoveryLog xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main"><logFileName>Repair Result to orders1.xml</logFileName><summary>Errors were detected in file '/Users/peter/Library/Containers/com.apple.mail/Data/Library/Mail Downloads/B65491F5-9B4E-42A0-ABAD-AB558C0B6F14/orders.xlsx'</summary><removedFeatures summary="Following is a list of removed features:"><removedFeature>Removed Feature: Column information from /xl/worksheets/sheet1.xml</removedFeature></removedFeatures></recoveryLog>

I dont have time to dig into this in detail right now, but off hand, this seems wrong:
  sheet.column_widths *Array.new(sheet.cells.count, 15)

You are configuring width for columns that do not exist in the workbook.
Something like
sheet.column_widths *Array.new(header.count, 15)

Is probably what you want as sheet.cells.count = rows * columns

@randym  Thank you very much! That solved my problem.  The following line is the code I used:
sheet.column_widths *Array.new(sheet.cols.count, 15)


[Docs]Add documentation of some features in the contributing docs

Current State
In the contributor guide there is a documentation on the Clipboard feature but some of the features are missing like :
{toc}  - Used for the right-hand sidebar
{% if statement %} {% endif %} - To write a conditional if statement.
{% for condition %} {% endfor %} - To write a loop.
{% comment %} {% endcomment %} - Used for comment purpose.
Likewise I am providing some of the other features which need to be documented are:
{% include file.html %}
{{ content }}
{% assign %}
Desired State
These missing features should be there in the contributing docs which will help in understanding meshery docs better.

Contributor Resources

Meshery documentation site
Meshery documentation source
Instructions for contributing to documentation
Layer5 Community Slack
Jekyll Documentation [This would be a good resource for this issue]
Liquid Documentation [This would be a good resource for this issue]

I would like to give it a try!


Run canary twice a day to prevent false postitive alarm

Since the alarm triggers if a canary isn't run over the period of 1 day, if day 1's canary runs at 12:00 PM and day 2 runs at 12:01 PM, the alarm will trigger. And alarms can't be set to scan more than 1 day.
Description of change
Fixing canaries
Issue
https://github.com/aws/porting-advisor-for-graviton/issues/28
PR reviewer notes
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Looks good


Investigate WebGL 2.0 support

Chrome and Firefox are both aiming to enable WebGL 2.0 by default in January, so it's probably time for regl to start moving in that direction.

Definitely. Committing to regl with not clear WebGL 2.0 roadmap feels a bit risky.
Related issues:

Improve comments in core.js and util/codegen.js
Create pretty printer for generated code

So I have thought about this a lot and have opinions, but it is going to be a bit long to write it all out (so bear with me here).  The short answer though is that for at least the foreseeable future, WebGL 2.0 is not worth the trouble.  However, when this situation changes, then I think that the best way forward would be via a separate fork (call it regl2) that supports only WebGL 2.0.  Combining both WebGL 1 and 2 in the same library seems to me like a really bad technical decision and is likely to create massive cruft and bloat.
I'll elaborate on these points in a follow up reply.

WebGL 2.0 is not a sound technology investment
WebGL 2.0 does not provide anything you can't do in WebGL 1.0
The best argument against WebGL 2 is that it is unnecessary.  You can implement any WebGL 2 effect using WebGL 1 (with the appropriate extensions).  For example, transform feedback can be hacked with combination of vertex shader texture reads from framebuffer objects.  Other features like instancing, floating point textures and multiple render targets are available in WebGL 1 via extensions, and if they are not supported then it is also unlikely that WebGL 2 would be supported either.  It is true that WebGL 2 makes all of the above more convenient, but at the end of the day you don't really need it.
WebGL 2.0 is not backwards compatible
WebGL 2 changes many APIs in ways which are both large and small.  One of the biggest problems is changing the version of ESSL which effectively breaks shader compatibility.  This means that if you want to support WebGL 2 and WebGL 1, then you have to effectively write two versions of your renderer and ship both of them (including two sets of shaders and two different pipelines).
Support for WebGL 2 is bad will stay that way for a long time (especially on mobile)
WebGL 2.0 is a wrapper over OpenGL ES 3.0, which is not quite standard on all mobile devices.  Even today, vendors are still shipping new phones max GLES 2.0 support.  Looking back at the historically slow roll out of WebGL 1 onto iOS (it took Apple years to finally ship it), I am not optimistic that WebGL 2 will get above 30% adoption for years.  While WebGL 2 is usable for proof-of-concept and one-off installation work today, it is unreasonable to expect that most web users would be able to run it.  This defeats one of the greatest benefits of the web, which is the accessibility and ease of use.
Infrastructure for WebGL 2.0 is immature
Finally, we are still in the early days of WebGL 2.0.  This means that there are still many opportunities, but the going is much harder.  We still don't have a headless render for WebGL 2 or any system for working with it, and systems like glslify will have to be updated.  Taking all this into account, it more than counteracts any convenience improvements in WebGL 2, so if you are doing it expect to spend more time and development effort on whatever you are trying to build.

The case for patience and forking regl to WebGL 2
There is no way to unify both WebGL 1 and WebGL 2
First, there is no unifying abstraction over the two APIs.  If you are using transform feedback, then you have to write a completely different set of shaders and techniques than if you did ping-ponging/FBO hacking.  As a result the underlying WebGL version always leaks into the user space.  So whatever pathways and code generation regl uses will have to be specialized into separate versions for WebGL 1 and WebGL 2.
Code bloat and scope creep
Having two separate pathways means that we'll have to ship more code on the client, bloating the size of the library and leading to scope creep.  The best way to fight this is to take a disciplined stance early on and say no to unnecessary features.  Long term, this will help keep maintenance costs down and keep the library small, efficient and correct.
Time to learn
Finally, if we wait a couple of months to a year for WebGL 2 to settle before forking, then we'll also have more time to see how well regl works and learn from it.  The library is still young and the best practices for how to work with this regl haven't completely been developed.  Taking some time to let things settle down and reflect on how it could be improved means that when we do finally get around to making a regl for WebGL 2, we can actually make real qualitative improvements.  If we jump the gun and start on it right now, then it is like that whatever mistakes exist in regl (which we have not yet discovered) will be repeated.

Thanks for the reply. I agree that fork for v2 is the way to go and given the state of webgl2 on Apple platforms we have 1-2 years to go.. Didn't know that ES 3.0 situation on mobile is also that bad.
As for the benefits I'm mostly looking forward to Uniform Buffers for my fat PBR shaders.

One other thing to note with working with only WebGL 1, is that extensions don't seem to be supported by ANGLE, so things like headless-gl will fail for doing things from node and the command line. I ran into this issue this week.

@mikolalysenko agreed with all of your points, though I do feel this question will come up increasingly as devs become interested in the latest & greatest (even if it's not necessary).  I'd suggest adding a small note to the main README pointing to this discussion and affirming that regl specifically targets WebGL 1.0.

I ended up doing a lot of work trying to get WebGL2 working in ThreeJS for a Mozilla demo. I generally agree with @mikolalysenko that WebGL2 is not mature enough to bother supporting fully.
These are my three favourite features so far; the WebGL1 emulations are tricky and lead to some performance or quality loss.

MSAA render buffers: this means we can use post-processing and MSAA at the same time. In WebGL1 we are stuck with something like FXAA which our designers are not as happy with.
Transform feedback: something we tested on the Mozilla project was to update an instanced position attribute for a flock of bird geometries with the output of transform feedback.
Seamless cube maps: This is mainly useful for PBR and variable roughness with prefiltered & mipmapped radiance maps. ThreeJS emulates this with two fetches into a 2D texture atlas with all mipmap levels and cube faces which is less than ideal.

I'd definitely be interested in seeing a fork with some WebGL2 work. Even if Chrome is the only browser that supports it over the next 2 years, there are many applications built in Electron (e.g. games, image/video/art software, live art installations and VJing, etc) that would benefit from having a WebGL2-compatible framework.

I think it's reasonable to develop apps that only work for Chrome if the clients deems it acceptable for its users to be told "chrome only". I'm gonna try build a vanilla webgl scrolling road in webgl2 and come back here if its too painful.

Chrome-only when Firefox has WebGL 2: 😣

WebGL 2.0 have features, that have no in 1.0. Firstly is double precisions. Also, WebGL 2.0 have bitwise operations, and improved integers support. Yes, lack of compute shader and some packing functions.Yes, have no SSBO.

Yeah, this will happen.  Need to think through all the details but it is on my radar.

Hey, guys, has anyone tried to implement regl2 already?

@mikolalysenko I’m open to give a try to reimplementing regl with webgl 2 next two weeks. Is there any roadmap with best practices or notes that I can look at?
If there isn’t - let’s create a google docs page and attach to this issue?
Is webgl2 mature enough today?

I think the situation with WebGL 2 hasn't changed much.  Adoption is still around 40%, so I wouldn't actually ship anything with it.  The spec seems solid enough we can start building and experimenting but it's still 1-2 years before I'd use it in production.

Just a heads up, WebGL is now at 74.92% adoption.  Is there a value where its worth it to regl to guarantee VAO,UBO and NPOT textures?

WebGL2 seems to be very much dead as far as Apple’s platforms are concerned. OpenGL was deprecated and engineers responsible for webkit’s WebGL2 “implementation” are now working on WebGPU, which is a much better API not only in terms of stuff you can do with it (graphics, physics, neural nets, etc.), but also raw performance (no more unnecessary CPU and memory bottlenecks), not achievable in WebGL for architectural reasons. Although it is years away from being production ready and having 99.9% penetration, it is clearly the future.
Which is long way of saying that there will never, ever be a regl2...
And that’s a good thing. Long live regl!

Wow that sucks, as there are performance gains in just switching from weblg to webgl2.
I have created a renderer for openjscad that uses threejs that is 10x faster in render setu for quite few use cases (big objects, many reused geometries).
those are no small numbers, and they make a huge difference from having realtime preview of jscad model to waiting few seconds. Boolean operations in CSG are slow in nature, but is very sad to be slowed down by regl for many simpler models 😞
It is so sad to see such agressive stance against webgl2.

@chromice https://caniuse.com/webgpu not gonna happen . it is 2021 now , and no sign of it.

From Kronos WebGL + WebGPU July 2021 Meetup, WebGPU 1.0 might ship early 2022. Meanwhile, WebGL2 is supported in iOS 15.

@zakjan thanks for the link and info. It is nice to see where things are be heading.


ARROW-12189: [C++][Gandiva] Implement TO_TIME([string] given_text, [literal_string] format) and TO_TIMESTAMP([string] given_text, [literal_string] format)  and UNIX_TIMESTAMP functions

The function has similar behavior to the existent TO_DATE([string] given_text, [literal_string] format) function, but it returns the information about the hours, minutes, and seconds in the response.

I will convert the PR to a draft to add the implementation for the TO_TIMESTAMP([string] given_text, [literal string] given_format) function.

@projjal I found a limitation in the arrow method to convert string to dates and times using a defined format. That method calls the strptime method, which does not have an option to format sub-second granularities like milliseconds and microseconds, so if a user defines a format like YYYY-MM-DD HH:MI:SS.FFF, an error will be raised when the program tries to parse the date.
This example in my Pull Request shows the error that occurs when I try to parse a date using milliseconds in the format string.
Do I need to correct that problem in this Pull Request? Or it is better to create a new task to deal with the limitation and send the Pull Request with the possibility to format date, time and timestamps until the second time granularity now?

Added the implementation for UNIX_TIMESTAMP functions:

UNIX_TIMESTAMP([string] timestring, [string] format) - Gives the Unix time for the date in timestring using the format specified in format.
UNIX_TIMESTAMP([string] timestring) - Gives the Unix time for the date in timestring assuming a format of ‘YYYY-MM-DD HH24:MI:SS’.

@projjal I found a limitation in the arrow method to convert string to dates and times using a defined format. That method calls the strptime method, which does not have an option to format sub-second granularities like milliseconds and microseconds, so if a user defines a format like YYYY-MM-DD HH:MI:SS.FFF, an error will be raised when the program tries to parse the date.
This example in the Pull Request shows the error that occurs when I try to parse a date using milliseconds in the format string.
Do I need to correct that problem in this Pull Request? Or it is better to create a new PR to deal with the limitation and send the Pull Request with the possibility to format date, time and timestamps until the second time granularity now?

Would be better to correct it as part of this PR if possible

@projjal I checked that all functions that parse dates in C++, as the strptime(that is used by the arrow functions that checks if the function matches a date use the second as the maximum granularity. You said to correct the limitation about the milliseconds in the Pull Request if possible but I don't know any function or library that can replace strptime for casting dates. Do you have any tip?

@anthonylouisbsb  Does the functions accept pattern like 'MM.YYYY' ?

@anthonylouisbsb Does the functions accept pattern like 'MM.YYYY' ?
@projjal I tested some patterns that are allowed in Java and they are not working, but I found a library that is used https://unicode-org.github.io/icu/userguide/datetime/ to parse dates and the format is similar to the implemented in Java. I am implementing it on code


Which Authentication details are required for HA Integration?

Greetings,
I have tried using the Name and Token generated on the 'Personal Access Tokens' page of FireflyIII to authenticate your Integration in Home Assistant, but it throws an "Unknown error occurred".
Should I be using the login details for the FireflyIII account? (Which doesn't work either BTW)
I am running FireflyIII ver 6.1.22 and Home Assistant 2024.11.1
Thank you

Can you supplying log informations?
A terça, 12/11/2024, 04:09, PAS-BC @.***> escreveu:

Greetings,
I have tried using the Name and Token generated on the 'Personal Access
Tokens' page of FireflyIII to authenticate your Integration in Home
Assistant, but it throws an "Unknown error occurred".
Should I be using the login details for the FireflyIII account? (Which
doesn't work either BTW)
I am running FireflyIII ver 6.1.22 and Home Assistant 2024.11.1
Thank you
—
Reply to this email directly, view it on GitHub
https://github.com/soloam/ha-fireflyiii-integration/issues/39, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AC3FPI5JYYFYYEENPYW7UC32AF5P5AVCNFSM6AAAAABRTEAYJOVHI2DSMVQWIX3LMV43ASLTON2WKOZSGY2TAOJVHE3TMOA
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


Create Docker container for UM2N environment

The dependencies of UM2N take more than 15 minutes to install on the CI. It would be better to create a bespoke Docker container off of the Firedrake one that has them pre-built.

@jwallwork23 I see you took this over now. Do you mind if I take it and do it today? It's blocking #4 so I'd be keen to do it asap and test that it works

I already made a start by cherry-picking @chunyang-w's commits and putting them into mesh-adaptation-docs. Will open a PR, hopefully will have it resolved shortly.

Ah perfect, thanks!


A bunch of cleanups for cranelift-codegen-meta

Followup to https://github.com/bytecodealliance/wasmtime/pull/6767

Most of these changes seem entirely reasonable to me, but I want to think about the cranelift-codegen-shared bits more.

Do you want me to split the cranelift-codegen-shared removal into a separate PR?

If you'd like to split it I'm happy to merge the rest today and take a little longer to think about that part.

Split out https://github.com/bytecodealliance/wasmtime/pull/6773


bruig: News Feed with embedded images show "--embed"

Just updated from 0.1.1 to 0.1.3, and now under "News Feed" I see image posts like this:

When you open it:

Before updating, the "News Feed" previews showed the images.

The --embed content is being clipped because the title max length. This was introduced here: https://github.com/companyzero/bisonrelay/pull/57.
I think we should verify if the title contains an embed. If true, grab all the embed content, otherwise just return title = title[:maxTitleLen] like we are currently doing.
cc: @miki-totefu

I'd like to see this resolved as well.  My feed is filled with --embed[type= posts.


YETUS-1065. Add support for codespell

Preliminary patch because I'm not sure the dev version of codespell used here is quite stable yet. Plus should probably have a way to update the dictionary automatically in the container.  That said, it's be very helpful in our own development. Soooo?

rebase

rebase; version update

rebase + squash

OK, added -x support after some playing around with another codebase that has some stuff that wasn't well handled by just .codespellrc

Thanks!


Any info about how multiple commands can be used?

I have successfully tested how to use the "count" and "delay"
 [{"device":"31028313","button":"3","delay":100,"count":10}]
It would be very handy to be able to use ${intensity.percent} as the count value so we can  dynamically alter the count. Is it possible?
[{"device":"31028313","button":"3","delay":100,"count":${intensity.percent}}]
I have tried but not sure if it my syntax or if it is simply not possible.

I'll have to add that into the button calls. I am reworking how the structure is used across all device types, so this can be done.

Hello ..I had tried HABRIDGE 3.1.0 it was working well but when i was doing the same with ha-bridge-3.5.1 its giving the error which i had attached. Is HAbridge 3.5.1 supported by RPI with Rasbian???

I'd like to see ${intensity.byte} be available as well.

@Juppers  It will be all replacement types and math included.


feat: add aws rds component

Because

We need to integrate AWS RDS into our data pipeline.
This will allow us to cover data movement user stories

This commit

Allow client to connect to their aws rds database through VDP
Add SQL client initialization with and without IAM authentication.
Create execution function to handle SQL tasks (upsert, select, delete, query)

I have opened a new PR regarding the AWS RDS component. I had GPG key and component test issues with the previous PR (#191 ). This PR will be the final one. Thank you!

@chuang8511
I have fixed most of the problems. Please kindly review it for the second round. Thanks!

A quick question: any reason that we choose sqlx for the db client?

@donch1989
It might just be my preference, both sqxl and sql are actually the same, but I prefer sqlx more since it simpler and make the code cleaner


Bump thread gem to 0.1.7

thread gem v0.1.7 has be released to fix meh/ruby-thread/issues/34 .
This release also resolves #112 .

I'm sorry for my many commits...
This build failed, but builds seems to fail sometimes independently of commits.

@nownabe sounds like cross-talk between tests again, state being leaked or setup not being done. The CI setup is still a fairly recent thing, so it makes sense there are still some lingering issues. Any help in that regard would be appreciated, I'm sure, if at all possible.

@nownabe, the unstable tests should be fixed in #116, no worries.

@rud Thank you!! Test passed!

Awesome guys :)


Unclear command line arguments for Azure CLI in Private Link Tutorial

When creating a workspace with private endpoint, it says workspace name is required for CLI command but that's not reflected in the docs.

It makes sense to need a workspace name --workspace-name, but wasn't obvious at first

It may also require --resource-group and --location parameters since I was getting an error without them
Finally I was able to get rid of the error by setting my subscription in the azure cli, this wasn't clear either from the error I was getting.

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

ID: 61234740-d92b-cda0-a897-e3c588316726
Version Independent ID: a8302644-fe87-51bc-be07-f33f62dab542
Content: Configure a private endpoint - Azure Machine Learning
Content Source: articles/machine-learning/how-to-configure-private-link.md
Service: machine-learning
Sub-service: core
GitHub Login: @aashishb
Microsoft Alias: aashishb

@oolukoya
I have assigned the issue to the content author for further review and update the doc as appropriate.

@Blackmist , can you help with the doc changes?

@oolukoya
Thanks for the feedback. I'll have the doc updated to provide an example command and note that there may be additional parameters required.

Forgot to update this issue; change is now live. Thanks again for helping improve the documentation @oolukoya
#please-close


Initial API tests

Codecov Report

Merging #91 (49a11eb) into main (9ccbf53) will decrease coverage by 22.35%.
The diff coverage is 97.91%.

@@             Coverage Diff             @@
##             main      #91       +/-   ##
===========================================
- Coverage   89.76%   67.40%   -22.36%
===========================================
  Files           2        4        +2
  Lines         215      494      +279
===========================================
+ Hits          193      333      +140
- Misses         22      161      +139

Impacted Files
Coverage Δ

ddg_api.py
40.34% <50.00%> (ø)

tests/test_ddg_api.py
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

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


Nuxt 3 support

Hey,
I will work on making the module work with Nuxt 3 out of the box.

The work is currently done on the next branch and will be released probably next week after some testing.

That's awesome! How is it going? ETA?

@andreemic
The PR is ready. Just waiting to be reviewed and merged 🙂

Any news?

Is there any update regarding this issue and its related PR #47? According to a comment in the PR, the main branch is already working well with Nuxt 3; but it is unfortunately not true with<EMAIL_ADDRESS>or later versions.
Logs of postinstall script with<EMAIL_ADDRESS>(latest release on main branch) and<EMAIL_ADDRESS>home postinstall$ nuxt prepare
│ Nuxi 3.0.0-rc.13
│  WARN  [@nuxtjs/web-vitals] Please define a provider to activate this module
│  ERROR  (node:42744) ExperimentalWarning: The Fetch API is an experimental feature. This feature could change at any time
│ (Use `node --trace-warnings ...` to show where the warning was created)
│ √ Types generated in .nuxt
└─ Done in 3.1s

compared with logs of postinstall script with nuxtjs/<EMAIL_ADDRESS>(latest release on main branch) and<EMAIL_ADDRESS>home postinstall$ nuxt prepare
│ Nuxi 3.0.0-rc.14
│  ERROR  Cannot destructure property 'nuxt' of 'this' as it is undefined.
│   at webVitalsModule (D:/Areas/Workspaces/GitHubRepos/tdcloud/node_modules/.pnpm/@nuxtjs+web-vitals<EMAIL_ADDRESS>│   at installModule (/D:/Areas/Workspaces/GitHubRepos/tdcloud/node_modules/.pnpm/@nuxt+kit@3.0.0-rc.14_rollup<EMAIL_ADDRESS>│   at async initNuxt<EMAIL_ADDRESS>│   at async loadNuxt<EMAIL_ADDRESS>│   at async loadNuxt (/D:/Areas/Workspaces/GitHubRepos/tdcloud/node_modules/.pnpm/@nuxt+kit-edge<EMAIL_ADDRESS>│   at async Object.invoke (/D:/Areas/Workspaces/GitHubRepos/tdcloud/node_modules/.pnpm/nuxi@3.0.0-rc.14/node_modules/nuxi/dist/chunks/prepare.mjs:30:18)
│   at async _main (/D:/Areas/Workspaces/GitHubRepos/tdcloud/node_modules/.pnpm/nuxi@3.0.0-rc.14/node_modules/nuxi/dist/cli.mjs:50:20)
└─ Failed in 2.2s


add 'Roll Call Votes in the European Parliament'

Hi Erik,
thanks for the awesome collection of datasets!
I quickly added information on data on Roll-Call-Votes in the first six European Parliaments (1979-2009)  by Simon Hix, Abdul Noury and  Gerard Roland.
The dataset contains each MEP´s voting behaviour in the vast majority of RCVs in the first six European Parliament, some information on the MEP´s (Party Group, National Party...) as well es some (in many cases uncomplete) information on the vote.
The data is provided somewhat messy, therefore I couldn´t link to specific .csv/.Rdata/... files or even a codebook (Information on coding is in part provided on the author´s website, in part in a seperate excel-sheet).
The article doi  I entered links to the most recent article Hix et al. want people to cite when using their data.
For assingning a category and topics I reused your categorization of the Bundestag Roll Call Vote Data.
Have a nice day :)

Hi Robert,
That's great! Thank you very much -- I have merged the commit. Do feel free to add additional datasets when/if you find anything that might be relevant.
Have a nice day! :)


Simplify README and add diagram

Backport #353 to 0.9.x
N.B. - maybe it's need to be pointed to https://graphite.readthedocs.org/en/0.9.13/ instead of https://graphite.readthedocs.org/en/latest/ but 0.9.13 is not exist yet and pointing to 0.9.13-pre1 is quite pointless IMO...

Unnecessary. I doubt anyone will read this. The change to master was only for folks that land on the project and need to be directed to the real docs.