Maple bug in which inequalities in {con/dis}junction with 'chilled' subexpressions are discarded.

Consider the following program fragment, which occurs as part of simplifying the program in #81:
(sum(piecewise(Or(n1 = wordUpdate, kkf2 <> Hakaru:-idx(z, n1), Hakaru:-idx(w, wordUpdate) <> Hakaru:-
idx(w, n1)), 0, And(kkf2 = Hakaru:-idx(z, n1), Hakaru:-idx(w, wordUpdate) = Hakaru:-idx(w, n1), n1 <>
wordUpdate), 1), n1 = 0 .. Hakaru:-size(w)-1)+1)*(sum(piecewise(Or(n1 = wordUpdate, kkf2 <> Hakaru:-
idx(z, n1), Hakaru:-idx(doc, wordUpdate) <> Hakaru:-idx(doc, n1)), 0, And(kkf2 = Hakaru:-idx(z, n1), Hakaru:-
idx(doc, wordUpdate) = Hakaru:-idx(doc, n1), n1 <> wordUpdate), 1), n1 = 0 .. Hakaru:-
size(w)-1)+1)/(sum(piecewise(Or(n1 = wordUpdate, kkf2 <> Hakaru:-idx(z, n1)), 0, And(kkf2 = Hakaru:-idx(z,
n1), n1 <> wordUpdate), 1), n1 = 0 .. Hakaru:-size(w)-1)+Hakaru:-size(word_prior)), KB:-build_unsafely(
KB(Introduce(kkf2, HInt(Bound(`>=`, 0), Bound(`<=`, Hakaru:-size(topic_prior)-1))), Introduce(wordUpdate,
HInt(Bound(`>=`, 0))), Introduce(z, HArray(HInt(Bound(`>=`, 0)))), Introduce(doc, HArray(HInt(Bound(`>=`,
0)))), Introduce(w, HArray(HInt(Bound(`>=`, 0)))), Introduce(numDocs, HInt(Bound(`>=`, 0))),
Introduce(word_prior, HArray(HReal(Bound(`>=`, 0)))), Introduce(topic_prior, HArray(HReal(Bound(`>=`, 0)))))
);

NB:

this is an expression sequence of length 2
it contains three occurences of sum
KB:-build_unsafely was inserted manually so avid readers of this issue tracker could copy-paste from above

Calling simplify_factor_assuming on this expression (sequence) produces completely bogus output. The error occurs inside simplify_assuming, inside the call to simplify. The mistake is that each sum is erroneously simplified to 1.
This is almost certain the same problem as this, since the program mentioned here contains the condition:
And(kkf2 = Hakaru:-idx(z, n1), Hakaru:-idx(doc, wordUpdate) = Hakaru:-idx(doc, n1), n1 <> wordUpdate)

which is the same condition discussed on that commit; and the expression contains additional conditions similar to this one, i.e. expressions which have an "And with an expression containing a 'chilled' [sub-]expression". The discussion there is about solve, but I wouldn't be surprised if solve and simplify are sharing a good deal of machinery (and every Maple function shares Maple evaluation semantics, which seem to be at the core of the issue here).
The particular example in this issue is worked-around by 8773d7011, but it doesn't seem feasible to try to deal with this bug in such a manner in perpetuity, since having access to Maple evaluation semantics, and solve and simplify, all seems very important to the task at hand. More importantly, this fix applies at a certain stage in the simplification pipeline (right before fromLO) so a call to simplify or solve somewhere before could still break.
Note that changing any one of the sums to Sums causes an additional Sum to remain in the output; these Sums don't simplify and so should return unevaluated from simplify. Changing all three to Sum causes simplify (and by extension, simplify_assuming and simplify_factor_assuming) to produce the correct answer. It seems the only way to convince simplify and friends to not evaluate things 'incorrectly' is to use the inert form, but that doesn't work everywhere (see https://github.com/hakaru-dev/hakaru/issues/84#issuecomment-308809937).
In light of this, it seems that rewriting as much of the code as possible to not use sum or product (etc.) anywhere where these expressions may be passed to solve or simplify while also chilled, is the way to go. However, I haven't been able to pinpoint all the places where this perfect storm of circumstances occurs. It seems there a great many places where sum or product are used by themselves, and I suppose that potentially any of these could contain a condition which would trigger this bug.

I think this is probably one of the issues that @ccshan doesn't understand.  I get the gist of it (as you showed me the solve bug), but the big block of code above is too big to be helpful.  Although it does seem like it arises from LDA?
Somehow seeing the Maple-level symptoms would help me.  And by this I mean stripping away as much of Hakaru as possible, and show a Maple call on Maple expressions that goes astray.

I got the following reply from Maplesoft:

I am not entirely certain whether a fix is going to be easy isolate in a patch.   An easy work around on the user end is to separate out the <> types involving variable disjoint from the other equations (that is what solve needs to do, but it's not clear where to do that step without breaking other stuff - this particular issue has existed through the entire history of solve as near as I can tell).

And a follow-up.  The listing comes out not-so-nice, but should be sufficient to allow a patch.

This doesn’t completely fix the problem (since it might cause down stream side effects in routines that don’t expect <> expressions to appear in solutions), but it might work for you.  The if condition above line 19 and line 25 have changed vs. Maple 18+.

SolveTools:-Transformers:-NonEquality:-Apply := proc(syst::SubSystem)
local eqs, noneqs, linnoneqs, news, vars, i, badnoneqs, neq, sol, sols;
1   noneqs, eqs := selectremove(type,[op(SolveTools:-Utilities:-GetEquations(syst)), op(SolveTools:-Utilities:-GetInequations(syst))],<>);
2   noneqs := map(SolveTools:-Utilities:-SimpleCond,noneqs);
3   noneqs := remove(z -> ormap(y -> evalb(type(y,<) and (lhs(y) = lhs(z) and rhs(y) = rhs(z) or lhs(y) = rhs(z) and rhs(y) = lhs(z))) = true,eqs),noneqs);
4   for i to nops(eqs) do
5       if type(eqs[i],<=) then
6           badnoneqs, noneqs := selectremove(z -> evalb(lhs(z) = lhs(eqs[i]) and rhs(z) = rhs(eqs[i]) or lhs(z) = rhs(eqs[i]) and rhs(z) = lhs(eqs[i])) = true,noneqs);
7           if nops(badnoneqs) <> 0 then
8               eqs := [op(1 .. i-1,eqs), <(op(eqs[i])), op(i+1 .. -1,eqs)]
end if
end if
end do;
9   noneqs := remove(proc (z) local y, subst; try for y in eqs while true do if has(y,lhs(z)) then subst := eval(if(type(y,relation),y,y = 0),lhs(z) = rhs(z)); if SolveTools:-Complexity(subst) < 400 and evalb(coulditbe(subst) = false) then return true end if end if end do; return false catch: return false end try end proc,noneqs);
10   if hastype(eqs,{<, <=}) and 0 < nops(noneqs) then
11       vars := SolveTools:-Utilities:-GetVariables(syst);
12       linnoneqs, noneqs := selectremove(z -> (not has(lhs(z),vars) or type(lhs(z),('linear')(vars))) and (not has(rhs(z),vars) or type(rhs(z),('linear')(vars))),noneqs);
13       linnoneqs := SolveTools:-SortByComplexity(linnoneqs);
14       noneqs := map(z -> lhs(z)-rhs(z) <> 0,noneqs);
15       news := [SolveTools:-Utilities:-SetInequations(SolveTools:-Utilities:-SetEquations(syst,{op(eqs)}),{op(noneqs)})];
16       for i in linnoneqs do
17           news := map(z -> op([SolveTools:-Utilities:-SetEquations(z,{op(SolveTools:-Utilities:-GetEquations(z)), lhs(i) < rhs(i)}), SolveTools:-Utilities:-SetEquations(z,{op(SolveTools:-Utilities:-GetEquations(z)), rhs(i) < lhs(i)})]),news)
end do;
18       return op(news)
elif nops(eqs) = 0 and 0 < nops(noneqs) then
19       vars := SolveTools:-Utilities:-GetVariables(syst);
20       sols := {};
21       for neq in noneqs do
22           sol := {op(Engine:-Recurse({lhs(neq) = rhs(neq)},{},vars))};
23           sol := map(x -> op(map(y -> lhs(y) <> rhs(y),x)),sol);
24           sols := union(sols,sol)
end do;
25       return SolveTools:-Utilities:-SetFinished(SolveTools:-Utilities:-SetSolutions(syst,map(SolveTools:-Utilities:-Union,SolveTools:-Utilities:-GetOriginalSolutions(syst),sols)),true)
else
26       noneqs := map(z -> lhs(z)-rhs(z) <> 0,noneqs);
27       return SolveTools:-Utilities:-SetInequations(SolveTools:-Utilities:-SetEquations(syst,{op(eqs)}),{op(noneqs)})
end if
end proc

So it seems that this patch is not necessarily safe.  But there is a 'cute trick' that one can do:

for every inequation a <> b, create a new variable (call it 's')
replace the inequation with (a-b)*s = 1

Basically s stands for 1/(a-b).  If a-b=0, i.e. a = b, then (a-b)*s=1 has no solutions.
You can invert this process upon return from solve.

Several updates:

I'm not sure how to get the 'trick' to work - it gives a solution which contains a = (s*b + 1)/s, but I'm not sure how to tell if that should become the original inequality, or if it has genuinely been solved to something better. Moreover, I can't actually find a case where we are solving an inequality on integers (or a condition containing one) where we expect anything but the inequality to return unchanged.

The patch does seem to fix things for solve, and the test suite seems to run the same. It doesn't affect the behaviour inside simplify_assuming though. I tracked down the cause - it is inside assuming, before the call to simplify even happens. The broken function is eval, on line 212 of assuming (a very innocuous looking line: n := eval(n);.).
By sheer coincidence, I found a workaround for this one as well (424aead11c16). I am not certain why it works. The execution paths inside assuming with and without this change diverge fairly quickly, and with this change, assuming sees the unchilled expression and starts trying to solve the integer {in}equalities in terms of RootOf. It seems to eventually decide that the RootOf solution is no good and return the original expression.

This change was introduced because there used to be a call to value and I found (by bisection) that that change caused LDA to fail to simplify. I've tried very hard to find out why that call to value is needed (94240919b763ea646c96f17c923c95ad5e217909 and ba95d0f309da979d86e6cd37b1209dcdfccbe541), but as far as I can tell, there is absolutely no difference between calling value or calling eval_for_Simplify or even just subs(Sum=sum, ..). And yet, removing the call to value_for_Sum causes LDA to simplify to a different program!
This is only tangentially related to this issue (due to the fact that the solve and assuming bugs don't happen when we have a Sum, but they do happen when we have a sum). It seems the correct way to fix this is to track down whichever code is relying on receiving sum and not Sum (it is probably a pattern match on sum) and to fix that code.

To get the 'trick' to work, you might want to substitute s = 1/(a+b) in the solution, simplify, and remove all tautologies.

what is n when that line 212 is executed?  There are times where things could get weird - especially if that n has somehow captured n itself as part of its value.  Details matter quite a bit.  [You might want to ask John some questions related to this, if you can boil it down to Maple-only (aka Hakaru-less) calls].

Feels like you should split off this last point into a precise issue of its own.

That's what I've tried (I think):

> with(Hakaru): with(KB):
> expr := And(idx(w, n2) = idx(w, n1), a <> b):
> expr := And( op(1, expr), (a-b)*S=1 );
                          expr := And(Hakaru:-idx(w, n2) = Hakaru:-idx(w, n1), (a - b) S = 1)

> expr := solve( KB:-chill(expr) ); expr := remove(x -> x::`=` and lhs(x)::name and evalb(x), expr);
                     S b + 1
 expr := {S = S, a = -------, b = b, Hakaru:-idx[w, n1] = Hakaru:-idx[w, n2], Hakaru:-idx[w, n2] = Hakaru:-idx[w, n2]}
                        S

                                         S b + 1
                            expr := {a = -------, Hakaru:-idx[w, n1] = Hakaru:-idx[w, n2]}
                                            S
> expr := simplify(subs(S=(1/(a+b)), expr));
                            expr := {a = 2 b + a, Hakaru:-idx[w, n1] = Hakaru:-idx[w, n2]}

It is [ simplify@(e->subsindets(e,Partition,Partition:-PartitionToPW))( .. ) ], where .. is the first expression in the expression sequence at the top of the first post of this issue (strangely, I can't copy it from Maple). That simplify never sees that big expression.

Done: #88

typo: that should have been 1/(a-b) but you did 1/(a+b).  (my typo too).

I can't debug that now.  Tomorrow or Thursday, I hope.

I tried that too:
> expr := simplify(subs(S=(1/(a-b)), expr));
expr := {a=a,Hakaru:-idx[w,n1]=Hakaru:-idx[w,n2]}

Maybe Maple is actually using your trick to solve inequalities and that is what leads to the bug in the first place?

You replaced the inequality with an equality -- now you need to re-add it back after.  So every tautology corresponds to an inequality that you had replaced.

Can you give me an example of how this looks where the result should be something other than returning the input? I don't think I understand the logic of replacing the tautology with the original inequality; for example, for
expr := And(idx[w, n2] = idx[w, n1], 2*a <> 3*b)

applying the process produces
expr := {a=b+1/2 a,`Hakaru:-idx`[w,n1]=`Hakaru:-idx`[w,n2]}

there is no tautology to replace, and the original expression can't be simplified, so the process should yield exactly the input. I don't see how the final step could be applied here. Of course, the example is a bit contrived, but I see no reason it shouldn't work.

The process should introduce s = 1/(2a - 3b).  The results should contain a tautology.  It feels like there's a bug if the result contains {a = b + 1/2*a}.  Maybe due to a typo?

Maybe due to a typo?

Indeed, sorry about that. The tautology does indeed occur here again.
But:

I can't actually find a case where we are solving an inequality on integers (or a condition containing one) where we expect anything but the inequality to return unchanged.

still holds. I think I need to find and work through such a case (one with non-trivial solution) to be confident that I understand how to write a program to apply this trick in general.
But it still seems that #88 is the better solution - I will take Ken's advice on that issue and see if I can pinpoint where execution begins to diverge in terms of sum vs. Sum. And at least for now, the patch and the workaround in simplify_assuming seem to avoid the bug. According to Maplesoft, the patch might not be perfect, but I haven't encountered it breaking things (with one caveat: when solve is passed an un-chilled expression, it errors out with weird errors. I believe this is an improvement over the old behaviour, which was to return RootOfs. We shouldn't be passing unchilled things to solve anyways!). All this to say, I think this issue should be closed, at least for now.

For the integer case, it is a little tricky.  We can't rely on isolve (Maple's routine dedicated to solving over the integers) as it is extremely weak.  We are better off using solve which solves the 'relaxed' problem (over the complex, in general, but we do try hard to say it is to be real), and then map things down to integers.
In any case, if this isn't a 'live' issue, in that it is causing test failures, we can close it, and come back to it if it pops up again.

It turns out my previous fix wasn't exactly ideal. It causes the following call to happen (it's quite long but it is of the form simplify(chill(..)) assuming ..):
simplify(KB:-chill(product(product(Hakaru:-idx(xsf,j),j = 0 .. piecewise(i = docUpdate,zNewb,Hakaru:-idx(z,i))-1),i = 0 .. Hakaru:-size(z)-1)*product(piecewise(piecewise(i = docUpdate,zNewb,Hakaru:-idx(z,i))+1 = Hakaru:-size(as),1,1-Hakaru:-idx(xsf,piecewise(i = docUpdate,zNewb,Hakaru:-idx(z,i)))),i = 0 .. Hakaru:-size(z)-1)*sum(product(Hakaru:-idx(xsf,i),i = 0 .. k-1)*piecewise(k+1 = Hakaru:-size(as),1,1-Hakaru:-idx(xsf,k)),k = 0 .. Hakaru:-size(as)-1)^(-Hakaru:-size(z))*2^(-Hakaru:-size(z)-Hakaru:-size(as))*exp(-1/2*sum(Hakaru:-idx(t,k)^2,k = 0 .. Hakaru:-size(z)-1))*(2^Hakaru:-size(z))^(1/2)*Pi^(-Hakaru:-size(z))*(2^Hakaru:-size(as))^(1/2)/(Pi^(Hakaru:-size(as)-Hakaru:-size(z)))^(1/2)*product(Hakaru:-idx(xsf,i)^(sum(Hakaru:-idx(as,k),k = i+1 .. Hakaru:-size(as)-1)-1),i = 0 .. Hakaru:-size(as)-2)*product((1-Hakaru:-idx(xsf,i))^(Hakaru:-idx(as,i)-1),i = 0 .. Hakaru:-size(as)-2)/product(Beta(Hakaru:-idx(as,i),sum(Hakaru:-idx(as,k),k = i+1 .. Hakaru:-size(as)-1)),i = 0 .. Hakaru:-size(as)-2)*product(piecewise(csgn(1/2*sum(piecewise(k = piecewise(kj = docUpdate,zNewb,Hakaru:-idx(z,kj)),1,0),kj = 0 .. Hakaru:-size(z)-1)+1/2) = 1,2*exp(1/2*sum(piecewise(k = piecewise(kh = docUpdate,zNewb,Hakaru:-idx(z,kh)),Hakaru:-idx(t,kh),0),kh = 0 .. Hakaru:-size(z)-1)^2/(sum(piecewise(k = piecewise(kj = docUpdate,zNewb,Hakaru:-idx(z,kj)),1,0),kj = 0 .. Hakaru:-size(z)-1)+1))/(2*sum(piecewise(k = piecewise(kj = docUpdate,zNewb,Hakaru:-idx(z,kj)),1,0),kj = 0 .. Hakaru:-size(z)-1)+2)^(1/2)*Pi^(1/2),infinity),k = 0 .. Hakaru:-size(as)-1))) assuming op([zNewb::integer, 0 <= zNewb, zNewb <= Hakaru:-size[as]-1, Hakaru:-size[xsf] = Hakaru:-size[as]-1, xsf::TopProp, Hakaru:-size[t] = Hakaru:-size[z], docUpdate::integer, 0 <= docUpdate, docUpdate <= Hakaru:-size[z]-1, t::TopProp, z::TopProp, as::TopProp, Hakaru:-size[as]::nonnegint, Hakaru:-size[t]::nonnegint, Hakaru:-size[xsf]::nonnegint, Hakaru:-size[z]::nonnegint, Hakaru:-idx[as,i]::real, Hakaru:-idx[as,k]::real, Hakaru:-idx[t,k]::real, Hakaru:-idx[t,kh]::real, Hakaru:-idx[xsf,i]::real, Hakaru:-idx[xsf,j]::real, Hakaru:-idx[xsf,k]::real, Hakaru:-idx[xsf,piecewise(i = docUpdate,zNewb,Hakaru:-idx[z,i])]::real, Hakaru:-idx[z,i]::integer, Hakaru:-idx[z,kh]::integer, Hakaru:-idx[z,kj]::integer, 0 <= Hakaru:-idx[as,i], 0 <= Hakaru:-idx[as,k], 0 <= Hakaru:-idx[z,i], 0 <= Hakaru:-idx[z,kh], 0 <= Hakaru:-idx[z,kj], 0 < Hakaru:-idx[xsf,i], 0 < Hakaru:-idx[xsf,j], 0 < Hakaru:-idx[xsf,k], 0 < Hakaru:-idx[xsf,piecewise(i = docUpdate,zNewb,Hakaru:-idx[z,i])], Hakaru:-idx[xsf,i] < 1, Hakaru:-idx[xsf,j] < 1, Hakaru:-idx[xsf,k] < 1, Hakaru:-idx[xsf,piecewise(i = docUpdate,zNewb,Hakaru:-idx[z,i])] < 1])

and this either takes an absurdly long time (at least 90 minutes), or goes into an infinite loop. In either case, clearly assuming should not be allowed to see unchilled idx. When chill is move out of assuming, it takes about 10 seconds.
I did not figure out what exactly is doing all this extra work. There are lots of calls to sum/hypergeom/poss and SolveTools:-CancelInverses, which both make lots of calls to simplify({RootOf(size(_Z))}, RootOf).
This arises from simplifying gmm_gibbs.
This changes achieves the same thing as the one it replaces, and doesn't cause this call to occur.

idx and size cause solve a lot of headaches.  chill is definitely needed, and it needs to be done "for sure" -- which assuming kind of subverts in weird ways.  This is definitely the better way to do things.


NullPointerException when RtspSurfaceView.start(boolean, boolean) is called in RtspStatusListener.onRtspStatusDisconnected()

The problem is in this method:
private fun onRtspClientStopped() {
    if (DEBUG) Log.v(TAG, "onRtspClientStopped()")
    uiHandler.post { statusListener?.onRtspStatusDisconnected() }
    stopDecoders()
    rtspThread = null
}

The listener is notified before the rtspThread is set to null. So in the start method there can be a NullPointerException in one of the 2 last lines:
fun start(requestVideo: Boolean, requestAudio: Boolean) {
    if (DEBUG) Log.v(TAG, "start(requestVideo=$requestVideo, requestAudio=$requestAudio)")
    if (rtspThread != null) rtspThread?.stopAsync()
    this.requestVideo = requestVideo
    this.requestAudio = requestAudio
    rtspThread = RtspThread()
    rtspThread!!.name = "RTSP IO thread [${getUriName()}]" // NullPointerException here
    rtspThread!!.start() // Or NullPointerException here
}

I propose the following fix (post the listener after rtspThread is set to null):
private fun onRtspClientStopped() {
    if (DEBUG) Log.v(TAG, "onRtspClientStopped()")
    stopDecoders()
    rtspThread = null
    uiHandler.post { statusListener?.onRtspStatusDisconnected() } // Move this line after nullifying everything
}

Fixed in https://github.com/alexeyvasilyev/rtsp-client-android/releases/tag/4.0.2


crash in live videos

app crashes and logs out on live videos

https://user-images.githubusercontent.com/84200491/233859537-70736617-9b72-4eae-9f44-89eeca6924e2.mp4

I am having the same issue, and I'm not sure where I can get more info to help fix this.
My steps to encounter same problem:

don't login
find a live stream with 1000/1500+ viewers
preview plays, and you can unmute the video from preview, but when you tap the video itself it crashes the app

Additional observations:
Livestream with low number of viewers don't have issue loading, and can be viewed as usual.
All other normal videos long and short plays.
If you wait for a livestream to start, at some point when the app refreshes, it crashes maybe because of the amount of viewers again.
Preview also jumps to preview of other video livestreams after you stayed on the preview for more than a minute, so you can't view it that way either.

I am having the same issue, and I'm not sure where I can get more info to help fix this.

well. there are crash logs
I have found the crash logs, any way I can give it to you confidentially?

don't login
find a live stream with 1000/1500+ viewers
Seems like 2500+ is more accurate, or maybe a chat feature, still unclear on reasons for crashing on some streams
preview plays, and you can unmute the video from preview, but when you tap the video itself it crashes the app

Additional observations: Livestream with low number of viewers don't have issue loading, and can be viewed as usual. All other normal videos long and short plays. If you wait for a livestream to start, at some point when the app refreshes, it crashes maybe because of the amount of viewers again. Preview also jumps to preview of other video livestreams after you stayed on the preview for more than a minute, so you can't view it that way either.
Some updates to the observations:

After clicking on a live video with many viewers that will likely crash the app, swipe up or go into multitasking view very quickly and the app will keep playing, but won't have loaded the chat. You can switch to other apps or go to home screen, and the livestream will hover and keep playing. Tapping it, or going back to the app causes it to crash as before.
In videos that load, the chat also loads as usual.
Livestreams that have more than 2500+ viewers at a certain point in time still crashes even if it went below to around 2000.

that is a very weird issue. but I'll try find out on what's causing this to happen. also does this issue occur on previous releases of CercubePlus?
I have only just found CercubePlus, and the main cause was less than a week ago something to do with youtube side I think. Somethings changed and people are experiencing issues with playback.

I am having the same issue, and I'm not sure where I can get more info to help fix this.

well. there are crash logs

I have found the crash logs, any way I can give it to you confidentially?

don't login
find a live stream with 1000/1500+ viewers

Seems like 2500+ is more accurate, or maybe a chat feature, still unclear on reasons for crashing on some streams

preview plays, and you can unmute the video from preview, but when you tap the video itself it crashes the app

Additional observations: Livestream with low number of viewers don't have issue loading, and can be viewed as usual. All other normal videos long and short plays. If you wait for a livestream to start, at some point when the app refreshes, it crashes maybe because of the amount of viewers again. Preview also jumps to preview of other video livestreams after you stayed on the preview for more than a minute, so you can't view it that way either.

Some updates to the observations:

After clicking on a live video with many viewers that will likely crash the app, swipe up or go into multitasking view very quickly and the app will keep playing, but won't have loaded the chat. You can switch to other apps or go to home screen, and the livestream will hover and keep playing. Tapping it, or going back to the app causes it to crash as before.
In videos that load, the chat also loads as usual.
Livestreams that have more than 2500+ viewers at a certain point in time still crashes even if it went below to around 2000.

that is a very weird issue. but I'll try find out on what's causing this to happen. also does this issue occur on previous releases of CercubePlus?

I have only just found CercubePlus, and the main cause was less than a week ago something to do with youtube side I think. Somethings changed and people are experiencing issues with playback.

Definitely! Copy all of the crash log text and put it in a .txt file and publish it here!

Archive.zip

After reading this. I can say that there’s a workaround to this (I think?) go to YouTube Settings and then go to the section YouPiP and then enable Fake YouTube Version, this option usually spoofs the app and undoes some things so i hope that helps!

I tried that toggle, but it didn't seem to change anything.
I'm also encountering it on streams with a few hundred viewers, so I'm leaning towards channel creators choice of chat and interaction options... or it could just be some AB testing that YT is doing.


Update airmail-beta to 3.2.411,286

After making all changes to the cask:

[x] brew cask audit --download {{cask_file}} is error-free.
[x] brew cask style --fix {{cask_file}} left no offenses.
[x] The commit message includes the cask’s name and version.

Closing in favour of https://github.com/caskroom/homebrew-versions/pull/3317.


Custom PDF size is miscalculated when using NPM, works fine on demo.

I've created the following jsFiddle that created and downloads a PDF: https://jsfiddle.net/e3h68tx7/1/ notice the PDF text cuts off. while using the same code on the official demo works fine: https://rawgit.com/MrRio/jsPDF/master/ just replace the code with:
doc.text('Hello world!', 10, 10);
doc.save('a4.pdf');
Thanks

Yeah, seems like this was already fixed but not released yet. The last release is quite old, but there will be a new release very soon. Stay tuned.


Issue 18 fix

#18
Adds Gitpod badge for contribution without cloning and compiling etc.

Gonna delete this PR, had some issues, that @KyleTryon helped me to fix which are in the new PR


When ChatActivity is open for a particular user during chat then Message Notification for that user will not show.

@Ijaiswalshivam Assign this


can not use this package with some issues

only work with global quill
readme import error

I have merge all your pull requets. https://www.npmjs.com/package/@taoqf/quill-image-resize-module


Create globally accessable config

There are several pieces of data that are used in several classes and are referred to as strings. This can cause a serious maintenance problem later on if one of them is changed in some other place.
To solve this problem, introduce a globally accessible Config class or object through which this data can be accessed.
Examples for these data items:

data file name
disease input file name
csv column names
disgenet base url
disgenet routes

Though this would be really nice, it seems that we have to focus on more important issues until the final milestone.


Parameter with spaces

What is the recommended way to pass a parameter with spaces?
I have tried:
bash=open param1="~/Library/Application Support"
bash=open param1=~/Library/Application\ Support
bash="open ~/Library/Application\ Support"

None of which have worked (not using terminal=false yet).
The first results in:
$ open ~/Library/Application Support
The files ~/Library/Application, and ~/Support do not exist.

Second and third don't do anything. What am I missing?

Try:
bash=/usr/bin/open param1="~/Library/Application\ Support"


Convert to proper helm charts

I still need to work through the yq scripts and details of the workflow, but here's the essence of the obsoletion of the cmp in IE so far.

This PR completely removes the need for the Config Management Plugin for ArgoCD. It does this by refactoring the pipelines, manuela-test, and manuela stormshift applications to operate using helm value files instead of kustomizations. (The same fundamental approach is used - the pipelines edit the override values files in place instead of editing the kustomizations and imagestreams).
As it currently stands, the imagestreams will present two tags - the original (bootstrap) and the current override. Previously, the IS editor would keep up to 5 images in the IS object. That's still very possible, but I think adds some unneeded complexity to the deployment.
The overrides currently include a flag to indicate whether the image has been updated, and a current tag pointer (which is updated by the pipeline task gitops-imagetag.yaml. This task edits the override values.
In this process I also updated the task to use yq v4 instead of yq v3 as the previous version did. (I got permissions errors in testing when using the in-place edit option, which is why I do explicit mv's of the values files.

This batch of changes restores the "list of tags" functionality from kustomize, and includes a pruning task that will limit the number of images in any one imagestream to 5.

/LGTM


Compute union for [EntityType].

This is a part of series of PRs for implementing type inference for Recipe in Kotlin.

@csilvestrini Thanks for the review. I addressed your comments. I also had a question about your suggestion for getOrElse. Please take a look when you get a chance.

/gcbrun

Might be good later to generalize Outcome for reuse

Agreed. Will keep an eye on this.


[WIP] @jory: Getting CI working again.

This needs fixes for our dependencies as well as our own code to work with the Xcode 7 GM. This is related to https://github.com/Moya/Moya/issues/210 as well.

Still one test that's intermittently failing – @jorystiefel feel free to merge if you think it's ready.

Great 💅


Multiple transport interface

Description
Copying description from https://github.com/FreeRTOS/FreeRTOS/pull/434/files
By removing the definition of the NetworkContext struct in the header file, we allow the application to define it. This allows an application writer to use multiple transports in the same compilation unit. That way, multiple .c files do not have to be created for each transport.
Testing
PC:
demos
https://amazon-freertos-ci.corp.amazon.com/job/im_v2_master/job/nightly_custom_job/2000/
tests
https://amazon-freertos-ci.corp.amazon.com/job/im_v2_master/job/nightly_custom_job/1995/
All Passed
esp:
demos:
https://amazon-freertos-ci.corp.amazon.com/job/im_v2_master/job/nightly_custom_job/1999/
tests:
https://amazon-freertos-ci.corp.amazon.com/job/im_v2_master/job/nightly_custom_job/1996/#showFailuresLink
only BLE failed due to bcn timeout, but seems not related to the changes.
( tested without the changes still gets bcn timeout )
BLE demos passed locally(CI is not working, tested with esp32 locally):
CONFIG_SHADOW_BLE_TRANSPORT_DEMO_ENABLED passed
CONFIG_MQTT_BLE_TRANSPORT_DEMO_ENABLED pass
https://paste.amazon.com/show/dhs/1607975879
https://paste.amazon.com/show/dhs/1607975352
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/bot run checks

@DanielYEHsieh
Could you update this unit test file as well: https://github.com/aws/amazon-freertos/blob/master/libraries/c_sdk/standard/ble/utest/ble_mqtt_transport/iot_ble_mqtt_transport_utest.c#L56
I think the cmock tests are failing because of that.
I agree that the connection timeout is unrelated. It seems to be a lab issue.

@ravibhagavandas Thanks for pointing that out, fixed in 6e29b18
"Could you update this unit test file as well: https://github.com/aws/amazon-freertos/blob/master/libraries/c_sdk/standard/ble/utest/ble_mqtt_transport/iot_ble_mqtt_transport_utest.c#L56
I think the cmock tests are failing because of that.
I agree that the connection timeout is unrelated. It seems to be a lab issue."

BLE demos passed locally(CI is not working, tested with esp32 locally):
CONFIG_SHADOW_BLE_TRANSPORT_DEMO_ENABLED passed
CONFIG_MQTT_BLE_TRANSPORT_DEMO_ENABLED pass
https://paste.amazon.com/show/dhs/1607975879
https://paste.amazon.com/show/dhs/1607975352

/bot run checks

/bot run checks

/bot run checks

/bot run checks

coreMQTT_Integration_BLE PASS!
---------STARTING TESTS---------
I (4816) BTDM_INIT: BT controller compile version [0fff744]
I (4816) system_api: Base MAC address is not set, read default base MAC address from BLK0 of EFUSE
GAP procedure initiated: advertise; disc_mode=2 adv_channel_map=0 own_addr_type=1 adv_filter_policy=0 adv_itvl_min=187 adv_itvl_max=375
GATT procedure initiated: notify; att_handle=94
GATT procedure initiated: notify; att_handle=94
GATT procedure initiated: notify; att_handle=94
GATT procedure initiated: notify; att_handle=94
GATT procedure initiated: notify; att_handle=94
GATT procedure initiated: notify; att_handle=94
GATT procedure initiated: notify; att_handle=94
GATT procedure initiated: notify; att_handle=94
TEST(coreMQTT_Integration_BLE, Subscribe_Publish_With_Qos_0) PASS
GATT procedure initiated: notify; att_handle=94
GATT procedure initiated: notify; att_handle=94
GATT procedure initiated: notify; att_handle=94
GATT procedure initiated: notify; att_handle=94
GATT procedure initiated: notify; att_handle=94
GATT procedure initiated: notify; att_handle=94
GATT procedure initiated: notify; att_handle=94
GATT procedure initiated: notify; att_handle=94
TEST(coreMQTT_Integration_BLE, Subscribe_Publish_With_Qos_1) PASS
GATT procedure initiated: notify; att_handle=94
GATT procedure initiated: notify; att_handle=94
GATT procedure initiated: notify; att_handle=94
TEST(coreMQTT_Integration_BLE, ProcessLoop_KeepAlive) PASS
GAP procedure initiated: terminate connection; conn_handle=0 hci_reason=19
GAP procedure initiated: advertise; disc_mode=2 adv_channel_map=0 own_addr_type=1 adv_filter_policy=0 adv_itvl_min=187 adv_itvl_max=375
GAP procedure initiated: stop advertising.

3 Tests 0 Failures 0 Ignored
OK
-------ALL TESTS FINISHED-------

unit test also passed for related changes
abstractions/transport/secure_sockets
100.0% 100.0 %	164 / 164	100.0 %	8 / 8	100.0 %	90 / 90
c_sdk/standard/ble/src/services/data_transfer
100.0% 100.0 %	392 / 392	100.0 %	28 / 28	100.0 %	170 / 170
c_sdk/standard/ble/src/services/mqtt_ble
95.7% 95.7% 95.7 %	427 / 446	100.0 %	27 / 27	81.7 %	103 / 12


Handle pdftk options

We should handle all (or almost) options avaliable with pdftk
A mapping has to be defined, it could be :
    # [ input_pw < input PDF owner passwords | PROMPT > ]         :input_pw  => string
    # [ < operation > < operation arguments > ]                 none
    # [ output < output filename | - | PROMPT > ]                 :output  => string
    # [ encrypt_40bit | encrypt_128bit ]                          :encrypt  => 40bit | 128bit
    # [ allow < permissions > ]                                   :allow  => array of [Printing, DegradedPrinting, ModifyContents, Assembly, CopyContents, ScreenReaders, ModifyAnnotations, FillIn, AllFeatures]
    # [ owner_pw < owner password | PROMPT > ]                    :owner_pw  => string
    # [ user_pw < user password | PROMPT > ]                      :user_pw  => string
    # [ flatten ]                                                 :flatten  => true | false
    # [ compress | uncompress ]                                   :compress  => true | false
    # [ keep_first_id | keep_final_id ]                           :keep_id  => :first | :final
    # [ drop_xfa ]                                                :drop_xfa  => true | false
    # [ verbose ]                                                 verbose  => true | false
    # [ dont_ask | do_ask ]                                       ask  => true | false

then a method to generate the correct string
# Only draft method
    def build_options(options = {})
      @options.merge(options).collect {|option, value| option.to_s if value}
    end

how do I allow signing, but disallow modifications before effectively signing the documents with an electronic signature? thanks


COTR model results in the paper

I saw in the paper that you have the result that the COTR model uses the history frame as 1.

If you trained the COTR model yourself, could you please provide the model weights for COTR? I would appreciate it

Hi Chuandong, the mIoU (41.39) is referenced from Table 2 of the COTR paper. The results for its 17 classes were provided by Qihang Ma, the first author of COTR. You might consider reaching out to him for the checkpoint, as he is known to be kind and helpful !

Thank you very much!

Hi Chuandong, the mIoU (41.39) is referenced from Table 2 of the COTR paper. The results for its 17 classes were provided by Qihang Ma, the first author of COTR. You might consider reaching out to him for the checkpoint, as he is known to be kind and helpful !

Another question, you wrote in your paper that the backbone of COTR is SwinB and the mIoU is 46.20 when the history frame is 8 frames. Should the history frame be 1 frame?

According the official settings of COTR, the history frame is 8 ~
If you have any other questions about the details, you can discuss with us through the WeChat that is provided at my homepage, thks~


Application failing to build after migrating to null safety

Hi, I've just finished migrating a large flutter application to null safety, running it is giving me the error:
FAILURE: Build failed with an exception.

* Where:
Script '/home/jimmyff/flutter/packages/flutter_tools/gradle/flutter.gradle' line: 1070

* What went wrong:
Execution failed for task ':app:compileFlutterBuildDebug'.
> Process 'command '/home/jimmyff/flutter/bin/flutter'' finished with non-zero exit value 1

I've included the verbose log below, I don't suppose you have any idea as to how I can resolve? I have tried flutter clean numerous times.
Thanks

Flutter run -v output
...
[+5496 ms] [+5525 ms] Persisting file store
[        ] [   +1 ms] Done persisting file store
[        ] [   +4 ms] "flutter assemble" took 10,354ms.
[        ] [  +47 ms] ensureAnalyticsSent: 46ms
[        ] [   +1 ms] Target kernel_snapshot failed: Exception
[        ]            #0      KernelSnapshot.build (package:flutter_tools/src/build_system/targets/common.dart:241:7)
[        ]            <asynchronous suspension>
[        ]            #1      _BuildInstance._invokeInternal (package:flutter_tools/src/build_system/build_system.dart:839:9)
[        ]            <asynchronous suspension>
[        ]            #2      Future.wait.<anonymous closure> (dart:async/future.dart)
[        ]            <asynchronous suspension>
[        ]            #3      _BuildInstance.invokeTarget (package:flutter_tools/src/build_system/build_system.dart:777:32)
[        ]            <asynchronous suspension>
[        ]            #4      FlutterBuildSystem.build (package:flutter_tools/src/build_system/build_system.dart:606:16)
[        ]            <asynchronous suspension>
[        ]            #5      AssembleCommand.runCommand (package:flutter_tools/src/commands/assemble.dart:317:32)
[        ]            <asynchronous suspension>
[        ]            #6      FlutterCommand.run.<anonymous closure> (package:flutter_tools/src/runner/flutter_command.dart:1140:27)
[        ]            <asynchronous suspension>
[        ]            #7      AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
[        ]            <asynchronous suspension>
[        ]            #8      CommandRunner.runCommand (package:args/command_runner.dart:209:13)
[        ]            <asynchronous suspension>
[        ]            #9      FlutterCommandRunner.runCommand.<anonymous closure> (package:flutter_tools/src/runner/flutter_command_runner.dart:288:9)
[        ]            <asynchronous suspension>
[        ]            #10     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
[        ]            <asynchronous suspension>
[        ]            #11     FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:236:5)
[        ]            <asynchronous suspension>
[        ]            #12     run.<anonymous closure>.<anonymous closure> (package:flutter_tools/runner.dart:62:9)
[        ]            <asynchronous suspension>
[        ]            #13     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
[        ]            <asynchronous suspension>
[        ]            #14     main (package:flutter_tools/executable.dart:94:3)
[        ]            <asynchronous suspension>
[        ] [   +2 ms]
[        ]            #0      throwToolExit (package:flutter_tools/src/base/common.dart:10:3)
[        ]            #1      AssembleCommand.runCommand (package:flutter_tools/src/commands/assemble.dart:334:7)
[        ]            <asynchronous suspension>
[        ]            #2      FlutterCommand.run.<anonymous closure> (package:flutter_tools/src/runner/flutter_command.dart:1140:27)
[        ]            <asynchronous suspension>
[        ]            #3      AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
[        ]            <asynchronous suspension>
[        ]            #4      CommandRunner.runCommand (package:args/command_runner.dart:209:13)
[        ]            <asynchronous suspension>
[        ]            #5      FlutterCommandRunner.runCommand.<anonymous closure> (package:flutter_tools/src/runner/flutter_command_runner.dart:288:9)
[        ]            <asynchronous suspension>
[        ]            #6      AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
[        ]            <asynchronous suspension>
[        ]            #7      FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:236:5)
[        ]            <asynchronous suspension>
[        ]            #8      run.<anonymous closure>.<anonymous closure> (package:flutter_tools/runner.dart:62:9)
[        ]            <asynchronous suspension>
[        ]            #9      AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
[        ]            <asynchronous suspension>
[        ]            #10     main (package:flutter_tools/executable.dart:94:3)
[        ]            <asynchronous suspension>
[  +44 ms] [   +1 ms] Running shutdown hooks
[        ] [        ] Shutdown hooks complete
[        ] [        ] exiting with code 1
[        ] > Task :app:compileFlutterBuildDebug FAILED
[        ] Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
[        ] Use '--warning-mode all' to show the individual deprecation warnings.
[        ] See https://docs.gradle.org/6.7/userguide/command_line_interface.html#sec:command_line_warnings
[        ] 1 actionable task: 1 executed
[        ] FAILURE: Build failed with an exception.
[        ] * Where:
[        ] Script '/home/jimmyff/flutter/packages/flutter_tools/gradle/flutter.gradle' line: 1070
[        ] * What went wrong:
[        ] Execution failed for task ':app:compileFlutterBuildDebug'.
[        ] > Process 'command '/home/jimmyff/flutter/bin/flutter'' finished with non-zero exit value 1
[        ] * Try:
[        ] Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
[        ] * Get more help at https://help.gradle.org
[        ] BUILD FAILED in 11s
[ +325 ms] Running Gradle task 'assembleDebug'... (completed in 11.9s)
[   +2 ms] Exception: Gradle task assembleDebug failed with exit code 1
[        ] "flutter run" took 12,496ms.
[   +2 ms]
           #0      throwToolExit (package:flutter_tools/src/base/common.dart:10:3)
           #1      RunCommand.runCommand (package:flutter_tools/src/commands/run.dart:674:9)
           <asynchronous suspension>
           #2      FlutterCommand.run.<anonymous closure> (package:flutter_tools/src/runner/flutter_command.dart:1140:27)
           <asynchronous suspension>
           #3      AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
           <asynchronous suspension>
           #4      CommandRunner.runCommand (package:args/command_runner.dart:209:13)
           <asynchronous suspension>
           #5      FlutterCommandRunner.runCommand.<anonymous closure> (package:flutter_tools/src/runner/flutter_command_runner.dart:288:9)
           <asynchronous suspension>
           #6      AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
           <asynchronous suspension>
           #7      FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:236:5)
           <asynchronous suspension>
           #8      run.<anonymous closure>.<anonymous closure> (package:flutter_tools/runner.dart:62:9)
           <asynchronous suspension>
           #9      AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:150:19)
           <asynchronous suspension>
           #10     main (package:flutter_tools/executable.dart:94:3)
           <asynchronous suspension>

[  +46 ms] ensureAnalyticsSent: 45ms
[        ] Running shutdown hooks
[        ] Shutdown hooks complete
[        ] exiting with code 1

Flutter doctor -v
jimmyff@jimmybuntu:~/dev/esc_app$ flutter doctor -v
[✓] Flutter (Channel stable, 2.8.1, on Ubuntu 21.10 5.13.0-25-generic, locale en_GB.UTF-8)
    • Flutter version 2.8.1 at /home/jimmyff/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 77d935af4d (5 weeks ago), 2021-12-16 08:37:33 -0800
    • Engine revision 890a5fca2e
    • Dart version 2.15.1

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /home/jimmyff/Android/Sdk
    • Platform android-31, build-tools 31.0.0
    • Java binary at: /home/jimmyff/tools/android-studio/jre/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)
    • All Android licenses accepted.

[✗] Chrome - develop for the web (Cannot find Chrome executable at google-chrome)
    ! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable.

[✓] Android Studio (version 2020.3)
    • Android Studio at /home/jimmyff/tools/android-studio
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)

[✓] VS Code
    • VS Code at /snap/code/current
    • Flutter extension version 3.32.0

[✓] Connected device (1 available)
    • Pixel 5 (mobile) • 09021FDD40027X • android-arm64 • Android 12 (API 31)

! Doctor found issues in 1 category.

flutter.gradle line 1070
```
  project.exec {
        logging.captureStandardError LogLevel.ERROR
        executable flutterExecutable.absolutePath
        workingDir sourceDir
        if (localEngine != null) {
            args "--local-engine", localEngine
            args "--local-engine-src-path", localEngineSrcPath
        }
        if (verbose) {
            args "--verbose"
        } else {
            args "--quiet"
        }
        args "assemble"
        args "--no-version-check"
        args "--depfile", "${intermediateDir}/flutter_build.d"
        args "--output", "${intermediateDir}"
        if (performanceMeasurementFile != null) {
            args "--performance-measurement-file=${performanceMeasurementFile}"
        }
        if (!fastStart || buildMode != "debug") {
            args "-dTargetFile=${targetPath}"
        } else {
            args "-dTargetFile=${Paths.get(flutterRoot.absolutePath, "examples", "splash", "lib", "main.dart")}"
        }
        args "-dTargetPlatform=android"
        args "-dBuildMode=${buildMode}"
        if (trackWidgetCreation != null) {
            args "-dTrackWidgetCreation=${trackWidgetCreation}"
        }
        if (splitDebugInfo != null) {
            args "-dSplitDebugInfo=${splitDebugInfo}"
        }
        if (treeShakeIcons == true) {
            args "-dTreeShakeIcons=true"
        }
        if (dartObfuscation == true) {
            args "-dDartObfuscation=true"
        }
        if (dartDefines != null) {
            args "--DartDefines=${dartDefines}"
        }
        if (bundleSkSLPath != null) {
            args "-dBundleSkSLPath=${bundleSkSLPath}"
        }
        if (codeSizeDirectory != null) {
            args "-dCodeSizeDirectory=${codeSizeDirectory}"
        }
        if (extraGenSnapshotOptions != null) {
            args "--ExtraGenSnapshotOptions=${extraGenSnapshotOptions}"
        }
        if (extraFrontEndOptions != null) {
            args "--ExtraFrontEndOptions=${extraFrontEndOptions}"
        }
        args ruleNames
    }

</details>

The portion of the verbose log you've included starts after the actual error. There's no way to find the cause without that information.

apologies, I assumed what I had cropped out were exclusively the many null safety warnings which I will resolve on a second pass. I found the pesky error right at the top of the log and resolved it. My built_value generated files were out of date and needed rebuilding.
Thanks


glpi

Signed-off-by: SecInfra<EMAIL_ADDRESS>
Status
Ready
Related Content Pull Request
Related PR: TBD
Description
New glpi integration docker image including glpi-api python lib

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: SecInfra:x: BEAdiYou have signed the CLA already but the status is still pending? Let us recheck it.


[bundler] Rollup issue with module resolution

The repro was to clone https://github.com/material-components/material-components-web-components and try to bundle using one of the demo files as a fragment.  The result was that rollup complained about not being able to load a file, which resolved incorrectly I thing to a file URL... file://something/something/demos/%40polymer/lit-element

More specifically:
$ node ~/src/github.com/polymer/tools~active/packages/bundler/lib/bin/polymer-bundler.js --in-file demos/button.html --module-resolution node --inline-scripts
Error: Could not load file:///Users/usergenic/src/github.com/material-components/material-components-web-components/demos/%40polymer/lit-element/lit-element.js (imported by *bundle*): ENOENT: no such file or directory, open 'file:///Users/usergenic/src/github.com/material-components/material-components-web-components/demos/%40polymer/lit-element/lit-element.js'
    at /Users/usergenic/src/github.com/polymer/tools~active/packages/bundler/node_modules/rollup/dist/rollup.js:21430:19
    at <anonymous>


feat: add gold and platinum sponsors into the hero on the homepage

Prerequisites checklist

[x] I have read the contributing guidelines.

What is the purpose of this pull request?

What changes did you make? (Give an overview)
Adjusted home page hero layout to show gold and platinum sponsors
Related Issues
close https://github.com/eslint/eslint.org/issues/491
Is there anything you'd like reviewers to focus on?
The top and bottom padding of hero has been narrowed to allow for the full display of sponsors.

I feel the layout to be tight in mobile. May be we should allow some space for the content and take sponsors to next fold in mobile alone?

I've tweaked the styles and it now styles better on mobile and when there are more sponsors.

The hero section doesn't seem to be 100vh now? it seems we have it somewhere around 90% of vh?

Before
After

The previous version was over 100vh on my device

maybe we should look at a different design

This design doesn't seem to make it appear above the fold, is this acceptable?

Can we probably move the existing sponsors section to the second fold? and make something similar to vitejs.dev? That feels more intuitive? and also gives more visibility to all sponsors section overall?
other projects with sponsors in second fold:

vuejs.org
babeljs.io

@harish-sethuraman That's not what I'm looking for. I want the platinum and gold sponsors above the fold as a way to show that they'll get good exposure for what they're paying. I'd like to keep the existing sponsors list further down the page but also have this smaller list above the fold. I think that will make it more enticing to donate more money.

I investigated this using Screen Resolution Stats Worldwide Oct 2022 - Oct 2023 data from statcounter GlobalStats.

Details

1920x1080 (9.4%)
360x800 (6.77%)
1366x768 (6.24%)
1536x864 (4.24%)

390x844 (4.03%)
414x896 (3.37%)
412x915 (3.16%)
393x873 (2.93%)

❌ 1280x720 (2.72%)
1440x900 (2.57%)
360x780 (2.51%)
❌ 360x640 (2.2%)

375x812 (2.12%)
385x854 (1.96%)
360x760 (1.81%)
428x926 (1.77A%)

❌ 375x667 (1.75%)
412x892 (1.66%) (1.34%)
768x1024 (1.25%)

Among all common screens, 36.2% are unknown. Among the remaining common screens, the 1280x720 (2.72%) first screen only displays part of the first screen, and the 360x780 (2.2%) and 375x667 (1.75%)  first screen cannot be displayed.
A total of 6.67% of devices have poor display, and I think it’s okay to keep the original padding.

I think we are almost there. Can we decrease the padding under the sponsors so that the bottom border appears roughly where it is on eslint.org currently?

one more thing, in sponsors page the backers images have a square border-radius in dark mode and circular in light one, is it the expected behavior?

@Tanujkanti4441 yes, that is intentional. A lot of the logos were hard to see on the dark background, so we added the light background behind them.


implemented post_filter functionality and test cases

Hey
as mentioned in #50  here is the corresponding PR.
basically, i added it the same way as query is already implemented. I also added two tests, one for query execution and one for basic generation.
If you have any feedback i am open otherwise i hope it is sufficient: :)

Merged and released this with 1.0.10


Attach Image function is not working

The 'attach image' button does not do anything when it is clicked.

Same here :(

Duplicated with #296

+1 same here

+1

+1
(+enhancement request: sharing image via another app)


runner-build not getting killed when fresh exits

I've been using fresh for several years and it's worked perfectly (thank you)!  However, I recently encouraged co-workers to use it and their fresh installs leave the runner-build process running when fresh exits (when they kill fresh using control-c). Any ideas what's going wrong? One co-worker is running on mac and another on ubuntu. The runner.conf contains just ignored: vendor

Same here, this problem was faced plenty of times. When fresh keeps running in the background, it leads the application to make too many DB connections until the dev DB gets stuck.
#1040 - Too many connections


Make hyperlinks work

Links now work in D2 preview.  Links will not work in D2 diagrams embedded in markdown.  I'm trying to find a 'correct' way to do this.  FWIW - links in markdown that's embedded in D2 also don't work.

I kept the logic the same, except when vscode can't open the file, then I'll pass it to shell.open,() or shell.default() as it's defined, then the default app will (hopefully) be invoked for that file type.  This will also launch executable files.  This can't be detected, 'for sure', on windows since executables don't have that attribute associated with them.  If that is an issue, then some heuristics can be inserted to hit the 99% case to at least say, 'this is an executable, are you sure you want to launch'.

I kept the logic the same, except when vscode can't open the file, then I'll pass it to shell.open,() or shell.default() as it's defined, then the default app will (hopefully) be invoked for that file type. This will also launch executable files. This can't be detected, 'for sure', on windows since executables don't have that attribute associated with them. If that is an issue, then some heuristics can be inserted to hit the 99% case to at least say, 'this is an executable, are you sure you want to launch'.

Hmm will people always want to have text files open in vscode? for examples svgs work with openTextDocument, but I'd prefer to have it open in my browser. I think it should be a configured setting if we add that feature

I suppose I could add a checkbox of, "open in vscode if you can", otherwise let the OS sort it out.


Build failure: pkgsStatic.iproute2

Steps To Reproduce
Steps to reproduce the behavior:

nix-shell -p pkgsStatic.iproute2
nix build github:nixos/nixpkgs/nixos-unstable#pkgsStatic.iproute2
nix build github:nixos/nixpkgs/nixos-22.11#pkgsStatic.iproute2

Build log
iproute2-static-x86_64-unknown-linux-musl>     CC       tc_core.o
iproute2-static-x86_64-unknown-linux-musl>     CC       tc_red.o
iproute2-static-x86_64-unknown-linux-musl>     CC       tc_cbq.o
iproute2-static-x86_64-unknown-linux-musl>     CC       tc_estimator.o
iproute2-static-x86_64-unknown-linux-musl>     CC       tc_stab.o
iproute2-static-x86_64-unknown-linux-musl>     CC       tc_qevent.o
iproute2-static-x86_64-unknown-linux-musl>     AR       libtc.a
iproute2-static-x86_64-unknown-linux-musl>     LINK     tc
iproute2-static-x86_64-unknown-linux-musl>     CC       m_xt.so
iproute2-static-x86_64-unknown-linux-musl> In file included from ../include/uapi/linux/netfilter_ipv4/ip_tables.h:21,
iproute2-static-x86_64-unknown-linux-musl>                  from m_xt.c:19:
iproute2-static-x86_64-unknown-linux-musl> ../include/uapi/linux/if.h:134: warning: "IFF_VOLATILE" redefined
iproute2-static-x86_64-unknown-linux-musl>   134 | #define IFF_VOLATILE    (IFF_LOOPBACK|IFF_POINTOPOINT|IFF_BROADCAST|IFF_ECHO|\
iproute2-static-x86_64-unknown-linux-musl>       |
iproute2-static-x86_64-unknown-linux-musl> In file included from m_xt.c:16:
iproute2-static-x86_64-unknown-linux-musl> /nix/store/fwk9zwznw2z3d144nxdp2ayygshs8s3y-x86_64-unknown-linux-musl-stage-final-gcc-11.3.0/x86_64-unknown-linux-musl/sys-include/net/if.h:48: note: this is the location of the previous definition
iproute2-static-x86_64-unknown-linux-musl>    48 | #define IFF_VOLATILE (IFF_LOOPBACK|IFF_POINTOPOINT|IFF_BROADCAST| \
iproute2-static-x86_64-unknown-linux-musl>       |
iproute2-static-x86_64-unknown-linux-musl> /nix/store/cb3my6hp6siywsnd0321f0ir1g7931zw-x86_64-unknown-linux-musl-binutils-2.39/bin/x86_64-unknown-linux-musl-ld: /nix/store/fwk9zwznw2z3d144nxdp2ayygshs8s3y-x86_64-unknown-linux-musl-stage-final-gcc-11.3.0/lib/gcc/x86_64-unknown-linux-musl/11.3.0/crtbeginT.o: relocation R_X86_64_32 against hidden symbol `__TMC_END__' can not be used when making a shared object
iproute2-static-x86_64-unknown-linux-musl> /nix/store/cb3my6hp6siywsnd0321f0ir1g7931zw-x86_64-unknown-linux-musl-binutils-2.39/bin/x86_64-unknown-linux-musl-ld: failed to set dynamic section sizes: bad value
iproute2-static-x86_64-unknown-linux-musl> collect2: error: ld returned 1 exit status
iproute2-static-x86_64-unknown-linux-musl> make[1]: *** [Makefile:171: m_xt.so] Error 1
iproute2-static-x86_64-unknown-linux-musl> rm emp_ematch.lex.c
iproute2-static-x86_64-unknown-linux-musl> make: *** [Makefile:76: all] Error 2

Additional context
Adding "TC_CONFIG_NO_XT=y" to iproute2's makeFlags avoids the issue. I have no clue what other effects this has, as I'm not familiar with the tc tool.
Notify maintainers
@primeos @eelco @fpletz @globin
Metadata
 - system: `"x86_64-linux"`
 - host os: `Linux 6.1.2, NixOS, 22.11 (Raccoon), 22.11.20230106.2dea899`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.12.0`
 - nixpkgs: `/etc/nix/inputs/nixpkgs`

How about something like:
--- a/pkgs/os-specific/linux/iproute/default.nix
+++ b/pkgs/os-specific/linux/iproute/default.nix
@@ -39,6 +39,10 @@ stdenv.mkDerivation rec {
     "SBINDIR=$(out)/sbin"
     "DOCDIR=$(TMPDIR)/share/doc/${pname}" # Don't install docs
     "HDRDIR=$(dev)/include/iproute2"
+  ] ++ lib.optionals stdenv.hostPlatform.isStatic [
+    "SHARED_LIBS=n"
+    # all build .so plugins:
+    "TC_CONFIG_NO_XT=y"
   ];

   buildFlags = [

Proposed as https://github.com/NixOS/nixpkgs/pull/219695

Fixed via #219695


chore: complete Cypress test implementation

Handles issue #678

hey @vicradon are you planning to have a look at the comments ?

Yes, I'll update it today.

Hi @bekossy
Please check out the updated test

Unfortunately the tests are sometimes passing and sometimes working. I am closing this. Thanks a lot for the hard work @vicradon and sorry for not moving through with this


How to change logging directory?

The option to change logging directory is added in the latest release 1.2.2
pip install --upgrade opencv-log
Refer the docs for detail
https://navarasu.github.io/opencv-log/configuration.html#change-log-path
This release mainly adds log rotation for each run,
Now,

Log get rotated for each run instead of getting cleared
Log folder log/ directory will not be deleted ( to share space for other services logs)


add handle_signals

Codecov Report

Merging #36 (0f99213) into master (f46623b) will increase coverage by 0.00%.
The diff coverage is 75.00%.

@@           Coverage Diff           @@
##           master      #36   +/-   ##
=======================================
  Coverage   95.62%   95.62%
=======================================
  Files          81       81
  Lines        1736     1737    +1
  Branches      182      182
=======================================
+ Hits         1660     1661    +1
  Misses         67       67
  Partials        9        9

Impacted Files
Coverage Δ

jj/servers/_server.py
57.69% <0.00%> (ø)

jj/runners/_runner.py
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

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


ZS-106 Support multiple microgrids.

Adds Cucumber test for non-existing logical device in RTU.
Updates database clean up code in preparation for a scenario.
Added helper code to deal with SOAP fault responses.

This pull request makes the build fail.

This pull request makes the build fail.

This pull request makes the build fail.

All is well.

All is well.

This pull request makes the build fail.

This pull request makes the build fail.


Narrow dependency_validator range to avoid NNBD issue

We recently discovered that if a package resolves to dependency_validator >=3.0.0
and build_config <1.0.0, running the dependency_validator tool will fail
during precompilation due to null safety.
We are merging a fix to dependency_validator, but unfortunately it won't
prevent consumers from resolving to the v3.x versions that still have the
issue. This PR addresses the issue for consumers by narrowing the range to
no longer include dependency_validator v3.
Note: We originally widened this range as a part of the effort to upgrade
our ecosystem to analyzer v1, but it is not strictly necessary. Consumers
of dependency_validator v2 can still successfully resolve to analyzer v1.
For more info, reach out to #support-frontend-architecture on Slack.
Created by Sourcegraph batch change Workiva/narrow_dependency_validator_range.

Security Insights

(2) Vulnerable direct dependencies were detected
1 vulns in ansi-regex < 4.1.1 via yarn.lock
1 vulns in glob-parent < 5.1.2 via yarn.lock

Action Items

Review dependencies for available updates
See this Splunk dashboard for more CVE details
Review PR for security impact; comment "security review required" if needed or unsure
Verify aviary.yaml coverage of security relevant code

Questions or Comments? Reach out on Slack: #support-infosec.

QA+1

@Workiva/release-management-pp ready for merge.


feat: drag-n-drop v1

here's drag n drop v1. Functional, there's a little style glitch linked to mantine's "timeline".
I don't know how to fix it yet; Maybe we could do just a list to have a fluid comportment ?
https://github.com/Vincenius/workout-lol/assets/32961176/a77ea693-702a-4a4f-a6d0-3b9489f95cdd
I will check and purpose solutions later !

Looks good so far! Yeah, we can change the timeline to a list to make it work.
I'll have a bit more time again on thursday and friday to spend on this project

K then i'll do it with pleasure maybe today or in the next days ! 💪🏼

Nice work - looks good! Now some design touches and we should be good :)
btw if you have ideas on how to improve workout.lol feel free to create issues

@Vincenius here's the commit with the style ⬆
https://github.com/Vincenius/workout-lol/assets/32961176/532ebe6f-688c-4407-9523-03c8191518c4


Update install documentation to use python3 -m pip

See https://snarky.ca/why-you-should-use-python-m-pip/
For some reason, I have to do it like that on moellenstedt after Python was updated. Using pip install <...> tries to install with Python 2 in the wrong environment. That means this issue is real and updating our documentation can help to steer newer users away from potential trouble.

Assigning to 0.6 since this is a relatively minor update and we can do it as part of documentation QA during the release process.

I would like to work on this issue, Please assign this task to me!

I would like to work on this issue, Please assign this task to me!

Sure thing, please let me know if you need any help!


Add beforeInput to simulated event map.

For the purposes of testing an editor based on https://github.com/facebook/draft-js, I'd like to be able to simulate the beforeinput event.
I didn't see tests to make sure that each event is mapped properly, so I didn't add one. If I missed it, please point me the proper place, and I'm happy to add one.
Thanks for enzyme! It's fantastic!

Thanks! Can you point to where this is defined in React itself? (in other words, does React support this event natively)

@ljharb there is an event plugin that handles beforeinput

All event plugins are always present, so there would be no way to do that kind of detection.


RetrieveRequestHandler - Need to turn off Entity Validation Error

Hey guys!
Is there a way to disable the ValidationError exception when entity is not found while processing the query in RetrieveRequestHandler class? I would be great to get such an option while inheriting this class since I use it in customized logic and I am predicting that a specific record might not be in DB yet.
Thanks!

You may also use a ListRequestHandler with Details mode and equality filter on id column

That worked. Thank you!
Closing.


When developing in local mode when a task fails we don't want the whole process to halt

I attempted a small fix to this issue, with my addition the only difference is that the process doesn't halt instead it just fails (which works OK for me because i always shutdown a local-topology after some time, but i need to further patch this to shutdown automatically when an error is thrown).
Can you please provide assistance on how to shutdown everything from within task or within worker/mk-worker so i can pass it down to mk-tasks? I can retry the patch again.
I saw kill-local-storm-cluster in testing.clj but i don't seem to have for example a reference to nimbus.

Hi Nathan , I did what we commented on last time on irc, please send your input and if needed i will try again . Thanks a lot

yeah we can chat during the conj :) would love to help further with other issues :)

Well, I implemented this portion of this improvement, but it turns out more work is needed to prevent worker and supervisor from halting process in local mode.

I'm going to close this. I think this is too complex to implement.

BTW, if there are any expected exceptions in a topology, the best practice is to catch those errors and make appropriate calls to OutputCollector#fail.


chore: add ING to supported by

What I did

Added ING to "Supported By" section

We should also show it on open-wc.org, where should we add it? 🤔 @daKmoR @Westbrook

sweet 🤗
yeah probably add to the front page 🤔
after "Why Open Web Components?" 🤔
or a dedicated page? 🤔


Restore change where syncing saves articles in one go rather than bunched by feed

Now that the 0xdead10cc crash is fixed, I think we can restore this performance enhancement.

Let’s avoid touching this code and save it for a nice performance boost in 5.0.1.


V1.1.0 container update

Description
This PR will be a general update for containers.

Add runtime configuration for frontend
Automate container build/release to ghcr.io

Todo before merge:

[ ] Add test
[ ] Fix container workflow trigger
[ ] Revert 36b779cec9277b69cb2f45a663449b94f3e63581

Fixes # (issue)
Type of change

Bug fix (non-breaking change which fixes an issue)
New feature (non-breaking change which adds functionality)
Breaking change (fix or feature that would cause existing functionality to not work as expected)
This change requires a documentation update

How Has This Been Tested?

[ ] Local Pre-commit Checks
[ ] CI/CD Build

Checklist

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] My changes generate no new warnings
[ ] If applicable - I have commented my code, particularly in hard-to-understand areas
[ ] If applicable - I have made corresponding changes to the documentation
[ ] If applicable - I have added tests that prove my fix is effective or that my feature works
[ ] If applicable - New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules

Here's a status of all commits made in https://github.com/esgf2-us/metagrid/pull/594.

6bc19e8 - Applied
5c3b12c - Applied
09ed0fb - Skipped
7bd6060 - Skipped
5dd6946 - Applied
9c19305 - Applied
eba2321 - Applied
4efb770 - Applied
44206ac - Applied
3a0d9df - Skipped
9ec492b - Skipped
ac73d55 - Applied
a3eaf7a - Skipped
36b779c - Applied
9762034 - Applied

Thank you @jasonb5 @downiec could review just to be sure, and I'll do a production regression test merge on our green-net server.

I haven't yet, it's next up.
TODO

[ ] Build and test on Nimbus
[ ] Correct workflow triggers; should always build for PR's but only push when a new tag is created

This failed test might be an intermittent issue

This failed test might be an intermittent issue

Still trying to figure out why this fails on github but passes locally...


[DISCUSSION] Script to get the wishlisted and actually missing apps

About this discussion
The list generated via the icon request form currently is a total mess containing different naming schemes, duplicates and apps that are already implemented. So I wrote a little Python which fetches the wishlist and brings some order into it.
get_missing_apps.py.txt (it is actually a python script, but GitHub didn't let me upload it so you have to remove ".txt" from the file name)
I couldn't find something similar, the "summary of the requests" doesn't seem to work that well to me. I hope this script can help and this is the right place to post it.

I don't know how to use it, but could you show an example of the result?
Even though there is a lot of unnecessary stuff in the popular requests table, it still remains useful and is updated automatically.

It's a python script so to run it, you would just rename the file to get_missing_apps.py and then run python get_missing_apps.py in a terminal (you need the packages re and requests). The script then creates a file called missing_apps.txt.
Here's what I got from running this script:
missing_apps.txt

Here's what I got from running this script:
missing_apps.txt

If I understand correctly, your script allows you to clean the raw data. It would be useful in conjunction with a list of popular requests. Right now the list of popular requests is a bit irrelevant because of the raw data.
If @KTibow has time, he will tell more precisely whether this script can be used when generating a list of popular requests.

get_missing_apps.py.txt
I've done some tweaking to the script and added a counter as well, so the output format is now a CSV. Now from a first look, the output list looks quite similar to the one from the Google Sheet, with the difference that it really only contains reverse domain names.
An example of the output now is:
missing_apps.csv

I've done some tweaking to the script and added a counter as well

Yep, the result is similar, but a little different.
I should emphasize that the table has a significant advantage — as soon as a PR with ready icons is merged with the repository, the list of popular requests updates itself. That's why I say above that it's best to apply a script that cleans up the raw data in the table itself.

I should emphasize that the table has a significant advantage — as soon as a PR with ready icons is merged with the repository, the list of popular requests updates itself. That's why I say above that it's best to apply a script that cleans up the raw data in the table itself.

Of course, That is also the way I intended the script to be implemented - if at all. I just don't know how to do it with Google Sheets, otherwise I would have done it that way already.

@ElbertCode
@KTibow took the time to update the list of popular requests, so it now cleans the raw data before sorting, although it counts differently than your script.
I don't know the code, but I'll explain the difference with an example if you're interested. In missing_apps.csv you have org.supertuxkart.stk, 8, but if you look at the list of popular requests, it says org.supertuxkart.stk 6. I think 6 is correct — if you search the raw data, there are 6 entries.


Consider registering the OAuth2 validation middleware when using the opaque token format

The OpenID module automatically registers the JWT middleware when choosing JWT as the access token format, but doesn't do the same thing for the default format.
https://github.com/OrchardCMS/Orchard2/blob/oauth2/src/Orchard.Cms.Web/Modules/Orchard.OpenId/Startup.cs#L58

I need to initialize JWT middleware independently of the format it is chosen? Does it has to be in a different way if it is done for JWT of for default format?
Can you provide a sample?

I'll send a PR and ping you once it's ready :smile:
The important thing to remember is that we have to configure the validation middleware to use the same data protection provider than the one we use to create the access tokens.

I merged my PR and one hour ago I rebased Oauth2 branch on main branch, so you can send that PR whenever you want.

Fixed by https://github.com/OrchardCMS/Orchard2/commit/aed6b02b9260daad95776c5a6dfd1411a6434a84.


Go SDF - Add optional params and return values to SDF methods.

Currently, the following Go SDF methods don't accept any kind of optional parameters or return values:

CreateInitialRestriction(element) restriction
SplitRestriction(elem, restriction) []restriction
RestrictionSize(elem, restriction) float64
CreateTracker(restriction) restrictionTracker

There is room for adding optional parameters and return values that are currently already supported for the ProcessElement method, as described here. The important ones to start with being Context as a parameter and errors as return values.
Implementing this will involve the following steps:

Adjusting the validation in graph/fn.go to allow the optional parameters and return values.
Adjust the SDF invokers in sdf_invokers.go to support the new params/returns.
Adjust the execution code in exec/sdf.go to properly pass in the new params and appropriately handle the new return values (such as failing on errors).

Imported from Jira BEAM-11109. Original Jira may contain additional context.
Reported by: danoliveira.

.take-issue

@damccorm the support for optional context parameters and error return values has been implemented. Would you like this issue to remain open if there are more optional parameters or return values that should be added?

I don't think there's any other parameters that make sense here, so I think its safe to close. @lostluck if you disagree feel free to reopen.


Nested (and indented) raw HTML with blank lines breaks

Simple example:

        Div with a blank line

        in the middle.

        This gets treated as a code block

Results:

        Div with a blank line

        in the middle.

<div>
    This gets treated as a code block
</div>

Removing the blank line in the first child div resolves the problem. But this should work without altering the HTML. This bug was first reported to MkDocs.

on 2.6.8 a very similar bug still occurs.
>>> x = """
...
...
...
... """
>>> md.convert(x)
'
\n
\n
</i>\n
\n

'

Isn't that an inline tag?

It doesn't matter what tag it is. Even tables work. After the empty line the closing tag gets treated as a markdown code block

EDIT: oh, it actually works properly with  for the example above.

Yup, inline are handled differently.

However, here's a slightly different example that still breaks, and I have no idea why (i only added a headline above):

If you put a space after the header, it works.  I'd have to look at the Markdown spec to see if this is a bug.

I'd check this out and see how wildly across the board everyone else handles it: https://johnmacfarlane.net/babelmark2/?text=%23+Header

++++

++++<%2Fdiv>
<%2Fdiv>.
I'd say we're in company with most people.  @waylan would need to say what he expects in this scenario.

This is not a bug. Span-level raw HTML gets the Markdown inside it parsed (as per the rules). And span-level raw HTML does not span multiple paragraphs. Of course, a paragraph ends at the first blank line, so the first paragraph is (correctly):

Then the first line after the blank line is indented four spaces, so it is (correctly) a code block. And the last line is not indented so we have another paragraph (

).
This is just some very poorly formatted raw HTML which results in invalid output. However, that is completely the users error. Note that all implementations give similar ugly results for that input (its bad input so the results are bond to vary but they are all very similar).
And now for this example:

x = """# headline
...
...
...
...
... """
print(md.convert(x))

headline

Note what the rules say:

The only restrictions are that block-level HTML elements — e.g.
,
,
,
, etc. — must be separated from surrounding content by blank lines, and the start and end tags of the block should not be indented with tabs or spaces. Markdown is smart enough not to add extra (unwanted)
 tags around HTML block-level tags.

By a strict reading of the rules, that is not strictly a bug. However, the reference implementation and most others do output what is clearly intended. I suspect the problem is related to the fact that a header is only ever one line so it is the only case in which  block-level raw HTML could possibly not have a blank line before it. I'm "meh" about changing it. If someone else wants to they can, but we are technically following the rules so I'm not wasting my time on it (except to review a PR).

In my case it's a nested table with some jinja2 directives that implicitly cause some newlines in the html if I don't explicitly suppress them, which I could do of course.

Hmm, so you complain about bad output when you are intentionally feeding in poorly formatted input?  I'd like to note that there are Markdown linters out there which require much stricter formatting than the rules require (such as always following a header with a blank line). Its just good form and avoids surprises.

It doesn't matter what tag it is.

Again, the rules state (emphasis in original):

Unlike block-level HTML tags, Markdown syntax is processed within span-level tags.

Finally, in the future please report unrelated issues as new issues.

I figured it out and everything works nicely now, thanks for taking the time to explain the details to me. Sorry for putting it in this issue, I didn't know that this was unrelated to the original


[GSSoC'23] New Project : Sorting Visualizer

Sorting Visualizer is a frontend project which includes HTML, CSS, JavaScript and contains many algorithmic ways via which user can show the sorting procedure.

I expect that this project is really great and helps the user to not just cram the sorting algorithms but see them in action of what is going on actually and there is also a speed button by which user can just enjoy the sorting visualization on it's own pace.

Please assign this issue to me under the tag GSSoC'23.

Here are some Screenshots of my project that I made---


On page preload global css overrides currently loaded page styles

Describe the bug
When we have an <a> anchor tag that links to a separate page different from than the currently loaded page, and both these pages share a global class name, hovering over the anchor tag preloads the next page (or clicking -> navigating to page-2 -> and navigating back to page-1) and overrides the global styles of the currently loaded page.
Reproduction
Repro: https://stackblitz.com/edit/sveltejs-kit-template-default-xsrzyd?file=src%2Froutes%2Fpage2%2F%2Bpage.svelte
NOTE: The only limitation in the above repro is that hover is not preloading assets in stackblitz, but if you click on the anchor tag, navigate to page2 and navigate back to page1, the styles from page2 persist on page1
System Info
System:
  OS: macOS 13.4.1
  CPU: (10) arm64 Apple M1 Pro
  Memory: 256.02 MB / 16.00 GB
  Shell: 3.5.1 - /opt/homebrew/bin/fish
Binaries:
  Node: 18.16.1 - /opt/homebrew/opt/nvm/versions/node/v18.16.1/bin/node
  Yarn: 1.22.19 - /opt/homebrew/bin/yarn
  npm: 9.6.6 - /opt/homebrew/bin/npm
  pnpm: 8.6.6 - /opt/homebrew/bin/pnpm
Browsers:
  Brave Browser: <IP_ADDRESS>
  Chrome: 115.0.5790.170
  Safari: 16.5.2
npmPackages:
  @sveltejs/adapter-node: ^1.3.1 => 1.3.1
  @sveltejs/kit: ^1.22.3 => 1.22.3
  svelte: ^4.0.0 => 4.0.1
  vite: ^4.3.6 => 4.3.9

Severity
serious, but I can work around it
Additional Information
Not sure how serious this issue should be considered, cause leaking global CSS was a mistake on my end as well.
Though, both these global CSS existed inside two different pages, they shouldn't have affected each other.

Essentially a duplicate of #7918/#7751. What happens with conflicting global styles isn't a behavior we want to define. If possible, you should make each page/component's styles be scoped to that page/component.


Group Policy - Force Package Updates

Description of the new feature / enhancement
Some administrators would like to enforce a policy requiring all software installed by Winget remain up to date. It would be nice to have a group policy setting to ensure the latest versions are always installed
There are a couple edge cases that I can think of, which may effect this sort of functionality -

Pinned packages would have to have the behavior defined. Would GPO enforced upgrades override pinned packages? Is this something that would be another GPO?
Specific packages versus all packages. I can see a use case where admins may want to enforce that only certain packages stay up to date. There should likely be an option to have just select packages subject to the policy
Minimum package versions. I could also see a use case where admins may want to force a minimum package version, but not necessarily the latest, for certain packages. Examples of this could be where they want to ensure everyone received a patch with a security update, but not force them to upgrade to the latest version
What happens if a user does not have a package installed, or the version is unknown? Would the package be forced to be installed, or would the package update GPO only consider packages the user had installed
What happens if the GPO defined version is greater than any version existing in the configured sources, or the package is unavailable in the configured sources? I would presume that specific entry would be ignored?

Proposed technical implementation details
I think there are multiple ways this can be done. Here are just a few thoughts I had.

Hook into the source update with the list of installed packages. When the source is updated, check to see if the updates that were pulled down include any installed package. If there is a new version of the package available, install it, or queue it for installation before the next reboot.
Periodically check the GPO for a list of the packages and minimum versions, compare these to the installed packages and versions, then upgrade the ones which require upgrading by policy
Run winget upgrade --all periodically or at user logon. Yes, I am aware that this can be done with a scheduled task group policy, but I think it would be cleaner if Winget had it's own policy for this

I like this idea, but isn't this what something like SCCM/Intune/SaltStack/Ansible is usually for? Intune is getting some winget integration sometime in 2022, maybe this should be part of that. (I know that doesn't help if you're still 100% on-prem, but it's something).

I like this idea, but isn't this what something like SCCM/Intune/SaltStack/Ansible is usually for? Intune is getting some winget integration sometime in 2022, maybe this should be part of that. (I know that doesn't help if you're still 100% on-prem, but it's something).

You’re right, those could potentially be used, but there is also a subset of users who use Windows 10 Pro for personal use or who manage small businesses that use Windows 10 Pro but do t have a need for some of those enterprise level solutions. There are probably other examples too where GPO would be more accessible

Group Policy can be a bit tricky. If a policy is configured, it must be honored, and the user must not be allowed to modify the state to conflict with the policy on their machine. For the Windows Package Manager, the policies are evaluated when the client and / or the COM API is run. There really isn't a notion of a policy for the Windows Package Manager that would cause it to be executed otherwise.
In theory, we could capture a source update for the PreIndexed package to cause a "winget upgrade --all" to be triggered, but the user could [Ctrl]+[c] the run. The user could also avoid running the Windows Package Manager to hold off as long as possible to avoid updates. We also need to think about the interaction when the user visits a Win32 App page in the Microsoft Store. We also don't receive a notice when a REST source has changes.
Policies shouldn't be built in a way they can conflict with each other. I would also be concerned about race conditions with respect to policies requiring packages be kept up to date vs. packages that are pinned.
I'm open to the suggestions here, there are just a large number of edge cases to make sure we get right before building and applying any new policies.

I think the only way to implement this would be a scheduled task, but that doesn't really require GPO options. (since we probably want to update all corp. installed apps on the system, therefore winget upgrade --all. I don't know that I'd want to require only a subset of installed apps be updated)

I am experimenting with a group policy scheduled task now and it is working. Someone please let me know if there is a better way of doing this.

I am copying a .cmd file with group policy to a folder on the workstations. The .cmd file looks like this:
CD "C:\Program Files\WindowsApps\Microsoft.DesktopAppInstaller_1.16.12653.0_x64__8wekyb3d8bbwe"
AppInstallerCLI.exe upgrade --id=Google.Chrome -h --accept-package-agreements --accept-source-agreements
AppInstallerCLI.exe upgrade --id=Microsoft.Edge -h --accept-package-agreements --accept-source-agreements

The scheduled task is deployed using Create in group policy. The SYSTEM account runs the script daily. An 8 hour delay is used to randomize the scheduled task start time so that all workstations are not updating at once.

The pitfall of this is that when the version of Winget changes I must update the path in the script. I would just eliminate the script all together and put the --all command directly into the scheduled task but I don't want the Office update to run so that forces me to whitelist with a deployed script. Either way the path to AppInstallerCLI.exe needs to be updated either in the script or the scheduled task itself as it appears the winget command can't be ran by the SYSTEM account.

Why, @Trenly...?

I just add closed issues to the milestone in progress. I'd say it's more of a housekeeping behavior rather than an indication of intent.
Other MDM providers as mentioned above really are a better place to handle this type of behavior. WinGet only evaluates policies when it is invoked. If it isn't run for an extended period of time, a policy wouldn't be applied.

Yeah, @denelon, although I don't believe that those are solutions for home users. Hence

I know that doesn't help if you're still 100% on-prem


Support running inside a container

Add support for running inside a (Debian-like) container by dropping sudo from commands when the user is root and ensuring that the required packages are installed. Also adds a new test job to confirm that this works.

@gerlero I think we are done. Could you please squash all commits on a single one under your authorship?

Sure, done!

Great. I'll try to merge and make a new release in a couple ours.
Many thanks for the contribution.

Many thanks for the contribution.

You're welcome. Thanks to you for making the action.


Allow razor templates with the same name in different folders with different namespaces

The current source generator only uses the generated class name as the hint name when adding the generated source.  As the generated class name is simply the filename of the template, if two templates are in different folders with the same name, the generator fails to generate the source code, as they would have the same hint name.  By using different namespaces for these templates, and including the namespace as part of the hint name, this gets around the issue by making the hint names unique.

It appears that, looking at the history of the CI check, every so often the windows build fails when trying to restore packages, claiming that the packages cannot be found.

Thanks!

It appears that, looking at the history of the CI check, every so often the windows build fails when trying to restore packages, claiming that the packages cannot be found.

Yeah, there is some global issue with GitHub Actions + .NET on Windows that causes this. Ignore this for now.

By the way, what kind of error message does it show when you have two generated files with the same hint name? Would we benefit from a more customized error message or is the default one clear enough to the user?

I've already packaged this locally and upgraded my project to use this local version, so I don't see the message anymore.  However, from memory, I believe it said something along the lines that two source files used the same hint name, that the hint name is supposed to be unique, and, because of that, the source generator will not be used, which may cause further errors as the generated source files aren't being used.  This message, as far as I can tell, only appears in the build output, and does not appear in the Error List of Visual Studio.

So, I realized that I could easily cause the issue again even with the update I did by simply making the namespaces the same.  Also, I was wrong, it is put in the Error List as a warning, which was missed by me, and I previously only saw it in the build output.  The error message is fairly generic, so it can be difficult to know what caused the problem unless you know how the source generator works.

Severity
Code
Description

Warning
CS8785
Generator 'TemplateClassGenerator' failed to generate source. It will not contribute to the output and compilation errors may occur as a result. Exception was of type 'ArgumentException' with message 'The hintName of the added source file must be unique within a generator.

I see, that's not very user friendly of them. Thanks!


WIP! delay time: potentially reduce delay time if baro/aux velocity/airspeed is not used

it seems that if some observes are not used, still their delay time parameters are used and might increase the delay buffers.
this pr should check if observes are used and if not, ignore their delay parameters.

airspeed - seems that if param_ekf2_arsp_thr is >0 it can be used
baro - I couldn't find (if) there is parameter that can imply it used or not. so there is still if(??) on the code !
aux velocity -  I couldn't find (if) there is parameter that can imply it used or not. so there is still if(??) on the code !

@bresch - your notes has implemented.
can you re-check?

there is need to add EKF2_ARSP_THR to be be ParamExtFloat here:
https://github.com/PX4/PX4-Autopilot/blob/a728431e4350917f3add9814732715101ac99b4d/src/modules/ekf2/EKF2.hpp#L459
so after @priseborough will look at that too, I will do the change there too


Connection throws SWT invalid thread access

So I don't know where I am messing up.

I added a new target. I specified IP, port, key file.
I clicked Connect All and the green bar just keeps going on.

So I opened cmd to check the output:
Sep 17, 2023 10:23:25 PM org.programmerplanet.sshtunnel.ui.SessionConnectionMonitor run
WARNING: Connection monitor is now running..
Sep 17, 2023 10:23:29 PM org.programmerplanet.sshtunnel.model.ConnectionManager connect
INFO: Connecting session: Session (main<EMAIL_ADDRESS>Exception in thread "Thread-2" org.eclipse.swt.SWTException: Invalid thread access
        at org.eclipse.swt.SWT.error(Unknown Source)
        at org.eclipse.swt.SWT.error(Unknown Source)
        at org.eclipse.swt.SWT.error(Unknown Source)
        at org.eclipse.swt.widgets.Widget.error(Unknown Source)
        at org.eclipse.swt.widgets.Widget.checkWidget(Unknown Source)
        at org.eclipse.swt.widgets.Dialog.checkParent(Unknown Source)
        at org.eclipse.swt.widgets.Dialog.<init>(Unknown Source)
        at org.eclipse.swt.widgets.MessageBox.<init>(Unknown Source)
        at org.programmerplanet.sshtunnel.ui.DefaultUserInfo.promptYesNo(DefaultUserInfo.java:79)
        at com.jcraft.jsch.Session.checkHost(Session.java:929)
        at com.jcraft.jsch.Session.connect(Session.java:359)
        at org.programmerplanet.sshtunnel.model.ConnectionManager.connect(ConnectionManager.java:120)
        at org.programmerplanet.sshtunnel.ui.SshTunnelComposite$9.run(SshTunnelComposite.java:622)
        at java.lang.Thread.run(Unknown Source)

OS: Windows 11 Pro x86_64 22H2 22621.2283
Java:
java version "1.8.0_381"
Java(TM) SE Runtime Environment (build 1.8.0_381-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.381-b09, mixed mode)

Let me know if I can provide anything else.
Ps.: Feel free to delete the other "issue" I opened. I started typing, pressed numpad enter and it posted my ticket. Sorry.

Thanks for reporting this with the stack trace. The commit 9d34e99 fixed this, and will be released in v0.6.


cmd/compile: ICE 'F': func F, startMem[b4] has different values, old v1, new v50

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

$ go version
gotip

Does this issue reproduce with the latest release?
Yes, go1.21+
Platform affected: faketime/playground; linux/amd64
Working on: darwin/arm
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
playground

What did you do?
https://go.dev/play/p/Lnq1zWYrYwY?v=gotip
What did you expect to see?
No ICE
What did you see instead?
ICE
Relates to #61992

This is likely just a dup of #61992.

@randall77 a dup but essentially a valid testcase


Bump typst version to 0.11.1

This makes the LSP work with typst 0.11.1.
(As far as I can see your experiment is still the best option for preview with Helix)

Thanks. Since you're touching Cargo.lock anyway -- do you mind running cargo update? If I try cargo build --locked with rust 1.81 I'm running into this issue https://github.com/rust-lang/rust/issues/127343 about the time crate.

I pushed the updated Cargo.lock


Use hmac helper for authentication check

Switch to the hmac module for admin server appscale secret authentication check.

https://ocd.appscale.com:8080/job/Daily Build/5292/


Feature request: DataIQ_Torch to take in dataloader as an alternative to X and y

Hi @seedatnabeel, as an end user, I do not generate my dataloader from X and y like what was done in the tutorial. The dataloader may be generated from a csv or ImageDataset. In this case, I am not sure what X and y should be put in, especially if X and y have undergone some transformation in the DataLoader class, as is commonly done for image transformation. Thus, allowing DataIQ_Torch to take in dataloader would improve its usability.
In the meantime, would you mind explaining how you would use Data-IQ on image files when there are transformations?

Hi @liutiming. I totally agree with you with about the dataloader point to improve usability. Right now the tutorial expects X and y to either be a numpy array or torch tensor.
I am working on some additional feature improvements to also help speed up the computation in the next month or two. Will definitely try to add this feature, into the package itself.
In the meantime, until it's updated you could use the DataIQ_Torch class defined in this notebook which does images & uses a dataloader: https://github.com/seedatnabeel/Data-IQ/blob/main/use_cases/data_iq_CV.ipynb
Hope this helps! 😊


Include CLI Build Information in content.json

In order to supply CLI build/version information to consumers of the packaged CLI, the content.json file generated in the build process should contain the following information:
"cli": {
  "version": "1.0.0",
  "build": "whisk-build-531"
  "date": "2016-09-21T07:55:05Z"
}

Issue moved to apache/incubator-openwhisk-cli #149 via ZenHub


[eas-cli] amend credential removal wording

Why
I recently capped the number of Entities we load from www on the ApplePushKey iosAppCredentialsList edge and the AppleDistributionCertificate iosAppBuildCredentialsList edge because we had some outlier users that had thousands of entities on those edges. We use the edges to tell the user which apps still use the credential when users try to delete it.
How
Amend the wording to tell the user that they may have more apps relying on the credential if the www limit has been hit.

Test Plan

[ ] manually tested apple push key removal on <20 apps and 20+ apps
[ ] manually tested apple dist cert removal on <20 apps and 20+ apps

/changelog-entry chore amend credential removal wording


AVS needs to disable correlation-id in Terraform acctest

In terraform acctest, the create and the delete operations shares the same correlation-id in their request headers. In this scenario, the delete polling will return the response of the create (which shows succeeded), but on fact, the delete operation will not triggered.

Requests with the same x-ms-correlation-request-id were incorrectly handled. A fix will begin rolling out soon. (internal pull request).

@catagger is there a timeline for when the rollout is complete?