TypeError: Cannot read property 'owner1652' of undefined

I'm running into an issue that I'm having trouble tracking down:
Root cause is Cannot read property 'owner1652' of undefined at "TypeError: Cannot read property 'owner1652' of undefined
    at jl_Object6_isEmptyMonitor3354 (file:///Users/shannah/cn1_files/incubator/teavmtests/teavmtest1/target/teavmtest1-0.0.1-SNAPSHOT/teavm/classes.js:4952:30)
    at jl_Object6_monitorExit3360 (file:///Users/shannah/cn1_files/incubator/teavmtests/teavmtest1/target/teavmtest1-0.0.1-SNAPSHOT/teavm/classes.js:5098:11)
    at jl_Object6_monitorExit3359 (file:///Users/shannah/cn1_files/incubator/teavmtests/teavmtest1/target/teavmtest1-0.0.1-SNAPSHOT/teavm/classes.js:5029:5)
    at file:///Users/shannah/cn1_files/incubator/teavmtests/teavmtest1/target/teavmtest1-0.0.1-SNAPSHOT/teavm/classes.js:87366:25
    at file:///Users/shannah/cn1_files/incubator/teavmtests/teavmtest1/target/teavmtest1-0.0.1-SNAPSHOT/teavm/runtime.js:506:22
    at file:///Users/shannah/cn1_files/incubator/teavmtests/teavmtest1/target/teavmtest1-0.0.1-SNAPSHOT/teavm/runtime.js:496:18"

The section that crashes:
function jl_Object6_isEmptyMonitor3354($this) {
    if ($this.monitor13 !== null) {
        if (!($this.monitor13.owner1652 === null && (otp_PlatformQueue374_isEmpty$static3347($this.monitor13.enteringThreads1655) != 0 && otp_PlatformQueue374_isEmpty$static3347($this.monitor13.notifyListeners1653) != 0))) {
            return 0;
        }
        $this.monitor13 = null;
        return 1;
    }
    return 1;
}

If I change if ($this.monitor13 !== null) { to if ($this.monitor13 !== null && $this.monitor13 !== undefined ) {  I just get an illegalmonitorstate exception.
The project is at
https://github.com/shannah/cn1-teavm-port
That stack trace doesn't allow me to see back any further than the Platform.launchThread call, so it is difficult to know exactly what user-level code initiated it.
(btw... I have already been able to achieve "hello world" ... I'm now working on the "Kitchen Sink" app ...  so progress has been made).

The problem is not in isEmptyMonitor. The problem is undefined passed to this method. undefined should not emerge anywhere in TeaVM. If you want to understand the reason of this bug, you should first figure out where this undefined came from.

This issue occurs sometimes. The reason is that for some reason $this takes number instead of object. I suppose, we again ecountered problem with async parts executing in wrong order.

Yes.  I saw this in another instance relating to catching exceptions where calling ex.printStackTrace() caused a similar error because the exception was undefined.  I worked around this at the time by making changes to code, but planned to form a test case for it.   I'm not sure if providing that test case will assist in solving this issue or not.

Probably, this issue encounters due to irreducible loop that appears after splitting program. In the latest async-irreducible branch KitchenSink works in Google Chrome. However, there is one little bug, when TeaVM tries to do break outside of block. I'll fix this later. With this issue Google Chrome refuses to run application with developer's console open, but you can correct this error manually.

I discovered the problem (or at least a problem).  The notifyAll() implementation wasn't setting the thread back after notifying listeners.  Here is my change:
@Sync
    @Rename("notifyAll")
    public final void notifyAll0() {
        if (!holdsLock(this)) {
            throw new TIllegalMonitorStateException();
        }
        TThread thread = TThread.currentThread();
        PlatformQueue<NotifyListener> listeners = monitor.notifyListeners;
        while (!listeners.isEmpty()) {
            NotifyListener listener = listeners.remove();
            if (!listener.expired()) {
                Platform.startThread(listener);
            }
        }
        TThread.setCurrentThread(thread);
    }

Actually, Now I'm not sure that this was an issue at all.  I had some immediate success after this change, but that was likely just to do the non-deterministic nature of this problem.

This looks like it could be part of the problem.  In $rt_continue() sets thread.postponed when the stack size hits 40.  But it doesn't check if a previous "postponed" function had already been registered on the thread.  I have made the following modification and it seems to have increased stability substantially:
function $rt_continue(f) {
   if ($rt_continueCounter++ == 40) {
       $rt_continueCounter = 0;
       return function() {
           var self = this;
           var args = arguments;
           var thread = $rt_getThread();
           var postponed = function(){};
           if (thread.postponed){
                postponed = thread.postponed;
           }
           thread.postponed = function() {
               f.apply(self, args);
               postponed();
           };
       };
   } else {
       return f;
   }
}

Unfortunately I'm still getting the same error that is the title of this issue, but less frequently now.

You don't need to set current thread after notifying threads, since notifying won't affect current thread. Also, this postponed was introduces in the latest commit and it can't be the reason. There mustn't be more than one postponed per thread. Do you really experience the problem in the async-irreducible branch? I don't, I can see Kitchen Sink title and letters moving from left and right until they reach center.

Yes I experience it with a sync irreducible.  I may be "fixing" the break
issue incorrectly though.  The postponed fix I implemented allows me to get
much further in the app though I'm still getting some of the same error.
I used break points to confirm that postpones were indeed being overwritten
before being executed.  That's why I put in the fix.
I have committed my latest to the cn1 teavm port project so you should be
able to see what I'm talking about.
On Mar 7, 2015 12:05 AM, "Alexey Andreev"<EMAIL_ADDRESS>wrote:

You don't need to set current thread after notifying threads, since
notifying won't affect current thread. Also, this postponed was
introduces in the latest commit and it can't be the reason. There mustn't
be more than one postponed per thread. Do you really experience the
problem in the async-irreducible branch? I don't, I can see Kitchen Sink
title and letters moving from left and right until they reach center.
—
Reply to this email directly or view it on GitHub
https://github.com/konsoletyper/teavm/issues/81#issuecomment-77678693.

One observation that may (or may not) be useful.    I have noticed that the Object.wait() sometimes never gets called back, even though notifyAll() is called on the object.  E.g. With code like this:
final Object lock = new Object();
                loaded = false;
                error = false;
                img.addEventListener("load", new EventListener(){

                    @Override
                    public void handleEvent(Event evt) {
                        new Thread(){

                            @Override
                            public void run() {
                                System.out.println("In handleEvent(load) for image "+img.getSrc());
                                loaded = true;
                                error = false;
                                synchronized(lock){
                                    lock.notifyAll();
                                }
                            }

                        }.start();
                    }

                }, false);
                img.addEventListener("error", new EventListener(){

                    @Override
                    public void handleEvent(final Event evt) {
                        new Thread(){

                            @Override
                            public void run() {
                                System.out.println("In handleEvent(error) for image "+img.getSrc());
                                System.out.println(evt.getType());
                                error = true;
                                loaded = false;
                                synchronized(lock){
                                    lock.notifyAll();
                                }
                            }

                        }.start();
                    }

                }, false);
                while (!loaded && !error){
                    System.out.println("Waiting for image to load "+img.getSrc());
                    synchronized(lock){
                        try {
                            lock.wait();
                        } catch (InterruptedException ex) {
                            Logger.getLogger(HTML5Implementation.class.getName()).log(Level.SEVERE, null, ex);
                        }
                    }
                }
                if (error){
                    System.out.println("Image could not load due to error "+img.getSrc());
                } else {
                    System.out.println("Image loaded "+img.getSrc());
                }
            }

I confirm (via the print statement) that the notifyAll() method is called on the lock, but the the code never ends up executing past the wait().  I work around problems like this right now by adding a timeout to the wait, so that if the wait() callback never gets called by notify(), it will still be called by the timeout.
This is not 100% of the time - but it happens several times per app run - and that effectively causes it to lock.

I've fixed both bugs and merged all my changes into master. Now I can see Kitchen Sink title with labels floating from both sides until they reach center.

Everything working flawlessly now.  Thanks for the fast fix.  This is really cool.


Add Bitcoin Transcripts section

There is going to be some Optech formatting that I'm not yet following here. But the content is pretty much drafted. Opening this PR now so you can see the draft. Any initial thoughts or guidance towards the correct formatting would be gratefully received at this stage. I am available for the next few hours so I can work on finetuning this today.

Merged with edits into https://github.com/bitcoinops/bitcoinops.github.io/pull/410 ; I broke up the edits over there into separate commits so you can see what I did (they'll be squashed at merge time), but if you're strapped for time https://github.com/bitcoinops/bitcoinops.github.io/pull/410/commits/2818909bbe9361a62bb6d2fd848c8e91ef008e5f contains all the non-trivial edits.  Please let me know if you object to any of the edits and I'll be happy to revert them.
Thanks for writing the section and typing the transcripts!

Certainly don't object to any of the edits. I thought Christian's swear word would need to get edited out ;) Please feel free to point out formatting things I'm not following though for future months (assuming this section continues). I'm wary of asking you to make the same formatting edits every month rather than opening a PR with all the correct Optech formatting myself.

Formatting stuff is:

[ ] Use lists, not paragraphs
[ ] To the degree possible, title case proper nouns for packages (e.g. "Eclair" not "eclair"); we usually only use lowercase because it's necessary, e.g. command names (bitcoind) or marketing wackiness ("iPhone").  Most other things, such as protocol names, I try to get turned to common nouns (e.g. "payjoin").  Two exceptions there are "Bitcoin", the protocol, (to distinguish it from "bitcoin" the currency") and "MuSig" (because I was out-voted on my preference of "musig").
[ ] Serial comma: a, b, and c (not a, b and c)
[ ] Use reference-style links and put the URL definitions at the bottom
[ ] Wrap lines at about 72 characters

You don't have to worry too much about my making those changes; I can do that with only a small fraction of my attention so really it was an opportunity to listen to an audiobook but record the time spent on it as productive Optech work. :-)  I've also been a professional writer for 15 years now and had to deal with many different publication's arbitrary style and formatting rules, and I know how frustrating that can be, so I'm never going to push authors to spend large amounts of their time learning my preferred rules when they're just submitting an occasional piece.

Ok thanks. I won't worry too much then but please don't hesitate to let me know whenever there is something particularly sloppy/lazy or that can save you some time on your end


set debounce setTimeout to avoid handleEditQuery and handleEditVariab…

Hi, thanks for your ide, that's great.
I got the problem when I typing too fast,
This way can avoid the handle method call immediately, but this is my solution to resolve my problem
I try to use lodash, but it didn't work..

@madeinfree Thanks for your help, will be merging this in upcoming release.

@madeinfree Thanks for your help!


apiserver-haproxy: also claim vip via iptables.

Not all CNI providers support routing back to arbitrary loopback addresses. So, claim the VIP via iptables too.

Which CNI providers? We are really only considering OpenShiftSDN and ovn-kubernetes.

ovnk

We've decided to fix this in https://github.com/ovn-org/ovn-kubernetes/pull/2877 instead. I'll close this unless there is some need.


recode the core.

First of all, thanks to @cymcsg for your amazing bundle from other library and we have been fixing bugs so far and its been your sole effort for the majority. Here I want to give you a special thanks for our hard works. However, looking at the contribution rate. We dont see the popular of contributions from the crowds. For my view of points, it is still such an headache to look at the code in one single large file.
I think the recyclerview has been a maze for people to add their external efforts on combining their module.
Basically, there are

too many hardcoded things
not many generic type
not able to add module easily.
I have read from other libraries and found some interesting implementation yet will able to keep this library as lightweight. Maybe we can try some effort to make this library more adaptable for developer crowd. Please read up this libray and give me some suggestions. Here I will response to all the previous query for the adaptable module features #222

[x] better control for the empty view to show or not
[x] fix load more on grid layout issue

For this version of 0.4.0 we need to clear out all the most the popular issues from the previous posts.

The first thing is the loadmore issue raised by all other developers.
The second thing is the grid layout issues.

I agree with you.I really think the library should be more adaptable.
Would you like to be a collaborator of the project?

can u add me in the project?

@jjhesk I have added you to the project.Hoping for your magical contribution~

started from this branch i will start digging into grid layout manager on the core code at this file

now i have done some works for the upgrades. =)
check here at
#280 First is the load more issue which is now resolved.
Now this is the proper coding for enable load more on grid layout manager

     super.onCreate(savedInstanceState);
        setContentView(getMainLayout());
        mToolbar = (Toolbar) findViewById(R.id.tool_bar);
        setSupportActionBar(mToolbar);
        getSupportActionBar().setDisplayShowTitleEnabled(true);
        listuv = (UltimateRecyclerView) findViewById(R.id.ultimate_recycler_view);
        mGridAdapter = new GridLayoutRVAdapter(getItems());
        mGridAdapter.setSpanColumns(columns);
        mGridLayoutManager = new BasicGridLayoutManager(this, columns, mGridAdapter);
        listuv.setLayoutManager(mGridLayoutManager);
        listuv.setHasFixedSize(true);
        listuv.setSaveEnabled(true);
        listuv.setClipToPadding(false);
        listuv.setAdapter(mGridAdapter);
        listuv.setItemAnimator(new DefaultItemAnimator());

        // mGridAdapter.setCustomLoadMoreView(LayoutInflater.from(this).inflate(R.layout.custom_bottom_progressbar, null));
        listuv.setNormalHeader(setupHeaderView());
        final Handler f = new Handler();
        listuv.setOnLoadMoreListener(new UltimateRecyclerView.OnLoadMoreListener() {
            @Override
            public void loadMore(int itemsCount, int maxLastVisiblePosition) {
                //   Log.d(TAG, itemsCount + " :: " + itemsCount);
                f.postDelayed(new Runnable() {
                    @Override
                    public void run() {
                        mGridAdapter.insert(SampleDataboxset.newListFromGen(2));
                        // listuv.disableLoadmore();
                        // listuv.disableLoadmore();
                    }
                }, 1000);
            }
        });

        listuv.enableLoadmore();

when you need to disable load more after done loading the items you can do this:

    public void loadMore(int itemsCount, int maxLastVisiblePosition) {
                //   Log.d(TAG, itemsCount + " :: " + itemsCount);
                f.postDelayed(new Runnable() {
                    @Override
                    public void run() {
                        mGridAdapter.insert( .... );
                        listuv.disableLoadmore();
                    }
                }, 1000);
            }

@cymcsg can you please do some testing on the scrolling? lets test it and see if it is stable on my branch then we can publish a release for the incremental version. Cheers!

Great work! Let's try to do some test and then release them.

just tested on linearlayout and i also fixed the defects from the load more. please do more load more testing...

quick fix from zero data at the beginning. #284

Awesome work!

@cymcsg try to deploy from branch core-recode-redesign i think its ready for 0.4.0. the only thing is the swiplist demo and there are some errors behind. you might take a look of the code

Great work!
I have noticed that problem in SwipeListViewExampleActivity and some problem in the Mainactivity when I swipe the first item.

I do not have enough time to fix the bug in SwipeListViewExampleActivity in these days so I think it's a good idea to release 0.4.0 with this problem which will be fixed in next version.
Thank you for your great work.If you like we can also talk about something via Email.

@cymcsg  yes i can take up your work and fix the possible bugs

should be fixed again.. on v0.5.0


Formatting does not support \. end-of-data delimiter in postgresql COPY statement

Describe the bug

Create a PostgreSQL dialect .sql file with a COPY statement containing the end-of-data delimiter (\., backslash dot / period) (see documentation)
copy table (column) from stdin;
foo
\.

Expected behavior
The parser handles the statement appropriately or ignores it without crashing. It should complete parsing and formatting the contents of the file.
Actual behavior
The parser crashes with the following error:
Parse error: Unexpected "\." at line 3 column 1

Please report this at [Github issues page.](https://github.com/sql-formatter-org/sql-formatter/issues)

Stack Trace:

createParseError@https://unpkg.com/sql-formatter@latest/dist/sql-formatter.min.js:1:191491
tokenize@https://unpkg.com/sql-formatter@latest/dist/sql-formatter.min.js:1:191277
tokenize@https://unpkg.com/sql-formatter@latest/dist/sql-formatter.min.js:1:192667
parse/R<@https://unpkg.com/sql-formatter@latest/dist/sql-formatter.min.js:1:225103
reset@https://unpkg.com/sql-formatter@latest/dist/sql-formatter.min.js:1:197635
654/T/I.prototype.feed@https://unpkg.com/sql-formatter@latest/dist/sql-formatter.min.js:1:4085
parse@https://unpkg.com/sql-formatter@latest/dist/sql-formatter.min.js:1:225258
parse@https://unpkg.com/sql-formatter@latest/dist/sql-formatter.min.js:1:225453
format@https://unpkg.com/sql-formatter@latest/dist/sql-formatter.min.js:1:224966
rA@https://unpkg.com/sql-formatter@latest/dist/sql-formatter.min.js:1:229754
tA@https://unpkg.com/sql-formatter@latest/dist/sql-formatter.min.js:1:228213
format@https://sql-formatter-org.github.io/sql-formatter/index.js:48:31

Usage

How are you calling / using the library?

I want to use the library to normalize the formatting of pg_dump output so I can programmatically compare output for differences in a CI pipeline. The pg_dump documentation strongly recommends using COPY FROM instead of INSERT statements due to performance. Since we're also using diffs on the dump as a way to visualize changes to the database schema during code review, we also prefer the COPY FROM syntax since it is somewhat more readable than the INSERT syntax generated by pg_dump.

What SQL language(s) does this apply to?

postgresql

Which SQL Formatter version are you using?

12.2.0

Thanks for reporting.
Unfortunately I think there isn't much of a hope at fixing this. The fundamental problem is that sql-formatter doesn't really properly parse the SQL. It only tokenizes it and then looks at some patterns in the tokens. This copy table syntax would be tricky to handle even inside a proper parser - one needs to recognize that one is copying from STDIN and then switch the parsing to the chosen file format.
I have started writing a new formatting library, but it doesn't yet support postgres, and to add such a support I will need to first start implementing a postgres parser, which I haven't yet started... as it's kind of a big undertaking...

Makes sense, thanks for your quick response and for your work on the library!

Since 15.1.0 there's a workaround to avoid the formatter crashing for this sort of code:
/* sql-formatter-disable */
copy table (column) from stdin;
foo
\.
/* sql-formatter-enable */


[DOC] How to install on EKS with Calico

Discussed in https://github.com/longhorn/longhorn/discussions/6335

Originally posted by druchoo July 17, 2023
Hello, I'm trying Longhorn (v1.5.0) on EKS 1.24 with Calico using the official Helm Chart with all default values. longhorn-manager pods throw the following error and restart:
time="2023-07-15T20:44:00Z" level=fatal msg="Error starting manager: Internal error occurred: failed calling webhook \"validator.longhorn.io\": failed to call webhook: Post \"https://longhorn-admission-webhook.longhorn-system.svc:9502/v1/webhook/validaton?timeout=10s\": Address is not allowed"

Editing the longhorn-manager DaemonSet and setting hostNetwork: true resolves the issue. I see no mention of this in the docs or any issues that I could find. It's also not possible to set hostNetwork from the Chart.
Is this the correct approach? Are there any issues with running longhorn-manager with host networking?
Thanks

ref: https://github.com/longhorn/longhorn/discussions/6335#discussioncomment-6463352

Please reopen


Mark snapshot as prerelease

Thank you! This will save some people who come and just download the latest release for sure!

It seems like this might just be something you configure when creating a release. If that's the case, there might not be any work to do.
https://help.github.com/articles/creating-releases/


Clean up BlocklyController

BlocklyController is getting a bit tangled again. We should document (and eventually fix) each level of the code and which actions should occur at each level of design.
Example:
Public APIs (connect, removeBlockTree, addVariable, etc.)
internal APIs (connectToStatement, removeBlockTreeImpl, etc.)
Questions:
Which level is responsible for creating events? For firing events?
Which public APIs are allowed to make any modifications directly? Which need a private API for reuse?
Which public APIs still need an impl method split out of them?

Immediate decision:

Every public method should have a *Impl(..) inner method.
The public method is responsible for calling checkPendingEventsEmpty(); at the beginning and firePendingEvents(); at the end.
The *Impl(..) method is responsible for calling addPendingEvent(..) for each new event.
No events should be added outside BlocklyController.


Unable to do anything with response Any protos in REST client

In Go REST Apiary libraries, response Any proto is map[string]interface{}. I can't figure out how to convert this to any other type:

byte[]
Any proto
Original proto that Any proto represents

Ross requested me to mention some people: @bradfitz @jba @zombiezen

The concrete proposal I had was that instead of having these fields generate an interface{} type, they should store a json.RawMessage.  Then the user of the client could pick which message it should be and it becomes regular JSON semantics.
This would be a breaking API change, but I would argue that map[string]interface{} is unhelpful enough that it's worth it.  FWIW, the current generator renamed the actual OperationMetadata struct to OperationMetadata1 to avoid conflicts with the type OperationMetadata interface{}.

So in testing this out in the real world, golang/go#14493 actually has a correctness issue: json.RawMessage fields get encoded as base64.  While the correct behavior will land in Go 1.8, we have too many targets (namely App Engine) that aren't updated to 1.8.  As I see it, there are two options:

Roll back b679263.
Roll forward and use *json.RawMessage.

@jba, thoughts?

@jba suggested an even better solution: creating a googleapi.RawMessage type that has the correct behavior, independent of Go version.

Copying the implementation of json.RawMessage sounds like a good way to get around this problem. I think using *json.RawMessage is really dirty.
It would be nice to be able to alias googleapi.RawMessage as json.RawMessage in the not-so-distant future.

Yup, https://code-review.googlesource.com/9811 out for review does exactly this.


Undefined behavior due to shifts on signed integers

As found in https://github.com/erikd/libsamplerate/issues/65#issuecomment-516058420 using bit shifts on signed integers is undefined behavior. Reason for that is the difference between a "regular shift" (shr) and "arithmetic shift" (sar) where the former just shifts bits while the latter preserves the sign bit in all cases. Also there is a rounding difference for positive and negative numbers.
Examples:
-1 = b11111111
-1 shr 1 = b01111111 = 127
-1 sar 1 = b11111111 = -1

-10 sar 2 = -3
10 sar 2 = 2

This may not be a problem in practice as usually int >> value is translated to sar but I found 1 compiler where it is translated to shr: https://godbolt.org/z/sj_uO6
Not sure if/how to solve this as i >> value is meant as floor(i/2^value) while (int)(i/2^value) is trunc(i/2^value) and hence cannot be "optimized" to a shift.

Maybe something like this: https://github.com/erikd/libsndfile/blob/master/src/common.h#L1090-L1112

The left shift will run into UB if the range of an int is reached. Interestingly this UB makes it produce the expected SAL O.o
The right shift is... interesting. It relies on 2s-complement or at least that the highest bit is 1 for negative numbers. I haven't found a clear definition what happens for negation of negative numbers as it isn't defined that 2s-complement is used. In C++20 left and right shifts are fully defined though: https://en.cppreference.com/w/cpp/language/operator_arithmetic
I don't have a solution. Just suggestion: In the linked functions make the shift value unsigned. A negative shift is UB. And maybe add an assertion on x in arith_shift_left that INT_MIN>>shift <=x <= INT_MAX >> shift (or so)

Why would you add an assertion. Aren't all the shifts constant values?
Casting from signed to unsigned, performing the shift and casting back should keep the C compiler happy. Doing this in an inline function (if the shifts are constant, they can be embedded in the actual function.

Why would you add an assertion? Aren't all the shifts constant values?

The assertion should be on the x not the shift. E.g. x = (INT_MAX >> 15) passed to shiftLeft(x, 16) is UB (until C++20). So the assert should catch such overflows which I assume are unintended anyway.

How did you detect undefined behaviour?
I just configured, built and ran the tests as:
> CFLAGS="-fsanitize=undefined -g" CXXFLAGS=${CFLAGS} ./configure
> make clean all check
```
Not a single problem on x86_64.

I tired using the undefined behavior sanitizer on x86_64 and found not issue whatsoever. Eg
CFLAGS="-fsanitize=undefined -g" CXXFLAGS=${CFLAGS} ./configure
make clean all check

UBSAN not erroring out is not a guarantee that there is no UB.
The code uses e.g. lrint(scaled_value) >> 16 where scaled value can be negative and that is UB as the standard states:

For negative a, the behavior of a << b is undefined [...] For negative a, the value of a >> b is implementation-defined

Above I linked 1 compiler (I admit a rather special one) that does not use SAR but SHR which will lead to wrong results.

The potential for undefined behavior at that that has still not been demonstrated to be the cause of the problem seen on PowerPC. The obvious way to determine whether this undefined behavior is the cause the PowerPC issue is to replace >> 16 with / 65536.

I double checked and you are right: No shift is UB as the only problematic shift is in int_to_fp which is called with filter->coeff_half_len. As this can never be negative I'd define it as unsigned instead of int to reflect it.
However it does run into implementation defined behavior due to the right shift of a signed long in src_float_to_short_array, the uses of fp_to_int should not run into that.
The cause for the PowerPC problem is not the shift but a buggy lrintf which does not handle large values correctly. This issue is unrelated but was found during investigation of possible causes for the other bug.

I 100% believe that PowerPC (or more likley the compiler) but you have yet to provide any real evidence that UB is happening here. You need to provide that evidence.

As written there is no UB, but only implementation defined behaviour which is in src_float_to_short_array:

a negative float is passed to src_float_to_short_array (e.g. in the tests)
that float is scaled by a positive factor so it stays negative
that is converted to a signed long via lrint
this negative signed long is right-shifted by 16 -> implementation defined result

Solution: Use code like this:
void
src_float_to_short_array (const float *in, short *out, int len)
{	double scaled_value ;
	while (len)
	{	len -- ;
		scaled_value = in [len] * 32768 ;
		if (scaled_value >= 32767.f)
		    out [len] = 32767 ;
		else if (scaled_value <= -32768.f)
		    out [len] = -32768 ;
                else
		    out [len] = (short) (lrint (scaled_value)) ;
	} ;
}

I will ask yet again, where is the evidence that this is UB?
Did you even try my suggestion of:

The obvious way to determine whether this undefined behavior is the cause the PowerPC issue is to replace >> 16 with / 65536.

I will ask yet again, where is the evidence that this is UB?

I don't understand the question. With the steps described above a right shift of a negative signed integer is performed. Do you agree with that?
The C++ standard (which I quoted above) and the C standard define the result of a right shift of a negative signed integer as "implementation defined".
Hence it is shown that implementation defined behavior is invoked.
What else do you need?

Did you even try my suggestion of:

No, why? I don't even have a buggy PowerPC platform and the shift is unrelated to the bug reported in #65.
The current implementation works because a right shift of a signed int is "usually" defined (by the compiler in use!) to be an arithmetic shift, but a compiler on another platform may not do that (which is the meaning of "implementation defined"), see also https://stackoverflow.com/a/7636/1930508 or Wikipedia:

The (1999) ISO standard for the programming language C defines the right shift operator in terms of divisions by powers of 2.[8] Because of the above-stated non-equivalence, the standard explicitly excludes from that definition the right shifts of signed numbers that have negative values. It does not specify the behaviour of the right shift operator in such circumstances, but instead requires each individual C compiler to define the behaviour of shifting negative values right

I very hesitant to change code without evidence that the change actually fixes something.

Sure: My proposed code does not rely on implementation defined behavior (fixes this issue) and additionally does not run into the bug @janstary has with his machines lrint implementation due to keeping the numbers low. This is proven by him at https://github.com/erikd/libsamplerate/issues/65#issuecomment-516330798 :

That makes the float-to-short test pass for me

My proposed code does not rely on implementation defined behavior

Neither does my suggestion of using / 65536, but mine avoids branching.

UBSAN not erroring out is not a guarantee that there is no UB.

In this case it actually is, but whatever.
The potential for undefined behavior at that that has still not been demonstrated to be the cause of the problem seen on PowerPC. The obvious way to determine whether this undefined behavior is the cause the PowerPC issue is to replace >> 16 with / 65536.

With that change (to the current git), the test fails with
tests/float_short_test

        float_to_short_test .............................

        Line 64 : out [1] == 0

That is expected:

When integers are divided, the result of the / operator is the algebraic quotient with any fractional part discarded. [...] This is often called ‘‘truncation toward zero’’.

So: -1 >> n == -1 for all n but -1 / n == 0 for n>1


BIC-154 # allow IndexedDB in native apps when WebSQL is unavailable

new library that tests IndexedDB asynchronously: https://github.com/blinkmobile/is-indexeddb-reliable
loads of refactoring, as this asynchronous-ness infects much of the boot process
no more AMD feature! plugin within the internal modules, as there's no point
tests executed in desktop Chrome, Safari and Firefox with full passes
tests executed in console PhantomJS with full passes
tested "intergration" answerSpace and no obvious breakages or unexpected console errors / warnings

Most of our modules are pure AMD module style:
define(['dep'], function (dep) {
  // TODO: use dep
});

I switched some of them over to CommonJS-in-AMD style, as I believe it makes modules with large lists of dependencies easier to read, eg:
define(function (require) {
  var dep = require('dep');
  // TODO: use dep
});

I've double-checked Travis CI, and the test is only failing due to mysterious SauceLabs' tunnel issues.


⚠ Bofrost.lu has degraded performance

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

HTTP code: 200
Response time: 958 ms

Resolved: Bofrost.lu performance has improved in 1570de1 after 6 minutes.


restyle page-edit button to fixed position when text scrolled

if an edit is needed, now there is no need to scroll to top of file
move the div to the main tile
restyle to make fairly unobtrusive
z-index so it floats above text.
opacity 50% so when overlapping, text is visible

@coke this is to make it easier to access the editing button.

Test deployment is live at new-raku, eg operators
May need to refresh browser cache to get the new CSS for the edit button


Replace deprecated componentWillReceiveProps with componentDidUpdate

Context: React v16.3 Component Lifecycle Changes.
Method componentWillReceiveProps() becomes deprecated since it doesn't guarantee the fact component will receive props. In addition, it doesn't seem to be recommended to do any side-effects inside this method.
I attempted to switch to componentDidMount() since it seems to be the correct place for such updates and side-effects. I needed to add props check since the method is also called during state updates.
Since componentDidMount() is called a moment after componentWillReceiveProps(), another render happens between them with current (unchanged) state. This forced me to update a couple of tests with a component's state before actual animation restart. As for the user, it doesn't make any visible difference, since animation starts just a bit (a single event loop spin?) later.
I wanted to apply the same changes to TransitionMotion and it mostly worked. There were a couple of tests that I failed to understand and so update accordingly. At this moment, I'd like to get some feedback on the introduced changes and possibly some help moving forward. Thanks!
cc @chenglou @nkbt

@chenglou, @nkbt, any chance to get this reviewed? Should I provide some additional rationale?

component did update happens after component was updated, component will receive props - before. I believe this change may cause a lot of issue in downstream libraries and project and there is no realistic way to test this out. There was getDerivedStateFromProps added, but it is static...
This change would probably require major version bump for this reason.

I haven't started doing any React17 upgrades on any projects I am currently working on and not sure when I will be able to do it. So I cannot properly test such changes in real apps at this point unfortunately.

I think replacing componentWillReceiveProps would be a great idea. I'm using react 16.4.1 and this is creating a bug for me when pairing another repo (react-custom-scrollbars wrapping around it). I can confirm the error is with react-motion and componentWillReceiveProps. I get an error that says I cannot setState on a component that has not yet mounted. And when I comment out this.startAnimationIfNecessary() in StaggeredMotion in componentWillReceiveProps the error disappears.

Can we expect to be merged soon? :D

So maybe it's goo idea to for now move to using UNSAFE prefix, so without any errors / warnings you can test it more?

Switching to UNSAFE methods is still a breaking change since react-motion currently supports React v0.14 and v15.x. And this breaking change is quite difficult to justify, I'd say.

Hi, any updates on this?

Any updates on this?

Sorry for repeating what's being asked above, but are there any updated on this?

This really needs priority... give us back our consoles please. Devs shouldn't have to disable warnings in their consoles for an optimal debugging experience. Super annoying.

We need this to merged quite asap please. Thank you.

@andrewjrhill this repo has been around for more than 4 years now. I'm personally not sure what kind of bugs this'll introduce if we merge and do a release. There are plenty of race conditions that can be had here. @alexeyraspopov how confident are you in the PR?

Yeah I am very much not sure this won’t introduce issues. I’ve seen quite a few problems caused by this sort of change in other components and fixing them was not quite as trivial in many cases unfortunately, as behaviour actually changes significantly

In the case of high-risk changes we could potentially release a "beta" branch with intent to merge with master as a new major version at an allocated future date (~3 months?). We can then open an ongoing issue asking people to test this (@next?) release and open PR's against it if they discover issues.

👋 hey folks! nice idea here, and to add to the discussion i thought it might be nice to consider shipping an UNSAFE_ lifecycle rename first as a low risk step towards an eventual refactor like this one
and opinions? discussion welcome: #575

@theopak as a quick fix, I agree. In a long term perspective I think another fix needs to be implemented. Had I been able to suggest more in-depth solution I would, but sadly I don't have the time right now.

Waiting for the merge and then the release 🙏 🙏 🙏

Any updates on this?


My own cros anywhere, need help ?

I create my own cros anywhere https://fathomless-cliffs-85079.herokuapp.com/ is there any way to make it working only in my domain.

Set the CORSANYWHERE_WHITELIST variable to your origin. This variable is documented at https://github.com/Rob--W/cors-anywhere#demo-server
To set environment variables on Heroku, see https://devcenter.heroku.com/articles/config-vars


[Bug] progress doesn't change after changing text size

Describe the bug

Resize the text-   Optional({"href":"/index_split_034.xhtml","locations":{"position":1131,"progression":0.10000000000000001,"totalProgression":0.57535641547861505},"title":"Глава XXIX","type":"application/xhtml+xml"})
Forward one page  - Optional({"href":"/index_split_034.xhtml","locations":{"position":1144,"progression":0.40909090909090912,"totalProgression":0.58197556008146645},"title":"Глава XXIX","type":"application/xhtml+xml"})
Back to one page (go back to the page where the text size was changed)     Optional({"href":"/index_split_034.xhtml","locations":{"position":1142,"progression":0.36363636363636365,"totalProgression":0.58095723014256617},"title":"Глава XXIX","type":"application/xhtml+xml"})

How to reproduce?

Open book
Resize text

Readium version
2.6.1
OS version
iOS 13 - iOS 17
Testing device
iphone 12
Environment
No response
Additional context
No response

Thank you for reporting this issue, #474 should fix it for the next 3.0 release.


Packaging request: OpenZiti Tunneler

Project description
An OpenZiti Tunneler is purpose-built software designed to connect applications which are not Ziti-aware to the OpenZiti Network.
Metadata

homepage URL: https://openziti.github.io/ziti/clients/tunneler.html
source URL: https://github.com/openziti/ziti-tunnel-sdk-c/
license: Apache License 2.0
platforms: linux, darwin, windows
architectures: x86_64, arm64, arm

Also have an interest in this and might be able to contribute a package in the near future.

https://github.com/NixOS/nixpkgs/pull/221863 is not what is requested here but still as a FYI I've opened a PR for zrok, which is built on OpenZiti.

I have a flake with the tunneler, controller, router and modules, as well as some darwin support:, all based on the upstream release binaries: https://github.com/johnalotoski/openziti-bins
I can't seem to find any spare time lately, so if anyone wants to use anything from there to make a nixpkgs package, please do.

If anyone just wants the ziti executable, building from source seems fairly straightforward:
{
  description = "OpenZiti";

  inputs = {
    nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
  };

  outputs = { self, nixpkgs }:
    let
      allSystems = [
        "x86_64-linux" # 64-bit Intel/AMD Linux
        "aarch64-linux" # 64-bit ARM Linux
        "x86_64-darwin" # 64-bit Intel macOS
        "aarch64-darwin" # 64-bit ARM macOS
      ];
      forAllSystems = f: nixpkgs.lib.genAttrs allSystems (system: f {
        pkgs = import nixpkgs { inherit system; };
      });
      rev = "v1.0.0";
    in
    {
      packages = forAllSystems ({ pkgs }: {
        default = pkgs.buildGo122Module {
          name = "openziti";
          subPackages = [ "ziti" ];
          src = pkgs.fetchFromGitHub {
            owner = "openziti";
            repo = "ziti";
            rev = rev;
            sha256 = "sha256-2li/+XWKk+lybB1DE0unKvQrA0pKE9VIRFoEYMcbLS8=";
          };
          vendorHash = "sha256-uyjQd5kB61UEKSl1Qf1Gu6Fr40l4KixHSnEtTMq58Vc=";
          ldflags = [
            "-X github.com/openziti/ziti/common/version.Version=${rev}"
          ];
        };
      });
    };
}


Incorrect error messages

There are a few instances of misspelled error messages that need to be corrected.
https://github.com/koinos/koinos-jsonrpc/blob/5ceb504b99b6469ea186964897c1f79b8ef62a8e/internal/jsonrpc.go#L294

Resolved by #13.


build failed

Hello,
Having downloaded the .zip src dist today, I find the build fails because the build appears to attempt to download a file that does not appear to exist (http://www.us.apache.org/dist/ant/binaries/apache-ant-1.9.5-bin.zip). See Ant output below.
=============
Kochanski:dcm sam$ ant clean distro
Buildfile: /Users/sam/tmp/datapower-configuration-manager-master/dcm/build.xml
clean:
clean:
-get-ant:
[mkdir] Created dir: /Users/sam/tmp/datapower-configuration-manager-master/dcm/lib
[get] Getting: http://www.us.apache.org/dist/ant/binaries/apache-ant-1.9.5-bin.zip
[get] To: /Users/sam/tmp/datapower-configuration-manager-master/dcm/lib/ant.zip
[get] Error opening connection java.io.FileNotFoundException: http://www.us.apache.org/dist/ant/binaries/apache-ant-1.9.5-bin.zip
[get] Error opening connection java.io.FileNotFoundException: http://www.us.apache.org/dist/ant/binaries/apache-ant-1.9.5-bin.zip
[get] Error opening connection java.io.FileNotFoundException: http://www.us.apache.org/dist/ant/binaries/apache-ant-1.9.5-bin.zip
[get] Can't get http://www.us.apache.org/dist/ant/binaries/apache-ant-1.9.5-bin.zip to /Users/sam/tmp/datapower-configuration-manager-master/dcm/lib/ant.zip
BUILD FAILED
/Users/sam/tmp/datapower-configuration-manager-master/dcm/build.xml:139: Can't get http://www.us.apache.org/dist/ant/binaries/apache-ant-1.9.5-bin.zip to /Users/sam/tmp/datapower-configuration-manager-master/dcm/lib/ant.zip
Total time: 0 seconds

NB: this is my environment:
Kochanski:dcm sam$ ant -v
Apache Ant(TM) version 1.9.6 compiled on June 29 2015
Trying the default build file: build.xml
Buildfile: /Users/sam/tmp/datapower-configuration-manager-master/dcm/build.xml
Detected Java version: 1.8 in: /Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home/jre
Detected OS: Mac OS X
parsing buildfile /Users/sam/tmp/datapower-configuration-manager-master/dcm/build.xml with URI = file:/Users/sam/tmp/datapower-configuration-manager-master/dcm/build.xml
Project base dir set to: /Users/sam/tmp/datapower-configuration-manager-master/dcm
parsing buildfile jar:file:/usr/local/Cellar/ant/1.9.6/libexec/lib/ant.jar!/org/apache/tools/ant/antlib.xml with URI = jar:file:/usr/local/Cellar/ant/1.9.6/libexec/lib/ant.jar!/org/apache/tools/ant/antlib.xml from a zip file

Yes, please change the 1.9.5 to 1.9.6 and you'll get around that problem.
I need to find a way to simply get the latest version without embedding a
particular version number.
On Wed, Dec 2, 2015 at 5:06 AM, samdjones<EMAIL_ADDRESS>wrote:

Hello,
Having downloaded the .zip src dist today, I find the build fails because
the build appears to attempt to download a file that does not appear to
exist (http://www.us.apache.org/dist/ant/binaries/apache-ant-1.9.5-bin.zip).
See Ant output below.
Kochanski:dcm sam$ ant clean distro
Buildfile:
/Users/sam/tmp/datapower-configuration-manager-master/dcm/build.xml
clean:
clean:
-get-ant:
[mkdir] Created dir:
/Users/sam/tmp/datapower-configuration-manager-master/dcm/lib
[get] Getting:
http://www.us.apache.org/dist/ant/binaries/apache-ant-1.9.5-bin.zip
[get] To:
/Users/sam/tmp/datapower-configuration-manager-master/dcm/lib/ant.zip
[get] Error opening connection java.io.FileNotFoundException:
http://www.us.apache.org/dist/ant/binaries/apache-ant-1.9.5-bin.zip
[get] Error opening connection java.io.FileNotFoundException:
http://www.us.apache.org/dist/ant/binaries/apache-ant-1.9.5-bin.zip
[get] Error opening connection java.io.FileNotFoundException:
http://www.us.apache.org/dist/ant/binaries/apache-ant-1.9.5-bin.zip
[get] Can't get
http://www.us.apache.org/dist/ant/binaries/apache-ant-1.9.5-bin.zip to
/Users/sam/tmp/datapower-configuration-manager-master/dcm/lib/ant.zip
BUILD FAILED
/Users/sam/tmp/datapower-configuration-manager-master/dcm/build.xml:139:
Can't get
http://www.us.apache.org/dist/ant/binaries/apache-ant-1.9.5-bin.zip to
/Users/sam/tmp/datapower-configuration-manager-master/dcm/lib/ant.zip
Total time: 0 seconds
—
Reply to this email directly or view it on GitHub
https://github.com/ibm-datapower/datapower-configuration-manager/issues/7
.

OK thanks, however I'm not sure assuming the latest version will work is such a good idea - there might be regression issues so I would tie this version of DCM to a particular version of Ant.
The correct solution to use Apache Ivy to manage such dependencies in a more robust manner (no hard-coding URL's to libs that are moved/deleted by their owners). That's a borderline enhancement however.
Workaround is sufficient however -> [Close]


python311Packages.langsmith: 0.0.14 -> 0.0.24

Diff: https://github.com/langchain-ai/langsmith-sdk/compare/refs/tags/v0.0.14...v0.0.24
Changelog: https://github.com/langchain-ai/langsmith-sdk/releases/tag/v0.0.24
Description of changes

Things done

Built on platform(s)

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

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

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 249977 run on x86_64-linux 1

4 packages failed to build:

pentestgpt
pentestgpt.dist
python310Packages.langchain
python310Packages.langchain.dist

4 packages built:

python310Packages.langsmith
python310Packages.langsmith.dist
python311Packages.langsmith
python311Packages.langsmith.dist


Test Issue created at Thu, 03 Jun 2021 13:57:20 GMT

Test issue body  Thu, 03 Jun 2021 13:57:20 GMT

Comment on issue at Thu, 03 Jun 2021 13:57:23 GMT


bump for security-2023-11

bump for security-2023-11

#5

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

:exclamation: No coverage uploaded for pull request base (main@22e5bb2). Click here to learn what that means.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##             main       #6   +/-   ##
=======================================
  Coverage        ?   13.21%
=======================================
  Files           ?       12
  Lines           ?      893
  Branches        ?        0
=======================================
  Hits            ?      118
  Misses          ?      766
  Partials        ?        9

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


HPA Status Conditions

Feature Description

One-line feature description (can be used as a release note): Status conditions indicating current status and/or blocking issues for the HorizontalPodAutoscaler
Primary contact (assignee): @directxman12
Responsible SIGs: @kubernetes/sig-autoscaling-feature-requests
Design proposal link (community repo): kubernetes/community#560
Reviewer(s) - (for LGTM) recommend having 2+ reviewers (at least one from code-area OWNERS file) agreed to review. Reviewers from multiple companies preferred: @mwielgus @derekwaynecarr
Approver (likely from SIG/area to which feature belongs):
Initial target stage (alpha/beta/stable) and release (x.y): alpha in 1.7

@DirectXMan12 please, provide us with the design proposal link and docs PR link (and update the features tracking spreadsheet with it).
cc @kubernetes/sig-autoscaling-feature-requests

@idvoretskyi the design proposal is linked in the issue description
I need to submit a docs PR.  I'll post it here shortly and update the spreadsheet.

Docs PR: https://github.com/kubernetes/kubernetes.github.io/pull/4118

@idvoretskyi this is beta in 1.8

@DirectXMan12 would be really good to add a bit of documentation for this feature. Users should be able to look it up on the HPA docs.

It was already in the HPA docs: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/#appendix-horizontal-pod-autoscaler-status-conditions

@DirectXMan12
Any plans for this in 1.11?
If so, can you please ensure the feature is up-to-date with the appropriate:

Description
Milestone
Assignee(s)
Labels:

stage/{alpha,beta,stable}
sig/*
kind/feature

cc @idvoretskyi

This is actually part of the HPA v2 feature, which we can just track as part of https://github.com/kubernetes/features/issues/117.

Thanks for consolidating, Solly!


Statically verify anyValueSize limitation regardless of whether dynamic dispatch is used

Currently if the user defines a type that exists the anyValueSize limitation defined in an interface, we will silently allow that to proceed until we are actually generating dynamic dispatch code. This can cause confusion. We should change the behavior to always statically check against the size limit during type check.

We have changed our design since this was filed to allow compiler to go above this limit. Obsolete.


Initial scoping of Hide this Page contribution

What
We need to scope out what is needed to turn hide this page contribution into a component and let the contributor know so that they can start working on it.
Why
Work on Hide this page component is planned for Sprint 5 & 6. There might be things the contributor can start on before the team get involved. This will likely be useful for when we start the work as well.
Who needs to know about this
Devs, designers, content
Done when

[ ] We have a rough idea of what needs to be done

WORK TO BE DONE:
Clarify guidance on what kind of website to redirect users to
(based on this feedback)
Update button text to make it clearer for screen reader users
(based on this feedback)
Consider how to make the component safe to use with voice activation
(based on this feedback)

DESIGN RATIONALE:
The button is aligned to the right because this is an emerging convention for this kind of functionality. For that reason we believe that people will look for it there (this does rely in them already being familiar with the concept though).
RESEARCH QUESTIONS:

Does the left/right alignment of the button affect how many people interact with it?

@timpaul I think we might want to clarify in the guidance where exactly in the page template HTML the component(s) should go; it might also be good to code up a full page example for the review app.

Another thought, with the visually hidden component, would it be useful/good to have it visible when it is tab-focused? (similar to how the skip link behaves)

Am curious about the size of this button. Any rationale behind this size? Or just the default size?
For something that needs to be hit in a hurry, feels like it should be bigger / easier to hit. (Possibly making the hit areas larger than the visual button if you're worried about visual weight.)
I also wonder how much perception need to be managed about what the button do, to ensure it doesn't given a false sense of security.
Presumably it doesn't "hide this page" from your history, not clear data entered in a form...

IMPLEMENTATION:

The current implementation contains two blocks of code, which is not something that our current component model supports. We'll need a way to support this, probably using JS injection

Another thought, with the visually hidden component, would it be useful/good to have it visible when it is tab-focused? (similar to how the skip link behaves)

The hidden element is just text, so not focusable

Just writing up my thinking on the points outlined by @timpaul above...
Clarify guidance on what kind of website to redirect users to
I think the behaviour already described seems a sensible default i.e. opening BBC Weather in a new tab and Google in the previous tab. Because BBC Weather’s a fairly generic, more pictorial site. But it should only be that – a default.
Add extra guidance to say:

Base the choice of website on what you know about your users.
Don’t choose anything that could arouse suspicion or put the user in danger e.g. if someone whose first language is not English opens a text-heavy website in English.

Clarify with guidance and example where on the page the component should go
We should include a full-page example in the guidance, of a simple question page with the button included. Make sure the guidance explains where the component should sit in the HTML.
According to the contribution, the button should be placed just inside the <main> section of the page. I think this makes sense, and the visual positioning seems to work relative to the main container. We should take some pages to an accessibility clinic to test that the control makes sense placed there for screen reader users.
I’ve created a branch of Frontend and placed the component, as-is, into some example pages. The build is failing because I haven’t built out the component properly, but you can test it locally. Will add some findings in a separate comment below.
Update button text to make it clearer for screen reader users
Some options for this:

Hide this page [quick exit button, it opens BBC Weather in a new tab] (GOV.UK team’s suggestion)
Hide this page [and open a new tab]

I think the latter does enough to clarify what’s going to happen?
Consider how to make the component safe to use with voice activation
I don’t know how to start on this one tbh, a designer and a dev should pair on it.
Decide whether to keep the escape key functionality
Decision: don’t use the escape key functionality for the first iteration of the component.
The main reason is that we can’t be sure that the escape key will work consistently across different contexts. It could conflict with the behaviour of other UI components within the service, such as modals – that might be ok if handled carefully. But it might also conflict with things outside of the service, like accessibility software or browser extensions. For example, NVDA uses the escape key to ‘exit focus mode’.
We also think it would be easier to add in the future than to remove it if we found that it was causing problems.
This would also mean removing the bit of visually hidden text that’s intended to go at the very top of the page, telling users they can hide the page using the escape key. Which was a bit problematic because it’s technically a separate component...

Decision: don’t use the escape key functionality for the first iteration of the component.

So. How would a non-voice input, keyboard only user quickly hide the page?
Perhaps a combination of keys could be used instead of Esc alone?
Why does the functionality need to be removed for mobile devices? How about saying in the instructions "on devices with keyboards you can press Shit+Esc"?

Hi @jbuller thanks for your comment. Really good point and it's a hard decision to balance. I decided to open it up on the original issue to get more thoughts: https://github.com/alphagov/govuk-design-system-backlog/issues/213#issuecomment-864032416

It also occurs to me that people, with and without visual impairments use mobile devices with a Bluetooth keyboard or braille input/display.


Revert OGRE-Next custom support and back to use IgnOGRE2 module

🎉 New feature
The PR mostly removes the support introduced in #577 to workaround the problems with Ubuntu Jammy using ogre-next package. The support is implemented in https://github.com/ignitionrobotics/ign-cmake/pull/224 that should work transparently for ign-rendering.
The PR tries to look for OGRE2 twice, one with PlanarRelections component (needed for Jammy) and the other one without PlanarReflections. The issues is being worked in https://github.com/ignitionrobotics/ign-rendering/issues/597
Test it
Colcon workspace with https://github.com/ignitionrobotics/ign-cmake/pull/224 and this PR should be enough.
Checklist

[x] Signed all commits for DCO
[ ] Added tests
[ ] Added example and/or tutorial
[ ] Updated documentation (as needed)
[ ] Updated migration guide (as needed)
[ ] codecheck passed (See contributing)
[ ] All tests passed (See test coverage)
[ ] While waiting for a review on your PR, please help review another open pull request to support the maintainers

Note to maintainers: Remember to use Squash-Merge and edit the commit message to match the pull request summary while retaining Signed-off-by messages.

I think that we are going to need a new release of ign-cmake to be able to check CI.

I think that CI is going to require new ignition cmake to work. We need to bump the ign-cmake version required here too.

Ummm, we have a problem that is hard to solve or workaround in ign-rendering. The two calls for ign_find_package is completely buggy. We would need https://github.com/ignitionrobotics/ign-cmake/pull/231.

We should make sure this patch works with Jammy. Can we add back that CI here?

I made a branch / commit on top of this branch https://github.com/ignitionrobotics/ign-rendering/commit/619c9b6a85bdafb86138a40b1edadca33b2d6e0a.  CI is happy. I'll follow up a PR with it, want to work in parallel releasing this change.

It looks like Jammy CI is not on ign-rendering6 anymore and was reverted with a commit directly to the branch:

my bad sorry, wrong branch.


cf dev start fails with no apparent reason

After downloading and installing the latest versions of cf and pcfdev, running the command cf dev start fails for no apparent reason. It looks similar to the other issues mentioned, but in this case it simply doesn't do anything.
cf dev start
Please sign in with your Pivotal Network account.
Need an account? Join Pivotal Network: https://network.pivotal.io

Email> xxx

Password>
Downloading VM...
Progress: |====================>| 100%
VM downloaded.
Allocating 4096 MB out of 16384 MB total system memory (7168 MB free).
Importing VM...
Starting VM...
Provisioning VM...
Waiting for services to start...
Timed out after 3600 seconds.
FAILED
Error: failed to provision VM: Process exited with: 1. Reason was:  ().

cf version
cf version 6.36.1+e3799ad7e.2018-04-04

pcf dev version
PCF Dev version 0.29.0 (CLI: 49405ec, OVA: 0.548.0)

VirtualBox version
5.1.36r122089

hi @retgits - we are aware of the issue are are actively working on resolving it. I will update this thread when I have more details.

This has been resolved in Release v0.30.0

Can I get the PCF1.11.0-osx executable or do I have to build it myself?

cf dev is continue stuck on 'waiting for services to start' for that infraestruture:

Ubuntu 16.04 64 bits (8Gh), many hard disk.
Virtual Box 5.2.2
pcfdev 0.30.0 + PCF1.11.0-linux

What is the pcfdev without error??

Make sure you aren't running in another nested VM
Use the latest Virtualbox 5.1.x release, instead of 5.2.2

We have no plans to support Virtualbox 5.2.x. This version of PCF Dev will soon be deprecated in favor of a PAS extension that will use CF Dev: https://github.com/cloudfoundry-incubator/cfdev
You can access the VM with cf dev ssh, and look at logs in /var/vcap/logs and /var/pcfdev`.

Ok Bad notice for me and my Linux. The problem is that the new cfdev only support macOS at this time, again bad notice for my Linux. I will install PCF Dev on my mac laptop with VirtualBox 5.0.3
Regards

Hello masalinas, did VirtualBox 5.0.3 solve the issue ??

Hello @mustafakamil12 Yes under mac, resolve the problem.
Regards


[ENGOPS-1757] version name consolidation

WARNING!  FOR MERGE BY PROCESS ONLY PLEASE!

Build Completed
:white_check_mark: This pull request has passed all validations.
Build Commands
ant -Dtestreports.dir=bin/reports/unit-test -f build.xml clean-all resolve jacoco && ant -f build.xml checkstyle publish-local

Cleanup Commands
rm -r ~/.ivy2/local || echo no publish local to remove

Changed files
  build.properties
  ivy.xml


evm service fails to restart after configuring the appliance to allow logging into postgres from hosts other than <IP_ADDRESS>

evm service fails to restart after configuring the appliance to allow logging into postgres from hosts other than <IP_ADDRESS>
Issue is NOT observed on rhevm providers. but on "openstack", "vpshere55" providers.

deploy the recent(April 27th) upstream template on openstack, vpshere providers
wait for appliance to boot.
before accessing the webui configure the appliance to allow logging into postgres from hosts other than <IP_ADDRESS> check the "psql -U postgres" commands from the below attached test_logs.
no errors related to npm found in anaconda-post.log (https://github.com/ManageIQ/manageiq/issues/8023)

test logs: https://gist.github.com/amavinag/3ce46693f5ae857deab27e3d4fe85f03
snaconda-post.log: https://gist.github.com/amavinag/67d3cd460109a845277b3aeaca810bd2

@amavinag I don't see an error.
2016-04-28 10:37:04,273 [I] Configure Appliance: Configure IPAppliance: Restart EVM Service: Failed to restart evmserverd
Error: Redirecting to /bin/systemctl restart  evmserverd.service
Job for evmserverd.service failed because the control process exited with error code. See "systemctl status evmserverd.service" and "journalctl -xe" for details.
 (scripts/utils/log.py:181)

Can you run what is suggested there for details and provide any errors from the evm.log/production.log?

The script seems to be referencing pg_hba.conf in wrong location:
https://gist.github.com/amavinag/3ce46693f5ae857deab27e3d4fe85f03#file-test_logs-L16-17
On appliances, pg_hba.conf is here:
/var/opt/rh/rh-postgresql94/lib/pgsql/data/

Also, it would be best to use systemctl restart evmserverd rather than service evmserverd restart now that we have upgraded to CentOS 7

still see the same error, as mentioned I changed the path to /var/opt/rh/rh-postgresql94/lib/pgsql/data/
test_logs_changed_pg_hba.conf: https://gist.github.com/amavinag/d72b8de8d5caa697f2369a2cca57904d
evm & production logs: https://gist.github.com/amavinag/9f5cb650d32137a406e6efc93be930fc
journalctl: https://gist.github.com/amavinag/2a1e258748fbb8cfd5d2c3d9329e6d6d
let me know if more info is needed.

This looks like the service that creates the database on first-boot of the appliance was not allowed to run through. The evmserverd service will not start if the database is not properly initialized.
You can see that this is the case in the journalctl output:
PG::UndefinedTable: ERROR:  relation "miq_servers" does not exist
Whatever is kicking off the automated tests needs to be sure that evmserverd has started successfully upon booting the appliance the first time before making any changes. For this particular issue that may be enough because once the database is configured the service is started. So a zero return code from systemctl status evmserverd should indicate that the database has been fully configured.
Unfortunately this may not be enough for other tests as they may require specific workers to be started and this method will not guarantee that all the workers are up and running and all the necessary tables are seeded.

soon after the appliance is deployed, appliance-initialize.service is listed as failed:
systemctl | grep appliance
● appliance-initialize.service   loaded failed failed    Initialize Appliance Database

Can you post the output of journalctl -u appliance-initialize this will give us the full log from that service.

https://gist.github.com/amavinag/47a11bb870f3a7548f1d0354020a50e5

It looks like the first line is cut off, can you get the full output?

updated the gist: https://gist.github.com/amavinag/47a11bb870f3a7548f1d0354020a50e5

There is still some text missing from the line that ends in allowed_in_pat
Maybe try redirecting the output of the command to a file and using that. The display may be cutting off some text.

should be good now.

It seems like this was caused by a failed bundle during the build process.

@amavinag which build was this?

@simaishi  the logs that I pulled today are from April 29th build

I tested 0429 OpenStack nightly today successfully. If this was vSphere, can you try the same test (fix the path to conf file, and wait until evmserver starts up before doing restart) on OpenStack?

yes, this is on vsphere. let me spin up openstack instance.


TypeError: Cannot read property 'encStr' of undefined

 var secretbox = nacl.util.decodeBase64(encryptedStr.encStr);
                                                      ^
TypeError: Cannot read property 'encStr' of undefined

m2, how can i fix it?

please give us some advise how to fix this issue if anyone go through it


feat(backend): bbb webhooks

🍰 Pullrequest

Implements a BBB Webhook endpoint
Note: Coverage was reduced to not require testing of the periodicallyRegisterWebhook function which seems complicated with no benefits.
Note: This is just the webhook implementation - followup issues must be created to handle the incomming data. I like to merge this in order to be able to investigate this.
Issues

fixes #726

Todo

[x] Register Webhooks
[x] Tests
[x] Register Webhooks periodically
[x] Tests for Webhook register

Did not test it, but the code looks good to me. Any idea why we have to replace the space and the colon characters in the URL?

It took me a while to figure out why the checksum was wrong - apparently the axios does not properly escape : when sending a get request. Reason unknown. But without this hack-fix the checksum is wrong and not accepted by the BBB.
I believe that this is an axios thing.


Remove .project and .settings files

The file is unnecessary. If one wants to develop SigPlot in Eclipse, they can do so, but I don't think these files provide anything necessary.

Incorporated onto the new master manually.


[WIP] Start on build commands

This is a start to fix #33 by getting some commands ready for packaging executables. The problem I'm currently having is when I run the build-osx command, it can't find package.json:
code/cheshire137/gh-notifications-snoozer at wonderland (add-build-setup ✗) [SV]
% npm run build-osx

><EMAIL_ADDRESS>build-osx /Users/cheshire137/code/cheshire137/gh-notifications-snoozer
> if [ -d dist/GHSnooze-darwin-x64 ]; then rm -r dist/GHSnooze-darwin-x64; fi && electron-packager src --out=dist --app-version=$npm_package_version --prune --asar --overwrite --appname=GHSnooze --platform=darwin --arch=all --ignore=test

Unable to infer name or version. Please specify a name and version.
Cannot find module 'package.json' from '/Users/cheshire137/code/cheshire137'(Properties not found yet: dependencies.electron-prebuilt,devDependencies.electron-prebuilt)

/cc @probablycorey

Looks like it being able to find package.json is related to not knowing the Electron version: https://github.com/electron-userland/electron-packager/issues/390

Got it built but it gives this error when trying to run it:

Moving electron* packages out of devDependencies in package.json and into dependencies seems to have fixed it.

Closing this as it's merged into #106.


Split monolithic physics class files

Splits monolithic physics class files.
This PR moves things around a lot, but what this PR primarly does is to split the monolithic physics class files into subfiles. Something that was imo overdue for a very long time. E.g. physics body was harboring all the rigid, static, character, and what-not bodies. This made the file already lag in editors and resulted in all kind of functionality that only needed a single physics base class to include near everything physics has to offer.
All the main physics classes are now in their own file in a scene/2d_or_3d/physics subfolder.
Same with bone joints, each bone joint now has its own file in a joints subfolder.
Main means the class is primarily or exclusively used with or for physics.
E.g. raycast, shape cast, physics bones, collision shapes, objects and bodies.
A few random includes that were discovered as no longer needed are also removed.
E.g. the NavigationObstacle no longer uses physics so no need to include physics classes.

It is very hard to review these changes. Especially when the github web interface freezes on my computer. The typical strategy is make sure the tests pass and let the testing go to the wider community.

Added the physics and joints folders to the scu script and fixed the gltf includes.

Thanks!


check if the HorizontalAutoscaler could kill running nodejs/nginx requests

Maybe its a similar issue what happens on kubernetes while stating the pods: https://github.com/kubernetes/kubernetes/issues/33674

Is this issue related to Lagoon user workloads? Or Lagoon Core/Remote service components?

CLosing - unsure if it's still an issue

I think this issue is the nodejs version of https://github.com/uselagoon/lagoon-images/pull/445
Not sure what nodejs does when it receives a SIGTERM. It might gracefully drain in-flight requests before exiting by default?

Looks like node doesn't exit gracefully by default, but you can exit gracefully at the application level.


Fix`(apply * '(0 0)) and friends

Additionally, REDUCE now accepts an argument to be returned when given
an empty list.
cf. fe98c902

(apply * '(0 0)) was returning 1 on JS.


Update other packages such as imxrt-hal to 0.5.0.

I am working with the latest version imxrt-ral in my package for QSPI for eventual SDCard support as I am adding some of the missing const to Flexspi file. I would like to use teensy-bsp but as it stands right now the most recent version of imxrt-hal cannot build with 0.5.0 do to the breaking changes with the change to static instances of the IO types. I would be happy to make a CR for imxrt-ral and teensy-bsp to update them to the new ral version, but I may need some guidance of what I would need to fix. How would I go about updating this snippet of code from imxrt-hal would the PhantomData be required now that the types are split up.
/// An I2C builder that can build and I2C peripheral
pub struct Builder<M> {
    _module: PhantomData<M>,
    reg: ral::lpi2c::Instance,
    /// Frequency of the LPI2C source clock. This
    /// accounts for the divider.
    source_clock: ccm::Frequency,
}

impl<M> Builder<M>
where
    M: Unsigned,
{
    fn new(source_clock: ccm::Frequency, reg: ral::lpi2c::Instance) -> Self {
        Builder {
            _module: PhantomData,
            reg,
            source_clock,
        }
    }

    /// Builds an I2C peripheral from the SCL and SDA pins. The return
    /// is a configured I2C master running at 100KHz.
    pub fn build<SCL, SDA>(self, mut scl: SCL, mut sda: SDA) -> I2C<M>
    where
        SCL: i2c::Pin<Module = M, Signal = i2c::SCL>,
        SDA: i2c::Pin<Module = M, Signal = i2c::SDA>,
    {
        crate::iomuxc::i2c::prepare(&mut scl);
        crate::iomuxc::i2c::prepare(&mut sda);
        I2C::new(self.source_clock, self.reg)
    }
}

Here is a another snippet of code I was wondering about.
/// PWM peripheral handle
///
/// Most operations that could affect multiple submodules require
/// access to this handle.
pub struct Handle<M> {
    reg: Instance,
    _marker: PhantomData<M>,
}

/// A PWM submodule
///
/// A submodule may be consumed to create PWM pin instances
pub struct Submodule<M, S> {
    _marker: PhantomData<(M, S)>,
}

/// A PWM peripheral
///
/// The PWM peripheral is broken into
///
/// - the PWM master handle, `handle`,
/// - four submodules, numbered `0` through `3`.
///
/// The submodules are taken when you want to turn pins into
/// PWM outputs. The handle provides access to registers that
/// are shared across PWM submodules.
pub struct PWM<M> {
    /// The peripheral handle
    ///
    /// Methods that need access to peripheral-level registers, rather than
    /// just submodule-level registers, must have a mutable reference to
    /// the handle.
    pub handle: Handle<M>,
    /// Submodule 0
    pub sm0: Submodule<M, U0>,
    /// Submodule 1
    pub sm1: Submodule<M, U1>,
    /// Submodule 2
    pub sm2: Submodule<M, U2>,
    /// Submodule 3
    pub sm3: Submodule<M, U3>,
}

Sorry for all the Issues I would just prefer to use rust for my custom board.

I like that ambition. But, I'm not sure we should try to port today's imxrt-hal to use imxrt-ral's main branch. imxrt-rs/imxrt-hal#121 proposes a similar update, but with many breaking changes, including breaking changes to those snippets above.
We're in (we've been in) a transition state, so I'm afraid using the unreleased RAL with the released Teensy 4 BSP isn't straightforward. Here's the approaches I can offer:
🔵 pill: Stick with the released HAL and BSP
Apply your RAL changes to the RAL's main branch, and submit them here. If they're non-breaking / fixing a bug, we'll backport them to the 0.4 branch and release. A cargo update in your project means that you'll see the RAL changes in the released HAL and BSP.
This approach gives up on using the latest RAL. But, you can keep using the released HAL, BSP, and things that depend on these two. I think this is the easier approach.
🔴 pill: Jump on the cutting edge
Pull down imxrt-rs/imxrt-hal#121, and start building your driver there. This is using (something that closely resembles) the RAL's main branch. The HAL should have all the updates you would need.
This approach gives up on using the released Teensy 4 BSP. Although there's no BSP right now, imxrt-rs/imxrt-hal#121 includes in-tree examples, and makes it easy to run them on the Teensy 4. This includes USB / serial logging to help with any driver debugging.
We still need RAL patches. imxrt-rs/imxrt-hal#121 is using my fork of the RAL, so the changes would need to end up in a similar-looking fork. I still think making the changes here, in the main repo, would be best. I could get them into my fork for your usage.
I think this is the harder and riskier approach, since this is all new development and needs more coordination. But, you'll provide us with valuable feedback about the proposed HAL.

The red pill is now the default pill. imxrt-hal 0.5 uses imxrt-ral 0.5. Both are available on crates.io.
There's also a new teensy4-bsp that uses both of these crates. But now that the imxrt-hal project maintains hardware examples, I recommend developing drivers and hardware examples within that repo, instead of using teensy4-bsp. By developing drivers and hardware examples there, we can more easily use the work across chips, and debug / test across hardware.
Reach out separately if you'd like help upstreaming any imxrt-ral patches.


Made facet by judgment resizable

Fixes #5908
Changes proposed in this pull request:

Made facet by judgement resizable and scrollable.

@wetneb I'll also check Best Type Match and Best Candidate Name Match. I will fix them also.


agent: Make the agent the subreaper of all processes

agent: Make the agent the subreaper of all processes

Our agent had a flaw, it potentially lives with some zombie processes
according to what has been done by the container user. The explanation
is that we only wait for container and exec processes but we don't
handle the children and grandchildren processes coming from those
initial container and exec processes. The example of such a case can
be shown demonstrated in case the container process spawn a child
process, and this one will also spawn another child process. In case
the child terminates before its own children, those ones expect to be
reaped by the init process of the PID namespace, i.e the container
process. But this container process is not written to reap descendant
processes, which will lead to a zombie process left behind.

This commit solves those cases by setting the agent process, who will
be the father of all container processes, as a subreaper. This way, it
will receive all the SIGCHLD signals from any child left behind, and
will reap them. Notice this patch makes sure we don't check the error
from the libcontainer call to process.Wait() since it won't be able to
reap the container or exec processes as expected. This libcontainer
Wait() function is only used here to properly cleanup the pipes and
internal structures created by libcontainer.

Fixes #177

Signed-off-by: Sebastien Boeuf<EMAIL_ADDRESS>

Fixes #177

Cannot be merged because of libcontainer issue: https://github.com/opencontainers/runc/issues/1677

opencontainers/runc#1677 has been fixed with opencontainers/runc#1678 which has been merged !
This PR can be unblocked now.

@sameo @amshinde please take a look.

@jodh-intel @grahamwhaley @jcvenegas @sameo @amshinde
Please take a look :)

I wonder if runC has the same issue

In case the child terminates before its own children, those ones expect to be reaped by the init process of the PID namespace

yee, but

If the "init" process of a PID namespace terminates, the kernel terminates all of the processes in the namespace via a SIGKILL signal  (pid_namespaces(7))

basically once the workload ends, all processes are killed, but I guess you want to handle the case where the workload never ends and its children spawn and leave processes running
lgtm

@devimc, runc does not have the same issue because it actually set itself as a subreaper (there a flag to disable the subreaper if needed).
And yes you're right, I am trying to handle the case where the container process does not end, but the workload has started a bunch of children and grandchildren who might terminate after their parent.

@amshinde I have updated the PR with more comments.

@amshinde Could you merge if you're fine with this ?


App off the screen if user selects a different display as their main and then launches the electron app

When a user changes their main display (2 monitors windows 10: right click on desktop -> display settings -> make this my main display), then electron-windows-state does not detect this and instead of resetting the coordinates, it shows on the old coordinates, which launches off the screen. The solution would be the user reverts their main display selection and then launch the app and move it to different monitor, and then reelects main display and then the app starts okay. If there is any I am missing in the code, please kindly advice, or is there a way to reset x, y coordinates or detect if the app is in the visible zone.

temporary fix,
let electron = require('electron')
let frame;
frame = new BrowserWindow({.....})
...
...
...
frame.once('ready-to-show', () => {
frame.show();
 if(frame.getPosition()[0] > electron.screen.getAllDisplays()[0].bounds.width || frame.getPosition()[0] < 0){frame.setPosition(200,50,true)}
});

It will be also nice if we can catch screen change event at run time and move app in primary screen when display attached is removed.
Ref: https://electronjs.org/docs/api/screen
We can fix this on our app but any chance to get this fix in this npm which will give advantage to all.

@micsel @pashvin This issue should have been fixed in the latest version 5.0.3
Please check and close this issue if solved.


[Bug]: Topic message cannot download

telegram_media_downloader version or commit
v2.1.9
What OS are you seeing the problem on?
Mac, Windows
Python Version
No response
What happened?
形如 https://t.me/c/1960912864/3/8 的链接无法下载
Expected Behavior
形如 https://t.me/c/1960912864/3/8 的链接无法下载
Current Behavior
形如 https://t.me/c/1960912864/3/8 的链接可以下载
Possible Solution
No response
Steps to Reproduce
No response
Relevant log output
No response

#84