Make workspace chat instantly available on workspace creation and when users are invited

Details
Relies on these PRs to work:
https://github.com/Expensify/Web-Expensify/pull/33341
https://github.com/Expensify/Auth/pull/6537
Will need these running locally for this to work locally.
Fixed Issues
$ https://github.com/Expensify/Expensify/issues/201621
Tests
Same as Web QA but done locally. Be sure to have the above PRs running locally on Web-E and Auth for this to work.

[x] Verify that no errors appear in the JS console

PR Review Checklist

Contributor (PR Author) Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[ ] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[ ] I included screenshots or videos for tests on all platforms
[ ] I ran the tests on all platforms & verified they passed on:

[ ] iOS / native
[ ] Android / native
[ ] iOS / Safari
[ ] Android / Chrome
[x] MacOS / Chrome
[x] MacOS / Desktop

[x] I verified there are no console errors (if there’s a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. “toggleReport” and not “onIconClick”)
[ ] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct english, and explained “why” the code was doing something instead of only explaining “what” the code was doing.
[ ] I verified any copy / text shown in the product was added in all src/languages/* files
[x] I verified any copy / text that was added to the app is correct english and approved by marketing by tagging the marketing team on the original GH to get the correct copy.
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named “index.js”. All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY
[x] I verified any variables that can be defined as constants (ie. in CONST.js) are defined as such
[x] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] Any functional components have the displayName property
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] Any internal methods are bound to “this” properly so there are no scoping issues
[ ] Any internal methods bound to “this” are necessary to be bound
[ ] All JSX used for rendering exists in the render method
[ ] The component has the minimum amount of code necessary for its purpose and it is

[x] If a new CSS style is added I verified that:

[ ] A similar style doesn’t already exist
[ ] The style can’t be created with an existing StyleUtils function
(i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

PR Reviewer Checklist

[ ] I verified the correct issue is linked in the ### Fixed Issues section above
[ ] I verified testing steps are clear and they cover the changes made in this PR

[ ] I verified the steps for local testing are in the Tests section
[ ] I verified the steps for Staging and/or Production testing are in the QA steps section
[ ] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[ ] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[ ] I checked that screenshots or videos are included for tests on all platforms
[ ] I verified tests pass on all platforms & I tested again on:

[ ] iOS / native
[ ] Android / native
[ ] iOS / Safari
[ ] Android / Chrome
[ ] MacOS / Chrome
[ ] MacOS / Desktop

[ ] I verified there are no console errors (if there’s a console error not related to the PR, report it or open an issue for it to be fixed)
[ ] I verified proper code patterns were followed (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. “toggleReport” and not “onIconClick”).
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct english, and explained “why” the code was doing something instead of only explaining “what” the code was doing.
[ ] I verified any copy / text shown in the product was added in all src/languages/* files
[ ] I verified any copy / text that was added to the app is correct english and approved by marketing by tagging the marketing team on the original GH to get the correct copy.
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named “index.js”. All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[ ] I verified that this PR follows the guidelines as stated in the Review Guidelines
[ ] I verified other components are not impacted by changes in this PR (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[ ] I verified all code is DRY
[ ] I verified any variables that can be defined as constants (ie. in CONST.js) are defined as such
[ ] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] Any functional components have the displayName property
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] Any internal methods are bound to “this” properly so there are no scoping issues
[ ] Any internal methods bound to “this” are necessary to be bound
[ ] All JSX used for rendering exists in the render method
[ ] The component has the minimum amount of code necessary for its purpose and it is broken down into smaller components in order to separate concerns and functions

[ ] If a new CSS style is added I verified that:

[ ] A similar style doesn’t already exist
[ ] The style can’t be created with an existing StyleUtils function
(i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

QA Steps
This should be tested on Staging.

Create a new account on NewDot (should have access to workspace chats so it should be on expensifail.)

Create a workspace for this account using the global create on the bottom left.

After that workspace is created, verify that you can find the workspace chat for yourself when you search for it. It should look like this in the search and when you click on it:

Click on the header and verify the details for this chat should look like this:

No go to the workspace settings and Manage Members and invite a user:

Now, verify that you can find the workspace chat for this user in the search bar. Click on it and verify it looks like the following:

Click on the header and verify that the details for this chat look like this:

[ ] Verify that no errors appear in the JS console

Screenshots

Web

Mobile Web

Desktop

iOS

Android

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by @MonilBhavsar in version: 1.1.46-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

@TomatoToaster, we don't have to re-login but it appears after refreshing the page.
https://user-images.githubusercontent.com/43996225/160045080-6619c3a5-6d32-4b41-bd81-c3699d429de0.mp4

@kavimuru Could you redo QA again. This should be working now. I was able to verify it worked for me without a refresh just now.

@trjExpensify and I just tested and weren't able to get the workspace chat to appear without a page refresh.

I think that ^  should be fixed with the policyExpenseChat beta PR.
I was able to just test that this works here's a screen recording of me on staging with an expensifail account I just created:
https://user-images.githubusercontent.com/19364431/160705501-4dcdd3ab-8679-4b84-aaa6-4b7acafa8bfd.mov

🚀 Deployed to production by @timszot in version: 1.1.46-3 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅


Machavity: Watch turkiyedenshop.online

Machavity requests the watch of the watch_keyword turkiyedenshop\.online. See the MS search here and the Stack Exchange search here.

turkiyedenshop\.online has been seen in 0 true positives, 0 false positives, and 0 NAAs.

Approved by Makyen in Charcoal HQ


Rekor signature validity

Question
Right now, it is unclear to me how long the rekor public key will remain valid.
It is possible to obtain the public key via Rekor's API https://rekor.sigstore.dev/api/v1/log/publicKey. This allows one to store this public key for offline verification of Rekor log entries.
But if this key changes, then the offline rekor log entries would be invalidated (I am assuming). Are there plans to change the rekor public key? What conditions could trigger this change? And what happens to previously downloaded rekor log entries? Would they need to be updated since they will be signed by the new key pair? or will I need to keep track of the previous keys?
What's the mechanism here? Please let me know if my question is unclear.

See https://dlorenc.medium.com/using-the-update-framework-in-sigstore-dc393cfe6b52 - for the public instance of Sigstore, we distribute the root of trust for the Sigstore services using TUF. Cosign and other Sigstore clients are configured to use the TUF root to get public keys for Rekor.


ZenjectException: Assert hit!

ZenjectException: Assert hit!
ModestTree.Assert.That (Boolean condition) (at Assets/Plugins/Zenject/Source/Internal/Assert.cs:18)
ModestTree.MiscExtensions.RemoveWithConfirm[Scene,SceneContext] (IDictionary`2 dictionary, Scene key) (at Assets/Plugins/Zenject/Source/Internal/MiscExtensions.cs:43)
Zenject.SceneContextRegistry.Remove (Zenject.SceneContext context) (at Assets/Plugins/Zenject/Source/Runtime/SceneContextRegistry.cs:24)
Zenject.SceneContextRegistryAdderAndRemover.Dispose () (at Assets/Plugins/Zenject/Source/Runtime/SceneContextRegistryAdderAndRemover.cs:28)
Zenject.DisposableManager.Dispose () (at Assets/Plugins/Zenject/Source/Runtime/DisposableManager.cs:110)
Rethrow as ZenjectException: Error occurred while disposing IDisposable with type 'Zenject.SceneContextRegistryAdderAndRemover'
Zenject.DisposableManager.Dispose () (at Assets/Plugins/Zenject/Source/Runtime/DisposableManager.cs:114)
Zenject.MonoKernel.OnDestroy () (at Assets/Plugins/Zenject/Source/Runtime/Kernels/MonoKernel.cs:80)

Please provide more information on how to reproduce this

I'm sorry，When I'm trying


Updating Documentation

Closes #178 and Closes #179

Please don't forget to review this one.
CC @ChcJohnie @ericvalcik

Looking good, nice work! I'm also sorry for the late review.
Maybe one little question, for the manual install tab - wouldn't a little note above the code block saying something like "Copy this file inside the folder with your components" be nice to have there? Right now it just shows the file and that could be a little confusing. what do you guys think?

Looking good, nice work! I'm also sorry for the late review. Maybe one little question, for the manual install tab - wouldn't a little note above the code block saying something like "Copy this file inside the folder with your components" be nice to have there? Right now it just shows the file and that could be a little confusing. what do you guys think?

@ericvalcik good suggestion. I've added the following on top of each snippet.

Choose an a) automatic Install by running our @mailingui/cli following the commands/options provided or b) install manually by copying and pasting directly into your src/mailingui/components directory.

Looks fine
Not sure where to place it, but minor, slightly off topic observations:

quote 'into your src/mailingui/components' , maybe bit more general placement description could be found (as we are not requiring exact structure
noticed that in tsconfig.json step we suggest adding alias to components/index.ts, but think there is no word about having barrel components file in user repo throughout docs (is cli adding this?)
feature suggestion - could we have /docs/cli with all CLI methods and options listed. So in automatic installation section we can have only default cli command for that install without options clutter etc. (looks bit confusing to me)

Good suggestions, @ChcJohnie . Let's log issues for them. Here are my comments on them:

We are suggesting this structure as recommended to use our path aliases (installation docs overview). Of course, they users can choose not follow it. We could word this a bit better in the installation docs but would have to unify our suggestion here. Can open an issue and suggest a draft in what works best.
Adding all of the methods and options is a great suggestion. Although, I would keep the description of the options in the components automatic install section just for clarity. I don't feel like three or 5 additional lines are clutter.


CASSANDRA-19847: API changes to keep in-sync with trunks fork of accord classes, improvements to randomized testing

merged


Add ZIO Example documentation page

Closes #656

Summary:

new ZIO Example page
updated Getting Started page
left a TODO to add additional section about Prometheus and Graphana later

Also, shouldn't we put the example code described in this new documentation as a code somewhere, like under examples in the repository?

+1. This could be very useful - our current example application is very basic and uses only core ZIO. We can put it alongside the old example, not instead


Broken and missing links

Broken links in the localized documentation section
Also, this page should probably link to Microsoft's main style guide published on docs (docs.microsoft.com/style-guide)

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

ID: 4a1ae7b8-3034-5991-b141-e6f94136be95
Version Independent ID: f6dc9cb7-589f-de11-0b54-ad8a9394d66f
Content: Docs Style guide - Quick start - Contributor Guide
Content Source: Contribute/style-quick-start.md
Service: unspecified
GitHub Login: @BryanLa
Microsoft Alias: bryanla

Adding @MonicaRush for visibility.


ShowCaretOnScreen is correctly scheduled within a SliverMainAxisGroup

Fixes #141577
Pre-launch Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I signed the CLA.
[x] I listed at least one issue that this PR fixes in the description above.
[ ] I updated/added relevant documentation (doc comments with ///).
[x] I added new tests to check the change I am making, or this PR is test-exempt.
[x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

Hey @yiiim thanks for contributing! I wonder, would overriding showOnScreen for RenderSliverMainAxisGroup be the right approach here?

I disagree, RenderSliverMainAxisGroup needs to return the correct value for childScrollOffset instead of 0.

May also solve #135407.

I have verified that it can fix #135407 and added tests for it.


Can GDNative build and load StaticLibraries?

I am trying to create a Plugin with GDNative to connect with MongoDB, If I build MongoC and MongoCXX (the dependencies) with shared library and build the GDNative with shared lib everything works fine, but I cannot move the .so (because it's dynamic linked). But if I build the dependencies as StaticLibrary and rebuild the GDNative Plugin with StaticLibrary too then the Engine crash with the error:
OpenGL ES 3.0 Renderer: GeForce GTX 1060 6GB/PCIe/SSE2
ERROR: open_dynamic_library: Can't open dynamic library: /home/ricardo/Projects/godot-mongodb-gdnative/sample/bin/x11/libgdmongodb.a. Error: /home/ricardo/Projects/godot-mongodb-gdnative/sample/bin/x11/libgdmongodb.a: invalid ELF header
   At: drivers/unix/os_unix.cpp:427.
ERROR: get_symbol: No valid library handle, can't get symbol from GDNative object
   At: modules/gdnative/gdnative.cpp:487.
ERROR: init_library: No nativescript_init in "res://bin/x11/libgdmongodb.a" found
   At: modules/gdnative/nativescript/nativescript.cpp:1497.
SCRIPT ERROR: _ready: Attempt to call function 'new' in base 'NativeScript' on a null instance.
   At: res://Main.gd:10.
ERROR: get_symbol: No valid library handle, can't get symbol from GDNative object
   At: modules/gdnative/gdnative.cpp:487.
ERROR: terminate: No valid library handle, can't terminate GDNative object
   At: modules/gdnative/gdnative.cpp:393.

But I can build an independent binary with those static links.

I think you can link your dependencies statically into your project but build the project as a shared library. GDNative doesn't work with static libraries (there's one exception, but that's not important), so loading a .a file won't work.
So try to link the dependencies statically but keep your project shared

I tried to compile the SharedLibrary using the Mongo StaticLibrary, I've been trying this for the past three hours, and finally I got this error: "can not be used when making a shared object"
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
g++ -o src/gd_library.os -c -fPIC -g3 -Og -std=c++11 -pthread -fPIC -DMONGOCXX_STATIC -DBSONCXX_STATIC -DMONGOC_STATIC -DBSON_STATIC -I. -Igodot-cpp/godot_headers -Igodot-cpp/include -Igodot-cpp/include/core -Igodot-cpp/include/gen -I/usr/local/include/mongocxx/v_noabi -I/usr/local/include/bsoncxx/v_noabi -I/usr/local/include/libmongoc-1.0 -I/usr/local/include/libbson-1.0 -Isrc src/gd_library.cpp
g++ -o src/gd_mongodb.os -c -fPIC -g3 -Og -std=c++11 -pthread -fPIC -DMONGOCXX_STATIC -DBSONCXX_STATIC -DMONGOC_STATIC -DBSON_STATIC -I. -Igodot-cpp/godot_headers -Igodot-cpp/include -Igodot-cpp/include/core -Igodot-cpp/include/gen -I/usr/local/include/mongocxx/v_noabi -I/usr/local/include/bsoncxx/v_noabi -I/usr/local/include/libmongoc-1.0 -I/usr/local/include/libbson-1.0 -Isrc src/gd_mongodb.cpp
g++ -o sample/bin/x11/libgdmongodb.so -pthread -shared src/gd_library.os src/gd_mongodb.os -Lgodot-cpp/bin -L/usr/local/lib -lgodot-cpp.linux.debug.64 -lmongocxx-static -lbsoncxx-static -lmongoc-static-1.0 -lsasl2 -lssl -lcrypto -lrt -lresolv -lz -lbson-static-1.0 -lc /usr/lib/x86_64-linux-gnu/librt.so /usr/lib/x86_64-linux-gnu/libm.so
/usr/bin/ld: /usr/local/lib/libmongocxx-static.a(client.cpp.o): relocation R_X86_64_32 against `_ZN8mongocxx7v_noabi11logic_errorD1Ev' can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/libmongocxx-static.a: error adding symbols: Bad value
collect2: error: ld returned 1 exit status
scons: *** [sample/bin/x11/libgdmongodb.so] Error 1
scons: building terminated because of errors.

relocation R_X86_64_32 against

This is common issue. You have to rebuild all dependencies with -fPIC.


Documenting or improving the ergonomics of IAudioClient::GetService

Hey,
I was recently trying to figure out how to port an existing piece of code using winapi to windows-rs (awesome project btw). One part that was somewhat under-documented was how to interact with wasapi (a.k.a. CoreAudio).
I noted that the deeper you get into the API, the more mangling you had to do. In particular the only sound way to get an IAudioRenderClient client appears to be to transmute the pointer returned from calling IAudioClient::GetService. To my understanding this is the correct way to use or wrap the unsafe API, because the returned object is a pointer to an instance of IAudioRenderClient with a single refcount. And eventually dropping that object in Rust, should cause it to be released.
let audio_client = IAudioClient = todo!();

let render_client = unsafe {
    let mut render_client = ptr::null_mut();

    audio_client
        .GetService(
            &IAudioRenderClient::IID,
            &mut render_client
        )
        .ok()?;

    debug_assert!(!render_client.is_null());
    // NB: can this be avoided?
    mem::transmute::<_, core::IAudioRenderClient>(render_client)
};

Is this currently the most idiomatic way to use IAudioClient::GetService?
Full Example
Here I'll be posting the more-or-less full code sample in the hopes that others endeavoring to use these APIs have a bit more guidance.
This example opens the default audio device with the default mix format for rendering.
/// bindings - it's a bit superfluous, sorry!

fn main() {
    windows::build!(
        Windows::Win32::CoreAudio::*,
        Windows::Win32::Audio::*,
        Windows::Win32::Multimedia::{
            WAVEFORMATEX,
            WAVEFORMATEXTENSIBLE,
            WAVE_FORMAT_PCM,
            WAVE_FORMAT_IEEE_FLOAT,
            KSDATAFORMAT_SUBTYPE_IEEE_FLOAT,
        },
        Windows::Win32::StructuredStorage::PROPVARIANT,
        Windows::Win32::Com::{CoTaskMemAlloc, CoTaskMemFree, CLSIDFromProgID, CoInitializeEx, CoCreateInstance, CLSCTX},
        Windows::Win32::WindowsAndMessaging::GetForegroundWindow,
    )
}

use bindings::Windows::Win32::CoreAudio as core;
use bindings::Windows::Win32::Multimedia as mm;
use std::mem;
use std::ptr;
use windows::Interface;

pub const CLSCTX_INPROC_SERVER: u32 = 0x1;
pub const CLSCTX_INPROC_HANDLER: u32 = 0x2;
pub const CLSCTX_LOCAL_SERVER: u32 = 0x4;
pub const CLSCTX_REMOTE_SERVER: u32 = 0x10;

// Note: this appears like it's on its way soon:ish
// See: https://github.com/microsoft/win32metadata/issues/203
pub const CLSCTX_ALL: u32 =
    CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER | CLSCTX_LOCAL_SERVER | CLSCTX_REMOTE_SERVER;

fn main() -> windows::Result<()> {
    windows::initialize_mta()?;

    let enumerator: core::IMMDeviceEnumerator =
        windows::create_instance(&core::MMDeviceEnumerator)?;

    let device = unsafe {
        let mut device = None;

        enumerator
            .GetDefaultAudioEndpoint(core::EDataFlow::eRender, core::ERole::eConsole, &mut device)
            .and_some(device)?
    };

    let audio_client = unsafe {
        let mut audio_client: mem::MaybeUninit<core::IAudioClient> = mem::MaybeUninit::zeroed();

        device
            .Activate(
                &core::IAudioClient::IID,
                CLSCTX_ALL,
                ptr::null_mut(),
                audio_client.as_mut_ptr() as *mut _,
            )
            .ok()?;

        audio_client.assume_init()
    };

    let mix_format = unsafe {
        let mut mix_format = mem::MaybeUninit::<*mut mm::WAVEFORMATEX>::zeroed();
        audio_client.GetMixFormat(mix_format.as_mut_ptr()).ok()?;
        mix_format.assume_init()
    };

    unsafe {
        audio_client
            .Initialize(
                core::AUDCLNT_SHAREMODE::AUDCLNT_SHAREMODE_SHARED,
                core::AUDCLNT_STREAMFLAGS_EVENTCALLBACK,
                0,
                0,
                mix_format,
                ptr::null_mut(),
            )
            .ok()?;
    }

    let render_client = unsafe {
        let mut render_client = ptr::null_mut();

        audio_client
            .GetService(
                &core::IAudioRenderClient::IID,
                &mut render_client
            )
            .ok()?;

        debug_assert!(!render_client.is_null());
        // NB: can this be avoided?
        mem::transmute::<_, core::IAudioRenderClient>(render_client)
    };

    Ok(())
}

This is a common pattern in COM programming. The clock sample illustrates how to retrieve COM interface pointers without having to use mem::transmute in client code. As an example, here's the create_dxfactory implementation:
fn create_dxfactory() -> Result<IDXGIFactory2> {
    unsafe {
        let mut dxfactory: Option<IDXGIFactory2> = None;
        CreateDXGIFactory1(&IDXGIFactory2::IID, dxfactory.set_abi()).and_some(dxfactory)
    }
}

This is a common pattern in COM programming. The clock sample illustrates how to retrieve COM interface pointers without having to use mem::transmute in client code. As an example, here's the create_dxfactory implementation:
fn create_dxfactory() -> Result<IDXGIFactory2> {
    unsafe {
        let mut dxfactory: Option<IDXGIFactory2> = None;
        CreateDXGIFactory1(&IDXGIFactory2::IID, dxfactory.set_abi()).and_some(dxfactory)
    }
}

Nice! I this was a part I was missing. Thanks for the pointer!


Test for EventStream exception handling

Change logging of exceptions from Warning level to Error level
Closes #102

ConcurrentDictionary doesnt have order so non-exception handelr might run first


Short description and where to buy it

Hi!
Your project looks great. Can you expand a little more about it?
If possible, can we buy it from Tindie or somewhere else?
Cheers!

Thank you for the question.  I have pushed the BOM generated by KiCad.  Also I have the BOM now public on DigiKey: https://www.digikey.com/en/mylists/list/8CUIX9MIH1
I don't have any plans on selling on Tindie or anywhere else at this moment.  I'd have to see if there is any interest in the part before investing in mass production.  The CAN adapter market is a niche area and the market is somewhat saturated with solutions.

FYI: Our sister company is currently developing a candlelight CAN-FD device, see https://linux-automation.com/en/products/candlelight.htm. You can us know if you're interested<EMAIL_ADDRESS>

@ryedwards thanks a lot! :)
@marckleinebudde unfortunately link does not work for me :(

sorry - fixed the link


possibility to change the file transfer manager

What feature or improvement do you think would benefit Files?
Hello,
Your works on Files is amazing, despite some unstabilities
One of them is the bundled file transfer manager.
Could that be possible to add a settings to choose the software used for those operations

Files bundled manager
windows bundled manager
Teracopy
other

Thanks
Requirements

This proposal will accomplish X
This proposal will accomplish Y
This proposal will accomplish Z

Files Version
2.4.25
Windows Version
Windows 11 22H2
Comments
No response

Merging with #7518


About BatchNormalization

Hi, Thank you for your reproducible code about Yolov1.
I was wondering about the structure of your resnet_yolo.py
def forward(self, x):
    x = self.conv1(x)
    x = self.bn1(x)
    x = self.relu(x)
    x = self.maxpool(x)

    x = self.layer1(x)
    x = self.layer2(x)
    x = self.layer3(x)
    x = self.layer4(x)
    x = self.layer5(x)
    # x = self.avgpool(x)
    # x = x.view(x.size(0), -1)
    # x = self.fc(x)
    x = self.conv_end(x)
    x = self.bn_end(x)
    x = F.sigmoid(x) #归一化到0-1
    # x = x.view(-1,7,7,30)
    x = x.permute(0,2,3,1) #(-1,7,7,30)

Why there is a 'self.bn_end(x)' at the last of the Network?
Is it for faster convergency and critical for the performance?

Because in yolov1, it doesn't have bn layer, but dropout layer. In yolov1, it starts to use bn


Provide UI option for dynamic switching of currency in reports

When you open the reports view, if your accounts are in a different currency from the default (can happen due to importing an GnuCash XML), no data will be shown.
If you didn't already know that there was a setting to change the currency, it can be very confusing.
It will be nice to have an option to dynamically switch the currency from within the reports view itself.
@aint could you look into this?

Of course.


Add support for Italian and French sizes

See table at Farfetch: https://www.farfetch.com/style-guide/brands/french-brands-and-french-sizing-guide/

Are there any other sources on this?
As far as I know EU sizing actually comes from France. In EU sizing one size step is equal to 2/3 of a cm, which is not the same as one size step in US/UK (based on inches). This size chart equals them though, which is quite surprising and confusing.
Unless there are more sources/proof of this I'd prefer not to add it. You can always easily add your own though in case you need Farfetches own special standard.


Unknown provider

Hi I am using ocLazyload v1.0.5.
Previously Someone raised an issue regarding this (using the example textangular). I've done using the same example like following. But I got the issue.
In config

{
// Regarding AngularChart
   name: 'AngularChart',
   files: [
          'assets/angularjs-chartjs/angular-chart.css'
          , 'scripts/angular-chartjs/Chart.js'
          , 'scripts/angular-chartjs/angular-chart.js'

        ]
   , serie: true
   , cache: true

}

In routing
*
$routeProvider
    .when('/dashboard', {
        title: 'DASHBOARD',

        templateUrl: 'App/Dashboard/_Dashboard.html',
        controller: 'DashboardController',
        caseInsensitiveMatch: true,
        resolve: {
            loadTextAngular: ['$ocLazyLoad',
              function ($ocLazyLoad) {
                  console.log(1);
                  return $ocLazyLoad.load('AngularChart');
              }
            ],

            loadMyCtrl: ['$ocLazyLoad', 'loadTextAngular',
              function ($ocLazyLoad, loadTextAngular) {
                  console.log(2);
                  return $ocLazyLoad.load({
                      files: ['App/Dashboard/dashboardService.js','App/Dashboard/dashboardCtrl.js']
                  });
              }
            ]
        }

After doing this, I got the following issue.

Hello,
I don't see you loading the text-angular lib in your code, maybe that's the problem ? :)

I've added as you mentioned and getting the same exception :-(. I've debugged the code and captured the bug details. I am getting the value in res.
Note : I got the error before I come to the following block
return res;

I could solve the issue like following. Is this the correct method to solve?

 resolve: {

        loadTextAngular: ['$ocLazyLoad',
          function ($ocLazyLoad) {
              console.log(1);
              return $ocLazyLoad.load('AngularChart').then(function(res) {
return $ocLazyLoad.load({
                  files: ['App/Dashboard/dashboardService.js','App/Dashboard/dashboardCtrl.js']
              });

              //return res.
              }, function(err) {
                console.error(err);
              });
          }
        ],
}


[BEAM-11205][WIP] Libraries BOM 24 with google api client 1.32.2

Checking whether Google API Client 1.32.2 works or not.

[BEAM-11205] Google Libraries BOM 24.0.0 and associated deps
[BEAM-11205] The example Java test to declare bigquery dependency
[BEAM-11205] ApiSurface test to skip non-public annotations
[BEAM-11205] Added Libraries BOM upgrade into the 2.35.0 changelog
[BEAM-11205] libraries bom 24 + api client 1.32.2

Please add a meaningful description for your change here

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.


Steam is corrupted when shuffle read with RDMA Shuffle Manager

We have setup RDMA environment and run the Spark jobs with RDMA Shuffle Manager.  But sometimes it may cause the fail task although the task may re-schedule and complete finally. Here is the error log of the fail task. Since we have set spark.shuffle.compress=true and the default compressor Lz4Codec will throw exception of Stream is corrupted.
org.apache.spark.SparkException: Task failed while writing rows
	at org.apache.spark.internal.io.SparkHadoopWriter$.org$apache$spark$internal$io$SparkHadoopWriter$$executeTask(SparkHadoopWriter.scala:151)
	at org.apache.spark.internal.io.SparkHadoopWriter$$anonfun$3.apply(SparkHadoopWriter.scala:79)
	at org.apache.spark.internal.io.SparkHadoopWriter$$anonfun$3.apply(SparkHadoopWriter.scala:78)
	at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:87)
	at org.apache.spark.scheduler.Task.run(Task.scala:109)
	at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:345)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
Caused by: java.io.IOException: Stream is corrupted
	at net.jpountz.lz4.LZ4BlockInputStream.refill(LZ4BlockInputStream.java:202)
	at net.jpountz.lz4.LZ4BlockInputStream.read(LZ4BlockInputStream.java:157)
	at java.io.BufferedInputStream.fill(BufferedInputStream.java:246)
	at java.io.BufferedInputStream.read(BufferedInputStream.java:265)
	at java.io.DataInputStream.readInt(DataInputStream.java:387)
	at org.apache.spark.sql.execution.UnsafeRowSerializerInstance$$anon$2$$anon$3.readSize(UnsafeRowSerializer.scala:113)
	at org.apache.spark.sql.execution.UnsafeRowSerializerInstance$$anon$2$$anon$3.<init>(UnsafeRowSerializer.scala:120)
	at org.apache.spark.sql.execution.UnsafeRowSerializerInstance$$anon$2.asKeyValueIterator(UnsafeRowSerializer.scala:110)
	at org.apache.spark.shuffle.rdma.RdmaShuffleReader$$anonfun$4.apply(RdmaShuffleReader.scala:68)
	at org.apache.spark.shuffle.rdma.RdmaShuffleReader$$anonfun$4.apply(RdmaShuffleReader.scala:64)
	at scala.collection.Iterator$$anon$12.nextCur(Iterator.scala:434)
	at scala.collection.Iterator$$anon$12.hasNext(Iterator.scala:440)
	at scala.collection.Iterator$$anon$11.hasNext(Iterator.scala:408)
	at org.apache.spark.util.CompletionIterator.hasNext(CompletionIterator.scala:32)
	at org.apache.spark.InterruptibleIterator.hasNext(InterruptibleIterator.scala:37)
	at scala.collection.Iterator$$anon$11.hasNext(Iterator.scala:408)
	at scala.collection.Iterator$$anon$11.hasNext(Iterator.scala:408)
	at scala.collection.Iterator$$anon$11.hasNext(Iterator.scala:408)
	at scala.collection.Iterator$$anon$11.hasNext(Iterator.scala:408)
	at scala.collection.Iterator$$anon$11.hasNext(Iterator.scala:408)
	at org.apache.spark.internal.io.SparkHadoopWriter$$anonfun$4.apply(SparkHadoopWriter.scala:124)
	at org.apache.spark.internal.io.SparkHadoopWriter$$anonfun$4.apply(SparkHadoopWriter.scala:123)
	at org.apache.spark.util.Utils$.tryWithSafeFinallyAndFailureCallbacks(Utils.scala:1411)
	at org.apache.spark.internal.io.SparkHadoopWriter$.org$apache$spark$internal$io$SparkHadoopWriter$$executeTask(SparkHadoopWriter.scala:135)
	... 8 more

If we set spark.shuffle.compress=false, the error will be throw by readFully when try to unserialized the steam to row object.
Job aborted due to stage failure: Task 3 in stage 4.0 failed 1 times, most recent failure: Lost task 3.0 in stage 4.0 (TID 223, lnode6.leap.com, executor 1): org.apache.spark.SparkException: Task failed while writing rows
	at org.apache.spark.internal.io.SparkHadoopWriter$.org$apache$spark$internal$io$SparkHadoopWriter$$executeTask(SparkHadoopWriter.scala:151)
	at org.apache.spark.internal.io.SparkHadoopWriter$$anonfun$3.apply(SparkHadoopWriter.scala:79)
	at org.apache.spark.internal.io.SparkHadoopWriter$$anonfun$3.apply(SparkHadoopWriter.scala:78)
	at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:87)
	at org.apache.spark.scheduler.Task.run(Task.scala:109)
	at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:345)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
Caused by: java.io.EOFException: reached end of stream after reading 723048 bytes; 825504310 bytes expected
	at org.spark_project.guava.io.ByteStreams.readFully(ByteStreams.java:735)
	at org.apache.spark.sql.execution.UnsafeRowSerializerInstance$$anon$2$$anon$3.next(UnsafeRowSerializer.scala:127)
	at org.apache.spark.sql.execution.UnsafeRowSerializerInstance$$anon$2$$anon$3.next(UnsafeRowSerializer.scala:110)
	at scala.collection.Iterator$$anon$12.next(Iterator.scala:444)
	at scala.collection.Iterator$$anon$11.next(Iterator.scala:409)
	at org.apache.spark.util.CompletionIterator.next(CompletionIterator.scala:30)
	at org.apache.spark.InterruptibleIterator.next(InterruptibleIterator.scala:40)
	at scala.collection.Iterator$$anon$11.next(Iterator.scala:409)
	at scala.collection.Iterator$$anon$11.next(Iterator.scala:409)
	at scala.collection.Iterator$$anon$11.next(Iterator.scala:409)
	at scala.collection.Iterator$$anon$11.next(Iterator.scala:409)
	at scala.collection.Iterator$$anon$11.next(Iterator.scala:409)
	at org.apache.spark.internal.io.SparkHadoopWriter$$anonfun$4.apply(SparkHadoopWriter.scala:125)
	at org.apache.spark.internal.io.SparkHadoopWriter$$anonfun$4.apply(SparkHadoopWriter.scala:123)
	at org.apache.spark.util.Utils$.tryWithSafeFinallyAndFailureCallbacks(Utils.scala:1411)
	at org.apache.spark.internal.io.SparkHadoopWriter$.org$apache$spark$internal$io$SparkHadoopWriter$$executeTask(SparkHadoopWriter.scala:135)
	... 8 more

The SparkApp is simple. We read the data from HDFS and do some transformation before calling saveAsTextFile to save the data in HDFS. The fail task always happen in the final stage.
By the way, this issue may be not easy to reproduce. But in our environment, we have use the custom codec to save the RDD which may raise the probability about this issue. The codec can not get the stream or break the stream before RDMA Shuffle Manager doing the shuffle read, so we still have no clue about the root cause of this issue.

This seems to be an issue with LZ4 codec:
https://issues.apache.org/jira/browse/SPARK-18105
Can you please try to set ( lzf OR snappy OR  zstd) to spark.io.compression.code

Thanks @petro-rudenko . We have ty lz4 codec in this scenario and it works with SparkRDMA.

By the way, we got another error after shuffle read when compression was disable. So it is definitely not the issue of the compression implementation.

What's the error you got?

The error message for disable compression was in the description of this issue. The second section of https://github.com/Mellanox/SparkRDMA/issues/34#issue-465161133 .

We have communicated with the exports of FPGA and they said that the initialization of each FPGA process will request and reset some memory which may affect the data of shuffle read. We have seen that the data was corrupt with many bytes were 0 which looks like a fresh memory.
I'm not sure if it is related yet. But the RDMA Shuffle Manager may check or print the data of shuffle read. If it is not corrupted in the internal of RDMA Shuffle Manager but corrupted in the Spark executor's memory which may be initialized by FPGA code, it could be the issue of the client-size memory management.
We have seem the official Spark shuffle manager has the steam check for each shuffle, is it possible to add the similiar code in RDMA shuffle manager? @petro-rudenko

@tobegit3hub yes, i saw this feature. We're in the process of migrating SparkRDMA to more performant network backend based on ucx library. There we wodn't reimplement default spark iterator, rather all logic would be in the ShuffleClient. I'll check how easy would be to add corruption checker here. cc @yosefe

Thanks @petro-rudenko . That may help and we can test for the new client in our environment.


Adds an override flag to change behaviour when Jets is behind an ELB running Jets Server

This is a 🙋♂ feature or enhancement.
This is a 🧐 documentation change.

[ ] I've added tests (if it's a bug, feature or enhancement)
[X] I've adjusted the documentation (if it's a feature or enhancement)
[X] The test suite passes (run bundle exec rspec to verify this)

Summary
This PR adds an override flag (JETS_SERVER_ELB_OVERRIDE) so if jets server is being fed traffic through an ELB, we get the same behaviour as if we were hitting it locally or through another load balancer.
Context
As part of some internal work going on where I work, there's been a need to create a stronger feedback loop with a copy of various services, including one that uses Jets. These services can be fed through an ELB (typically an ALB) and will generally work as they would as if in a production environment however, Jets appears to diverge in its behaviour if we're behind an ELB -
https://github.com/boltops-tools/jets/blob/1ccd80b49d22bfdd53fa22f998b6faae37d8fe33/lib/jets/controller/middleware/local.rb#L71-L74
Returning false here resolves the issue and gets our intended behaviour. Unfortunately, I don't have enough context as to why this is being done and I don't want to risk potentially breaking anyone that might be using behaviour around this so I've added it in as a flag instead.
I'm not a Ruby developer by trade so please feel free to give pointers if there's a better way!
How to Test
Set up Jets to work behind an ELB and running in jets server. Without JETS_SERVER_ELB_OVERRIDE you'll get a 500 error (as well as a stack trace if you're running in a debug mode). JETS_SERVER_ELB_OVERRIDE being set to any value (recommendation 1) will override this logic and have it functioning as intended.
Version Changes

A patch bump (e.g. 3.0.14) is recommended for a bump in version.

Made some slight adjustments in #586. The flag is called JETS_ELB


3.6.9 (#169)

Checklist
Common

[ ] I am ran the app before creating PR
[ ] I am ran all tests before creating PR

UI

[ ] I am ran the app for visual checks.

Logic

[ ] I am tested basic app functionality.

Changes
Describe all changes here:

First;
Second;
Third;
...

Comments
Describe all additional information here.

Codecov Report

Merging #172 (50a5dac) into master (edff49d) will not change coverage.
The diff coverage is 64.92%.

@@           Coverage Diff           @@
##           master     #172   +/-   ##
=======================================
  Coverage   68.59%   68.59%
=======================================
  Files          68       68
  Lines        1554     1554
  Branches      104      104
=======================================
  Hits         1066     1066
  Misses        414      414
  Partials       74       74

Impacted Files
Coverage Δ

...an/hashchecker/components/clipboard/Clipboard.java
0.00% <0.00%> (ø)

...caldatastorage/impl/ormlite/OrmLiteConfigUtil.java
0.00% <ø> (ø)

...r/components/localdatastorage/models/DbEntity.java
40.00% <ø> (ø)

...omponents/localdatastorage/models/HistoryItem.java
58.33% <0.00%> (ø)

...calculator/lists/actions/types/UserActionType.java
100.00% <ø> (ø)

...r/features/history/view/loader/HistoryPortion.java
100.00% <ø> (ø)

...features/settings/presenter/SettingsPresenter.java
0.00% <0.00%> (ø)

...w/lists/weblinks/LibrariesWebLinksBottomSheet.java
0.00% <0.00%> (ø)

...sts/weblinks/PrivacyPolicyWebLinksBottomSheet.java
0.00% <0.00%> (ø)

.../jaman/hashchecker/ui/watchers/AppTextWatcher.java
75.00% <ø> (ø)

... and 107 more

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 8997925...50a5dac. Read the comment docs.


Result error: CUMIPMT

In Excel: "=CUMIPMT(0.05, 12, 240,1, 12, 1)" equals to -69.464
cumipmt(0.05, 12, 240, 1, 12, true) equals to -80.89255319995084

@ImJeremyHe Thanks for the report.
I will check it and fix it.


Support .small-right, .large-right, small-left, large-left

The .right and .left class are good, but on smaller screen design would be good to float differently.
Would be good to support .small-right, .large-right, small-left, large-left classes
and .small-text-right, .large-text-right, small-text-left, large-text-left

Here (modified from the text-align classes code in F5):
// Float alignment class names
$float-class-names:
  small-only,
  small,
  medium-only,
  medium,
  large-only,
  large,
  xlarge-only,
  xlarge,
  xxlarge-only,
  xxlarge;

// Float alignment breakpoints
$float-class-breakpoints:
  $small-only,
  $small-up,
  $medium-only,
  $medium-up,
  $large-only,
  $large-up,
  $xlarge-only,
  $xlarge-up,
  $xxlarge-only,
  $xxlarge-up;

// Generates text align and justify classes
@mixin float-align-classes{

  @for $i from 1 through length($float-class-names) {
    @media #{(nth($float-class-breakpoints, $i))} {
      .#{(nth($float-class-names, $i))}-left { float: left !important; }
      .#{(nth($float-class-names, $i))}-right   { float: right !important; }
      .#{(nth($float-class-names, $i))}-full  { float: none !important; }
    }
  }
}

@include float-align-classes;

Not sure how to handle adding margin to the floated element, so I leave that as an exercise for the reader. :)


public registries

Since this code is public as well as dapple is, it is easy for anyone to deploy and use an own registry. So I assume people will be doing this because:

We are restricting the namespaces
They want to use private/ corporate packages
They want custom functionality in their registries

This got me thinking if we want to provide this as a standard feature:
Requirements:

Dapple don't has one registry, but a hierarchy of registries for each environment.
The default registry is our root registry
Registries are specified in the .dapplerc ordered by their priority:

  live:
    ethereum:
      host: <IP_ADDRESS>
      port: '8545'
    ipfs:
      host: localhost
      port: '5001'
    registries:
      - 0x0123...ef
      - 0xfe...3210

dapple install <path> [<version>] searches for the specified package beginning with the highest priority registry to the lowest, if a match is fount it is installed
4.1. --registry (<address> | nr) flag can be
dapple publish pushes always to the top registry unless a --registry flag is  given

This could lead to wider and quicker mass adoption of dapple and packages.
@nmushegian @ryepdx

Seems reasonable to me.

this seems reasonable, except how is this info encoded into packages? shouldn't this appear at the dappfile level, with dapplerc left for default_registries which are used by init and doctor?

Yeah, having it at the dappfile level makes sense.

Why does a package needs to be aware of the registry? Shouldn't they be registry agnostic? What information would be gained by providing registry information in packages? Currently the git url and the current registry isn't encoded in a package after all...
Suppose I write wrong registry information or republish a package to another registry, which would lead to a corrupt state.

Currently we're assuming the aliases resolve to specific IPFS hashes in a global singleton registry. If we change the dappfile definition to no depend on this registry we need to somehow re-introduce hash addressing. The point is to actually make use of the checksums in our package data format. If packages are going to be linked by simple names then there will be security holes and dependency hell

Ah, I see.
on the package level, packages should always be referenced as hashes. We could provide checksums in the dappfile like you suggested or hide those information in the projects .dapple/ directory unter a dependency-map.


VSCode extension fails when using raw github link to ruleset

Describe the bug
My spectral.yaml file references a ruleset in GitHub with a raw github url:
extends:
  - https://raw.githubusercontent.com/azure/azure-api-style-guide/main/spectral.yaml

The Spectral-cli works just fine with this configuration, but the Spectral VSCode extension throws an error:
[Error - 10:17:36 AM] An error occurred while validating document /Users/mikekistler/Projects/Azure/azure-rest-api-specs/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/loadtestservice.json: Unable to read ruleset at /Users/mikekistler/Projects/Azure/azure-rest-api-specs/.spectral.yaml. Error: Could not load https://raw.githubusercontent.com/azure/azure-api-style-guide/main/functions/%00commonjsHelpers.js (imported by https://raw.githubusercontent.com/azure/azure-api-style-guide/main/functions/consistent-response-body.js): Error fetching https://raw.githubusercontent.com/azure/azure-api-style-guide/main/functions/%00commonjsHelpers.js: Bad Request

Note the %00 character before commonjsHelpers.js. This is likely the source of the problem.
Also, I will note that functions/consistent-response-body.js, and in fact no other file in the repository` has any reference to "commonjsHelpers.js".
One more detail -- the extension works fine if I clone the repo and point the Spectral config to my local copy.
To Reproduce
Set your Spectral config as shown above and then open any OpenAPI document.
Expected behavior
It should not throw an error -- it should run successfully and show the resulting lint messages in the Problems pane.
Environment:

Extension version: v1.1.0
VS Code version: Version: 1.72.2
Operating System: MacOS version 12.6

I made a stab -- unsuccessfully -- to debug this problem. I tried some simple things, like updating the versions of the spectral packages to the latest. I discovered that updating spectral-core and spectral path built fine but did not fix the problem.
However, when I updated spectral-ruleset-bundler (to 1.4.0), the build for the vscode extension fails.
> yarn --ignore-engines --silent webpack --mode production --stats errors-warnings --config ./server/webpack.config.js
WARNING in<EMAIL_ADDRESS>5:15-22
Critical dependency: require function is used in a way in which dependencies cannot be statically extracted

ERROR in /Users/Mike/Projects/stoplightio/vscode-spectral/server/src/linter.ts
./src/linter.ts 139:22-98
[tsl] ERROR in /Users/Mike/Projects/stoplightio/vscode-spectral/server/src/linter.ts(139,23)
      TS2345: Argument of type 'import("/Users/Mike/Projects/stoplightio/vscode-spectral/server/node_modules/@stoplight/spectral-ruleset-bundler/node_modules/rollup/dist/rollup").Plugin' is not assignable to parameter of type 'import("/Users/Mike/Projects/stoplightio/vscode-spectral/server/node_modules/rollup/dist/rollup").Plugin'.
  Types of property 'buildEnd' are incompatible.
    Type 'ObjectHook<(this: PluginContext, err?: Error | undefined) => void | Promise<void>, { sequential?: boolean | undefined; }> | undefined' is not assignable to type '((this: PluginContext, err?: Error | undefined) => void | Promise<void>) | undefined'.
      Type '{ handler: (this: PluginContext, err?: Error | undefined) => void | Promise<void>; order?: "pre" | "post" | null | undefined; } & { sequential?: boolean | undefined; }' is not assignable to type '((this: PluginContext, err?: Error | undefined) => void | Promise<void>) | undefined'.

This seems suspicious since there does appear to be code in the ruleset bundler to handle commonjs:
import { commonjs } from '@stoplight/spectral-ruleset-bundler/plugins/commonjs';

I toyed around a bit and found that the spectral-ruleset-bundler dependency works at version 1.3.0 but broke with 1.3.1.  I looked at the diff but I could not see how the changes in 1.3.1 would lead to the error above.
But I'm posting this here in hopes that it may trigger someone with a better understanding of this code to see what is going wrong and submit a fix.

I'm having the same issue.

I made another stab at updating the packages and this time it worked.  I think the trick is to make sure that the rollup packages is at the same level as is used in ruleset-bundler.


Feature/114 comparing two properties

Info
This Pull Request is related to issue no. #114
Guys, I added few lines of code to provide possibility to compare two properties. It's just a draft, so please take a look. I was not sure about it so I just added one Ensure method and one test to test if it's working.
I think that now we have two possibilities:

To have many Ensure methods. They can look like in this PR
Replace Ensure methods to have only one way of creating ValitRules. This could be big change I guess.

What do you think?
Changes

Added Ensure method to provide functionality of comparing two properties

I like this way of creating the rules. Now we need to decide what to do with that.
@arekbal @dbarwikowski  @tdeschryver  what are your thoughts?
We should not hurry with the decision, tommorow I'd like to release version 0.2.0 so this task will be scheduled for the 0.3.0 release (so before christmass).


[RFC] Add "allow" option to static middleware to specify allowed file extensions

The static middleware currently has a forbid option to forbid certain file extensions. I think it would be more consistent with security best practices to keep a list of allowed file extensions.
As is, I have to be very careful about:

Keeping track of which file types are available in my static directory.
Keeping my forbid list up to date.

Failure could result in a security vulnerability.
To address this, I propose adding a new allow option to the static middleware, listing file extensions the middleware is allowed to serve. The allow option would be applied before forbid, so that if a file extension is listed in both, it is forbidden. (I can't think of any reason it would be useful to do this.)
An empty allow array would mean allowing all file extensions (except those forbidden by forbid). By default, allow would be an empty array, so it would be backward-compatible with existing configurations.
Here is an example configuration that only allows .css and .js file extensions:
http:
  address: <IP_ADDRESS>:44933
  # ...
  middleware: [ "static" ]
  # ...
  static:
    dir: "assets"
    allow: [".css", ".js"]

I could imagine wanting to add similar functionality to the uploads configuration, but I'm not using uploads myself (yet?).

Hello @edsrzf . Sure, I completely agree with you. Will add this in the 2.1.0 release.

Unfortunately, I found some inconsistencies with the current implementation, so, the update will arrive a little bit later. Expected by the next sprint end.

No worries. Let me know if I can help. I'd originally intended to implement the option myself. It sounds like you've noticed something deeper that I would not be aware of.

Yeah, I found, that this plugin should be totally rewritten because initially it was moved from RR1 w/o any changes. I'll use here new features from the go 1.16 like io/fs and implement etag #16 (long-awaited feature), thus I just didn't have time to make changes to this release 😞

Okay, that makes sense. Thanks for the clear update!
There's no rush on my end. This was just something I found challenging as I was prototyping moving an existing application to use Roadrunner.


[Unable to Set Value in a form After Dynamics365 Wave2 Update ]

Bug Report
Issues should only be created for items related to covered functionality.
Not covered functionality, feature requests, and questions should use the Feature Request or Question templates.
EasyRepro Version

[x] Microsoft Dynamics 365 Online Version 9.1 (9.1.x) (DB 9.1.x) online

UCI or Classic Web

[x] UCI (XrmApp)

Online or On Premise

[x] Online

Browser

[x] Chrome

Describe the bug
I am unable to set value in a form after creating a record
Code to reproduce

        xrmApp.ThinkTime(2000);
        xrmApp.Entity.SubGrid.OpenSubGridRecord("workorderproductsgrid", 0);
        xrmApp.ThinkTime(2000);
        xrmApp.Entity.SetValue("msdyn_quantity", "1");
        xrmApp.Entity.Save();

Screenshots

@TYLEROL any solution or workaround for this ?

What is the error message?  Is it :   Field: 'blablabla' does not exist
I have this problem but only with date attribute.

Try get latest version of easyrepro,  it solve my issue

@chrizz-msweb  I have Update nugget package still this issue exist


Handle syncing

Describe the bug

If the full node is syncing we do some requests which fail.
To Reproduce

Run a full node and sync with main-net.
Expected behavior

No errors notifications.
Screenshots

Desktop (please complete the following information):

OS:
Browser:
Version:

Smartphone (please complete the following information):

Device:
OS:
Browser
Version

Additional context

I get this error too: https://forum.cosmos.network/t/cant-sign-in-with-ledger-nano-s/1740/5

easiest solution: full screen message if node is syncing.

Disable requests + trigger reconnect handling on full sync

no longer relevant.


Guard against invalid path environment variables

What You Are Seeing?
ArgumentException during tool resolution if user's PATH environment variable contains invalid paths according to System.IO.
What is Expected?
Skip the invalid paths.
What version of Cake are you using?
0.16.2
Are you running on a 32 or 64 bit system?
64
What environment are you running on?  Windows? Linux? Mac?
Windows
Are you running on a CI Server?  If so, which one?
No
How Did You Get This To Happen? (Steps to Reproduce)
Have an invalid path in my environment variable.
Output Log
Performing debug...
Attach debugger to process 6788 to continue
Debugger attached
Analyzing build script...
Analyzing e:/Code/CakeDocs/build.cake...
Processing build script...
Installing addins...
Installing NuGet package Octokit...
Error: System.ArgumentException: Illegal characters in path.
   at System.IO.Path.CheckInvalidPathChars(String path, Boolean checkAdditional)
   at System.IO.Path.IsPathRooted(String path)
   at Cake.Core.IO.Path..ctor(String path)
   at Cake.Core.IO.DirectoryPath..ctor(String path)
   at Cake.Core.Tooling.ToolResolutionStrategy.<>c.<GetPathDirectories>b__12_0(String p)
   at System.Linq.Enumerable.WhereSelectArrayIterator`2.MoveNext()
   at System.Collections.Generic.List`1.InsertRange(Int32 index, IEnumerable`1 collection)
   at Cake.Core.Tooling.ToolResolutionStrategy.GetPathDirectories()
   at Cake.Core.Tooling.ToolResolutionStrategy.LookInPath(String tool)
   at Cake.Core.Tooling.ToolResolutionStrategy.Resolve(IToolRepository repository, String tool)
   at Cake.Core.Tooling.ToolLocator.Resolve(String tool)
   at Cake.Core.IO.NuGet.NuGetToolResolver.ResolvePath()
   at Cake.NuGet.NuGetPackageInstaller.GetNuGetPath()
   at Cake.NuGet.NuGetPackageInstaller.Install(PackageReference package, PackageType type, DirectoryPath path)
   at Cake.Core.Scripting.ScriptProcessor.InstallAddins(ScriptAnalyzerResult analyzerResult, DirectoryPath installPath)
   at Cake.Core.Scripting.ScriptRunner.Run(IScriptHost host, FilePath scriptPath, IDictionary`2 arguments)
   at Cake.Commands.DebugCommand.Execute(CakeOptions options)
   at Cake.CakeApplication.Run(CakeOptions options)
   at Cake.Program.Main()

More Details
Tracked this to ToolResolutionStrategy.GetPathDirectories(). It makes an unguarded call to new DirectoryPath() for every path in the PATH environment variable. Since DirectoryPath defers some operations to System.IO if the path that was taken from the environment variable is not a valid path according to System.IO the exception will be thrown.
My proposal is to add a try-catch guard around the DirectoryPath construction and ignore any environment paths that throw. I'll submit a PR shortly for this.

Fixed by #1287


Added Reconfigure support for a service

Need https://github.com/ManageIQ/manageiq/pull/7073 to be merged to be able to see dialog with filled in fields on ServiceReconfigure request summary screen
screenshots:
Service with reconfigure task available

Service with no Reconfigure task available

Service Reconfigure form

Service Reconfigure form with reconfigurable field

after sumbitting reconfigure request

list of requests showing both types of Requests: Provisioning Request & Reconfigure request

ServiceReconfigure Request summary showing read only dialog

@dclarizio @himdel @AparnaKarve ready for review.

@AparnaKarve fixed code to put the accidentally removed rbac checks back.

@AparnaKarve fixed, please re-review.

@dclarizio Tested in UI -- looks good.
OK to merge.


question of multiperiod hack to resolve time-shift of stream

Have you read the FAQ and checked for duplicate open issues?:
What version of Shaka Player are you using?:
Can you reproduce the issue with our latest release version?:
Can you reproduce the issue with the latest code from master?:
Are you using the demo app or your own custom app?:
If custom app, can you reproduce the issue using our demo app?:
What browser and OS are you using?:
What are the manifest and license server URIs?:

What did you do?
What did you expect to happen?
What actually happened?
Question is realted to case https://github.com/google/shaka-player/issues/899
Im attempting to get how can i hack my time-shift of a stream problem. I have an encoder that makes stream that is for some reasons go back for 3 seconds per 24 hours (after some time a have to restart encoder procces but it is pain because of we keep DVR 24 hours). I attempted to make another periods in mpd with period starts and presentationTimeOffset that takes into accont that shift but no luck. I get two kind of results:
-from some shift (it depends on presentation delay) player get 404 for segments( it feteches segmetns, that did not appear)
-time shows correctly, but real stream is out of real time (i see that for example newews segment is 1001, but player asks for 900, so real presentation delay is too huge)
Can you give me a hint how can i win this time-shift issue?

Are you referring to encoder drift?  That's when the duration of what the encoder outputs is less than the time it took.  For example, every 24 hours, only 23.9 hours of content is output.

Yes, it seems tobe this is it! It is great that you refactoring player!
Im attempting to resolve it via multi-period at the moment, but no luck at the moment.
When approximately this solution will be ready at your side?

@kuznetcoff777 Thank you for your patiences. Right now @joeyparrish is working on #999. While the initial approach was a larger-scaled solution (addressing many other problems), he is now working on identifying a smaller scale-scale solution that would resolve #999 in a smaller time window and then later bring in the larger-scale solution.
Last I talked with him, a strategy for this is still being developed as it #999 has been a difficult problem to navigate. Going forward I would suggest following #999 as it will allow you to get more direct updates on the progress.
If following #999 resolves all your needs, please feel free to close this issue.


feat(cli): initial version

sorry about that :) intended to merge this to my fork, fatfingered the target branch name


Support auto-reload

Hope sfz supports auto-reload the page when the HTML files have been changed. 👏👏

Good idea. I have been thinking about this for a while. Off top of my head, sfz could learn something from mdbook: https://github.com/rust-lang/mdBook/blob/5921f598174938787ce5613f5d0c9e5851226a69/src/cmd/watch.rs#L108-L164

Thank you for the PR. Unfortunately I have no time working on it. See #108.


Perform l2cap fragmentation at lower layer

Att mtu is anyway bounded by l2cap mtu, use the pool mtu - 3 (att overhead) as guidance.
Remove mtu parameter from macros and const generics now that it is no longer needed.

/test


Fix loading of configuration in multi-file edge case

This PR fixes loading of configuration files that inherit from other configuration files, which require a gem. This was first documented in https://github.com/rubocop/rubocop/issues/5251.
Reproduction
Locally I used three files for reproduction.
.rubocop.yml
inherit_from:
  - more-rubocop.yml

RSpec/VariableName:
  Enabled: false

AllCops:
  NewCops: enable

more-rubocop.yml
require:
  - rubocop-rspec

my_spec.rb
# frozen_string_literal: true

RSpec.describe 'Banana' do
  let(:Banana) { '🍌' }

  it 'is delicious' do
    expect(send(:Banana)).to eq '🍌'
  end
end

Output without this PR
.rubocop.yml: RSpec/VariableName has the wrong namespace - should be Naming
Inspecting 1 file
C

Offenses:

my_spec.rb:4:7: C: RSpec/VariableName: Use snake_case for variable names.
  let(:Banana) { '🍌' }
      ^^^^^^^

1 file inspected, 1 offense detected

This is unexpected:

the offending cop should have been disabled
the warning about the wrong namespace should not appear

Output with this PR
Inspecting 1 file
.

1 file inspected, no offenses detected

Caveats

I did not add any tests for the case fixed in this PR

reproduction steps are reasonably complex that I am unsure how to properly approach a spec for this

Before submitting the PR make sure the following are checked:

[x] The PR relates to only one subject with a clear title and description in grammatically correct, complete sentences.
[x] Wrote good commit messages.
[x] Commit message starts with [Fix #issue-number] (if the related issue exists).
[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[ ] Added tests.
[x] Ran bundle exec rake default. It executes all tests and runs RuboCop on its own code.
[x] Added an entry (file) to the changelog folder named {change_type}_{change_description}.md if the new code introduces user-observable changes. See changelog entry format for details.

Closes https://github.com/rubocop/rubocop/issues/5251

Looks good to me. Thanks!


[lldb][cxx-interop] Tell LLDB about the extra layer of indireciton for foriegn reference types.

@swift-ci please test.

@adrian-prantl not really sure how to write a test for this. Could you point me to an example swift/lldb test?

For Swift, you could copy https://github.com/apple/swift/blob/main/test/DebugInfo/generic_arg.swift, which also checks for a DW_OP_deref on a local variable.

For the imported types, it's best to create a C++ module in Inputs/, like https://github.com/apple/swift/blob/main/test/DebugInfo/C-typedef.swift does.

For LLDB it could be based off of https://github.com/apple/llvm-project/tree/next/lldb/test/API/lang/swift/any . We should probably create a new subdirectory for the C++ tests there. I can write the first test and add you as a reviewer and then you can copy that going forward.


[PE-D][Tester B] Incorrect find industry command word documented

the example use i/ but above the example use f/

Labels: severity.High type.DocumentationBug
original: ThitipatC/ped#6

Duplicate issue as #84 #78 #75


[Refactor][UI] Refactor resource manage using NSpace component.

Purpose of the pull request
ref #10844

Brief change log

Verify this pull request

This pull request is code cleanup without any test coverage.
(or)
This pull request is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:

Codecov Report

Merging #11098 (3d3db84) into dev (445e830) will increase coverage by 0.01%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##                dev   #11098      +/-   ##
============================================
+ Coverage     40.33%   40.35%   +0.01%
+ Complexity     4873     4871       -2
============================================
  Files           950      950
  Lines         37183    37177       -6
  Branches       4077     4072       -5
============================================
+ Hits          14998    15002       +4
+ Misses        20675    20665      -10
  Partials       1510     1510

Impacted Files
Coverage Δ

...er/master/dispatch/host/assign/RandomSelector.java
77.77% <0.00%> (-5.56%)
:arrow_down:

...rver/master/runner/task/BlockingTaskProcessor.java
75.60% <0.00%> (-0.30%)
:arrow_down:

...eduler/api/service/impl/DataSourceServiceImpl.java
28.47% <0.00%> (ø)

.../dolphinscheduler/plugin/task/datax/DataxTask.java
0.00% <0.00%> (ø)

...cheduler/plugin/task/api/ShellCommandExecutor.java
0.00% <0.00%> (ø)

...er/api/service/impl/TaskDefinitionServiceImpl.java
24.01% <0.00%> (+0.05%)
:arrow_up:

...hinscheduler/plugin/alert/wechat/WeChatSender.java
29.78% <0.00%> (+0.20%)
:arrow_up:

...olphinscheduler/plugin/alert/email/MailSender.java
51.38% <0.00%> (+0.35%)
:arrow_up:

...erver/master/processor/queue/TaskEventService.java
80.35% <0.00%> (+10.71%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us.


Remove circular dependency on quickstart repo

To run the Rust -> e2e tests github action (required for merging PRs), this repo uses the quickstart docker image, which includes soroban-rpc (from this repo).
The result is that if you make a breaking change to soroban-rpc, the e2e tests will block you from merging it.
Example
We should resolve that circular dependency. Some options:

stop using quickstart image in e2e tests. Maybe simpler, but makes them less realistic.
make the e2e step rebuild quickstart with local changes
something else?

Only affects testing (not compilation), dependency should be fixed. Refactor integration tests. Mostly for CLI tests. get feedback on PR (via system tests).


[NNAPI]call memcpy() with null pointer dereference.

create initialize.tflite with model_personalization tflite-transfer-convert.
execute delegate with the following option.tflite::StatefulNnApiDelegate::Options options;
options.accelerator_name = "nnapi-reference"; // use CPU
auto delegate = new tflite::StatefulNnApiDelegate(options);

fatal error has occurred.signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0
Cause: null pointer dereference

nn_input_memory_->get_data_ptr() returns nullptr.

total_input_byte_size == 0

I suspect that just adding the check would not make the model run well through NNAPI delegate. We'd need to figure out the root cause on the nn_input_memory_ is not properly updated.


Continue on 'finish' instead of 'end'

I'm trying to figure streams out.
To help with that, I'm changing the way my tiny videos download helper works, to deal with streams.
Here is the desired workflow:

user passes a list of videos to be downloaded
get the first video from the list
search for the video (from Youtube API, returns a Promise)
get the video URL
download its content (returns a stream, which is piped to a file stream)
on finish, get the next video and go back to step 1, until list is over

The problem is that step 6 is run before the file is completely written (before the write stream's finish event), so the program "finishes" before the files are completely downloaded.
I would like the calls to be queued, somehow.
Here is the (simplified) code:
highland(tracks) // tracks = array of videos requested by the user
  .flatMap(track => highland(spotify.getTrack(track))) // getTrack returns a promise, which resolves with a track object
  .flatMap(track => downloadTrack(track, { path: output, logger })) // downloadTrack calls downloadYoutubeVideo that does the heavy stream work (see below)
  .on('end', resolve) // this code is wrapped in a Promise, irrelevant
  .resume();

function downloadTrack(track, { path = './', logger } = {}) {
  info(logger, chalk.bold.blue("   [Downloading track]"), track.name);

  let fileName = `${track.artists[0].name} - ${track.name}`;
  return downloadYoutubeVideo(fileName, path, { logger });
}

function downloadYoutubeVideo(name, location = './', { logger } = {}) {
  let fullPath = fsPath.join(location, `${createFolderName(name)}.mp4`);
  // setup folders
  if (!fs.existsSync(location))
    mkdirp.sync(location);

  let videoSearchPromise = youtube.searchMusicVideo(name);
  let writeStream = fs.createWriteStream(fullPath);

  return highland(videoSearchPromise) // search the video
    .map(video => {
      if (!video) {
        throw new Error("Video not found");
        return;
      }

      let downloadUrl = `https://www.youtube.com/watch?v=${video.id.videoId}`;
      debug(logger, `Downloading video from url: ${downloadUrl}`);

      let videoStream = ytdl(downloadUrl, { quality: 18 /* 360p */ });

      return highland(videoStream)
        .pipe(writeStream)
        .on('finish', () => console.log('Finish write:', name));
    });
}

(The complete code can be found here.)
This is the current output:
[spotivy v0.4.0]
Saving media to 'C:\Users\Guilherme\git\danguilherme\spotivy\media'

   [Downloading track] Don't Hold the Wall
   [Downloading track] Broken-Hearted Girl
   [Downloading track] Break the Ice
   [Downloading track] DJ Got Us Fallin' In Love

[spotivy v0.4.0] Finished successfuly
Finish write: Justin Timberlake - Don't Hold the Wall
Finish write: Beyoncé - Broken-Hearted Girl
Finish write: Usher - DJ Got Us Fallin' In Love
Finish write: Britney Spears - Break the Ice

And this is the desired output:
[spotivy v0.4.0]
Saving media to 'C:\Users\Guilherme\git\danguilherme\spotivy\media'

   [Downloading track] Don't Hold the Wall
Finish write: Justin Timberlake - Don't Hold the Wall
   [Downloading track] Broken-Hearted Girl
Finish write: Beyoncé - Broken-Hearted Girl
   [Downloading track] Break the Ice
Finish write: Britney Spears - Break the Ice
   [Downloading track] DJ Got Us Fallin' In Love
Finish write: Usher - DJ Got Us Fallin' In Love

[spotivy v0.4.0] Finished successfuly

How could I achieve that?

I think the problem is in this code
  return highland(videoSearchPromise) // search the video
    .map(video => {
      if (!video) {
        throw new Error("Video not found");
        return;
      }

      let downloadUrl = `https://www.youtube.com/watch?v=${video.id.videoId}`;
      debug(logger, `Downloading video from url: ${downloadUrl}`);

      let videoStream = ytdl(downloadUrl, { quality: 18 /* 360p */ });

      return highland(videoStream)
        .pipe(writeStream)
        .on('finish', () => console.log('Finish write:', name));
    });

Specifically, you do a map instead of a flatMap. map doesn't wait on its results the way that flatMap does, so the stream that you create completes as soon as the download is started, and not when it's done.
I think the following will work
  return highland(videoSearchPromise) // search the video
    .flatMap(video => highland((push, next) => {
      ...

      videoStream
        .pipe(writeStream)
        .on('finish', () => {
          push(null, highland.nil); // Notify Highland that the download has completed.
          console.log('Finish write:', name)
        });
    }});

By the way, using the EventListener events are kind of deprecated (they're not well-supported, and may interact poorly with the rest of the API). So for this part
  .on('end', resolve) // this code is wrapped in a Promise, irrelevant
  .resume();

you are better off using done instead, which does the same thing, but doesn't rely on events.
  .done(resolve); // No need to manually resume the stream.

It works perfectly!
Thank you for the response and for the tips about events too. Will use errors for errors as well.
(Updated code for the curious.)


fluxcd-community/helm-charts via artifacthub in fluxcd org

we published helm-charts for https://github.com/fluxcd-community/helm-charts via https://github.com/fluxcd-community/helm-charts/issues/5
artifacthub:
https://artifacthub.io/packages/helm/fluxcd-community/flux2
is it possible to move the artifactoryhub to fluxcd org? who is the right person to talk ?
thanks

Given the fluxcd-community GitHub organization is separated to distinguish "neutral endorsement" from "adoption under official organization", I think the same should be done for any ArtifactHub (or other) solution.
I have just created this organization and invited you, which should allow you to transfer the ownership of the repository to the organization.

Thanks - done https://artifacthub.io/packages/helm/fluxcd-community/flux2


[BUG] VM won't migrate during upgrade of 2 node cluster during pre-drain

Describe the bug

When you try to upgrade from a 2 node cluster a VM won't migrate from the compute node to the management node during pre-drain
To Reproduce
Steps to reproduce the behavior:

Deploy a 2 node cluster
Create a migratable VM
Create a non-migratable VM
Run the upgrade
Check for the migratable VM during the upgrade

Expected behavior

The VM should migrate to the other node during pre-draining
Support bundle

supportbundle_12c66287-7918-4ead-b2e0-bf7afe2d4f15_2024-03-12T20-07-06Z.zip
Environment

Harvester ISO version: v1.2.1 -> v1.2-16a196b9-head
Underlying Infrastructure (e.g. Baremetal with Dell PowerEdge R630): 2 node libvirt VMs with 8c and 32GB RAM

Additional context
Add any other context about the problem here.
Found while testing #3019
hvst-upgrade-bcdk2-upgradelog-archive-2024-03-12T19-49-46Z.zip

Closing as duplicate of #5076 as recommended by @bk201 .


Resumable state

Provides a method for dumping of internal state so that it can be recreated in a new Shoukaku instance.
This would be useful when a bot restarts for updates, as it minimises disruption for users.
This closes #118.

p.s. code has not been tested, further investigation is required to see if this is reliable, and see how much resources it consumes

p.s. code has not been tested, further investigation is required to see if this is reliable, and see how much resources it consumes

I can test on my side and correct bugs

but how can you avoid errors like these:
{
code: 4006,
reason: 'Session is no longer valid.',
byRemote: true,
guildId: '972875190071595058',
op: 'event',
type: 'WebSocketClosedEvent'
}
or is it possible to create a new session Id (discord) for the player update?

but how can you avoid errors like these:
{ code: 4006, reason: 'Session is no longer valid.', byRemote: true, guildId: '972875190071595058', op: 'event', type: 'WebSocketClosedEvent' }
or is it possible to create a new session Id (discord) for the player update?

idk

PR needs to be updated for #158 in the future.


How to logout

How does one logout? I setup a new account and need to sign in with that one. I can't find any options to logout, or preferences with accounts.

Never mind, just found it. You have to not hide it from the dock and menus.

Yeah.  I think the keyboard equivalent may still work even if you've
got things hidden.
On Thu, Oct 25, 2018 at 04:20:31PM +0000, Billy Baroo wrote:

Never mind, just found it. You have to not hide it from the dock and menus.


Update dependencies, bump to 0.1.6

Thanks @machty!
Don't forget to make a new tag (for good ol' Bower)

@jmeas thanks for the reminder! Done!


AIRR Germline schema

initial drop in of germline schema
some tasks

[ ] determine appropriate normal/de-normal representation
[ ] review nullable for each field
[ ] review field names
[ ] hook schema into documentation
[ ] ADC API
[ ] "fix" germline set references in Repertoire

replaced by #530


style: 注释代码，理解代码

Please check if the PR fulfills these requirements

[ ] The commit message follows our guidelines
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
What is the current behavior? (You can also link to an open issue here)
What is the new behavior (if this is a feature change)?
Does this PR introduce a breaking change? (What changes might users need to make in their application due to this PR?)
Other information:

chore:  study  注释代码，理解代码


discovery(engine): store executor information to database

What problem does this PR solve?

Issue Number: close https://github.com/pingcap/tiflow/issues/6867
What is changed and how it works?
Store executor information to the database. And deprecate NodeInfo. After this modification, executor discovery doesn't need to depend on ETCD anymore.
Check List
Tests

Unit test
Integration test
Manual test (add detailed scripts or steps below)
No code

Questions
Will it cause performance regression or break compatibility?
Do you need to update user documentation, design documentation or monitoring documentation?
Release note
None

Codecov Report

Merging #6918 (c4efa99) into master (7c5032c) will decrease coverage by 0.0138%.
The diff coverage is 54.1083%.

Additional details and impacted files

Flag
Coverage Δ

cdc
67.2997% <68.8034%> (-0.0772%)
:arrow_down:

dm
52.0322% <52.4822%> (+0.0336%)
:arrow_up:

engine
62.5541% <49.3630%> (-0.0813%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.
@@               Coverage Diff                @@
##             master      #6918        +/-   ##
================================================
- Coverage   59.9224%   59.9086%   -0.0139%
================================================
  Files           783        789         +6
  Lines         89519      89740       +221
================================================
+ Hits          53642      53762       +120
- Misses        31168      31253        +85
- Partials       4709       4725        +16

Reviewing notes:
Is it better rename engine/servermaster/orm to engine/servermaster/executormeta? (orm may be confused with engine/pkg/orm).

Reviewing notes:
Is it better to rename engine/servermaster/orm to engine/servermaster/executormeta? (orm may be confused with engine/pkg/orm).

+1 for engine/servermaster/executormeta

/merge

/hold
Merge after engine/servermaster/orm is renamed to engine/servermaster/executormeta`.

/hold
Merge after engine/servermaster/orm is renamed to engine/servermaster/executormeta.

Done. See https://github.com/pingcap/tiflow/pull/6918/commits/5d8c700ae3ce39ad7a4bfe6d4c895e8913a656c3.
@amyangfei @liuzix  PTAL again

/unhold

/merge


word2canvas hangs on unexpected Word doc structures

If the word doc doesn't match some of the expectations (e.g. no title) w2c will hang
Current list

No title in the word doc
Content post the title but before the first h1

diagnosis
userscript.html?name=Word%25202%2520Canvas%2520Module.user.js&id=257d3a7d-c5a1-43f6-a157-a4633317a15b:27322 Uncaught (in promise) Error
at status (userscript.html?name=Word%25202%2520Canvas%2520Module.user.js&id=257d3a7d-c5a1-43f6-a157-a4633317a15b:27322:35)
at async c2m_Modules.createModule (userscript.html?name=Word%25202%2520Canvas%2520Module.user.js&id=257d3a7d-c5a1-43f6-a157-a4633317a15b:26990:9)

diagnosis - no h1
If there's no h1 in the document should

[ ] generate error on import
[ ] handle the fact that there are no items better

Adding fatal-error checking to initial conversion to HTML
Add li.w2c-message-fatal-error to c2m_WordConvert / c2m_CheckHtmlView

[ ] There is no title
[ ] No h1s
[ ] Content before the first h1 (but not the title)


🌱 Add staticcheck ci action

Signed-off-by: Jason Liu<EMAIL_ADDRESS>Ⅰ. Describe what this PR does
Ⅱ. Does this pull request fix one issue?

fixes #71
Ⅲ. Describe how to verify it
Ⅳ. Special notes for reviews

/lgtm


fix:fix show hello when open nvim in topleft

Proposed change

x-special/nautilus-clipboard
copy
file:///var/run/vmblock-fuse/blockdir/ZNZ9a9/1675406331282.mp4

thie image is open nvim
Type of change

[x] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (thank you!)
[ ] Code quality improvements to existing code or addition of tests
[ ] Documentation update

Additional information

This PR fixes or closes issue: fixes #
This PR is related to issue:

Checklist

[x] I am running the latest version of the plugin.
[x] The code change is tested and works locally.
[x] There is no commented out code in this PR.
[ ] The code has been formatted using Stylua (a .stylua.toml file is provided)
[ ] The code has been checked with luacheck (a .luacheckrc file is provided)
[ ] The README.md has been updated according to this change.
[ ] The doc/telekasten.txt helpfile has been updated according to this change.

i don't know why &> /dev/null print hello, i test in my nvim lua env, it's print hello, just like this

Thanks! I've never seen &> syntax before, not sure why it was in there. Thanks for fixing it!

My bad. I do not know why I wrote it like that. Probably some poor yank/paste or something... Thank you for fixing it.

actually '&>' syntax is right in some version,i test in my bash, it work well, but in nvim lua env, this not work


Check Type-Alias  by Annoutations?

Is your feature request related to a problem? Please describe.
As we known, Java not support Type-Alias. But this is a really useful feature to help us write the safety&correctly code.
Describe the solution you'd like
As the title indicated, maybe we can just add the Type-Alias lint by Annoutations. It could be removed in the runtime, only used for the linter to check is type matched, like @NonNull, @Nullable, etc.
For example:
        Map<@Alias("UserId") Long, User> users;
        Map<@Alias("ItemId") Long, Item> items;
        Map<@Alias("UserId") Long, @Alias("ItemId") Long> userItemMap;

        public User getUser(@Alias("UserId") long userId);

        public @Alias("Centigrade") double faToCe(@Alias("Fahrenheit") double value);

Describe alternatives you've considered
Even we could just implement it with comments like those:
        Map</*@Alias UserId*/Long, /*@Alias ItemId*/Long> userItemMap;

Additional context

建议在定义上面加  // UserId -> ItemId 或者字段上面 加 /** UserId -> ItemId */，更简洁方便

@SeanCai 我要的是IDE提示和编译时检查，不是人眼编译和检查


[BUG/Help] 在推理阶段报错  UnicodeEncodeError: 'ascii' codec can't encode characters in position 12-16: ordinal not in range(128)

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior

Expected Behavior
No response
Steps To Reproduce
UnicodeEncodeError: 'ascii' codec can't encode characters in position 12-16: ordinal not in range(128)
Environment
- OS:
- Python:
- Transformers:
- PyTorch:
- CUDA Support (`python -c "import torch; print(torch.cuda.is_available())"`) :

Anything else?
No response

请使用本仓库最新的代码


feat(table): adds heading cell example

Description

going to close this pr so that design only has to review 1 screener diff
see: https://github.com/uber-web/baseui/pull/948


Added webkit based speech to text for chat window

Awesome! Ill make the changes based on your recommendations. I implemented this during a hackathon from a vanilla javascript example and I was super tired XD.

I'm not sure what should be used instead of console.log, alert isn't great...maybe I could integrate https://github.com/schiehll/react-alert ?

Yes, we can use that to show the alerts. Sounds OK :smile:

I made a small demo here https://frodinm.github.io/react-chat-widget-speechDemo/ . I'll updage the README during the next few days.

how is it going?

Hi! I should definitely complete this pull request soon. I haven't had much time recently and completely forgot about this. Let me know if you want to help get it done or have any questions.

@frodinm had a look at your PR and AFAIC there are only a few changes necessary to get this up-to-date with the latest changes:

[ ] Sender: classNames would need to be prefixed with rcw-
[ ] Sender: Use @assets for referencing assets
[ ] Sender: Add autofocus prop
[ ] dev/App.js: Add handleSpeechNotifications
[ ] Readme: Document and describe the introduced props

When testing your implementation, using recognition.continuous = true in my case led to submitting the interim_transcript as a UserMessage repeatedly. It seems as if handleMessageSubmitVoice gets called every onresult after the „initial final_transcript“.
Setting recognition.continuous to false made the behaviour a lot more consistent. Only downside is, that the user has to explicitly enable the Recognition again (what IMHO wouldn't be to bad, when you combine your implementation with some kind of TTS / Speech Output). Otherwise we would need a way to clear the final_transcript after it has been processed properly (so that is with the continuous mode).

I might also have figured out the required changes to get continuous to work properly by now. We just need to „reset“ the final_transcript to prevent the misbehaviour (Sender/index.js at around L85):
if (event.results[i].isFinal) {
  this.setState({
    final_transcript: event.results[i][0].transcript
  });
} else {
  this.setState({
    final_transcript: ''
  })
  this.setState({
    interim_transcript: this.state.interim_transcript + event.results[i][0].transcript
  });
}

Not quite sure about approach, but the end result looks pretty promising.

I apologise for the late reply, I would be extremely happy to see this feature implemented in this library. I've been extremely busy with a few contracts and a full-time job durring the summer. Currently I'll be starting classes as well. If ever I do find time, I'll definitely complete this PR, but I don't want to promise anything.


Add init and tail to Iterator trait

Currently Vec has init and tail, it would also make sense to add those to the Iterator trait.

tail is .skip(1), init is more complicated (requires one item lookahead, which you can do with Peekable). I'm a bit sceptical of their utility.

Historical note: Vec::init and tail were never stabilized, they were deprecated in favor of split_first and split_last.

Since they were removed from Vec I'd say this issue is moot now and so I'll close this.


Some confuse on processing to link wikidata

Dear author ：
Thank you for your awesome idea ！
I have two questions :
1、If the label of the parent node does not appear in origin label set, how do you deal with it ?
2、When I use WordNet.hypernyms(), sometimes it will return multi parents for one synsetid, how do you deal with it?
3、How do you set the 0~11 level, if you just use the number of its parents, when a node have two parents, obviously it will get the wrong level, besides that, the labels may have some overlaps cross different levels, how do you get over it?
Looking for you apply

i used https://github.com/niharikajainn/imagenet-ancestors-descendants/blob/master/is_a.txt to create the semantic tree
all imagenet21K labels are there
a node can only have one direct parent. this is how WordNet was constructed


Bump framework version

$subject

PR builder started
Link: https://github.com/wso2/product-is/actions/runs/6270993707

PR builder started
Link: https://github.com/wso2/product-is/actions/runs/6271976611

PR builder completed
Link: https://github.com/wso2/product-is/actions/runs/6271976611
Status: success


Fix touchscreen handling in keypad screen

The touchscreen handling was incorrectly implemented in "keypad" screen. The handling routine was executed even though the button (screen) was not touched. I added a boolean variable to correctly update the "press" status of buttons.

Lol, I had this issue too and managed to correct the code for my own use. I didn't stop to think that I might actually be able to help someone else too. Well done for considering others. This was my solution:
/* this was added after the "if (p.z > MINPRESSURE && p.z < MAXPRESSURE)" block */
// 2020-10-08 DJF - was getting ghost x & y values while z (pressure was 0)
else
{
  p.x = -1;
  p.y = -1;
}


chore: bump to nightly-2023-03-17

!bench

I may have kicked the base commit from the queue when changing the benchmarking script, here is the comparison to that commit's child: http://speedcenter.informatik.kit.edu/mathlib4/compare/e7b27246-a3e6-496a-b552-ff4b45c7236e/to/6d3cd676-56bb-4640-820f-9252daa6bc9f?hash1=c973255ede85394491c4413166dd1a00054b506c
LGTM!

bors r+


Ge/main

Description
Update from upstream/main plus my changes.

@jmarsik Did you do any changes to the files in conflict? If not, please take my version (i.e. upstream version).

Any news?

Merged some changes that were only in km-galactic-devel into this PR so that merge back would be without problems. It will update CI definitions to use rolling distro / main branch, but we do not use them so it doesn't matter.


Declared License

Type: Incomplete
Summary:
Declared License
Details:
Adding AGPL v3.0 and Other for additional commercial license
Resolution:
NuGet license: https://raw.githubusercontent.com/JamesNK/Newtonsoft.Json.Schema/master/LICENSE.md
Source license: https://github.com/JamesNK/Newtonsoft.Json.Schema/blob/17c43722ab31ed5e50c1c230dd1d7f7d9cb7eee2/LICENSE.md
Affected definitions:

Newtonsoft.Json.Schema 2.0.8

@ae49 I'm adding this to the agenda so I can get others opinion on if this should be 3.0-only or 3.0-or-later since it has the verbiage, "either version 3 of the License" that is in 3.0-or-later, but it doesn't include, "or (at your option) any later version."

Opened an issue to find out which identifier it should be.
https://github.com/JamesNK/Newtonsoft.Json.Schema/issues/218

Author confirmed AGPL-3.0-only.

@capfei - Per the author, its "AGPL-3.0-only."  We'll need to update the ones curated with "or-later."


Some Question

Hi, I have some questions for you, what are the specific energy ranges represented by the different eIDs in the gyrophase.m programme?

Hi Ryannok,
The code at line 19 "energy=ePDist1.depend{1}(1,:);" in this programme shows the 32 energy channels of the MMS spacecraft.
    eID represents the corresponding energy bin number.

    You can see the energy channels in the attached file, and eID=16 refers to the 260eV ions.

     If you have any further questions, please let me know. Thank you!

Best regards,
Jinghuan Li


Bring webpack tasks to npm scripts and wrap it with rakes

I usually do it in my projects. What you think about?
We can run npm tasks or rake tasks whenever you need:
npm start
npm run build

rake webpack:dev
rake webpack:compile

I often run rails s in one tab and npm start in another.
The main advantage is have all commands configured in just one place and can eventually be removed from rails (without ruby methods as dependency to run webpack server o build it).

I need to think about this one a bit more. I was originally against this because if you changed away from the default paths in your config it'd break.. but there's lots of 👍 's and it's really annoying having to wait for rails to boot just to run a compile.

Yeah, if you change the default path it will break. I usually put configs into config/js/ but I have only one and simple place to change, the package.json. Who use webpack hope it. Let npm do his job.

Look. How can I improve more? @talyssonoc, @mipearson.

I unfortunately can't merge this as it is as it will be a breaking change for those that have reconfigured paths in  webpack-rails and expect the rake task to 'just work'.
That said, though, this is the better way.
I will be making a 1.x branch and we can merge it in to that.

Nice. Anyway I will think about improve it in this way.

What you think about this?:
namespace :webpack do
  desc "Compile webpack bundles"
  task compile: :environment do
    ENV["TARGET"] = 'production' # TODO: Deprecated, use NODE_ENV instead
    ENV["NODE_ENV"] = 'production'

    package_json = JSON.parse(Rails.root.join('package.json'))

    if( package_json['scripts']['compile'])
      sh "npm run build"
    else
      // WE can put a deprecation warning here

      webpack_bin = ::Rails.root.join(::Rails.configuration.webpack.binary)
      config_file = ::Rails.root.join(::Rails.configuration.webpack.config_file)

      unless File.exist?(webpack_bin)
        raise "Can't find our webpack executable at #{webpack_bin} - have you run `npm install`?"
      end

      unless File.exist?(config_file)
        raise "Can't find our webpack config file at #{config_file}"
      end

      sh "#{webpack_bin} --config #{config_file} --bail"
    end
  end
end

This is really cool! Would love to see this as it doesn't require my rails environment (secrets.yml, redis.yml) to exist at the time of assets compilation.

I'm going to be bringing this in to an API-breaking 1.0-pre branch shortly.
The delay on this (and other) pull requests is that I've been cautious to merge anything that could break functionality for existing users.

Of course, I understand. Do you need some more adjustments?


Garry's mod NPC motion problem...?

When I use the latest dxvk on Garry's mod, I find the NPC motion look like low framerate.
I never seen that problem on native DirectX 9+ mode.
I upload a video to bilibili about this problem
Software information
Garry's mod x86-64 branch, DirectX 9 Mode
CPU: Intel(R) Core i5-10400 2.9GHz@4.00GHz(Locked the clock boosted all Core)
48GBytes(16+32 2 ways) 3200MT/s DDR4
System information

Rendering GPU: Tesla P40 without ECC, WDDM+TCC Mixed Mode
Output iGPU: Intel UHD Graphics 630
Driver: P40--<IP_ADDRESS>13(GRID Driver) UHD630--<IP_ADDRESS>8
Wine version: Native Windows
DXVK version: 2.4.1(Latest)

Apitrace file(s)
It actually NOT property work(haven't catch ANY apitrace) on my PC.
So I ingore it. Sry _
Log files
gmod_d3d9.log

I don't have any experience with GMod, so we really need that apitrace. Can you please try looking into it again?

Can you try increasing cl_interp_npcs or cl_interp?

Can you try increasing cl_interp_npcs or cl_interp (console commands)?
I usually set the cl_interp to 0.

Can you try increasing cl_interp_npcs or cl_interp (console commands)?

On steam arg

I usually set the cl_interp to 0.

I think that's the problem. cl_interp 0 will make all NPCs laggy asf since it disables animation interpolation. Set it back to cl_interp 0.1.

https://mega.nz/file/zz5gXY7R#Zfy8WQYPa9UqgDeswoYqO-PQRpS6Sct1u0JJ-rPBvFw
apitrace here (Mega) and maybe you(r) can find other problem.

https://mega.nz/file/zz5gXY7R#Zfy8WQYPa9UqgDeswoYqO-PQRpS6Sct1u0JJ-rPBvFw apitrace 这里 （Mega），也许您 （r） 可以找到其他问题。

@HunterCZ122 @K0bin