chore(build): add source to maven repository

Attach the source of the nodes jar, so that it gets included
in the maven repository. This allows IDEs to autodownload the
source for better debugging and code completion support.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Pull Request Test Coverage Report for Build 111

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 99.083%

Totals

Change from base Build 104:
0.0%

Covered Lines:
540

Relevant Lines:
545

💛  - Coveralls


UART AT character detection not working.

The interrupt for AT character detection doesn't ever seem to fire for me.
UART setup:
let config = UartConfig {
        baudrate: 115200,
        data_bits: DataBits::DataBits8,
        parity: Parity::ParityNone,
        stop_bits: StopBits::STOP1,
        clock_source: ClockSource::Apb,
    };

    let mut uart0 = Uart::new_async_with_config(peripherals.UART0, config, Some(uart0_pins), &clocks);

    uart0.set_rx_fifo_full_threshold(UART_READ_BUF_SIZE as u16).unwrap();
    uart0.set_at_cmd(AtCmdConfig::new(None, None, None, 0x04 , None)); // set this to make an interrupt when EOT is received
    let (uart0_tx, uart0_rx) = uart0.split();

Note: I have also tried adding uart0.listen_at_cmd(); and default config with no difference
My reader is as follows:
#[task]
pub async fn from_uart_task(
    mut rx0: UartRx<'static, UART0, Async>,
    ch_rx: Sender<'static, NoopRawMutex, String, 5>,
){
    let mut rbuf: [u8; UART_READ_BUF_SIZE * 4] = [0u8; UART_READ_BUF_SIZE * 4]; // todo big enough?
    loop{
        println!("Reading...");
        match rx0.read_async(&mut rbuf).await{ //Read::read(&mut rx0, &mut rbuf).await {
            Ok(n) => {
                println!("Read {} bytes from UART!", n);
            },
            Err(e) => println!("Async error: {:?}", e),
        };
    }
}

pretty simple. and the other device sending is:
#[task]
async fn uart_task(mut tx: UartTx<'static, peripherals::USART1, Async>) {
    loop {
        tx.write("testing!\n\x04".as_bytes()).await.ok();
        Timer::after_secs(1).await;
    }
}

I have checked with read_byte() that 0x04 is indeed being sent and received but it never seems to trigger the character detection. I have also tried other characters and nothing seems to work. I am getting buffer full interrupts just fine though. Is there some way I am missing to turn on character detection interrupts or is something broken?

I checked the serial_interrupts and embassy_serial examples on ESP32-C6 and they work fine for me. Which target are you using?

I am using an 8684 (C3) currently but should be able to test on a full size C3 soon. I may have missed some interrupt enable something somewhere but the examples don't look particularly complicated, although slightly outdated. I can dig a little more today but will likely just be working on my own manual implementation to keep things rolling on the project. Let me know if there is something I can do to help!

No, I ended up just setting the fifo buffer size to 1 and just using the interrupt from that and checking each character so I could keep the project developing. I will have to extend the uart parsing later so I will try to remember to try the interrupt on the new boards.

This works
//! connect GPIO 2 -> GPIO 4

#![no_std]
#![no_main]

//% CHIPS: esp32 esp32c2 esp32c3 esp32c6 esp32h2 esp32s2 esp32s3
//% FEATURES: async embassy embassy-time-timg0 embassy-generic-timers

use embassy_executor::Spawner;
use embassy_time::Timer;
use esp_backtrace as _;
use esp_hal::{
    clock::ClockControl,
    gpio::Io,
    peripherals::{Peripherals, UART1},
    prelude::*,
    system::SystemControl,
    timer::timg::TimerGroup,
    uart::{
        config::{AtCmdConfig, Config},
        Uart,
        UartRx,
        UartTx,
    },
    Async,
};
use esp_println::println;

// rx_fifo_full_threshold
const READ_BUF_SIZE: usize = 64;
// EOT (CTRL-D)
const AT_CMD: u8 = 0x04;

#[embassy_executor::task]
async fn writer(mut tx: UartTx<'static, UART1, Async>) {
    loop {
        tx.write_async("testing!\x04".as_bytes()).await.ok();
        Timer::after_secs(1).await;
    }
}

#[embassy_executor::task]
async fn reader(mut rx: UartRx<'static, UART1, Async>) {
    const MAX_BUFFER_SIZE: usize = 10 * READ_BUF_SIZE + 16;

    let mut rbuf: [u8; MAX_BUFFER_SIZE] = [0u8; MAX_BUFFER_SIZE];
    let mut offset = 0;
    loop {
        println!("reading");
        let r = rx.read_async(&mut rbuf[offset..]).await;
        match r {
            Ok(len) => {
                offset += len;
                println!("Read: {len}, data: {:?}", &rbuf[..offset]);
                offset = 0;
            }
            Err(e) => println!("RX Error: {:?}", e),
        }
    }
}

#[main]
async fn main(spawner: Spawner) {
    esp_println::logger::init_logger_from_env();
    println!("Init!");
    let peripherals = Peripherals::take();
    let system = SystemControl::new(peripherals.SYSTEM);
    let clocks = ClockControl::boot_defaults(system.clock_control).freeze();

    let timg0 = TimerGroup::new_async(peripherals.TIMG0, &clocks);
    esp_hal_embassy::init(&clocks, timg0);

    let io = Io::new(peripherals.GPIO, peripherals.IO_MUX);

    let (tx_pin, rx_pin) = (io.pins.gpio2, io.pins.gpio4);

    let config = Config::default().rx_fifo_full_threshold(READ_BUF_SIZE as u16);

    let mut uart0 =
        Uart::new_async_with_config(peripherals.UART1, config, &clocks, tx_pin, rx_pin).unwrap();
    uart0.set_at_cmd(AtCmdConfig::new(Some(0), Some(0), None, AT_CMD, None));

    let (tx, rx) = uart0.split();

    spawner.spawn(reader(rx)).ok();
    spawner.spawn(writer(tx)).ok();
}

But it's a bit pointless since currently we cannot disable rx_timeout - so even without AT-CMD detection the outcome will be the same since the timeout triggers the interrupt. Probably we should change rx_timeout to be Option in the config struct

I believe with #1759 merged this can be closed, however if I am mistaken please feel free to re-open the issue.


Dash js version

The dash.js dependency has a number of releases after v1.0, I think the latest is v2.9.1.
Is this documentation suggesting to stick to an old release or just a case of old documentation.

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

ID: 7fee3830-8d03-9d6d-9c30-0ede9933a459
Version Independent ID: 794397d3-b604-0c63-50b0-6c23afe58a21
Content: Embedding a MPEG-DASH Adaptive Streaming Video in an HTML5 Application with DASH.js
Content Source: articles/media-services/previous/media-services-embed-mpeg-dash-in-html5.md
Service: media-services
GitHub Login: @Juliako
Microsoft Alias: juliako

@aaronpcz Thank you for your feedback . We will investigate and update further.

Hi @aaronpcz, you can use the latest dash.js version. We will update the doc shortly to reflect that information.

A pr has been created to update this doc. The change will be reflected in 48hrs.
We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.


F5 without any breakpoints set stopped at a random line per file

Do we have a consistent repro? or any repro steps help to get a random repro?

no repro

This is a dup of #322 which Eric has already fixed.


A Name needs to use .to_string() before comparing to a String.

Reproducing the behavior
let test = Name:new("test");
if test == "test" {
    //
}

If you make the comparison like this, it causes a Segmentation fault.
System Settings

Bend: 0.2.18
Ubuntu 22.04.4 LTS on Windows 10 x86_64

Additional context
Source

The code you showed here just executes fine the inside of the if, so i can't reproduce.
It shouldn't cause any segmentation fault, Name implements PartialEq for "&str", witch just compares the interned string to the string slice.

Closing since we couldn't reproduce


cgo: program crashes when more that one package uses cgo

Build this program:

package main

import (
	"database/sql"
	"fmt"
	_ "github.com/mattn/go-sqlite3"
)

func main() {
	db, err := sql.Open("sqlite3", "./test.db")
	if err != nil {
		fmt.Println("err%+v", err)
		return
	}
	defer db.Close()

	err = db.Ping()
	if err != nil {
		panic(err.Error())
	}
	fmt.Println("ok")
}

with "go build -race ..." command on windows, and run the program. Here is the
output:

C:\go\path\src\t>foo.exe
Exception 0xc0000005 0x8 0x6c3180 0x6c3180
PC=0x6c3180
signal arrived during cgo execution

github.com/mattn/go-sqlite3._Cfunc__sqlite3_open_v2(0x1337f70, 0xc08201fbd0, 0x10006,
0x0, 0x0)
        github.com/mattn/go-sqlite3/_obj/_cgo_gotypes.go:102 +0x78
github.com/mattn/go-sqlite3.(*SQLiteDriver).Open(0xc082004620, 0x5fead0, 0x9, 0x0, 0x0,
0x0, 0x0)
        c:/go/path/src/github.com/mattn/go-sqlite3/sqlite3.go:264 +0x238
database/sql.(*DB).conn(0xc08204e000, 0x401217, 0x0, 0x0)
        c:/go/root/src/database/sql/sql.go:659 +0x7df
database/sql.(*DB).Ping(0xc08204e000, 0x0, 0x0)
        c:/go/root/src/database/sql/sql.go:457 +0x4f
main.main()
        C:/go/path/src/t/foo.go:17 +0x230

goroutine 2 [runnable]:
runtime.forcegchelper()
        c:/go/root/src/runtime/proc.go:90
runtime.goexit()
        c:/go/root/src/runtime/proc.c:1651

goroutine 3 [runnable]:
runtime.bgsweep()
        c:/go/root/src/runtime/mgc0.go:66
runtime.goexit()
        c:/go/root/src/runtime/proc.c:1651

goroutine 17 [syscall, locked to thread]:
runtime.goexit()
        c:/go/root/src/runtime/proc.c:1651

goroutine 4 [runnable]:
runtime.runfinq()
        c:/go/root/src/runtime/malloc.go:705
runtime.goexit()
        c:/go/root/src/runtime/proc.c:1651

goroutine 5 [runnable]:
database/sql.(*DB).connectionOpener(0xc08204e000)
        c:/go/root/src/database/sql/sql.go:583
created by database/sql.Open
        c:/go/root/src/database/sql/sql.go:447 +0x41a
rax     0x0
rbx     0x7
rcx     0x6ce4c0
rdx     0x6ce4c0
rdi     0x6ce4f0
rsi     0x6d2ec0
rbp     0x6ce7c0
rsp     0x22fd48
r8      0x2
r9      0x84
r10     0x42
r11     0x1330158
r12     0xc08201faf0
r13     0x1084d60
r14     0xc082016000
r15     0xc082008100
rip     0x6c3180
rflags  0x10246
cs      0x33
fs      0x53
gs      0x2b

Perhaps the problem is in github.com/mattn/go-sqlite3, but it is worth checking.

Alex

This also happens with github.com/mattn/go-oci8 when I db.Exec an insert, however I don't get the call stack from inside go-oci8.
It works fine without -race. Queries work either way.
Using Go 1.4.1 x64 on Windows 7
create table test
(
  pk NUMBER,
  id NUMBER not null
)

package main

import (
	"database/sql"
	"fmt"
	_ "github.com/mattn/go-oci8"
)

func main() {
	db, err := sql.Open("oci8", "system/manager@<IP_ADDRESS>:1521/orcl")
	if err != nil {
		fmt.Println(err)
	}

	db.Exec("delete from test")
	_, err = db.Exec("insert into test values (:pk, :id)", 1, 1)
	if err != nil {
		fmt.Println(err)
	}

}

go run -race oracle-insert.go
Exception 0xc0000005 0x8 0xd00000000 0xd00000000
PC=0xd00000000

goroutine 17 [syscall, locked to thread]:
runtime.goexit()
        c:/go/src/runtime/asm_amd64.s:2232 +0x1

goroutine 5 [chan receive]:
database/sql.(*DB).connectionOpener(0xc082076000)
        c:/go/src/database/sql/sql.go:589 +0x74
created by database/sql.Open
        c:/go/src/database/sql/sql.go:452 +0x41a
rax     0x56000000000
rbx     0x0
rcx     0x10
rdx     0x2059e30
rdi     0xc082006380
rsi     0xc082073968
rbp     0x0
rsp     0xc082073a88
r8      0x3a2230
r9      0x0
r10     0x11768e0
r11     0x12ffa08
r12     0xc082073a28
r13     0x1176ca0
r14     0xc08201e000
r15     0x0
rip     0xd00000000
rflags  0xd00010202
cs      0x33
fs      0x53
gs      0x2b
exit status 2

If I change the program as (add usage of cgo):
package main

/*
#include <stdio.h>
#include <windows.h>

void foo() {
	SYSTEM_INFO info;
	GetSystemInfo(&info);
	printf("%d\n", info.dwPageSize);
}
*/
import "C"

import (
    "database/sql"
    "fmt"
    _ "github.com/mattn/go-sqlite3"
)

func main() {
    db, err := sql.Open("sqlite3", "./test.db")
    if err != nil {
        fmt.Println("err%+v", err)
        return
    }
    defer db.Close()

    err = db.Ping()
    if err != nil {
        panic(err.Error())
    }
    fmt.Println("ok")
}

Then the program fails even without race detector.
In both working and non-working case, address of  GetSystemInfo looks like 0x66b070, which means that it does not come from a windows system library (probably from libmingw?). However, in non-working cases the address of GetSystemInfo seems to be a little off. I can speculate that it is off by size of an object file or or a section in one of the packages. Probably we compute symbol offsets assuming that there is only one package that uses native code...

@dvyukov,
I agree with you. This looks like effect of using 2 different packages (each must use cgo) in one program. When Go linker produces final executable, it might use different relocation strategies for external Windows API functions (like for example GetLastError). If single executable contains 2 function references that require different strategies, the linker just pick one at random. The relocations would be wrong for some function references, and, when the function is called, it just crashes. Running this test:
diff --git a/src/runtime/crash_cgo_test.go b/src/runtime/crash_cgo_test.go
index 7152b93..b5ff65e 100644
--- a/src/runtime/crash_cgo_test.go
+++ b/src/runtime/crash_cgo_test.go
@@ -80,6 +80,17 @@ func TestCgoExternalThreadSIGPROF(t *testing.T) {
 	}
 }

+func TestCgoDLLImports(t *testing.T) {
+	if runtime.GOOS != "windows" {
+		t.Skip("skipping windows specific test")
+	}
+	got := executeTest(t, cgoDLLImportsMainSource, nil, "a/a.go", cgoDLLImportsPkgSource)
+	want := "OK\n"
+	if got != want {
+		t.Fatalf("expected %q, but got %v", want, got)
+	}
+}
+
 const cgoSignalDeadlockSource = `
 package main

@@ -267,3 +278,43 @@ func main() {
 	println("OK")
 }
 `
+
+const cgoDLLImportsMainSource = `
+package main
+
+/*
+#include <windows.h>
+
+DWORD getthread() {
+	return GetCurrentThreadId();
+}
+*/
+import "C"
+
+import "./a"
+
+func main() {
+	C.getthread()
+	a.GetThread()
+	println("OK")
+}
+`
+
+const cgoDLLImportsPkgSource = `
+package a
+
+/*
+#cgo CFLAGS: -mnop-fun-dllimport
+
+#include <windows.h>
+
+DWORD agetthread() {
+	return GetCurrentThreadId();
+}
+*/
+import "C"
+
+func GetThread() uint32 {
+	return uint32(C.agetthread())
+}
+`
diff --git a/src/runtime/crash_test.go b/src/runtime/crash_test.go
index 43cea90..dceb7a6 100644
--- a/src/runtime/crash_test.go
+++ b/src/runtime/crash_test.go
@@ -64,7 +64,14 @@ func executeTest(t *testing.T, templ string, data interface{}, extra ...string)
 	}

 	for i := 0; i < len(extra); i += 2 {
-		if err := ioutil.WriteFile(filepath.Join(dir, extra[i]), []byte(extra[i+1]), 0666); err != nil {
+		fname := extra[i]
+		contents := extra[i+1]
+		if d, _ := filepath.Split(fname); d != "" {
+			if err := os.Mkdir(filepath.Join(dir, d), 0755); err != nil {
+				t.Fatal(err)
+			}
+		}
+		if err := ioutil.WriteFile(filepath.Join(dir, fname), []byte(contents), 0666); err != nil {
 			t.Fatal(err)
 		}
 	}

produces this output
c:\go\root\src>go test -run=TestCgoDLLImports runtime
--- FAIL: TestCgoDLLImports (12.84s)
        crash_cgo_test.go:90: expected "OK\n", but got Exception 0xc0000005 0x8 0x4b9040 0x4b9040
                PC=0x4b9040
                signal arrived during cgo execution

                _/C_/Users/brainman/AppData/Local/Temp/go-build072577395/a._Cfunc_agetthread(0xc000000000)
                        _/C_/Users/brainman/AppData/Local/Temp/go-build072577395/a/_obj/_cgo_gotypes.go:37 +0x4b
                _/C_/Users/brainman/AppData/Local/Temp/go-build072577395/a.GetThread(0xc0000015cc)
                        C:/Users/brainman/AppData/Local/Temp/go-build072577395/a/a.go:16 +0x26
                main.main()
                        C:/Users/brainman/AppData/Local/Temp/go-build072577395/main.go:17 +0x2b

                goroutine 17 [syscall, locked to thread]:
                runtime.goexit()
                        c:/go/root/src/runtime/asm_amd64.s:2446 +0x1
                rax     0xc08202c000
                rbx     0xc08202bf78
                rcx     0x4dcfa0
                rdi     0xc08202c000
                rsi     0x4ba700
                rbp     0x0
                rsp     0x22fe68
                r8      0xc082016000
                r9      0xc08202bf20
                r10     0x0
                r11     0x246
                r12     0x33
                r13     0x1
                r14     0x0
                r15     0x0
                rip     0x4b9040
                rflags  0x10202
                cs      0x33
                fs      0x53
                gs      0x2b
FAIL
FAIL    runtime 13.349s

c:\go\root\src>gcc --version
gcc (GCC) 4.9.1
Copyright (C) 2014 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

I had to use "#cgo CFLAGS: -mnop-fun-dllimport" to force the crash with my gcc. But I suspect there are different ways to do it. github.com/mattn/go-sqlite3 does it too.
The code that does relocations is in cmd/ld/data.c:^dynrelocsym. The logic that decides what to do is in cmd/ld/ldpe.c. I discovered all this while investigating issue #9356. I suspect it is a dup.
I don't have fix for this. I tried some ideas but none of them work - I don't know this area enough. Perhaps if someone suggest something, I will try it.
Alex

@alexbrainman  I have no ideas.
Why do you say that GetCurrentThreadId requires two different relocation strategies? Both symbol references end up in the same module, so I would assume that they require relocation of the same type but maybe with different offsets or something.

... Why do you say that GetCurrentThreadId requires two different relocation strategies?...

I am not saying it requires, I am saying Go linker does that at this moment. If you look in cmd/ld/data.c:^dynrelocsym, you will see that we add JMP instruction for "dynamic" symbols where sym->plt == -2 (like GetCurrentThreadId) but only if sym->got != -2. Sometimes (in some imported packages) GetCurrentThreadId has sym->got != -2, and sometimes sym->got == -2 (see in cmd/ld/ldpe.c). So if you use both of these packages at the same time, you end up generating JMP when you should not or vice versa.
Alex

I see.
I can't say that I fully understand that code, but it seems to me that we choose the strategy for every reference to a symbol (loop over s->r). That is, one reference can have got type and another plt type, and so we will emit both.
I am not sure whether it is necessary to emit several GOT entries for a single symbol. Perhaps a single entry per symbol will do. But that's a different story.

@minux @rsc we are lost here

Maybe this https://go-review.googlesource.com/5711 will fix it.
Alex

Seems still have problem.
# bug
c:\dev\go\pkg\windows_386/bug/two.a(_all.o): duplicate symbol reference: pow in both bug/one(.text) and bug/two(.text)

Okay, I'll try this.

Ah, sorry. The CL is not in master. Please wait.

Should be fixed by external linking support, #4069.


Add predicted and predicted probabilities to raw explanations

It seems y_pred and y_pred_proba are not added from the engineered explanations to raw explanations. This causes the model performance tab to not show y_pred/y_pred_proba for raw explanations.
Signed-off-by: Gaurav Gupta<EMAIL_ADDRESS>

it looks like this change causes errors in our tests?
TypeError: object.__init__() takes no parameters

it looks like this change causes errors in our tests?
TypeError: object.__init__() takes no parameters

Yes, I am trying to fix these tests.

it looks like this change causes errors in our tests?
TypeError: object.__init__() takes no parameters

Yes, I am trying to fix these tests.

Fixed these errors


Display default blocks during createPB, fix leaderboard number issue

fixes issue of '20' not being a valid number for leaderboard entries to display
added small delay when player finishes course before teleporting back to lobby - on completing a long course, its a little unsatisfactory to be pinged straight back to the lobby.
when creating a PB set, display the current default block for  each type, to help with choosing a new one or keeping the default block
leaderboard types (personal/global) should be lower case to be consistent with the course prize conversation types. The cancel option doesn't need to be included here, as its already an option in getEntryPrompt in ParkourConversation.java.

I've taken the fixes you've made into consideration and appreciate your work.  Your default block idea is very good and has been included.
I will include you in the changelogs.
Thank you.

Thanks for the comments. I learnt a lot by doing this including using git/github (took me 2 or 3 goes to get it right!) and its more fun than just reporting something doesn't work. And thanks for the 'sleep' tip - will have a look into that.


Calling non-http function endpoints via their https endpoints

Hi--,
is it possible to call non-http triggered functions (e.g. blob-triggered) using their https endpoints?  https://management.azure.com/subscriptions/<subscriptionId>/resourceGroups/<resourceGroup>/providers/Microsoft.Web/sites/<functionapp-name>/functions?api-version=2015-08-01 gives me a list and according endpoints of all functions. However, calling a non-http triggered function through its https endpoint results in a 404 (not found).  Thanks!
Best regards
--Oliver.

You can do this on the runtime endpoint, e.g.
POST https://{functionapp}.azurewebsites.net/admin/functions/{function}

To authenticate, there are two ways:

pass code={masterkey} in the query string
pass a x-functions-key:{masterkey} header

master key can be obtained via vfs API on scm endpoint, e.g. /api/vfs/data/Functions/secrets/host.json
This is not a very clean story. I think we need to improve this.

Thanks @davidebbo !

How would you actually pass input bindings in such a request?
Using curl I've tried to pass it to a blob-triggered function as follows:
curl https://{project-name}.azurewebsites.net/admin/functions/BlobTriggerNodeJS1?code={code} -d "myBlob=foobar" -X POST

The log output gives me
Exception while executing function: Functions.BlobTriggerNodeJS1. Microsoft.Azure.WebJobs.Host: Exception binding parameter 'myBlob'. Microsoft.Azure.WebJobs.Host: Unable to convert trigger to IStorageBlob.

I've also tried to pass the data as -d {"myBlob":"foobar"} but it gets me the same error message. Any clues? Thanks!

It should work with json payload. Maybe you're just missing the content type?
Try clicking run in the portal while using the Chrome F12 tools. You'll see the exact request it's sending.

Thanks @davidebbo, using the developer tools did it! :-)

Closing this unless there is something more we need to do here.


Feat/satisfied statements

Types of changes

[ ] Hot fix (emergency fix and release)
[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Documentation (change which affects the documentation site)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Release (develop -> main)

Quality assurance (all should be covered).

[x] My code follows the code style of this project.
[ ] Documentation for my change is up to date?
[x] My PR meets testing requirements.
[x] All new and existing tests passed.
[x] All commits are signed-off.

Summary
This PR introduces satisfied statements to the SSP inheritance markdown view.
Before you merge

Ensure it is a 'squash commit' if not a release.
Ensure CI is currently passing
Check sonar. If you are working for a fork a maintainer will reach out, if required.

@afflom It appears the unit tests are failing because a new required field has been added to the constructor for the StatementResponsibility and StatementTree classes. My question is because the satisfied statements should be authored, should this not be changed to a constant or something more generic instead of making that configurable?


⚠ Community has degraded performance

In 39a9eb1, Community (https://community.wrk.com/health) experienced degraded performance:

HTTP code: 200
Response time: 195 ms

Resolved: Community performance has improved in 1021acb.


Vector constructors: Allow a Map of sparse values as data instead of a SortedMap

Currently, the Vector and FloatVector classes take a SortedMap<Integer, Double> or SortedMap<Integer, Float> as argument for sparse data. There is, however, no need whatsoever to have this map sorted. Therefore, we can replace the SortedMap with Map in all Vector constructors and in the initialize method in the DoubleVectorData and FloatVectorData classes.

All changes committed and unit tests work again using a Map instead of SortedMap in the constructor signatures.


Avoid automatic casts from Readonly<T> to T on call site for function fn(t: T) {}

Suggestion
TypeScripts automatically casts Readonly<T> to T on call site for function fn(t: T) {}. This can

accidentally remove readonly protections
lead to runtime errors when using Object.freeze

I'm aware of #13347, and it seems hard to be solved (or is it just old and forgotten?). Would it be easier / make sense to fix this issue only for function calls? Do you accept a pull request for resolving this issue? Otherwise, does it deserve a place in the FAQ?
🔍 Search Terms

Readonly
Cast
Automatic

✅ Viability Checklist
My suggestion meets these guidelines:

[ ] This wouldn't be a breaking change in existing TypeScript/JavaScript code => the idea is to make the type checking stricter, and thus it could lead to breaking changes. However, I expect that this would also lead to finding many bugs! Also, the check could be implemented behind another strict flag
[x] This wouldn't change the runtime behavior of existing JavaScript code
[x] This could be implemented without emitting different JS based on the types of the expressions
[x] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, new syntax sugar for JS, etc.)
[x] This feature would agree with the rest of TypeScript's Design Goals.

⭐ Suggestion
For the example, I expect an error message:
Argument of type 'ReadonlyPoint' (or Readonly<ModifiablePoint>) is not assignable to parameter of type 'ModifiablePoint'.
  Type 'ReadonlyPoint' is missing the following writable properties from type 'ModifiablePoint': x, y

📃 Motivating Example
Playground link with relevant code (default settings)
Playground link with relevant code (strict settings)
function main() {
  const modifiablePoint: ModifiablePoint = { x: 1, y: 2 }
  const readonlyPoint: ReadonlyPoint = modifiablePoint

  // as expected: Cannot assign to 'x' because it is a read-only property.ts(2540)
  // readonlyPoint.x = 666

  // this should be an error
  // the compiler should state that the object cannot be passed, since `evilPrintPoint` expects a ModifiablePoint
  evilPrintPoint(readonlyPoint)

  // this should be an error, same as above
  // in this case, this results in a runtime error within the function: TypeError: Cannot assign to read only property 'x' of object '#<Object>'
  evilPrintPoint(Object.freeze(modifiablePoint))
}

function evilPrintPoint(point: ModifiablePoint) {
  point.x = 666
  point.y = 666
  console.log(point)
}

interface ModifiablePoint {
  x: number
  y: number
}

interface ReadonlyPoint {
  readonly x: number
  readonly y: number
}

main()

💻 Use Cases
I want to be sure that the calling function cannot change readonly properties, at least not accidentally. #13347 would resolve this too, but may have other implications / lead to other incompatibilities.
The current approach leads to logic errors (first call), or runtime errors (second call).
There are many workarounds, including ignoring the implicit cast. However, they don't align well with the following design goals / non goals:
Goal:

Statically identify constructs that are likely to be errors.

Non-goal:

Introduce behaviour that is likely to surprise users. Instead have due consideration for patterns adopted by other commonly-used languages.

I don't see what the difference to #13347 is. That is essentially the problem. There's no "cast" happening, it's simply an assignability check that passes, which #13347 is about.
It's the same as:
type A = { val: string }
type B = { val: string }

function fn(arg: B) {}

const a: A = { val: '' }
fn(a); // Passing A, tho the func accepts B.

@MartinJohns I don't see what the difference to #13347 is. That is essentially the problem. There's no "cast" happening, it's simply an assignability check that passes, which #13347 is about.

As already written in the description:

I'm aware of #13347, and it seems hard to be solved (or is it just old and forgotten?). Would it be easier / make sense to fix this issue only for function calls? Do you accept a pull request for resolving this issue?

Changing the assignability rules based on the context in which the assignment is occurring is not something we would do -- this would be extremely confusing.

@RyanCavanaugh IMO assigning a  Readonly<T> to a T is already extremely confusing, but seems unfixable (since 2016). The proposed change would actually make it less confusing from this perspective, and it would be useful at the same time. It can help avoiding bugs, especially when you want to build a system around immutable objects.
Consider this example:
interface House {
  color: 'red' | 'green' | 'blue'
}

function printHouse(house: House){
  console.log(house)
}

printHouse({ color: 'red' }) // works

const redHouse = { color: 'red' }
printHouse(redHouse) // error

This is also confusing (and hard to teach), but at the same time it's useful to have literal types.
I may be completely wrong, but I think it would be more intuitive if you cannot pass a Readonly<T> to a function(t: T)', as #13347 seems unreachable (because of this). And I couldn't think of an example where my proposed behavior would lead to an issue, but I can see it detecting actual bugs, because as a user of TS I assume that I cannot assign Readonly<T> to a T, and then design my interfaces around this assumption.
BTW I discovered this issue when preparing an course to TypeScript, and prepared an example to show how you can protect yourself from changing data structures accidentally :)


please add this redirect in case itch.io loses the .io top-level domain!

God I hope I don't have to use CurseForge!
Oh noes!

At this time, due to the unpredictability, we're not accepting redirects to .io domains

Okay, I worked really hard on this mod!!! Look, I'm linking to my Patreon now!
PLEASE ACCEPT OR I WILL CRY!!!!


ValueError:  min() arg is an empty sequence

➤ snakemake --snakefile mag_wf.smk --configfile ./config.yaml --cores 240 --until raw_report --rerun-incomplete --keep-going --printshellcmds --reason --local-cores 8 --jobs 30

Building DAG of jobs...
Using shell: /usr/bin/bash
Provided cores: 240
Rules claiming more threads will be scaled down.
Conda environments: ignored
Traceback (most recent call last):
  File "/home/jiezhu/.conda/envs/bioenv3.9/lib/python3.9/site-packages/snakemake/__init__.py", line 730, in snakemake
    success = workflow.execute(
  File "/home/jiezhu/.conda/envs/bioenv3.9/lib/python3.9/site-packages/snakemake/workflow.py", line 1026, in execute
    logger.run_info("\n".join(dag.stats()))
  File "/home/jiezhu/.conda/envs/bioenv3.9/lib/python3.9/site-packages/snakemake/dag.py", line 2408, in stats
    "min threads": min(min_threads.values()),
ValueError: min() arg is an empty sequence

Dear snakemake developer,
how to avoid ValueError: min() arg is an empty sequence?

Can you provide the information asked by the bug report template? In particular, can you post a minimal example reproducing the error and the snakemake version?

Version
$ snakemake --version
7.12.0

Example
# Installation
mamba create -n metapi -c conda-forge -c bioconda metapi=2.3.0
conda activate metapi

# Prepare working dir
mkdir -p test_metapi
cd test_metapi

# Download test data
wget https://raw.githubusercontent.com/ablab/spades/spades_3.15.5/assembler/test_dataset/ecoli_1K_1.fq.gz
wget https://raw.githubusercontent.com/ablab/spades/spades_3.15.5/assembler/test_dataset/ecoli_1K_2.fq.gz

# Prepare samples.tsv
fd -t f -d 1 fq.gz . | \
sort | uniq | paste - - | \
awk 'BEGIN {print "sample_id\tassembly_group\tbinning_group\tfq1\tfq2"};{print "ecoli_1K\tecoli_1K\tecoli_1K\t" $0}' \
> samples.tsv

# Init
metapi init -d . -s samples.tsv -b assembly --assembler spades

# Run
metapi mag_wf assembly_all --run-local --use-conda

When it was finished, rerun metapi,
metapi mag_wf assembly_all --run-local --use-conda

We will meet the ValueError: min() arg is an empty sequence.
Thanks!

I was able to reproduce this error using the snakemake/snakemake:v7.12.1 Docker image.
First I created a Snakefile with multiple rules:
rule all:
    input:
        "results/two.txt"

rule create_one:
    output:
        "results/one.txt"
    shell:
        "date > {output}"

rule create_two:
    input:
        "results/one.txt"
    output:
        "results/two.txt"
    shell:
        "cp {input} {output}"

Then I run snakemake stopping at the first rule (which works correctly):
$ snakemake -c1 --until create_one
Building DAG of jobs...
Using shell: /bin/bash
Provided cores: 1 (use --cores to define parallelism)
Rules claiming more threads will be scaled down.
Job stats:
...
1 of 3 steps (33%) done
Complete log: .snakemake/log/2022-08-23T205011.042482.snakemake.log

Running the same command again fails with the ValueError:
$ snakemake -c1 --until create_one
Building DAG of jobs...
Using shell: /bin/bash
Provided cores: 1 (use --cores to define parallelism)
Rules claiming more threads will be scaled down.
Traceback (most recent call last):
  File "/opt/conda/envs/snakemake/lib/python3.10/site-packages/snakemake/__init__.py", line 724, in snakemake
    success = workflow.execute(
  File "/opt/conda/envs/snakemake/lib/python3.10/site-packages/snakemake/workflow.py", line 1022, in execute
    logger.run_info("\n".join(dag.stats()))
  File "/opt/conda/envs/snakemake/lib/python3.10/site-packages/snakemake/dag.py", line 2382, in stats
    "min threads": min(min_threads.values()),
ValueError: min() arg is an empty sequence

The problem seems to occur when there is no further processing necessary due to the --until <rulename> argument, but there is additional processing that would be done if run without this argument. So in my case when results/one.txt exists and results/two.txt doesn't printing Job stats fails. If I run touch results/two.txt the
snakemake -c1 --until create_one

runs fine.

Can confirm occurs for me as well in 7.25.3, specifically only when I call "--until" and there is nothing left to do until the rule specified. I'm going to upgrade to 7.28.3 and report back if it still happens.

Because 7.28.3 is not yet available on bioconda, I tried with 7.25.2. I can confirm this bug still exists. The updated trace is below:
env/bin/python -m snakemake -s workflow/1_derive_dimers.smk --until pairs_needing_contact_calc --profile $smk_profile -n
Building DAG of jobs...
Traceback (most recent call last):
  File "/expanse/lustre/projects/mia174/jaschwa/dimerDB/env/lib/python3.8/site-packages/snakemake/__init__.py", line 770, in snakemake
    success = workflow.execute(
  File "/expanse/lustre/projects/mia174/jaschwa/dimerDB/env/lib/python3.8/site-packages/snakemake/workflow.py", line 1044, in execute
    logger.run_info("\n".join(dag.stats()))
  File "/expanse/lustre/projects/mia174/jaschwa/dimerDB/env/lib/python3.8/site-packages/snakemake/dag.py", line 2482, in stats
    "min threads": min(min_threads.values()),
ValueError: min() arg is an empty sequence

In dag.py line 2482, min (and max in 2483) could be given the kwarg "default", setting to either 0 or 1 as a simple fix of this issue. I'm not sure, though, if this fits the needs of the rest of snakemake.


Application not open on IOS simulator

Description
sudo  yarn run ios
It will open up the ios simulator but stop at Starting simulator... and forever.
Have try
Make sure Xcode is installed and open it to accept the license agreement if it prompts you. You can install it from the Mac App Store.
Open Xcode's Preferences, the Locations tab, and make sure that the Command Line Tools menu option is set to something. Sometimes when the CLI tools are first installed by Homebrew this option is left blank, which can prevent Apple utilities from finding the simulator. Make sure to re-run npm/yarn run ios after doing so.
If that doesn't work, open the Simulator, and under the app menu select Reset Contents and Settings.... After that has finished, quit the Simulator, and re-run npm/yarn run ios.

Expected Behavior
open the RN application
Observed Behavior
What actually happened when you performed the above actions?
If there's an error message, please paste the full terminal output and error message in this code block:
Error text goes here!

Environment
Please run these commands in the project folder and fill in their results:

npm ls<EMAIL_ADDRESS>npm ls<EMAIL_ADDRESS>npm ls expo<EMAIL_ADDRESS>node -v:v8.2.1
npm -v:5.3.0
yarn --version:0.27.5
watchman version:
{
"version": "4.9.0"
}
Also specify:

Operating system:OSX
Phone/emulator/simulator & version: 11.0 ip6

Reproducible Demo
Please provide a minimized reproducible demonstration of the problem you're reporting.
Issues that come with minimal repro's are resolved much more quickly than issues where a maintainer has to reproduce themselves.

Did you find a solution to this?
I have the same error here, it just hangs at Starting simulator...
The simulator opens but the application is not in it.
I have tried all the steps specified on the post and it still doesn't work.
npm ls react-native-scripts<EMAIL_ADDRESS>npm ls react-native<EMAIL_ADDRESS>npm ls expo<EMAIL_ADDRESS>npm -v: 4.6.1
node -v: v8.7.0
watchman version:
{
"version": "4.9.0"
}
OSX 10.12.6

What happens if you open the iOS simulator before running yarn run ios?

I don't think you want to use sudo to run a CRNA project. What happens if you don't use sudo?

You are right.
If I don't use sudo I get the following:
22:29:31: Starting packager... Error: EACCES: permission denied, open '/Users/douglascarvalho/.expo/log'
Could it be that I installed some dependency with sudo and now its owner is the root user?

It looks like because you ran CRNA at some point using sudo, the ~/.expo directory is now owned by root. Can you remove that directory and see what happens?

running:
sudo chown my_username ~/.expo
sudo chown my_username ~./babel.json
solved my issue!
I can now run npm start without sudo, and, more importantly, npm run ios now works fine!
App is now working on the simulator.
Thank you so much for the help!

@dougbacelar,
sudo chown my_username ~/.babel.json
not:
sudo chown my_username ~./babel.json
:)

@D-sense ooops. fixed

sounds like you folks solved the issue! closing

I am still facing the same issue after running
sudo chown my_username ~/.expo
sudo chown my_username ~/.babel.json

@SYN-nikhilbahalkar chown isn't recursive, btw. If the contents of the .expo directory aren't owned by you, owning the directory won't help.

@SYN-nikhilbahalkar have you try:
sudo chown -R whoami ~/.expo
It worked for me

worked for me too . Thanks 👍

sudo chown -R whoami ~/.expo didn't work for me, still facing the same issue.
My username is 2 words, how do i put it in
sudo chown my_username ~/.expo sudo chown my_username ~/.babel.json

I had the same issue, it looked like it was hanging, but it must have been a slow internet connection, because I left it and about 5 minutes later Expo suddenly started installing and opening the app. I did not have to apply any of the above workarounds, just had to wait.

For me, this helped me start the iOS from react-native run-ios. Previously it was just opening the simulator but not opening any phones. Just the simulator app would app and nothing would happen. If I opened the phones, the package would be built in the secondary window where the server runs, but nothing would happen on the phone.
After running these commands (sudo chown -R `whoami` ~/.babel.sjon and ```sudo chown -R whoami ~/.expo```` it would actually open the phone and run the application, but the build was failing.
I ended up having to go to the root directory of my project (not ios/android roots but the root with node_modules and package.json) and use sudo chown -R `whoami` ./
Worked right away after doing this!

For me, I have to download Exponent for iOS from ~/.expo/cache/versions.json with iosUrl, then extract it into ~/.expo/ios-simulator-app-cache. Next, rename the extracted folder with a '.app' suffix
Finally, I run this command:
sudo chown -R whoami ~/react_native_projects
And npm run ios works well.

I have tried both chown commands and am still getting a permission denied error.

Just leaving a comment in case anyone else finds this thread through a Google search like I did.  I was running yarn run ios and everything was running fine.  Then this morning, Xcode updated the simulator with the new iPhone XS Max and iOS 12.0 (as opposed to the iPhone 7 running iOS 11.4, which is what I was simulating my app on before).  What happened for me was that the simulator eventually did start, albeit a lot more slowly than usual, and Expo didn't open automatically like it did before.  I was able to open Expo manually and run my app like usual, though.
If anyone discovers this thread more recently and has a solution to making the whole process work automatically like it used to, that would be great.  Again, this may be a one time fluke, but I wanted to throw it out there in case this is not an isolated issue.


Add support for readline installed by MacPorts

MacPorts installs the readline library in /opt/local/lib directory. This PR add this path to the list of paths that are searched for the readline library.
It also cleans up the logic a little to allow rakudo to find the library using the native trait.

while we're here, /lib64 is also a valid (and used, e.g. in Gentoo Linux) path


FIXED Issue 104: All images are now rendered at the same size.

What does this PR do?
Resolves issue-104 where flipping tiles "face-up", can be jarring and makes it harder to play due to character images having drastically different sizes.
Screenshots of changes made to the webapp.
Before my edit (Live Link from README.md)
Start of a new game

After clicking a tile with a large character:

After my edit (index.html file)
Start of a new game:

After clicking a tile with a large character:

Description of code changes

Line 4 in index.html - adjusted value of the href attribute for the <link> element in the page's <head> which links the stylesheet.

As I was looking through the code I noticed that there was already CSS implemented which would render all the images at the same size, and when testing the app via VSC's live-server feature — the images were indeed rendered at the same size. However, I compered this to the Live Link provided in the repo's README.md file.
If one accesses the web app via the live link (as shown in the first two screenshots) or loads the index.html file directly from their local machine, then the page ignores the CSS outlined in the styles.css stylesheet.
I changed the value of the href attribute as mentioned previously, from "/styles.css" to "./styles.css" and the page is now rendered with the CSS correctly implemented.
I suspect this is because VSC's live server feature recognizes "/styles.css" as a valid file path, but the browsers I tested this in (Chrome, Firefox, Opera) do not recognize it as a valid file path.
Adjusting it to include the period (.) before the forward-slash (/) resolves the issue with the HTML content not being rendered with the CSS applied correctly as it is considered a valid file path by the browsers and also by VSC's live server testing feature.
I verified my changes worked by opening the index.html file directly in my browser (Chrome, Firefox, Opera), instead of using the live server test - and the rendering issue is gone. (See screenshots above, note the file paths listed in the browser's address bar).
Related PRs and Issues
Aatmaj-Zephyr/Basic-memory-game/issues/104
(If this PR is related to any other PR or resolves any issue or related to any issue link all related PR and issues here.)

Have you updated the README.md file?

[ ] yes
[x] no

Have you made any big breakthrough change?

[ ] yes
[x] no

Is the code beautified?

[ ] yes
[x] no

Is the code clear to understand with proper variable naming and comments?

[x] yes
[ ] no

The actual change I had to make to the code was smaller than I was expecting.
I spent some time testing other possible solutions I had in mind before I considered that the file path to styles.css might have been the problem - and it was.


Find optimal number of runs for fuzz/invariant tests

Depends on https://github.com/ubiquity/ubiquity-dollar/issues/563
What should be done:

when https://github.com/ubiquity/ubiquity-dollar/issues/563 is ready find out a number of runs so that github CI could run for up to 6 hours (github CI max limit)
for already implemented fuzzing tests also find out a number of runs so that github CI could run for up to 6 hours

/start

Are the workflows properly setup? It doesn't feel like it is.

/help

/start

@gentlementlegen i thought line breaks are handled already

@0x4007 yes we had a fix for that, kernel and plug-in side.

I meant fuzz and invariant workflows though, it seems at least that foundry.toml profiles are wrong. I will check that tomorrow.

I meant fuzz and invariant workflows though, it seems at least that foundry.toml profiles are wrong. I will check that tomorrow.

What exactly is wrong?

It's not wrong, @rndquu can you please manually run the Deep Invariant workflow at Actions. I'd appreciate that.


Add translations to Transifex

This would allow Budgie users to easily translate BDV into their language, as is the case with budgie-desktop.

Sent you admin invite at an org level for Transifex so you should be able to set it up as well if you want.


Revisit security related APIs across all StdLibs

Description
Need to revisit security related APIs such as authn/authz/securesocket etc. across all the StdLibs.

The detailed review of Ballerina security APIs of StdLib protocol connector modules can be found at [1].
[1] https://docs.google.com/document/d/16r_gjBi7SIqVffKVLtKGBevHQRxp7Fnoo9ELyIWV1BM/edit?usp=sharing

The detailed review of Ballerina security APIs of StdLib protocol connector modules can be found at [1]. All the identified issues are grouped under area/security label [2].
[1] https://docs.google.com/document/d/16r_gjBi7SIqVffKVLtKGBevHQRxp7Fnoo9ELyIWV1BM/edit?usp=sharing
[2] https://github.com/ballerina-platform/ballerina-standard-library/issues?q=is%3Aopen+is%3Aissue+label%3Aarea%2Fsecurity

Reviewed and tested the APIs of all the protocol connector modules from the security point of view. Here are my observations and recommendations.

All the issues/bugs/improvements identified are reported and all of them are categorized under the area/security label. Some of them were fixed while completing this task and as of now there are 44 open issues (including 3 bugs).
https://github.com/ballerina-platform/ballerina-standard-library/issues?q=is%3Aopen+is%3Aissue+label%3Aarea%2Fsecurity
Section 3.1 of the following doc has a summary of the implementation security APIs of modules and issues have been created for the gaps identified.
https://docs.google.com/document/d/16r_gjBi7SIqVffKVLtKGBevHQRxp7Fnoo9ELyIWV1BM/edit?usp=sharing
IMO, the following 15 issues should be prioritized in the first iteration. Module owners can check and update the priority of those.
https://github.com/ballerina-platform//ballerina-standard-library/issues?q=is%3Aopen+label%3Aarea%2Fsecurity+label%3APriority%2FHigh

Issues breakdown: https://ldclakmal.me/ballerina-security/issues/


Put backups details to bottom of list in detail page

In linode details page, put the backups info last. Rename "Backup" label to "Backups".

Changing Backup to Backups actually doesn't make sense, because then it will say Backups taken 16 hours ago.

Maybe just show "Backups" when it is not enabled?

I still think in that even for that case Backup is fine, because the plural form holds no additional value (just added, unnecessary, complexity), because what is going on with the backup?  Enable Backups. Oh, I need to enable backups to have a backup.
If this ever displayed more than one backup, I could see it being Backups then.  Otherwise it is a misleading label that changes for some reason.  Potentially making a user think that they only have 1 backup, because it is singular, and only 1 backup displayed, when before, or else where, it is plural.


chore(deps): upgrade configuration

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-configuration-1.x" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 1629

Questions ?
Please refer to the Backport tool documentation


improving search results

This is more of a general issue around improving search results. For example, it is really difficult for me to replicate any search result for London Natural History Museum, even if I use terms from the title and page of where this image exists under CC0 on the platform: http://data.nhm.ac.uk/dataset/collection-specimens/resource/05ff2255-c38a-40c9-b657-4ccb55ab2feb/record/8304314.
This could b/c that particular image isn't in our database, also could point to the fact that we need to improve how certain providers' images show up in search.

I'd like @sclachar to confirm whether these are still under CC licenses. If they are, I see no reason to remove them at this time according to our updated provider review process. If they aren't, then yes, let's remove them.

I wanted to know if we should add the rest of images to the site since we only have 170 of them currently.

@janeatcc, as @aldenstpage mentioned this data was collected by Liza, therefore we do not have any control over the meta data except to delete or reprocess them.
Also, the source url for these points to Europeana. @aldenstpage can we suppress these results somehow until @janeatcc confirms the inclusion of Europeana? Otherwise, they should be removed.

I see!
Let's remove them for now. Once we re-include Europeana these may be part of that set. If not, we decide whether to reach out separately.

London Natural History Museum is removed from the catalog.


[Releaser] Add a mechanism for collecting packages based on a release configuration

Nor relevant at the moment.


VRTK_Lever connectedTo property for attaching to moving objects

@10FingerArmy The VRTK_Button script has a public member GameObject 'connectedTo' for attaching the button object to another game object (for movement purposes). The VRTK_Lever script does not. I added this locally for me in the same style as the button script. I think it would be a nice enhancement. Let me know if there is something issue I'm not seeing that would break it.

Great! The only reason it's not there yet is that I didn't have time to add it. If it works I recommend you do a PR to get it officially into the toolkit!

Ok cool, this is my first commit to this repo and I will try to get it done tonight.


WoltModalSheet does not follow finger movement smoothly when dismissing

When using WoltModalSheet.show, the modal does not follow the finger movement smoothly when attempting to close it by pulling down (similar to ModalBottomSheet). Instead, it requires significant force to pull down and close. I couldn’t find a setting to modify this behavior and am unsure if it can be adjusted.
Additionally, the distance from the top of the modal to the status bar cannot be modified. I have set the forceMaxHeight property, but it does not change the distance.
Could you please provide guidance on how to resolve these issues?
Reproduction Steps:
1.	Use WoltModalSheet.show to display a modal.
2.	Attempt to close the modal by pulling it down with a finger.
3.	Observe the resistance to movement and the inability to smoothly follow the finger.

Expected Behavior:
The modal should smoothly follow the finger movement when pulling down to close, similar to the behavior of ModalBottomSheet. Additionally, the distance from the top of the modal to the status bar should be adjustable.
Actual Behavior:
The modal requires significant force to pull down and close, and the distance to the status bar cannot be modified even when setting the forceMaxHeight property.
Environment:
•	Library version: 0.7.1
•	Platform: Mobile
•	Flutter version: 3.19

Thank you for your assistance!

Hello @LiangLuDev Can you check the Custom Modal Type section in ReadMe, and create a custom modal type with a custom minFlingVelocity ?
https://pub.dev/packages/wolt_modal_sheet#defining-custom-modal-types

Hello @LiangLuDev Can you check the Custom Modal Type section in ReadMe, and create a custom modal type with a custom minFlingVelocity ?

Yes, I found this parameter and tried to set this property. Unfortunately, it did not take effect. I also tried it in the test demo you provided, but it did not work either.

Yikes! Thanks for reporting. I will take this. Maybe @durannumit can also take a look?

Yikes! Thanks for reporting. I will take this. Maybe @durannumit can also take a look?

sure I will check according to comments


Behavior for objects missing [Symbol.dispose]

I'm surprised that the behavior would be to throw a TypeError. With return, the method is simply not called if it's missing. Also, you ignore it in the case of null/undefined. Why throw here, rather than silently ignore in a similar fashion?

The only reason to throw is to point out early user error. Also note that while we don't throw for return if its missing, we do throw for @@iterator if it's missing. @@dispose here has more in common with @@iterator, since the symbol indicates the protocol is supported. For return, we've already determined which protocol we're using (either @@iterator or @@asyncIterator), and the optionality of return is defined as part of that protocol.
I'm not opposed to silently ignoring objects without a @@dispose, but I would argue that if you wrote using ({ }) {}, you've probably made a mistake.

This is a reasonable point. Just something to consider:
Some classes may add or remove behavior for @@dispose over time. This might lead class maintainers to add or remove the method entirely. Allowing anything to be in a using block would allow programmers to continue using the block as the class evolves.
At a higher level, not throwing here would permit using to be applied "defensively", similarly to how await can be applied to something which may or may not be a Promise.
Not sure which way we should go; this is just an alternative to consider.

It’s important for the consumer of an iterable to know when they tried to iterate a non iterable.
The consumer of a disposable certainly should have to know that they need to use a using block (which the proposal doesn’t seem to address) - but I’m not sure why they’d need to know they cant use a using block.

Some classes may add or remove behavior for @@dispose over time. This might lead class maintainers to add or remove the method entirely. Allowing anything to be in a using block would allow programmers to continue using the block as the class evolves.

The same could be said for @@iterator, etc. You currently cannot for-of over just any object.

It’s important for the consumer of an iterable to know when they tried to iterate a non iterable.
[...] but I’m not sure why they’d need to know they cant use a using block.

It's also important for the consumer of a disposable to know when they tried to dispose a non-disposable. This helps to point out cases where you might have provided the wrong value, or forgot to call a function or method:
const foo = { getResource() { /* return something disposable */ } };

// wrong resource
using res1 = foo;

// forgetting parens
using res2 = foo.getResource;

We explicitly allow null/undefined for conditional disposal cases, as mentioned in the explainer.

The consumer of a disposable certainly should have to know that they need to use a using block (which the proposal doesn’t seem to address) [...]

There are many things in the language that don't enforce that you should do something, such as calling Promise.prototype.then or .catch to handle errors, or closing iterators/generators when manually iterating.
One of the advantages of [Symbol.dispose] is that static analysis tools could leverage the presence of the method to provide warnings for undisposed resources during development.

Also, this early checking behavior was specifically requested at the July, 2019 meeting and referenced in #34.


great idea

thanks for your project

I am pausing on getting native PThreads working with FFI, needs a lot more investigation and more likely C development of PHP source code. Seems someone else has started something similar https://github.com/mrsuh/php-pthreads.
Currently this project is stable for my current needs, tests done on Linux, Mac and Windows - PHP 74 to 8.2 and a release published.


Pcc errors when converting between data layouts for sharded data

For certain tensor shapes, I get pcc errors when I try converting a sharded tensor on device to different data layouts. Repro test case
def test_upsample_multi_core(device):
    torch.manual_seed(0)
    input_shape = [2, 64, 66, 10]
    batch_size, num_channels, height, width = input_shape
    input = torch.randn(input_shape, dtype=torch.bfloat16)
    input = torch.permute(input, (0, 2, 3, 1))  # 2, 66, 10, 64
    input = torch.reshape(input, (1, 1, input.shape[0] * input.shape[1] * input.shape[2], input.shape[3])) # 1, 1, 1320, 64

    core_range = ttnn.experimental.tensor.CoreRangeSet({ttnn.experimental.tensor.CoreRange(ttnn.experimental.tensor.CoreCoord(0, 0),
            ttnn.experimental.tensor.CoreCoord(11, 2)),
            ttnn.experimental.tensor.CoreRange(ttnn.experimental.tensor.CoreCoord(0, 3),
            ttnn.experimental.tensor.CoreCoord(5, 3))})
    shard_spec = ttnn.experimental.tensor.ShardSpec(core_range, (32, 64), ttnn.experimental.tensor.ShardOrientation.ROW_MAJOR, False)
    in_sharded_mem_config = ttnn.MemoryConfig(ttnn.types.TensorMemoryLayout.HEIGHT_SHARDED, ttnn.types.BufferType.L1, shard_spec)

    tt_input = ttnn.from_torch(input, device=device, memory_config=ttnn.L1_MEMORY_CONFIG)
    tt_input = ttnn.to_layout(tt_input, layout=ttnn.TILE_LAYOUT)
    tt_input = ttnn.to_memory_config(tt_input, memory_config=in_sharded_mem_config)
    tt_input = ttnn.to_layout(tt_input, layout=ttnn.ROW_MAJOR_LAYOUT)
    tt_input = ttl.tensor.sharded_to_interleaved(tt_input, ttnn.DRAM_MEMORY_CONFIG)
    tt_input = ttnn.to_torch(tt_input)

    assert_with_pcc(input, tt_input, 0.9999)
    return

@tt-nshanker it looks like this too is failing even with sharded_to_interleaved hopefully this is the same bug as the other possible allocater issue. Can you look into this for now?

will validate when #6775 is merged.

@tt-aho did your i2s fix address this?

@tt-aho yup it works, @tapspatel the only diff in my test is I changed the core range to this
    core_range = ttnn.experimental.tensor.CoreRangeSet({ttnn.experimental.tensor.CoreRange(ttnn.experimental.tensor.CoreCoord(0, 0),
            ttnn.experimental.tensor.CoreCoord(5, 6))})

Since I was running on a wormhole machine, but its the same amount of cores (42).


Guild names not showing

when hovering over guilds you can still see the usual name popout, but its just one solid color.
Im not sure if the rgb code for text is the same as guild popout but its really my only guess as emotes in a guild-name still show on the popout.

The issue was fixed but can't be pushed automatically so you'll have to reinstall the theme.

all good. thank you!


fix buffer parse error message of evaluateNodeProperty

[ ] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)

Proposed changes

If inject node is configured to inject buffer with value 12, it causes following error:
TypeError [ERR_INVALID_ARG_TYPE]: The first argument must be of type string or an instance of Buffer, ArrayBuffer, or Array or an Array-like Object. Received type number (12)

This message is difficult to understand for users.
This PR try to make it more understandable.
Checklist

[x] I have read the contribution guidelines
[ ] For non-bugfix PRs, I have discussed this change on the forum/slack team.
[x] I have run grunt to verify the unit tests pass
[x] I have added suitable unit tests to cover the new/changed functionality

Coverage increased (+0.01%) to 68.429% when pulling bc80569fe9711f0407583f26a236a208c30d8c0b on node-red-hitachi:fix-buffer-parse-error into 98b4b0dce057047c414e7a41b7220384c0c1d11a on node-red:master.


Export Pulled Model

I run a service on an offline server, so I can't use the "pull" command directly.
How can I export a pulled Model in a online computer( e.g. Windows PC) and import it to the offline server(Linux).
Importing from gguf or torch tensor sometimes can't run normally.
It would be better if we can directly download modelfile from ollama.com  and import it into offline server.

Merging with #335


The package name is invalid

The current package name in bower.json (smoothscroll) is different from the actual package which is registered on bower (smoothscroll-for-websites)

thanks


Unmanned Rocket Dupe

I am having another issue. When I log out and then log back in I have UMR's Waiting to get into my Hanger. I then Disassemble the UMR's that are their but they Don't want to Disassemble I have to keep Clicking on them and hit the Dis Button Repeatedly to finally get them to complete the action. Let me know what you want me to send you... :(

What version are you running?

Nevermind, found the issue, forgot about the 2nd internal sat list


Use motions for delete and change

Checklist

[x] Have you read through :h nvim-surround to see if there might be any relevant information there?

Describe the solution you'd like
I have a quote over  a few lines and want to remove the quotation marks. Neither dsap" or - in my case - dsG" work.
Also, there is no possibility to make a visual selection and the delete based on the selection, which would also satisfy my usecase.

If you check out the wiki, you'll find that ds and cs don't take text-objects as "arguments". I think the idea of deletions via visual selections isn't something that I'll add, since you can probably just delete them manually if you're already taking the time to visually select it. It would also introduce a whole host of issues like:

What if the visual selection doesn't actually contain the delimiter pair?
What if the visual selection contains it, but the pair isn't at the boundary of the selection?
What if the pair I want to delete is of variable length (e.g. HTML tag)?

This isn't to say that I'm completely disinterested in this enhancement; I'm curious to understand which circumstances you find yourself in where a quote spanning several lines happens. There are a few things to consider when implementing this, including

Feature parity with vim-surround (which doesn't allow you to modify multi-line quotes)
Built-in Vim text-objects (the a" text-object does not span several lines)
How would nvim-surround tell which pair to modify, e.g.

"This would be string
number one" [cursor here] "this would
be string number two"

I think it's fairly clear to me that ds" in this case should delete the second pair of quotes, but it's a bit ambiguous implementation-wise.

hI, sorry for answering late.... To be quite honest, the usecase occurred to me when I copy-pasted something with mutliple lines and it had quotes around it. I tried the usual, read the documentation and realized that many motions are not possible for cs and ds - and that was when I came up with the solution.
But I agree that it is not a veeeeery common case and that many questions woud have to be answered first, so I'm fine to close this.
Thanks for thinking about it!
Cheers,
Sven

@svenXY On the new branch pattern-matching (see #101) there is a way to have ds" delete quotes across lines by default (or some other key), but it comes at the cost of probably not being nearly as accurate with detecting what constitute "valid strings". I'll look into it a bit more.

If you're interested, the related configuration is
['"'] = {
    add = function()
        return { { '"' }, { '"' } }
    end,
    find = '".-"',
    delete = '^(")().-(")()$',
    change = {
        target = '^(")().-(")()$',
    },
},

in the delimiters table, although I would read through the most recent messages I've sent in #101, since there are a lot of changes to how user configuration works.


Problematic quotes in HTCondor

Describe the bug
2 issues involving quotes in HTCondor configuration and ClassAds

Glideins logs StartdLog had errors like:

CONFIGURATION PROBLEM: Failed to insert ClassAd attribute TRUST_DOMAIN = myhost.domain.org:9618?sock=collectorRANDOM.  The most common reason for this is that you forgot to quote a string value in the list of attributes being added to the STARTD ad.

Probably because the TRUST_DOMAIN was considered a condor expression.
NOTE that in 2018 HTCondor required to change TRUST_DOMAIN config macro from string to expression
Todd T. said that quotes should not be required and to contact them with details and an easy way to reproduce the error.
2. Startd ads are new in 23.9 (instead of slot ads). In Glideins ClassAds Tim T saw quotes with strings that are not in standalone installations ClassAds. This is a change of behavior, and needs to be verified
To Reproduce
Run smoke test for the first one. Use HTCondor 23.9 for the second.
Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
NA
Info (please complete the following information):

GlideinWMS version: 3.10.7
Python version: 3.9
OS version: Alma9
HTCondor version: 23.9 (Also 23.0.x for 1)
Priority: high
Stakeholders: FactoryOps, OSG
Components: glidein

Additional context
Add any other context or supporting files about the problem here.

Cole (HTC team) said that TRUST_DOMAIN seems to be a string. He will follow up.


lang, docs: anchor does not export data structures idiomatically

Example:

Anchor prelude paths are included in docs.rs. They should not be included because prelude is just a helper module (that is what the rust std docs do at least).
Account is exported directly under the root. It should be exported with its proper path (anchor_lang::accounts::account::Account).

Account is just one example of many. For Account (and the other types in the accounts folder) it can be solved by removing the Account export in lib.rs, making the accounts mod in lib.rs a pub mod and exporting accounts::account::Account in the prelude instead of just Account. Doing it this way makes Account a re-export instead of a struct inside prelude.
I dont think doc(hidden) on the prelude mod is the solution because if you search for it, you should find it, but its members shouldnt show up in the search because theyre just re-exports (or they should be re-exports, but arent right now, which is causing these problems)

open question: how to deal with crates like anchor_attribute_account. These are also currently not re-exported by anchor and can therefore be found in the docs in the prelude module, but not anywhere else. If the prelude just re-exported these, they could not be found in the docs of anchor_lang at all.

Note that crates like anchor_attribute_account must be in their own crate (or shared within a still separate crate) because they are proc macros.

yes. I didnt mean that we should actually move them into anchor_lang.
prelude currently pub uses them but this does not re-export them (any idea why?). instead it defines them as members of prelude. my idea is to have a separate module pub use them. that way, they can be found in the docs via that module because it wont reexport them either. but I havent managed to reexport them from that module by the prelude yet. it still defines them as members of prelude.


When selecting a favorite the menu closes

Expected outcome

Teh menu should stay open when selecting a favorite.
Business Value / Developer Experience
Better UX for end user

User Acceptance Tests (UAT)

Open menu
Add  an app to your favorites
Menu should be open.

Environments
All testing of issues are done in project-portal-test

project-portal-prod
project-portal-test
project-portal-feature

For Backend use these

project-portal-api-prod
project-portal-api-test
project-portal-api-feature

Has been implemented


can't open viewController programmatically

Hello
I'm using storyboard in my app but i want to manage the left menu programmatically.
I'm trying to setFrontViewController like this.
MapViewController *frontViewController = [[MapViewController alloc] init];
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:frontViewController];
[revealController setFrontViewController:navigationController animated:YES];
I'm using the didSelectRowAtIndexPath in the table view controller.
When I click in the menu item it doesn't open the MapViewController, only a black screen.
Thankyou

works fine!! :D


Property observer called with undefined after notifying push

Description
Property observer called with undefined after notifying push. It's looking up the value of prop.splices, which doesn't exist.
Live Demo
Don't know how to use 2.0-preview with jsbin.
Steps to Reproduce
Example:

kiosks: {
   type: Array,
   observer: '_kiosksChanged',
},

<some-element something="{{kiosks}}">

In some-element, this.push('something', 'item');

Expected Results
Property is notified with updated value, or not notified at all.
Actual Results
Property is notified with undefined:

Browsers Affected

[ X] Chrome

Versions

Polymer: 2.0-preview
webcomponents: v1

I'm getting a slightly different (but still broken) result. The observer is called with an object with a single property, indexSplices, but indexSplices is null.
JSBin is here:
https://jsbin.com/pudeled/2/edit
Click the button, watch the console—indexSplices is null. I tested this same  code in a local project with an outdated version of 2.0-preview, and it was giving an appropriate indexSplices. Updating to latest 2.0-preview yields the broken result.
Given that this is a standard, non-wildcard observer, I expected it to notify with the property value (kiosks) rather than a set of splices. So I'm not sure if that was WAI before. If so, we need to document this change.

I can't get jsbin to work - doesn't want to load stuff from polygit. However, my example is a bit different so that is probably why I'm getting different results. If you can get it to work please check it out: https://jsbin.com/qoduzegipi/edit?html,console

We recently changed 2.x-preview to have similar semantics as 1.x as far as observing changes to objects. It's required to use a wildcard to see path changes, e.g. things.*. This may explain some of the confusion. Also please note that the static config property must contain a properties object to provide property metadata.
Here's an updated jsbin for @arthurevans https://jsbin.com/japicob/edit?html,output which seems ok.
Here's an updated jsbin for @mkazlauskas https://jsbin.com/vusezoc/edit?html,console,output which seems ok.
Please re-open if there are any issues left here.


Missing object id constants (Winuser.h)

Is your feature request related to a problem? Please describe.
I found out that these constants are missing
https://docs.microsoft.com/en-us/windows/win32/winauto/object-identifiers
These are the constants for the Object Ids.
Describe the additions or enhancements you'd like
I would like to have some kind of class that had those constants that can be used along with methods on the User32 class (eg. SetWinEventHook)
One of the uses is on Hooks where we get a int idObject parameter with the id of the object.
Not sure if it can become an enum. If so, how would that affect User32.WinEventProc? What about other uses?

Taking a look, it appears this list can be extended, so I'd likely stay away from making it an enum. I can add it as a static class similar to the one I did for event constants. Does that work?

I've added as described above. Please reopen if this doesn't work.


Publish to crates.io

The crate name bloom has been used. Consider changing a new one. Maybe blooming.


[Removal]: Request Removal from Denylist

Hotspot Name
Exotic Raisin Stallion
Hotspot b58 Address
112dhnEDP4nJt2JnwgYy5hi8cYdHtav18TBzyef2HBhfqB6oSW6s
Discord Handle
No response
Hotspot Manufacturer
Heltec Automation
Removal Reason
My hot spot is on the denylist. Now they have been adjusted, corrected previous mistakes, and redeployed on the spot. Hope to be removed from the denylist. Thank you very much!
Modifications
No
Extra forwarders
No
Extra antennas
No
Additional Information

We have taken into account this removal request in the next iteration of the denylist. It may take some time before it's processed. This is an automated comment due to the volume of addition and removal requests. A future tool is in the works to provide more insight into the analysis approach made by the Helium team and community members that maintain this list.


Added Google Analytics and a feedback option to the website.

This change is

Preview: https://deploy-preview-509--competent-brattain-de2d6d.netlify.com/docs/started/requirements/

Fixes https://github.com/kubeflow/website/issues/17

/assign @abhi-g


Error when Importing Module

Context

Module will not load. Throws an error.
Set-SnipeitAlias : The term 'Set-SnipeitAlias' is not recognized as the name of a cmdlet, function, script file,
or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct
and try again.
At C:\Program Files\WindowsPowerShell\Modules\SnipeitPS\1.9.176\SnipeitPS.psm1:18 char:1
+ Set-SnipeitAlias
+ ~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (Set-SnipeitAlias:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

PS C:\> get-module -name SnipeitPS

ModuleType Version    Name                                ExportedCommands
---------- -------    ----                                ----------------
Script     1.9.176    SnipeitPS

I've tried uninstalled and reinstalling the module. Purging, Restarting, etc. Running Powershell ISE as Admin.
This is the full printout when running Import-Module -Name SnipeitPS:
PS C:\> Import-Module -Name SnipeitPS -Verbose -Force;
VERBOSE: Loading module from path 'C:\Program Files\WindowsPowerShell\Modules\SnipeitPS\1.9.176\SnipeitPS.psd1'.
VERBOSE: Removing the imported "Get-SnipeitAccessory" function.
VERBOSE: Removing the imported "Get-SnipeitAccessoryOwner" function.
VERBOSE: Removing the imported "Get-SnipeitActivity" function.
VERBOSE: Removing the imported "Get-SnipeitAsset" function.
VERBOSE: Removing the imported "Get-SnipeitAssetMaintenance" function.
VERBOSE: Removing the imported "Get-SnipeitCategory" function.
VERBOSE: Removing the imported "Get-SnipeitCompany" function.
VERBOSE: Removing the imported "Get-SnipeitComponent" function.
VERBOSE: Removing the imported "Get-SnipeitConsumable" function.
VERBOSE: Removing the imported "Get-SnipeitCustomField" function.
VERBOSE: Removing the imported "Get-SnipeitDepartment" function.
VERBOSE: Removing the imported "Get-SnipeitFieldset" function.
VERBOSE: Removing the imported "Get-SnipeitLicense" function.
VERBOSE: Removing the imported "Get-SnipeitLicenseSeat" function.
VERBOSE: Removing the imported "Get-SnipeitLocation" function.
VERBOSE: Removing the imported "Get-SnipeitManufacturer" function.
VERBOSE: Removing the imported "Get-SnipeitModel" function.
VERBOSE: Removing the imported "Get-SnipeitStatus" function.
VERBOSE: Removing the imported "Get-SnipeitSupplier" function.
VERBOSE: Removing the imported "Get-SnipeitUser" function.
VERBOSE: Removing the imported "New-SnipeitAccessory" function.
VERBOSE: Removing the imported "New-SnipeitAsset" function.
VERBOSE: Removing the imported "New-SnipeitAssetMaintenance" function.
VERBOSE: Removing the imported "New-SnipeitAudit" function.
VERBOSE: Removing the imported "New-SnipeitCategory" function.
VERBOSE: Removing the imported "New-SnipeitCompany" function.
VERBOSE: Removing the imported "New-SnipeitComponent" function.
VERBOSE: Removing the imported "New-SnipeitConsumable" function.
VERBOSE: Removing the imported "New-SnipeitCustomField" function.
VERBOSE: Removing the imported "New-SnipeitDepartment" function.
VERBOSE: Removing the imported "New-SnipeitLicense" function.
VERBOSE: Removing the imported "New-SnipeitLocation" function.
VERBOSE: Removing the imported "New-SnipeitManufacturer" function.
VERBOSE: Removing the imported "New-SnipeitModel" function.
VERBOSE: Removing the imported "New-SnipeitSupplier" function.
VERBOSE: Removing the imported "New-SnipeitUser" function.
VERBOSE: Removing the imported "Remove-SnipeitAccessory" function.
VERBOSE: Removing the imported "Remove-SnipeitAsset" function.
VERBOSE: Removing the imported "Remove-SnipeitAssetMaintenance" function.
VERBOSE: Removing the imported "Remove-SnipeitCategory" function.
VERBOSE: Removing the imported "Remove-SnipeitCompany" function.
VERBOSE: Removing the imported "Remove-SnipeitComponent" function.
VERBOSE: Removing the imported "Remove-SnipeitConsumable" function.
VERBOSE: Removing the imported "Remove-SnipeitCustomField" function.
VERBOSE: Removing the imported "Remove-SnipeitDepartment" function.
VERBOSE: Removing the imported "Remove-SnipeitLicense" function.
VERBOSE: Removing the imported "Remove-SnipeitLocation" function.
VERBOSE: Removing the imported "Remove-SnipeitManufacturer" function.
VERBOSE: Removing the imported "Remove-SnipeitModel" function.
VERBOSE: Removing the imported "Remove-SnipeitSupplier" function.
VERBOSE: Removing the imported "Remove-SnipeitUser" function.
VERBOSE: Removing the imported "Reset-SnipeitAccessoryOwner" function.
VERBOSE: Removing the imported "Reset-SnipeitAssetOwner" function.
VERBOSE: Removing the imported "Set-SnipeitAccessory" function.
VERBOSE: Removing the imported "Set-SnipeitAccessoryOwner" function.
VERBOSE: Removing the imported "Set-SnipeitAsset" function.
VERBOSE: Removing the imported "Set-SnipeitAssetOwner" function.
VERBOSE: Removing the imported "Set-SnipeitCategory" function.
VERBOSE: Removing the imported "Set-SnipeitCompany" function.
VERBOSE: Removing the imported "Set-SnipeitComponent" function.
VERBOSE: Removing the imported "Set-SnipeitConsumable" function.
VERBOSE: Removing the imported "Set-SnipeitCustomField" function.
VERBOSE: Removing the imported "Set-SnipeitDepartment" function.
VERBOSE: Removing the imported "Set-SnipeitInfo" function.
VERBOSE: Removing the imported "Set-SnipeitLicense" function.
VERBOSE: Removing the imported "Set-SnipeitLicenseSeat" function.
VERBOSE: Removing the imported "Set-SnipeitLocation" function.
VERBOSE: Removing the imported "Set-SnipeitManufacturer" function.
VERBOSE: Removing the imported "Set-SnipeitModel" function.
VERBOSE: Removing the imported "Set-SnipeitStatus" function.
VERBOSE: Removing the imported "Set-SnipeitSupplier" function.
VERBOSE: Removing the imported "Set-SnipeitUser" function.
VERBOSE: Removing the imported "Update-SnipeitAlias" function.
VERBOSE: Removing the imported "Get-Accessory" alias.
VERBOSE: Removing the imported "Get-Asset" alias.
VERBOSE: Removing the imported "Get-AssetMaintenance" alias.
VERBOSE: Removing the imported "Get-Category" alias.
VERBOSE: Removing the imported "Get-Company" alias.
VERBOSE: Removing the imported "Get-Component" alias.
VERBOSE: Removing the imported "Get-CustomField" alias.
VERBOSE: Removing the imported "Get-Department" alias.
VERBOSE: Removing the imported "Get-Fieldset" alias.
VERBOSE: Removing the imported "Get-Manufacturer" alias.
VERBOSE: Removing the imported "Get-Model" alias.
VERBOSE: Removing the imported "Get-Status" alias.
VERBOSE: Removing the imported "Get-Supplier" alias.
VERBOSE: Removing the imported "Get-User" alias.
VERBOSE: Removing the imported "New-Accessory" alias.
VERBOSE: Removing the imported "New-Asset" alias.
VERBOSE: Removing the imported "New-AssetMaintenance" alias.
VERBOSE: Removing the imported "New-Category" alias.
VERBOSE: Removing the imported "New-Component" alias.
VERBOSE: Removing the imported "New-CustomField" alias.
VERBOSE: Removing the imported "New-Department" alias.
VERBOSE: Removing the imported "New-License" alias.
VERBOSE: Removing the imported "New-Location" alias.
VERBOSE: Removing the imported "New-Manufacturer" alias.
VERBOSE: Removing the imported "New-Model" alias.
VERBOSE: Removing the imported "New-User" alias.
VERBOSE: Removing the imported "Remove-Asset" alias.
VERBOSE: Removing the imported "Remove-User" alias.
VERBOSE: Removing the imported "Set-Accessory" alias.
VERBOSE: Removing the imported "Set-Asset" alias.
VERBOSE: Removing the imported "Set-AssetOwner" alias.
VERBOSE: Removing the imported "Set-Component" alias.
VERBOSE: Removing the imported "Set-Info" alias.
VERBOSE: Removing the imported "Set-License" alias.
VERBOSE: Removing the imported "Set-Model" alias.
VERBOSE: Removing the imported "Set-User" alias.
VERBOSE: Populating RepositorySourceLocation property for module SnipeitPS.
VERBOSE: Loading module from path 'C:\Program Files\WindowsPowerShell\Modules\SnipeitPS\1.9.176\SnipeitPS.psm1'.
Set-SnipeitAlias : The term 'Set-SnipeitAlias' is not recognized as the name of a cmdlet, function, script file,
or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct
and try again.
At C:\Program Files\WindowsPowerShell\Modules\SnipeitPS\1.9.176\SnipeitPS.psm1:18 char:1
+ Set-SnipeitAlias
+ ~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (Set-SnipeitAlias:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

PS C:\>

Might be time to deprecate the Aliases completely?

H, what platform / powershell version you are running?
Can't reproduce this on my Windows 10 machine.I imported module without any issues to  powershell 5.1 and powershell 7 .

H, what platform / powershell version you are running?
Can't reproduce this on my Windows 10 machine. I imported module without any issues to powershell 5.1 and powershell 7 . And also linux loads module just fine to pwsh 7 core.

This is occuring across many of my office workstations causing my scripts using SnipeItPs to fail. All on this same version.

It seems to work fine in an Admin powershell window, but the issue occurs when being ran in PowershellISE as admin after you import it once, or when you are running a compiled ps1 as an exe with the System account.

Have you installed module global or currentuser scope?

Have you installed module global or currentuser scope?

Default install is global, correct?
I'll check the $Env:PSModulePath Monday, but that should be good.

Yes default is global. It should work from any scope. Is anything else changed? New security settings for workstations or something like that. Reason Im asking that is that I spent lot of time Last week with strange issues after enabled some attack surface redution rules with intune endpoint management. IssuesI havr did not were snipeitps related, but some config changes could effect snipeit also. Module code is not currently signed, so forcing script signing will give some issues.

Yes default is global. It should work from any scope. Is anything else changed? New security settings for workstations or something like that. Reason Im asking that is that I spent lot of time Last week with strange issues after enabled some attack surface redution rules with intune endpoint management. IssuesI havr did not were snipeitps related, but some config changes could effect snipeit also. Module code is not currently signed, so forcing script signing will give some issues.

I'm always implementing new security for vulnerabilities and things as they come up, but I don't think anything should've changed that would affect powershell. My powershell execution policy is still unrestricted at this time across the domain. I'm in the process of doing some script signing and possibly setting it to allsigned in the near future but not right now. I was googling a lot this week prior to opening this issue and couldn't find anything that solved the issue. I'll keep trying next week and keep this open for a bit, if I find a solution I would like to add it here for future knowledge for others.

Nice, thanks to keep us posted. I think  that for longer run we really need code signing for SnipeitPS. @snazy2000 do you have active certificate to setup with appveyor / ps gallery toolchain?

@RussellLeVasseur  Just googled your build version "10.0.22000.65" and powershell version 5.1.22000.65 All result are referencing to Windows 11 (insider preview)?

@RussellLeVasseur  Just googled your build version "10.0.22000.65" and powershell version 5.1.22000.65 All result are referencing to Windows 11 (insider preview)?

On my workstation yes, but my other 80 workstations are Windows 10 21H1

Lets test more some basics things. Is some files really missing? Try to run following and compare to output from my system.
#count of snipeit modules
Get-InstalledModule snipeitps  | measure
Count    : 1

#module file count
get-childitem (Get-InstalledModule snipeitps -MaximumVersion 1.9.176).installedLocation -Recurse | measure

Count    : 89

#Is Set-SnipeitAlias there?
Test-Path  (Join-path -Path ( Get-InstalledModule snipeitps -MaximumVersion 1.9.176).installedLocation -ChildPath Private/Set-Snipeitalias.ps1)
True

And some things that  noticed from your orginal issue:
You provided output of "Get-Module SnipeitPS" . As it shows output, module in loaded.
Actually that did it! Reproduced error. Tried to reload module with:
import-module snipeitps -Force
Set-SnipeitAlias : The term 'Set-SnipeitAlias' is not recognized as the name of a cmdlet, function, script file, or ope
rable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again

But only when  module is already loaded. First import with force is working.  I usually "force" reload of module by running "Remove-module SnipeitPS ; Import-Module SnipeitPS" Is there some reason why you are forcing reload of module?
Right now I have no idea why -forcing module import gives that kind of error, but maybe you can adjust your scripts and do module reimport after you have removed first instance of module.

Lets test more some basics things. Is some files really missing? Try to run following and compare to output from my system.
#count of snipeit modules
Get-InstalledModule snipeitps  | measure
Count    : 1

#module file count
get-childitem (Get-InstalledModule snipeitps -MaximumVersion 1.9.176).installedLocation -Recurse | measure

Count    : 89

#Is Set-SnipeitAlias there?
Test-Path  (Join-path -Path ( Get-InstalledModule snipeitps -MaximumVersion 1.9.176).installedLocation -ChildPath Private/Set-Snipeitalias.ps1)
True

And some things that noticed from your orginal issue:
You provided output of "Get-Module SnipeitPS" . As it shows output, module in loaded.
Yes! I finaly reproduced error. Tried to reload module with:
import-module snipeitps -Force
Set-SnipeitAlias : The term 'Set-SnipeitAlias' is not recognized as the name of a cmdlet, function, script file, or ope
rable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again

But only when module is already loaded. Also first import with force is working. I usually "force" reload of module by running "Remove-module SnipeitPS ; Import-Module SnipeitPS". It always runs without errors. Is there some reason why you are trying forcing reload of module?
Right now I have no idea why -forcing module import gives that kind of error, but maybe you can adjust your scripts and do module reimport after you have removed first instance of module.

Ok, so it looks like I am seeing similar things to your commands:

When doing Get-Command -Module SnipeitPS i get this:

I am not seeing any of the new Get- or New- Commands, only legacy ones?

So doing Remove-Module -Name SnipeitPS then re-importing it, now shows all of the commands.

Could be bug or feature who knows :)   I tried to  reproduce this with couple of other modules, but got no errors. But if everything is working for you now , could I close this issue now?

I close this issue now, feel free to reopen it, if needed.


Support AngularJS's JSON Vulnerability Protection prefix

Avoids an error on parsing responses that occurs when the AngularJS JSON
Vulnerability Protection prefix, ")]}'," is added to responses.  See
https://docs.angularjs.org/api/ng/service/$http#json-vulnerability-protection
for more details.
Includes a unit test to test for this scenario.

Thanks for this!!!
I've just completely re-factored the library to work with the idea of adapters that are responsible for transforming multiple http requests into a single batch request and then parse the batch response back in multi responses (see the default adapter https://github.com/jonsamwell/angular-http-batcher/blob/master/src/services/adapters/httpAdapter.js).  The idea being the library can now support multiple different batching technologies i.e. http 1.1, node js implementations, Facebook etc.
So unfortunately your pull request will now have conflicts, but its a great addition and I really want it in!  I need to do up a bit of a util service to do things like url parsing etc where we could put this vulnerability protection function so all the adapters could use it.
I'll get the util in tomorrow if you want to update the pull request or I can put it in if you would rather?
Thanks again!!!
Jon

I've added this here now and credited you in the change log.
https://github.com/jonsamwell/angular-http-batcher/blob/master/src/services/httpBatcher.js#L55
https://github.com/jonsamwell/angular-http-batcher/blob/master/dist/ChangeLog.txt#L3
Thanks very much for this!!!

Sorry for only seeing this now - am on leave, so wasn't keeping up with
email. Otherwise I would gladly have updated the pull request.
Thank you for giving me credit anyway! :)
On Tue, 11 Aug 2015, 02:33 Jon Samwell<EMAIL_ADDRESS>wrote:

Closed #22 https://github.com/jonsamwell/angular-http-batcher/pull/22.
—
Reply to this email directly or view it on GitHub
https://github.com/jonsamwell/angular-http-batcher/pull/22#event-378609965
.

No thank you for submitting it!  I've given the library a really heavy refactor and it is much better because of it.  Anyway thanks again and really glad you are using the module.  Let me know if you have any other features ideas for the library and feel free to send other pull requests in!


getpid should return process id not thread id

https://pubs.opengroup.org/onlinepubs/009696699/functions/getpid.html
NAME
getpid - get the process ID
SYNOPSIS
#include <unistd.h>

pid_t getpid(void);

DESCRIPTION
The getpid() function shall return the process ID of the calling process.

RETURN VALUE
The getpid() function shall always be successful and no return value is reserved to indicate an error.

ERRORS
No errors are defined.

@patacongo do you think we should modify getpid implementation to confirm the standard?

NuttX does not have separate thread IDs.  Process IDs and thread Ids are the same thing.  A pthread ID is just a pid_t that is cast to a pthread_t.
The kind of of threads used in NuttX are sometimes called "heavyweight' threads.  In the Linux 2.4 timeframe, Linux also used heavyweight threads.  pthreads were provide by the old LinuxThreads library.  https://en.wikipedia.org/wiki/LinuxThreads.  It implemented threads using the Linux clone() interface; threads were basically fork's from the parent thread with some special properties -- but each was still a process and each had its own identifying process ID.
With the old Linux threads, pthread_t was also the same as a pid_t.  So the old heavyweight, LinuxThreads were exactly the way that NuttX threads work.  When you did 'ps', threads and process should the same kind of IDs.  gettid() worked basically the same as gitpid() as they do in NuttX.
Around 2006, LinuxThreads was replaced with lightweight, Native POSIX Threads Library (NPTL).  This introduced a hierarchy and a difference in representation so that threads were implemented very differently.  'ps' now shows threads as part of hierarchy and gettid() and gitpid() return very different kinds of values.
Since NuttX follows the old LinuxThreads model, I think it is best to keep the interfaces as they are now (and as they were with LinuxThreads in Linux).
Would there be any advantage of switching to model like NPTL in NuttX?  Perhaps someday.  But for the FLAT and PROTECTED mode there would not be any advantage.  They are already very "lightweight" in the sense that they do not consume very many resources.  I don't think NPTL would improve that very much.  But for the KERNEL build with its huge overhead of mapped pages and MMU page tables, they savings might be substantial.
So there is some semantic confusion about what the process ID represents.  In

group ID is overloaded. Sorry about that. NuttX does not support group security as does Linux. The group ID refers to the "task group", not to the security group.

Back to the original question.  "Should getpid() return the process ID?"  Currently it returns the thread ID of the caller.  I suppose it would, more appropriately return group ID (since the process ID of each thread should be the same, only the thread ID should be different.).
That would break a LOT of user code, I suspect.

@patacongo I provide a fix here: https://github.com/apache/incubator-nuttx/pull/2518/, do you think it's resanable? If it's OK, I will review all getpid caller and change to getthid as needed.

@patacongo I provide a fix here: #2518, do you think it's reasonable? If it's OK, I will review all getpid caller and change to getthid as needed.

It looks reasonable to me.  I made one comment:  I think that the change should still apply if CONFIG_SCHED_HAVE_PARENT is not selected.  I don't think there is any reason to implement the wrong functionality in that case.

There is some semantic confusion about what the process ID represents in NuttX. NuttX uses a "task group" to associate all of the heavyweight threads. The process ID means two things. It it the thread ID of the main thread of task group (maintained in the TCB) but it is also the task group ID of the entire collection of associated threads (maintained in the group structure, usually).
group ID is overloaded. Sorry about that. NuttX does not support group security as does Linux. The group ID refers to the "task group", not to the security group.

With https://github.com/apache/incubator-nuttx/pull/2981, group ID doesn't exist anymore, the task is repsented by the main thread proccess ID now.