Documentation on the creation of IHostControl implementation

Suggestion
Good day,
I'm a bit confused regarding the creation of an object that implement the IHostControl interface using this library. I essentially want to create a an interface that implement method of IHostControl and then use it with the SetHostControl method.
Here is an example in C++ : https://www.codeproject.com/Articles/418259/CLR-Hosting-Customizing-the-CLR-Part-2.
I tried something like this:
#[repr(C)]
pub struct MyHostControl {}

impl IHostControl_Impl for MyHostControl {}

But I can't find IHostControl_Impl even though it is supposed to be public (https://github.com/microsoft/windows-rs/blob/master/crates/libs/windows/src/Windows/Win32/System/ClrHosting/impl.rs#L2288).
I'm especially confuse because until now, the CLR was in charge of filling the vtable of all my COM interfaces, but now it will be my job for this interface to provide the implementation in Rust.

Does this help?
[package]
name = "app"
version = "0.0.0"
edition = "2021"
publish = false

[dependencies.windows-core]
version = "0.51.0"
features = [
    "implement",
]

[dependencies.windows]
version = "0.51.0"
features = [
    "implement",
    "Win32_Foundation",
    "Win32_System_ClrHosting",
    "Win32_System_Com",
]

use windows::core::*;
use windows::Win32::System::ClrHosting::{IHostControl, IHostControl_Impl};

#[implement(IHostControl)]
pub struct Object;

impl IHostControl_Impl for Object {
    fn GetHostManager(
        &self,
        riid: *const ::windows_core::GUID,
        ppobject: *mut *mut ::core::ffi::c_void,
    ) -> ::windows_core::Result<()> {
        todo!()
    }

    fn SetAppDomainManager(
        &self,
        dwappdomainid: u32,
        punkappdomainmanager: ::core::option::Option<&::windows_core::IUnknown>,
    ) -> ::windows_core::Result<()> {
        todo!()
    }
}

fn main() -> windows::core::Result<()> {
    // Do something with Object

    Ok(())
}

Hello @riverar, thank you really much for your help.
Aren't those 2 functions supposed to return an HRESULT ? Right now my program is crashing (got caught by the CFG), I'm not sure the Object is "complete", for example I can't get access to the vtable of an Object instance.

 The vftable, IUnknown, Result return transformation, etc. are taken care of for you. Try cargo expand for a peek behind the curtain or checkout https://kennykerr.ca/rust-getting-started/calling-your-first-com-api.html for more info.
Continuing from the sample above, ...
use windows::core::*;
use windows::Win32::Foundation::E_NOINTERFACE;
use windows::Win32::System::ClrHosting::{
    CLRCreateInstance, CLRRuntimeHost, CLSID_CLRMetaHost, ICLRControl, ICLRMetaHost,
    ICLRRuntimeHost, ICLRRuntimeInfo, IHostControl, IHostControl_Impl,
};

#[implement(IHostControl)]
pub struct Object;

impl IHostControl_Impl for Object {
    fn GetHostManager(
        &self,
        _riid: *const ::windows_core::GUID,
        _ppobject: *mut *mut ::core::ffi::c_void,
    ) -> ::windows_core::Result<()> {
        E_NOINTERFACE.ok()
    }

    fn SetAppDomainManager(
        &self,
        _dwappdomainid: u32,
        _punkappdomainmanager: ::core::option::Option<&::windows_core::IUnknown>,
    ) -> ::windows_core::Result<()> {
        Ok(())
    }
}

fn main() -> windows::core::Result<()> {
    unsafe {
        let metahost: ICLRMetaHost = CLRCreateInstance(&CLSID_CLRMetaHost)?;
        let runtime: ICLRRuntimeInfo = metahost.GetRuntime(w!("v4.0.30319"))?;
        let runtimehost: ICLRRuntimeHost = runtime.GetInterface(&CLRRuntimeHost)?;
        runtimehost.Start()?;

        let _clrcontrol: ICLRControl = runtimehost.GetCLRControl()?;
        // ...
    }
    Ok(())
}

If you can provide a sample that crashes, we can take a look.
Going to close this for now as there's nothing actionable here at the moment. But feel free to keep the discussion going; we can re-open it if something bubbles up along the way.

You can also turn your implementation (with the implement attribute) into a boxed interface using into as follows:
let control: IHostControl = Object.into();

The resulting object holds a COM interface pointer with a backing vtable.

Hello @riverar,
The crash was because I was using an older version of the windows-rs crate, now it's resolved, however, when using your code and trying to set the host control:
let tmp = Object {};
runtimehost.SetHostControl::<Object>(tmp);

I can't compile because my Object need to implement the trait IntoParam, I understand that this trait is used to convert struct between them (for example an HSTRING into a PCWSTR), however I don't understand why I would need to implement that and what form should that implement take ?
Thank you @kennykerr for this also, this would come in handy for sure.

@lap1nou SetHostControl takes in a IHostControl. (IntoParam is specialization of std::convert::Into you can generally ignore right now.) This is where Kenny's suggestion comes into play.

Hello @riverar, thank you this is working, indeed the library is lifting all the weight.
This seems to work fine, however I now want to work with a IHostMemoryManager, but for some function I want to call the "original" function, for example in C++ this would be:
virtual HRESULT STDMETHODCALLTYPE VirtualAlloc(
      /* [in] */ void *pAddress,
      /* [in] */ SIZE_T dwSize,
      /* [in] */ DWORD flAllocationType,
      /* [in] */ DWORD flProtect,
      /* [in] */ EMemoryCriticalLevel eCriticalLevel,
      /* [out] */ void **ppMem)
   {
      *ppMem = ::VirtualAlloc(pAddress, dwSize, flAllocationType, flProtect);
      return S_OK;
   }

Is there a way to do this ? I want to do something like:
impl IHostMemoryManager_Impl for MyHostMemoryManager {
   /* ... */

    fn VirtualAlloc(
        &self,
        paddress: *const ::core::ffi::c_void,
        dwsize: usize,
        flallocationtype: u32,
        flprotect: u32,
        ecriticallevel: EMemoryCriticalLevel,
        ppmem: *mut *mut ::core::ffi::c_void,
    ) -> ::windows_core::Result<()> {
        println!("VirtualAlloc");
        // Call original VirtualAlloc of IHostMemoryManager
    }

/* ... */
}

Right now all the function are implemented and are indeed called by the CLR, however the CLR fail with an HRESULT 0x80004005 when starting the runtime host, I suspect this is because of my implementation of IHostMemoryManager.

There is no original VirtualAlloc hanging off IHostMemoryManager. I think you're asking how to call the Win32 VirtualAlloc. This only requires you add the feature Win32_System_Memory and call it normally.

@riverar Sorry for my mistake, I though it was calling another function.
Here is my full code:
use std::ffi::c_void;
use std::ptr::null_mut;

use windows::core::implement;

use windows::Win32::Foundation::{E_NOINTERFACE, E_OUTOFMEMORY, HANDLE, S_OK};
use windows::Win32::System::ClrHosting::{
    CLRCreateInstance, CLRRuntimeHost, CLSID_CLRMetaHost, EMemoryCriticalLevel,
    ICLRMemoryNotificationCallback, ICLRMetaHost, ICLRRuntimeHost, ICLRRuntimeInfo, IHostControl,
    IHostControl_Impl, IHostMalloc, IHostMalloc_Impl, IHostMemoryManager, IHostMemoryManager_Impl,
    MALLOC_EXECUTABLE, MALLOC_THREADSAFE, MALLOC_TYPE,
};
use windows::Win32::System::Memory::{
    HeapAlloc, HeapCreate, HeapFree, VirtualAlloc, VirtualFree, VirtualProtect, VirtualQuery,
    HEAP_CREATE_ENABLE_EXECUTE, HEAP_FLAGS, HEAP_NO_SERIALIZE, MEMORY_BASIC_INFORMATION,
    PAGE_PROTECTION_FLAGS, VIRTUAL_ALLOCATION_TYPE, VIRTUAL_FREE_TYPE,
};
use windows_core::{w, ComInterface, Interface};

#[implement(IHostControl)]
pub struct MyHostControl;

impl IHostControl_Impl for MyHostControl {
    fn GetHostManager(
        &self,
        _riid: *const ::windows_core::GUID,
        _ppobject: *mut *mut ::core::ffi::c_void,
    ) -> ::windows_core::Result<()> {
        if unsafe { _riid.as_ref().unwrap() } == &IHostMemoryManager::IID {
            let tmp = MyHostMemoryManager {};
            let memory_manager: IHostMemoryManager = tmp.into();

            unsafe { *_ppobject = memory_manager.as_raw() };

            S_OK.ok()
        } else {
            unsafe { *_ppobject = null_mut() };
            E_NOINTERFACE.ok()
        }
    }

    fn SetAppDomainManager(
        &self,
        _dwappdomainid: u32,
        _punkappdomainmanager: ::core::option::Option<&::windows_core::IUnknown>,
    ) -> ::windows_core::Result<()> {
        println!("SetAppDomainManager");

        Ok(())
    }
}

#[implement(IHostMemoryManager)]
pub struct MyHostMemoryManager;

impl IHostMemoryManager_Impl for MyHostMemoryManager {
    fn CreateMalloc(&self, dwmalloctype: u32) -> ::windows_core::Result<IHostMalloc> {
        println!("CreateMalloc");
        let mut flags = HEAP_FLAGS(0);

        if MALLOC_TYPE(dwmalloctype as i32) == MALLOC_EXECUTABLE {
            flags.0 = flags.0 | HEAP_CREATE_ENABLE_EXECUTE.0;
        }

        if MALLOC_TYPE(dwmalloctype as i32) == MALLOC_THREADSAFE {
            flags.0 = flags.0 | HEAP_NO_SERIALIZE.0;
        }

        let my_host_malloc = MyHostMalloc {
            m_hMallocHeap: unsafe { HeapCreate(flags, 0, 0).unwrap() },
        };

        let tmp: IHostMalloc = my_host_malloc.into();

        Ok(tmp)
    }

    fn VirtualAlloc(
        &self,
        paddress: *const ::core::ffi::c_void,
        dwsize: usize,
        flallocationtype: u32,
        flprotect: u32,
        ecriticallevel: EMemoryCriticalLevel,
        ppmem: *mut *mut ::core::ffi::c_void,
    ) -> ::windows_core::Result<()> {
        println!("VirtualAlloc");

        unsafe {
            *ppmem = VirtualAlloc(
                Some(paddress),
                dwsize,
                VIRTUAL_ALLOCATION_TYPE(flallocationtype),
                PAGE_PROTECTION_FLAGS(flprotect),
            )
        };

        S_OK.ok()
    }

    fn VirtualFree(
        &self,
        lpaddress: *const ::core::ffi::c_void,
        dwsize: usize,
        dwfreetype: u32,
    ) -> ::windows_core::Result<()> {
        println!("VirtualFree");

        unsafe {
            VirtualFree(
                lpaddress as *mut c_void,
                dwsize,
                VIRTUAL_FREE_TYPE(dwfreetype),
            )?;
        };

        S_OK.ok()
    }

    fn VirtualQuery(
        &self,
        lpaddress: *const ::core::ffi::c_void,
        lpbuffer: *mut ::core::ffi::c_void,
        dwlength: usize,
        presult: *mut usize,
    ) -> ::windows_core::Result<()> {
        println!("VirtualQuery");

        unsafe {
            *presult = VirtualQuery(
                Some(lpaddress),
                lpbuffer as *mut _ as *mut MEMORY_BASIC_INFORMATION,
                dwlength,
            );
        };

        S_OK.ok()
    }

    fn VirtualProtect(
        &self,
        lpaddress: *const ::core::ffi::c_void,
        dwsize: usize,
        flnewprotect: u32,
    ) -> ::windows_core::Result<u32> {
        println!("VirtualProtect: {:?}, {}", lpaddress, dwsize);

        let mut old = PAGE_PROTECTION_FLAGS(0);
        unsafe {
            VirtualProtect(
                lpaddress,
                dwsize,
                PAGE_PROTECTION_FLAGS(flnewprotect),
                &mut old,
            )?;
        };

        Ok(S_OK.0 as u32)
    }

    fn GetMemoryLoad(
        &self,
        pmemoryload: *mut u32,
        pavailablebytes: *mut usize,
    ) -> ::windows_core::Result<()> {
        println!("GetMemoryLoad");

        unsafe {
            *pmemoryload = 30;
            *pavailablebytes = 100 * 1024 * 1024;
        };

        S_OK.ok()
    }

    fn RegisterMemoryNotificationCallback(
        &self,
        pcallback: ::core::option::Option<&ICLRMemoryNotificationCallback>,
    ) -> ::windows_core::Result<()> {
        println!("RegisterMemoryNotificationCallback");

        S_OK.ok()
    }

    fn NeedsVirtualAddressSpace(
        &self,
        startaddress: *const ::core::ffi::c_void,
        size: usize,
    ) -> ::windows_core::Result<()> {
        println!("NeedsVirtualAddressSpace");

        S_OK.ok()
    }

    fn AcquiredVirtualAddressSpace(
        &self,
        startaddress: *const ::core::ffi::c_void,
        size: usize,
    ) -> ::windows_core::Result<()> {
        println!("AcquiredVirtualAddressSpace");

        S_OK.ok()
    }

    fn ReleasedVirtualAddressSpace(
        &self,
        startaddress: *const ::core::ffi::c_void,
    ) -> ::windows_core::Result<()> {
        println!("ReleasedVirtualAddressSpace");

        S_OK.ok()
    }
}

#[implement(IHostMalloc)]
pub struct MyHostMalloc {
    pub m_hMallocHeap: HANDLE,
}

impl IHostMalloc_Impl for MyHostMalloc {
    fn Alloc(
        &self,
        cbsize: usize,
        ecriticallevel: EMemoryCriticalLevel,
        ppmem: *mut *mut ::core::ffi::c_void,
    ) -> ::windows_core::Result<()> {
        println!("Alloc: {:?}, {}", ppmem, cbsize);

        unsafe { *ppmem = HeapAlloc(self.m_hMallocHeap, HEAP_NO_SERIALIZE, cbsize) };

        if (unsafe { *ppmem }).is_null() {
            return E_OUTOFMEMORY.ok();
        }

        S_OK.ok()
    }

    fn DebugAlloc(
        &self,
        cbsize: usize,
        ecriticallevel: EMemoryCriticalLevel,
        pszfilename: *const u8,
        ilineno: i32,
        ppmem: *mut *mut ::core::ffi::c_void,
    ) -> ::windows_core::Result<()> {
        println!("DebugAlloc");
        self.Alloc(cbsize, ecriticallevel, ppmem)
    }

    fn Free(&self, pmem: *const ::core::ffi::c_void) -> ::windows_core::Result<()> {
        println!("Free");

        unsafe {
            HeapFree(
                self.m_hMallocHeap,
                windows::Win32::System::Memory::HEAP_FLAGS(0),
                Some(pmem),
            )?
        };

        S_OK.ok()
    }
}

fn main() -> windows::core::Result<()> {
    unsafe {
        let metahost: ICLRMetaHost = CLRCreateInstance(&CLSID_CLRMetaHost)?;
        let runtime: ICLRRuntimeInfo = metahost.GetRuntime(w!("v4.0.30319"))?;
        let runtimehost: ICLRRuntimeHost = runtime.GetInterface(&CLRRuntimeHost)?;

        let mut tmp = MyHostControl {};
        let mut control: IHostControl = tmp.into();

        runtimehost.SetHostControl(&control).unwrap();
        runtimehost.Start()?;

        println!("Test");
    }
    Ok(())
}

[package]
name = "clr_hosting"
version = "0.1.0"
edition = "2021"

[dependencies.windows-core]
version = "0.51.0"
features = [
    "implement",
]

[dependencies.windows]
version = "0.51.0"
features = [
    "implement",
    "Win32_Foundation",
    "Win32_System_ClrHosting",
    "Win32_System_Memory"
]

But I got this output:
Error: Error { code: HRESULT(0x80004005), message: "Unspecified Error" }

The C++ implementation I linked earlier seems to work fine and I don't see many major differences (I'm using Win32 Heap API but this shouldn't do anything, of course I should probably use Box but this is temporary), I tried inspecting the memory but I don't see anything bad happening, the heap is indeed filled with stuff, the allocation process seems to be fine.
Do you have any idea why this doesn't work ?

I don't have time right now to review all of that but GetHostManager is undoubtably wrong. You're handing out a COM interface pointer but failing to account for the reference count. Better to let ComInterface trait handle it for you. Something like this:
let memory_manager: IHostMemoryManager = tmp.into();
memory_manager.query(iid, object).ok()

Hello @kennykerr, thank you really much for your answer.
If I understand correctly, Rust was basically calling the destructor of my memory manager because there was no reference left even though the CLR was about to use it (and couldn't), this was also my though but I wasn't able to find it.
Here is my function now:
fn GetHostManager(
    &self,
    _riid: *const ::windows_core::GUID,
    _ppobject: *mut *mut ::core::ffi::c_void,
) -> ::windows_core::Result<()> {
    if unsafe { _riid.as_ref().unwrap() } == &IHostMemoryManager::IID {
        let tmp = MyHostMemoryManager {};
        let memory_manager: IHostMemoryManager = tmp.into();
        unsafe {
            memory_manager
                .query(&*_riid, _ppobject as *mut *const c_void)
                .ok()?
        };

        S_OK.ok()
    } else {
        unsafe { *_ppobject = null_mut() };
        E_NOINTERFACE.ok()
    }
}

However I still got the same output. If you don't have time right now and want to dig this I can wait no problem :).


Error peek not appearing on correct line when running Laravel v10.x tests

I’m seeing [error peeks] show up on the wrong line though, I think because it’s using the last line of the stacktrace rather than the last line of code in my actual app:

Originally posted by @macbookandrew in https://github.com/chiefmyron/phpunit-test-workbench/issues/98#issuecomment-2096211328

Original response:

This looks like something specific to the 10.x release of Laravel, which is why I missed it. Essentially, the Illuminate\Foundation\Testing\TestCase class is extending the runTest() method of the base PHPUnit TestCase class, and so the failure is bubbled up through that class. This method is not extended in the v11.x branch, or v9.x and earlier branches - it is specific only to v10.x.
Will have to check the full set of items in the stack to associate the last message reported against the test class file, rather than relying on it always being the last item in the stack.

Fix is to check the full set of files in the error stack, and pick the line number from the last reported instance of the test class file. If the test class file does not appear at all in the error stack, default to showing the peek against the method definition.

Awesome — thanks!!


why depend on node-gyp

Does this project mean to depend on node-gyp, isn't this always already installed?
It just seems to make npm complain:
npm WARN prefer global<EMAIL_ADDRESS>should be installed with -g

When reporting an bug, you must provide this information:

NPM version (npm -v): 3.10.3
Node version (node -v): v6.7.0
Node Process (node -p process.versions): { http_parser: '2.7.0',
node: '6.7.0',
v8: '5.1.281.83',
uv: '1.9.1',
zlib: '1.2.8',
ares: '1.10.1-DEV',
icu: '56.1',
modules: '48',
openssl: '1.0.2j' }
Node Platform (node -p process.platform): linux
Node architecture (node -p process.arch): x64
node-sass version (node -p "require('node-sass').info"): node-sass	3.10.1	(Wrapper)	[JavaScript]
libsass  	3.3.6	(Sass Compiler)	[C/C++]
npm node-sass versions (npm ls node-sass<EMAIL_ADDRESS>/home/redacted/projects/redacted/frontend
└──<EMAIL_ADDRESS>

We might need a newer node-gyp version than currently supplied with some old npm. "Prefer global"is a strange feature of npm and it seems to be a moving target how to get ot "right".

@saper can't you just set the required npm version in the engine field?

Will it cause a better node-gyp to be automatically installed?

it would tell people to upgrade npm

We have no right to tell people to upgrade their software. Especially when
there are perfectly good solutions in place.
On 6 Oct 2016 1:40 AM, "Thomas Grainger"<EMAIL_ADDRESS>wrote:
it would tell people to upgrade npm
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/sass/node-sass/issues/1740#issuecomment-251694639, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAjZWDzOzcjj2F9iWfBLdm_H9ETYLaM0ks5qw7bigaJpZM4KOn0Z
.

well this line is already doing the upgrade

I don't see an issue here. It works as is and has worked for a long time. Changing it would mean it stops working for some (many?) people.

It's installing a known good version of node-gyp, that's locally scope to this package. It's not updating the global npm which, if I understand correctly, is what you're suggesting we tell people to do.
People have the right to run whatever versions of software they want or need to. It's not on us to unnecessarily dictate terms. Where reasonable we should support our users.
A single line of output from npm is well within reason.


Postgres Accelerator Test over Semi-structure/Blob based data with row size 1M, 10M, 100M

Close as tracked in: https://github.com/spiceai/spiceai/issues/2326


completely synchronised/streamlined with the needs of the Fishery Officers, as well as Marine Scotland Science / Policy

As a fisherman I would also like the data submitted to be completely synchronised/streamlined with the needs of the Fishery Officers, as well as Marine Scotland Science / Policy, so that all the data captured is useful (and can ultimately replace statutory paper work). https://github.com/StAResComp/sifids/issues/6

Must


Clean up npaw: Android

BCCM:
+ title (currently sending episode title in video language, change to send episode title in original language)
+ appName (current sending mobile, change to bccm-mobile)
+ param2 (currently not being used, change to send age group)
+ navContext (BCC Media Android)
+ season (currently sending season id+ season title, change to only send season id)
+

- properties

The "navContext" is not something i can control. Is there something specific you want to achieve with that?

no, as long as there is appname and OS and should be fine.


[Cosmos] Preview 4

Can one of the admins verify this patch?

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@d484827). Click here to learn what that means.
The diff coverage is 14.75%.

@@            Coverage Diff            @@
##             master    #7621   +/-   ##
=========================================
  Coverage          ?   26.17%
=========================================
  Files             ?       53
  Lines             ?     5181
  Branches          ?        0
=========================================
  Hits              ?     1356
  Misses            ?     3825
  Partials          ?        0

Impacted Files
Coverage Δ

sdk/cosmos/azure-cosmos/test/crud_tests.py
9.46% <14.75%> (ø)

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 d484827...96ad56a. Read the comment docs.

/azp run python - cosmos - tests

/azp run python - cosmos - tests

/azp run python - cosmos - tests


Initialization Alastria Name Service

Error in the Smart Contract Alastria Name Service: Due to the AdminUpgradeabilityProxy of openzeppelin, smart contracts cannot be initialized. This smart contract receives in the constructor a parameter, which is an address of the entity that should be registered as an entity in the smart contract. Since it cannot be initialized, and therefore there is no entity registered in the smart contract, it is unusable because no entity is registered, and the smart contract has a modifier that prevents entities from being registered if the entity is not an entity.
Modifier in the addEntity function:
function addEntity(address _addressEntity, string memory _name, string memory _cif, string memory _url_logo, string memory _url_createAID, string memory _url_AOA) public notIdentityEntity(_addressEntity) onlyIdentityEntity(msg.sender) {
Constructor Alastria Name Service
 constructor (address _firstIdentity) public{
	    _addEntity(_firstIdentity, name, cif, url_logo, url_createAID, url_AOA, true);

    }

Script Deploy Name Service:
 console.log('DEPLOYING CONTRACTS: NAME SERVICE');
    const alastriaNameServicesSC = await AlastriaNameService.deploy(ADMIN_ADDRESS);
    await alastriaNameServicesSC.deployed();
    const alastriaNameServiceProxy = await Proxy.deploy(alastriaNameServicesSC.address, ADMIN_ADDRESS, []);
    await alastriaNameServiceProxy.deployed();
    console.log('nameServiceDeployed deployed: ', alastriaNameServiceProxy.address);
    await saveAddresesInfo(
      alastriaNameServiceProxy.address,
      config.nameService,
      network
      );

Query the smart contract once deployed to check if the smart contract has been initialized correctly.

As can be seen in the image, after the deployment, consulting the address[] listEntities; it can be seen that the address has not been registered, therefore no one can register entities in the smart contract.
For more information on possible solutions visit: https://alastria.atlassian.net/wiki/spaces/ALASTRIAID/pages/699596801/14+06+2024+-+Meeting+Notes+Libs

Fix the bug in this pull request -> https://github.com/alastria/alastriaID-hardhat-contracts/pull/14

Great job @rober12 && @DaniRumpi !


Optimize map_filter Presto function

map_filter and filter functions used to resize selectedIndices buffer to add one
index for each element that passed the filter. This is slow. Allocate the
buffer up front instead and resize at the end when it is known how many
elements passed the filter.

Profiles:
before:

after:


Class-based view all the things

Proposed changes
Internally store all views as class-based views. This required some major refactoring.
Breaking changes:

Hooks API: api.before/after -> hooks.before/after + position of hooks decorator (now just above the view function/method).
Allowed methods: on function-based views, they now must be specified by using the special @view() decorator. (TODO: document the change.)

However, the code has been simplified in many enjoyable ways.

Codecov Report

Merging #72 into master will decrease coverage by 0.34%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master      #72      +/-   ##
==========================================
- Coverage   99.69%   99.34%   -0.35%
==========================================
  Files          20       20
  Lines         656      611      -45
  Branches       70       62       -8
==========================================
- Hits          654      607      -47
- Misses          0        1       +1
- Partials        2        3       +1

Impacted Files
Coverage Δ

bocadillo/views.py
100% <100%> (ø)
:arrow_up:

bocadillo/templates.py
98.18% <100%> (ø)
:arrow_up:

bocadillo/hooks.py
98% <100%> (-2%)
:arrow_down:

bocadillo/routing.py
100% <100%> (ø)
:arrow_up:

bocadillo/recipes.py
100% <100%> (ø)
:arrow_up:

bocadillo/compat.py
96.29% <0%> (-3.71%)
:arrow_down:

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 acf77d7...96d084e. Read the comment docs.

Codecov Report

Merging #72 into master will decrease coverage by 0.34%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master      #72      +/-   ##
==========================================
- Coverage   99.69%   99.34%   -0.35%
==========================================
  Files          20       20
  Lines         656      611      -45
  Branches       70       62       -8
==========================================
- Hits          654      607      -47
- Misses          0        1       +1
- Partials        2        3       +1

Impacted Files
Coverage Δ

bocadillo/views.py
100% <100%> (ø)
:arrow_up:

bocadillo/templates.py
98.18% <100%> (ø)
:arrow_up:

bocadillo/hooks.py
98% <100%> (-2%)
:arrow_down:

bocadillo/routing.py
100% <100%> (ø)
:arrow_up:

bocadillo/recipes.py
100% <100%> (ø)
:arrow_up:

bocadillo/compat.py
96.29% <0%> (-3.71%)
:arrow_down:

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 acf77d7...96d084e. Read the comment docs.


Request for monthly and yearly response time graph

⚠ Please verify that this feature request has NOT been suggested before.

[X] I checked and didn't find similar feature request

🏷 Feature Request Type
Other
🔖 Feature description
I would like to request to enable monthly and yearly response time graph option.  Currently only 3h,6h,24h and 1 week response time graph enabled.

✔ Solution
Please add 1 month, 1 year and custom date to view response time graph would be great!
❓ Alternatives
No response
📝 Additional Context
No response

Seconding this request, especially past year.

Up! Please make it! We are really need it!

Can we add also the 1 year statistic above the chart as well?

I also need this. (As my service is more used in weekends, and I like to compare weekends).
May I ask what's the status of this feature? Is a patch welcome?

Is a patch welcome

Yes, it would.
Note that currently we are retooling the monitoring system for the upcoming v2.0 release.
See https://github.com/louislam/uptime-kuma/pull/4171 for further details what is currently not yet done.
Our contribution guide is available here: https://github.com/louislam/uptime-kuma/blob/master/CONTRIBUTING.md

+1 for this request.


Remove connectFailing From PosMempool

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

#1106  👈
#1105
feature/pos-networking-and-syncing

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

Join @tholonious and the rest of your teammates on  Graphite


Add runTests

This function runs all tests for a crate inside Nix.

To be clear, though, I feel like this would be useful for many simpler crates and as long as the hook isn't run by default, I believe it would be a fine feature to add to the cargo2nix overlay.

I sense an acute lack of documentation. Hopefully, this tool won't end up as impenetrable as the rest of the nix ecosystem. I think it would be great if we can document any "patterns" or utilities we implement.

To clarify: I meant documentation to aid discoverability. One could argue that we "just" need to look under overlays/, but that's not what a new user would do.

@plumenator I agree! Got some time to help document it? :upside_down_face:


Boxstarter window closes before I can read the error message

migrated from https://boxstarter.codeplex.com/workitem/86
I tried using the Boxstarter web launcher today to set up a new machine. However, chocolatey.org is currently "offline for maintenance" and requests to http://chocolatey.org/install.ps1 fail with a 503 error. This causes the script to fail, but the reason is not obvious just from observing the console window.
The console displays the following:
Boxstarter may need to reboot your system.
Please provide your password so that Boxstarter may automatically log you on.
Your password will be security stored and encrypted.
Autologon Password: **********
Boxstarter: Successfully authenticated password.
Boxstarter: Disabling Automatic Updates from Windows Update
Boxstarter: Chocolatey not installed. Downloading and installing...
Boxstarter: Enabling Automatic Updates from Windows Update
Type ENTER to exit:
At this point, I can press Enter and a red error will be briefly displayed in the console, but the window closes before I can read the message.
I would expect this error would be displayed immediately when it occurs, rather than waiting for me to press Enter. Even better, Boxstarter should handle this and display its own error, perhaps something like "Boxstarter: Failed to install Chocolatey, see boxstarter.log for details."

Well I guess after three years this open issue is still an issue because no matter what, when it hits the azure module install (the previous are successful) on multiple Win7x64 PS 5.1 systems using Chocolatey, it flashes a red error, closes ALL my PS windows and despite trying to tee it into a transcript, I have no idea why it's failing.  Given that this issue hasn't been fixed in years, and this whole package's purpose is to perform trustworthy automation of my builds, it does not exact give one a warm and fuzzy when you cannot get the error to present itself long enough to read when installing itself, and it's approaching a half-decade in age as being a known issue (this issue # is older than my youngest child). :ake )
Perhaps I'll capture a video screencap to demonstrate just how bad this issue is when it happens (not to mention the damage it does by killing all other PS console windows that are active).

Here is more data, which is even more mind boggling as I am new to Boxstarter and hope to god all of it's automated functions don't behave this way.  Not much data other than "something went wrong":
Chocolatey.log:
2017-08-27 23:31:52,338 17444 [DEBUG] - Checking that 'C:\Temp\chocolatey\WindowsAzurePowershell\1.6.0\azure-powershell.1.6.0.msi' is the size we expect it to be.
2017-08-27 23:31:52,341 17444 [DEBUG] - Verifying package provided checksum of '' for 'C:\Temp\chocolatey\WindowsAzurePowershell\1.6.0\azure-powershell.1.6.0.msi'.
2017-08-27 23:31:52,355 17444 [DEBUG] - Running Get-ChecksumValid -file 'C:\Temp\chocolatey\WindowsAzurePowershell\1.6.0\azure-powershell.1.6.0.msi' -checksum '' -checksumType '' -originalUrl 'https://github.com/Azure/azure-powershell/releases/download/v1.6.0-July2016/azure-powershell.1.6.0.msi'
2017-08-27 23:31:52,357 17444 [DEBUG] - Empty checksums are allowed due to allowEmptyChecksums feature or option.
2017-08-27 23:31:52,379 17444 [DEBUG] - Running Install-ChocolateyInstallPackage -packageName 'WindowsAzurePowershell' -fileType 'msi' -silentArgs '/quiet /norestart' -file 'C:\Temp\chocolatey\WindowsAzurePowershell\1.6.0\azure-powershell.1.6.0.msi' -validExitCodes '0 3010' -useOnlyPackageSilentArguments 'False'
2017-08-27 23:31:52,381 17444 [DEBUG] - Running Get-ProcessorBits -compare '32'
2017-08-27 23:31:52,386 17444 [INFO ] - Installing WindowsAzurePowershell...
2017-08-27 23:31:52,426 17444 [DEBUG] - Running Start-ChocolateyProcessAsAdmin -validExitCodes '0 3010' -workingDirectory 'C:\Temp\chocolatey\WindowsAzurePowershell\1.6.0' -statements '/i "C:\Temp\chocolatey\WindowsAzurePowershell\1.6.0\azure-powershell.1.6.0.msi" /quiet /norestart ' -exeToRun 'C:\Windows\System32\msiexec.exe'
2017-08-27 23:31:52,447 17444 [DEBUG] - Test-ProcessAdminRights: returning True
2017-08-27 23:31:52,453 17444 [DEBUG] - Elevating permissions and running ["C:\Windows\System32\msiexec.exe" /i "C:\Temp\chocolatey\WindowsAzurePowershell\1.6.0\azure-powershell.1.6.0.msi" /quiet /norestart ]. This may take a while, depending on the statements.
2017-08-27 23:31:53,277 17444 [ERROR] - Exiting chocolatey abnormally. Please manually clean up anything that
 was not finished.
2017-08-27 23:31:53,279 17444 [ERROR] - Please do not ever use Control+C or close the window to exit.

One guess.......what happens if azure 1.6 is already installed via the PS gallery?

FYI I have not only found the root cause of all of this crap, but a workaround and even though Boxstarter should absoltely be able to properly detect errors in whatever is necessary for it's own install.......the root cause of all of this is ultimatley the bad packaging of the primary Azure 1.6.0 choco package named "windowsazurepowershell" that is in turn called by multiple Boxstarter module installs.
I detailed my findings in the comments of that package at:
https://chocolatey.org/packages/WindowsAzurePowershell
But since others began reporting this exact failure to this guy over half a year ago without a single response (or fix), I simply came up with, tested, and documented there a workaround to allow folks to both successfully install Azure 1.6.0 but most importantly then show it in the Choco lib as successfully installed upon further detections (at every Boxstarter install apparently), and now no matter what I do, all Boxstarter installs are successful on all my boxes after performing the following:
if(${env:ProgramFiles(x86)} -ne $null){ $programFiles86 = ${env:ProgramFiles(x86)} } else { $programFiles86 = $env:ProgramFiles }
mkdir "$programFiles86\Microsoft SDKs\Windows Azure\PowerShell\Azure"
copy "$programFiles86\Microsoft SDKs\Azure\PowerShell\ServiceManagement\Azure\Azure.psd1" "$programFiles86\Microsoft SDKs\Windows Azure\PowerShell\Azure"

Which now instead of crashing the entire Powershell subsystem and never retunring a successful package install, any time you perform a choco install on that package you get this:
D:\> choco install windowsazurepowershell
Chocolatey v0.10.7
[Pending] Removing incomplete install for 'WindowsAzurePowershell'
Installing the following packages:
windowsazurepowershell
By installing you accept licenses for the packages.

WindowsAzurePowershell v1.6.0 [Approved]
windowsazurepowershell package files install completed. Performing other installation
steps.

Windows Azure Powershell is already installed.
The install of windowsazurepowershell was successful.
Software install location not explicitly set, could be in package or
default install location if installer.

Chocolatey installed 1/1 packages.
See the log for details (C:\ProgramData\chocolatey\logs\chocolatey.log).

....and now I can't make any Boxstarter module install fail.....on any of my systems! : _bow:
Note all of this stems from absolutely horrible single file check and a totally outdated/incorrect file path for previous installation.  Because that fails, every time the choco install hits that package, it wants to reinstall and that MSI then totally BARFS out a bad return code which causes the cascade failures seen above.  His code should be checking the registry properly for what would be present for 100% of all successful MSI package installations, and not the file system for a single file in the entire package especially when paths can change.

I went one step further for everyone else finding that the other root cause here is that even if run manually, the way Microsoft authored this MSI has custom actions that will FORCE CLOSE ALL POWERSHELL PROCESSES.  Even manually, the only other option is to quit, which is friggin just stupid because it is absolutely acceptable to have the 3rd option to ignore leave open all PS windows, and rename in use files are next reboot as has been done for decades.  Why they left out option 3 I have no idea, but I put it back it myself by creating a custom MST transform one can simply use and leave the original MSI in-tact so upgrades etc. will all remain unchanged and also keep everything in a fully MS-supported condition since MSTs are fully supported by MS and not a hack like editing the MSI file itself etc.
Here is the link for the custom transform.  It contains both the attached binary MST transform file, and the correct command line to execute.  The difference is that when applying the transform, you can now install the package in a Powershell window and the common sense 3rd option instead of killing all PS processes or cancelling I've added the option to simply rename files in use (if any) leave PS alone and install the darn package.
Please obviously test this in a non-production environment first, this transform only does 2 things and that is remove the two custom actions that specifically force close powershell - nothing else.  I take no responsibility I am only providing these for educational purposes etc.
https://gist.github.com/CollinChaffin/46e00b6c930bcb824bea2a19a5e06874


Improve error message for "toolset not available" or attempt to install the toolset automatically

I ran into this since windows-latest used to work - I should have just used runs-on: windows-2019 for my php 7 builds instead.

Currently, windows-2019 may be used for all PHP versions, although this may change in future releases.

https://github.com/php/setup-php-sdk?tab=readme-ov-file#inputs explains this - perhaps link to that section and https://github.com/php/setup-php-sdk?tab=readme-ov-file#manually-installing-toolsets in the error message itself (I already figured out
Proposed solution: Attempt to install the toolset version if it doesn't exist (possibly controlled by an auto_install_dependencies: true config setting for the job to avoid accidental pollution and retry once
Run<EMAIL_ADDRESS>Run .....
At D:\a\_actions\php\setup-php-sdk\v0.9\run.ps1:45 char:5
+     throw "toolset not available"
+     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : OperationStopped: (toolset not available:String) [], RuntimeException
    + FullyQualifiedErrorId : toolset not available

https://github.com/php/setup-php-sdk?tab=readme-ov-file#inputs

Currently, windows-2019 may be used for all PHP versions, although this may change in future releases.

An unrelated thing I found when investigating this: https://stackoverflow.com/questions/66025220/paired-values-in-github-actions-matrix - using maps for the image version and the php version pairs is another alternative that could be mentioned, especially if multiple architectures or TS/NTS builds are supported - the currently suggested approach in https://github.com/php/setup-php-sdk/?tab=readme-ov-file#inputs is multiple excludes.
  windows:
    defaults:
      run:
        shell: cmd
    strategy:
      fail-fast: false
      matrix:
          version:
          - { os: windows-2019, php: "7.2" }
          - { os: windows-2019, php: "7.3" }
          - { os: windows-2019, php: "7.4" }
          - { os: windows-2022, php: "8.0" }
          - { os: windows-2022, php: "8.1" }
          - { os: windows-2022, php: "8.2" }
          - { os: windows-2022, php: "8.3" }
          - { os: windows-2022, php: "8.4" }
          arch: [x64]
          ts: [nts, ts]
    # https://github.com/php/setup-php-sdk?tab=readme-ov-file#inputs
    runs-on: ${{matrix.version.os}}
    steps:
      - name: Checkout project
        uses: actions/checkout@v2
      - name: Setup PHP
        id: setup-php
        uses<EMAIL_ADDRESS>        with:
          version: ${{matrix.version.php}}
          arch: ${{matrix.arch}}
          ts: ${{matrix.ts}}

Proposed solution: Attempt to install the toolset version if it doesn't exist (possibly controlled by an auto_install_dependencies: true config setting for the job to avoid accidental pollution and retry once

Actually, I don't think this is a good idea, unless this can be cached. https://github.com/php/pecl-database-dbase/actions/runs/10093674036/job/27909899287 reports that the installation takes almost 8 min; this is unbearably slow, in my opinion.
Using a proper matrix might be the better way; see also https://github.com/php/php-windows-builder, which might generally be the favorable solution (although somebody reported recently that it "wouldn't work").

The comment in https://github.com/php/setup-php-sdk?tab=readme-ov-file#inputs is also outdated as of php 8.4. php 8.4 results in "toolset not available" on runs-on: windows-2019
(Example just to prove the absence of the sdk: https://github.com/TysonAndre/var_representation/actions/runs/10341584115/job/28623549031)
My previous comment had the solution of specifying pairs of os and php version configs that work together: https://github.com/php/setup-php-sdk/issues/9#issuecomment-2282222968

Currently, windows-2019 may be used for all PHP versions, although this may change in future releases.

should say something along the lines of:

Currently, windows-2019 may be used for all PHP versions up to PHP 8.3. PHP 8.4 requires a newer image such as windows-2022.

Closed via aeb631f88f71bbf027937e7f7b1553e1d394c99e.


Add HashrateChallenge

Builds off the Profile component in #537
closes #503
Adds the hashrateChallenge and begins to add steps of the challenge
blocked by the completion of other components
Preview
TODO

add interactive steps

Hey Ben. This should unblocked now with this commit by Kevin: https://github.com/saving-satoshi/saving-satoshi/commit/2036a08f8cb3d97d6a3546795a62aba2426464d4

Just kidding. it's going to be addressed in https://github.com/saving-satoshi/saving-satoshi/pull/548

Okay it's been merged! G2G Ben.

Going to go through today and see how quickly I can implement it!

Cool to see this taking shape.

So I did the challenges. It looks like the sizing of the design changes when the text gets displayed which feels a bit jarring. Also the screen with the extra text doesn't fit within the standard window. The design fix here I think is that the width of the text box should wider.
This is true for solo-1 and pool-1. I don't think we have challenge 3 yet.
https://github.com/saving-satoshi/saving-satoshi/assets/32662508/fc95e0b2-a1d0-4464-a953-82b810cbaa5a
If the components work functionally, I saw let's merge and fix the design issues in the next sprint.

I moved the logic from the content pages into the shared  component additionally I went through to try and make the component generally easier to understand. In some places it might still be a doozy but i have added a few comments where I feel like it is absoulely neccessary.  Lastly for some of the design fixes I think we should hold off and fix those in a future PR, with @ecurrencyhodler's comment I think that can be fixed with some more generalized widths for the text when in that format and for @GBKS I would need to see exactly which of each of those elements have mistakes as I import quite a few components to build this PR.


Update search-the-audit-log-in-security-and-compliance.md

@brucehuy PR merged. Thanks for updating.


Add new record from Record to RecordEdit

This PR addresses #667 and #669. These 2 issues combine to describe a workflow in which:

A user goes to a Record page and clicks an Add Record link on one of the related tables.
The link takes the user to the RecordEdit page, where the foreign key relationship between the the main entity on the Record page and the clicked related table is pre-filled.

To test:

Go to this record on Record app.
Click the Add Record link for the External Reference related table (at the bottom)
The browser open the RecordEdit app in a new tab, and the url in the new tab should have a ?prefill= query parameter in the url.
The id column on the RecordEdit tab should have the rowname of the main entity from Record page as its pre-filled value.

Reviewed this in person with @howdyjessie. I looked over it again to see if there were any looming syntax errors or duplicate statements.
Merging and closing this PR.


⚠ Bofrost.at has degraded performance

In 538354f, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 2376 ms

Resolved: Bofrost.at performance has improved in 9fca37d.


Inspector Animator Transition extends only half of the window width

Aweseome idea! I know it's still in development, but I noticed this:

Is it possible to fix this?

I'll look into getting the missing elements styled (and fixing the fixed width issue).   What type of asset/window is the inspector targeting?  If it's an asset, could you possibly include a simple zip with what I'll need to view the problem?

Fixed (ControlLabel stretchwidth) as well as styled MeTransition elements.


We've been seeing a lot of issues, like https://github.com/uProxy/uproxy/issues/663, which seem to be because we are using WebRTC in a context that is basically unsupported by the Firefox team.
We should restructure freedom-for-firefox to run in the way expected by the Firefox developers.

App's window is a chromewindow, not a dom window, iirc. Code is also structured as a JSM, which runs as a singleton (as in, 1 instance across addons), and doesn't have a handle back to the specific addon.  I remember that there is something called 'hiddenDOMWindow'. would that be enough? I'm not sure what the specific problem is that this solves though.
Happy to take pull requests to restructure to something we think is saner longer term, but not sure that a high level discussion here makes sense without full understanding of limitations imposed by the code.

I believe we've been able to stabilize the rtc connections by taking ownership of the arraybuffers.  This doesn't seem to be a pressing issue, so closing until we have a reason it's needed.


How to parse CSV buffer?

I am using weka tool for machine learning purposes. I have the following part of the code that stores the prediction results in a buffer. I would like to know how can I parse the buffer to get only a specified columns (error and ID as shown in the attached figure)
`CSV csv = new CSV();
csv.setUseTab(true);
csv.setOutputFile(new File("Prediction Results.csv"));  // you don't need to store it in a file, ignored if pointing to directory
csv.setBuffer(new StringBuffer()); // for storing the predictions with the associated ID
csv.setAttributes("1");  // the index of the ID attribute
evaluation.crossValidateModel(fc, data, numFolds, new Random(1), csv);
// fracpete: output collected predictions and IDs
System.out.println(csv.getBuffer().toString());`
Please does anyone have an idea how to approach it? thank you

Are you sure you are using our library? The API you are referencing isn't ours. Otherwise, pipe the result to stream-transform and return only the field you are interested in.

Closing due to lack of activity.


os: update Linux troubleshooting url

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?

The existing Linux troubleshooting URL has two issues:

It doesn't reflect Linuxbrew's move to a separate GitHub org
It redirects to the legacy-linuxbrew (pre-core/brew split) wiki

Thanks again @rwhogg!


Installation is painfully slow

This module is painfully slow to install (even with tests disabled), to the point where I can't feel good about using this in any modules/scripts I write because of the installation burden.  With tests enabled, it's even slower.

The reason is, that there are a huge amount of (generated) classes for all the Timezones. Those take long to compile. The tests are auto-generated as well and run tests for each of those generated classes.
Did you know there is a better maintained alternative, DateTime::Timezones?


Making param sender nullable for iPad. Support for Cordova Plugin

I've used this app extension for building an cordova plugin. (https://github.com/SPIRIT-21/cordova-plugin-1password ). This extension simply passes the functions available in your extension to a cordova plugin. The only issue I have with it is the requirement of a sender with an iPad. In an cordova plugin the functions are not an native iOS Event so I don't have any sender object. Is there any way you could make this param nullable or is there any workaround possible?
Kind regards
Raphael

Hi Raphael,
Thanks for taking the time to write in :+1:
Sending a nil sender to findLoginForURLString: will crash the app when running it on iPad.
The method signature allows you to pass a nil sender.
- (void)findLoginForURLString:(non null NSString *)URLString forViewController:(non null UIViewController *)viewController sender:(nullable id)sender completion:(nullable void (^)(NSDictionary * __nullable loginDictionary, NSError * __nullable error))completion

However, even if you remove the NSAssert from OnePasswordExtension.m line 507 from your fork, it will still crash on iPad, as the UIActivityViewController needs a non-nil sourceView and sourceRect.
I recommend that you try and send an instance of a UIView or even self (the current view controller).
Hope that this helps. I'll be closing this issue for now. Please feel free to join the conversion about Cordova support in issue #155.
Cheers!


New document for managed resources

Summary
Adds a page for managed resources to the admin section of the docs.
Ticket Link
Related to this ticket

This issue has been automatically labelled "stale" because it hasn't had recent activity.
A core team member will check in on the status of the PR to help with questions.
Thank you for your contribution!
/cc @jasonblais @hanzei


I get the following error when I try to use it on a Neoforge server.

[main/ERROR] [minecraft/Main]: Failed to start the minecraft server
net.neoforged.fml.ModLoadingException: Loading errors encountered:
- Primal Winter (primalwinter) encountered an error while dispatching the net.neoforged.fml.event.config.ModConfigEvent$Loading event
java.lang.IllegalStateException: Cannot get config value before config is loaded.
crash-2024-10-17_06.47.13-fml.txt
The client version did not have this error.
It only happens when I try to load the mod on the Neoforge server.
I am not fluent in English and use translation software.
My apologies. Thanks.

Has anyone already solved this problem?
I am also seeing the same error code


moved threlte components to web folder

updated libraries and moved threlte-components within the web folder because threejs library versions were hard to sync between packages

closes #112


Update version: oxygendioxide.Deepvocal-Hitsuboku-Kumi-CHN version 1.1.0

Pull request has been created with WinGet Automation :rocket:
Microsoft Reviewers: codeflow:open?pullrequest=https://github.com/microsoft/winget-pkgs/pull/115970&drop=dogfoodAlpha

@wingetbot waivers Add Validation-No-Executables

/azp run


Linux supports shared service plans, but the documentation states a limitation

Hi,
Two pages contradict each other. This page states:
"App Service on Linux is not supported on Shared pricing tier."
In the Limitations section.
However (this page)[https://azure.microsoft.com/en-gb/pricing/details/app-service/linux/] states that Linux can run on a shared F1 plan
Thanks,
Ben

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

ID: 53dd65b1-6f9d-9431-5850-9cee636aeabd
Version Independent ID: 0012e819-bb2b-2955-d87b-d6f145fb6af7
Content: Overview - Azure App Service
Content Source: articles/app-service/overview.md
Service: app-service
GitHub Login: @msangapu-msft
Microsoft Alias: msangapu

@newtob thanks for your feedback! We will review and update this doc accordingly.

We've added this to our backlog to review and update as necessary. #please-close


test: add unit tests for

Added unit tests for background-script's and utils folders
Converted several interfaces to asynchronous (in general sense, using Promises) to improve test-ability
Minor bug fixes found during testing phase

Found taht adding ?w=1 to URL helps :)


IE bugfixes

Fixed a bug where structure won't open correctly in IE
Fixed bundle splitting and async chunks in IE11
Turns out Webpack 2+ uses Promises internally and they have to be polyfilled. The admin.widget bundle wouldn't load correctly in IE due to #5929 and #5941 not covering all the cases.

Fixes #6032

Coverage remained the same at 79.634% when pulling f26cd81bd3ea8bbb0dd1879e8521d4d7a0a6e50c on vxsx:bugfix/ie-bugfixes into e944377b8e3c84224365cb4776b294e115d932d5 on divio:develop.

Coverage remained the same at 79.653% when pulling c1967bae9c26935267c9b8eeda9a518450bb2fc5 on vxsx:bugfix/ie-bugfixes into 20ec493dee642d4bc37f961d484b25feeab323cb on divio:develop.


Roku support

Use case
Running an application in Android TV, Apple TV and Roku from the same codebase.
Proposal
Flutter should be able to run in Roku also using the same codebase.

Any video-content driven company is likely going to need Roku support. Let's look at the market data. There are approximately 1.14 billion streaming video devices in the global market in 2020. And yet the device footprint is highly fragmented. The Roku OS is the No. 1 smart TV OS in the U.S and in Canada, and powered more than one in three smart TVs sold in the U.S. during the first nine months of 2020 according to NPD. That is obviously needed. But it's difficult to make the case for a cross-platform development initiative when even the top OTT platforms aren't going to be supported other than Android TV.
sources:

https://www.businesswire.com/news/home/20200902005816/en/
https://ir.roku.com/static-files/2148e434-58e4-48e1-bd1c-926862e3c21b

Does the opinion keep the same about it?

Does the opinion keep the same about it?

Any news?

This would be amazing! However, at the moment, the only way to do this would be to compile from Dart to Brightscript (Roku's proprietary language).

I’d so love to see Roku support in Flutter!

+1

Any news?

+1

+1

+1

Any update on this?

Any news?

This issue is a triage nightmare.  The traditional way to plus one a github issue is to thumbs up the OP.  The rest of this is just disrespectful, frankly.

Will this be planned?


Update integration backstage titles to consistently use plural form

Currently both the sidebar and the bottom tiles use plural form ("webhooks", "commands"), however, the top tiles use singular form ("webhook", "command").
Propose updating top tiles to use plural form as well, for consistency.

QA review not needed pre-merge. Removing QA Review label.


Add Java Average Calculator

ATTENTION 🚨🚨🚨
Don’t Forget To Follow Me On Github , and Add Your Name In _contributing.md if not found your name in _contributing.md it should be Labelled as SPAM.
STAR 🌟 this REPO for future HacktoberFest.


No dependencies when using ninja -t deps

Heya. Using ninja 1.11.1 on Linux + cmake to manage a C project.
I'm trying to use ninja to map which headers are used by source files for a given target. I generate my build.ninja rules using cmake with the ninja multi-config generator, and while ninja -t inputs works given my targets, ninja -t deps outputs nothing - and if given a specific target, outputs test: deps not found.
My .ninja_deps file seems to be pretty big and populated, so I must be missing something basic. Is there any documentation specifically for the deps tool that could explain why I'm getting no output?
Thank you!

ninja -t deps <target> only prints the implicit dependencies recorded in the depfile generated the last time <target> was generated by Ninja. If the corresponding command in the Ninja build plan doesn't use a depfile, this will be empty. Which is what the deps not found seems to indicate.
Note: if your <target> is a phony target, it won't have a depfile ever, you must look at the real output target paths to get anything sensible.
Otherwise, you could try rebuilding ninja -d keepdepfile <target> to keep the depfile in the output directory, and look at its content to see whether it is empty or not.

As far as I know, you will need to invoke Ninja directly. I suggest asking in the CMake forums / mailing list otherwise.

Note that you can use ninja -t commands -s <target> to look at the command that generates . It should be easy to see if it generates a depfile or not. This would be empty for phony target too.


modPow behaving badly :(

20^2010 mod 564782141 = 537103799(I hope so) but I am getting 536569496.
It may be I have not read the limitations of bigInteger.js very well but if it does not work I cannot use it.
Observed problem starts after mod length >=9.
Again I am not even sure the trusted answer(537103799) which I have mentioned here is correct. But I have 2 answers from 2 sources.
Any help will be appreciated

What are the sources for your answer?  I can't confirm that they are correct. Wolfram|Alpha seems to agree with the BigInteger answer:
http://www.wolframalpha.com/input/?i=20^2010+mod+564782141&x=10&y=1

I'm closing this since I can't confirm that there is any issue. If you have any additional information, feel free to comment.

Sorry for the late reply as I was trying a means to verify.
OK here it goes. You are correct and the other source has issues. Here is
the proof.
Key pairs: 4411,21379 modbase 565864183
So if   x^4411 mod 565864183 = y
Then y ^  21379 mod 565864183 should be equal to x.
Tried with 20 with your code.
20 ^ 4411 mod 565864183 = 357089474
357089474 ^ 21379 mod 565864183 = 20.
Have a nice day.
Thanks
Palash
On Mon, Nov 2, 2015 at 5:22 PM, Peter Olson<EMAIL_ADDRESS>wrote:

Closed #55 https://github.com/peterolson/BigInteger.js/issues/55.
—
Reply to this email directly or view it on GitHub
https://github.com/peterolson/BigInteger.js/issues/55#event-452689993.


Wrap npmLocation if needed

If you pass an argument such as --npmLocation "C:\Program Files\..." the argument internally is represented without the quotes. When this.npmPath is then used just concated with other strings, e.g.
this.execSync(`${this.npmPath} install ${TypesRegistryPackageName}`

..this fails. This checks to see if the argument has spaces and isn't already wrapped, and wraps it if need be.
CC @andy-ms and @mhegazy

Instead of trying to solve the wrapping problem, what about using execFileSync over execSync?

child_process.execFileSync(file[, args][, options])
The child_process.execFile() function is similar to child_process.exec() except that it does not spawn a shell. Rather, the specified executable file is spawned directly as a new process making it slightly more efficient than child_process.exec().
The same options as child_process.exec() are supported. Since a shell is not spawned, behaviors such as I/O redirection and file globbing are not supported.

I thought about changing the API called, but as this is a minor and urgent fix to a release we already made, I wanted to keep the change as minimal as possible.

Seems like the right thing to do.

please port this to master.


⚠ Secret Website 3 has degraded performance

In f50c787, Secret Website 3 ($SECRET_WEBSITE_3) experienced degraded performance:

HTTP code: 200
Response time: 2755 ms

Resolved: Secret Website 3 performance has improved in e56de25.


feat: add emoji to direct messagechat and messagesContactlist

add ability to add emoji's to jembe direct message text
show emoji's as emoji image in messagesChat
show emoji's as emoji image in messages contactlist last message preview

tested on sdk .17 and mn-bootstrap, works as advertised


[Profile] az login: Add post-output hint

Related command
az login
Description
This PR is a simplified version of https://github.com/Azure/azure-cli/pull/16242:

The hinter is only registered on az login. No extra command module hint is introduced.
The different logic for handling subscription and tenant accounts is removed. All accounts are treated as subscriptions, differentiated by N/A(tenant level account). This is because the "dummy subscription representing a tenant" is already a bad design, so I don't want to spend too much effort explaining the intricacy. (See below for additional information.)
Subscription ID is always shown.
The TRY part is omitted.

Explanations:

The hint is printed to stderr, so it won't corrupt the JSON printed to stdout.
The default subscription hint may become invalid if https://github.com/Azure/azure-cli/issues/27915 is implemented.

Testing Guide
With subscription access:
> az login --service-principal --username a7003d8c-e50f-4371-91a6-ef37bba4ab23 --password xxx --tenant 54826b22-38d6-4fb2-bad9-b7b93a3e9c5a --allow-no-subscriptions
[
  {
    "cloudName": "AzureCloud",
    "homeTenantId": "54826b22-38d6-4fb2-bad9-b7b93a3e9c5a",
    "id": "0b1f6471-1bf0-4dda-aec3-cb9272f09590",
    "isDefault": true,
    "managedByTenants": [],
    "name": "AzureSDKTest",
    "state": "Enabled",
    "tenantId": "54826b22-38d6-4fb2-bad9-b7b93a3e9c5a",
    "user": {
      "name": "a7003d8c-e50f-4371-91a6-ef37bba4ab23",
      "type": "servicePrincipal"
    }
  }
]
[HINT]
The default subscription is 0b1f6471-1bf0-4dda-aec3-cb9272f09590 (AzureSDKTest)
To change the default subscription, run `az account set --subscription {id or name}`

Without subscription access:
> az login --service-principal --username 92375e31-0eae-4019-8207-0698ce16d144 --password xxx --tenant 54826b22-38d6-4fb2-bad9-b7b93a3e9c5a --allow-no-subscriptions
[
  {
    "cloudName": "AzureCloud",
    "id": "54826b22-38d6-4fb2-bad9-b7b93a3e9c5a",
    "isDefault": true,
    "name": "N/A(tenant level account)",
    "state": "Enabled",
    "tenantId": "54826b22-38d6-4fb2-bad9-b7b93a3e9c5a",
    "user": {
      "name": "92375e31-0eae-4019-8207-0698ce16d144",
      "type": "servicePrincipal"
    }
  }
]
[HINT]
The default subscription is 54826b22-38d6-4fb2-bad9-b7b93a3e9c5a (N/A(tenant level account))
To change the default subscription, run `az account set --subscription {id or name}`

Additional information
There is no concept of tenant account at all. There is only "dummy subscription representing a tenant". The help message of az account set shows the same:
> az account set -h

Command
    az account set : Set a subscription to be the current active subscription.

Arguments
    --name --subscription -n -s [Required] : Name or ID of subscription.

Related discussions:

https://github.com/Azure/azure-cli/issues/13285
https://github.com/Azure/azure-cli/issues/15585

Profile

#16242 emphasizes subscription name instead of subscription ID. If name can uniquely identify the default subscription, only show name; Otherwise, name is appended with id wrapped by parentheses:

Subscription name is unique: AzureSDKTest
Subscription name is not unique: AzureSDKTest (0b1f6471-1bf0-4dda-aec3-cb9272f09590)

I personally don't agree with this design, as subscription ID is

globally unique
constant (can't be changed)
the primary key to identify a subscription in resource ID, such as /subscriptions/0b1f6471-1bf0-4dda-aec3-cb9272f09590

On the other hand, subscription name is

not unique
can be changed at will
only for displaying purpose and not programmatically used anywhere

Azure CLI as an automation tool should focus on automation scenarios, instead of readability when they conflict.


Issue with k8s.io/docs/tasks/administer-cluster/change-pv-reclaim-policy/

Error in step 3) Verify that your chosen PersistentVolume has the right policy. Still show RECLAIMPOLICY as 'delete'. Should be 'Retain'.

/language en

@lars-c
step 2 says to "Choose one of your PersistentVolumes and change its reclaim policy:" and in steps 3 we can see the volume bound to claim default/claim3 has reclaim policy Retain

It looks correct

I know - I made a stupid mistake. Step 3 is perfectly okay. Sorry for the confusion. My mistake.

closing this, as looks like there is no action needed here to improve the docs. thanks all for your responses!


Should rusoto_dynamodb::AttributeValue be an enum?

rusoto_dynamodb::AttributeValue is a struct that can contain all types at once. Shouldn't this instead only be one of the variants listed in the struct?

Is this related to/a duplicate of #340?

Ah, yes. I should have looked for the more genic problem.


How to gradually appear filter during displacementFilter

Hi everybody,
I've a logo in which I apply a displacement filter effect :
http://michaelg.fr/lab_webgl/displacementfilter/
On this example, I animated the displacementFilter during a onmouseover function.
When I'm not overing the logo, I would like to erase gradually the filter so the logo appears like in his initial looking (without curves). Indeed with my current code, my logo is always deformed.
Do you know which variable I've to modify to do this ?
In other words, do you know where the visual intensity of the filter is managed?
Thank you very much in advance for your help :)

Up ?
Maybe @ivanpopelyshev could help me with his enigmas ? :)
Thanks very much, I tried to play with a lot of attributes but I'm king of stuck right now...

Up again ? Sorry I can't find the solution my own...

sorry, was busy :) filter has its own "scale" field or something like that?

There's absolutely no problems :)
Yeah filter has a scale property, I was thinking : maybe I can start with an elevate scale and then decrease it to obtain what I want.
But there must have a better way right ?
Finally I want my logo to be normal (not deformed) when it's not hovered.
Thank you very muchhhhh !

hello!
if you set the filter scale to 0 it should have no effect. Increasing this property will increase the strength of the filter.
Cheers!


streaming output with function call throws exception: No function callback found for function name:

Function Calling
streaming output with function call throws exception: No function callback found for function name: ,the name of function in toolCalls parameter is empty
you can reproduce this bug with official tutorial sample code, in 1.0.0-M3.2 or 1.0.0-M2.1 version which I've tried.
采用流式输出函数调用结果，会抛异常No function callback found for function name: ，debug发现找不到toolCalls变量里面的function的name，并且之前有一个测试过是正常的代码，现在调用也不正常了，怀疑是百炼平台的流式api接口出了点问题。

我也出现了这个问题，openAI的就可以用的，希望尽快解决

我也出现了这个问题，openAI的就可以用的，希望尽快解决

https://github.com/alibaba/spring-ai-alibaba/issues/199#issuecomment-2550006265
This solution works for now, but it's not very convenient as it requires modifying the source code. I hope that the official next version can include this fix as soon as possible. It would be great if it could be urgently addressed since it has a significant impact.
目前采用这个方案解决了，但是要改源码，还是不太方便，希望官方下个版本尽快上，能紧急修复下吧，影响还挺大的

遇到同样的问题,该怎么解决?

谢谢

@PolarishT @Cirilla-zmh 谢谢

@hongshuo-wang @lovesupertiger @LittleDrip
Hey, seems to be a lot of similar questions being asked at the same time. I have fixed this issue based on @PolarishT's PR and hope it could work well. (I could work as expected on my machine now)

@hongshuo-wang @lovesupertiger @LittleDrip Hey, seems to be a lot of similar questions being asked at the same time. I have fixed this issue based on @PolarishT's PR and hope it could work well. (I could work as expected on my machine now)

Why do I still have the above error? Is it because the Taobao image source I am using has not been updated？

Why do I still have the above error? Is it because the Taobao image source I am using has not been updated？

This fix has just been merged into the code repository and is not yet included in latest release. So if you want to verify this fix, you will need to package it locally first.
I anticipate that a new release may be made today or tomorrow. cc @chickenlj

@hongshuo-wang @lovesupertiger @LittleDrip Hey, seems to be a lot of similar questions being asked at the same time. I have fixed this issue based on @PolarishT's PR and hope it could work well. (I could work as expected on my machine now)

Thank you very much for your work. I hope this framework will continue to grow stronger. I will keep using it and provide feedback.

Why do I still have the above error? Is it because the Taobao image source I am using has not been updated？

This fix has just been merged into the code repository and is not yet included in latest release. So if you want to verify this fix, you will need to package it locally first.
I anticipate that a new release may be made today or tomorrow. cc @chickenlj

You said: release a new version today or tomorrow to fix it. Why hasn't it been published?

You said: release a new version today or tomorrow to fix it. Why hasn't it been published?

I apologize for my miscalculation. There may have been some issues that delayed the release. I'm not the release manager so I could not help you. cc @chickenlj

应该怎么修改呢

spring-ai-alibaba-starter 使用1.0.0-M3.3这个版本，这个版本已经处理了这个问题


⚠ Bofrost.de has degraded performance

In fe21e22, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1745 ms

Resolved: Bofrost.de performance has improved in 2bd78d4 after 8 minutes.


[Feature Request] Admin-Only Commands

Overview
Create commands that are only accessible to users with admin permissions for commands related to DuckBot setup and configuration, e.g, number of skull react required to post to skullboard.
Details
Verify user admin status by listing Discord usernames in .env file.
Have admin commands to configure DuckBot including:
/admin set guild-id
/admin set skullboard-channel-id
/admin set required reactions
Why would this feature be useful?
So that DuckBot's settings can be easily changed without editing code or rerunning deployment actions.
Additional Notes
No response

https://github.com/compsci-adl/duckbot/pull/32 Now includes a database for permanent store of data. Useful for adding/removing admins at runtime.


opening stand-alone index.html doesn't work

Browser blocks the CORS requests if index.html is opened with file://... . Suggest updating the README.md to indicate that the standalone site must be run from a web browser, and will not work from a file:// URL.
For example, from the "standalone" folder:
$>python -m SimpleHTTPServer
... then browse to http://localhost:8000

Thank you for the suggestion. I updated the readme with a pointer to a well written document from mozilla https://developer.mozilla.org/en-US/docs/Learn/Common_questions/set_up_a_local_testing_server


Reserved names replacement in tables! is also applied in joinable!

Fixes #1609
I expect some feedback.
I have a hard time testing.
I want to add more tests.
https://github.com/diesel-rs/diesel/commit/ce056c6f06046a17ec0cc97b4409f6b292fedbd9
should be a good example
cc @Eijebong

The code has been fixed and rebased.
The previous test that was not valid has been replaced a proper test for the fix.
The replacement of reserved keywords in the foreign constraint primary key field is not tested currently.

This is a off-topic but you should use rustfmt.

Ran rustfmt, remove the unused primary_key_rust_name field, squashed commits

I feel the code is in good shape and ready to land, unless the alternate implementation would be favored.

@Eijebong anytime for last review ?

Ironically we're facing this issue right now haha. Nice to see the fix coming. Nice job you two.

@Eijebong Can't wait for last review.

I really hope, this would get fixed, it has been ready for a while.


Finish break-up of core concepts doc

@alisondy started work on this in #110 - looking good already!

@alisondy Shall we push this back until #116 is done? So we can have the global redirect working first?

https://github.com/alisondy/website/commit/a4b9a886dc404aa122e3d18c7acc8f4c1a26ddb3#diff-2d935a691066f5dc5402b97a3f970470419ae53a80bedf380793d96adb5c814e
Maybe get this into f/flux2 first?

Sounds like a good idea 👍

On 12/04/2021, at 16:25, Daniel Holbach @.***> wrote:
@.***#diff-2d935a691066f5dc5402b97a3f970470419ae53a80bedf380793d96adb5c814e https://github.com/alisondy/website/commit/a4b9a886dc404aa122e3d18c7acc8f4c1a26ddb3#diff-2d935a691066f5dc5402b97a3f970470419ae53a80bedf380793d96adb5c814e
Maybe get this into f/flux2 first?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/fluxcd/website/issues/111#issuecomment-817903851, or unsubscribe https://github.com/notifications/unsubscribe-auth/AEVMP2LQPG7Q73KC2DISZ4DTIMGFNANCNFSM4ZPD2GQQ.

A PR was merged in #141, does that complete this issue?

No, it's not right now there's only ./docs/concepts.md - the idea was to break this up into various docs, cf https://github.com/alisondy/website/commit/a4b9a886dc404aa122e3d18c7acc8f4c1a26ddb3#diff-2d935a691066f5dc5402b97a3f970470419ae53a80bedf380793d96adb5c814e

@dholbach can you please assign this to me? :)


Turborepo

What is Turborepo?
Turborepo is a high-performance build system for JavaScript and TypeScript codebases with:

Fast incremental builds
Content-aware hashing, meaning only the files you changed will be rebuilt
Remote Caching for sharing build caches with your team and CI/CD pipelines

Why use Turborepo?

Follow standard conventions for a monorepo
Eliminate a bunch of bash commands
Opens up remote caching in the future (i.e., Medplum devs login, and share build output)
Opens up shared build cache in the future (i.e., Vercel deployments can use that same remote cache)

Coverage remained the same at 94.202% when pulling fdc68da2c7106674df29f0d12c7dbaf57e92514b on cody-turborepo into 15acb1a52373337c61a45628cb27281072c6d943 on main.


mqtt_client Docker unable to connect to MQTT broker after startup

After I started mqtt_client container docker, the logs showed that several mqtt related parameters were not set, and I ended up unable to connect to mqtt broker. However, I have opened the emqx service locally in Ubuntu, and I can connect successfully through the browser. Q: What is the reason for this, and where are the MQTT parameters set for the mqtt_client container? thanks for your help.
this is log:
weyne@ubuntu:~$ docker run --rm ghcr.io/ika-rwth-aachen/mqtt_client:ros2
[INFO] [launch]: All log files can be found below /root/.ros/log/2024-05-09-06-41-58-305609-513f020f5e52-1
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [mqtt_client-1]: process started with pid [52]
[mqtt_client-1] [WARN] [1715236918.544429235] [mqtt_client]: Parameter 'broker.tls.enabled' not set, defaulting to '0'
[mqtt_client-1] [WARN] [1715236918.544538293] [mqtt_client]: Parameter 'client.id' not set, defaulting to ''
[mqtt_client-1] [WARN] [1715236918.544548242] [mqtt_client]: Client buffer can not be enabled when client ID is empty
[mqtt_client-1] [WARN] [1715236918.544556117] [mqtt_client]: Parameter 'client.clean_session' not set, defaulting to '1'
[mqtt_client-1] [WARN] [1715236918.544576185] [mqtt_client]: Parameter 'client.keep_alive_interval' not set, defaulting to '60.000000'
[mqtt_client-1] [WARN] [1715236918.544583539] [mqtt_client]: Parameter 'client.max_inflight' not set, defaulting to '65535'
[mqtt_client-1] [INFO] [1715236918.544604920] [mqtt_client]: Bridging ROS topic '/ping/ros' to MQTT topic 'pingpong/ros'
[mqtt_client-1] [INFO] [1715236918.544621061] [mqtt_client]: Bridging MQTT topic 'pingpong/ros' to ROS topic '/pong/ros'
[mqtt_client-1] [INFO] [1715236918.545433149] [mqtt_client]: Connecting to broker at 'tcp://localhost:1883' ...
[mqtt_client-1] [ERROR] [1715236918.746983785] [mqtt_client]: Connection to broker failed (return code -1), will automatically retry...
^C[WARNING] [launch]: user interrupted with ctrl-c (SIGINT)
[INFO] [mqtt_client-1]: sending signal 'SIGINT' to process[mqtt_client-1]
[mqtt_client-1] [INFO] [1715236920.810983658] [rclcpp]: signal_handler(signum=2)
[INFO] [mqtt_client-1]: process has finished cleanly [pid 52]
weyne@ubuntu:~$ systemctl status emqx
● emqx.service - emqx daemon
Loaded: loaded (/lib/systemd/system/emqx.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2024-05-08 23:13:19 PDT; 28min ago
Main PID: 995 (beam.smp)
Tasks: 41 (limit: 4556)
Memory: 252.7M
CGroup: /system.slice/emqx.service
├─ 995 emqx -Bd -spp true -A 4 -IOt 4 -SDio 8 -C multi_time_warp -e 262144 -zdbbl 8192 -Q 1048576 -P 2097152 -- -root /usr/lib/emqx -bindir /usr/lib/emqx/erts-14.2.1/bin -progname /usr/bin/emq>
├─1889 erl_child_setup 1048576
├─1925 /usr/lib/emqx/lib/os_mon-2.9.1/priv/bin/memsup
├─1926 /usr/lib/emqx/lib/os_mon-2.9.1/priv/bin/cpu_sup
├─2150 /usr/lib/emqx/erts-14.2.1/bin/inet_gethost 4
└─2151 /usr/lib/emqx/erts-14.2.1/bin/inet_gethost 4
May 08 23:13:19 ubuntu systemd[1]: Started emqx daemon.
May 08 23:13:23 ubuntu bash[995]: WARNING: Default (insecure) Erlang cookie is in use.
May 08 23:13:23 ubuntu bash[995]: WARNING: Configure node.cookie in /etc/emqx/emqx.conf or override from environment variable EMQX_NODE__COOKIE
May 08 23:13:23 ubuntu bash[995]: WARNING: NOTE: Use the same cookie for all nodes in the cluster.
May 08 23:13:27 ubuntu bash[995]: Listener tcp:default on <IP_ADDRESS>:1883 started.
May 08 23:13:27 ubuntu bash[995]: Listener ssl:default on <IP_ADDRESS>:8883 started.
May 08 23:13:27 ubuntu bash[995]: Listener ws:default on <IP_ADDRESS>:8083 started.
May 08 23:13:27 ubuntu bash[995]: Listener wss:default on <IP_ADDRESS>:8084 started.
May 08 23:13:28 ubuntu bash[995]: Listener http:dashboard on :18083 started.
May 08 23:13:28 ubuntu bash[995]: EMQX 5.6.1 is running now!

You could try giving the docker container in which the mqtt_client is running access to your host's network:
Instead of
docker run --rm ghcr.io/ika-rwth-aachen/mqtt_client:ros2
try
docker run --network host --rm ghcr.io/ika-rwth-aachen/mqtt_client:ros2.
In addition, you may first want to try the broker we describe in our readme.
So, before you start the mqtt_client, start the Mosquitto broker with
docker run --rm --network host --name mosquitto eclipse-mosquitto
You might need to stop the EMQX service temporarily before running the Mosquitto broker.
After you started the Mosquitto broker, run
docker run --network host --rm ghcr.io/ika-rwth-aachen/mqtt_client:ros2
as described above.
Let me know whether any of this helped!

To add some more explanation: I'm pretty sure that the issue is the following:

the default config is configured to connect to a broker at localhost:1883
when running the client inside a container, localhost refers to the container, not your host computer where your broker is apparently running
starting the container with --network host, as @bastilam has suggested, will let the container use the host's network interfaces, I.e., localhost will refer to your host computer
instead of sharing all network interfaces with the host, you could also configure the client to connect to host.docker.internal instead of localhost, which should resolve to the IP of the host from inside the client container
you can use your own config file by mounting it into the container and the modifying the container launch command

docker run --rm -v $YOUR_CONFIG_FILE:/params.yml ghcr.io/ika-rwth-aachen/mqtt_client:ros2 ros2 launch mqtt_client standalone.launch.ros2.xml params_file:=/params.yml

Thank you very much, it's up and running now


Feature: autopilot

See https://developer.hashicorp.com/nomad/tutorials/manage-clusters/autopilot.

I've added autopilot under 8c5433


Refactor code in background.js

Please check background.js and refactor the different methods inside this.

Do small, incremental changes that leave the code in a better state than it was found.

Do not make any changes in other files.

Make sure that the existing functionality shouldn't break.

i will do this

Is anyone assigned to this issue? I would like to participate if possible!

@aleoof Yes, please go ahead.

@JordanRosas No actually, give it a shot, I'll merge the most optimized code.

Hi @vinitshahdeo last night I ran your project fresh and and when I opened my devtools I got three errors

A bad HTTP response code (404) was received when fetching the script.
-background.js:174 Uncaught TypeError: Cannot read property 'get' of undefined
at setCookieCount (background.js:174)
at background.js:180 (Don't mind the line numbers I had my refactored code sitting on top of the old code for reference)
GET http://<IP_ADDRESS>:8080/index.js net::ERR_ABORTED 404 (Not Found)

is there something I am missing on my end?

@JordanRosas It seems you opened index.html in chrome directly. It's a chrome extension so it's supposed to be installed locally. Please refer this.

Hi Again!
Pardon my many questions I've never worked with a chrome extension. I tried
to load the unpacked extensions from the instructions in hour README and I
get a Filed to load extension with the following message => Cannot load
extension with file or directory name config.yml. Filenames starting with
"" are reserved for use by the system. Could not load manifest. Any Ideas?
On Fri, Oct 11, 2019 at 8:01 AM Vinit Shahdeo<EMAIL_ADDRESS>wrote:

@JordanRosas https://github.com/JordanRosas It seems you opened
index.html in chrome directly. It's a chrome extension so it's supposed
to be installed locally. Please refer this
https://developer.chrome.com/extensions/getstarted.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/vinitshahdeo/Cookie-Manager/issues/12?email_source=notifications&email_token=AH3LLVR3ZBTF7UOXTL4VZELQOB2JTA5CNFSM4I7R5RIKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEA75P4A#issuecomment-541054960,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AH3LLVVE2QWLBCPSQAG3ZK3QOB2JTANCNFSM4I7R5RIA
.

@JordanRosas My bad. Please delete that file (_config.yml). It's not supposed to be there. This for GitHub pages.

Awesome thanks.
On Fri, Oct 11, 2019 at 9:05 AM Vinit Shahdeo<EMAIL_ADDRESS>wrote:

@JordanRosas https://github.com/JordanRosas My bad. Please delete that
file (_config.yml). It's not supposed to be there. This for GitHub pages.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/vinitshahdeo/Cookie-Manager/issues/12?email_source=notifications&email_token=AH3LLVTZA4TOUY5VZKF7EKLQOCB3VA5CNFSM4I7R5RIKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEBADKMY#issuecomment-541078835,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AH3LLVWUOOPXTOKAVOA2ABTQOCB3VANCNFSM4I7R5RIA
.

@JordanRosas You're welcome!

@vinitshahdeo I have a PR up for some reason I couldnt add you as a reviewer?

@JordanRosas No problem. Thank you for the PR. I'll review and merge it soon.
You may look into a few more good first issues here which are up for grabs!


Fix for #3103 breaks SQL CE provider

The fix https://github.com/aspnet/EntityFramework/commit/c2b01796fbea1aba41c2f7e46f4a55b8b0a44550  causes SQL like the following to be generated, adn this way of nesting SELECTs is not supported by SQL CE:
SELECT [g].[FullName], [t].[Note]
FROM [Gear] AS [g]
INNER JOIN [CogTag] AS [t] ON [g].[FullName] = (
    SELECT TOP(1) [subQuery0].[FullName]
    FROM [Gear] AS [subQuery0]
    WHERE ([subQuery0].[Nickname] = [t].[GearNickName]) AND ([subQuery0].[SquadId] = [t].[GearSquadId])
)

This is similar to the pattern/issues reported in #3038 and #2626

We'll handle this the same as the other ones... post RC we can help with guidance about how to override this for CE

Thanks, Rowan


Allow modifying .prettierrc.json

Hi, appreciate this package because it's basically what i'm looking for (standardx for Typescript), but I found that in ts-standard, they recently added prettier to the package (version 9.0.0, Dec 06, 2020) and it causes a number of eslint rule changes to not work because of conflicts with the prettier config. Is it possible for you to allow changes to the prettierrc? Thanks!

Hi,
I also noticed the conflicts, so in https://github.com/exuanbo/ts-standardx/blob/main/src/compatRules.ts I hand-picked the conflicted rules and tested them in https://github.com/exuanbo/ts-standardx/blob/main/tests/compatRules.test.ts. So far it works fine in my own projects.
As for .prettierrc*,
https://github.com/exuanbo/ts-standardx/blob/b3c300a20937c6ebcb2f056532d359df175a1772/src/eslintrc.ts#L10-L16
https://github.com/exuanbo/ts-standardx/blob/b3c300a20937c6ebcb2f056532d359df175a1772/src/eslintrc.ts#L21-L24
https://github.com/prettier/eslint-plugin-prettier#options says "This option will merge and override any config set with .prettierrc files".
It's allowed to make changes to .prettierrc* but the above options in PRETTIER_STANDARD will not be affected. The only way is changing them in .eslintrc*.

Ah, I did not realize that's how it worked. Thank you for letting me know!

No problem. I should have added them in the documentation.

Instruction added in the Configuration section https://github.com/exuanbo/ts-standardx#-configuration


Use a LRU cache

https://github.com/isaacs/node-lru-cache

Done in https://github.com/jillix/flow-nodejs/commit/3cb5e528854bbd0af2a5bacc39ab34461d2d0916


Add a settings page.

A settings section should be implemented.
In this section users can set defaults such as language, and grading schema.

Implemented


how is this better than Polymer/lazy-imports ?

how is this better than Polymer/lazy-imports ?
Does it support polymer build, i mean do the files specified by lazy-import are put into the bundles?

Polymer's lazy-imports is pretty cumbersome for what it does, this is meant to just be an super simple way to declaratively import a component - eg to make iron-pages lazy without any real effort. If you want something more powerful, can always do something custom (with importHref / lazy-imports / DIY).
Don't know the internals of polymer build, but if you're referring to vulcanize (ie: import inlining), then no, because vulcanize just reads HTML import links and inlines them. This creates import links on the fly when you go active.

@seaneking I'm talking about polymer build from polymer-cli , it's evolved from legacy gulp build with vulcanize.
There must be a way to make your imports readable by polymer-bundler, otherwise it's quite useless.

That page you linked describes an option called  includeDependencies for exactly this use-case (defining extra dynamically-imported deps to bundle).
In any case don't see how not bundling lazy import deps make it 'useless'. If you're serving over HTTP/2, for example, then bundling deps with polymer-build is an antipattern anyway.

The issue is that polymer polymer build should see declared imports just to copy bower_components to the bundle, it doesn't concatenate them to one file, it's not an antipattern.

Ah okay, my mistake. Thought you were talking about vulcanising


Report id 6613

Looks like you are upgrading from an older version and the migration format has changed. Migrate is in experimental phase so this might happen sometimes.
In order to fix it you will need to reset your migrations. Delete the _Migration table in your database and also delete prisma/migrations folder and try again with the latest version
Docs: https://prisma.io/docs/reference/tools-and-interfaces/prisma-migrate#troubleshooting


Supporting instruction filtering of ScheduleBlock

What should we add?
Qiskit Pulse currently supports two in-memory representations, Schedule and ScheduleBlock. The pulse builder syntax only supports the block representation, and we are going to deprecate the legacy Schedule representation due to its poor capability of parameterized duration handling.
However, instruction filtering is not supported by ScheduleBlock. This is because the current implementation of the filtering function assumes (t0, instruction) tuple as an internal data structure, which doesn't match with one of the block representation (note that block is not aware of the instruction issued time t0). To deprecate Schedule without loosing the operability, this function must be properly supported.
Typical use case of filtering method:

Get cr pulse from CNOT schedule

def get_cr(t0_inst_tup):
    return isinstance(t0_inst_tup[1], Play) and t0_inst_tup[1].pulse.name.startswith("CR90p_u")

cr_sched = cnot_sched.filter(get_cr)

It would be great if this could be more natively supported: e.g.
cr_sched = cnot_sched.filter(pulse_names=["CR90p_u*"])

Get pulses on a specific channels

u0_sched = cnot_sched.filter(channels=[ControlChannel(0)])

Get play instructions

play_sched = cnot_sched.filter(instruction_types=[Play])

@nkanazawa1989
I would like to work on this issue. Thank you so much in advance! 🙇

@nkanazawa1989
Hello 👋 I have one question. ScheduleBlock has the attribute instructions, by using which we can easily get time-ordered (t0, instruction) tuples. However, what we want here is a filtering method that directly deals with block elements in ScheduleBlock, is that right? Thank you so much in advance! 🙇

Yes, this is correct. Note that .instructions method exists just for backward compatibility and it internally calls transform to Schedule, i.e.
from qiskit.pulse.transform import target_qobj_transform

def filter(block_to_filter: ScheduleBlock, **filter_kwargs) -> Schedule:
     schedule = target_qobj_transform(block_to_filter)
     return schedule.filter(**filter_kwargs)

Even if you implement filter in this approach, you are just filtering the instructions on Schedule domain, which we want to deprecate in future. We don't need to support filtering with time range, but other functionality must be supported. I think you can dispatch internal filtering logic based on instance type.

@nkanazawa1989
Thank you very much for your reply and telling me that! I see! 🙇

@nkanazawa1989
Hello 👋  I have another question regarding outputs after filtering.
I pushed the first version into https://github.com/Qiskit/qiskit-terra/pull/9971, and its behavior is as follows.
Please let us take the following schedule_block as an example (this is from the official doc ):
backend = FakeOpenPulse3Q()
d2 = pulse.DriveChannel(2)

with pulse.build(backend) as bell_prep:
    pulse.u2(0, np.pi, 0)
    pulse.cx(0, 1)

with pulse.build(backend) as sched_blk:
    # We call our bell state preparation schedule constructed above.
    with pulse.align_right():
        pulse.call(bell_prep)
        pulse.play(pulse.Constant(bell_prep.duration, 0.02), d2)
        pulse.barrier(0, 1, 2)
        registers = pulse.measure_all()

When I filter MeasureChannel(0) as
filter_sched_blk = sched_blk.filter(channels=[MeasureChannel(0)])

then I get
filter_sched_blk.draw()

However, if I do the same thing using the filter method in Schedule class, then I get
from qiskit.pulse.transforms.canonicalization import block_to_schedule
sched = block_to_schedule(sched_blk)
filter_sched = sched.filter(channels=[MeasureChannel(0)])
filter_sched.draw()

which is different from the above schedule_block result.
So, my question is that the above kind of difference is acceptable or not? (In other words, do you expect that the filter method in ScheduleBlock class outputs the completely same result as that in Schedule class does?)
Considering that a schedule_block may be just one component of another schedule_block, then the above behavior might seem ok, but I am not sure..
Thank you so much in advance! 🙇

Thanks @junnaka51, it's good question. Because ScheduleBlock doesn't have scheduled instructions, when you filter it and visualize, the filtered block schedules instructions on the fly. Since some instructions are now filtered out from the block, generated schedule doesn't preserve timing of instructions. If you want to keep the instruction time, you could schedule it in advance and pad idle time with Delay. However, I don't think we need to keep the instruction time from the viewpoint of its usage, e.g.
cr = cx_schedule.filter(channels=[ControlChannel(0)])
cr45p = cr.blocks[0]
cr45m = cr.blocks[1]

with build() as ecr:
    call(cr45p)
    pulse.play(x_pulse, DriveChannel(0))
    call(cr45m)

This example shows how you could create ECR from CX schedule block. Because filtered instructions may be used in another builder context which provides own scheduling policy, I think they don't need to preserve instruction time in the original context.
In this sense, you don't need to keep alignment of the block as well (in principle you can keep the alignment and original nested data structure, but I think you need to implement complicated code). Just recursively listing all blocks and apply filters to them would be the simplest solution and should be enough for most of its use case.

@nkanazawa1989
Thank you very much for your quick reply and teaching me that! 🙇
I see, then I would like to go ahead with this approach 👍

Manually close as #9971 is merged.


Page information is old

[Please update this page its over 2 years old and please provide a cleaner way of running a application is parallel without needing to add more code to an application, but actually using built in azure functions. ]

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

ID: 0d35e3d8-a644-dfb6-a16a-93679276c079
Version Independent ID: 8c6bcc7c-4428-be5b-2221-0c0302cdd281
Content: Run a parallel workload using the .NET API - Azure Batch
Content Source: articles/batch/tutorial-parallel-dotnet.md
Service: batch
GitHub Login: @JnHs
Microsoft Alias: jenhayes

Thanks for the feedback! I have assigned the issue to the content author to investigate further and update the document as appropriate.

Hi @lcpautotester, thanks for the feedback and sorry for the delay. We're currently reviewing the article and I'll reply back here soon once we've determined what updates are needed.

Hello again @lcpautotester, thanks for your patience. We have reviewed the tutorial and made a few changes to ensure it is up to date. Thanks for bringing this up.
I will go ahead and close this issue, but please let us know if you have further feedback! #please-close


MatchQuery generates bad request for ES 5.6

[ x ] elastic.v5 (for Elasticsearch 5.x)
Using the following code
func DateQuery (start time.Time, end time.Time) (*es5.RangeQuery) {
    return es5.NewRangeQuery(opts.DateField).Gte(start.Unix()).Lte(end.Unix())
}

func MustQuery (queries ...es5.Query) (*es5.BoolQuery) {
    return es5.NewBoolQuery().Must(queries...)
}

func IdQuery(ids []string) (*es5.MatchQuery) {
    return es5.NewMatchQuery(opts.IdField, ids)
}
func TransferDocs ( start time.Time, end time.Time, src ESIndex, dst ESIndex, ids []string) {
    //Get the documents from source

    date_q := DateQuery(start,end)
    id_q   := IdQuery(ids)

    source_cxt := es5.NewFetchSourceContext(true)

    search_src := es5.NewSearchSource().Query(MustQuery(date_q,id_q)).FetchSourceContext(source_cxt).Size(len(ids))

    if ! IsOldESVer(src.ESVersion) {
        search_src = search_src.NoStoredFields()
    }

    results, err := src.Client.Search().Index(src.Index).SearchSource(search_src).Do(context.Background())

Generates a POST request trace
Trace:2018/02/13 22:03:20 POST /request-sync-test-01/_search HTTP/1.1
Host: test2-request:9200
User-Agent: elastic/5.0.62 (linux-amd64)
Transfer-Encoding: chunked
Accept: application/json
Content-Type: application/json
Accept-Encoding: gzip

dd
{"_source":true,"query":{"bool":{"must":[{"range":{"epoch":{"from":1512802800,"include_lower":true,"include_upper":true,"to":1512804600}}},{"match":{"uuid":{"query":["CAA0370E-DCB1-11E7-9B14-B76131E2394B"]}}}]}},"size":1}
0

which then fails due to
Trace:2018/02/13 22:03:20 HTTP/1.1 400 Bad Request
Content-Length: 255
Connection: keep-alive
Content-Type: application/json; charset=UTF-8
Date: Tue, 13 Feb 2018 22:03:20 GMT
Server: nginx

{"error":{"root_cause":[{"type":"parsing_exception","reason":"[match] unknown token [START_ARRAY] after [query]","line":1,"col":166}],"type":"parsing_exception","reason":"[match] unknown token [START_ARRAY] after [query]","line":1,"col":166},"status":400}

ES 1.7 is OK with that request..

Updating the way the Match is created:

    if len(ids) > 1 {
        return es5.NewMatchQuery(opts.IdField, strings.Join(ids," OR "))
    } else {
        return es5.NewMatchQuery(opts.IdField, ids[0])
    }

}
```   this now works with 5.6 and 1.7

MatchQuery will construct a query based on text/dates/numerical values. It’s meant to be used for full text search. For your use case, Ids or Terms query look more adequate (https://www.elastic.co/guide/en/elasticsearch/reference/6.0/query-dsl-ids-query.html and https://www.elastic.co/guide/en/elasticsearch/reference/6.0/query-dsl-terms-query.html), no?

In my case I'm creating an app to sync indices in two clusters, that can handle using an field as the key to match documents.  As the field can be analysed or not,  MatchQuery works for that while Term/IDs queries only work for non-analyses fields whose values are in the reverse table fully not broken up.
At least that my take on the documentations.. :smile:
This might make a good addition to the wiki on how to combine different query ticket in a search..

When you're working with keys that represent identity (like, in your case, guids), you typically don't want any kind of fuzziness you might get with fulltext queries, hence my thoughts. But I don't know your use case, so use what's appropriate.

Thanks, turns out MatchQuery was not the right choice....   in the es 5.6 it was returning all the wrong documents for the list of fields..   So switched to IdsQuery and TermQuery..


you can't do some of action in offline mode

if you in offline mode and try to remove a bookmark you will get error and back to login page
it can be better that it remove from bookmark list in app and if it can't connect to the server keep it in the Queue . next time user connect and has accesses to the server send that delete (or edit or anything else) request to the server.
(maybe an undo option if app not send request yet)

I agree - it should save everything you do and sync with the server once back online