enhancement: class attr should accept an object

It should just loop the keys, and join them by a space if their value is truthy.
So then instead of this
class: (function () {
	var classes = '';
	classes += task.completed() ? 'completed' : '';
	classes += task.editing() ? ' editing' : '';
	return classes;
})()

We can just write this
class: {completed: task.completed(), editing: task.editing()}

+1

The use of an IIFE to accomplish that is interesting.
class: [
    task.completed() ? "completed" : "",
    task.editing() ? "editing" : ""
].join(" ")

Has been working out well for us. We use a helper to avoid all the ugly ternaries though, so it looks more like this:
class: [
    optional(task.completed(), "completed"),
    optional(task.editing(), "editing")
].join(" ")

Love it. I frequently do this pattern to try and keep my view tree lean, but this would drastically reduce boilerplate.
view(c) {
  return m('div', { class: classList }, [
    ...
  ]);

  function classList() {
    var classes = [];
    if (c.completed()) { class.push('completed'); }
    if (c.editing()) { class.push('editing');
    return classes.join(' ');
  }
}

I have a pretty generic classList function I use:
function classList( classes ) {
    if ( Array.isArray( classes ) ) {
        return classes.filter( function ( item ) {
            return !!item;
        } ).join( ' ' );
    }
    // Assume Object
    var keys = Object.keys( classes );

    return keys.filter( function ( key ) {
        return !!classes[ key ];
    } ).join( ' ' );
}

classList( [
	1 === 1 ? '1is1' : '',
	0.1 + 0.2 === 0.3 ? '0.3is0.3' : ''
] );
//-> "1is1"

classList( {
    '1is1': 1 === 1,
    '0.3is0.3': 0.1 + 0.2 === 0.3
} );
//-> "1is1"

feel free to use it

@nordfjord
I've already extended mithril to have class accept an object.
I just think it's something that everyone should have in core
@tivac
The IIFE thing is weird, isn't it. It's from mithril's todomvc application.

@farzher is there a gist or pull request somewhere?

Furthering @farzher's original example, true values in the object could use the key as the class name, while truthy strings could be used as the class name. e.g.:
class: {
  completed: task.completed(),
  editing: task.editing(),
  priority: task.priority() == 'high' ? 'high' : 'low'
  // equivalent to
  high: task.priority() == 'high',
  low: task.priority() != 'high'
}

@tropperstyle my code to extend the class is written in livescript and a little involved, I don't think it'll be too useful for anyone https://github.com/farzher/mithril-livescript-todomvc/blob/gh-pages/mithril-extended.js#L57
I don't have a pull request. I'm sure @lhorie could add this easily if he wanted to. (I'll make a pull request if you want though). Where do we make pull requests to? next or components?
@tobscure I think it's pretty standard to just use the key for the class, and show it for any truthy value. I'm actually right now using a string as a truthy value to show a class if the string isn't empty class: {editing: item.oldTitle}
Also I really don't like how the key name there is arbitrary and doesn't do anything.
Seems unnecessary. But that's an interesting idea.

@farzher You could convert truthy values to boolean: !!item.oldTitle
But yeah good point, the key being arbitrary isn't ideal. Hmm, can you think of a more elegant way than this to include a dynamic class in the object?
class: (function() {
  var classes = {
    completed: task.completed(),
    editing: task.editing()
  };
  classes[task.priority()] = true;
  return classes;
})()

@tobscure there is none in ES5. ES6 allows dynamic property names in literals, but depending on your toolchain and browser support matrix, it's probably not a viable option:
{
	completed: task.completed(),
	editing: task.editing(),
	[ task.priority() ] : true
}

An easier way to do this might be using maps, or in ES5, 2-dimensional arrays:
class : classFromMap( [
	[ 'completed', task.completed() ],
	[ 'editing', task.editing() ],
	[ task.priority(), true ]
] )

function classFromMap( map ){
	return map.reduce( function( array, pair ){
		if( pair[ 1 ] ) array.push( pair[ 0 ] )

		return array
	}, [] ).join( ' ' )
}

@barneycarroll I'm using babel so the ES6 dynamic property names are perfect, thanks.
Didn't know about maps either - they seem pretty apt, although admittedly the syntax is a bit more cluttered.

@tobscure Babel is incredible. The problem is when you start to treat ES6 as second nature and you end up writing what would be very terse little ES6 modules that end up compiling to 10 times the size in ES5 :/
Turns out that real Maps wouldn't help here: I always forget that Map keys have to be non-primitives, and ironically you can't map over Maps.

It is good to know this issue is in discuss. I'm thinking about this helper since first day using mithril. Thanks to mithril composability this issue can be solved as helper and I've already solved it for my own. But I think this is such a basic thing and it definitely deserves to be in mithril's base.

I'm :+1: for this idea, but I'm not sure what the best implementation would be.
Until now I've been using either the Array#join method, or my own (es6) function:
function cx(...params) {
	let classes = {};
	params.filter(c => c && c.length > 0).forEach(c => classes[c] = 1);
	return Object.keys(classes).join(' ');
}

@Naddiseo
I would suggest this:
Allow className to be a string, array or object

if it's a string, leave it as is,
if it's an array, truthy values will be joined together,
if it's an object, keys represent classes, truthy values allow that key to be added to the classlist

if however the truthy value is a string that string should be added instead.

@nordfjord, I have the similar ideas, I might add:

if a function, it is invoked and return value is checked for truthiness and if true, converted to string,
if function is met in object, it is invoked and truthy values are meant that key must be added.

@nordfjord, by "best implementation" I meant most optimal. This is something that will have to be performed every redraw, so should be as fast as possible.

All of this sounds like the perfect thing to write a small utility function for. I don't think any of this should be in core.

@tivac, to play devil's advocate, that "utility function" is used in pretty much every non-trivial mithril application. Isn't that enough reason to put it in core?
Another way this could be done would be to integrate the logic with el.classList, only downside being that it's not supported on IE<10.
var classes = node[classAttr];
if (type(classes) === OBJECT) {
    node.className = "";
    for (var cls in classes) {
        if (!!classes[cls]) node.classList.add(cls);
        // when IE fixes .toggle(), this can be used instead: node.classList.toggle(cls, !!classes[cls])
    }
} else if (type(classes) === ARRAY) {
    node.className = "";
    node.classList.add.call(node.classList, classes);
} else {
    node.className = classes
}

@Naddiseo Given the wide range of requested behavior & divergent opinions on formatting within this thread it seems like something that should be developed & refined external to mithril core. Since core just expects a string this is a trivial thing to build as a stand-alone function in user-land.

@lhorie has a post for writing view extensions like this, but it would be nice to be able to do something like m.viewHelpers.classes = function () {...} built in, so we can have these nice things and not have to explicitly call functions everywhere.

@barneycarroll Whoa, variable object keys! That's the first thing I've seen ES6 do that livescript can't do better ;)
I think you guys are going a little too crazy with the class attribute haha o_O
@mindeavor That's a very cute idea. Although I'd call it m.attr.class = function(value){ return newValue }
That's maybe a little too limited though? I couldn't make a hook for any attribute matching  x-* for example. But maybe that's unnecessary and this covers everything most people would want to extend :+1:

I was thinking of providing something along the lines of what @mindeavor mentioned so people can then put these features into plugins that they can share on npm.
I'm reluctant to add specific magic/sugar features to core because then we get a slippery slope of features, e.g. should core support dynamic classes in maps? arrays? recursive structures ([cond1 ? "foo" : "bar", {baz: cond2}])? How about config sugar (e.g. #492, arrays for multi-configs), bi-directional bindings, on(swipe|pinch|gesture), etc, etc, etc.
With a plugin system, all of those features can live in a micro-utilities library similar to amp.js, so that core continues to merely mirror the underlying DOM API, and sugar is provided exclusively by libraries

@lhorie what'd be the hook that invokes the registered plugin(s)? I'm not against the idea but I don't find bare functions particularly onerous and they have the advantage of only running when you tell them to.

@tivac Is this what you're asking about? https://github.com/lhorie/mithril.js/blob/next/mithril.js#L63
I assume we'd basically add this
if (plugins[attrName]) attrValue = plugins[attrName](attrValue)

^ pseudo-code
(is that a performance issue?)

@Farzher That only allows a single plugin per attribute, with later plugins stomping newer plugins. There's ways to solve that, but all of them lead to more code.
Since @lhorie mentioned it I went & looked at what amp.js plugins actually look like: http://amp.ampersandjs.com/
It looks like they're all just functions and you decide what to do with it? That sounds great.

@tivac yeah... idk how you'd deal with that. If you have two plugins using the same attr, you'll have conflict issues
You prefer just {class: toClass({whatever: true})}?
I don't like the verbosity. That's pretty ugly. But that is more flexible (and requires no core changes, that obviously already works)
I want custom attributes, like init, or onenter, or automatic 2-way databinding. Which I've already added, but the process is currently  a bit messy

@farzher I like the clarity. I either know exactly what {class: toClass({whatever: true})} does, or I can figure it out by quickly determining what toClass() does.
As you mentioned it also helps keep mithril's core lighter, which is always a win in my book.

@tivac I was thinking either something like @barneycarroll's m.attrs, or something more generic like a m = spy(m, function(vdom) {return modifiedVdom})

I like @barneycarroll's m.attrs implementation as it is similar in nature to jQuery.fn.customFeature. It seems like the mithril vdom function should have an explicit hook for custom attributes, then use that hook for existing special treatment of the "class" attribute. This seems like the best middle ground. It keeps mithril core lean and prevents excessive utility functions for very common behavior. I don't like m = spy(m, func..) because it reminds me of the early days when Rails encouraged everyone to extend functionality with alias_method_chain.

A few reasons I like m.attrs more than the spy idea:

Like @tropperstyle says, the spy pattern is basically an open-ended monkey patch. Anything could be going on there — and debugging potential third party plugin interactions with Mithril is going to be awful.
m.attr gives a specific opt-in contract. Dubious third party plugins have a limited scope because you have to invoke them explicitly, rather than relying on them to decide if and how they want to come into play.
You can see code making use of m.attr at a glance. If I see bidi or classList in a template, I'll think either "that shouldn't work" or "I know what that does". Basically you can see dependencies in the client code.
As a follow through from this, you get some kind of standard for plugin APIs, and you know where to look if something's not behaving as you expect. With spies, you'd have to look everywhere and debug the whole stack.
Limited computational expense: with m.attr you know there's a loop through a map of plugins, and if no matches are found that's it. With spy you have to run a function for each plugin you have installed every time you call m. m is ultra performant right now but it could easily become orders of magnitude more expensive if you want to occasionally invoke cool functionality via spies. With m.attrs I can risk installing very expensive or logically flaky plugins (that doesn't mean crap BTW — select2 is best in class at what it does, even if it's highly unperformant and flaky at scale) if I know when and where I'm invoking them — I can easily limit the scope of my investment.

"the spy pattern is basically an open-ended monkey patch' - @barneycarroll
brilliant

@barneycarroll

m.attr gives a specific opt-in contract. Dubious third party plugins have a limited scope because you have to invoke them explicitly

Isn't that not actually true though because plugins would bind to m.attr themselves, and all you'd do is include them after mithil?
<script src="mithril.js"></script>
<script src="mithril-class.js"></script>

Or were you thinking plugins should work like
m.attr.class = require('mithril-class') // (or however ES6 imports work)

@farzher that's an interesting point — dependency injection in Javascript is a controversial subject and largely depends on the end user's wider environment (as you say, ES6 — and CommonJS / Node, which is the syntax you used — have their own attitudes).
In a way, you could argue m.attr is regressive in that it encourages the jQuery attitude to namespace whereby there's a contract for plugins to hook in as properties of an existing object. But that's an advantage, because you can do dependency injection however you want it (@lhorie 's spy idea is equally ambivalent on this point).
In the jsbin I posted (and the gist), there's no domain-specific dependency mechanism. It relies on Mithril being exposed as m and it 'parasites' it. As such, you get to avoid the minefield of dependency injection best practice by saying "give me Mithril as m, and I will hook on to it". You could be just stacking scripts in an HTML document, you could be using RequireJS or SystemJS or Browserify — whatever. That's your preference.
I would stress that if m.attr were to be a plugin and not an addition to core (which is what I'm proposing), I would package it via UMD and would definitely have Mithril as an injected dependency (as opposed to hard-coded). The point is to add a method to the existing Mithril.
You're right in saying that any given plugin could be doing anything anyway, but that's true of anything: Witness evil.js — if you blindly include Javascript in your app it could be doing anything (even overriding native XHR! :0).
Asking authors and users to package and invoke m.attr plugins as discrete objects to be integrated according to their setup is too much to ask and not that useful AFAIC.

spy is more or less the same pattern that people have been doing to extend mithril so far.
The biggest pro is that it's very flexible: you can create custom behavior based on the tag name or the presence of a specific CSS class (or even a combination of conditions). For example, you can swap out m("input[type=datetime-local]") with a component conditionally based on browser support.
The drawback is that without a canonical behavior identifier, it's not as easy to find where a custom behavior comes from.
The pros for m.attrs are what people have already said: it's cleaner and more intuitive. The drawback is that it's not quite as flexible.

@barneycarroll WRT making m.attr a plugin, I think people are generally averse to the idea of using a plugin in order to use another, and there's also a matter of setting a precedence in terms of what is an acceptable way to extend core, i.e. given m.attr itself would use monkeypatching to extend m, what's stopping someone else from thinking "ew, I need a plugin to use bidi ?!, I'll just roll my own... by monkeypatching m like this guy". Not saying that it shouldn't be a plugin, just that it's prone to this

One issue that neither idea is directly addressing is name collisions. Say someone were to write a big jQueryUI-like library that defines a onswipe, and you want to include another onswipe library that does swipes better. Then the two clash and things blow up.
A poor man's solution might be to namespace (a la Angular's ng-* / ui-* / etc). Another might be to come up with an API that leaves registration open ended (e.g. @farzher's idea of m.attrs.foo = require("foo"))

@lhorie to be clear, I'm proposing this as an addition to core. Right now, Mithril is a black box. You have to monkey-patch if you want to extend it's behaviour. If this were in core, it wouldn't need to monkey patch, and nobody else would need to either.
WRT collisions I think we can get the best of both worlds by setting a convention for plugins to auto-register to their key of choice, but also expose the transformation function itself so the user can rebind to their key of choice if so desired.
So here's a naive bidi custom attribute (I've tweaked m.attr source to return the transformation function). I think this reads nicely. If this is all it takes to write a Mithril plugin, awesome.
import m from 'mithril'

export default m.attr( 'bidi', function bidi( node, prop ){
  node.value   = prop()
  node.oninput = m.withAttr( 'value', prop )
} )

In my app:
import m    from 'mithril'
import bidi from 'm.attr.bidi'

let value = m.prop( '' )

m.module( document.body, {
	view : ctrl => m( 'input', {
		bidi        : value,
		placeholder : 'Write here please'
	} )
} )

Then later on I realise I need dropdowns, checkboxes, etc. I slowly remember how awful the disparity in DOM form element APIs is. I decide I need a more fully-featured bidi plugin. After searching about, I find this one: it handles dropdowns and select boxes. Awesome.
But for some reason I want both plugins. Maybe this other bidi plugin is more powerful but also has some edge cases where I don't want to use it, or maybe I have a pathological problem with premature optimisation, and believe that it's not worth invoking the bigger bidi plugin when I know I just want text input binding. In any case, I want both. It's my call. My app now looks like this:
import m     from 'mithril'
// These plugins are registered with the names 'mithril-bidi' && 'm.attr.bidi' on NPM / CommonJS / Bower, but internally both will try to register to the 'bidi' custom attribute
import bidi1 from 'm.attr.bidi'
// I'm calling them bidi2 and bidi1
import bidi2 from 'mithril-bidi'

// ...but that's just to get 2 distinct variable references.
// In my application code, I want to reference them like this:
m.attr( 'bidi',  bidi1 )
m.attr( 'bidi2', bidi2 )

let name      = m.prop( '' )
let country   = m.prop( 'UK' )
let countries = [ /* ... */ ]

m.module( document.body, {
	view : ctrl => [
		m( 'input', {
			bidi        : name,
			placeholder : 'Name please'
		} ),
		m( 'select', {
			// I don't care if you think this is stupid,
			// I should still be able to do it. And I can.
			bidi2 : country,
		},
			countries.map( country => m( 'li', country ) )
		)
	]
} )

We can use classnames to turn object to string for class.
eg: {class: classnames('foo', {bar: isBar()})}

@littlehaker, great stuff.

@littlehaker I don't exactly trust the maintainer, considering these three comments on PRs from someone with commit access. A TL;DR for each, not in order:

A clear speedup for a trivial module, specifically using arrays instead of a built string, isn't enough to convince him it's worth merging. Merging that would be a common sense move. (I would merge any PR that passes tests and brings performance increases, even in cold paths.)
The use case for a named AMD module for a library isn't clear, even though it should be. Any AMD library should be named, especially if it can be loaded directly on the client. It's common sense.
object.hasOwnProperty(prop) > {}.hasOwnProperty.call(object, prop) somehow...Not smart if someone uses hasOwnProperty as a class name. Even worse if user input isn't sanitized first, and parsed into a class name. Oops.

Better to use classSet or similar. At least that one is written intelligently, without trying to hold on to anti-patterns.

Hi @impinball!
It would have been better to address these comments on the PR's themselves rather than referencing it here.  In any case:

A clear speedup for a trivial module, specifically using arrays instead of a built string, isn't enough to convince him it's worth merging. Merging that would be a common sense move. (I would merge any PR that passes tests and brings performance increases, even in cold paths.)

A clear speed up needs benchmarks.
I still have no idea if that 'speed up' works it all, and its likely V8 might just opimize this query entirely.
We have no way of telling, so I'm sorry but I put the burden of truth on the PR author to provide a reason to change a module that is downloaded ~13000 times a day.

The use case for a named AMD module for a library isn't clear, even though it should be. Any AMD library should be named, especially if it can be loaded directly on the client. It's common sense.

I have no experience with AMD,  so,  I was hoping you could explain why it is necessary.
I don't personally want to break anything that is used by people who use that syntax, so a blank PR without any description isn't going to automatically get a merge from me,  sorry.

@dcousens

I understand your sentiment, but a speedup anywhere is a speedup IMHO. And the common cases are string arguments.
I'm not that worried about it.
hasOwnProperty fix: #49

I'm going to jump in here, although this is not my favourite way to enter a thread:

I don't exactly trust the maintainer

Not sure if you've looked at my profile but I put a serious amount of time into OSS and work hard to make sure people can trust packages I author. classnames I take particularly seriously because it has about 500 dependents on npm and is linked to from the React docs as the recommended way to achieve the syntax being described above.
For background, classSet used to be shipped with React addons but the React team wanted it to be shipped and maintained separately, so we created classnames instead. Members of the React team helped review it for performance and implemented tests to prevent regressions for people moving from classSet.

a speedup anywhere is a speedup IMHO

The speedup PR cited is absolutely not clear cut; the original implementation of classnames used an array w/ .join(' ') and we moved to string concatenation because it seemed to be faster in more real-world scenarios (running in browsers, not server-side). The PR sped up some paths and slowed others, and wasn't benched in the target environment.
Speed is crucial in this package since it gets run during the render cycle; the number of times this function has been run in browsers all over the world is pretty crazy. So we are pretty conservative about changes.

And the common cases are string arguments.

That's a total assumption.
Trust is not just about responding to PRs but also protecting users from unexpected changes and performance regressions. Stability is important, particularly for utility packages. If someone can help establish a performance enhancement we can trust, I'm going to be very happy to merge it.

@JedWatson @dcousens I'll reply with this: ranting like a dumbass is probably not the smartest thing to do on a public feature request discussion, and I screwed up by doing that very thing. I've already been trying to make amends on that repo through action as well as words. :rose: I hope you accept this apology of mine. :disappointed:

@impinball no worries, I didn't feel good ranting here either but didn't feel OK leaving it hanging without explanation, lest someone else take the wrong message by only having partial information from one of several related GitHub issues.
Thanks for your involvement in classnames, it takes many perspectives to develop a robust OSS package - seriously, I've spent more time managing and maintaining that package than many others (literally days) which on a time / lines of code basis is insane. But ultimately the whole community benefits and it's worthwhile.
Back to the original point of this issue, I'd be stoked to see classnames included as syntax sugar in Mithril to transform arrays and objects into strings, but I also agree that {class: classNames({ whatever: true })} is explicit and unopionated. React includes it in the docs but leaves the decision on which library / method to use up to the author which makes sense and keeps the core light.

Personally, I like explicit and unopiniated </two-cents>

Same here.
I mostly do
// init one time
var m = require('mithril');
m.classy = require('classnames');

// use everywhere
m('div', {
  class: m.classy('baz', { bar: true })
}, 'foo')

@StephanHoyer keeping is classy. Nice :grinning:

OFF TOPIC
@JedWatson I'm curious to know why you prefer react over e.G. mithril since you appear to like lightweight solutions over heavy ones.

@StephanHoyer I'll try and answer but I feel like I've spammed enough people today who are watching various repos and issues :grimacing: so let's take any followup conversation elsewhere maybe?
I've been watching mithril for a while now and admire the project, I wouldn't say I specifically "prefer" React. I find it a pragmatic choice for various reasons including maturity and the broader ecosystem (not to mention our stack at work is trending towards equal parts node, react and react-native)
Honestly I'm trying to answer this without sounding opinionated (or comparing a framework I'm very familiar with to one that I'm not) and it's hard. Mithril is definitely lightweight as a framework, but I also find React code (i.e. React components, not React itself) to be lightweight and clear. Before getting so heavily into it I spent a lot of time assessing different options including Ember, Angular and Polymer as well as lighter frameworks like vue.js and mithril, and writing for React just "felt right" to me.
Mithril seems slightly more opinionated and verbose in the code you write for it than React does. It's not so much a matter of more or less abstraction, but where the abstraction sits. I suspect someone more familiar with mithril could make good arguments against that, I think it's also a personal thing.
I've also been part of the React community for a while now, so there's a certain momentum to that, and there's a lot of creativity around it that I enjoy w/ emerging patterns & technology like Redux, Relay, GraphQL and approaches to managing CSS.

@lhorie
Personally, I like explicit and unopiniated </two-cents>

Reiterating my strong support for keeping this out of mithril core, it should stay in user-land where it belongs.
(PS Hi @JedWatson I'll get back to KeyStone someday I swear)

I would have to agree with @tivac in that this should not be in core. There's actually other  things that should be removed from core. A couple examples are the promise implementation and m.request(), as they are almost completely independent of one another, have almost no coupling in core, and there are other modules with the same functionality. I personally wouldn't use them if they weren't in core, because they aren't the best in either size or speed. Bluebird is fast. Promiscuous is tiny (smaller than what's currently here, with an ES6 style API). jQuery's $.ajax() is available standalone, and is easy to alter to use a different promise implementation.

@impinball +1  classnames was pulled out of React for the same reasons which ties this whole thread together nicely. They're still trying to get rid of addons that really shouldn't have been bundled in the first place.
@tivac hi! :wave:

@JedWatson Thanks for the insight. I'm now feeling reassured to use the right framework, since your points are mainly personal taste.
Me for myself find react much more opinionated and verbose than mithril (mainly due to the use of JSX and ES6-classes). But that's my personal opinion.

@StephanHoyer I agree.

I'd rather have JedWatson's classnames as a part of Mithril than m.withAttr, as it's easier to write a proper event handler than it is to write a [a?'cls1':'', b?'cls2':''].join(' '). But that's just my personal opinion.

Use classnames.


The HTML tag style expects only HTML

Problem
The tag "style" seems not to work.
The following code:
html!{
    <style>
        h1 {color: red;}
    </style>
}

does not compile.
The compiler sees an error on the token "h1" and gives the following message: "error: expected a valid html element".
Expected behavior
Not treating the content of the style tag as HTML and including it in the rendered HTML.
Environment:

Yew version: v0.19
Rust version: 1.64

The contents of the style tag is not html, but Text. As such, the expected and working syntax is
html! {
    <style>{"h1 { color: red; }"}</style>
}

See also the documentation on Expressions and Literals in html!. This is working as expected.
If you want further explanation on why this is such, feel free to ask below, but for good reason it's not going to change.

Many thanks for the answer.
I did search.
But do I need to tell you that I'm beginning my journey with Yew.


SIGILL while running error_tests

Hi, on current master I get a SIGILL while running the test suite. Specifically all the tests in error_tests are causing the problem. Running Ubuntu 18.04.
$ uname -srv
Linux 4.15.0-54-generic #58-Ubuntu SMP Mon Jun 24 10:55:24 UTC 2019
$ git rev-parse HEAD
0bf6c7931bba68d5a116e0b5093e25f27845c96a
$  cargo test iters_outofbounds
    Finished dev [unoptimized + debuginfo] target(s) in 0.04s

<snip>

     Running target/debug/deps/error_tests-471b5b8924b6f15e

running 1 test
error: process didn't exit successfully: `/home/jess/repo/weld/target/debug/deps/error_tests-471b5b8924b6f15e iters_outofbounds` (signal: 4, SIGILL: illegal instruction)

Hmm, that's strange, I'm not able to reproduce this. Is this on an EC2 instance? Can you provide the output of /proc/cpuinfo if possible?

This is just on my laptop, a Dell XPS 9370.
processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 142
model name	: Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz
stepping	: 10
microcode	: 0xb4
cpu MHz		: 915.077
cache size	: 8192 KB
physical id	: 0
siblings	: 8
core id		: 0
cpu cores	: 4
apicid		: 0
initial apicid	: 0
fpu		: yes
fpu_exception	: yes
cpuid level	: 22
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp md_clear flush_l1d
bugs		: cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds
bogomips	: 3984.00
clflush size	: 64
cache_alignment	: 64
address sizes	: 39 bits physical, 48 bits virtual
power management:

(The 7 cores are similar).

I noticed that this happens on nightly Rust -- is that what you were using by any chance? I'll look into it further to see what the root cause is, but on my machine these tests work okay on the latest stable version of Rust.

I think I was running nightly, yes. But now using the latest master and latest nightly the problem has fixed itself. Strange but good!


[Feature Request] table column custom attribute

Existing Component
是
Component Name
el-table-column
Description
i want some my own attribute pass to table column, then i want to use it in fomatter function.
a cell's value is aggerrate from two filed, or just it's self ,the value is determined by a attribute

Use TableColumn Scoped Slot.


Reported Challenge #41410 - Use wikimedia_commons tag instead of image tag

Challenge: #41410 - Use wikimedia_commons tag instead of image tag
Reported by: [Mateusz Konieczny](https://www.openstreetmap.org/user/Mateusz Konieczny)
manually done bot edit, instructions do not even pretend that it is mass retagging
violation of https://wiki.openstreetmap.org/wiki/Automated_Edits_code_of_conduct and massive waste of time
it should be discussed and scripted edit rather than asking people to make blindly drudgery edits (only check is checking whether Commons page still exists)

I thought I closed this challenge after conversing with another user in a changeset. Made it undiscoverable. Hopefully there can be a consensus on the use of wikimedia vs image tag.


Added new gestation at delivery and booking date to case field exista…

…nce filter (Resolves #52).  Please merge.  No GEM version bump required at this point.  Cheers

Thanks @drewthorp .

Thanks @drewthorp .


Fix the order in which additional transformations are applied

...in Matrix3 and Transform.
This is a part of the breaking changes proposed in PR #6865, solving the issue regarding the order of affine transformations described in #2565. This PR also fixed the affected code within Godot codebase. Includes improvement to documentation too.

Example project demonstrating the issue:
godot_test.zip


Add Cancel or back Button to Windows Barcode scanner

Currently, there is no back button or cancel button is not there in windows barcode scanner and it is very difficult for the user if user does not want to scan and go back.

https://github.com/CodingWithTashi/simple_barcode_scanner/pull/4#issue-1316577525. Added back button for web and window


Fix "and" before currency fractions and "zero" in case of 0 whole euro

Some fixes for the Greek language data file.
Previously the conversion for 0.33 euro would be:
"ευρώ y 33 λεπτά"
instead of the correct:
"μηδέν ευρώ και 33 λεπτά"
Thank you so much for this so useful utility.

Thanks for your fix and kind words! László


sw-6615: Converts priority to a nullable boolean instead of a string

Codecov Report
Patch coverage: 100.00% and project coverage change: +2.11 :tada:

Comparison is base (fda7e4d) 70.74% compared to head (e6e06de) 72.86%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #355      +/-   ##
==========================================
+ Coverage   70.74%   72.86%   +2.11%
==========================================
  Files          23       25       +2
  Lines        1145     1157      +12
==========================================
+ Hits          810      843      +33
+ Misses        287      268      -19
+ Partials       48       46       -2

Impacted Files
Coverage Δ

internal/sirius/assign_tasks_to_casemanager.go
72.58% <100.00%> (+12.96%)
:arrow_up:

... and 6 files with indirect coverage changes

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Create organization faker-elixir and move project to faker-elixir/faker

Do you guys @igas @anthonator think this is a good idea?
In my point of view the main advantages are:

New repos: the ability to create new repositories in the future when needed
Communication channel: We can discuss version bump and other PRs in the organization chat

A while ago I created https://github.com/elixirs for similar reasons, do you think we want to be restrictive to faker?

If we don't restrict to faker, which other projects would you be interested in building?

I'm not actively developing in elixir right now, but I'm happy to bring other projects and maintainers under the org.

Actually I do have 2 other:

https://github.com/igas/custom_base
https://github.com/igas/base62

I have one in mind to stretch my elixir a bit for https://en.wikipedia.org/wiki/Bank_state_branch :)

Bank state branch sounds like a cool challenge. Let's move to the new org.

elixirs works well. We just need a logo.

@anthonator @tobyhinloopen while I'm preparing things, are you guys still keen to be maintainers?

@igas I'm no longer using Elixir so I'll pass.

I’m still in

I moved repo and invited you guys. Please provide me with you hex profiles so I can add you there.

My username is vbrazo. Thanks!

anthonator. Thanks!

Recently started developing in Elixir again so if you guys need help I can give a hand as a maintainer.

It's good to have you back @saulecabrera, lets have some fresher activity and we can come back to this discussion if others don't have any objections.


Add new function for Virtfusion

Fix conflicts 🙈

I don't really think that the current version can be more powerful or even a downgrade.
I prefer to use Paymenter to manage the product attributes directly, for example, to control the Core or some details in the Admin panel. It can be a simple deployment process, I don't need to create a package again in Virtfusion.
If someone prefers to use package manage in Virtfusion, empty the attributes, and products will follow settings from the original Virtfusion Package center defined

I understand your point, but you can create a simple package on VirtFusion and override the specs through configuration options if needed. Skipping a step isn't necessary since VirtFusion requires a package to create a VPS. Keep something similar like Virtualizor. Why ask uneccesary information and not keep it clean?


Missing Contents key in object_page when specifyig a delimiter

I think I have potentially stumbled upon a bug.
import os
from moto import mock_s3
import boto3

BUCKET_NAME = "test_bucket"

os.environ['AWS_ACCESS_KEY_ID'] = 'testing'
os.environ['AWS_SECRET_ACCESS_KEY'] = 'testing'
os.environ['AWS_SECURITY_TOKEN'] = 'testing'
os.environ['AWS_SESSION_TOKEN'] = 'testing'

with mock_s3():
    client = boto3.client('s3', region_name='us-east-1')
    client.create_bucket(Bucket=BUCKET_NAME)

    def write_value_to_s3(key, value):
        s3 = boto3.client('s3')
        key = key.split("/")
        bucket_name = key[0]
        key_in_the_bucket = "/".join(key[1:])
        s3.put_object(Bucket=bucket_name, Key=key_in_the_bucket, Body=value)

    path_1 = f"{BUCKET_NAME}/a/d"
    path_2 = f"{BUCKET_NAME}/b/c"

    write_value_to_s3(path_1, "")
    write_value_to_s3(path_2, "")

    client = boto3.client("s3")

    object_page = client.list_objects_v2(
        Bucket=BUCKET_NAME,
        Prefix="a",
        Delimiter="/"
    )

    print(object_page)

{'ResponseMetadata': {'HTTPStatusCode': 200, 'HTTPHeaders': {}, 'RetryAttempts': 0}, 'IsTruncated': False, 'Name': 'test_bucket', 'Prefix': 'a', 'Delimiter': '/', 'MaxKeys': 1000, 'CommonPrefixes': [{'Prefix': 'a/'}], 'KeyCount': 1}

Run the code above at https://repl.it/talk/share/Bug-in-Moto/116047

It works as expected. The reported error was due to my misunderstanding of how API of was is working :facepalm:

I updated the link in case someone from the Internet will have a similar issue :smile:

It works as expected. The reported error was due to my misunderstanding of how API of was is working :facepalm:

I updated the link in case someone from the Internet will have a similar issue :smile:


middleware auth not working in Module route

I cannot get to work the middleware in the new created module.
This is my route file:
Route::group(['middleware' => ['auth']], function() {     Route::get('/dashboard/users', 'Modules\User\Http\Controllers\UserController@index')->name('dashboardUsers');     Route::get('/dashboard/user/{id}/edit', 'Modules\User\Http\Controllers\UserController@edit')->name('dashboardEditUserView');     Route::post('/dashboard/user/{id}/edit', 'Modules\User\Http\Controllers\UserController@update')->name('dashboardEditUserView'); });
Is there something I need to do to be able to use the middleware in the module?

I had to also include the "web" guard  before the auth guard in order to work:
Route::group(['middleware' => ['web','auth']], function() { Route::get('/dashboard/users', 'Modules\User\Http\Controllers\UserController@index')->name('dashboardUsers'); Route::get('/dashboard/user/{id}/edit', 'Modules\User\Http\Controllers\UserController@edit')->name('dashboardEditUserView'); Route::post('/dashboard/user/{id}/edit', 'Modules\User\Http\Controllers\UserController@update')->name('dashboardEditUserView'); });

I had to also include the "web" guard before the auth guard in order to work:
Route::group(['middleware' => ['web','auth']], function() { Route::get('/dashboard/users', 'Modules\User\Http\Controllers\UserController@index')->name('dashboardUsers'); Route::get('/dashboard/user/{id}/edit', 'Modules\User\Http\Controllers\UserController@edit')->name('dashboardEditUserView'); Route::post('/dashboard/user/{id}/edit', 'Modules\User\Http\Controllers\UserController@update')->name('dashboardEditUserView'); });

I also encountered exactly the same issue and your answer resolved it too.


Remove ::mouseWheelScreenRow

While working on character measurement, I stumbled upon mouseWheelScreenRow and tried to reason a bit about it.
The reason why it exists is to let the browser continue firing mousewheel events even when the original line goes off-screen. Using this approach, instead of deleting it as we would do for other lines, we keep it around in the DOM until scrolling finishes.
This PR attempts to change that by forcing the browser to fire mousewheel events on the parent element. To achieve this, I made use of the following CSS:
.lines {
  * {
    pointer-events: none;
  }
}

This will prevent any kind of mouse interaction with .lines and .line-numbers descendants and therefore I am not sure about the implications of this solution. Fold icons in the gutter stopped working, but everything else seems to work nicely. I guess the question is: can we find a way to make .lines or .line-numbers the target of mouse wheel events?
This was a pretty quick fix to demonstrate the idea so I just opened a PR but we can easily discard it if it's unfeasible.
/cc: @nathansobo @maxbrunsfeld @atom/feedback

Wow. If this works I'm pretty embarrassed by the complexity of my original solution.

This breaks the ability to fold/unfold lines by clicking in the gutter with the mouse. May need to re-enable pointer events for those icons.

Wow. If this works I'm pretty embarrassed by the complexity of my original solution.

The original solution makes a lot of sense and has proven to be bulletproof over time, so a huge :+1: for that. Also, as you are pointing out, the solution I proposed breaks things like folding.
The alternative here would be to manually fire events, probably using Document.elementFromPoint to figure out the event.target of the synthesized event and EventTarget.dispatchEvent to handle everything else. Something like:
[lineNumbersNode, linesNode].forEach (container) =>
  container.addMultipleEventListeners(
    "mousewheel", "mouseenter", "mouseleave", "etc.",
    @forwardEvent
  )

forwardEvent: (event) ->
  # here we should avoid forwarding events bubbled from a previous forwarded event
  element = document.elementFromPoint(event.x, event.y)
  element.dispatchEvent(event)

So, assuming all of the above is feasible, I guess the question is: would this approach be less complex than our current mouseWheelScreenRow technique? Our DOM should become a little skinnier while scrolling, thereby bringing some speedups on the layout/style-recalculation side of the things.
@nathansobo: what do you think? I am fine with closing this and re-evaluate it once we have more information on synchronous scrolling events (which, if we manage to make them work, should solve this problem as a byproduct).

I think it's probably less complicated to just preserve our existing implementation. Who knows what kind of implications we'll encounter if we disable pointer events inside the editor... I'm not really keen to find out. If we can really use native scrolling with the touchevents hack, then we probably don't need to synthesize scrolling from mousewheel events and can drop this code in that way.

Agreed. :+1:
@nathansobo: thank you for evaluating this! :sparkles:


How waymo align LiDAR point to image?

Hi, thanks for this great dataset. I have a question about LiDAR and camera calibration in your paper：

Camera projection: We provide accurate LiDAR point to camera image projections with rolling shutter effect compensated.

What kind of method did you use to calibrate the LiDAR and camera for accurate projection?

You can check our paper which describes the projection algorithm or check the code  in third_party/camera


chore(main): release 1.2.0

:robot: I have created a release beep boop
1.2.0 (2024-05-06)
Features

color add getLightnessColor (b05b1c2)
FlutterConfigData defaultFontWeight -> fontWeight (34b41d3)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/luoyi58624/luoyi_flutter_base/releases/tag/v1.2.0 :sunflower:


Directory mapping entry in manifest

Additional design is required to make Soma aware of desired directory mapping from user.
See PLUS-POSTECH/simple-bof#1

See #41


updated abstract form page to call get_context

The class overwrites serve & serve_preview but does not call super. Which means the get_context method is never called on subclasses.
I overwrite the get_context method to add a meta object for the djanog-meta package, but with form pages it's not working because of this.

I also ran the pep8 --ignore=E501 command, which is telling me that there are some things to fix. Let me know if I should fix the warnings as well :)

Thanks @ser1us
I've made a slightly tweaked version here: https://github.com/torchbox/wagtail/compare/master...kaedroho:pr/1429?expand=1
This version removes the context.update bits, adds a test and fixes the merge conflicts. Does this solve the issue for you?

Hi @kaedroho, yes indeed. That fixes the issue, as long as get_context is called I'm super happy :)

Closing in favour of #1541.


fix(remix): Ensure interstitial is triggered on route transitions

Description

When fetching route data on a client-side transition, it is possible that the interstitial gets triggered. This presents an issue in a browser context because any script tags injected via .innerHTML = are not executed. To ensure that the interstitial is properly triggered, we add a call to window.location.reload() in this scenario.
It's worth noting that we ideally should not be triggering an interstitial for a client-side transition, but in the case it does happen we need to make sure it functions correctly.

fixes JS-706
Checklist

[x] npm test runs as expected.
[x] npm run build runs as expected.
[x] (If applicable) JSDoc comments have been added or updated for any package exports
[x] (If applicable) Documentation has been updated

Type of change

[x] 🐛 Bug fix
[ ] 🌟 New feature
[ ] 🔨 Breaking change
[ ] 📖 Refactoring / dependency upgrade / documentation
[ ] other:

Packages affected

[ ] @clerk/clerk-js
[ ] @clerk/clerk-react
[ ] @clerk/nextjs
[x] @clerk/remix
[ ] @clerk/types
[ ] @clerk/themes
[ ] @clerk/localizations
[ ] @clerk/clerk-expo
[ ] @clerk/backend
[ ] @clerk/clerk-sdk-node
[ ] @clerk/shared
[ ] @clerk/fastify
[ ] @clerk/chrome-extension
[ ] gatsby-plugin-clerk
[ ] build/tooling/chore

!snapshot

Hey @BRKalow - the snapshot version command generated the following package versions:

Package
Version

@clerk/backend
0.29.1-snapshot.d9f7293

@clerk/chrome-extension
0.4.0-snapshot.d9f7293

@clerk/clerk-js
4.58.0-snapshot.d9f7293

@clerk/clerk-expo
0.19.2-snapshot.d9f7293

@clerk/fastify
0.6.7-snapshot.d9f7293

gatsby-plugin-clerk
4.4.8-snapshot.d9f7293

@clerk/localizations
1.26.0-snapshot.d9f7293

@clerk/nextjs
4.24.0-snapshot.d9f7293

@clerk/clerk-react
4.25.0-snapshot.d9f7293

@clerk/remix
2.10.3-snapshot.d9f7293

@clerk/clerk-sdk-node
4.12.6-snapshot.d9f7293

@clerk/shared
0.22.1-snapshot.d9f7293

@clerk/types
3.52.0-snapshot.d9f7293

Tip: use the snippet copy button below to quickly install the required packages.
# @clerk/backend
npm i<EMAIL_ADDRESS>
# @clerk/chrome-extension
npm i<EMAIL_ADDRESS>
# @clerk/clerk-js
npm i<EMAIL_ADDRESS>
# @clerk/clerk-expo
npm i<EMAIL_ADDRESS>
# @clerk/fastify
npm i<EMAIL_ADDRESS>
# gatsby-plugin-clerk
npm i<EMAIL_ADDRESS>
# @clerk/localizations
npm i<EMAIL_ADDRESS>
# @clerk/nextjs
npm i<EMAIL_ADDRESS>
# @clerk/clerk-react
npm i<EMAIL_ADDRESS>
# @clerk/remix
npm i<EMAIL_ADDRESS>
# @clerk/clerk-sdk-node
npm i<EMAIL_ADDRESS>
# @clerk/shared
npm i<EMAIL_ADDRESS>
# @clerk/types
npm i<EMAIL_ADDRESS>

This PR has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.


Update run.md

Put a space after the ### in the Example section. On the github parser the result file looks ok, but in the docker page (https://docs.docker.com/reference/run/) looks ugly.

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "patch-1" git@github.com:atilacamurca/docker.git somewhere
$ cd somewhere
$ git commit --amend -s --no-edit
$ git push -f

Ammending updates the existing PR. You DO NOT need to open a new one.

@moxiegirl easy merge

LGTM
doesn't get easier @crosbymichael


Ready for npm.

https://www.npmjs.com/package/system-font
Made you owner.

Thanks, but I don't think we need to have these on npm.

@guybedford How do people using standalone SystemJS (without jspm) get packages? Seems like having these on npmjs.org makes it easier for those people to get the package with a simple npm install system-font instead of having to open a a browser, go to github, copy the URL then npm install git+<url>.

There are other tools for this sort of thing like Bower, curl. I don't want jspm users using the version from npm, and I don't want to encourage the use of npm for SystemJS on its own either. So I don't see that this is enough of a pain point for plain SystemJS users that I should publish every release of every plugin to npm. If it were apparent that this was a major pain point for users, I would certainly reconsider.

bower, and especially curl, are suboptimal, but I see how they work because with SystemJS, dependencies need to be manually configured, like with RequireJS, which everyone wants to get away from. This is why Browserify and webpack are nice, because they both resolve dependencies the npm way (as in you don't need a config file to map all the dependencies of each dependency), and now jspm resolves dependencies for SystemJS in it's own way.
But considering that SystemJS on it's own has no dependency handling, bower (and curl???) are completely not optimal and require lots of handwork, or custom scripting.
I'd go as far as suggesting that SystemJS have the ability to handle dependencies the NPM way, and let jspm be the addition for the other stuff like it's registry and support non-npm endpoints.
It feels like you dislike npm, and want to just get users away from it (whether that's actually true, I don't know), but reality is that npm is currently the best source for packages without a doubt, and webpack and browserify have the competitive advantage because they work with the default npm package resolution mechanism, or whatever it's called.
Suggesting bower is completely impractical to some people (like me, but I'm not the only one) because I'd rather use a tool that wires up dependencies (like jspm, browserify, webpack, or duo). RequireJS is out of the question because it takes too much work. SystemJS is only better than RequireJS because you're not limited to AMD modules, but nonetheless bower+SystemJS isn't inherently better besides the module support. JSPM is what brings magic to the package manangement of SystemJS, but if SystemJS at least worked with NPM packages like browserify and webpack do, you'd certainly draw many more users to the SystemJS community.


Update Chinese translation per request

@PenguinK How about this?

@DusKing1 mention me when I can merge this x)

@PenguinK How about this?

Awesome! Really appreciate for your with chariness and responsibility.


[KV] Add key concepts section and reference architectures to KV docs

Will wait on feedback from https://github.com/cloudflare/cloudflare-docs/pull/15911 before merging

Merged in #15911, so think we should be good on this one as well.

@kodster28 just had one last nit based on #15911 feedback, will wait for build then merge

Fixed merge conflict @kodster28


Try to Convert onnx to tensorrt int8  but got Error

I try to convert onnx to tensorrt int8  but got this error bellow,would some one help me up?
$ python3 onnx_to_tensorrt.py -m yolov4-416 --int8

Loading the ONNX file...
Adding yolo_layer plugins.
Adding a concatenated output as "detections".
Naming the input tensort as "input".
Building the TensorRT engine.  This would take a while...
(Use "--verbose" or "-v" to enable verbose logging.)
onnx_to_tensorrt.py:170: DeprecationWarning: Use build_serialized_network instead.
  engine = builder.build_engine(network, config)
[TensorRT] WARNING: Half2 support requested on hardware without native FP16 support, performance will be negatively affected.
[TensorRT] ERROR: 1: [calibrator.cpp::add::779] Error Code 1: Cuda Runtime (an illegal memory access was encountered)
[TensorRT] ERROR: [executionContext.cpp::commonEmitDebugTensor::1258] Error Code 1: Cuda Runtime (an illegal memory access was encountered)
[TensorRT] ERROR: [convolutionRunner.cpp::executeConv::454] Error Code 1: Cudnn (CUDNN_STATUS_EXECUTION_FAILED)
[TensorRT] INTERNAL ERROR: [defaultAllocator.cpp::free::85] Error Code 1: Cuda Runtime (an illegal memory access was encountered)
[TensorRT] INTERNAL ERROR: [defaultAllocator.cpp::free::85] Error Code 1: Cuda Runtime (an illegal memory access was encountered)
[TensorRT] INTERNAL ERROR: [defaultAllocator.cpp::free::85] Error Code 1: Cuda Runtime (an illegal memory access was encountered)
Cuda failure in file 'yolo_layer.cu' line 85: 700
Aborted (core dumped)

Did you follow the steps in Demo #6: Using INT8 and DLA core and prepare the images for INT8 calibration?  If yes, did you see any error related to the calibrator?

Did you follow the steps in Demo #6: Using INT8 and DLA core and prepare the images for INT8 calibration? If yes, did you see any error related to the calibrator?

First of all, thank you so much for your contribution in this work, @jkjung-avt  !
And I found why the error caused.
That was because I modified the MAX_BATCH_SIZE param which both in  "yolo_to_onnx.py" & "onnx_to_tensorrt.py" as 32.
After that, I settled MAX_BATCH_SIZE = 1. So the program  Quantification TensorRT INT8 successfully.

Good to know that you've got the issue resolved.


#<Facebook::Messenger::FacebookError: (#546) The type of file you're trying to attach isn't allowed. Please try again with a different format

Hi,
I'm getting this error when I try to upload a video attachment instead of an audio one. Any idea why?

#<Facebook::Messenger::FacebookError: (#546) The type of file you're trying to attach isn't allowed. Please try again with a different format

For info, what's in my code is:

message.reply(
attachment: {
type: 'audio',
payload: {
url: 'https://clyp.it/42khxiae.mp3'
}
}
)

I also tried it to do it this way (with the file in a folder) and it was unsuccessful as well

@adeprem The file URL i.e. https://clyp.it/42khxiae.mp3 is not a actual mp3 file URL. When you access this URL is redirecting to https://clyp.it/announcement/direct-file-access a HTML page which is not allowed as attachment by the API. So give URL of actual file not the redirecting route. I tested with the actual file URL and it works.


Update README.md

as suggested in email.

@mpf  -- I'm just noticing that this PR is still open .


Add and improve #fun examples

I improved two existing examples of using #fun and added a new one, borrowed from the existing language semantics. I also provided their formal translations to Kore patterns, which help the readers to understand the behaviors of #fun from a logical point of view.

@traiansf Please review the above documentation of the discussion about #fun in https://runtimeverification.slack.com/archives/CBNGEMMUP/p1574184470310200

This PR is closed because the added explanation doesn't belong to the Reference Manual, but Semantics of K document.

I tend to agree with Everett that this is not the file to describe proposals like this with regards to the K implementation. This is a document intended to describe the exact current behavior of the implementation oriented towards end-users.

Either way, the documentation of #fun is currently lacking. So I don't want to close this, just want to get it into merge-able state.

I'll come back to this PR over the weekend and make it in a way that is facing the end-users. Specifically, I'll restore the original description of using lambda to define #fun, but I'll include the new example which uses nested #fun.
I may need further clarification about the exact behavior of #fun in the future.


ci: failed to run e2e_test/visibility_mode/checkpoint.slt

| | e2e_test/visibility_mode/../batch/./basic/join.slt.part      .. [FAILED]
--
  |
  | failed to run `e2e_test/visibility_mode/checkpoint.slt`
  |
  | Caused by:
  | query result mismatch:
  | [SQL] select * from i1 join i2 using(v1);
  | [Diff] (-expected\|+actual)
  | -   1 2 3
  | at e2e_test/visibility_mode/../batch/./basic/join.slt.part:60
  | at e2e_test/visibility_mode/../batch/distribution_mode.slt:7
  | at e2e_test/visibility_mode/checkpoint.slt:5
  |
  |
  | Error: some test case failed:
  | [
  | "e2e_test/visibility_mode/checkpoint.slt",
  | ]

https://buildkite.com/risingwavelabs/pull-request/builds/50911#018fdcd3-695d-4523-9e23-d9d2963756d6

Duplicated with #16796 .


Change tilemap to allow empty and rotated tiles.

Update tilemap to handle empty and rotated tiles correctly.
Based on: https://doc.mapeditor.org/en/stable/reference/tmx-map-format/#tile-flipping

Thank you!  :heart:


Personally Identifiable Information problem

Email addresses are generally considered PII.  Organizers shouldn't, and often legally can't, submit their attendees' email to a random service run by a lady with crazy hair.  How to get around this?

Organizers could submit only the hashes of their users' email addresses, then cross-reference the response against their own data to send the emails.  But this demands the organizers run a script themselves, configured with info about their own email service, which puts it out of reach of non-technical organizers, or even busy technical organizers.

Would a professional email service like Emma have good ideas for something like this?

Could a one-time email address service help?

An trusted institution willing to host the webservice would definitely help reassure users of the safety of transmitting their email data.


sys/freebsd: Add pf ioctl()s

Tweak the building of the FreeBSD vm image to ensure pf is loaded at
startup, so that we can test it.

CLA signed.

Codecov Report

Merging #1129 into master will decrease coverage by <.01%.
The diff coverage is 0%.

@@            Coverage Diff            @@
##           master   #1129      +/-   ##
=========================================
- Coverage    67.1%   67.1%   -0.01%
=========================================
  Files         120     120
  Lines       20705   20706       +1
=========================================
  Hits        13895   13895
- Misses       6148    6149       +1
  Partials      662     662

Impacted Files
Coverage Δ

pkg/build/freebsd.go
0% <0%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

When I now try to run
gmake extract SOURCEDIR=/home/tuexen/head/

I get
export BUILDOS=freebsd
export NATIVEBUILDOS=freebsd
export HOSTOS=freebsd
export HOSTARCH=amd64
export TARGETOS=freebsd
export TARGETARCH=amd64
export TARGETVMARCH=amd64
export CC=gcc
export ADDCFLAGS=-O2 -pthread -Wall -Werror -Wparentheses -Wunused-const-variable -Wframe-larger-than=8192 -m64 -static
export NCORES=6
export EXE=
export NATIVEBUILDOS=freebsd

GOOS=freebsd GOARCH=amd64 go build "-ldflags=-s -w -X github.com/google/syzkaller/sys.GitRevision=b617407b25b37a7a8efa47127005d1f20dd0abe1+ -X 'github.com/google/syzkaller/sys.gitRevisionDate=Thu Apr 25 20:29:42 2019 +0200'" -o bin/syz-extract ./sys/syz-extract
bin/syz-extract -build -os=freebsd -sourcedir=/home/tuexen/head/
generating freebsd/amd64...
extracting from ipc.txt
extracting from pf.txt
	failed to run compiler: exit status 1
In file included from /home/tuexen/head/sys/sys/systm.h:126,
                 from /home/tuexen/head/sys/sys/mbuf.h:42,
                 from <stdin>:15:
/home/tuexen/head/sys/sys/kpilite.h:33:10: fatal error: offset.inc: No such file or directory
 #include "offset.inc"
          ^~~~~~~~~~~~
compilation terminated.

extracting from posix_fs.txt
extracting from posix_mm.txt
extracting from socket.txt
extracting from socket_inet.txt
extracting from socket_inet6.txt
extracting from socket_inet_icmp.txt
extracting from socket_inet_sctp.txt
extracting from socket_inet_tcp.txt
extracting from socket_inet_udp.txt
extracting from socket_inet_udplite.txt
extracting from socket_unix.txt
extracting from sys.txt
extracting from vnet.txt

gmake: *** [Makefile:182: extract] Error 1

@kprovost Any idea what is going wrong?

I can reproduce it, but I have no idea how to fix it. Our build system produces these offset.inc files, so this is fine while building, but not during gmake extract.
The usual preprocessor things don't seem to apply during this process, because I'd expect a 'define GENOFFSET 1' before  the includes to work around this, and it doesn't help.
I've tried this:
`diff --git a/sys/syz-extract/freebsd.go b/sys/syz-extract/freebsd.go
index 524fd716..95ee59d5 100644
--- a/sys/syz-extract/freebsd.go
+++ b/sys/syz-extract/freebsd.go
@@ -42,6 +42,7 @@ func (*freebsd) processFile(arch *Arch, info *compiler.ConstInfo) (map[string]ui
"-nostdinc",
"-D_KERNEL",
"-D__BSD_VISIBLE=1",

          "-DGENOFFSET",
          "-I", filepath.Join(arch.sourceDir, "sys"),
          "-I", filepath.Join(arch.sourceDir, "sys", "sys"),
          "-I", filepath.Join(arch.sourceDir, "sys", "amd64"),`

and then the offset.inc problem goes away, but it fails to figure out the ioctl defines and I end up with a whole lot of # DIOCXROLLBACK is not set.

FWIW for linux we actually start building kernel because we also need some generated files.

I was already playing with adding "-DGENOFFSET". After some discussion with @msvoelker we figured out that the IORW macros where not defined. Including sys/ioccom.h resolves this.
@kprovost Can you have a look at https://github.com/google/syzkaller/pull/1147?


v2 SDK

Hello,
I'm the CTO and co-founder of Blaise Transit. We forked this project a while ago and have added a bunch of features to our fork.
Since the v1 SDK will be deprecated soon, I was wondering if you would like to collaborate on migrating this project to the v2 SDK. If so, drop me an email at<EMAIL_ADDRESS>Looking forward to hearing from you!

Hi @ben-hudson, we recently did the work to upgrade to v2  You can reference this comment for getting the latest changes.
https://github.com/homeeondemand/react-native-mapbox-navigation/pull/66#issuecomment-1032748538
Since we inherited this project from the previous devs we are still trying to get access to the npm org to publish this. We currently have a help ticket out to npm to get access. We might just end up creating a different npm scope to publish this under if that doesnt pan out.
Just FYI I would like to be able to contribute to this more but our team has a lot of other priorities currently. Would be interested in seeing what enhancement you included in your fork.

Thanks! We've made a fork on github (https://github.com/blaisetransit/react-native-mapbox-navigation) and looking forward to contributing

I adapted the code to work with version 0.71.3 of react native, anyone interested let me know

I adapted the code to work with version 0.71.3 of react native, anyone interested let me know

I am interested...

https://github.com/roberto497/react-native-mapbox-navigation

I adapted the code to work with version 0.71.3 of react native, anyone interested let me know

I am interested...

https://github.com/roberto497/react-native-mapbox-navigation


[dx12] fix image view format

Follow up for #2664. Without this I get an error, when calling clear_attachments, because the format is typeless:
D3D12 ERROR: ID3D12Device::CreateRenderTargetView: The Format (0x3c, R8_TYPELESS) is invalid,
when creating a View; it is not a fully qualified Format castable from the Format of the
Resource (0x3c, R8_TYPELESS). [ STATE_CREATION ERROR #38: CREATERENDERTARGETVIEW_INVALIDFORMAT]

PR checklist:

[ ] make succeeds (on *nix)
[ ] make reftests succeeds
[x] tested examples with the following backends: DX12
[ ] rustfmt run on changed code

This change is

cc @kvark


Optimize SHOW TAG VALUES

Overview
This commit optimizes SHOW TAG VALUES so that it avoids the SELECT query engine execution and iterator creation. There are also optimizations to reduce individual memory allocations and to reduce in-memory heap size by only operating on one measurement at a time.
Execution time has been reduce to approximately 900ms for 500,000 rows. This is about 2µs per row. Of this time, approximately 1µs is spent retrieving and sorting the row and 1µs is spent encoding into JSON and writing to the response body.
Fixes #6233
/cc @pauldix @jwilder
Notes
The previous implementation of tagValuesIterator still exists because it is used for the distributed SHOW TAG VALUES. This change only affects the single node implementation.
TODO

[x] Rebased/mergable
[x] Tests pass
[x] Sign CLA (if not already signed)

👍 LGTM

I think those unexported funcs might need to stay unexported and unlocked and instead create a new exported version that takes a read-lock?

👍

Thank you!!!
Add to CHANGELOG?


Error creating bean with name 'springSecurityFilterChain'

Possibly related to #4 ?
When application.yml is present (used default example on website, plus a trimmed-down version), I get the following error when running java -jar shinyproxy-0.9.1.jar:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'springSecurityFilterChain' defined in class path resource [org/springframework/security/config/annotation/web/configuration/WebSecurityConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [javax.servlet.Filter]: Factory method 'springSecurityFilterChain' threw exception; nested exception is java.lang.NullPointerException

This error only occurs when the config file is present. On its own, it works fine. Logs are below:
Fail (with application.yml): https://pastebin.com/4CDqMG38
Success (no config file): https://pastebin.com/mXrF1bLS
root@shinyproxy: # java -version
java version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)

Hi,
Can you check your application.yml for the presence of the authentication property? E.g.
shiny:  proxy:  authentication: none
This property cannot be omitted, please use 'none' for no authentication.


Bump up dependencies

Context

https://github.com/code-yeongyu/AiShell/issues/52#issuecomment-1502779304

Changes

Codecov Report

Merging #15 (5bca271) into master (960a25f) will not change coverage.
The diff coverage is n/a.

:exclamation: Current head 5bca271 differs from pull request most recent head 8940dd2. Consider uploading reports for the commit 8940dd2 to get more accurate results

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@           Coverage Diff           @@
##           master      #15   +/-   ##
=======================================
  Coverage   55.76%   55.76%
=======================================
  Files          26       26
  Lines         269      269
=======================================
  Hits          150      150
  Misses        119      119

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


Small documentation issue

Thanks for your great easy to use package and excellent documentation! One small issue: when I use the guide https://vrouter.dev/guide/ I cannot copy a line of code, I have to copy all, or nothing. I guess the guide is built using flutter too? Maybe use SelectableText for the code examples?

I used a plug-in for the coloration of dart keywords so unfortunately I can not make it selectable. Maybe if I modify the plug-in I would have to look into it


Add set method to config

Add set method to config.
Increased unit tests coverage.
Fix async tests pattern in Config, Arguments and Process unit tests.

Pull Request Test Coverage Report for Build 49

16 of 16 (100.0%) changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+1.1%) to 45.594%

Totals

Change from base Build 46:
1.1%

Covered Lines:
713

Relevant Lines:
1457

💛  - Coveralls


All floating point numbers are now being returned as BigDecimals

Describe the bug
Previously if a value was double, real, or float we would get a return in those types. Starting at 3.0.0, it seems they are all returned as BigDecimals.
To Reproduce
Create a table with a real column, query it, and see that the result is BigDecimal.
Expected behavior
I would expect to get the data type of the column in ADX.
Screenshots
N/A
Desktop (please complete the following information):

OS: Windows
Version 11

Additional context
I believe that this issue was introduced with the change here:
https://github.com/Azure/azure-kusto-java/blob/9fcb46725026f90f07a228b399a053330f0f468e/data/src/main/java/com/microsoft/azure/kusto/data/Utils.java
specifically:
// added auto bigdecimal deserialization for float and double value, since the bigdecimal values seem to loose precision while auto deserialization to
    // double value
    public static ObjectMapper getObjectMapper() {
        return JsonMapper.builder().addModule(new JavaTimeModule()).build().configure(
                DeserializationFeature.USE_BIG_DECIMAL_FOR_FLOATS, true).configure(JsonGenerator.Feature.WRITE_BIGDECIMAL_AS_PLAIN, true).setNodeFactory(
                        JsonNodeFactory.withExactBigDecimals(true));
    }

While I understand the concern raised in the comments, this requires quite a lot of processing on the client side to convert back into a double as now things would have to be done in the string domain. Is this a behavior we could opt into instead of it being forced?

I have refactored my code to read from the column type and cast to the appropriate types


Can you dock non tabbed panels with this library?

Original issue: https://github.com/phosphorjs/phosphor-dockpanel/issues/19
@patrickliechty writes:

Instead of tabbed panels, how would I just use a regular panel or container? I would think the panel  would have a title bar that you can use to move the panel. Is that possible using Phosphor?
It appears that tabbed panels are the only ones that can be moved. Is that true?
It would be nice to drag a window using a thumb. I would rather not have a title bar on the window. Is that possible?

This is a good idea, and would make DockPanel really nice for creating dashboard type apps.
Currently, only tab panels are supported. We could potentially make them look like single panels with some clever CSS to stretch a single tab across the entire tab bar, but it wouldn't prevent you from adding other tabs to that area.
I'm open to ideas here for making this more flexible. It will take some work on DockPanel, but it shouldn't be too difficult.

@blink1073 @afshin @ellisonbg @jasongrout

One subtlety with this, which I wouldn't expect to be in any way obvious, is that we can't use a solution which involves the user widgets changing their parent node during a drop operation. Doing so causes any descendant <iframe> elements to reload, which is an awful user experience.
The current DockPanel solves this by holding all tab bars and user widgets as direct children, and the custom dock layout manages the flat layout for all of these widgets. So when a widget is moved/dropped, it's parent/containment doesn't change, the layout simply updates its absolute position.
If we were to allow custom user-defined containers, we wouldn't be able to allow move elements between containers (due to the iframe issue), which means tabbed containers are ruled out.
Maybe we can make the DockLayout independent of a TabBar (this should be easy), and a DockPanel which uses tabs, and a DashboardPanel which doesn't. Both of these could reuse the DockLayout under the covers, they would just differ in how they handle containment.

Another option would be to figure out how to support both tabbed areas and non-tabbed areas in the layout (something I did in Enaml), but allow the option to disable support for tabbing.


Razer Huntsman Elite Underglow

Hi,
Awesome script. How do I get this script to utilize the underglow on the Huntsman Elite?
Thanks!

Thanks. Changing the hard coded value to "Razer Huntsman Elite" and using python create-wave.py -d 1 --fps 60 -r 9 as the command works perfectly.


Support CSS compatible with GTK

We thought about a GTK css to OrbTk css converter.

?
It isnt just CSS?

GTK uses its own property and selector names. We need to map the GTK names to OrbTk names.

We switched to a new style format, therefore this will not be possible now.


hotkeys: escape key press dismiss "invite-users" modal.

Pressing escape key dismiss the invite-user modal.
Fixes #4008.

Automated message from Dropbox CLA bot
@jajodiaraghav, it looks like you've already signed the Dropbox CLA. Thanks!

Merged, thanks @jajodiaraghav!


⚠ Bofrost.lu has degraded performance

In 0981158, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1408 ms

Resolved: Bofrost.lu performance has improved in c72d5e6.


A4T Client-side Analytics documentation - Are Target events being logged twice per page view?

For A4T Client-side Analytics Logging Looking at the docs here:
https://github.com/AdobeDocs/experience-platform.en/blob/main/help/edge/personalization/adobe-target/analytics-logging/client-side.md

In the first screenshot, the diagram suggests that when we fetch the Target experiences, TargetEdge has already Log the impressions.

If we scroll down further, this screenshot mentions to send the decisioning.propositionDisplay notification event. Why do we need to send another event if the impressions are already logged?

Can we complete this example by showing what the Analytics hit looks like. Or perhaps a link to an example showing how to send the page view Analytics hit via the Data Insertion API. Can the WebSDK not send an Analytics hit?

Thank you

Thank you for submitting this issue. We will review the documentation and make the necessary updates as quickly as possible. Tracking internally in PLAT-129906.


model is 404 now,Can you support it?QAQ

i find that in fork,thanks a lot~

where is the model file? I can't find it?


JsconSchema doesn`t validate required property inside anyOf

I have this json schema which is being used in the code below.
{
"definitions": {
"Test": {
"id": "Jsonschemas/",
"type": "object",
"properties": {
"url": {
"type": "string"
},
"canceledOnDate": {
"type": "string"
},
"address": {
"$ref": "address.json#/definitions/address"
},
"coordinates": {
"$ref": "coordinates.json#/definitions/coordinates"
}
},
"additionalProperties": false,
"required": ["canceledOnDate" ],
"anyOf": [
{ "required": [ "address" ] },
{ "required": [ "coordinates" ] }
]
}
}
}
I have this C# code which is using JsonSchema4.
JsonSchema4 schema = new JsonSchema4();
schema = await JsonSchema4.FromFileAsync(Path.Combine(HttpContext.Current.Server.MapPath("~"), @"JsonSchema/Test.json"));
schema.Validate(actualJsonData);
I am expecting that based on the schema if I dont provide either address or cocrdinates, the Validate method should return me error. But it doesn`t validate the required field in anyOf at all. The validation always passes even if address and coordinates both are not provided.
Is it not supported with JsonSchema4? I am looking for help to fix this problem or a work around to fix this issue.

I think this is because you only defined the properties in "required" but didn't declare them in "properties"

Should this be allowed?

I did declare address and coordinates in actual properties and they are defined as required. It is a valid Json schema. I have ran it on other validators and it works just fine other then this library.

Define the properties here
{ "required": [ "address" ] },

Like
{ "required": [ "address" ], "properties": { } },

Do you mean the schema should be defined like this? I have ran the following schema and it seems to work. I haven`t tested all other scenarios. Do i have to define address and coordinates both as part of required properties and other properties as defined below?
{
"definitions": {
"warrant": {
"id": "Jsonschemas/",
"type": "object",
"properties": {
"url": {
"type": "string"
},
"canceledOnDate": {
"type": "string"
},
"expiresOnDate": {
"type": "string"
},
"servedOnDate": {
"type": "string"
},
"name": {
"$ref": "name.json#/definitions/name"
},
"address": {
"$ref": "address.json#/definitions/address"
},
"coordinates": {
"$ref": "coordinates.json#/definitions/coordinates"
},
"offenses": {
"type": "array",
"items": {
"$ref": "offense.json#/definitions/offense"
}
}
},
"additionalProperties": false,
"required": [
"canceledOnDate",
"expiresOnDate",
"servedOnDate",
"name",
"offenses"
],
"anyOf": [
{
"required": [ "address" ],
"properties": {
"address": {
"$ref": "address.json#/definitions/address"
}
}
},
{
"required": [ "coordinates" ],
"properties": {
"coordinates": {
"$ref": "coordinates.json#/definitions/coordinates"
}
}
}
]
}
}
}

However my original schema works with other Json schema validators.
{
"type": "object",
"required": [
"accountNumber",
"parcelNumber"
],
"anyOf": [
{"required" : ["address"]},
{"required" : ["coordinates"]}
],
"properties": {
"id": {
"type": "string"
},
"accountNumber": {
"type": "string"
},
"parcelNumber": {
"type": "string"
},
"propertyType": {
"type": "string"
},
"address": {
"type": "object",
"properties": {
"addressString": {
"type": "string"
},
"addressType": {
"enum": [
"residential",
"business"
]
}
},
"required": [
"addressString"
]
},
"coordinates": {
"type": "object",
"properties": {
"latitude": {
"type": "number"
},
"longitude": {
"type": "number"
},
"projection": {
"type": "string"
}
},
"required": [
"latitude",
"longitude",
"projection"
]
}
}
}
Here is the data to prove this.
{
"accountNumber": "test",
"parcelNumber": "testt",
"address": {
"addressString": "Avenue Q"
},
"coordinates": {
"latitude": 42,
"longitude":42,
"projection": ""
}
}
If you remove address and coordinates both from the data, you will receive error that one of it is required.
You can test it out here. http://www.jsonschemavalidator.net/
My questions is why the NJsonSchema doesn`t supports it? This is very clean approach rather then defining address and coordinates both as part of required properties and other properties?
Please let me know if my ask is not clear.

I also have same problem I am using OneOf and required doesnt work at all, though I am using FromData to load the schema, should it matter?

I dont think its FromData. I see same problem with FromFile.
However, the work around is to define the properties in the required field as i have in my example above. That should work for now.

Thanks a lot , that works!

Will rename FromData to FromSampleJson..

Has this issue been resolved? I have the following schema (truncated for brevity):
{
"type": "object",
"properties": {
"bContinuousStay": { "type": "boolean" },
"dStayStartDate": { "type": "string" },
"dStayEndDate": { "type": "string" }
},
"required": [ "bContinuousStay" ],
"anyOf": [
{ "properties": { "bContinuousStay": { "enum": [ true ] } } },
{ "properties": { "bContinuousStay": { "enum": [ false ] } }, "required": [ "dStayStartDate", "dStayEndDate" ] }
]
}
It validates fine in online validators but does not in NJsonSchema. If I defined the "dStayStartDate" and "dStayEndDate" properties in the main "required" array it kills the whole purpose of anyOf (they must always be present then).
Any workarounds are accepted as I have a deadline and a lot of similar scenarios to catch :)


docs(examples): add README for multiple examples

Adding a README / screenshot for the following examples:

instantsearch
panel-placement
playground
preview-panel-in-modal
query-suggestions-with-categories
query-suggestions-with-inline-categories
query-suggestions-with-hits
query-suggestions

More to come :)

@sarahdayan  done!


chore: update CI configuration to include macOS-14 as an OS option

🔗 Linked issue

❓ Type of change

[ ] 📖 Documentation (updates to the documentation, readme or JSdoc annotations)
[ ] 🐞 Bug fix (a non-breaking change that fixes an issue)
[x] 👌 Enhancement (improving an existing functionality like performance)
[ ] ✨ New feature (a non-breaking change that adds functionality)
[ ] 🧹 Chore (updates to the build process or auxiliary tools and libraries)
[ ] ⚠ Breaking change (fix or feature that would cause existing functionality to change)

📚 Description
Ref Blog

📝 Checklist

[ ] I have linked an issue or discussion.
[ ] I have added tests (if possible).
[ ] I have updated the documentation accordingly.

Is there a reason we want to add an additional platform here?

no reason, just the blog post above.

Okay! In the interests of saving CI minutes, I'll not merge this but thanks for spotting the opportunity! ❤


Warnings when building libxsmm with clang 14 from inside the tpp-sandbox

  0% [0:1/2] 0.0/s, 0.004s Re-checking globbed directories...
  9% [15:24/163] 24.8/s, 0.606s Building C object CMakeFiles/xsmm.dir/_deps/xsmm-src/src/generator_gemm_common.c.o
/home/rengolin/devel/intel/tpp-sandbox/build/_deps/xsmm-src/src/generator_gemm_common.c:1216:5: warning: default label in switch which covers all enumeration values [-Wcovered-switch-default]
    default:
    ^
1 warning generated.

 42% [69:78/163] 29.1/s, 2.373s Building C object CMakeFiles/xsmm.dir/_deps/xsmm-src/src/generator_x86_instructions.c.o
/home/rengolin/devel/intel/tpp-sandbox/build/_deps/xsmm-src/src/generator_x86_instructions.c:3806:7: warning: unannotated fall-through between switch labels [-Wimplicit-fallthrough]
      default:
      ^
/home/rengolin/devel/intel/tpp-sandbox/build/_deps/xsmm-src/src/generator_x86_instructions.c:3806:7: note: insert 'break;' to avoid fall-through
      default:
      ^
      break;
1 warning generated.

 51% [84:93/163] 30.0/s, 2.796s Building C object CMakeFiles/xsmm.dir/_deps/xsmm-src/src/libxsmm_main.c.o
/home/rengolin/devel/intel/tpp-sandbox/build/_deps/xsmm-src/src/libxsmm_main.c:2248:5: warning: default label in switch which covers all enumeration values [-Wcovered-switch-default]
    default: { /* unknown kind */
    ^
1 warning generated.

Can you let me know how you CMake configure step looks like if it was any special? I guess -Weverything stems from some CMake configure option I am missing.

I don't have any special flags on TPP's build CMake, just the bare minimum.

The thing is, I cannot reproduce the issue. The idea is to improve our code analysis and flags to avoid this issue on our side (also in the future). Otherwise, just to get rid of the warning is not a problem.

Did you build just libxsmm or did you try to build it from the sandbox?
This is what I'm using:
$ clang --version
clang version 14.0.6

CMake:
cmake -G Ninja \
      -DCMAKE_C_COMPILER=clang \
      -DCMAKE_CXX_COMPILER=clang++ \
      -DMLIR_DIR=.../llvm-build/lib/cmake/mlir \
      -DLLVM_EXTERNAL_LIT=.../llvm-build/bin/llvm-lit

I updated LIBXSMM as fetched by the TPP-sandbox build. These warning were not related to the fetched version/SHA of LIBXSMM but present in general for LIBXSMM's code-base, i.e., when LIBXSMMROOT is present for our TPP-work.
Also, -Weverything (which is not recommended for general use and specific to Clang), LIBXSMM already checked with -Wall -Wextra -pedantic and some more flags.
I still wonder why even our CI for the TPP-sandbox aka TPP-compiler never pointed out these warnings (given we use Clang 14.0.6 as well). Though, your settings are really not special and likewise our CI configure step. Anyhow, the issue should be resolved now.

Thank you for your report!


Script is loading but GetManifest does not work

Hey,
Awesome idea thanks for your work.
But I have some problems right now, i have installed the plugin and did not yet started a full scan as the scheduled task but enabled the on demand generation. According to the Dev console, /Trickplay/1471dbcac6cf566c17ef5a2c869e052e/320/GetBIF endpoint is called and returns something, however it is not displayed anywhere.

Any errors in Javascript console? How big is the BIF file getting returned? Are you using any sort of custom jellyfin frontend (e.g. jellyfin-vue) that would cause the script to be unable to find the correct elements?

No none, dev console says around 7mb for a episode of stargate. Stock Jellyfin web UI, fresh out of the docker container.

It should work with any client that's just a web view and not it's own native client. It worked on ios and android phones at one point but I don't think it works with AndroidTV since I think that's its own native client.


Adding footer in maintenance.html and learning.html

Maintenance Page

Learning Page

can you assign this to me


[LOG4J2-3427] Add a ServiceLoader tool

This adds a ServiceLoader which:

automatically discards service classes, which can not be instantiated (e.g. classes in the server's classloader of a servlet container), from the list of returned services,
implements a common mechanism to override the service found by ServiceLoader,
adds warnings if we only need one service, but multiple candidates are found.

Shouldn't the dependency junit-pioneer have test scope?

@jochenw, yes and it has a test scope.
The scope of dependencies is inherited from the parent POM.


Potential Implementation of a Classic Verification Checkmark System

Describe the Feature
Proposal for Verification Checkmarks
1. Introduction of Verification Checkmarks
Bluesky should consider introducing a verification checkmark system similar to pre-Xitter Twitter. This would involve assigning visual indicators (checkmarks or badges) to verified accounts, making it immediately clear to users which profiles are authentic.
2. Color-Coded Identity Badges
To enhance the user experience further, Bluesky could implement a multi-tiered verification system with color-coded badges based on account types:

Blue Checkmarks: For regular users and authentic accounts.
Gold Checkmarks: For verified celebrities and high-profile figures.
Red Checkmarks: For government officials, organizations, and public institutions.
Additional Colors: Bluesky could tailor other colors for specific categories (e.g., non-profits, businesses, etc.).
Or whatever Colours that Bluesky decides upon.

This differentiation would not only simplify user recognition but also reduce impersonation attempts, as scammers would find it harder to replicate verified profiles.
Integration with Custom Domain Verification
Bluesky already employs a custom domain verification system, which could be integrated with the new verification checkmark system. Verified accounts could be required to have a confirmed domain to obtain a checkmark. This dual approach would assure users of the authenticity of verified accounts while still allowing domain owners to manage their verification status.
Addressing the Current Verification Challenges
Bluesky has acknowledged the challenges posed by impersonation and user confusion surrounding account authenticity. Some notable points include:

Scam and Impersonation Pressure: With 44% of the top-followed accounts encountering “doppelganger” profiles, a standardized verification system would help reduce this risk significantly.
Complex Verification Process: The current self-verification method via custom domains is overly complicated and not accessible to all users. A straightforward checkmark system would democratize access to verification.
Visual Indicators: Currently, there are no visual cues for verified accounts, leading to user uncertainty. Implementing checkmarks would address this issue directly.

Conclusion
By adopting a traditional verification checkmark system alongside its existing custom domain verification, Bluesky can enhance user trust and safety while simplifying the process for accounts seeking verification.
A clear, color-coded indication of account authenticity would not only streamline user interactions but also allow Bluesky to effectively combat impersonation and scammers.
Implementing this feature would position Bluesky as a leader in social media trust and security, setting a precedent for future platforms.
As Bluesky continues to grow, embracing an evolved verification approach will be crucial in maintaining its integrity and user base.
Attachments
No response
Describe Alternatives
No response
Additional Context
No response

I have a questions. How would, in the future, this federate out? The ecosystem now is solidly entrenched around bsky.app but what happens when we start moving beyond that? What body would be responsible for that? Could we trust Bluesky Social PBLC to take that on? Should we have a third party body to do verifications that's completely independent from Bluesky Social PBLC? What happens if someone builds a microblogging app like Klearsky on the ATProtocol how do they know they are serving the proper verifications?


save () - saving collections

Saving a collection as directory should probably consider sub-directories according to schema types (instead of a purely flat list of JSONLDs)

Hey, it would be very helpful if indeed it could retain the same depth of directories as the prior version, i.e. retaining subfolders for each schema type containing the corresponding instances, if the flag for individual files is set to True.


Table Filter doesn´t work properly

Description
If the table have an underscore in the name, then the filter doesn´t work properly.
Sample:
Table name: ZM$Item Profile Question_ Header
Filter: ZM$Item Profile Question_*
Filter doesn´t show anything.
DBeaver Version
Version <IP_ADDRESS>306041918
Operating System
Windows
Database and driver
Microsoft JDBC Driver for SQL Server
Steps to reproduce
No response
Additional context
No response

I think the issue is not about the underscore but about the special character $. In my case, the filter works if there is an underscore in the table name and does not work with a special character


MHSampler fails to sample uniform posterior likelihood

Perhaps I'm missing something but shouldn't this work?
sampler = emcee.MHSampler(eye(1), 1, lambda x,: 0 if -1<x<1 else -inf)
sampler.run_mcmc([0],100)

That should get me samples uniformly distributed from -1 to 1, but instead the chain never moves, i.e.
> all(sampler.chain==0)
True

I'm using emcee 2.2.1 and Python 3.5.2.

Good catch! That is a bug. Fixed on master.

Looks good, thanks for the quick fix!


Add zip extend and zip truncate

Zip extend is like zip currently. Zip truncate is the opposite, where we buffer the stop until all the stops come in and don't emit otherwise.

We also may consider making zip strict, where if the stream lengths don't match we raise.

This could also be handled as a flag on zip. Note that these are different from zip latest as we don't automatically use the latest document I'm the secondary streams, we still emit in order of incoming documents.

@chiahaoliu I think the zip truncate option will fix the issue we saw today with the mask problem. In that case we know that we will always have more filenames than data (if we don't then we need to make more filenames!) so we can use zip truncate without fear of double saving the mask.


Angucomplete-alt with2-way binding (Enhancement)

Angucomplete-alt  should have an ability to behave as Textbox also .
This could behave as autocomplete and Textbox as well for the same control.
Currently we only have initial-value attibute that takes the value only once.
Scenario: User can set binded value as a result of calculations from other variables, and the value can also be set the value from suggested data.
So, change in a variable binded to angucomplete-alt should update the value in the textbox.
I think, this is because of unbindInitialValue() fn. need a better way to fix it.

Introduced $watch on selectedObject.
I tried this code.
scope.$watch('selectedObject', function (newValue, oldValue)
{
if (newValue) {
var result = newValue.originalObject ? newValue.originalObject : newValue;
scope.selectedObject = result; // selectedobject must not have object.originalObject that is binded in parent page.
if (newValue && !newValue.originalObject) {
scope.searchStr = extractTitle(result);
}
}
});
It works fine, but not sure the correct way of doing it.


Update code owners and maintainers

What type of PR is this?
Add one of the following kinds:

subproject management

What this PR does / why we need it:
Add code owners and maintainers
Which issue(s) this PR fixes:
Fixes #1
Special notes for reviewers:
Changelog input
 release-note

Additional documentation
This section can be blank.
docs

Before we can merge the PR, @shafayetkhan need to accept the invitation to the CAMARA Organization, and subscribe to the sub project mailing list https://lists.camaraproject.org/g/sp-coi

Welcome @shafayetkhan ... so we are done here.


Workflow action to pause/resume NZBGet

https://nzbget.net/api/
https://nzbget.net/api/pausedownload
https://nzbget.net/api/resumedownload

This is possible with the HttpRequest action now.


[5.1] Improved ViewErrorBag

It was allowed to put unexpected values to the bag through __set
Passing new object to Arr::get is not always good.

It was the only Arr::get usage with new object throughout framework, so I decided to split it to separate PR with other Arr::get fixes.

Please rebase.

Ready


Unable to match Uppercase cookies

Platform
Which platform does the bug apply to?
WebExtension (and probably NPM)
Describe the bug
The names of the cookies are loaded in lowercase, so it fails to check when names contains uppercase letters.
When matching cookies (and maybe other items) in function analyzeManyToMany, the items object it accessed to extract values, in line 430, if the name of cookie contains uppercase letters, the key won't match (even if cookie name is spelled correctly in technologies.json) with any of the items keys and the rules won't be applied.
I let you an example of a web page that returns JSESSIONID cookie (https://<IP_ADDRESS>/#/login) but Java is not recognize due to this bug.

A clear and concise description of what the bug is.
To Reproduce
Go to https://<IP_ADDRESS>/#/login or any other page that returns a JSESSIONID cookie.
Expected behavior
Java software is recognized.
Additional context
I did not test further, but maybe this bug could affect to other pair values such as headers.
Thank you for such an amazing extension.

Fixed in 59b55d3c29429dd219b7f241338222b6e200feb6, thanks!


Add OpenAPI Diff to compare two OpenAPI specification files

Hi @darrelmiller
A long long time ago we had a quick talk about a tool to compare two OpenAPI specification files.
I finally got the time to open a PR.
Please let me know what you think!
Best regards
fabich

we open-sourced this code in another repo until this PR can be merged.
https://github.com/LimeFlight/openapi-diff.

Hey @fabich thanks for the PR.  We currently have three different implementations of OpenAPI diff capabilities and they all take a different approach. I'm thinking that the best option is to have each implementation get distributed as a different package so that people can choose the solution that works for them.  I have failed to find the time to do the work that is needed to incorporate diff into the main library and I think I need to stop trying.  I'm going to remove the partial implementation of the comparers that are in the vNext branch.  Maybe we will pick that up later and expose as it's own package.

I've just started creating one more tool there: :)
https://github.com/Anakael/OpenApiChecker
It's just MVP for now, but it is able to compare not old/new specs, but generated with requried ones


DVT should support large unsorted files as source and target without running into OOM

FR to have DVT take  unsorted files in currently supported formats ( JSON & CSV) and sort them in DVT before comparing them.
The files will have the keys on which to sort.

more context: this is for larges files that will not fit into memory

Specifically, what size of file are we talking about?
For context, BigQuery CSV gzip files can be max 4 GB and in some cases cannot be larger than 1 GB (for some character sets). Many systems don't create files larger than a few GB as they are difficult to use and you lose lot of data when there is corruption.
Python will allow us to use as much memory as available. GCP has some machine shapes that allow for over 1TB of memory. If DVT on files fails with a OOM error, a straightforward workaround is to run DVT on a larger VM and see if the validation can be succeed. It most likely will.
If there is a specific use case with file sizes that is failing with OOM which does not go away with a larger VM, we can investigate.

LGTM . This ticket cab be closed . Thanks

Thank you @hm-distro!


Processing Spelling Mistake Fix

Processing Spelling Mistake Fix at https://github.com/MicrosoftDocs/azure-docs/blob/main/articles/firewall/rule-processing.md

@aworkaround - thanks!


Add image selection from server in the Photo Manager (the expanded view accessible from the carousel)

What

Photos already on the server, and selected for a purpose (eg ingredients) contain valuable info (like a nutrition table)
[ ] Create a view listing all the images available for a product server-side
[ ] Make this view reusable in the photo picker

Part of

#766

Waiting for https://github.com/openfoodfacts/openfoodfacts-dart/pull/689 to be reviewed.
This is what it will look like:

A bit similar to what @VaiTon implemented in #2724, but now we make a strict distinction between the 4 main images (in one page) and the bulk of uploaded images (in a specific page).

I must say that it works very well and that of course the server answers quickly - here we don't upload anything, we just crop an existing image.