Inference issues?

I don't think I have a concrete issue.  Just an observation:
I have some functions which returned the freer-simple Eff effs x monad, defined in a let statement in do block, returning Eff effs' x where all the constraints on effs are also constraints satisfied by effs'.  These functions did not have type signatures.  E.g. (very schematic example!  The real case has much more...noise between the definition of myOtherFunc and where/how it is used)
f :: Int -> (Member MyEff effs) => Eff effs ()
f = ...

myFunc :: (Member MyEff effs) => Eff effs ()
my = do
  let myOtherFunc = f 2
  myOtherFunc

With freer-simple, these compiled.  After switching to polysemy, some of them do not, basically because they fail to unify the effs in the do block and effs being returned from the function? I think?  The error message is about a missing constraint of the form (Member MyEff effs0) on the at-that-point ambiguous effs0 at the line where the let is.
What's notable, is that if I enable PartialTypeSignatures and then put a type signature on each function of the form let myOtherFunc :: _, many of these now compile fine.  Which is confusing. What does PartialTypeSignatures know that is a secret from the rest of ghc?
I don't think I can cook up an example because I don't really know why it happens sometimes and not others and the code where it happens is way too messy and full of other things to be of any use figuring this out, I think. So feel free to close this on account of it's not specific enough.  But I thought you might find the information helpful!

Do you have -XMonoLocalBinds and/or -XNoMonomorphismRestriction turned on (bear in mind that they might be implicitly enabled via other extensions)? AFAICT there shouldn't be any differences between freer-simple and polysemy in terms of type inference.
Try explicitly setting {-# LANGUAGE MonomorphismRestriction, MonoLocalBinds #-} as the last language extensions in your file, and I'd bet dollars to donuts the issue goes away.

Huh. But what if I need the NoMonomorphism restriction enabled?  I guess at some point I am getting greedy and I can just work around it.
I'm doing some data-analysis stuff with Frames and the signatures there get very very long so I usually hope that inference will suffice.  But I think that means the the Monomorphism restriction sometimes bites because I'm using the same polymorphic function at different types in the same do block?  I'm in over my head trying to figure this out.

I'm not sure I can help in that case; these are fundamental limitations in Haskell you're bumping into, and freer-simple would have the same problems. Maybe I can add some documentation?

Documentation might be helpful.
I wish I had a clearer picture of my path from where it was compiling with freer-simple and then not with polysemy so I could figure out what else had changed.  There must have been another change that helped the inference along but I can't figure out what it could have been.
And the PartialTypeSignatures solution is not so painful.
Best to leave it at that for now!

Actually come to think of it, maybe I can. I'm planning on releasing a typechecker plugin that can help fill in the "obvious" type parameters in sends. Presumably the plugin could solve this at the same time.

That would be cool!  And helpful. Thanks!

Give this a spin: polysemy-plugin --- it should automatically disambiguate most ambiguous uses of effects, aka dramatically improve type inference.


TypeError: generateLogin is not a function

When following the README<EMAIL_ADDRESS>throws a TypeError.
Your configFile is invalid: /Users/.../.../cypress.config.ts
My cypress.config.ts:
import generateLogin from "@intility/cypress-msal";

let publicClientConfig = {
  auth: {
    clientId: "***",
    authority: "https://login.microsoftonline.com/***",
  },
};

let requests = [
  {
    scopes: ["User.Read"],
  },
];

let login = generateLogin(publicClientConfig, requests);

export default defineConfig({
  reporter: "junit",

  reporterOptions: {
    mochaFile: "reports/cypress.xml",
    toConsole: true,
  },

  component: {
    devServer: {
      framework: "react",
      bundler: "vite",
    },
  },

  e2e: {
    baseUrl: "https://localhost:3000",
    setupNodeEvents(on, config) {
      // `on` is used to hook into various events Cypress emits
      on("task", {
        // register a task named login which calls the generated login from @intility/cypress-msal
        login,
      });
    },
  },
});

...

Hi! This fell through the cracks, sorry. We did some work back in February to ensure this package worked with cypress v10. I'm surprised seeing it at v13 already, and we haven't kept up internally. I will try to see if I can find some time to debug this, but I can't promise anything.
I'm also not sure if this works with the newest versions of @azure/msal-browser, as it relies on some internal stuff that might have changed.
In the meantime if you want to debug further yourself you could try to copy the two files from src/ into your project and see if you get some more info on why it doesn't work.

I just ran into this myself actually. Some weirdness going on with the modules/commonjs and import/require. I had to import it like this to resolve it:
import generateLoginRaw from '@intility/cypress-msal'
import keyVaultCacheRaw from '@intility/msal-keyvault-cache'

const generateLogin =
  'default' in generateLoginRaw &&
  typeof generateLoginRaw?.default === 'function'
    ? generateLoginRaw.default
    : generateLoginRaw

const keyVaultCache =
  'default' in keyVaultCacheRaw &&
  typeof keyVaultCacheRaw?.default === 'function'
    ? keyVaultCacheRaw.default
    : keyVaultCacheRaw

Next time I update this package, I think I will change it to output es modules instead of commonjs. Although that will be a breaking change and I'm not sure when I'll have time to do that.

This doesn't work for me.

This doesn't work for me.
const login =
> 19 |   'default' in generateLoginRaw &&
     |             ^
  20 |   typeof generateLoginRaw?.default === 'function'
  21 |     ? generateLoginRaw.default
  22 |     : generateLoginRaw;
  23 |

TypeError: Cannot use 'in' operator to search for 'default' in undefined

I got same problem , help me pls . I'm gonna be lay-off

I decided not to use library but create test user in AD, and just follow cypress doc about azure login.

I decided not to use library but create test user in AD, and just follow cypress doc about azure login.

you have solution yet ?

I just told you, need me to paste a google search for cypress azure login? Do it yourself.

i did this way but it not solve my problem in project

Since there is an official guide, I'm considering deprecating this package, as we've moved away from cypress. There might be cases with conditional access that wouldn't work though. Those would still would need ROPC flow, or then more preferably, Device Code flow, which this library has been aimed at.
Since I'm not actively in-the-loop of how the newest cypress works, I'd gladly take some help getting this to support the current version(s), if anyone is in need of this. The flow of the package itself is pretty straight forward:

Login in a node env with @azure/msal-node
Extract the cache
Inject the cache in the session or local storage

But how to do each step with cypress seem to change every other week.
They have a sample with ROPC flow and Playwright for reference in the msal repo https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/samples/msal-browser-samples/TestingSample/test/browser-test.spec.ts


Adding usergroup example and usergroups param options

Adding a usergroup example

Need param options for endpoint.

closing in favor of #392


I cant understand the meaning of some labels in the language_original.mat file

The keys are ['img_root',
'nameList',
'engJ',
'header',
'globals',
'cate_new',
'sleeve_',
'codeJ',
'version',
'color_',
'gender_']
what does the following represent - cate_new, and in color which label referers to which color ??

Hello, where did you get the language_original.mat file from?


syzlang: big-endian bitfields

iphdr has an interesting description in https://elixir.bootlin.com/linux/latest/source/include/uapi/linux/ip.h#L86
struct iphdr {
#if defined(__LITTLE_ENDIAN_BITFIELD)
	__u8	ihl:4,
		version:4;
#elif defined (__BIG_ENDIAN_BITFIELD)
	__u8	version:4,
  		ihl:4;

We have it described as:
type ipv4_header[PROTO] {
	ihl		bytesize4[parent, int8:4]
	version		const[4, int8:4]

Endianess makes my head spin... Do we handle it correctly or not? Maybe we already do the right thing... These are bits within a byte, so it's hard to say where they actually are. Also executor is big-endian on a big-endian arch, that may affect things... Do we handle other bitfields (larger than int8 and described without ifdefs) correctly?

@eaibmz do you know anything about this? s390x is the big-endian arch that we have and looking at linux kernel headers, it seems that __LITTLE_ENDIAN_BITFIELD/__BIG_ENDIAN_BITFIELD always matches arch endiness. Do we layout iphdr correctly on s390? Do we layout other bitfields correctly?

I think this explains it very well: http://mjfrazer.org/mjfrazer/bitfields/
What is exactly the problem ?

Can you confirm that we mishandle iphdr on s390x? I would assume we mishandle either iphdr or all other bitfields.
It may be useful to add some sys/test/test/bf* tests for big endian arch.
I see in sys/targets.go we did:
	if OS == "test" {
		if runtime.GOARCH != "s390x" {
			target.LittleEndian = true
		} else {
			target.LittleEndian = false
		}
	}

I wonder if it's possible to turn one of OS=test arches to BigEndian unconditionally. Then we would be able to run -littleendian tests on CI. However... executor binary will behave differently when compiled as bigendian/littleendian... and having little-endian executor with target.LittleEndian=false doesn't really make sense, right? And it won't test what we want to test if I understand correctly.
I mean code like this, these shifts will behave differently on le/be machines:
template <typename T>
void copyin_int(char* addr, uint64 val, uint64 bf, uint64 bf_off, uint64 bf_len)
{
	if (bf_off == 0 && bf_len == 0) {
		*(T*)addr = swap(val, sizeof(T), bf);
		return;
	}
	T x = swap(*(T*)addr, sizeof(T), bf);
	x = (x & ~BITMASK(bf_off, bf_len)) | ((val << bf_off) & BITMASK(bf_off, bf_len));
	*(T*)addr = swap(x, sizeof(T), bf);
}

Hmm, but aren't bitfield tests already running on BE arch:
$ go test -v -short -run=TestSerializeForExec ./prog/
=== RUN   TestSerializeForExecRandom
=== PAUSE TestSerializeForExecRandom
=== RUN   TestSerializeForExec
=== PAUSE TestSerializeForExec
=== CONT  TestSerializeForExecRandom
=== CONT  TestSerializeForExec
=== RUN   TestSerializeForExec/0:test()
=== RUN   TestSerializeForExec/1:test$int(0x1,_0x2,_0x3,_0x4,_0x5)
=== RUN   TestSerializeForExec/2:test$align0(&(0x7f0000000000)={0x1,_0x2,_0x3,_0x4,_0x5})
=== RUN   TestSerializeForExec/3:test$align1(&(0x7f0000000000)={0x1,_0x2,_0x3,_0x4,_0x5})
=== RUN   TestSerializeForExec/4:test$align2(&(0x7f0000000000)={0x42,_{[0x43]},_{[0x44]}})
=== RUN   TestSerializeForExec/5:test$align3(&(0x7f0000000000)={0x42,_{0x43},_{0x44}})
=== RUN   TestSerializeForExec/6:test$align4(&(0x7f0000000000)={{0x42,_0x43},_0x44})
=== RUN   TestSerializeForExec/7:test$align5(&(0x7f0000000000)={{0x42,_[]},_{0x43,_[0x44,_0x45,_0x46]},_0x47})
=== RUN   TestSerializeForExec/8:test$align6(&(0x7f0000000000)={0x42,_[0x43]})
=== RUN   TestSerializeForExec/9:test$union0(&(0x7f0000000000)={0x1,_@f2=0x2})
=== RUN   TestSerializeForExec/10:test$union1(&(0x7f0000000000)={@f1=0x42,_0x43})
=== RUN   TestSerializeForExec/11:test$union2(&(0x7f0000000000)={@f1=0x42,_0x43})
=== RUN   TestSerializeForExec/12:test$array0(&(0x7f0000000000)={0x1,_[@f0=0x2,_@f1=0x3],_0x4})
=== RUN   TestSerializeForExec/13:test$array1(&(0x7f0000000000)={0x42,_"0102030405"})
=== RUN   TestSerializeForExec/14:test$array2(&(0x7f0000000000)={0x42,_"aaaaaaaabbbbbbbbccccccccdddddddd",_0x43})
=== RUN   TestSerializeForExec/15:test$end0(&(0x7f0000000000)={0x42,_0x42,_0x42,_0x42})
=== RUN   TestSerializeForExec/16:test$end1(&(0x7f0000000000)={0xe,_0x42,_0x1})
=== RUN   TestSerializeForExec/17:test$bf0(&(0x7f0000000000)={0x42,_0x42,_0x42,_0x42,_0x42,_0x42,_0x42,_0x42})
=== RUN   TestSerializeForExec/18:test$bf1(&(0x7f0000000000)={{0x42,_0x42,_0x42},_0x42})
=== RUN   TestSerializeForExec/19:test$res1(0xffff)
=== RUN   TestSerializeForExec/20:test$opt3(0x0)
=== RUN   TestSerializeForExec/21:test$opt3(0xffffffffffffffff)
=== RUN   TestSerializeForExec/22:test$opt1(0x0)
=== RUN   TestSerializeForExec/23:test$align7(&(0x7f0000000000)={{0x1,_0x2,_0x3,_0x4,_0x5,_0x6},_0x42})
=== RUN   TestSerializeForExec/24:test$excessive_fields1(0x0)
=== RUN   TestSerializeForExec/25:test$excessive_fields1(0xffffffffffffffff)
=== RUN   TestSerializeForExec/26:test$excessive_fields1(0xfffffffffffffffe)
=== RUN   TestSerializeForExec/27:test$csum_ipv4_tcp(&(0x7f0000000000)={{0x0,_0x1,_0x2},_{{0x0},_"ab"}})
--- PASS: TestSerializeForExec (0.01s)
    --- PASS: TestSerializeForExec/0:test() (0.00s)
    --- PASS: TestSerializeForExec/1:test$int(0x1,_0x2,_0x3,_0x4,_0x5) (0.00s)
    --- PASS: TestSerializeForExec/2:test$align0(&(0x7f0000000000)={0x1,_0x2,_0x3,_0x4,_0x5}) (0.00s)
    --- PASS: TestSerializeForExec/3:test$align1(&(0x7f0000000000)={0x1,_0x2,_0x3,_0x4,_0x5}) (0.00s)
    --- PASS: TestSerializeForExec/4:test$align2(&(0x7f0000000000)={0x42,_{[0x43]},_{[0x44]}}) (0.00s)
    --- PASS: TestSerializeForExec/5:test$align3(&(0x7f0000000000)={0x42,_{0x43},_{0x44}}) (0.00s)
    --- PASS: TestSerializeForExec/6:test$align4(&(0x7f0000000000)={{0x42,_0x43},_0x44}) (0.00s)
    --- PASS: TestSerializeForExec/7:test$align5(&(0x7f0000000000)={{0x42,_[]},_{0x43,_[0x44,_0x45,_0x46]},_0x47}) (0.00s)
    --- PASS: TestSerializeForExec/8:test$align6(&(0x7f0000000000)={0x42,_[0x43]}) (0.00s)
    --- PASS: TestSerializeForExec/9:test$union0(&(0x7f0000000000)={0x1,_@f2=0x2}) (0.00s)
    --- PASS: TestSerializeForExec/10:test$union1(&(0x7f0000000000)={@f1=0x42,_0x43}) (0.00s)
    --- PASS: TestSerializeForExec/11:test$union2(&(0x7f0000000000)={@f1=0x42,_0x43}) (0.00s)
    --- PASS: TestSerializeForExec/12:test$array0(&(0x7f0000000000)={0x1,_[@f0=0x2,_@f1=0x3],_0x4}) (0.00s)
    --- PASS: TestSerializeForExec/13:test$array1(&(0x7f0000000000)={0x42,_"0102030405"}) (0.00s)
    --- PASS: TestSerializeForExec/14:test$array2(&(0x7f0000000000)={0x42,_"aaaaaaaabbbbbbbbccccccccdddddddd",_0x43}) (0.00s)
    --- PASS: TestSerializeForExec/15:test$end0(&(0x7f0000000000)={0x42,_0x42,_0x42,_0x42}) (0.00s)
    --- PASS: TestSerializeForExec/16:test$end1(&(0x7f0000000000)={0xe,_0x42,_0x1}) (0.00s)
    --- PASS: TestSerializeForExec/17:test$bf0(&(0x7f0000000000)={0x42,_0x42,_0x42,_0x42,_0x42,_0x42,_0x42,_0x42}) (0.00s)
    --- PASS: TestSerializeForExec/18:test$bf1(&(0x7f0000000000)={{0x42,_0x42,_0x42},_0x42}) (0.00s)
    --- PASS: TestSerializeForExec/19:test$res1(0xffff) (0.00s)
    --- PASS: TestSerializeForExec/20:test$opt3(0x0) (0.00s)
    --- PASS: TestSerializeForExec/21:test$opt3(0xffffffffffffffff) (0.00s)
    --- PASS: TestSerializeForExec/22:test$opt1(0x0) (0.00s)
    --- PASS: TestSerializeForExec/23:test$align7(&(0x7f0000000000)={{0x1,_0x2,_0x3,_0x4,_0x5,_0x6},_0x42}) (0.00s)
    --- PASS: TestSerializeForExec/24:test$excessive_fields1(0x0) (0.00s)
    --- PASS: TestSerializeForExec/25:test$excessive_fields1(0xffffffffffffffff) (0.00s)
    --- PASS: TestSerializeForExec/26:test$excessive_fields1(0xfffffffffffffffe) (0.00s)
    --- PASS: TestSerializeForExec/27:test$csum_ipv4_tcp(&(0x7f0000000000)={{0x0,_0x1,_0x2},_{{0x0},_"ab"}}) (0.00s)
    TestSerializeForExecRandom: export_test.go:31: seed=1593694049656226102
--- PASS: TestSerializeForExecRandom (0.86s)
PASS
ok      github.com/google/syzkaller/prog        0.882s

Executed on IBM/Z hardware.

These prog package tests only verify intermediate representation passed to executor. They don't/can't test how executor will layout these in memory. E.g:
			"test$bf0(&(0x7f0000000000)={0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42})",
			[]uint64{
				execInstrCopyin, dataOffset + 0, execArgConst, 2 | 0<<16 | 10<<24, 0x42,
				execInstrCopyin, dataOffset + 8, execArgConst, 8, 0x42,
				execInstrCopyin, dataOffset + 16, execArgConst, 2 | 0<<16 | 5<<24, 0x42,
				execInstrCopyin, dataOffset + 16, execArgConst, 2 | 5<<16 | 6<<24, 0x42,
				execInstrCopyin, dataOffset + 16, execArgConst, 4 | 11<<16 | 15<<24, 0x42,
				execInstrCopyin, dataOffset + 20, execArgConst, 2 | 0<<16 | 11<<24, 0x42,
				execInstrCopyin, dataOffset + 22, execArgConst, 2 | 1<<8 | 0<<16 | 11<<24, 0x42,
				execInstrCopyin, dataOffset + 24, execArgConst, 1, 0x42,
				callID("test$bf0"), ExecNoCopyout, 1, execArgConst, ptrSize, dataOffset,
				execInstrEOF,
			},

sys/test/test/bf* tests do, but these are disabled on big endian arches.

Ok, let me add the test for BE also, disabling shall have been a temporary fix anyways.

Note for me
Run tests with: go test -v -short ./pkg/runtest

My head explodes, now i know why i prefer working on big-endian. Need more time to get familiar with that.

Confirmed, bit bitfields are broken on big endian.
This fails:
# 32_shmem has 4-byte alignment for int64 and everything goes havoc.
# requires: -arch=32_shmem -littleendian

syz_compare(&AUTO="123456bcdef789a0", 0x8, &AUTO=@bf2={0x1, 0x23, 0x456, 0xbcdef, 0x789a}, AUTO)

Is pkg/compiler/gen.go: layoutStructFields the right place to check for this ?

Suggestion:
diff --git a/pkg/compiler/gen.go b/pkg/compiler/gen.go
index a8619086..232b13b1 100644
--- a/pkg/compiler/gen.go
+++ b/pkg/compiler/gen.go
@@ -321,7 +321,11 @@ func (comp *compiler) layoutStructFields(t *prog.StructType, varlen, packed bool
                                fullBitOffset, bitOffset = fieldOffset*8, 0
                        }
                        fieldBitOffset := (fullBitOffset - fieldOffset*8) % unitBits
-                       setBitfieldOffset(f, fieldBitOffset)
+                       if comp.target.LittleEndian {
+                               setBitfieldOffset(f, fieldBitOffset)
+                       } else {
+                               setBitfieldOffset(f, unitBits - fieldBitOffset - f.BitfieldLength())
+                       }
                } else {
                        fieldOffset = roundup(roundup(fullBitOffset, 8)/8, fieldAlign)
                        bitOffset = 0

BTW, i did not forget to investigate running of CI tests with qemu-s390x, it indeed works :smirk: thanks to Go's statical linking

Is pkg/compiler/gen.go: layoutStructFields the right place to check for this ?

Most likely yes.
I think what's computed by layoutStructFields will be passed to executor to do actual layout.
executor's copyin_int may need some adjustment as well. Or maybe not.
But maybe it's possible to change only copyin_int? Hard to say without prototyping.
But if you change copyin_int, then potentially you also need to change pkg/csource and how it uses BITMASK macro.

To me it seems to assume little-endiannes of the target arch.

Yes. Previously everything assumed le. It was hard enough to get bitfields properly just for le:
https://twitter.com/dvyukov/status/1204820080346980352
https://twitter.com/dvyukov/status/1207978335294373890
Bitfields are insanity.

If this is OK, then i'll make a proper pull request with additional test files

It's OK if all existing tests pass and your additional tests pass ;)
I tried to carefully capture every single corner cases I could think of:
https://github.com/google/syzkaller/blob/master/sys/test/test/bf2

I'm trying to fix copyin_int and getting this debug output:
Test:
syz_compare(&AUTO="eac0000000000000cdcdcdcdcdcdcdcd5fe00000fffe000075606075aa", 0x20, &AUTO=@bf0={0xabab, 0x    cdcdcdcdcdcdcdcd, 0xabab, 0xffff, 0xffffff, 0xabab, 0xabab, 0xaaa}, AUTO)
Struct:
syz_bf_struct0 {
	f0	flags[syz_bf_flags, int16:10]
	f1	int64
	f2	const[0x2, int16:5]
	f3	int16:6
	f4	const[0x42, int32:15]
	f5	len[parent, int16:11]
	f6	len[parent, int16be:11]
	f7	int8
}

copyin: addr=0x20000080 val=0xabab size=2 bf=0 bf_off=0 bf_len=10
copyin_int<2>: old x=0x0
copyin_int<2>: new x=0xeac0
copyin: addr=0x20000088 val=0xcdcdcdcdcdcdcdcd size=8 bf=0 bf_off=0 bf_len=0
copyin: addr=0x20000090 val=0xabab size=2 bf=0 bf_off=0 bf_len=5
copyin_int<2>: old x=0x0
copyin_int<2>: new x=0x5800
copyin: addr=0x20000090 val=0xffff size=2 bf=0 bf_off=5 bf_len=6
copyin_int<2>: old x=0x5800
copyin_int<2>: new x=0x5fe0
copyin: addr=0x20000090 val=0xffffff size=4 bf=0 bf_off=11 bf_len=15
copyin_int<4>: old x=0x5fe00000
copyin_int<4>: new x=0x5fffffc0
copyin: addr=0x20000094 val=0xabab size=2 bf=0 bf_off=0 bf_len=11
copyin_int<2>: old x=0x0
copyin_int<2>: new x=0x7560
copyin: addr=0x20000096 val=0xabab size=2 bf=1 bf_off=0 bf_len=11
copyin_int<2>: old x=0x0
copyin_int<2>: new x=0x7560
copyin: addr=0x20000098 val=0xaaa size=1 bf=0 bf_off=0 bf_len=0
#0 [0ms] -> syz_compare(0x20000040, 0x20, 0x20000080, 0x20)
syz_compare: want (32):
ea c0 00 00 00 00 00 00 cd cd cd cd cd cd cd cd
5f e0 00 00 ff fe 00 00 75 60 60 75 aa 00 00 00
got (32):
ea c0 00 00 00 00 00 00 cd cd cd cd cd cd cd cd
5f ff ff c0 75 60 75 60 aa 00 00 00 00 00 00 00

Question: why  is f4 stored to the same address as f3 & f3 ?

See the links here for "Bitfields are insanity" ;)
https://github.com/google/syzkaller/issues/1885#issuecomment-653652871
The code works the way it works to satisfy all crazy bitfield layout rules. If you can provide an example where the resulting layout is incorrect, or you can simplify layout code without breaking tests, that's welcome, though.

Ok, got it, thanks.
I checked the C spec, it says everything is implementation-defined. Argh, why the create a spec if everything is implementation-defined :disappointed:

I do not have answer to this question...
Now I wonder if we actually do the right things for arm/arm64/ppc/etc b/c only checked against amd64...

Can you confirm that we mishandle iphdr on s390x? I would assume we mishandle either iphdr or all other bitfields.
It may be useful to add some sys/test/test/bf* tests for big endian arch.
I see in sys/targets.go we did:
	if OS == "test" {
		if runtime.GOARCH != "s390x" {
			target.LittleEndian = true
		} else {
			target.LittleEndian = false
		}
	}

I wonder if it's possible to turn one of OS=test arches to BigEndian unconditionally. Then we would be able to run -littleendian tests on CI. However... executor binary will behave differently when compiled as bigendian/littleendian... and having little-endian executor with target.LittleEndian=false doesn't really make sense, right? And it won't test what we want to test if I understand correctly.

Hmm, in that case at least we need to make IPC communication architecture-independent, e.g. everything shall be sent in little-endian and then the receiver converts everything to native byte-order.

Hmm, in that case at least we need to make IPC communication architecture-independent, e.g. everything shall be sent in little-endian and then the receiver converts everything to native byte-order.

Right.
Another option may be to write programs in native for the target endianness as we do now.
But then executor knows but the assume target endianness and it's actual endianness, and if they are different, it could swap itself. E.g. if we make test/64 big-endian, but run it on amd64 which is little-endian, then executor will figure this condition out and the swap. However, the downside that this code path will be invoked only in tests, and the tests won't actually test production code paths...
Additional complication is that at some point we may start generating the serialized program on the host, which may be different endianness than target (executor). Then we won't be able to simply assume that the current native endianness is the target (executor) native endianness.
Maybe in the longer run we figure out and setup testing in qemu...


feat: add services and middleware

Signed-off-by: SiddheshKanawade<EMAIL_ADDRESS>

@hsluoyz @hackerchai please review


Remove file_path and FilePath.PathType

Creating file_path structs wasn't free, and in the end we don't need to pre-determine the type before generator processes them.
createFilesAndGroups has gotten pretty ugly after this. I have plans to clean it up a lot when I change the algorithm to support Swift Concurrency.

Looks to be a slight net win in when doing a clean (i.e. non-analysis cached) project generation. I like this change, but I'll wait to merge it until I'm ready with the createFilesAndGroups change which will make this a much better win.

Since this has a big memory win as well, and we cut the 1.4.0 release, I'll merge this now (after approvals), and dedicate to getting the createFilesAndGroups change in before 1.5.0.


Avoid returning null from debugDescribeChildren

In some cases, the element tree is not clean but we are required to dump the tree anyway.
To avoid crashing in those cases, we return an explicit null node.

Maybe add a test that verifies that null Children are returned as <null child>?

Done.

Will land on green unless I hear otherwise.

lgtm


Fix array bounds violation in ssl_session_dup

This should fix the travis failures.

I wonder if we should always run at least one asan configuration.
That can't be too expensive?

Trouble is that there is no right answer to this kind of questions. For example why just asan? Even judging from this case, it addresses msan problem, right? Idea behind division to "base" and "extended" tests was to ensure reasonable turnaround in case of requests' and adjustments' bursts, yet with some configuration diversity to catch most obvious errors...

Actually using ASAN is sufficient to check this kind of error.
Maybe the used compiler versions are still too old?
At least in this case it was a latent bug that was triggered by the following commit:
commit 36ff232cf2bf5dfcaf9e60a8c492439428a243bb
Author: Matt Caswell<EMAIL_ADDRESS>Date:   Wed Mar 14 19:22:48 2018 +0000

    Change the default number of NewSessionTickets we send to 2

    Reviewed-by: Viktor Dukhovni<EMAIL_ADDRESS>    Reviewed-by: Rich Salz<EMAIL_ADDRESS>    (Merged from https://github.com/openssl/openssl/pull/5227)

And using a recent gcc, the following
command was sufficient to pin-point the commit:
git bisect run sh -c "make distclean ; ./config enable-asan && make -j4 && make test TESTS=70"

The problem is that successful completion of travis in the PRs encourages the
committer to apply the patch.

Actually using ASAN is sufficient to check this kind of error ... using a recent gcc,

But on travis is was msan...

But on travis is was msan...

Yes, but that just proves that we should use more recent gcc versions and asan.

maybe open an issue to catch the build/asan issue?

Merged.  Thanks!


Statically linking readline fails

Issue description
Statically linking a binary with static readline library fails: undefined reference to 'readline' with LDFLAGS=-static -lreadline.
Steps to reproduce
shell.nix:
with import <nixpkgs> {};
let
  static = makeStaticLibraries stdenv;
  readline = pkgs.readline.override { stdenv = static; };
in
stdenv.mkDerivation {
  name = "project";
  hardeningDisable = [ "all" ];
  buildInputs = [ glibc.static readline ];
}

main.c:
#include <stdlib.h>
#include <stdio.h>
#include <readline/readline.h>

int main(int argc, char *argv[])
{
	char *line = NULL;
	line = readline("");
	free(line);
	return EXIT_SUCCESS;
}

nix-shell
gcc -static -lreadline main.c
/run/user/1000/ccKRapZ8.o: In function `main':
main.c:(.text+0x1d): undefined reference to `readline'
collect2: error: ld returned 1 exit status

Technical details

System: NixOS: 17.03.1051.090ffd5fab (Gorilla)
Nix version: nix-env (Nix) 1.11.8
Nixpkgs version: 17.03.1051.090ffd5fa

gcc is very sensitive to the order of libraries and .o files
gcc -static main.c -lreadline  gives a very different error, i think its missing ncurses

Yeah, the order matters as @cleverca22 mentions, but you also need to link against the entire static dependency closure of the application you're compiling. Dependencies can be resolved automatically for dynamic libraries, because they include references to the libraries that they in turn require, while static libraries do not.

Yes thanks. From gcc's man page:

It makes a difference where in the command you write this option; the linker searches and processes libraries and object files in the order they are specified.  Thus, foo.o -lz bar.o searches library z after file foo.o but before bar.o.  If bar.o refers to functions in z, those functions may not be loaded.

It has been a nightmare to compile with readline statically.

To compile readline statically nowadays you need to do:
$ nix-shell -p pkgsStatic.readline pkgsStatic.musl

$ gcc -static main.c `pkg-config --static --libs readline`

Using glibc.static fails with undefined reference errors but pkgsStatic.musl works. Also note the order of the source file (main.c), it needs to be first. Putting it at the end of the command will fail with undefined reference  (which is very unintuitive).


Why did you use INorthwindDbContext which strong dependence on ef core?

I don't think interfaces should depend on concrete implementations.
We can use the interfaces like repository for every domain object or any entity store component without any orm dependency.

read this a few hours ago and I see both sides. The original author talks about this here . regarding not using repositories.
in short, what I understand is yes the core of the project is dependent on EF core. but not any particular database.
Yes, I'm with you the core of the project should not have a reference to an ORM.  Or Any Persistence Technology Right? The Core of the Project should be aware that a Persistence is happening but not how. I would even go so far a to say the core of the project should not even be aware of the concept of databases.
Now with this being said what is the damage. Can you switch to a different database Yes if it is a database that works with efCore the just switch it out,  and if it does not work with Ef core then that can also be oK also because DB set is fully virtual and you can just overwrite the Methods of dbSet?
may the fix should be a CQCS split the reads and the writes. and have the core of the project call something other than a database.

@ElderJames - I also don't like this weird interface. But here it's all about simplicity as he said many times. Just to show how this approach can help in a long term. In my own project I have repos instead of IContext. Here it really doesn't matter.

I think @lukehammer and @rafalschmidt97 covered it well. Thanks!


[Submission]: Quantum-enhanced variational autoencoder

Github repo
https://github.com/Anantha-Rao12/Quantum-enhanced-variational-autoencoder
Description

This is a submission for the Qiskit Ecosystem.
The project is the source code for building and running a hybrid quantum-classical neural network for generative modeling.
The code is a qiskit implementation of a quantum-enhanced variational autoencoder (QeVAE).
The project is based on the research paper "Learning hard distributions with quantum-enhanced Variational Autoencoders" by Rao et al. (https://arxiv.org/abs/2305.01592).

Email
<EMAIL_ADDRESS>Alternatives
There are no alternatives to the project!
License
Apache License 2.0
Affiliations
Indian Institute of Science Education and Research
IBM Research India
Tags
paper implementation

See #436


raftclient: add test case for server reconnection (#5030)

cherry pick #5030

It is hard to sign-off my commits, I try......

/tests

/rull-all-tests

/run-all-tests

/run-all-tests

/run-all-tests， thanks

PTAL @hunterlxt thanks!

LGTM

/run-integration-tests

/run-all-tests

/run-all-tests


Fix WeightScaleFeature initializer

Fix WeightScaleFeature initializer
:recycle: Current situation & Problem
The convenience initializer for the WeightScaleFeature initializer where both weight and height resolutions were not properly set. Unit tests didn't properly test for that case.
This was fixed in this PR.
:gear: Release Notes

Made height resolution optional as it might not be supported at all.
Fixed functionality of WeightScaleFeature initializer and added unit tests

:books: Documentation
--
:white_check_mark: Testing
Regression tests were added.
:pencil: Code of Conduct & Contributing Guidelines
By submitting creating this pull request, you agree to follow our Code of Conduct and Contributing Guidelines:

[x] I agree to follow the Code of Conduct and Contributing Guidelines.

Thank you @Supereg!


the de-reverb does not work.

in All in One Inference by SociallyIneptWeeb
the de-reverb does not work, the voice still with reverb so the output not good.

Then just turn it off.

Then just turn it off.  Also, I think -60 is good enough, too much might error'ed out the code.

thanks, but not working with me, I tried -60, -999

Can you give me your song?
Also, can you try messing with the Reverb Control settings to see if it works?

thanks, but not working with me, I tried -60, -999

Can you give me your song? Also, can you try messing with the Reverb Control settings to see if it works?

thanks, but not working with me, I tried -60, -999

voice : https://youtu.be/31kElE83sCU?si=EKnRqK5BJGoGm0x4
modal : https://drive.usercontent.google.com/download?id=1IyMdatoJbZKzxTDIFQo7IWK9iWokSYiM&export=download&authuser=2&confirm=t&uuid=14925b56-02a4-4624-a0e9-c784f0ab6045&at=APZUnTV4h6pZUchgQpQXyWAKdqYr:1695316131825
Please help me with the best possible settings

Hey, I'm here, still messing with the value. I'm going to send and edit all changes to all variable that I have tried here.

index_rate = 1 | Failed
reverb_size = 0, reverb_wetness = 0 | Failed
remix_mix_rate = 1 | Failed
backup_vol = -60, reverb_dryness = 1 (as solution on AICoverGen issue) | Failed
reverb_damping = 1 | Failed
Looks like it is. It could be because of the song itself or the DeReverb. Because the SociallyIneptWeeb repo includes DeReverb for song smoothness and it's mainly for music to voice conversion.

You should use a male voice model for a male song, female voice model for a female song, since it could match each other sometimes. Try looking up cover version for your song.
You can also use Mangio-RVC-Fork (use your PC) or Retrieval-based-Voice-Conversion-WebUI (use Colab, but the notebook is in Chinese) if you wish.
Make sure to close this issue when you are done.

the voice for male and the model for male

This repo is mostly for music cover, not really for voice only.
Both your sample only contain voice, and that is why the audio sometime feels weird.
Please try out the repo that I have mentioned.
Also, what is that first sample video (https://youtu.be/31kElE83sCU?si=EKnRqK5BJGoGm0x4), looks like it's your country tradition of something? I've seen it on TikTok but I have no idea what is that called.

Hey, I'm here, still messing with the value. I'm going to send and edit all changes to all variable that I have tried here.

index_rate = 1 | Failed
reverb_size = 0, reverb_wetness = 0 | Failed
remix_mix_rate = 1 | Failed
backup_vol = -60, reverb_dryness = 1 (as solution on AICoverGen issue) | Failed
reverb_damping = 1 | Failed
Looks like it is. It could be because of the song itself or the DeReverb. Because the SociallyIneptWeeb repo includes DeReverb for song smoothness and it's mainly for music to voice conversion.

You should use a male voice model for a male song, female voice model for a female song, since it could match each other sometimes. Try looking up cover version for your song.
You can also use Mangio-RVC-Fork (use your PC) or Retrieval-based-Voice-Conversion-WebUI (use Colab, but the notebook is in Chinese) if you wish.
Make sure to close this issue when you are done.

the voice for male and the model for male

This repo is mostly for music cover, not really for voice only. Both your sample only contain voice, and that is why the audio sometime feels weird. Please try out the repo that I have mentioned.
Also, what is that first sample video (https://youtu.be/31kElE83sCU?si=EKnRqK5BJGoGm0x4), looks like it's your country tradition of something? I've seen it on TikTok but I have no idea what is that called.

He reads the Qur’an, “the Book of God revealed to the people,” and this records from Muslim prayers

@MinatoIsuki
how can I contact you?

@MinatoIsuki how can I contact you?
How about Discord? Also, why?

@MinatoIsuki
how to use UVR-DeEcho-DeReverb instead of Reverb_HQ_By_FoxJoy.onnx ?
https://huggingface.co/seanghay/uvr_models/blob/main/UVR-DeEcho-DeReverb.pth

@MinatoIsuki
how to use UVR-DeEcho-DeReverb instead of Reverb_HQ_By_FoxJoy.onnx ?
https://huggingface.co/seanghay/uvr_models/blob/main/UVR-DeEcho-DeReverb.pth

I'm seeing some compatibility issue here. I don't really think you can use pth for onnx.
Also, please contact SociallyIneptWeeb as his/her repo is the one that Ardha uses.
https://github.com/SociallyIneptWeeb/AICoverGen


Makefile documentation

What this PR does?

This PR contains the documentation for the Make files and scripts
Removed commented code for cleanup.

Issues numbers
#13
#12

@bradfordcp can you file an issue? I am going to merge this


[top_darjeeling/rv_dm] Convert next_dm parameter to a static signal

Converting the next_dm value to a static signal so that it can be assigned using straps/tie-offs in a chiplet setting.

CHANGE AUTHORIZED: hw/vendor/pulp_riscv_dbg/src/dm_csrs.sv
CHANGE AUTHORIZED: hw/vendor/pulp_riscv_dbg/src/dm_top.sv

CHANGE AUTHORIZED: hw/vendor/pulp_riscv_dbg/src/dm_csrs.sv
CHANGE AUTHORIZED: hw/vendor/pulp_riscv_dbg/src/dm_top.sv


Fix domains

Closes #6401
Closes #6423
Checklist:

[ ] Updated extVersionCode value in build.gradle for individual extensions
[x] Updated overrideVersionCode or baseVersionCode as needed for all multisrc extensions
[x] Referenced all related issues in the PR body (e.g. "Closes #xyz")
[ ] Added the isNsfw = true flag in build.gradle when appropriate
[x] Have not changed source names
[ ] Have explicitly kept the id if a source's name or language were changed
[x] Have tested the modifications by compiling and running the extension through Android Studio
[ ] Have removed web_hi_res_512.png when adding a new extension

Poderia conserta esse também #6034
O novo url é esse : https://new.sussytoons.site/

Por favor


Not seeing a link to BibXML / JSON output on the "get-one" pages

Maybe there should be a link somewhere on the page?

@ronaldtse This is by design, see https://github.com/ietf-ribose/bibxml-service/issues/62#issuecomment-1030058814. These links will not work for users, because those links point to API endpoints, which require Datatracker tokens.

@ronaldtse, @strogonoff
This is not a good outcome - please reopen this ticket.
The comment on #62 is almost inscrutable - I think you're referring to the links to the formatted documents themselves? That's fine, but it has nothing to do with this comment.
The webservice can have its own access to the API and should make bibxml available to people, through the legacy URLs if nothing else.
A bibxml UI that doesn't make bibxml available is really puzzling.

Could someone outline where XML links fit in author’s workflow? That’d help bring them back with correct design/placement.
From what I was told earlier, XML was going to be accessed by authors only indirectly, via CLI tools that talk to BibXML service via API. I’ve added XML/JSON links as a sort of debugging measure, but now that they’re gone there seems to be an actual use case for them.

Some authors will assemble references, particularly to very old or to external SDO things, manually.

Understood, then I assume they would download the file, hand-edit and pass the result to the next tool (CLI or otherwise).
I suspect the service could help authors make quick routine adjustments of this nature via GUI prior to download (and the service could also make use of the edits, e.g. suggest other authors, augment data source, etc.), though this would need more research than time currently allows…

I actually failed to realise the issue that @strogonoff pointed out in https://github.com/ietf-ribose/bibxml-service/issues/113#issuecomment-1031858970 -- if in the future, usage of the Datatracker token is required (for tracking usage purposes at least), then the public BibXML links as we have today may not make sense.
I believe the correct outcome for now is to:

make those links available on the GUI (for the public without a datatracker token but just want to manually retrieve and assemble)
make legacy links available on the GUI (for the public who uses legacy paths)
do not mandate a token for the API (the token is already optional)

@rjsparks is this accurate?

@ronaldtse note that if those links work in GUI without auth, then they will de fact become auth-less API.
However, if Datatracker OIDC integration works out of the box, then it is very little effort to add different but equivalently-behaving links that rely on OAuth2.

I think Anton is on the right track

XML & JSON download links are now shown to users who are authenticated via Datatracker.
They still use API endpoints. This was done by extending API authentication to recognize OAuth access token in session (however, if access token turns out to be expired, downloaded file will contain an error message—this can be fixed as #118 eventually).


black screen in quest 2

Description
steamvr is running without issues but i have a black screen in my headset and steam saying i might need to update gpu drivers, also have this command in steamvr command line  WAYLAND_DISPLAY='' __GLX_VENDOR_LIBRARY_NAME=nvidia __NV_PRIME_RENDER_OFFLOAD=1 __VK_LAYER_NV_optimus=NVIDIA_only VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nvidia_icd.json ~/.local/share/Steam/steamapps/common/SteamVR/bin/vrmonitor.sh %command%
CPU: Intel Core i5-10500H
GPU: GTX 1650
GPU Driver Version: 550.107.02
Audio: Pipewire
Installation
ALVR Version: v20.11.1
ALVR Settings File:
SteamVR Version: 2.7.4
Install Type: Flatpak
OS Name and Version: Ubuntu 24.04.1

same problem

See the error displayed by SteamVR. If SteamVR doesn't even show anything in the preview window, then the issue is on the SteamVR side, not alvr. Also your gpu seems rather old for vr in general.

same problem. I cannot solve it!

I have very similar issue

See the error displayed by SteamVR. If SteamVR doesn't even show anything in the preview window, then the issue is on the SteamVR side, not alvr. Also your gpu seems rather old for vr in general.

I doubt that a GPU that, at least in my experience on Windows with Steam Link, can render Half-life Alyx without problems, may be considered "old for vr"

same here i keep getting os error 11 and error 32 in logs

In windows OS, it is easy to connect steamvr, the streaming is also easy through alvr. But it n ubuntu, its hardwork.

after reading linux_troubleshooting, I add command into SteamVR, the streaming became unstable.

also using nvidia prime render offload and had a few issues getting up and running. here's the full launch options i ended up using: VK_ICD_FILENAMES="/usr/share/vulkan/icd.d/nvidia_icd.json" prime-run gamemoderun ~/.local/share/Steam/steamapps/common/SteamVR/bin/vrmonitor.sh %command%
also go into settings > video and force software encoding
if you're wondering about prime-run it's provided by this arch package if you're not on arch it's just a bash script (OP seems to have already added these options):
#!/bin/bash
__NV_PRIME_RENDER_OFFLOAD=1 __VK_LAYER_NV_optimus=NVIDIA_only __GLX_VENDOR_LIBRARY_NAME=nvidia "$@"

also im on a newer driver 565.57.01 so maybe that plays a part if you still can't get it working in ubuntu

i use steamdeck to run steam vr and get the same black screen on my quest3.  Steamvr run perfectly on deck but still got black screen on quest
Check out the very first entry https://github.com/alvr-org/ALVR/wiki/Linux-troubleshooting


Changes the thanks command so that "thank you" also triggers the command.

Really simple changes actually

Nice fix!


I wasn't good at jokes after all

Hey guys, what do you think? I made a joke in vitsi3.txt.

Hey, all ok. Please merge main.


Tab Switcher occasionally stops updating tab order properly

I do not know how to get terminal into this state, but I know that I cannot get it out of this state.
When I am using MRU switching, I occasionally get into a "switcher hole" where it puts the tabs in the wrong order with the current tab being selected as the next tab. Result: my switcher takes me to the current tab.

current tab (0) is the 2nd tab (1) and is selected by a basic switch operation

When I switch to inOrder switching, the list does not update from MRU order (!) during hot reload, so I can't test it out.
When I open the tab search it remains in MRU order.

Adding tabs doesn't seem to break or fix this; they just get added.
This could be a conflict between @zadjii-msft and @Don-Vito's recent work in this area.
Something is unusual with the 0th tab.
Marking blocking because I managed to trivially run into it three times today.

@DHowett - I am taking a look. I believe this is really somewhere in the integration you mentioned. Sorry.

I believe I found it: I introduced a bug where tabs in palette are also sorted by name. I guess performing tests where all tabs have the same name was a bad idea.

No need to apologize! These things happen all the time :smile:

(I've introduced more regressions than I'm entitled to! I personally broke defaultProfile for two whole releases before we realized it. That was a fun one!)

Mine was very basic.. 😿  I added a UT for it, and I would like to add much more tests. But my main gap / concern is that adding more tests will result in even more CI instability. There is a lot of async logic when testing UI, I've seen some attempts to handle this with Sleeps, but this sounds not robust enough.


zip action with 'include' option runs at wrong level, produces empty archive

New Issue Checklist

[x] Updated fastlane to the latest version
[x] I read the Contribution Guidelines
[x] I read docs.fastlane.tools
[x] I searched for existing GitHub issues

Issue Description
The 'zip' action does not behave as expected when given specific files to zip.
This was previously reported by another reporter at https://github.com/fastlane/fastlane/issues/20219 but they did not follow up.
Command executed
In ProjectName/fastlane/Fastfile:
default_platform(:android)

platform :android do

    lane :quickFastlaneTest do
        zipList = ["x.txt", "y.txt"]
        zip(
            path: ".",
            output_path: "test.zip",
            include: zipList
        )
    end
end

Then, from ProjectName, run this command sequence:
pwd
echo "Hello X" > x.txt
echo "Hello Y" > y.txt
bundle exec fastlane quickFastlaneTest
zipinfo test.zip

pwd outputs /Users/Username/ProjectName
Partially redacted Fastlane output is:
[✔] 🚀
[10:33:55]: ------------------------------
[10:33:55]: --- Step: default_platform ---
[10:33:55]: ------------------------------
[10:33:55]: Driving the lane 'android quickFastlaneTest' 🚀
[10:33:55]: -----------------
[10:33:55]: --- Step: zip ---
[10:33:55]: -----------------
[10:33:55]: Compressing ....
[10:33:55]: $ zip -r /Users/Username/ProjectName/test.zip . -i ./x.txt ./y.txt
[10:34:09]: ▸ Scanning files ..
[10:34:09]: ▸ zip warning: name not matched: [file in directory outside project, i.e. /Users/Username/SomewhereElse]
[10:34:10]: ▸ . zip warning: zip file empty
[10:34:10]: Successfully generated zip file at path '/Users/Username/ProjectName/test.zip'

Expected result: The zip file contains x.txt and y.txt.
Actual result: The zip file is created but empty. The command takes a long time to execute and warnings indicate it's operating at the wrong level.
Correcting for this prediction, if I alter the include path to include the project name:
        zipList = ["ProjectName/x.txt", "ProjectName/y.txt"]

then this works:
[✔] 🚀
[10:44:32]: ------------------------------
[10:44:32]: --- Step: default_platform ---
[10:44:32]: ------------------------------
[10:44:32]: Driving the lane 'android quickFastlaneTest' 🚀
[10:44:32]: -----------------
[10:44:32]: --- Step: zip ---
[10:44:32]: -----------------
[10:44:32]: Compressing ....
[10:44:32]: $ zip -r /Users/pridhr01/StudioProjects/ProjectName/test.zip . -i ./ProjectName/x.txt ./ProjectName/y.txt
[10:44:46]: ▸ Scanning files ..
[10:44:46]: ▸ zip warning: name not matched: [redacted]
[10:44:47]: ▸ .  adding: ProjectName/x.txt (stored 0%)
[10:44:47]: ▸ .  adding: ProjectName/y.txt (stored 0%)
[10:44:47]: Successfully generated zip file at path '/Users/Username/ProjectName/test.zip'

To be clear, I should not have to do this. If it was absolutely necessary, then I would expect the output file to need the same approach. This current behaviour is confusing.
For the time being, my preferred workaround is to use sh instead of this action:
    zipList = ["x.txt", "y.txt"]
    Dir.chdir("..") do
        sh("zip", "-r", "test.zip", *zipList) #unpack array into varargs
    end

Environment

🚫 fastlane environment 🚫
Stack

Key
Value

OS
13.4.1

Ruby
3.1.4

Bundler?
true

Git
git version 2.33.0

Installation Source
~/.rbenv/versions/3.1.4/bin/fastlane

Host
macOS 13.4.1 (22F82)

Ruby Lib Dir
~/.rbenv/versions/3.1.4/lib

OpenSSL Version
OpenSSL 3.1.0 14 Mar 2023

Is contained
false

Is homebrew
false

Is installed via Fabric.app
false

Xcode Path
/Library/Developer/CommandLineTools/

Xcode Version

Swift Version
5.8.1

System Locale

Error

No Locale with UTF8 found 🚫

fastlane files:
`./fastlane/Fastfile`
default_platform(:android)

platform :android do

    lane :quickFastlaneTest do
        zipList = ["x.txt", "y.txt"]
        zip(
            path: ".",
            output_path: "test.zip",
            include: zipList
        )
    end
end

No Appfile found
fastlane gems

Gem
Version
Update-Status

fastlane
2.214.0
✅ Up-To-Date

Loaded fastlane plugins:
No plugins Loaded
Loaded gems

Gem
Version

error_highlight
0.3.0

did_you_mean
1.6.1

bundler
2.3.26

pathname
0.2.0

rake
13.0.6

rexml
3.2.6

CFPropertyList
3.0.6

public_suffix
5.0.3

addressable
2.8.4

artifactory
3.0.15

atomos
0.1.3

aws-eventstream
1.2.0

aws-partitions
1.795.0

aws-sigv4
1.6.0

jmespath
1.6.2

aws-sdk-core
3.180.1

aws-sdk-kms
1.71.0

aws-sdk-s3
1.132.0

babosa
1.0.4

claide
1.1.0

colored
1.2

colored2
3.1.2

highline
2.0.3

commander
4.6.0

declarative
0.0.20

digest-crc
0.6.5

unf_ext
<IP_ADDRESS>

unf
0.1.4

domain_name
0.5.20190701

dotenv
2.8.1

emoji_regex
3.2.3

excon
0.100.0

faraday-em_http
1.0.0

faraday-em_synchrony
1.0.0

faraday-excon
1.1.0

faraday-httpclient
1.0.1

multipart-post
2.3.0

faraday-multipart
1.0.4

faraday-net_http
1.0.1

faraday-net_http_persistent
1.2.0

faraday-patron
1.0.0

faraday-rack
1.0.0

faraday-retry
1.0.3

ruby2_keywords
0.0.5

faraday
1.10.3

http-cookie
1.0.5

faraday-cookie_jar
0.0.7

faraday_middleware
1.2.0

fastimage
2.2.7

gh_inspector
1.1.3

jwt
2.7.1

memoist
0.16.2

multi_json
1.15.0

os
1.1.4

signet
0.17.0

googleauth
1.7.0

httpclient
2.8.3

mini_mime
1.1.2

trailblazer-option
0.1.2

uber
0.1.0

representable
3.2.0

retriable
3.1.2

webrick
1.8.1

google-apis-core
0.11.1

google-apis-androidpublisher_v3
0.46.0

google-apis-playcustomapp_v1
0.13.0

google-apis-iamcredentials_v1
0.17.0

google-apis-storage_v1
0.19.0

google-cloud-env
1.6.0

google-cloud-errors
1.3.1

google-cloud-core
1.6.0

google-cloud-storage
1.44.0

json
2.6.3

mini_magick
4.12.0

naturally
2.2.1

optparse
0.1.1

plist
3.7.0

rubyzip
2.3.2

security
0.1.3

simctl
1.6.10

terminal-notifier
2.0.0

unicode-display_width
1.8.0

terminal-table
1.8.0

tty-screen
0.8.1

tty-cursor
0.7.1

tty-spinner
0.9.3

word_wrap
1.0.0

nanaimo
0.3.0

xcodeproj
1.22.0

rouge
2.0.7

xcpretty
0.3.0

xcpretty-travis-formatter
1.0.1

generated on: 2023-08-01

The problem here is that the action code moves one directory up during execution of the Zip command. See source here: https://github.com/fastlane/fastlane/blob/master/fastlane/lib/fastlane/actions/zip.rb#L36
So in your example the Zip command is run in the directory /Users/Username, which is why it can't find the text files. You can prove this by chdir'ing to your project directory and executing the command that Fastlane prints out: zip -r /Users/Username/ProjectName/test.zip . -i ./x.txt ./y.txt
This caused a big headache for me when I switched to Fastlane because I needed this exact functionality, so I just ended up writing my own action with code changed to create the archive without moving up one directory.


Not a Cordova-based project

On the getting started page (http://ionicframework.com/getting-started/) when I checkout any template project and try adding a platform from projects root directory it gives and error saying "Not a Cordova-based project". If I am not wrong it creates a base-master directory so I need to cd in that directory and then add a platform

Have the same issue.
What does it mean being behind a proxy?

im also having this problem, how did you fix it?

Got the same issue, I simply removed the ios folder under platform, perform the ionic platform add ios command again, and it worked !


MSI installer doesn't enable remoting even after selecting it

Steps to reproduce

Check the current available endpoints using Windows PowerShell

$PSVersionTable

Name                           Value
----                           -----
PSVersion                      5.1.17134.112
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.17134.112
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>

# Lists the default endpoints
Get-PSSessionConfiguration | ft Name

Name
----
Microsoft.PowerShell
Microsoft.Powershell.Workflow
Microsoft.PowerShell32

Install the PS Core 6.1.0-preview 3 using the MSI and select Enable PowerShell remoting

Expected behavior
New remoting endpoint(s) are PRSENT on the system as done by Install-PowerShellRemoting.ps1 script in $PSHome

# From Windows PowerShell
Get-PSSessionConfiguration | ft name

Name
----
Microsoft.PowerShell
Microsoft.Powershell.Workflow
Microsoft.PowerShell32
PowerShell.6
PowerShell.6.1.0-preview.3

# From PowerShell Core
Get-PSSessionConfiguration |ft name

Name
----
PowerShell.6
PowerShell.6.1.0-preview.3

Actual behavior
New remoting endpoint(s) are ABSENT

# From Windows PowerShell
Get-PSSessionConfiguration | ft name

Name
----
Microsoft.PowerShell
Microsoft.Powershell.Workflow
Microsoft.PowerShell32

# From PowerShell Core
Get-PSSessionConfiguration

Due to https://github.com/PowerShell/PowerShell/issues/5998 it was decided to not make the installer fail if Enable-PSRemoting fails, which can happen for various (see issue for details). Can you try to repro and possibly make the issue more detailed/useful by making Enable-PSRemoting (or how it is called) the centre of this issue since I believe it is not a problem of the installer itself

I don't know how to make it more specific. I tried running the following command from elevated Windows PowerShell to mimic elevated installer action and it succeeded
PS C:\WINDOWS\system32> & 'C:\Program Files\PowerShell\6-preview\pwsh.exe' -noprofile -executionpolicy bypass -command 'Enable-PSRemoting'

Could it be because Enable-PSRemoting on PowerShell Core takes too long - 76 sec
PS C:\WINDOWS\system32> measure-command {& 'C:\Program Files\PowerShell\6-preview\pwsh.exe' -noprofile -executionpolicy bypass -command 'Enable-PSRemoting'}

Days              : 0
Hours             : 0
Minutes           : 1
Seconds           : 16
Milliseconds      : 558
Ticks             : 765582470
TotalDays         : 0.000886090821759259
TotalHours        : 0.0212661797222222
TotalMinutes      : 1.27597078333333
TotalSeconds      : 76.558247
TotalMilliseconds : 76558.247

@bergmeister Is there anything in MSI log that I should look for to help diagnose this issue. I generated one using msiexec /L*V foo.log /i PowerShell-6.1.0-preview.3-win-x64.msi but not sure what to look inside it to know is the command Enable-PSRemoting is even called or not

@HemantMahawar OK. Let's debug it one by one:

For inspecting the WiX Log, look for custom actions/properties like EnablePSRemoting and ENABLE_PSREMOTING. In general I suggest to use  /L*VX to get as much logging info as possible but the options that you specified are probably sufficient.
If you suspect that the wiring up of the checkbox is broken, then build a custom installer that modifies this line to create a dummy file so that you know that the checkbox is wired up correctly and you could also pipe/redirect the output of Enable-PSRremoting to a log file that you can then inspect afterwards. I case you wonder: &quot is just the WiX escape character for a double quote.
Maybe the time issue is a separate, independent issue. I did some quick research and it seems that the custom action that we use has a non-configurable 1 minute timeout: https://github.com/wixtoolset/issues/issues/601/

@bergmeister I tried your first suggestion w.r.t searching for EnablePSRemoting and ENABLE_PSREMOTING in the WiX log (I ran with /L*VX as you suggested). And below are the messages for EnablePSRemoting
MSI (s) (BC:74) [15:41:54:034]: Doing action: SetEnablePSRemoting
MSI (s) (BC:74) [15:41:54:034]: Note: 1: 2205 2:  3: ActionText
Action 15:41:54: SetEnablePSRemoting.
Action start 15:41:54: SetEnablePSRemoting.
MSI (s) (BC:74) [15:41:54:036]: PROPERTY CHANGE: Adding EnablePSRemoting property. Its value is '"C:\Program Files\PowerShell\6-preview\pwsh.exe" -NoProfile -ExecutionPolicy Bypass -Command "Enable-PSRemoting"'.
Action ended 15:41:54: SetEnablePSRemoting. Return value 1.
MSI (s) (BC:74) [15:41:54:036]: Skipping action: EnablePSRemoting (condition is false)
MSI (s) (BC:74) [15:41:54:036]: Doing action: SetRegisterManifest

@HemantMahawar the log says that Enable-PSRemoting was executed, but failed with exit code 1.  My guess is that if you run the equivalent command line in an elevated cmd: "C:\Program Files\PowerShell\6-preview\pwsh.exe" -NoProfile -ExecutionPolicy Bypass -Command "Enable-PSRemoting"
It will tell you why it failed.  Usually it's because some network interface is set to Public.

@HemantMahawar is this still an issue?  I don't think we want to use -SkipNetworkProfileCheck.

@SteveL-MSFT
Gearing up to look at deploying this to machines in my environment and want to make sure remoting gets enabled, am I correct in assuming that I will need a separate Enable-PSRemoting -Force -SkipNetworkProfileCheck if I suspect machines have public network interfaces? Or will newer 7.x MSI installs handle this cleanly/silently?

@nathankascopgr The checkbox in the MSI (or using the cmdline option) simply runs Enable-PSRemoting without any additional parameters as that is the safest.  If it fails, you'll have to explicitly run with -Force or -SkipNetworkProfileCheck in the case that you are ok with the system having public network profiles.  That is the intended behavior to be secure by default.   At this point,  I believe this is by-design.


Split distribute-cores-and-objectfifos pass in 2

I know @Abhishek-Varma proposed a more dramatic version of this PR previously https://github.com/nod-ai/iree-amd-aie/pull/452 but I think that the place I'm choosing to split this pass in 2 in reasonable -- basically I'm just separating out the logic which assigns tiles to logicalobjectfifos from everything else i.e. the only thing that changes in the second pass is
 %0 = amdaie.logicalobjectfifo.from_memref %alloc, {} : ...

becomes
 %0 = amdaie.logicalobjectfifo.from_memref %alloc, {%tile} : ...

The code copied between .cpp files is completely unmodified, a 100% cut-paste.
I'd like to improve the tests in a second PR.
I will polish this (add comments for the TODOs) if the proposal seems ok.

I think @jtuyls was also working on tile assignments as a separate pass and already had a draft. We need something more sophisticated when assigning multiple memTiles and shimTiles.

I think @jtuyls was also working on tile assignments as a separate pass and already had a draft. We need something more sophisticated when assigning multiple memTiles and shimTiles.

Yes, I will be putting up a PR later today which has this, but with a bunch of changes in the tile assignment for 4x4.

Ok, will close this and take a look at https://github.com/nod-ai/iree-amd-aie/pull/915


Deleting bootstrap.properties from source deletes it from target

If the pom.xml has <bootstrapProperties> configuration, it overrides what was in the source's bootstrap.properties.  However, deleting the source's bootstrap.properties during dev mode deletes the one in the target even though it should not.
Steps:

In source, have a bootstrap.properties file
In pom.xml, have some <bootstrapProperties> configuration
Start dev mode
You see a warning that bootstrap.properties file is overwritten by inlined configuration. which is expected.
Delete bootstrap.properties from the source
Bootstrap.properties in the target got deleted automatically, even though it was auto-generated and should not be deleted.

You could check for this header in the file to see if it was generated or not:
private static final String HEADER = "# Generated by liberty-maven-plugin";


[DISCUSSION] compiling on linux

hi! at first, many thanks for this great project! i am just trying to compile arni (the xmas release) on linux. thats hard work, so it would be very nice if you could compile a linux binary into your assets.
i have no clue about the rust build process. i tried to run/build and solve every error. here is what i did:

installing rust from as described on its web page. the apt version from ubuntu is to old.
installing sources of a bunch of libraries:
sudo apt install libwayland-dev gir1.2-glib-2.0-dev libcairo-dev libpango1.0-dev libatk1.0-dev gir1.2-gdk-3.0-dev libjavascriptcoregtk-4.1-dev libwebkit2gtk-4.1-dev  (please write a comment if i forgot one)
in Cargo.toml i had to change the line
rfd = "0.15.0"
to
rfd = { version = "0.15.1", default-features = false, features = ["gtk3"] }

that worked. maybe you also could add a linux-binary to your assets? i just created my first world. i wasn't able to select an existing world, which is kind of sad, because of course i would like to fight against some neighbour monsters and also i am at the moment not able to find my home because orientation in the big world i created is complicated, but i will continue to try ...

They've already got build CI and release builds set as GH workflows, so it shouldn't be that difficult to simply add one for Linux. I'd do it myself if I knew how... since Linux requires extra steps (apt install and a sed -i '...' Cargo.toml) I'm not sure how to incorporate it into the existing yaml file.

I made this edit:
diff --git a/Cargo.toml b/Cargo.toml
index eaca0ef..e12ea9d 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -30,7 +30,7 @@ nalgebra = "0.33.0"
 once_cell = "1.19.0"
 rand = "0.8.5"
 reqwest = { version = "0.12.7", features = ["blocking", "json"] }
-rfd = "0.15.0"
+rfd = { version = "0.15.1", default-features = false, features = ["tokio"] }
 semver = "1.0.23"
 serde = { version = "1.0", features = ["derive"] }
 serde_json = "1.0"

That seems to compile as well. Is this a better choice than gtk3 as a feature? I'm unsure. Here's the relevant doc: https://docs.rs/rfd/latest/rfd/#linux--bsd-backends
I looks like you can choose either gtk3 or xdg-desktop-portal, which I think is more universal for Linux. I am new to rust, rfd, and this project, but this may be worth checking if a Linux build is in the works.


documentation: clarification of :docnumber and :partnumber for multi-part iso deliverables

on this page https://www.metanorma.org/author/iso/ref/document-attributes/
the following text describes:docnumberand :partnumber

what happens to :docnumber in a multi-part standard.
for example, considering ISO 19115-1
is it:
:docnumber: 19115-1
:partnumber: 1

or is it:
:docnumber: 19115
:partnumber: 1

It is the latter.

hi @ronaldtse thanks for the clarification.


TabCompleteEvent is never fired for chat

@Plugin(id = "testplugin")
public class TestPlugin {
    @Listener
    public void onTabComplete(TabCompleteEvent e) {
        System.err.println("derp");
    }
}

Open chat, type anything besides a command, push tab, and derp does not get written to stderr.

Not able to reproduce on stable-7 (SC updated to https://github.com/SpongePowered/SpongeCommon/commit/844f214ec603255a051dec44c45065dcc60572da)


Error

Colocations handled automatically by placer.
Traceback (most recent call last):
File "test.py", line 27, in
text(image)
File "test.py", line 11, in text
sd = SceneDesc.scenedesc()
File "C:\Users\jhona\Desktop\Image-Captioning-master\SceneDesc.py", line 17, in init
self.image_encodings = pickle.load( open( "image_encodings.p", "rb",  ) )
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe0 in position 32: ordinal not in range(128)

You have to specify the encoding format while loading. Replace line 17 of "C:\Users\jhona\Desktop\Image-Captioning-master\SceneDesc.py" with the following line :
self.image_encodings = pickle.load( open( "image_encodings.p", "rb" ),encoding='latin1' )


[FLINK-2526]Add try-catch for task when it stop running

inputProcessor cleanup() may throw IOException.If do not catch it, the next line outputHandler .flushOutputs() will not work and cause output data loss.So i think add some try-catch is necessary.

@zentol Hello! Thank you for your suggestion.I have add exception message in log.

The pull request #1017 actually fixes this as well, together with a lot of other things (similar problems are in many places).
Can you have a look at #1017 and see if that would solve your concern?

@StephanEwen  Thanks. I think you pull request has fixes this.I will close my pull request and view your code.


Enable all Pixie components to be patched via Helm chart

Is your feature request related to a problem? Please describe.
I need to ensure certain Pixie components run on specific nodes in my cluster.
Currently, I'm able to patch the following via the pixie-operator chart:

kelvin
vizier-query-broker
vizier-cloud-connector
pl-nats
vizier-metadata

Example:
  patches:
   kelvin: '{"spec": {"template": {"spec": { "nodeSelector": {"pixie.io/components": "true" }}}}}'
   vizier-query-broker: '{"spec": {"template": {"spec": { "nodeSelector": {"pixie.io/components": "true" }}}}}'
   vizier-cloud-connector: '{"spec": {"template": {"spec": { "nodeSelector": {"pixie.io/components": "true" }}}}}'
   pl-nats: '{"spec": {"template": {"spec": { "nodeSelector": {"pixie.io/components": "true" }}}}}'
   vizier-metadata: '{"spec": {"template": {"spec": { "nodeSelector": {"pixie.io/components": "true" }}}}}

However, I can't patch the following via Helm:

catalog-operator
olm-operator
vizier-operator

Describe the solution you'd like
Provide the ability to patch all deployed resources, not just the Vizier resources:
# A set of custom patches to apply to the deployed Vizier resources.
# The key should be the name of the resource to apply the patch to, and the value is the patch to apply.
# Currently, only a JSON format is accepted, such as:
# `{"spec": {"template": {"spec": { "tolerations": [{"key": "test", "operator": "Exists", "effect": "NoExecute" }]}}}}`
patches: {}

Describe alternatives you've considered
N/A
Additional context
N/A

I spent a while trying to solve this same issue. There are still components that can't be modified via the helm chart. For instance, its completely unclear how to specify a nodeSelector on the vizier-operator / pixie operator that's controlled by the  ClusterServiceVersion CRD.


Sheet preview

Right now, the only way to preview the sheet while you are building it is by opening the html file and reloading.
A window displaying the actual sheet, after a "new block" is added, would be a great feature.

I think that it'd be best to focus on / make this a subset of #11, as this issue will be resolved in the preview component of that issue.
I can't think of a solution short of hosting a local web server which is queried (or we could do a websocket server than sends a message to the preview page telling it to reload), but that might be overkill for something that will be scrapped when #11 is completed.


Flawed use of threadid()

See https://julialang.org/blog/2023/07/PSA-dont-use-threadid/ :)
If you can live with traditional non-composable multithreading just use @threads :static instead of @threads.
(I'll make a PR if I find the time or you beat me to it :D)

Thanks @carstenbauer as you know this is in very early exploratory stages so any input is appreciated!


Modified to stop wpa_supplicant from making multiple connect attempts in-case of wrong password

Observed that the connect JSON-RPC method returns ERROR_INVALID_SIGNATURE signature when wrong password is set.  It also generates DISCONNECTED event.
However thereafter wpa_supplicant internally keeps trying connect and keeps generating  DISCONNECTED event for unlimited no. of times.
This change is done to stop wpa_supplicant from further attempting connect once the error status is returned to caller.

https://jenkins.code.rdkcentral.com/job/github-triggered/2118/ started

https://jenkins.code.rdkcentral.com/job/github-triggered/2127/ started


Flag specials in PPU

Hoping to reproduce @brianmackenna's recent email on advice about specials as a blog (combined with @richiecroker's related comments from #457). However someone pointed out that it could be helpful to flag these in the PPU tables.
Is this (a) easy and (b) worthwhile?

@sebbacon i think you said this was already happening but I don't think i've spotted any of these flags...


Unable to upgrade to 1.14.1 from 1.11

I've been trying for several days to upgrade to 1.14.1 with no success.
I'm running Teslamate on a Raspberry Pi 3 that is also running Pi-Hole. The initial install went smoothly (once I got docker-compose installed), but now I'm getting the same timeout errors on every install attempt. Errors are below.
Removing teslamate_mosquitto_1
Removing teslamate_grafana_1
Removing teslamate_db_1
Removing teslamate_teslamate_1
Recreating 5843a1aa22e9_teslamate_mosquitto_1 ...
Recreating c3bbde41b576_teslamate_grafana_1   ...
Recreating 30bffeb9e5d0_teslamate_db_1        ...
Recreating 1e71509ea93a_teslamate_teslamate_1 ...

ERROR: for c3bbde41b576_teslamate_grafana_1  UnixHTTPConnectionPool(host='localhost', port=None): Read timed out. (read timeout=60)

ERROR: for 30bffeb9e5d0_teslamate_db_1  UnixHTTPConnectionPool(host='localhost',Recreating 5843a1aa22e9_teslamate_mosquitto_1 ... done

ERROR: for 1e71509ea93a_teslamate_teslamate_1  UnixHTTPConnectionPool(host='localhost', port=None): Read timed out. (read timeout=70)

ERROR: for teslamate  UnixHTTPConnectionPool(host='localhost', port=None): Read timed out. (read timeout=70)

ERROR: for db  UnixHTTPConnectionPool(host='localhost', port=None): Read timed out. (read timeout=60)

ERROR: for grafana  UnixHTTPConnectionPool(host='localhost', port=None): Read timed out. (read timeout=60)
ERROR: An HTTP request took too long to complete. Retry with --verbose to obtain debug information.
If you encounter this issue regularly because of slow network conditions, consider setting COMPOSE_HTTP_TIMEOUT to a higher value (current value: 60).

I've tried changing the COMPOSE_HTTP_TIMEOUT to 200 seconds with the following command, but it just generated a new series of errors.
COMPOSE_HTTP_TIMEOUT=200 docker-compose up
Can anyone offer any suggestions on how to get Teslamate back up and running?

Well, looks like the timeout of 200 was too much, I changed it to 100 and disabled the Pi Hole. After that it appears to have installed. I'm able to log in and see my previous data once again. Have to see if it records drives once again.

Glad it works now! I can imagine that starting all services in the docker-compose file at once may overwhelm the Pi. It may help to start them sequentially next time:
docker-compose up -d mosquitto
docker-compose up -d db
docker-compose up -d grafana
docker-compose up -d teslamate


Add miskweb lint as a precommit hook

This should be prioritized, can use husky and similar implementation as johno/digital-garden


error TS2304: Cannot find name 'FileResponse'

I used NSwagStudio v12 to generate the TypeScript client class, i expect the API to return file (ExportToExcel), and i see that the generated TypeScript code has references to FileResponse, and i am getting compiler error that "TS2304: Cannot find name 'FileResponse'". What am i missing here? Please help.

this is the swagger snippet. Hope this helps.
"/api/DictionaryVersion/ExportToExcel": {       "get": {         "tags": [           "DictionaryVersion"         ],         "summary": "Action for the dictionary version widget - returns all the versions of all dictionaries as excel spreadsheet",         "operationId": "ExportToExcel",         "consumes": [],         "produces": [           "application/octet-stream"         ],         "parameters": [],         "responses": {           "200": {             "description": "Success"           }         }       }     },

this is our controller web-api method definition, used to generate the Swagger snippet. Please let me know what i am doing wrong.

I think the workaround is
[SwaggerResponse(200, typeof(IFormFile))]

This workaround didnt work. but we added fileresponse class manually and manually edited auto generated code to link the fileresponse as a workaround.
However i tried the latest nswagstudio now v<IP_ADDRESS>, and it is working as expected now. you can close this.

I got some odd unexpected FileResponse objects when I accidentally put [Route("api/[controller]")] on two partial class definitions.
I'm not doing anything that should require a FileResponse.
So for anyone else having similar issues check if you've got any duplicate attributes such as this

This is strange, but the rule is that file response is always generated when the return type cannot be inferred (and is not void)

@RicoSuter I agree - just wanted to add that in there in case it helped anyone else. I did get an error in the console about duplicate attributes (I'm building as part of the build process) - but once I fixed the duplicate attribute the FileResponse went away.  The operation that ended up with FileResponse was a brand new API call and once I fixed the attribute it seemed to work - could always be something else - who knows!

hello i have the same problem, i'm working with nswagstudio v<IP_ADDRESS>
web api
    [HttpGet]
    [Route(ApiRoutes.Version.Get)]
    [ProducesResponseType(StatusCodes.Status200OK)]
    [ProducesResponseType(StatusCodes.Status404NotFound)]
    public ActionResult<VersionApplication> GetVersionApp(){ ... Ok(Result); }

and file swagger :
"/api/v1/version": {
"get": {
"tags": [
"Version"
],
"operationId": "Version_GetVersionApp",
"produces": [
"text/plain",
"application/json",
"text/json"
],
"responses": {
"200": {
"x-nullable": false,
"description": "",
"schema": {
"$ref": "#/definitions/VersionApplication"
}
},
"404": {
"x-nullable": false,
"description": "",
"schema": {
"$ref": "#/definitions/ProblemDetails"
}
}
}
}
}

Should be fixed with v13.7.3


405 Method Not Allowed

I was testing socialfish with my website, but it kept on giving me a 405 error in the console. I am currently using the terminal on MacOs Mojave.
Screenshots:

The link I was using:
https://keepyousafe.info/clients/login.php

The incorrect action field is set
try change on template
<form method="post" action="index.html">
to
<form method="post" action="/login">

$ egrep -nH "action=" templates/fake/https-keepyousafe.info/clients/login.php/*

templates/fake/https-keepyousafe.info/clients/login.php/index.html:12:  <form method="post" action="index.html">

#318

on the html code?

on the html code?

yes.
file
templates/fake/https-keepyousafe.info/clients/login.php/index.html
line 12


Switch Forward and Inverse Kinematics to leverage Eigen::Vector

@simonschmeisser and @gavanderhoorn Let use know if you see an issue with the planned changes.
We are planning to switch OPW Kinematics to leverage Eigen::VectorXd instead of a raw pointer for both forward and inverse kinematics.

The forward kinematics would take a Eigen::VectorXd.
The inverse kinematics would return a std::vector<Eigen::VectorXd> which would be of size 8 and any solution that had nans would include a empty Eigen::VectorXd.

@marip8

Including @JeroenDM in this discussion as well.
To clarify the previous comment, this is what we're envisioning
+ template<typename T>
+ using Solution = Eigen::Matrix<T, Eigen::Dynamic, 1>;

template <typename T>
- void inverse(const Parameters<T>& params, const Transform<T>& pose, T* out) noexcept;
+ std::vector<Solution> inverse(const Parameters<T>& params, const Transform<T>& pose) noexcept;

template <typename T>
- Transform<T> forward(const Parameters<T>& p, const T* qs) noexcept;
+ Transform<T> forward(const Parameters<T>& p, const Solution& qs) noexcept;

Some questions to consider:

Should the vector of solutions always be length 8 even if some solutions from OPW contain nan values?

If yes:

Should Solution be a dynamic vector, capable of being length zero for invalid solutions, or should it be a fixed length of size 6 with invalid solutions as nan values?
Are there benefits of using std::array instead of std::vector as the solution container?

@Levi-Armstrong and my current thoughts are that the vector of solutions should always be length 8, but invalid solutions should be represented by an Eigen dynamic vector of length 0

@marip8 wrote:

* Are there benefits of using `std::array` instead of `std::vector` as the solution container?

the former avoids dynamic memory allocation, as it's a compile-time sized type. As for a 6dof there is an a-priori known max, using a statically allocated type offers a nice, if minimal, optimisation opportunity (ie: it's free, doesn't limit and does not have any corner cases).
As to whether it's a sufficient advantage over a dynamically sized container is hard to say. It probably comes down to preference a bit.
Personally I like that:

the intent is really clear: the solver is going to return 8 solutions
no memory will be allocated by the solver (or at least not for the solutions)
an entry containing NaN really means there was no solution "in that quadrant" / for that configuration: with a dynamically sized list you could wonder whether the solver actually considered all configurations or just returned "something" (ie: an arbitrary number < 8
std::array is completely identical to a regular double[..], making interfacing with C and other languages trivial (although std::vector is also guaranteed to be contiguously allocated, not all language wrappers/FFI can easily deal with vectors)

@Levi-Armstrong wrote:

We are planning to switch OPW Kinematics to leverage Eigen::VectorXd instead of a raw pointer for both forward and inverse kinematics.

Again, personally, I don't really like seeing plain Eigen::VectorXd types being used 'everywhere'. Reason being that it doesn't convey any semantics. It's just a vector of doubles, and those doubles could mean anything.
Perhaps a typedeffed (or using) version would already be better.
(you could of course say that a std::array<double, ..> also doesn't really have any semantics, and you would be right)
The nice thing about std::array though (besides the points I already mentioned) is that it's just a simple, contiguous array in memory. This makes it easy to use with other systems, while Eigen should still be able to Map it.
I don't recall whether it's a lot of effort to get at the raw data in a Eigen::Matrix.

Overall I'm not necessarily against this change, but I would at the very least like it if we could avoid using plain Eigen types.
I also don't believe there is really a satisfying argument either against or for this change. Especially not because we're talking about a maximum of 8 elements.
Perhaps it could help the discussion if you could provide your rationale for why you'd like to make this change. Right now it seems like a change just because you want to change it.

Again, personally, I don't really like seeing plain Eigen::VectorXd types being used 'everywhere'. Reason being that it doesn't convey any semantics. It's just a vector of doubles, and those doubles could mean anything.

I want to make sure this is what you are recommending is create a typedef as bellow then use the IKSolution throughout?
using IKSolution = Eigen::VectorXd()

Perhaps it could help the discussion if you could provide your rationale for why you'd like to make this change. Right now it seems like a change just because you want to change it.

The motivation is to have a consistent format our motion planning. Currently we are looking at updating descartes_light and tesseract format and would like them to be the same to avoid unnecessary data translations.

Perhaps it could help the discussion if you could provide your rationale for why you'd like to make this change. Right now it seems like a change just because you want to change it.

For me the reasons for this change is to:

Eliminate ambiguity with the float pointer representation of joint solutions.

Currently there is an implicit assumption that the pointer points to 48 doubles, and that you should access them six at a time to get the unique solutions. Using a vector of vector of doubles is much more intuitive and less prone to user error.

Return objects rather than modify output parameters

Return objects rather than modify output parameters

I'm a big fan of this!
It would be interesting to know what the performance implication of this when the calling code re-uses the output vector for different calls. But maybe that rarely happens in practice. Or maybe the compiler optimizes return arguments sufficiently.
As for the Eigen / std choice, I don't really have an opinion. I use them myself interchangeably and I'd be happy to update the corresponding MoveIt plugin when necessary.

@JeroenDM wrote:

Or maybe the compiler optimizes return arguments sufficiently.

modern compilers (with RVO) will most likely generate equivalent code.
@marip8 wrote:

Return objects rather than modify output parameters

yes, this is indeed nicer.
In #50, std::array is used for both individual Solutions and the aggregate set of Solutions.
If we're going to move away from out-parameters, there is no way for someone not reading the code (and us promising it in documentation) to verify whether memory is allocated or not.
In that case, using std::vector would probably be OK as well -- but you might lose the ability to use Eigen::Map, I haven't checked.

Final comment: @Jmeyer1292 might've implemented opw_kinematics the way he did to avoid depending on any 3rd party libraries. opw_kinematics was trivially buildable on C++11 supporting platforms.
The introduction of Eigen has made this no longer true.

opw_kinematics has had a dependency on Eigen since the original commit, so this change doesn't introduce any new dependencies

Ok, then that's not a concern indeed.

In that case, using std::vector would probably be OK as well -- but you might lose the ability to use Eigen::Map, I haven't checked.

In the process I also tested the std::vector and it also works with Eigen::Map because it stores the items continuous in memory.  This is nice and I was not aware you could do this with Eigen::Map.


Render additional questions once previous question is answered

GIVEN I am taking a code quiz
WHEN I answer a question
THEN I am presented with another question

completed


How to create versions and environments of an agent?

I need to create an agent version as I do from the console

Hi @guilhermegehres — I found this information, potentially, on agent versioning. If still relevant, please take a look at it.
I am closing this issue given that it may no longer be relevant. If needed, please reopen.

Please reopen, we want to do with through the API/library, not in the console.


excludes missing from JSON schema for style checks (maybe others too)

Expected Behavior
excludes show up in auto-complete for stlye: group checks too.
Observed Behavior

Steps to Reproduce
Create detekt.yml with contents:
style:
  UnusedPrivateClass:
    |

put cursor at | and press Cltr+Space (or equivalent).
Context
The JSON schema is extremely helpful, please make it a full feature of Detekt. It's so easy to edit the configuration with it, but if I can't trust it shows me all the options it's not helpful.
excludes for example works for style: checks too, but not suggested.

Tip: you can inherit types in schemas, so you only need to define "active" and "excludes" once, and inherit each object from it.

The JSON schema currently requires a manual PR to be approved in https://github.com/SchemaStore/schemastore/blob/master/src/schemas/json/detekt.json which is probably something we shouldn't wait for releasing detekt.
@3flex do you have ideas on automating this further since you had a discussion in https://github.com/SchemaStore/schemastore/pull/1301
@TWiStErRob I think we can do a one-time update regardless. Do you have time to contribute a PR in https://github.com/SchemaStore/schemastore/?

@3flex do you have ideas on automating this

Probably building on the detekt generator task so it also generates the schema, then publishing it using GitHub docs, using self hosting schema: https://github.com/SchemaStore/schemastore/blob/master/CONTRIBUTING.md#self-hosting-schemas

That would help a lot with the discoberability of #4068.
I'd vote to create an issue (or "refactor" this one) to create our own schema.

Note: even if there's an automatic tool to generate the schema, I think it's ok to have a manual upload at first, it's ok to have a delay of their approval on the schema store. It's not going to block your release, but also would get up to date and precise schema to users.

Ok, I'm going to create a new issue to track the creation of our own schema.

@TWiStErRob I think we can do a one-time update regardless. Do you have time to contribute a PR in https://github.com/SchemaStore/schemastore/?

Meanwhile it's out of our scope to fix this. You can contribute to SchemaStore directly to fix it. I'm closing this one because there is not action that we can do in this repo to fix it. Anyway, don't hestiate to write here if you need any help making a PR to SchemaStore.


Fix: Could not show date picker

No action taken on UI when DatePickerDialog.Show(...) was called

@alexsorokoletov Looks like I had missed this in my previous commit.

@m-safan sent that to NuGet as 1.0.3


fix for range sequence operation bug

Big thanks to @hoytak and @ylow for helping me fixing this bug.
[start_val, ....   end_val]
^                      ^
begin_idx.       end_idx
The is issue is caused by the query optimizer will treat two different sequences as the same by only using begin and end index to identify sequence identity. All binary operations are affected by this.
As @ylow points out, head value of a sequence should also be involved to identify whether two sequence are the same and should be fused during the optimization phase.

passed the internal test pipeline. good to go.


Flashing not successful.

Running WAS on a Pi4 with Ubuntu Mate 64 bit OS. Flashing says 'Flash Successful! Resetting your device'. It hangs and does nothing. When I power cycle the ESP Box screen flashes once, then stays black. I have re-flashed twice. I have made sure and set a static IP in my firewall, since the device appears to have made connection on the network (which displayed it's MAC ID), but nothing shows up in the WAS clients. I have also made a rule in the Pi4 firewall to accept connections from the ESP's IP.
I have no way to obtain logs or troubleshoot further.

Well, it was UFW. It is disabled for now, but I am not sure why it is blocking the ESP.


debug

flutter: #12     BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2266:19)
flutter: #13     RenderObjectToWidgetAdapter.attachToRenderTree (package:flutter/src/widgets/binding.dart:825:13)
flutter: #14     _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding&WidgetsBinding.attachRootWidget (package:flutter/src/widgets/binding.dart:712:7)
flutter: #15     runApp (package:flutter/src/widgets/binding.dart:756:7)
flutter: #16     main (package:getgo/main.dart:3:16)
flutter: #17     _startIsolate. (dart:isolate/runtime/libisolate_patch.dart:289:19)
flutter: #18     _RawReceivePortImpl._handleMessage (dart:isolate/runtime/libisolate_patch.dart:171:12)
flutter: ════════════════
════════════════════════════════════════════════════════════════════════════════════

Steps to Reproduce

...
...
...

Logs

Unfortunately this issue doesn't provide enough information to diagnose the problem.
Please create a new issue with properly filled issue template.


Automated cherry pick of #7716: alert record bugfix

Cherry pick of #7716 on release/3.4.
#7716: alert record bugfix

/lgtm
/approve


FEAT: Add Diacritics Converter

Overview
This PR introduces a new DiacriticConverter class under pyrit.prompt_converter to enable transformations using diacritical marks on specified characters. This converter is inspired by techniques outlined in resources such as Bypassing Azure AI Content Safety Guardrails, where diacritical marks can be applied to bypass content filters. The converter provides an effective tool for testing the resilience of AI content safety mechanisms against such techniques.
Work Completed

Implemented DiacriticConverter:

Located in pyrit.prompt_converter.
Transforms text by applying specified diacritical marks (e.g., acute, grave) to target characters, supporting content safety testing.

Edge Case Handling:

Leaves text unmodified if target_chars is empty.
Defaults to "aeiou" for target_chars if unspecified.

Test Suite:

Added pytest tests covering default and custom targets, empty target_chars, and invalid accent handling.

Related Issue
Resolves FEAT add diacritics converter #515

Wow that was (once again) very fast! Just tiny comments, and I agree with @rdheekonda 's comments as well, of course. Thanks a ton!

Wow that was (once again) very fast! Just tiny comments, and I agree with @rdheekonda 's comments as well, of course. Thanks a ton!

 Thanks to you guys, I'm still learning a ton of stuff, so I'm just giving something back. :)


SPIRV output with debuginfo invalid

When invoking $ slangc -I src/shaders -g -entry main -target spirv -o shader.spv -- shader.slang, the produced shader is invalid because of this:
$ spirv-val shader.spv
error: line 586: All OpVariable instructions in a function must be the first instructions in the first block.
  %1554 = OpVariable %_ptr_Function_bool Function %false

Dissassembling the segment reveals:
       %main = OpFunction %void None %5 # line 578
         %22 = OpLabel
       %1676 = OpVariable %_ptr_Function_int Function
       %1675 = OpVariable %_ptr_Function_uint Function
       %1674 = OpVariable %_ptr_Function_uint Function
       %1673 = OpVariable %_ptr_Function_uint Function
       %1672 = OpVariable %_ptr_Function_uint Function
       %1738 = OpExtInst %void %2 DebugNoLine
       %1554 = OpVariable %_ptr_Function_bool Function %false # line 586
       %1556 = OpVariable %_ptr_Function_uint Function

It seems that OpExtInst cannot go in the middle of OpVariable declarations at the start of each function. The workaround is to remove -g.
I'm trying to change my pipeline to compile directly from slang to spv in order to get slang source lines displayed in nsight, so the workaround is not satisfactory.

@farnoy can you attach a shader that I use to reproduce the bug?

@farnoy can you attach a shader that I use to reproduce the bug?

Gentle reminder. If I can't replicate the bug, I would be closing this. If you have a reference shader kindly share.

You need to use -emit-spirv-directly for -g to work properly.
Closing this issue since this is a GLSLang bug.

Sorry about the delay. Switching to direct SPIRV sounds like the way forward so I'll try that. IIRC, I was primarily blocked on the scalar block layout being unavailable with -emit-spirv-directly, but it looks like it was fixed very recently:
StructuredBuffer<float3, ScalarDataLayout> scalarBuffer;

You are right. The recent fix allows you to control layout per buffer. There is also a global -force-glsl-scalar-layout that applies to all buffers.


Update docs for List

Changing index to rowIndex was decided against, so this reverts that change in the example.
This also adds key and style to the rowRenderer function signature.
Fixes: #402

Don't merge yet, it's in a few other places too.

Current coverage is 98.15% (diff: 100%)

Merging #403 into master will not change coverage

@@             master       #403   diff @@
==========================================
  Files            61         61
  Lines          4220       4220
  Methods         893        893
  Messages          0          0
  Branches        316        316
==========================================
  Hits           4142       4142
  Misses           78         78
  Partials          0          0

Powered by Codecov. Last update 674cb66...1b62028

Thanks dude! :)


Publish to telegram

old PR https://github.com/umputun/feed-master/pull/14
close #13

Looks good to me, I think I can merge it as-is, but first need to test it locally.
In the meantime, I would suggest 2  more changes (we can add it after the merge, up to you):

Declare and use some Notifyer interface instead of direct TelegramClient in Processor. This will allow removing direct dependency and will help testing Processor without the actual telegram client involved.
I'm not sure how timeouts handled here. None of telegram related methods seem to set timeout and none of them seems to use context for termination. We shouldn't hang indefinitely on failed connection to telegram but continue the normal operation after printing WARN level log message.

I can't make it work. Created a new token, opened a new channel and all I get is "api error: Bad Request: chat not found". Btw, the message is not too helpful, knowing what chat is not found will be nice.  In addition, it doesn't respect the lack of telegram_channel defined and trying to send on any feed.
It is also unclear to me if you expect me to set a channel with @ prefix or this library dealing with it.

Ok, this one is running fine, I got a bunch of messages which is good. They also seem to be formatted nice, which is also good. However, none of them publishes mp3, they all links regardless of the size for mp3. From your earlier screenshots, I thought this is going to have media published if size allows (under 50m) but looks like it doesn't do it at all.

I'm not sure how timeouts handled here. None of telegram related methods seem to set timeout and none of them seems to use context for termination. We shouldn't hang indefinitely on failed connection to telegram but continue the normal operation after printing WARN level log message.

Add timeouts https://github.com/umputun/feed-master/pull/15/commits/69f08f9d8eff5cff634973b12eeea0b48f28c53c

Ok, this one is running fine, I got a bunch of messages which is good. They also seem to be formatted nice, which is also good. However, none of them publishes mp3, they all links regardless of the size for mp3. From your earlier screenshots, I thought this is going to have media published if size allows (under 50m) but looks like it doesn't do it at all.

Before, I published in preview mode and only one link. telegram itself published audio.
When message many links, preview mode show first lint not audio (current preview disabled).
Now I check file size and attach it to the message (in working).

In process of researching, I didn't find how to send in one message including text and audio. In documentation of Telegram I found  Sending Messages in Bulk, but I don't know how to use it in package telebot.

Bot can send at first text and after audio, but then messages shuffle (if messages more than two)

It is possible to achieve result as on the screenshot only if this file will be not big.

I'd suggest 3 for files under 50M and just a text (with a link to mp3) for bigger files

I still see a few minor things, but generally, it seems to be ok and working. I'll merge it and we could address things after that.

@sgaynetdinov thx for your work on PR. I have it merged and fixed a bunch of small things after the merge.

@umputun thanks for your review on my code


fix/version_update_warnings: savepoint:

Codecov Report

Merging #47 (4bd719a) into master (2a7f7e1) will not change coverage.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##           master      #47   +/-   ##
=======================================
  Coverage   82.22%   82.22%
=======================================
  Files          24       24
  Lines        1007     1007
=======================================
  Hits          828      828
  Misses        179      179

Flag
Coverage Δ

unittests
82.22% <100.00%> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

test/test_config_util.py
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

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