add benchmarks for std.AutoHashMap

Relevant, but not very fleshed out (and not updated to latest Zig) so maybe not that useful: https://github.com/squeek502/zig-hash-map-bench
The links in the readme should be useful, though.

One thing I'm unsure about with this is whether or not it's possible to have a single benchmark be representative of the speed of a hash map (if you look at the links in the repo linked above, all benchmarks are presented as graphs). That is, because hash maps can have very different performance characteristics depending on the size of the map, a benchmark like 'add 1,000,000 elements, get 1,000,000 times, then remove all the elements one by one' would only represent one single point along the continuum of possible hash map sizes, and therefore it would fail to catch regressions in performance for other map sizes. And doing something like running that same benchmark for all sizes 1-1,000,000 and then measuring the total time would still underrepresent the small sizes and therefore would still allow for regressions in small hash maps without the benchmark noticing.
Unless I'm thinking about it wrong, I'm not sure this is a solvable problem without breaking the benchmarking into multiple different benchmarks differentiated by the size of the hash map being benchmarked. And, if that's true, then it's not clear how many different sizes should be benchmarked and what those sizes should be (would only 'small' and 'huge' be necessary? 'small', 'medium', 'large', and 'huge'? way more?).

The idea here would be to create multiple different benchmarks, representing each "use case" that you want to keep a performance history on. Hopefully it should be reasonable to maintain this, since the manifest JSON file lets you re-use directories for multiple different benchmarks, and so you should only have to fulfill one tiny function for each different benchmark.

 Since it was easy I ported it directly to go and run some benchmarks. The this makes heavy use of the HashMap, maybe it's a decent benchmark for some use cases.
TL;DR:

for both implementations the map is preallocated, so only one allocation takes place
looks like zig uses twice the memory of go
zig is almost as fast as the go implementation in -Drelease-fast
zig takes about twice as long with -Drelease-safe
Tests were running on AMD FX(tm)-8350

Code
const std = @import("std");
const AutoHashMap = std.AutoHashMap;

fn step(x: u64) u64 {
    if (x & 1 > 0) {
        return 3 * x + 1;
    } else {
        return x / 2;
    }
}

fn length(cache: *AutoHashMap(u64, u64), x: u64) anyerror!u64 {
    if (x <= 1) return 0;
    if (cache.getValue(x)) |e| {
        return e;
    } else {
        const next = step(x);
        const len = 1 + try length(cache, next);
        try cache.putNoClobber(x, len);
        return len;
    }
}

pub fn main() anyerror!void {
    var arena = std.heap.ArenaAllocator.init(std.heap.page_allocator);
    defer arena.deinit();
    const alloc = &arena.allocator;
    var cache = AutoHashMap(u64, u64).init(alloc);
    defer cache.deinit();

    try cache.ensureCapacity(2000000);

    var x: u64 = 0;
    var maxx: u64 = 0;
    var maxl: u64 = 0;
    while (x < 1000000) : (x += 1) {
        const l = try length(&cache, x);
        if (l > maxl) {
            maxl = l;
            maxx = x;
        }
    }
    std.debug.warn("{} {}\n", .{ maxx, maxl });
}

package main

import "fmt"

func step(x uint64) uint64 {
	if x&1 > 0 {
		return 3*x + 1
	} else {
		return x / 2
	}
}

func length(cache map[uint64]uint64, x uint64) uint64 {
	if x <= 1 {
		return 0
	}
	if e, ok := cache[x]; ok {
		return e
	} else {
		next := step(x)
		l := 1 + length(cache, next)
		cache[x] = l
		return l
	}
}

func main() {
	cache := make(map[uint64]uint64, 2000000)

	var maxx uint64 = 0
	var maxl uint64 = 0
	for x := uint64(0); x < 1000000; x++ {
		l := length(cache, x)
		if l > maxl {
			maxl = l
			maxx = x
		}
	}

	fmt.Println(maxx, maxl)
}

Timings
go build -o collaz
/usr/bin/time -v ./collaz
837799 524
	Command being timed: "./collaz"
	User time (seconds): 0.35
	System time (seconds): 0.02
	Percent of CPU this job got: 99%
	Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.37
	Average shared text size (kbytes): 0
	Average unshared data size (kbytes): 0
	Average stack size (kbytes): 0
	Average total size (kbytes): 0
	Maximum resident set size (kbytes): 82208
	Average resident set size (kbytes): 0
	Major (requiring I/O) page faults: 0
	Minor (reclaiming a frame) page faults: 1689
	Voluntary context switches: 147
	Involuntary context switches: 105
	Swaps: 0
	File system inputs: 0
	File system outputs: 0
	Socket messages sent: 0
	Socket messages received: 0
	Signals delivered: 0
	Page size (bytes): 4096
	Exit status: 0

zig build -Drelease-safe
/usr/bin/time -v ./zig-cache/bin/collaz
837799 524
	Command being timed: "./zig-cache/bin/collaz"
	User time (seconds): 0.57
	System time (seconds): 0.07
	Percent of CPU this job got: 98%
	Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.65
	Average shared text size (kbytes): 0
	Average unshared data size (kbytes): 0
	Average stack size (kbytes): 0
	Average total size (kbytes): 0
	Maximum resident set size (kbytes): 163748
	Average resident set size (kbytes): 0
	Major (requiring I/O) page faults: 0
	Minor (reclaiming a frame) page faults: 40987
	Voluntary context switches: 1
	Involuntary context switches: 179
	Swaps: 0
	File system inputs: 0
	File system outputs: 0
	Socket messages sent: 0
	Socket messages received: 0
	Signals delivered: 0
	Page size (bytes): 4096
	Exit status: 0

zig build -Drelease-fast
/usr/bin/time -v ./zig-cache/bin/collaz
837799 524
	Command being timed: "./zig-cache/bin/collaz"
	User time (seconds): 0.38
	System time (seconds): 0.08
	Percent of CPU this job got: 98%
	Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.47
	Average shared text size (kbytes): 0
	Average unshared data size (kbytes): 0
	Average stack size (kbytes): 0
	Average total size (kbytes): 0
	Maximum resident set size (kbytes): 163692
	Average resident set size (kbytes): 0
	Major (requiring I/O) page faults: 0
	Minor (reclaiming a frame) page faults: 40984
	Voluntary context switches: 1
	Involuntary context switches: 140
	Swaps: 0
	File system inputs: 0
	File system outputs: 0
	Socket messages sent: 0
	Socket messages received: 0
	Signals delivered: 0
	Page size (bytes): 4096
	Exit status: 0

Thanks @lemmi for this benchmark, it's now added to this repo. I think probably before closing this issue we should come up with 2-3 more benchmarks that try to cover other use cases of hash maps. Maybe one that deals with strings, and one that creates and destroys many small hash maps in memory, and any other suggestions are welcome too.

Just saw Andrew's tweets, good work everyone.
In case that's of any interest, I had some hashmap benchmarks at https://github.com/Sahnvour/zig-containers/blob/master/benchmarks/hashmap.zig that tried to reproduce the ones mentionned by @squeek502 at https://martin.ankerl.com/2019/04/01/hashmap-benchmarks-01-overview/ .

Short update. While @andrewrk integrated the test, I was in the middle of benchmarking my implementation of the swiss hash map to make use of simd for (hopefully) faster accesstimes.
Code: https://gist.github.com/lemmi/6576efbfd9fcc7fbf74371e42e3146a8
Once I ported my code over to the new API, I'll run the tests again with the new HashMap from current master.

Brief explaination: The last number indicates the simd width. So 32 for example means 32 byte wide simd is used for metadata storage. With 16 the compiler emits SSE code, with 32 I can actually see AVX code. It's still rather puzzeling to me why the scalar version is the fastest among all architectures. Maybe the cheap comparison
AMD FX(tm)-8350
smap.Map(u64,u64,smap.getAutoHashFn(u64).hash,smap.getAutoEqlFn(u64).eql,1)                           505ms
smap.Map(u64,u64,smap.getAutoHashFn(u64).hash,smap.getAutoEqlFn(u64).eql,2)                           562ms
smap.Map(u64,u64,smap.getAutoHashFn(u64).hash,smap.getAutoEqlFn(u64).eql,4)                           523ms
smap.Map(u64,u64,smap.getAutoHashFn(u64).hash,smap.getAutoEqlFn(u64).eql,8)                           528ms
smap.Map(u64,u64,smap.getAutoHashFn(u64).hash,smap.getAutoEqlFn(u64).eql,16)                          529ms
smap.Map(u64,u64,smap.getAutoHashFn(u64).hash,smap.getAutoEqlFn(u64).eql,32)                          546ms
smap.Map(u64,u64,smap.getAutoHashFn(u64).hash,smap.getAutoEqlFn(u64).eql,64)                          624ms
smap.Map(u64,u64,smap.getAutoHashFn(u64).hash,smap.getAutoEqlFn(u64).eql,128)                         720ms
std.hash_map.HashMap(u64,u64,std.hash_map.getAutoHashFn(u64).hash,std.hash_map.getAutoEqlFn(u64).eql) 416ms

Intel(R) Xeon(R) CPU E3-1225 V2 @ 3.20GHz
smap.Map(u64,u64,smap.getAutoHashFn(u64).hash,smap.getAutoEqlFn(u64).eql,1)                           383ms
smap.Map(u64,u64,smap.getAutoHashFn(u64).hash,smap.getAutoEqlFn(u64).eql,2)                           408ms
smap.Map(u64,u64,smap.getAutoHashFn(u64).hash,smap.getAutoEqlFn(u64).eql,4)                           390ms
smap.Map(u64,u64,smap.getAutoHashFn(u64).hash,smap.getAutoEqlFn(u64).eql,8)                           393ms
smap.Map(u64,u64,smap.getAutoHashFn(u64).hash,smap.getAutoEqlFn(u64).eql,16)                          401ms
smap.Map(u64,u64,smap.getAutoHashFn(u64).hash,smap.getAutoEqlFn(u64).eql,32)                          421ms
smap.Map(u64,u64,smap.getAutoHashFn(u64).hash,smap.getAutoEqlFn(u64).eql,64)                          469ms
smap.Map(u64,u64,smap.getAutoHashFn(u64).hash,smap.getAutoEqlFn(u64).eql,128)                         545ms
std.hash_map.HashMap(u64,u64,std.hash_map.getAutoHashFn(u64).hash,std.hash_map.getAutoEqlFn(u64).eql) 431ms

AMD Ryzen 5 3600X 6-Core Processor
smap.Map(u64,u64,smap.getAutoHashFn(u64).hash,smap.getAutoEqlFn(u64).eql,1)                           400ms
smap.Map(u64,u64,smap.getAutoHashFn(u64).hash,smap.getAutoEqlFn(u64).eql,2)                           458ms
smap.Map(u64,u64,smap.getAutoHashFn(u64).hash,smap.getAutoEqlFn(u64).eql,4)                           432ms
smap.Map(u64,u64,smap.getAutoHashFn(u64).hash,smap.getAutoEqlFn(u64).eql,8)                           435ms
smap.Map(u64,u64,smap.getAutoHashFn(u64).hash,smap.getAutoEqlFn(u64).eql,16)                          435ms
smap.Map(u64,u64,smap.getAutoHashFn(u64).hash,smap.getAutoEqlFn(u64).eql,32)                          448ms
smap.Map(u64,u64,smap.getAutoHashFn(u64).hash,smap.getAutoEqlFn(u64).eql,64)                          461ms
smap.Map(u64,u64,smap.getAutoHashFn(u64).hash,smap.getAutoEqlFn(u64).eql,128)                         497ms
std.hash_map.HashMap(u64,u64,std.hash_map.getAutoHashFn(u64).hash,std.hash_map.getAutoEqlFn(u64).eql) 373ms

@lemmi In my experience, going for a similar design to google's hashtable (8bit meta data per element) with scalar code was faster. I think the SIMD is beneficial to them because they try to achieve extremely high load factor (97.5% iirc) which implies quite a lot of probing, especially when they use C++'s standard hash which is of very poor quality.
With a hash function of good quality, the bottleneck is likely on the initial cache-miss more than on the probing.
In your implementation, I see you're using modulus % operations in the groupIter code. This is very slow, and your code would probably be faster if you used a bitmask since you already work with power-of-two sizes.

@Sahnvour thanks a lot for your input. Your comment made me want to measure memory usage behaviour when not preallocating memory. Also getting rid of the modulus operations was indeed getting me a couple tens of milliseconds in comparison to the numbers above.
The google style hashmap can indeed be pushed to much higher loadfactors before loosing performance. And now the numbers look very different. Since the old std map needed to keep a lot of free space, more allocations and therefore copying/rehashing is necessary. It also uses quite a bit more memory, which is coherent with my findings while comparing to the go implementation.
Benchmarks without preallocation
Third column is the maximum allocated memory. I left out the worse performing vector sizes.
Code: https://gist.github.com/lemmi/c4e9dbedc5424a82e300c0000cf46728
AMD FX(tm)-8350
smap.Map(u64,u64,smap.getAutoHashFn(u64).hash,smap.getAutoEqlFn(u64).eql,1)                             737ms 104448K
smap.Map(u64,u64,smap.getAutoHashFn(u64).hash,smap.getAutoEqlFn(u64).eql,16)                            809ms 104448K
std.hash_map.HashMap(u64,u64,std.hash_map.getAutoHashFn(u64).hash,std.hash_map.getAutoEqlFn(u64).eql)   838ms 196608K

Intel(R) Xeon(R) CPU E3-1225 V2 @ 3.20GHz
smap.Map(u64,u64,smap.getAutoHashFn(u64).hash,smap.getAutoEqlFn(u64).eql,1)                             499ms 104448K
smap.Map(u64,u64,smap.getAutoHashFn(u64).hash,smap.getAutoEqlFn(u64).eql,16)                            527ms 104448K
std.hash_map.HashMap(u64,u64,std.hash_map.getAutoHashFn(u64).hash,std.hash_map.getAutoEqlFn(u64).eql)   696ms 196608K

AMD Ryzen 5 3600X 6-Core Processor
smap.Map(u64,u64,smap.getAutoHashFn(u64).hash,smap.getAutoEqlFn(u64).eql,1)                             418ms 104448K
smap.Map(u64,u64,smap.getAutoHashFn(u64).hash,smap.getAutoEqlFn(u64).eql,16)                            447ms 104448K
std.hash_map.HashMap(u64,u64,std.hash_map.getAutoHashFn(u64).hash,std.hash_map.getAutoEqlFn(u64).eql)   507ms 196608K

I hope I don't carry this too much off topic.

I hope I don't carry this too much off topic.

This is very much on topic!

I'm adding some benchmarks that can take up to a few tens of seconds. Should we make them as atomic as possible, or is it ok to have them all in std-hash-map ?


Cannot read property 'length' of undefined

I'm trying to use angularjs-dropdown-multiselect but i'm getting Cannot read property 'length' of undefined
below is my html code

and my controller code
$scope.bodypartSettings ={displayProp: 'modalityName', idProp: 'modalityId'};
modalities is an array coming from server

Sorry issue is resolved it's my mistake my promise is not resolve


Volume Render Seems still buggy. Render Stop Case

I just add multiple lamp render will stop after few second(1~2sec). Not Error message. Just displays as Render Finish and render time 00：00：00
Notes：
My RM version:20.5
https://www.dropbox.com/s/n9oqm3i615dzmbj/buggie.blend?dl=0

There was a ton of volume improvements put in to 20.7.  Can you try installing that?

Cool I will install tomorrow Thanks ！

I've also had problems with volume. I'm using 20.7 and the latest build of the Blender addon. All seems fine during the render then it sticks when denoising. It doesn't finish.

So there is a volume specific denoise setting that we don't currently use.
Can you attach the scene.
On Fri, Feb 19, 2016 at 4:14 AM, Mouldfish<EMAIL_ADDRESS>wrote:

I've also had problems with volume. I'm using 20.7 and the latest build of
the Blender addon. All seems fine during the render then it sticks when
denoising. It doesn't finish.
—
Reply to this email directly or view it on GitHub
https://github.com/bsavery/PRMan-for-Blender/issues/191#issuecomment-186192897
.

--
<EMAIL_ADDRESS>508-274-8700

Sure, here it is: https://db.tt/Y3BDNod5
It takes a long time to render, then doesn't complete.


Weird behaviour possibly related to aliases + type modifier

Ok, this is a long one, sorry for that. I'm trying to explain this issue the best I can with most details I've learnt. Feel free to ask me anything!
Also, even though I'm not familiar with the source code, if someone could give me a tip about this issue (like where to start looking) I could try to solve it and send a PR.
Anyways, here we go...
Reproduction
All the code snippets in this issue are part of the following repo (I'll link specifics files too for easier navigation)
https://github.com/lucas-labs/vue3-vsl/tree/dts-issue-repro
Issue description
I have two components: VirtualScroller.vue, which is the main ("parent") component and ScrollerItem.vue which is a secondary ("child") component, used by VirtualScroller.
In VirtualScroller (aka main component) I'm importing a few types and it's child ScrollerItem:

VirtualScroller.vue (click to go to the file)

<script setup lang="ts">
    import {
        type ItemIdType,
        type DataKeyFunction,
        type ScrollingDirection,
        type VirtualListRange,
        SlotType
    } from '@/common/types';

    // this one is another component
    import ScrollerItem from './ScrollerItem.vue';

    ...
</script>

Notice that I'm both using @ alias and mixing type modifier with non-type import (SlotType)

The generated .d.ts looks like this:

VirtualScroller.vue.d.ts

// ItemIdType and AnObject are comming from ScrollerItem (I'll explain why later on)
import type { ItemIdType, AnObject, type DataKeyFunction } from '../common/types';

Three issues here:

Its not importing ScrollerItem , but instead redifining it with DefineComponent (I think this is desired behaviour but I add it here just to check that out)
Its using import type with type modifier, which I guess is not correct:
ERR: The 'type' modifier cannot be used on a named import when 'import type' is used on its import statement.
Most of my imports are missing (e.g ScrollingDirection, VirtualListRange)

Also notice ItemIdType, AnObject and DataKeyFunction are actually beign imported just fine!
But why? Why some are imported and some are not?
Turns out in ScrollerItem.vue I'm not using aliases:

ScrollerItem.vue

<script setup lang="ts">
    import { EventType, type AnObject, type ItemIdType } from '../common/types';
</script>

Therefore its .d.ts imports are ok:

ScrollerItem.vue.d.ts

import { type AnObject, type ItemIdType } from '../common/types';
...

Thanks to that, in my first component (VirtualScroller.vue) AnObject and ItemIdType are both beign imported, whilst other types aren't.
What about DataKeyFunction. Why that one is also being imported?
Turns out inside VirtualScroller.vue I'm using DataKeyFunction to define a type like this:
type VirtualScrollerProps = {
  dataKey: string | DataKeyFunction;
  direction?: ScrollingDirection;
}

Notice the string | DataKeyFunction. If I delete string | , then DataKeyFunction will also be missed from the .d.ts. Just like ScrollingDirection.
In fact if I define direction to be something like this, then it will be imported in the .d.ts file... weird.
 direction?: ScrollingDirection | ScrollingDirection;

You can add following to your plugin options to check diagnostics:
dts({
  skipDiagnostics: false,
  logDiagnostics: true
})


Improvement - Add Github Actions Testing / Package Workflows

Migrate testing & pypi packaging into github actions from private jenkins server.

[x]  - Setup Github actions workflows for Testing
[x]  - Setup Github actions workflows for Packaging to PyPI
[x]  - Test the Tests

Completed via #20


(SMA-10) Added Player model, controller and route for add.

Adds mongoose model for Player. Created add Route/Controller for Player.

Looks good to me!

Looks good to me!


change to_array routines to fix pointer issues

this fixes an issue seen in PRs #173  and #166 where the test fails with error:
[ERROR]: Array allocated with wrong shape

Whilst it looks like I have fixed the problem by simply removing the lines... I can assure the reviewer that I didn't do that deliberately :wink:
I think I have an idea why it doesn't work, and why those lines need to be removed. It essentially stems from 2 points:

the data_out pointer is declared as intent(out)
https://github.com/Cambridge-ICCS/FTorch/blob/e0d82698cc2543b1281f4606007fcc29d7c5c85b/src/ftorch.f90#L2415
This means that the following lines don't have much meaning
https://github.com/Cambridge-ICCS/FTorch/blob/e0d82698cc2543b1281f4606007fcc29d7c5c85b/src/ftorch.f90#L2426-L2442
Secondly, sizes is marked optional
https://github.com/Cambridge-ICCS/FTorch/blob/e0d82698cc2543b1281f4606007fcc29d7c5c85b/src/ftorch.f90#L2416
But that would make the following line undefined, because if sizes is missing on input, it could have any value or just crash
https://github.com/Cambridge-ICCS/FTorch/blob/e0d82698cc2543b1281f4606007fcc29d7c5c85b/src/ftorch.f90#L2446

I don't see a use case (other than convenience) where you wouldn't need to know the size of your output data. It can be passed in rather easily using shape() etc.
Happy to discuss in our next meeting. I might be overlooking something, but I think this works (at least on my machine)

After a fresh look I think the issue may arise in the line
        allocate(data_out(sizes(1)#{for i in range(1,RANK)}#,sizes(${i+1}$)#{endfor}#))

That for some reason causes the data_out to be allocated the wrong size on certain occasions.
However, looking at the generated F90 file I see no clear issues, nor how the error seen in the CI would arise...!!
I should also note that I could not generate the error on my local machine.

Yeah, I didn't do the best job of explaining...

Yes, intent is more of a guideline but in our case (examples/6_Autograd/autograd.f90) we had no prior initializations (see below)
https://github.com/Cambridge-ICCS/FTorch/blob/e0d82698cc2543b1281f4606007fcc29d7c5c85b/examples/6_Autograd/autograd.f90#L16-L27
We define the pointer, but it isn't associated to a target (and in this case that would be a bad thing to do anyway). For our use case it should literally only be intent(out) because any other option would mean we require information coming in. It is in torch_tensor_to_array that we actually want to assign it (see snippet below c_f_pointer). This means that all of the checks we had before "don't make much sense", because we would never want them to be true (even if they were).
https://github.com/Cambridge-ICCS/FTorch/blob/e0d82698cc2543b1281f4606007fcc29d7c5c85b/src/ftorch.f90#L2486

My point, similar to above is that out_data necessarily doesn't have a shape. My best guess (and it's a guess at best) is that sometimes the pointer is allocated to a random location in memory where it can sometimes have a shape. But as I try to allude to above, when we enter the torch_tensor_to_array function, the pointer should be unassociated and therefore shouldn't have a size or shape etc. The previous code would still work if we assigned out_data explicitly to the null pointer. I have just raised a new PR to demo what I mean (#176) . This means we have to trust the user to be very careful indeed with pointers.... :eyes:

Discussion on 14/10/2024
We discussed and agreed the following route forwards:

@TomMelt will bring tensor:sizes() over from the C++ API as its own function to query a torch tensor for size/shape data
This will then feed this PR where we will allow users to optionally specify sizes, but will query the above function if not.

If sizes is passed in it will be checked against the tensor shape

If mismatch flag error to hint users made a mistake, else proceed

If sizes is not passed in query the tensor and get sizes to assign shape during pointer assignment

Also update the exercises and documentation to be clear that users should set their pointers to =>null() before

This means that people can send a pointer and tensor to a function and get the data back to Fortran without prior knowledge/allocation of the array, as was intended by @jwallwork23 but is done in a safer way with a bit more C++ (which may well be useful anyway).
I will now close #174 #176 #177 #178 As this has been discussed and agreed.

Before merging this PR, we need to merge:

#181
#180

@jatkinson1000 , given comments in the related PRs (#180 #181) I plan to add a test of the new functionality to this PR to check the shape and size work as expected :ok_hand:


support help doc

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 90.83%. Comparing base (ae68612) to head (becd6b4).

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##           master      #17      +/-   ##
==========================================
+ Coverage   90.56%   90.83%   +0.26%
==========================================
  Files           4        4
  Lines         371      371
==========================================
+ Hits          336      337       +1
+ Misses         35       34       -1

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


bugs under estimate

converting estimate to invoice from the sent status

[x] remove place of supply field

[x] remove place of supply field when tax treatment for selected customer is NON GCC

converting estimate to Sales order from the accepted status

[ ] remove place of supply field

[ ] converting estimate to Sales order from the accepted status, place of supply field is not yet removed

ISSUE FIXED !


Add #[automatically_derived] to derive macros

Each implementation generated by macros should be tagged with the attribute #[automatically_derived].
Many other libraries including serde and sqlx do this. I'm not sure what tools currently use this, but it would be a minor improvement, but definitely not important at this stage.
https://doc.rust-lang.org/reference/attributes/derive.html#the-automatically_derived-attribute
As an example:
// sea-orm-macros/src/derives/active_model.rs
quote!(
    #[automatically_derived]
    impl sea_orm::ActiveModelTrait for ActiveModel {
        ...
    }
)

Sure, I agree. A PR will be appreciated!


PEEP process

Be sure to check the existing issues (both open and closed!), and make sure you are running the latest version of Pipenv.
Check the diagnose documentation for common issues and the PEEP list before posting! We may close your issue if it is very similar to one of them. Please be considerate and follow the PEEP process, or be on your way.
Make sure to mention your debugging experience if the documented solution failed.
Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here. It may be a good idea to mention that platform and Python version you are on.

Please run $ pipenv --support, and paste the results here. Don't put backticks (`) around it! The output already contains Markdown formatting.
If you're on macOS, run the following:
$ pipenv --support | pbcopy

If you're on Windows, run the following:
> pipenv --support | clip

If you're on Linux, run the following:
$ pipenv --support | xclip

@Neiland85 why are you opening these issues with a standard template and no contents?   It feels very much like spam...

Sorry, i'm new and supouse i'm not doing well, sorry.

@Neiland85 just explain what you are trying to accomplish, maybe we can help or support if it makes sense -- otherwise though it just appears unhelpful.


Is it possible to release pretrained model weights (without downstream task fine-tuned)?

Hello! Thanks for your great repository.
I saw you only release the already fine-tuned V+L models, is it possible to distribute pretrained model weights only for the 5 models in your controlled set-up?
Thanks in advance!

Hi,
The currently released weights are actually after pretraining!
The values in the table are the expected performance when you fine-tune them. Sorry for the confusion.

Hi,
Thanks for the clarification!


Removed deprecated contract usage in DeployAccount::apply()

Removed deprecated contract usage in DeployAccount::apply()
Description
Closes #675
Checklist

[x] Linked to Github Issue
[ ] Unit tests added
[ ] Integration tests added.
[ ] This change requires new documentation.

[ ] Documentation has been added/updated.

Small nit: maybe we should use the INITIAL_GAS_COST const instead of a big num

Small nit: maybe we should use the INITIAL_GAS_COST const instead of a big num

Yes, i was just adding that fix in the new commit

Codecov Report

Merging #677 (3874c1c) into main (2870277) will decrease coverage by 0.01%.
The diff coverage is 96.29%.

:exclamation: Current head 3874c1c differs from pull request most recent head 2688f53. Consider uploading reports for the commit 2688f53 to get more accurate results

@@            Coverage Diff             @@
##             main     #677      +/-   ##
==========================================
- Coverage   92.24%   92.24%   -0.01%
==========================================
  Files          52       52
  Lines       11038    11031       -7
==========================================
- Hits        10182    10175       -7
  Misses        856      856

Impacted Files
Coverage Δ

src/transaction/deploy_account.rs
97.78% <96.00%> (-0.05%)
:arrow_down:

...calls/deprecated_business_logic_syscall_handler.rs
89.93% <100.00%> (ø)

src/transaction/fee.rs
98.76% <100.00%> (ø)


Moved deletePhotos to use new PHAsset API and added an implementation for Android

Summary
This pull request fixes #59 by moving to the new PHAsset API on iOS and adding an implementation for Android.
Test Plan
I created a local app where I called deletePhotos with a single URI and with multiple URIs. Behaviour was as expected, e.g. that on iOS a confirmation dialog was presented, and on Android the files were deleted immediately.
I'd be happy to modify the example app in this repo to demonstrate this functionality, just need some guidance on what you'd like to see there.
What's required for testing (prerequisites)?

Photos must be on the device you wish to test on.
Example app must be installed.

What are the steps to reproduce (after prerequisites)?

Call getPhotos to get some URIs
Call deletePhotos to delete some of them.

Compatibility

OS
Implemented

iOS
✅

Android
✅

Checklist

[X] I have tested this on a device and a simulator
[X] I added the documentation in README.md
[ ] I mentioned this change in CHANGELOG.md (I'm unable to find the CHANGELOG.md file.)
[X] I updated the typed files (TS and Flow)
[ ] I added a sample use of the API in the example project (example/App.js) (Need some guidance on how you'd like this demoed.)

this looks really good! With regards to the demo, maybe you can simply add a delete button for each image in the list.

Thanks @bartolkaruza, I'll have a look at doing that today.

Ok, I can't update the example app.

react-native run-android: Android project not found. Maybe run react-native android first?
react-native run-ios:

Error: Could not find iPhone X simulator
    at resolve (/Users/kevin/development/react-native-cameraroll/node_modules/react-native/local-cli/runIOS/runIOS.js:149:13)
    at new Promise (<anonymous>)
    at runOnSimulator (/Users/kevin/development/react-native-cameraroll/node_modules/react-native/local-cli/runIOS/runIOS.js:134:10)
    at Object.runIOS [as func] (/Users/kevin/development/react-native-cameraroll/node_modules/react-native/local-cli/runIOS/runIOS.js:106:12)
    at Promise.resolve.then (/Users/kevin/development/react-native-cameraroll/node_modules/react-native/local-cli/cliEntry.js:117:22)

(even though I actually have the iPhone X simulator open when I run that command) Looks like this

Trying to open the xcworkspace file in XCode: `The document "RNCCameraroll.xcworkspace" could not be opened."

I used @brickion's workaround from that issue, but still can't run the example:
$ react-native run-ios
Found Xcode workspace RNCCameraroll.xcworkspace
Launching iPhone X (com.apple.CoreSimulator.SimRuntime.iOS-12-4)...
Building using "xcodebuild -workspace RNCCameraroll.xcworkspace -configuration Debug -scheme RNCCameraroll -destination id=6D9FBB0E-7637-4F9C-921D-7C39040DA883 -derivedDataPath build"
User defaults from command line:

    IDEDerivedDataPathOverride = /Users/kevin/development/react-native-cameraroll/ios/build

xcodebuild: error: Unable to load workspace 'RNCCameraroll.xcworkspace'.
	Reason: Could not open workspace file at ~/development/react-native-cameraroll/ios/RNCCameraroll.xcworkspace/contents.xcworkspacedata

Does someone have a workspace file that opens?

@bartolkaruza any advice?

Also if I open example/ios/CameraRollExample.xcodeproj directly and try to build that way I get:
Unable to resolve build file: XCBCore.BuildFile (The workspace has a reference to a missing target with GUID '2395dd43f7554a4f72df787da879c3a7c45cabbf4c5a2c35eaff84f6bea700d9')

@thekevinbrown I will have a look at your PR over the weekend. I just merged in a few other that were long overdue. If you have time before that, can you rebasing cleanly on the latest commits on master?

@bartolkaruza Done!

@bartolkaruza, sorry to pester, just wondering if there's anything I can do to help get this merged in.

Hey @bartolkaruza, I'm still keen to get this merged in so we can stop using our fork of this repo. Anything I can do to help here?

Hey guys, it’s been 4 months. Can we make a plan to get this in?

Hey, the simulator issue is solveable by doing --simulator="iPhone 11". This had to do with an update of Xcode that didn't include the iPhone X simulator correctly.
I'll test this now and merge if everything is ok

:tada: This PR is included in version 1.3.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

Thank you @bartolkaruza, much appreciated!


Added documentation on Arrays

Description 📜
Added documentation on arrays, types of arrays, and their codes.
Fixes #3461

Type of change 📝

[x] Documentation (Content Creation in the form of codes or tutorials)

Domain of Contribution 📊

[x] C/#CPP

Checklist ✅

[x] I follow Contributing Guidelines & Code of conduct of this project.
[x] I have performed a self-review of my own code or work.
[ ] I have commented my code, particularly in hard-to-understand areas.
[x] My changes generates no new warnings.
[x] I'm GWOC'21 contributor

Screenshots / Gif (Optional) 📸

@astha2412 please close this PR and make a new one. Before making a new one remember to fetch upstream-> fetch and merge.


feat(plugins): add experimental client side Cody plugins

Part of https://github.com/sourcegraph/sourcegraph/issues/54750.
Description
This PR adds:

An experimental Cody plugins
It comes with a list of built-in plugins for now

Test plan

Launch VS Code extension
Update global or local to workspace .vscode/settings.json:{
  // ...
  "cody.plugins.enabled": true,
  "cody.plugins.config": {
    "confluence": {
      "baseUrl": "<confluence-instance>",
      "email": "<email>",
      "apiToken": "<api-token>",
    },
    "apiNinjas": {
      // from https://api-ninjas.com/
      "apiKey": "<api-key>",
    },
    "github": {
      "apiToken": "<api-token>",
    },
  }
}

Open the "Plugins" tab and enable the plugins you want to be enabled in conversations
Start a conversation with Cody

Demo
https://github.com/sourcegraph/cody/assets/6717049/3a37ef70-4403-4ad0-911b-b92f78844ef8

It might be better if we can have an option to not include contextMessages when using certain plugins , maybe that could be something to explore in the future?

Can you share an example use-case maybe?

I did notice one issue though: I tried using inline fixups with the changes added in this PR and it looks like it removes the response from Cody?

Good catch, wasn't using recipes at all so missed this, thanks! Fixed d0e66c6dc142cbfd1c4c29209d64f9e791885d21 to include plugins only for chat messages.


fix: remove v1beta1

Fixes #123 🦕

Has the v1beta1 endpoint been turned down? I still see https://cloud.google.com/secret-manager/docs/reference/rpc/google.cloud.secrets.v1beta1


Reset WindowAcrobatics when installing via SAR file

Add a line to preamble:
WAHandler reset.

And open WA-Preferences afterwards.


How to use this images as base image on a windows host

Hi,
I would like to know, how I can use this image as base image and build containers on a Windows host system? I would like to run e2e test and docker build on the same machine.
Currently, this images requires buildkit, but buildkit doesn't work on Windows yet.

This image can only be used with HostProcess Containers.  It will not work with process isolated containers like windows server core or nano server.
Buildkit does have some early support for windows: https://github.com/microsoft/Windows-Containers/issues/34#issuecomment-1980236129.
What e2e tests are you trying to run?

What e2e tests are you trying to run?

On my CI, I have 3 three jobs:
Build application, test application, package application. All three steps running on a Windows host.
The application I would like to build is an go application and must run as HostProcess container.
Currently, I'm building typical nanoserver based image with docker build on that same Windows machine where I run the build and test before.
Know, I would like to the change the base image from nanoserver to the host process images, but currently I'm unable to do that on a Windows host.

Works, thanks

FYI: I finally implement this in our CI, however it does not. Windows hccshim throws unknown error on push step


python3Packages.empy: init at 3.3.4

Motivation for this change
Package needed for my development, so I've added it.
Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[x] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

@nkalupahana please combine the adding of the package to the top-level with the commit that inits the package.

Result of nixpkgs-review pr 148664 run on x86_64-darwin 1

2 packages built:

python38Packages.empy
python39Packages.empy

Result of nixpkgs-review pr 148664 run on x86_64-darwin 1

2 packages built:

python38Packages.empy
python39Packages.empy

LGTM, thanks!


[backport] Avoid using CUlinkState unless absolutely necessary

Backport of #3992

[automatic post] Jenkins, test this please.

Jenkins CI test (for commit f1b199a6b85165f130c83c533555f473ffa3520f, target branch v8) succeeded!

LGTM.


Running into "Some tensors share memory" RuntimeError when converting finetuned GPT2

First of all, thanks a bunch for all your work on safetensors @Narsil (and HuggingFace for opensourcing it)!
I was keen to try it out in a very straightforward manner with a finetuned GPT2 model with the following script:
from transformers import GPT2LMHeadModel, GPT2Tokenizer
gpt2_model = GPT2LMHeadModel.from_pretrained("./model")
gpt2_model.save_pretrained('./model-safetensor', safe_serialization=True)

Sadly, this resulted in the following RuntimeError:
  File "/Users/mrshu/Library/Caches/pypoetry/virtualenvs/gpt2-experiments-4HuXp8fp-py3.8/lib/python3.8/site-packages/transformers/modeling_utils.py", line 1619, in save_pretrained
    safe_save_file(shard, os.path.join(save_directory, shard_file), metadata={"format": "pt"})
  File "/Users/mrshu/Library/Caches/pypoetry/virtualenvs/gpt2-experiments-4HuXp8fp-py3.8/lib/python3.8/site-packages/safetensors/torch.py", line 70, in save_file
    serialize_file(_flatten(tensors), filename, metadata=metadata)
  File "/Users/mrshu/Library/Caches/pypoetry/virtualenvs/gpt2-experiments-4HuXp8fp-py3.8/lib/python3.8/site-packages/safetensors/torch.py", line 220, in _flatten
    raise RuntimeError(
RuntimeError: Some tensors share memory, this will lead to duplicate memory on disk and potential differences when loading them again: [{'lm_head.weight', 'transformer.wte.weight'}]

This was rather strange for me to run into, as my naive reading of the Docs (https://huggingface.co/docs/safetensors/speed) was that gpt2 should be fairly straightforward to convert.
Can you see anything I might have done wrong? Could it be due to the fact that the model was originally serialized on an older version of transformers? I would appreciate any thoughts and suggestions you could spare.
Thanks!

As the listing above suggests, this was tried on Python 3.8, with the following packages installed:
certifi==2022.9.24
charset-normalizer==2.1.1
filelock==3.8.0
huggingface-hub==0.11.0
idna==3.4
numpy==1.23.5
packaging==21.3
Pillow==9.3.0
pyparsing==3.0.9
PyYAML==6.0
regex==2022.10.31
requests==2.28.1
safetensors==0.2.4
tokenizers==0.13.2
torch==1.13.0
torchaudio==0.13.0
torchvision==0.14.0
tqdm==4.64.1
transformers==4.24.0
typing_extensions==4.4.0
urllib3==1.26.12

If there is any other piece of information I could provide that would help debug this issue, please let me know.

Thank you @mrshu for reporting this,
The reason for this error is that is we need to update transformers code for that.
In PyTorch you can do:
a = torch.zeros((2, 2))
b = a[:1, :]
torch.save({"a": a, "b": b})

And everything will work fine, and the tensors will be shared when loading the weights.
This is not possible in safetensors because it can lead to tricky issues where you allocate more than you need (when loading only "b" for instance, you will allocate the whole "a" tensor, and only slice into it). It also leads to more issues when doing things like distributed training/saving (where the weights cannot be shared).
You can use this script to convert existing weights: https://github.com/huggingface/safetensors/blob/main/bindings/python/convert.py . More specifically those lines: https://github.com/huggingface/safetensors/blob/main/bindings/python/convert.py#L91-L94
I'll open something in transformers to fix this. It's only a matter of skipping the decoder.weight weight while saving for it to work.
This won't cause any issues for transformers because the weight is automatically tied when you are loading with AutoModel.from_pretrained(...). Meaning the tensors will be correctly shared.


Document ignoreMissing option for browserify() (closes #1595)

The option is used by the CLI but was previously not documented in the README.

I'm guessing the original intent was that it would be in the https://github.com/substack/module-deps docs, which is where the option is actually used. There is a line in the documentation here that says "All other options are forwarded along to module-deps and browser-pack directly."
That's awfully obtuse though, so I'll merge this. Thanks.


DFPL-1855 Set migrateCase as a “reconfigure” event

JIRA link (if applicable)
https://tools.hmcts.net/jira/browse/DFPL-1855
Change description
Set migrateCase as a “reconfigure” event
Does this PR introduce a breaking change? (check one with "x")
[ ] Yes
[X] No

@so99y Just gotta update the unit tests too - whilst not very... broad we do have ones to check the number of rows in the DMN tables! I think to avoid unintended changes (although not so sure on the usefulness of that one 😄)

No longer required.


[!LIVE!] Azerbaijan vs Estonia Live Free Streams Online 16 November 2024

Azerbaijan and Estonia face off on Saturday in UEFA Nations League action.
Seher Stadium is set to host the exciting weekend matchup between home side Azerbaijan and visiting nation Estonia on Saturday in UEFA Nations League action. The visitors head into the meeting as the third-placed team in the Group 1 standings in League C. The team has been able to secure just three points out of its first four matches of the UEFA Nations League group stage. Estonia opened its campaign with a slim 1-0 defeat to Slovakia on Sep. 5 at A. Le Coq Arena. The match was deadlocked at 0-0 for the first 70 minutes, until Tomáš Suslov found the back of the net to secure all three points for the Slovakian national team.
How to Watch Azerbaijan vs. Estonia, UEFA Nations League:
Date: Saturday, Nov. 16, 2024
Time: 8:50 a.m. ET
TV Channel: FOX Soccer Plus
Live stream Azerbaijan vs. Estonia on Fubo: Start your free trial today!
Then, Estonia met Sweden at Friends Arena on Sep. 8. The Estonian national team went down 3-0 in the first half, following goals from Viktor Gyökeres (two) and Newcastle United striker Alexander Isak.
Furthermore, Kevor Palumets received a red card in the 62nd minute, leaving the starting midfielder unavailable to face Azerbaijan on matchday three.
The national teams of Azerbaijan and Estonia will play against each other in the 5th round of the UEFA Nations League on November 16, 2024. The loser of the head-to-head confrontation will fly out of the League from the last place, but a draw will be enough for the guests.
Our prediction for the match Azerbaijan vs Estonia
“The Land of Fire” cannot show itself in any way. Being under the leadership of high-status coaches, the representative of the Transcaucasus demonstrated nothing special. For instance, the previous Euro qualifiers brought only 7 points. “The Blueshirts” played there, and limited themselves to only a draw in Baku.
Now such a venerable specialist as Fernando Santos is working with the Azerbaijanis. Still, the Portuguese mentor is also failing, as in his previous places of work, in the Polish national team and in Beşiktaş. All 4 matches were lost. And the game against another underdog gave an opportunity to score only from a penalty kick before the break, but 3 goals were conceded in response.
As for “the Balts”, they are not doing well either. They won the Baltic Cup at the beginning of the summer. And they crushed the guests from Baku with a 3-1 result. Still, the rest of the matches, with slightly stronger opponents, brought only defeats. efyhfrg

d fd dd


Anomaly When Testing pay_prefunded_invoice extrinsic in prefunding pallet

When you want to pay_prefunded_invoice You need to first prefund_someone
Prefunding someone sets the status to Locked for the owner and Unlocked for the beneficiary.
But then, pay_prefunded_invoice is expecting the status to be Locked for the owner and Locked for the beneficiary.
In what case will the status be Locked for the owner and Locked for the beneficiary? I can't seem to find that case where status is being set to that for the PrefundingHashOwner storage

The beneficiary must accept the order for it to be locked for them. When both locks are in place then the order is deemed to have been accepted by the person doing the work.
If the beneficiary has not accepted the order by a certain time the owner can pull the money back, but if it is already accepted, then the owner cannot pull the money back, and any issues are disputes that need to be resolved by both parties, otherwise nobody gets the money and it stays locked.


fix(starter kit): update to latest design system

I updated to the latest design system and also set the package.json to accept any changes on an npm install as long as it isn't a major version bump. How does that sound to folks?

Hmm... failed on something odd. @aputinski what do you make of this:
npm ERR! fetch failed<EMAIL_ADDRESS>

I'd try restarting the build.. looks like a network error


SelectList: Update docs and add Best Practices

cc @dangerismycat

OK, I think I covered all the feedback. Thanks again!


failed to import pypfopt: DLL load failed

Hi,
I installed PyPortfolioOpt sucessfully on my Anaconda environment, but failed to import this lib.
C ++ 2015-2019 already installed, visual studio 2019 already installed.
Could u pls help check why it still can't work? Thank you so much !

Hi @nikitazhhy,
Are you on windows? What version of python are you running?
Can you open a python shell in your terminal and try import pandas, numpy followed by import pypfopt; print(pypfopt.__version__).
Robert

Hi @nikitazhhy,
Are you on windows? What version of python are you running?
Can you open a python shell in your terminal and try import pandas, numpy followed by import pypfopt; print(pypfopt.__version__).
Robert

Hi, Robert,
I'm using python 3.7,

Hi @nikitazhhy,
Are you on windows? What version of python are you running?
Can you open a python shell in your terminal and try import pandas, numpy followed by import pypfopt; print(pypfopt.__version__).
Robert

Hi, Robert,
I'm using python 3.7 on windows 10. I just reinstalled Ananconda and pypfopt finally works  !
So weird, but thanks god it works now.
Thanks !


'SnapKit.ConcreteConstraint' does not implement methodSignatureForSelector

Making constraints in a UICollectionViewCell's override init(frame: CGRect) causes a crash on a iPad Mini with iOS 8.2. The same code works on a iPad Air iOS 8.3. Constraints are added to a child view of the contentView.
Console log:
*** NSForwarding: warning: object 0x16d13270 of class 'SnapKit.ConcreteConstraint' does not implement methodSignatureForSelector: -- trouble ahead Unrecognized selector -[SnapKit.ConcreteConstraint superview]
SIGABRT happens on https://github.com/SnapKit/SnapKit/blob/0.10.0/Source/Constraint.swift#L302

@tommi any chance you can share a more complete stack trace or code that is setting up the constraints?

@robertjpayne  sure! It's somewhat like this:
class AdventureCell: UICollectionViewCell {
    override init(frame: CGRect) {
        super.init(frame: frame)

        contentView.addSubview(label)

        label.snp_remakeConstraints {
            (make) -> Void in
            make.right.equalTo(self.contentView).offset(-12)
            make.height.equalTo(20)
            make.left.equalTo(self.contentView.snp_centerX).offset(2)
            make.bottom.equalTo(self.contentView).offset(-12)
        }
    }
}

#0	0x311fadf0 in __pthread_kill ()
#1	0x3127ac96 in pthread_kill ()
#2	0x31199938 in abort ()
#3	0x0085f77e in swift::fatalError(char const*, ...) ()
#4	0x0085fcce in -[SwiftObject doesNotRecognizeSelector:] ()
#5	0x22b87948 in forwarding ()
#12	0x26179e54 in -[UIView(UIConstraintBasedLayout) addConstraints:] ()
#13	0x00594764 in function signature specialization <Arg[0] = Exploded, Arg[1] = Owned To Guaranteed> of SnapKit.ConcreteConstraint.installOnView (SnapKit.ConcreteConstraint)(updateExisting : Swift.Bool) -> Swift.Array<SnapKit.LayoutConstraint> at /.../Carthage/Checkouts/SnapKit/Source/Constraint.swift:302
#14	0x00591140 in SnapKit.ConcreteConstraint.installOnView (SnapKit.ConcreteConstraint)(updateExisting : Swift.Bool) -> Swift.Array<SnapKit.LayoutConstraint> at /.../Carthage/Checkouts/SnapKit/Source/Constraint.swift:194
#15	0x005aaad0 in static SnapKit.ConstraintMaker.remakeConstraints (SnapKit.ConstraintMaker.Type)(ObjectiveC.UIView, closure : (make : SnapKit.ConstraintMaker) -> ()) -> () at /.../Carthage/Checkouts/SnapKit/Source/ConstraintMaker.swift:165
#16	0x000b475c in Project.CoverCell.updateConstraints (Project.CoverCell)() -> () at ProjectViewController.swift:83
#17	0x000b5094 in @objc Project.CoverCell.updateConstraints (Project.CoverCell)() -> () ()
#18	0x266b81ea in -[UIView(AdditionalLayoutSupport) _internalUpdateConstraintsIfNeededAccumulatingViewsNeedingSecondPassAndViewsNeedingBaselineUpdate:] ()

@tommi hmm so strange especially since it works on 8.3 just fine.
If you alter what constraints you're making does it help at all? It's just really hard to try and narrow this down from my end.

@robertjpayne yeah, I understand. No luck with altering constraints for example to absolute values. I can't reproduce the issue with available iOS 8.2 simulators (iPad 2, iPad Air, iPad Retina), only with actual iOS 8.2 devices (currently iPad mini, iPhone 5). Works device and simulator on iOS 8.3.
I'll try narrowing it down further.

@tommi  can you try out develop branch? I removed all the final declarations as someone else is having a very strange issue related to them too.
I don't have a 8.2 device to test on at the moment.

For me switching to develop fixed a similar error that I was getting. Details below:
*** NSForwarding: warning: object 0x15d930e0 of class 'SnapKit.ConcreteConstraint' does not implement methodSignatureForSelector: -- trouble ahead
Unrecognized selector -[SnapKit.ConcreteConstraint superview]

@hemantasapkota sounds good – seems like the final classifier I put on everything has caused some weird issues.

@robertjpayne works with the develop branch and iOS 8.2 device :)

@tommi awesome news! Looks like it's best to stay away from final for now.

SnapKit 0.11.0 is pushed to cocoapods trunk and master. Thanks for reporting this again and testing!

I can reproduce this crash on release builds on a iPod Touch with 8.3 and 4S with 8.3. With SnapKit 0.10.
Is it known if this fix made it in the 0.11 release? Or should I use the develop branch for now?


Make Configuration.copy() work when project dependency constraint is present

Fixes #17179

@bot-gradle test QuickFeedbackLinux

OK, I've already triggered QuickFeedbackLinux build for you.

@bot-gradle test rFM

OK, I've already triggered ReadyForMerge build for you.

@bot-gradle test rFM

OK, I've already triggered ReadyForMerge build for you.

@bot-gradle test rFM

OK, I've already triggered ReadyForMerge build for you.

@bot-gradle test rFM

OK, I've already triggered ReadyForMerge build for you.

@bot-gradle test and merge

Your PR is queued. See the queue page for details.

OK, I've already triggered a build for you.


Embed Extern Randomx Library into epic

The external library for Randomx should be included in the code of epic.
For Linux and MacOs, the path to the external library must also be registered in the system, which makes simple use impossible for many users.
Linux
export LD_LIBRARY_PATH=$(find . -iname librandomx.so | head -n 1 | xargs dirname | xargs realpath)
Mac
export LD_LIBRARY_PATH=$(find . -iname librandomx.dylib | head -n 1 | xargs dirname | xargs realpath)

https://github.com/EpicCash/randomx-rust/pull/3
https://github.com/EpicCash/randomx/pull/2


Factory Level

Working on a new obstacle course map, The Factory. Where players will need to navigate through a maze of conveyer belts, gears, and machinery to make it to the end.

Currently in progress on this level
https://twitter.com/NicholasMaltbie/status/1438744329560887299?s=20

Factory does not always load for clients. A few possible fixes

Don't have so many networked objects, spawn them in as required similar to Hex-A-Gone level (less networked objects in general)
Ensure all players have loaded before starting network objects within the level
Make sure all clients have fully loaded the scene before starting


Android Build Failed

Hi, I've implemented flutter zoom SDK and trying to build a release appbundle. But I got an error.
💪 Building with sound null safety 💪

Warning: Mapping new ns http://schemas.android.com/repository/android/common/02 to old ns http://schemas.android.com/repository/android/common/01
Warning: Mapping new ns http://schemas.android.com/repository/android/generic/02 to old ns http://schemas.android.com/repository/android/generic/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/addon2/02 to old ns http://schemas.android.com/sdk/android/repo/addon2/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/addon2/03 to old ns http://schemas.android.com/sdk/android/repo/addon2/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/repository2/02 to old ns http://schemas.android.com/sdk/android/repo/repository2/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/repository2/03 to old ns http://schemas.android.com/sdk/android/repo/repository2/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/sys-img2/03 to old ns http://schemas.android.com/sdk/android/repo/sys-img2/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/sys-img2/02 to old ns http://schemas.android.com/sdk/android/repo/sys-img2/01
Warning: unexpected element (uri:"", local:"base-extension"). Expected elements are <{}codename>,<{}layoutlib>,<{}api-level>
../../../../Developer/flutter/.pub-cache/hosted/pub.dartlang.org/game_levels_scrolling_map-0.0.7/lib/game_levels_scrolling_map.dart:208:15: Warning: Operand of null-aware operation '?.' has type 'ImageInfo' which excludes null.
 - 'ImageInfo' is from 'package:flutter/src/painting/image_stream.dart' ('../../../../Developer/flutter/packages/flutter/lib/src/painting/image_stream.dart').
      image = frame?.image;
              ^
Note: /Users/aditya/Developer/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_analytics-9.1.1/android/src/main/java/io/flutter/plugins/firebase/analytics/FlutterFirebaseAnalyticsPlugin.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: /Users/aditya/Developer/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_analytics-9.1.1/android/src/main/java/io/flutter/plugins/firebase/analytics/FlutterFirebaseAnalyticsPlugin.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
Note: /Users/aditya/Developer/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_android-2.0.12/android/src/main/java/io/flutter/plugins/pathprovider/PathProviderPlugin.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: /Users/aditya/Developer/flutter/.pub-cache/hosted/pub.dartlang.org/google_sign_in-5.2.4/android/src/main/java/io/flutter/plugins/googlesignin/GoogleSignInPlugin.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:mergeProdReleaseNativeLibs'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade
   > More than one file was found with OS independent path 'lib/x86/libc++_shared.so'. If you are using jniLibs and CMake IMPORTED targets, see https://developer.android.com/studio/preview/features#automatic_packaging_of_prebuilt_dependencies_used_by_cmake

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 4m 16s
Running Gradle task 'bundleProdRelease'...                        258.0s
Gradle task bundleProdRelease failed with exit code 1

Before I implemented flutter zoom SDK, the build release didn't have any problems.


feat: update report to support local version

Description

Add a _local to the report filename if an ENV LIVE_SERVICES is set to FALSE
This allow to run the knowledge-middleware-report with different services.

See PRs

https://github.com/DARPA-ASKEM/integration-dashboard/pull/4
https://github.com/DARPA-ASKEM/orchestration/pull/300

@YohannParis I'm not sure if we want a '_local' suffix since we're hoping to refactor the TA1 reporting soon. Basically, the live code will be moved out of this repo and whenever a report runs, it will always be live. when the services are being mocked in this repo, no report will be generated since they will just act as tests for km developers

This has been replaced by a different way to do reports


Galaxy Ids length

While preparing the sprinkler for Run 1.2p I noticed that the new protoDC2-v3 galaxy ids are much longer than the v2 ids and this is causing issues for the sprinkler due to the fact that we multiply them by 10^4 to get the lens system information into the id. I think for Run 1.2p we can work around this due to its smaller size, but can we shorten them in the final galaxy catalog for Run 2.0?

There is also an additional factor of 10^3 that CatSim multiplies the galaxy_id's by to arrange it so that galaxy bulges and disks have separate uniqueIds.  This means that galaxy_id*10**8 needs to be able to fit into a 64 bit integer without overflow.  Bryce found one case of galaxy_id=355000000766271 ~ 3.6*10**14, which will not fit.

Dan should chime in, but what appears to have happened is that the simulation timestep is now included in the galaxyID. I am assuming this was done to ensure uniqueness of galaxy ids across the catalog. There are  10**7 galaxies in protoDC2. For cosmoDC2 this number will be multiplied by 200 (area factor = 5000 sq. deg/25 sq. deg) x 7 (volume factor = V(z~3)/V(z~1)). So expect ~2e10 galaxies, which gives plenty of margin for subsequent multiplications required.   cosmoDC2 will be split by healpixels, so we will be using that as part of the galaxyID, but will make sure that there aren't too many zeros padding the less significant digits.

The ID scheme encoded the time step into the ID. It was made to help in an internal step of going from snapshots to a light cone. Since it was unique IDs for the light cone, it was convenient to use as the galaxy ID. The GCR is now fixed to generate a new unique set of IDs for the galaxies. The IDs are now maximally compact going from 0 to (num_galaxies - 1).
For CosmoDC2, we might have to have some sort of encoding scheme for the healpix pixels as Eve mentioned.
Could CatSim multiply by +1 or -1 for disk and bulge ids respectively? Or multiply by 2 and multiply by 2 +1 for disk and bulge ids? That might be more robust against large ID values.

The CatSim system is designed for a problem more general than separating out bulges and disks.  CatSim connects to several sources of objects (galaxies, supernovae, stars, asteroids...).  Each source catalog has its own internally unique numbering system.  In order to create a numbering system that is unique across all of CatSim, we take the (internally) unique ID from the source catalog, multiply by 1024, and then add an offset that is characteristic of that source catalog (for instance, bulge_offset=1, disk_offset=2, agn_offset=3, star_offset=4, asteroid_offset=5...).  Obviously, we may have gotten a little over-eager multiplying by 1024 (though we are up to several tens of individual source catalogs we can connect to).
All of which is to say: multiplying by -1 or by 2 won't be enough for our needs.  This system is pretty historical, so I am hesitant to change it now.  There is a lot of code that assumes it works the way I described.

Okay, that makes sense. I didn't appreciate that CatSim needs the diversity of internal tags. Thanks for clarifying! :)


Fix DexExpectStepKind to match expected behaviour in feature_tests

feature_tests/commands/perfect/expect_step_kind
/recursive
This test was failing because the 'previous step' was in the same
function, and dexter assumed this meant no call had happened.
This has been fixed by checking if the call stack has grown between
steps instead.
/small_loop
The call to 'func' on line 20 returns to line 19. Dexter was treating
steps out of a function as a 'FUNC' StepKind (as well as the expected
step into a function). Becayse of this, the 'BACKWARD' step was being
hidden by a 'FUNC' StepKind.
Steps out of a function no longer count as 'FUNC'.
The docs have been updated to explain the different StepKind values.
NOTE: This is based on #56. The first two commits are from that Pull Request.

I have not yet updated the existing dexter tests to use this 'fixed' DexExpectStepKind. I'll put up a patch for that shortly.

Please don't merge this yet.


[Request] Support for executing commands in Cloud Deployments

https://rapyuta-robotics.slack.com/archives/C15ES2LQP/p1653016624526079
┆Issue is synchronized with this Wrike task

This is no longer valid. We do not support executing commands on cloud deployments.


Improve error handling

Coverage decreased (-0.2%) to 96.243% when pulling 08555d49903039dfe67c5c98baa4c21bacd309e5 on error-handling into 46a0d6abc19c0fa338515397d352d78080d8f598 on main.


After-death behavior

What is death ? Death, is a concept.. it's the unknown, the abyss, the 'néant', like the frenchs say.
Well, that is in real life. But NOT in our game !
In our game, when a snake die, he's just asleep. He disappear, he's out, but he can still watch his fellow snakes still in the game fight. He only reappear when the only snake left in the arena is announced as the winner. Then, just then , every body reappear and the game restart for an other round.

Fixed at #124


No tests were discovered while attempting to rerun failed tests.Rerun failed tests using NUnit

Description
Nunit test cases always pass on my local but it would failed sometime on Azure.
I am trying to run tests on Release pipeline but there is always one or two test cases failed but not every time the same test cases. So i try  "Re-run" failed test case. And would have error message like this "Error occurred while publishing test results : System.Exception: No tests were discovered while attempting to rerun failed tests. This is likely to happen if these tests are xunit or nunit datadriven/parameterized tests or tests with custom display names with spaces or special characters which are not supported with rerun. Please reach out to us at https://github.com/microsoft/azure-pipelines-tasks/issues if you are hitting this for tests other than the ones mentioned before.
"
list here (V# not needed):
https://github.com/Microsoft/azure-pipelines-tasks/tree/master/Tasks
Environment
NUnit 3.12
VS Professional 2019 Version 16.4.2
.NET Core 3.0
Task: VS Test@2
Test platform version: Latest
Test filter criteria: TestCategory=smoke
steps:

task: VSTest@2
displayName: 'Run Api Smoke Tests with test.runsettings'
inputs:
testAssemblyVer2: '**\LMS.BankAccountChecker.Api.AutomationTests.dll'
testFiltercriteria: 'TestCategory=smoke'
runSettingsFile: '$(System.DefaultWorkingDirectory)/TestLibraries/test.runsettings'
rerunFailedTests: true
continueOnError: true

Error code
Test Run Failed.
An exception occurred while invoking executor 'executor://nunit3testexecutor/': Incorrect format for TestCaseFilter Error: Empty parenthesis ( ). Specify the correct format and try again. Note that the incorrect format can lead to no test getting executed.
Test Run Failed.
Error occurred while publishing test results : System.Exception: No tests were discovered while attempting to rerun failed tests. This is likely to happen if these tests are xunit or nunit datadriven/parameterized tests or tests with custom display names with spaces or special characters which are not supported with rerun. Please reach out to us at https://github.com/microsoft/azure-pipelines-tasks/issues if you are hitting this for tests other than the ones mentioned before.
Error: The process 'D:\Build Agents\Jarvis_work_tasks\VSTest_ef087383-ee5e-42c7-9a53-ab56c98420f9\2.195.0\Modules\DTAExecutionHost.exe' failed with exit code 1
Vstest failed with error. Check logs for failures. There might be failed tests.
Troubleshooting

This appears to be a similar issue to https://github.com/microsoft/azure-pipelines-tasks/issues/16187.
Are you using test cases or tests that include ( and or ) characters?

Hi Could you resolve this issue? Pls let me know if u had


Resolve shenyu project global version.

Resolve shenyu project global version.
Make sure that:

[x] You have read the contribution guidelines.
[x] You submit test cases (unit or integration tests) that back your changes.
[x] Your local test passed ./mvnw clean install -Dmaven.javadoc.skip=true.

@yu199195  pls review.

Codecov Report

Merging #4385 (b6d5a02) into master (5966053) will increase coverage by 0.00%.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master    #4385   +/-   ##
=========================================
  Coverage     68.33%   68.33%
- Complexity     7508     7510    +2
=========================================
  Files          1020     1020
  Lines         28813    28802   -11
  Branches       2568     2564    -4
=========================================
- Hits          19689    19682    -7
+ Misses         7587     7582    -5
- Partials       1537     1538    +1

Impacted Files
Coverage Δ

...a/org/apache/shenyu/common/utils/VersionUtils.java
21.27% <0.00%> (-6.39%)
:arrow_down:

...yu/common/dto/convert/rule/Resilience4JHandle.java
71.60% <0.00%> (-3.71%)
:arrow_down:

...he/shenyu/loadbalancer/spi/RandomLoadBalancer.java
87.87% <0.00%> (-3.04%)
:arrow_down:

...henyu/admin/service/impl/UpstreamCheckService.java
66.66% <0.00%> (-1.15%)
:arrow_down:

...rg/apache/shenyu/plugin/hystrix/HystrixPlugin.java
75.86% <0.00%> (-0.81%)
:arrow_down:

...yu/admin/service/impl/PluginHandleServiceImpl.java
75.47% <0.00%> (-0.46%)
:arrow_down:

.../plugin/grpc/loadbalance/AbstractLoadBalancer.java
70.32% <0.00%> (-0.33%)
:arrow_down:

...enyu/plugin/sofa/cache/ApplicationConfigCache.java
69.44% <0.00%> (-0.29%)
:arrow_down:

.../plugin/base/cache/CommonPluginDataSubscriber.java
73.78% <0.00%> (-0.26%)
:arrow_down:

...plugin/resilience4j/build/Resilience4JBuilder.java
95.00% <0.00%> (-0.24%)
:arrow_down:

... and 8 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

Two options:

use versions-maven-plugin mvn versions:set -DnewVersion=1.1-SNAPSHOT;
use a property to define the main version.


PR: Fix error edge line in python2.7

Fixes: #4153

@rlaverde now that you did this.
Could we add a test to find with a regex or something
isinstance(.*,.*str)  ?

Could we add a test to find with a regex or something

I added it in the last commit, what do you think?


Roll packages

This updates vm_service and package:test* in particular.
I have not run all tests on this yet.
I've added some analysis ignores for files that will be rolled into g3 to hopefully make rolls easier.

This is failing due to some package conflicts with the new gallery.

This is failing due to some package conflicts with the new gallery.

This is now blocked on Mockito.
Currently, there is no version 4.x of Mockito that supports a new enough analyzer to use a null-safe package:crypto.
Checking with @srawlins to see if we can do anything about that. If not, we might want to wait on this until after stable release.

This is now blocked on Mockito.
Currently, there is no version 4.x of Mockito that supports a new enough analyzer to use a null-safe package:crypto.
Checking with @srawlins to see if we can do anything about that. If not, we might want to wait on this until after stable release.

Full error text, which is not showing up in CI logs unfortunately, is:
Because mockito >=4.1.3 <5.0.0-nullsafety.0 depends on analyzer >=0.39.15 <0.41.0 which depends on crypto ^2.0.0, mockito >=4.1.3 <5.0.0-nullsafety.0 requires crypto ^2.0.0.
And because every version of flutter_driver from sdk depends on crypto 3.0.0-nullsafety.0, mockito >=4.1.3 <5.0.0-nullsafety.0 is incompatible with flutter_driver from sdk.
So, because camera depends on both flutter_driver any from sdk and mockito ^4.1.3, version solving failed.
Running "flutter pub get" in camera...
pub get failed (1; So, because camera depends on both flutter_driver any from sdk and mockito ^4.1.3, version solving failed.)

Full error text, which is not showing up in CI logs unfortunately, is:
Because mockito >=4.1.3 <5.0.0-nullsafety.0 depends on analyzer >=0.39.15 <0.41.0 which depends on crypto ^2.0.0, mockito >=4.1.3 <5.0.0-nullsafety.0 requires crypto ^2.0.0.
And because every version of flutter_driver from sdk depends on crypto 3.0.0-nullsafety.0, mockito >=4.1.3 <5.0.0-nullsafety.0 is incompatible with flutter_driver from sdk.
So, because camera depends on both flutter_driver any from sdk and mockito ^4.1.3, version solving failed.
Running "flutter pub get" in camera...
pub get failed (1; So, because camera depends on both flutter_driver any from sdk and mockito ^4.1.3, version solving failed.)

Mockito 4.1.4 was published to help with this.

Mockito 4.1.4 was published to help with this.

Tree is actually green

Tree is actually green


Remove the 2nd of 3 reminder emails when submissions lack photos.

Addresses https://artsyproduct.atlassian.net/browse/CSGN-152
The consignments team doesn't want us to send so many reminders for missing images, so we're removing the middle one (2 of 3).
The cadence of reminders used to be

reminder 1: right away
reminder 2: 1 day later
reminder 3: 7 days later

The new cadence will be:

reminder 1: right away
reminder 2: 7 days later

There are no visual changes to this work.

Follow-up work (at time of deployment to production)

Remove the THIRD_REMINDER_DAYS_AFTER env setting in prod
Set the SECOND_REMINDER_DAYS_AFTER env setting to 7 in prod

LGTM!! 🎉


Merge pull request #1 from alibaba/main

optimize by golangci-lint

Describe what this PR does / why we need it
Does this pull request fix one issue?

Describe how you did it
Describe how to verify it
Special notes for reviews

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

optimize by golangci-lint & optimize reconcile instances


x/tools/gopls: understand that defined integer types may be slice indexes when suggesting completions

What version of Go are you using (go version)?

$ go version
go version go1.15.6 linux/amd64

Does this issue reproduce with the latest release?
Yes, and with the current tip of gopls as well.
What operating system and processor architecture are you using (go env)?
linux/amd64
What did you do?
I used a variable of a defined integer type to index into a slice. Specifically, I tried to use autocompletion to fill in the variable in the index expression.
Here's some example code in a single-file package:
package main

type myInt int

func main() {
	nnn := myInt(3)
	mmm := 3
	x := make([]string, 5)
	x[|] = "hi"
}

The | is where my cursor was when I invoked autocompletion.
What did you expect to see?
I expected to see nnn and mmm equally suggested as possible completions.
If I selected nnn from the list, the completed code should be
x[nnn] = "hi"

What did you see instead?
nnn is ranked much lower than mmm -- it comes after some irrelevant entries from other packages (I filed #43374 for that).
If I nevertheless scroll down to nnn and select it, nnn is wrapped in an unnecessary int conversion:
x[int(nnn)] = "hi"

I noticed this in my usual environment of vim + govim but I can reproduce this with vscode as well. Here are some screenshots.

The issue seems to be gopls infers the expected type at x[<>] as int instead of untyped int (i.e. types.Typ[types.Int] instead of types.Typ[types.UntypedInt]). This issue appears in a few more places around the completion code.

The issue seems to be gopls infers the expected type at x[<>] as int instead of untyped int (i.e. types.Typ[types.Int] instead of types.Typ[types.UntypedInt]). This issue appears in a few more places around the completion code.


Add BlendMode.clear on HTML web renderer

Platforms
Web
Description
Please add BlendMode.clear on HTML web renderer to your package.
Why
I want to upgrade the extended_image package on my project, but actually, it can't be possible! Because the higher versions don't support BlendMode.clear on HTML web renderer and unfortunately, I currently have to use version 6.3.2!

https://github.com/fluttercandies/extended_image/issues/545
you can do as this

https://github.com/fluttercandies/extended_image/issues/546#issue-1571393515


Improve accessibility of inline message

According to Michael's question from Sprint review (05.03.2024) we need to improve accessibility of the inline message component.
First we need to make some research again.
The main problem is when using 'role' in the component all the content is read by default by a Screen Reader, even a close button, which ideally should be written only when it gets focus - when user navigates to it, not by default.

More details: https://sanoma.slack.com/archives/C03SA9HUUA3/p1709649841422769

Maybe some helpful information can be found here: https://carbondesignsystem.com/components/notification/accessibility#how-it-works

Try with moving role to the 'content' element - there might be a problem with Screen Readers and shadow DOM
Maybe we will need a kind of Announcer https://dev.to/steady5063/aria-live-in-javascript-frameworks-4f9p that people can use in their apps

We need to finish the discussion next time.

I've review this component and currently I see following issues:

the message is not announce to the screen reader, because live region (role="alert", role="status", aria-live attribute ) is injected into the page when the message appears. It should be added to the container before the message appears.

Live region doesn’t handle rich text. so the "button" element won't be announced. only the Label of the button.

I didn't find option to not announce a part of the element injected to the live region.

The next important question: does notification message should have the "Close" button (or any other action)?

According to the ARIA specification:

Authors SHOULD ensure an element with role status does not receive focus as a result of change in status. […]
Neither authors nor user agents are required to set or manage focus to an alert in order for it to be processed. Since alerts are not required to receive focus, authors SHOULD NOT require users to close an alert. If an author desires focus to move to a message when it is conveyed, the author SHOULD use alertdialog instead of alert.

If we remove the "Close" button, and it disappears after for example ~500ms, will it be still accessible for users with
cognitive limitation who need more time to access the information?
If we move focus, how we can ensure that user go back to the previous action after closing the message?
I feel like it requires more discussion to find the best usable solution for all users (mouse, keyboard, assistive technologies etc).
I share here 2 great articles with complex explanation what is live region how and when to use it:

Accessible notifications with ARIA Live Regions (Part 1)
Accessible notifications with ARIA Live Regions (Part 2)


asn1: syntax error: trailling data

What version of Go are you using (go version)?

$ go version
go version go1.14.4 linux/amd64

Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GO111MODULE="on"
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/cheng/.cache/go-build"
GOENV="/home/cheng/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOINSECURE=""
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/cheng/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/dev/null"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build326830914=/tmp/go-build -gno-record-gcc-switches"

What did you do?

use paho.mqtt.golang's example code for tls and add my own root-ca, client-cert, client-key etc
https://github.com/eclipse/paho.mqtt.golang/blob/master/cmd/ssl/main.go

it gives an error on this certificate

-----BEGIN CERTIFICATE-----
MIIDTDCCAjQCFBVkElzevM5tqOIoJxMSJnzPvc1MMA0GCSqGSIb3DQEBCwUAMGMx
CzAJBgNVBAYTAkZSMQ4wDAYDVQQIDAVQYXJpczEOMAwGA1UEBwwFUGFyaXMxDjAM
BgNVBAoMBVVidWR1MQ4wDAYDVQQLDAVVYnVkdTEUMBIGA1UEAwwLU0RBIFJPT1Qg
Q0EwHhcNMjAwNjExMTUzNTIyWhcNMzAwNjA5MTUzNTIyWjBiMQswCQYDVQQGEwJG
UjEOMAwGA1UECAwFUGFyaXMxDjAMBgNVBAcMBVBhcmlzMQ4wDAYDVQQKDAVVQnVk
dTEOMAwGA1UECwwFVWJ1ZHUxEzARBgNVBAMMClNEQSBDTElFTlQwggEiMA0GCSqG
SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCmDo5b/iLyNfColCwB15pvUDUkYzp5ungr
BCPb5H9Sw7ymcfsiTeBtgADXHyRli+YtfAPjC/55wkkgfBgKRKS8xG8zas0XXt/f
Wpnl2d8oYGXhGBZPdfaPP/fTANSTWIKVF7+My9LKrulJ+CTKNSnTWKsXFzZivN4H
a9aaBdP3s5CjVtJ456Egu5g2EfStBtNJwXzCjPSZyD69v1G0yWx6M8zhvY6+EV+T
uqycAsNfvcf9K0nR83RXkZnNnSNy6ptNg0fMpa5JrCHYirtGU5O7CSBCpA52fy9R
c12NYxl7qFSCTMC/SzZXjGUpIohxNmTzwCttT292A0yc3Bi8aPl/AgMBAAEwDQYJ
KoZIhvcNAQELBQADggEBAIvLrCOMedGTg4oSCYI+HdWB6E4uhG5UFxNnv3QEib0p
GV71S+wrU443ZAfZvxlHFKjkvZDoV8hXT8VIuWOxA9TvaLksoIHeOKdDiGntjVfL
aDMBnYXPXSDEqFDtAXjtUuIua74fkJ/guCJiX+t7fPctWZPo6J89XtgRZrZcnFIF
1RQZg6cMDoVb3aMUWKvKo6YDsoxiP6rM8xNHqxW788oLTyDeu9ceJkv31jIUYIgJ
t4i3bkqf54FAIMdKn/mXmprrqW0b4tvR0fCThD4pgXxVw/Egm3tro/z6/y+qLJ9U
oZa28h/VYGyoJnEOSl09nZhcfOwWUaXxl94n93dBwXIwDDAKBggrBgEFBQcDAg==
-----END CERTIFICATE-----

asn1: syntax error: trailing data

What did you expect to see?
It works
What did you see instead?
It doesn't work

It worth mentioning the same certificate works using: https://github.com/eclipse/paho.mqtt.rust, but doesn't work in golang

This is not a bug. The DER structure of the certificate contains an X509v1 certificate and an additional sequence with usage information. You need to verify your certificate generation procedure and ensure that x509v3 certificates are produced that include the usage information or omit the usage information.
You can check that with openssl asn1parse -in issue40545.pem. It indicates that the certificate contains two top level sequences. Go doesn't parse the second sequence and reports an error.  Here is the asn1parse output for the second sequence:
  848:d=0  hl=2 l=  12 cons: SEQUENCE
  850:d=1  hl=2 l=  10 cons: SEQUENCE
  852:d=2  hl=2 l=   8 prim: OBJECT            :TLS Web Client Authentication

If those 14 bytes (hl+l=2+12=14) are removed, then the certificate can be parsed. Here is a test program:
https://play.golang.org/p/fcT_Eqct2kx
I regard the Go behavior as correct even if openssl seems to support this structure. It should not be possible to add information to a certificate that the Certificate Authority has not signed.

@ulikunitz thanks for your great info.  I'll check how to generate valid certificate which can be used by parsed correctly by go


Tests that are Skipped using Cucumber's PendingException are marked as Passed

Description
Tests that are skipped are being marked as passed. Tested on v1.10.1
To Reproduce

Run a suite where some tests will be skipped (in my case using Pending Exception for a step)
Open cluecumber index.html when completed

Expected behavior
The tests that are marked as skipped (using maven failsafe plugin) should be marked as yellow
Actual behavior
The tests that are skipped are marked as passed (green)
Not sure if this is expected or not. Could be a bug or a potential improvement? I notice that this was brought up here but not entirely sure why a test that is skipped before completion should be marked as passed.

Update: just discovered the failScenariosOnPendingOrUndefinedSteps configuration. Marking this as true marks my pending tests as failed, but setting it to false still shows them as passed?
My pom is attatched
<plugin> 	<groupId>com.trivago.rta</groupId> 	<artifactId>cluecumber-report-plugin</artifactId> 	<version>1.10.1</version> 	<executions> 		<execution> 			<id>report</id> 			<phase>post-integration-test</phase> 			<goals> 				<goal>reporting</goal> 			</goals> 		</execution> 	</executions> 	<configuration> 		<sourceJsonReportDirectory>${project.build.directory}/cucumber-report</sourceJsonReportDirectory> 		<generatedHtmlReportDirectory>${project.build.directory}/generated-report</generatedHtmlReportDirectory> 		<failScenariosOnPendingOrUndefinedSteps>false</failScenariosOnPendingOrUndefinedSteps> 		<expandBeforeAfterHooks>true</expandBeforeAfterHooks> 		<expandStepHooks>true</expandStepHooks> 		<customParameters> 			<Custom_Parameter>XXXX</Custom_Parameter> 			<Custom_URL>XXXX</Custom_URL> 		</customParameters> 	</configuration> </plugin>

This is expected. A scenario is considered skipped when all steps are skipped. Since you have passing steps before it is considered passed. This is according to the official Cucumber guidelines.

hmmm, seems like an odd guideline. But I'll take it into account when placing my PendingExceptions. Thanks for the reply, will close


Update to TasitSDK 0.0.18 and use the new API throughout

The latest version of tasit-sdk has some break changes:

action.waitForNonceToUpdate() is now action.waitForOneConfirmation();
action now is sent using send() function.
Contract.wallet is now Contract.account (getWallet, setWallet, removeWallet functions).

Technically I already merged that greenkeeper PR to update the SDK to 0.0.18, so the main changes needed here are to use the new API

As of PR https://github.com/tasitlabs/tasit/pull/378,
~action.waitForNonceToUpdate() is now action.waitForOneConfirmation();~
~Contract.wallet is now Contract.account (getWallet, setWallet, removeWallet functions).~
~action now is sent using send() function.~

@marcelomorgado The other major change we forgot about is that function calls don't expect gasParams anymore

@marcelomorgado The other major change we forgot about is that function calls don't expect gasParams anymore

I made this change in this PR https://github.com/tasitlabs/tasit/pull/386


How to add routes dynamically

Let's say I fetch a user with several projects from db. I want each project to show up in the menu as dynamic routes with children like:
- Project1 // /project/:projectid
-- Child2  // /project/:projectid/child-1
-- Child2 // /project/:projectid/child-2

How do I go about that? What's the proper way to adding these and where would one do it?

I just ended setting up routes as usual in /routes/index.js and making my own menu-object in sidebar.vue


setup help

running on ubuntu 16.10, using IDLE(2)
everything seems to be installed correctly. however, i am not getting any info back from my queries. instead, I'm getting this:
>>>top-ten-qbs.py
(<nfldb.types.Player object at 0x7f3664d316c8>, 4952L)

So then I tried just the first command...
>>> nfldb.connect()
<connection object at 0x7f3664dcab48; dsn: 'port=5432 host=localhost
password=xxxxxxxxx dbname=nfldb user=nfldb', closed: 0>

That's saying that you are getting the data back, but there's a bug in your
query and you're printing the Player object and not the attributes. Can you
post the query?
On Tue., 14 Mar. 2017, 08:40 hiramf<EMAIL_ADDRESS>wrote:
running on ubuntu 16.10, using IDLE(2)
everything seems to be installed correctly. however, i am not getting any
info back from my queries. instead, I'm getting this:

top-ten-qbs.py
(<nfldb.types.Player object at 0x7f3664d316c8>, 4952L)

So then I tried just the first command...

nfldb.connect()
<connection object at 0x7f3664dcab48; dsn: 'port=5432 host=localhost
password=xxxxxxxxx dbname=nfldb user=nfldb', closed: 0>

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/BurntSushi/nfldb/issues/231, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAkyp3fUaJzzCJnrH4BKIYpAprJtYY4-ks5rlbfQgaJpZM4Mb2oQ
.

<connection object at 0x7f3664dcab48; dsn: 'port=5432 host=localhost password=xxxxxxxxx dbname=nfldb user=nfldb', closed: 0>

I'm not seeing a problem there.  You're just not doing anything with your database connection.
Python 2.7.8 (default, Jun 30 2014, 16:03:49) [MSC v.1500 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> import nfldb
>>> nfldb.connect()
<connection object at 0x027AC8B0; dsn: 'dbname=nfldb user=nfldb password=xxxxxx host=localhost port=5432', closed: 0>
>>> db = nfldb.connect()
>>> q = nfldb.Query(db)
>>> q.game(season_year=2016, season_type='Regular', week=3)
<nfldb.query.Query object at 0x02873290>
>>> for game in q.as_games():
	print game

Regular 2016 week 3 on 09/25 at 03:05PM, LA (37) at TB (32)
Regular 2016 week 3 on 09/25 at 03:25PM, PIT (3) at PHI (34)
Regular 2016 week 3 on 09/25 at 03:25PM, SD (22) at IND (26)
Regular 2016 week 3 on 09/25 at 03:25PM, NYJ (3) at KC (24)
Regular 2016 week 3 on 09/25 at 07:30PM, CHI (17) at DAL (31)
Regular 2016 week 3 on 09/26 at 07:30PM, ATL (45) at NO (32)
Regular 2016 week 3 on 09/22 at 07:25PM, HOU (0) at NE (27)
Regular 2016 week 3 on 09/25 at 12:00PM, ARI (18) at BUF (33)
Regular 2016 week 3 on 09/25 at 12:00PM, MIN (22) at CAR (10)
Regular 2016 week 3 on 09/25 at 12:00PM, DEN (29) at CIN (17)
Regular 2016 week 3 on 09/25 at 12:00PM, DET (27) at GB (34)
Regular 2016 week 3 on 09/25 at 12:00PM, BAL (19) at JAC (17)
Regular 2016 week 3 on 09/25 at 12:00PM, CLE (24) at MIA (30)
Regular 2016 week 3 on 09/25 at 12:00PM, WAS (29) at NYG (27)
Regular 2016 week 3 on 09/25 at 12:00PM, OAK (17) at TEN (10)
Regular 2016 week 3 on 09/25 at 03:05PM, SF (18) at SEA (37)
>>>

I kind of answered these out of order...

top-ten-qbs.py

You don't run a .py file from within IDLE.  From a command prompt or terminal window, you can enter python top-ten-qbs.py to execute that Python script.  In *nix world, you can omit the python in python top-ten-qbs.py if you have a #shebang line at the top of the script.

here's my script:
import nfldb

db = nfldb.connect()
q = nfldb.Query(db)

q.game(season_year=2014, season_type='Regular')
for pp in q.sort('passing_yds').limit(10).as_aggregate():
    print (pp.player, pp.passing_yds)

for clarity, I'm writing in IDLE and hitting F5 to run.

I don't know enough about the __str__ representations of the nfldb types, but it appears that tuple you're printing is messing with what gets displayed?

@ochawkeye
those parentheses! wow. that fixed it. thank you.


feat: make OVN available for multinode deployments

This PR makes available to deploy kubeinit in a multinode
environment.

How to run:
1- Adjust the hypervisors to enable the first 3 (nyctea, tyto, strix) in the inventory file here, https://github.com/Kubeinit/kubeinit/pull/164/files#diff-1eb57501330c20ad0586abb646a7a52c817b150a6097539d99941cdc96ab88b2L77
2- Make sure that from the host running ansible there is passwordless access as root to nyctea, tyto, and strix.
3- execute: time ansible-playbook     --user root     -v -i ./hosts/k8s/inventory     --become     --become-user root     ./playbooks/k8s.yml
This should deploy the underlying network in the 3 hypervisors and deploy 4 guests across the nodes (master, worker01, worker02, service).


Enable long path for Windows test

Cognitive services is failing to test with dev build version due to path name for few files exceeding 260 chars. This fix is to enable long path name on windows host.
Additional fix is to record list of packages installed as part of every test to aid in debugging when test fails suddenly due to new dependent external package.

Can one of the admins verify this patch?

To date we've resisted requiring long path support on Windows and instead done the work necessary to make sure our code bases when cloned and built will work with a regular Windows path length configuration. This seems like a departure from that?

@mitchdenny You are correct. @praveenkuttappan let's talk about options here.

@mitchdenny Thanks for the call-out here. I had a convo with the owner of the package that was hitting these issues, and it looks like we're reverting those changes regardless. This change is unnecessary as a result.

Good this particular issue got fixed a different way. Just to reiterate with @mitchdenny said though we shouldn't enable long path like this in our CI legs. We should instead fix the paths that are too long.


[Bug] Update for BandagedBD's Injector (1.0.0)

Describe the Bug

BandagedBD's injector update panel not going away
To Reproduce

Starting up discord, clicking on update now and the message then reappears after it restarts itself. Hard to describe how to reproduce since this opens up when opening discord.
Expected Behavior

You click on Update Now it updates whatever the injector is and then it doesn't reappear the message. Quick note I noticed when looking at versions it just doesn't update.
Screenshots

Discord Version

Additional Context

I believe this update started popping up on April 1st.

Reinstall using the new installers https://github.com/BetterDiscord/Installer/releases/latest

This check has been eliminated in the old branch


[BUG] OpenSearchLoggerUsageChecker checks not updated to reflect log4j functionality

Describe the bug
In OpenSearchLoggerUsageTests, the expected behaviour of the logger in certain tests is incorrect. Specifically for checkFailOrderOfExceptionArgument tests, which should pass.
To Reproduce

The above line results in a failure as shown below.
Expected behavior
checkFailOrderOfExceptionArgument tests need to be modified to pass when an additional exception argument is passed in as the second argument.
Screenshots

The following code produces the expected result of the substituting the parameter in the format string while still printing the exception stack trace:
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

public class LoggerTest {
    private static final Logger logger = LogManager.getLogger(LoggerTest.class);

    public static void main(String[] args) {
        logger.error("Hello, {}", "world", new RuntimeException("Test Exception"));
    }
}

16:46:15.577 [main] ERROR org.opensearch.LoggerTest - Hello, world
java.lang.RuntimeException: Test Exception
	at org.opensearch.LoggerTest.main(LoggerTest.java:18) [classes/:?]

The checks done by OpenSearchLoggerUsageChecker force developers to write the above log statement with a more verbose syntax:
logger.error(() -> new ParameterizedMessage("Hello, {}", "world"), new RuntimeException("Test Exception"));

I think we should relax the checks done by OpenSearchLoggerUsageChecker unless there's a good reason that I'm not aware of.

The support for exception parameterization(as the last one) was added in http://www.slf4j.org/faq.html#paramException. I think the checker needs to be reflective of this support

@Poojita-Raj  see that you have a PR for addressing this issue and its closed without merging. Can you please look into this PR and issue and merge the PR to close the issue?

@Poojita-Raj  can you share an update on this issue?

@Poojita-Raj  can you please share an update here with whats pending for this issue?

Hi,
Issue is exception parameterization is not recognized by the OpenSearchLoggerUsageChecker.
As you can see here:
https://github.com/opensearch-project/OpenSearch/blob/e455f56c749011d886e8939ae5bce0448be19f8c/test/logger-usage/src/main/java/org/opensearch/test/loggerusage/OpenSearchLoggerUsageChecker.java#L369-L374
The exception as in the case of :
logger.error("Hello, {}", "world", new RuntimeException("Test Exception"));
is recognized as an object class instead of a throwable which then results in it wrongly deciding the number of arguments don't match up here:
https://github.com/opensearch-project/OpenSearch/blob/e455f56c749011d886e8939ae5bce0448be19f8c/test/logger-usage/src/main/java/org/opensearch/test/loggerusage/OpenSearchLoggerUsageChecker.java#L392-L395
The next steps would be to:

Look into why the argumentType in this case is not being recognized as a Throwable ( Ljava/lang/Throwable).
This specific case is during one of the 5 types of method invocation (Ref: https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-2.html#jvms-2.11.8 - invoke interface). We need to look into whether similar issues arise in other invocation cases.

Look into why the argumentType in this case is not being recognized as a Throwable ( Ljava/lang/Throwable).

The logger checker in OpenSearch probably existed before the logging API would handle the case of an exception at the end of a list of parameters. I think we just need to update the logger checker to handle this case and not be overly strict.

I spent a few hours looking into this.  I'm not sure this is doable with the log4j api.

Look into why the argumentType in this case is not being recognized as a Throwable ( Ljava/lang/Throwable).

Because the argumentType is coming from the method signature, not the actual subclass being tested.  Since we are using log4j the matching signature for logger.info("{} failed too many times", FollowerChecker.this, exp); is void info(String message, Object p0, Object p1);.   There is no signature with parameters String, Object, Throwable, nor can there be because it would be ambiguous.
The link @Bukhtawar provided in this comment confirms this observation, as it highlights that the exception printing behavior is internal, and that

The java compiler will invoke the error method taking a String and two Object arguments

The only ways to get it to recognize the throwable are

the supplier syntax noted by @andrross in this comment: logger.info(() -> new ParameterizedMessage("{} failed too many times", FollowerChecker.this), exp); That syntax matches void info(MessageSupplier messageSupplier, Throwable throwable);
a similar option to the above but without the () -> part: logger.info(new ParameterizedMessage("{} failed too many times", FollowerChecker.this), exp); which matches void info(Message message, Throwable throwable);.

I did a pretty thorough exploration of every value available in the parameters (methodInsn is the info() call being considered) and it simply doesn't have the information to identify that third parameter as a throwable.
Closest we can get is to "always allow an extra parameter" but I can't see any (reasonable) way of knowing whether it's a throwable.
I recommend closing this issue as wontfix/cantfix.

@dbwiddis I agree with your conclusion above with the tooling we have but do find it rather unsatisfying. My IDE is able to handle the case of the trailing throwable:

Surely there exists some tooling for us to get the same behavior at build time?


update is_port_listening.ps1

Update the is_port_listening.ps1 powershell script to include the ipv6 equivalent of <IP_ADDRESS> ([::]) when checking for listening ports.
Update matcher to match on "LISTENING" or ":" in the netstat output, as listening UDP ports do not have a "state" and only list the foreign address of ":" in the netstat output

Thanks!

Released as v2.82.22.


[Enhancement] Warning "incompatible with"

The warning "incompatible with" for themes and plugins should be "not tested with" or something like this.

This issue was implemented.