java.lang.RuntimeException: Methods marked with @UiThread must be executed on the main thread

java.lang.RuntimeException: Methods marked with @UiThread must be executed on the main thread
 Future checkMockLocation() async {     print("check mocklocation ");     bool canMockLocation = await TrustFall.canMockLocation;     print("mocklocation = "+ canMockLocation.toString());   }

@engr-zeeshan, Could you post output for flutter doctor please

[√] Flutter (Channel stable, v1.7.8+hotfix.3, on Microsoft Windows [Version 10.0.18362.267], locale en-PK)
[√] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
[√] Android Studio (version 3.4)
[√] VS Code (version 1.36.1)
[!] Connected device

Same problem :/
E/TSLocationManager(22678): java.lang.RuntimeException: Methods marked with @UiThread must be executed on the main thread. Current thread: Timer-1
E/TSLocationManager(22678): 	at io.flutter.embedding.engine.FlutterJNI.ensureRunningOnMainThread(FlutterJNI.java:807)
E/TSLocationManager(22678): 	at io.flutter.embedding.engine.FlutterJNI.invokePlatformMessageResponseCallback(FlutterJNI.java:740)
E/TSLocationManager(22678): 	at io.flutter.embedding.engine.dart.DartMessenger$Reply.reply(DartMessenger.java:156)
E/TSLocationManager(22678): 	at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler$1.success(MethodChannel.java:225)
E/TSLocationManager(22678): 	at com.anish.trust_fall.TrustFallPlugin$1.gotLocation(TrustFallPlugin.java:43)
E/TSLocationManager(22678): 	at com.anish.trust_fall.MockLocation.MockLocationCheck$GetLastLocation.run(MockLocationCheck.java:90)
E/TSLocationManager(22678): 	at java.util.TimerThread.mainLoop(Timer.java:562)
E/TSLocationManager(22678): 	at java.util.TimerThread.run(Timer.java:512)

Same problem here, anyone get this resolve ?

@bagus-setyawan thanks a lot mate, this bug give me a headache.
Your code can bypass the bug

Same issue
E/AndroidRuntime( 6244): java.lang.RuntimeException: Methods marked with @UiThread must be executed on the main thread. Current thread: Timer-1
E/AndroidRuntime( 6244):        at io.flutter.embedding.engine.FlutterJNI.ensureRunningOnMainThread(FlutterJNI.java:781)
E/AndroidRuntime( 6244):        at io.flutter.embedding.engine.FlutterJNI.invokePlatformMessageResponseCallback(FlutterJNI.java:718)
E/AndroidRuntime( 6244):        at io.flutter.embedding.engine.dart.DartMessenger$Reply.reply(DartMessenger.java:144)
E/AndroidRuntime( 6244):        at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler$1.success(MethodChannel.java:231)
E/AndroidRuntime( 6244):        at com.anish.trust_fall.TrustFallPlugin$1.gotLocation(TrustFallPlugin.java:43)
E/AndroidRuntime( 6244):        at com.anish.trust_fall.MockLocation.MockLocationCheck$GetLastLocation.run(MockLocationCheck.java:88)
E/AndroidRuntime( 6244):        at java.util.TimerThread.processTask(Timer.java:577)
E/AndroidRuntime( 6244):        at java.util.TimerThread.mainLoop(Timer.java:532)
E/AndroidRuntime( 6244):        at java.util.TimerThread.run(Timer.java:512)
I/Process ( 6244): Sending signal. PID: 6244 SIG: 9

@anish-adm could you check Similiar issue,  ?
i think this code make error
class GetLastLocation extends TimerTask {
        @Override
        public void run() {
            lm.removeUpdates(locationListenerGps);
            lm.removeUpdates(locationListenerNetwork);
            Location net_loc=null, gps_loc=null;
            if(gps_enabled)
                gps_loc=lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);
            if(network_enabled)
                net_loc=lm.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
            //if there are both values use the latest one
            if(gps_loc!=null && net_loc!=null){
                if(gps_loc.getTime()>net_loc.getTime())
                    locationResult.gotLocation(gps_loc);
                else
                    locationResult.gotLocation(net_loc);
                return;
            }

            if(gps_loc!=null){
                locationResult.gotLocation(gps_loc);
                return;
            }
            if(net_loc!=null){
                locationResult.gotLocation(net_loc);
                return;
            }
            locationResult.gotLocation(null);
        }
    }

I am also getting this error
Methods marked with @UiThread must be executed on the main thread. Current thread: Timer-0
when calling
bool canMockLocation = await TrustFall.canMockLocation;

Still crashed with the latest Flutter version:
2020-09-07 16:35:51.858 19394-19683/com.mycompany.testapp E/AndroidRuntime: FATAL EXCEPTION: Timer-0
    Process: com.mycompany.testapp, PID: 19394
    java.lang.RuntimeException: Methods marked with @UiThread must be executed on the main thread. Current thread: Timer-0
        at io.flutter.embedding.engine.FlutterJNI.ensureRunningOnMainThread(FlutterJNI.java:992)
        at io.flutter.embedding.engine.FlutterJNI.invokePlatformMessageResponseCallback(FlutterJNI.java:779)
        at io.flutter.embedding.engine.dart.DartMessenger$Reply.reply(DartMessenger.java:144)
        at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler$1.success(MethodChannel.java:235)
        at com.anish.trust_fall.TrustFallPlugin$1.gotLocation(TrustFallPlugin.java:43)
        at com.anish.trust_fall.MockLocation.MockLocationCheck$GetLastLocation.run(MockLocationCheck.java:88)
        at java.util.TimerThread.processTask(Timer.java:577)
        at java.util.TimerThread.mainLoop(Timer.java:532)
        at java.util.TimerThread.run(Timer.java:512)
2020-09-07 16:35:52.020 19394-19505/com.mycompany.testapp D/FA: Event not sent since app measurement is disabled
2020-09-07 16:35:52.069 19394-19683/com.mycompany.testapp I/Process: Sending signal. PID: 19394 SIG: 9

Same problem here, anyone get this resolve ?
Edited:
I found another alternative to detect just mock Location (another detection are working), with the same way this plugin do, install Geolocator flutter plugin then use this code :
Future<bool> checkMockLocation() async {
    Position position = await Geolocator().getLastKnownPosition();
    return position.mocked;
  }

I think its now updated
Future checkMockLocation() async {
Position position = await Geolocator.getLastKnownPosition();
return position.isMocked;
}

Same problem here, anyone get this resolve ?
Edited:
I found another alternative to detect just mock Location (another detection are working), with the same way this plugin do, install Geolocator flutter plugin then use this code :
Future<bool> checkMockLocation() async {
    Position position = await Geolocator().getLastKnownPosition();
    return position.mocked;
  }

try to execute this code after turning off and turning on location. It gives some kind of Exception.

Is there any update on solving this error. I am also facing the same issue. I am on the latest build of TrustFall and flutter.

Same problem here, after building App in release mode.

@sunnykinger , @rp014947 , @wisnuwiry guys just use location plugin your own choice and make sure if permission permitted and get mocked properties from that, if you look into this project code you will notice that this is same way. Or you can make a fork and resolved the issue.
But once again users can pass this checker with many ways (rooted phone etc) so add another validations if your app consent is about real user's location.

Fix running on @UiThread :
@Override
public void onMethodCall(MethodCall call, final Result result) {
if (call.method.equals("getPlatformVersion")) {
result.success("Android " + android.os.Build.VERSION.RELEASE);
} else if (call.method.equals("isJailBroken")) {
result.success(RootedCheck.isJailBroken(context));
} else if (call.method.equals("canMockLocation")) {
MockLocationCheck.LocationResult locationResult = new MockLocationCheck.LocationResult(){
@Override
public void gotLocation(final Location location){
android.os.Handler handler = new android.os.Handler(Looper.getMainLooper());
handler.post(new Runnable() {
@Override
public void run() {
//Got the location!
if(location != null){
result.success(location.isFromMockProvider());
}else {
result.success(false);
}
}
});
}
};
MockLocationCheck mockLocationCheck = new MockLocationCheck();
mockLocationCheck.getLocation(context, locationResult);
}else if (call.method.equals("isRealDevice")) {
result.success(!EmulatorCheck.isEmulator());
}else if (call.method.equals("isOnExternalStorage")) {
result.success(ExternalStorageCheck.isOnExternalStorage(context));
}
else {
result.notImplemented();
}
}


Jenkins build server: MessageSimulator and related software not being copied

The following folder is empty after a build:
OPSServerInstall\Software\MessageSimulator
It should contain a MessageSimulator folder with the message simulator files.
It should contain the TCPListner folder with the appropriate files.
It should contain the UDPDump folder with the appropriate files.

@ACueva After the July 3rd build of Ops Server found that the MessageSimulator, TCPListner, and UDPDump software are being copied to the wrong folder.
Currently copied to:
OPSServerInstall\Geoevent\MessageSimulator\MessageSimulator
OPSServerInstall\Geoevent\MessageSimulator\TCPListner
OPSServerInstall\Geoevent\MessageSimulator\UDPDump
Should be copied to:
OPSServerInstall\Software\MessageSimulator\MessageSimulator
OPSServerInstall\Software\MessageSimulator\TCPListner
OPSServerInstall\Software\MessageSimulator\UDPDump

Changes made.  Verify at next release.

Verified.

I have also verified fix in build 20151002_1949.


musl support of libdxcore.so and libd3d12.so

Is your feature request related to a problem? Please describe.
libdxcore.so and libd3d12.so only support glibc base linux distro
Describe the solution you'd like
Provied variant of libdxcore.so and libd3d12.so that link against musl
Describe alternatives you've considered
Maybe open source dx12 on linux?

It might be able to get it to work with gcompat and a lot of effort.

@12101111 - Those binaries should work with either glibc or musl.  You should be able to get it working by including those paths via ldconfig.

There is are some GLIBC_ symbols in libcuda.so.


pkg/kates: fix bug where Accumulator was not coalescing changes mid-watch

Description
The Accumulator struct attempts to coalesce changes into a single snapshot
update as a way to do graceful load shedding. However, while this was the behavior
on bootstrap, it didn't always happen mid-watch - each event that was received turned into a single snapshot update, thus not really satisfying this requirement.
We add a new option to batch changes for a specified interval before sending a snapshot update. This allows a way to configure how aggressive load shedding can take place. The default interval is set at 0 to be inline with current behavior.
A snapshot update won't be sent until all resources are fully bootstrapped,
regardless of what interval is set. This is the ensure that the other requirements for
the Accumulator are still satisfied.
The interval can be controlled by the new AMBASSADOR_WATCH_INTERVAL_SEC env var.
By batching changes, we can minimize the number of reconfiguration that take place which should help in increasing overall performance.
Related Issues
Issue is not in this repo.
Testing
Add new test case.
For performance testing, ran a test that concurrently applies namespaces with each namespace applying 35 deployments, host, and mappings each. Each deployment has 2 replicas. We track the number of snapshot versions pushed. Prevously the number of snapshot versions created when applying 1 namespace was ~118. After setting a 10s interval, the snapshot version reduced to 16. For max concurrent namespaces it would previously start OOMing at 6 concurrent namespaces; with a 10 sec interval it's at least >15. Peak memory usage was 600MB so with a higher memory limit, it can likely support much higher.
Checklist

[x] I made sure to update CHANGELOG.md.
Remember, the CHANGELOG needs to mention:

Any new features
Any changes to our included version of Envoy
Any non-backward-compatible changes
Any deprecations

[x] This is unlikely to impact how Ambassador performs at scale - load testing shows xxxx.
Remember, things that might have an impact at scale include:

Any significant changes in memory use that might require adjusting the memory limits
Any significant changes in CPU use that might require adjusting the CPU limits
Anything that might change how many replicas users should use
Changes that impact data-plane latency/scalability

[x] My change is adequately tested.
Remember when considering testing:

Your change needs to be specifically covered by tests.

Tests need to cover all the states where your change is relevant: for example, if you add a behavior that can be enabled or disabled, you'll need tests that cover the enabled case and tests that cover the disabled case. It's not sufficient just to test with the behavior enabled.

You also need to make sure that the entire area being changed has adequate test coverage.

If existing tests don't actually cover the entire area being changed, add tests.
This applies even for aspects of the area that you're not changing – check the test coverage, and improve it if needed!

We should lean on the bulk of code being covered by unit tests, but...
... an end-to-end test should cover the integration points

[x] I updated DEVELOPING.md with any any special dev tricks I had to use to work on this code efficiently - N/A.

[ ] The changes in this PR have been reviewed for security concerns and adherence to security best practices.

@ddymko - I think it is important for you to have yours eyes on this just so you familiarize yourself with it a little bit.

Going to make some changes after discussions with @LanceEa and @ddymko on expected batching behavior

@haq204 I think you have to rerun make generate because we cut the 3.2.0-rc.1 yesterday
Otherwise it looks good!


Refactor handler/dispatch pipeline

I found the whole Dispatcher / Handler confusing, especially in Flusher with both a Dispatcher and Handler.  This simplifies it down to a (Metric|Event)Handler which you Dispatch(Metric|Event)s to.
Unfortunately there was some renames, and the files don't display as well as I would like.  dispatcher.go and dispatching_handler.go were largely combined then split in to handler_backend.go and handler_tags.go
I opted for a MetricHandler and an EventHandler rather than a generic Handler to allow the pipeline to diverge. Even though it doesn't.

Why not rebase? :) Cluttering git history is not cool IMO.

I will, I just wanted to quickly get it up before the receiver/decoder split comes in.

Sorry only just saw this, had my emails misconfigured.
Looks good to me! I'm a fan of separating the events and metrics paths.
(And wow github PRs are :meh:)

Think this is ready for a final review.  Quick, before the SO_REUSEPORT discussion is resolved!

LGTM!

I don't have bandwidth to properly look at this. Review from @ash2k and @brentthew should be fine.

I'll cut a release in a little while.


I found that the token which is saved , it remains there after signing out as well.

I added option to save token from twitter
   twitterOptions.SaveTokens = true;

I Added one class to get the saved token
  public class UserTokenService
    {
        private readonly IHttpContextAccessor _httpContextAccessor;
        public UserTokenService(IHttpContextAccessor httpContextAccessor)
        {
            _httpContextAccessor = httpContextAccessor;
        }
        public async Task<string> GetToken()
        {
            var token = await _httpContextAccessor.HttpContext.GetTokenAsync("access_token");
            return token;
        }
    }

After signing out  User.Identity.IsAuthenticated is false but token remains there.
I tried this in the cae of aspnet core mvc  and it does clear token there.

They are still working on Authentication/Authorization in Blazor that I think affects the expected behavior related to 'sessions' . See: https://twitter.com/ADefWebserver/status/1122504410557554689

Okay , Thanks !

So after i log in with twitter the app crashes. Is this probably why?

In the latest Preview 4, using Visual 2019 preview version, it works on my desktop and laptop...

@kyledavi5 yes , connection to the server breaks, if so try to run this without debugging , it should works.As VS automatically open browser and after login to the twitter , it closes the twitter windows so it stops the Visual studio as well.


Fixes for internal API and internal test mode

🚧  Work in progress
Fixes: https://github.com/IBM-Bluemix/gp-js-client/issues/102

ci failed because of #104


added face detection project

Face Detection Project using OpenCV.

@Vishesh-Mittal please review this PR.


#status fails on a new repo

Subject of the issue
Git::GitExecuteError (git '--git-dir=/proj/my-proj/.git' '--work-tree=/proj/my-proj' diff-index 'HEAD'  2>&1:fatal: ambiguous argument 'HEAD': unknown revision or path not in the working tree.)
when there is no HEAD.
($ git status works fine)
Your environment

version of git (2.20.1) and ruby-git (1.6.0)
version of ruby (2.6.5)

Steps to reproduce
$ cd "$(mktemp -d)"; git init .; echo 'Git.open(".").status' | ruby -rgit
Expected behaviour
a return value, perhaps?
with untracked/cached files preferably
Actual behaviour
exception above

?

@costa This happens to me as well. It looks like the culprit is that g.status doesn't actually call the git status. It calls git diff-files and then git diff-index HEAD, which will fail since there are no commits.

@costa, agree the bot is a pain.

Hey @jcouball, sorry for the delay, been a little crazy.
It was an offtopic remark, https://github.com/ruby-git/ruby-git/commit/4bef5abbba073c77b4d0ccc1ffcd0ed7d48be5d4 looks like you haven't set the author correctly.
But this is not the issue here, of course.

@jcouball a friendly reminder that this issue hasn't been resolved yet...


missing eventSubscriptions in Microsoft.EventGrid

I'm not sure it should be listed in the table, but I'd like to know if Event Grid Subscription (eventSubscriptions) can be moved between subscriptions.  Thanks.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 23df5354-6833-a5da-0eb3-d860150c8b78
Version Independent ID: 682ec206-0fda-3e0b-5841-543860a87e34
Content: Move operation support by resource type - Azure Resource Manager
Content Source: articles/azure-resource-manager/management/move-support-resources.md
Service: azure-resource-manager
GitHub Login: @tfitzmac
Microsoft Alias: tomfitz

Thanks for your comment. We are actively investigating and will get back to you shortly.

@kazshi AFAIK, you can't move event subscriptions across the subscriptions.

@kazshi - an event grid subscription can't be moved independently but it is moved automatically when the associated resource is moved. I'll clarify that point in the article.

The article has been updated with the clarification for eventSubscriptions.

#please-close

@tfitzmac Thank you for the clarification and the update.


Refactor Storybook off of Komposer/Mantra/Podda stack

These packages have not been maintained for a while. As a stop gap measure, I've published the offending packages to silence some peer dependency warnings. https://github.com/storybooks/storybook/issues/2303

Ok, I just realized that redux in core manages state in preview, and Mantra stack does it in manager. So it will be a separate store, but we can extract some shared helpers anyway

I have second thoughts about even refactoring off this stack.
I spent a good few hours trying to understand how the state management and containers work within the @storybook/ui package. It doesn't seem like I can migrate things little by little, and it's a huge effort that'd be better spent just starting fresh with a new UI like the SBNext project.


Fix for Node not being able to graphic leading documents

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


ci.yml: Fix _FORTIFY_SOURCE macro

This commit fixes the mistake in the _FORTIFY_SOURCE macro where it was not prefixed with underscore while it has to be (see e.g. https://github.com/search?q=repo%3Abminor%2Fglibc FORTIFY_SOURCE&type=code).
Additionally, to make this macro add extra security, one has to enable optimizations. I am not sure if the CI build enables them, but it is worth double checking that as well.
Overall, I would recommend using -D_FORTIFY_SOURCE=3 with  optimizations enabled. (The fortify source level 3 was added recently and you can read more about it here: https://developers.redhat.com/blog/2021/04/16/broadening-compiler-checks-for-buffer-overflows-in-_fortify_source).
You can also see the result of the correct vs incorrect macro along with optimizations and no optimizations on this screenshot (source):

I think this PR is incorrect. You are confusing the CMake variable FORTIFY_SOURCE with the C preprocessor symbol _FORTIFY_SOURCE.
You can see in our compiler.cmake that we have a CMake variable FORTIFY_SOURCE -- that's the one that the ci.yml is setting.  What that does underneath is add -D_FORTIFY_SOURCE=... to the compiler options. So I believe it's correct.
You can also see that the CMake variable allows the user to set the specific level of fortification desired, so anybody who wants level 3 can already use that by building with that option. See also in the comments that level 2 is supported by all modern gcc and clang versions and has no effect on performance, whereas level 3 is only supported by fairly new compilers and glibc releases and also has a measurable runtime performance impact, so users who want fortification need to make an informed decision about whether the higher level is available to them and worth the trade-off.

@disconnect3d Interestingly, your github history shows that just today, you made PRs on this same topic to 18 different projects. I suspect that what you did is search all of GitHub for "-DFORTIFY_SOURCE", and for each of them, assuming it was a typo, filed a PR that changed to "-D_FORTIFY_SOURCE" and included the identical Compiler Explorer screen shot and explanatory text.
I didn't check them all, but for two that I looked at randomly, you were correct -- they were using -DFORTIFY_SOURCE on the C/C++ command itself. For ours, though, the "misspelling" was actually correct all along, because it was the cmake variable, which in turn set the C++ command line argument properly.

@lgritz Thanks for pointing this out.

@disconnect3d Interestingly, your github history shows that just today, you made PRs on this same topic to 18 different projects. I suspect that what you did is search all of GitHub for "-DFORTIFY_SOURCE", and for each of them, assuming it was a typo, filed a PR that changed to "-D_FORTIFY_SOURCE" and included the identical Compiler Explorer screen shot and explanatory text.

Indeed, I used cs.github.com/grep.app/sourcegraph.com to find such cases and send PRs to multiple projects. I will double check if any of those are a similar case like this here.
On the other hand, it may make sense to rename the cmake variable to start with underscore so it has the same exact name :P.

I didn't check them all, but probably ours is the oddball and for the other projects, you did them a solid favor finding their mistake.


Cannot cast list[int] to list[int] error

I'm trying to play with the type system a little bit.
Here is a lighly modified add example, where all float being replaced by list[int].
# Standard Library
import time

# Sematic
import sematic

@sematic.func
def add(a: list[int], b: list[int]) -> list[int]:
    """
    Adds two numbers.
    """
    # time.sleep(5)
    return a + b

@sematic.func
def add3(a: list[int], b: list[int], c: list[int]) -> list[int]:
    """
    Adds three numbers.
    """
    return add(add(a, b), c)

@sematic.func
def pipeline(a: list[int], b: list[int], c: list[int]) -> list[int]:
    """
    ## This is the docstring

    A trivial pipeline to showcase basic future encapsulation.

    This pipeline simply adds a bunch of numbers. It shows how calculators can
    be arbitrarily nested.

    ### It supports markdown

    `pretty_cool`.
    """
    sum1 = add(a, b)
    sum2 = add(b, c)
    sum3 = add(a, c)
    print(f"HELLO {sum3}")
    return add3(sum1, sum2, sum3)

I'm getting this error
Error executing future
Traceback (most recent call last):
  File "/home/sergei.vorobev/anaconda3/lib/python3.9/site-packages/sematic/calculator.py", line 161, in calculate
    output = self.func(**kwargs)
  File "/home/sergei.vorobev/workspaces/sematic/src/github.com/sematic-ai/my_new_project/pipeline.py", line 43, in pipeline
    return add3(sum1, sum2, sum3)
  File "/home/sergei.vorobev/anaconda3/lib/python3.9/site-packages/sematic/calculator.py", line 143, in __call__
    cast_arguments = self.cast_inputs(argument_map)
  File "/home/sergei.vorobev/anaconda3/lib/python3.9/site-packages/sematic/calculator.py", line 188, in cast_inputs
    return {
  File "/home/sergei.vorobev/anaconda3/lib/python3.9/site-packages/sematic/calculator.py", line 189, in <dictcomp>
    name: self.cast_value(
  File "/home/sergei.vorobev/anaconda3/lib/python3.9/site-packages/sematic/calculator.py", line 228, in cast_value
    raise TypeError(
TypeError: Invalid input type for argument 'a' when calling 'my_new_project.pipeline.add3'. Cannot cast list[int] to list[int]: Can't cast list[int] to list[int]: not a subscripted generic

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/sergei.vorobev/anaconda3/lib/python3.9/site-packages/sematic/resolvers/silent_resolver.py", line 22, in _run_inline
    value = future.calculator.calculate(**future.resolved_kwargs)
  File "/home/sergei.vorobev/anaconda3/lib/python3.9/site-packages/sematic/calculator.py", line 163, in calculate
    raise CalculatorError(f"Error from running {self.func.__name__}") from e
sematic.abstract_calculator.CalculatorError: Error from running pipeline
Traceback (most recent call last):
  File "/home/sergei.vorobev/anaconda3/lib/python3.9/site-packages/sematic/calculator.py", line 161, in calculate
    output = self.func(**kwargs)
  File "/home/sergei.vorobev/workspaces/sematic/src/github.com/sematic-ai/my_new_project/pipeline.py", line 43, in pipeline
    return add3(sum1, sum2, sum3)
  File "/home/sergei.vorobev/anaconda3/lib/python3.9/site-packages/sematic/calculator.py", line 143, in __call__
    cast_arguments = self.cast_inputs(argument_map)
  File "/home/sergei.vorobev/anaconda3/lib/python3.9/site-packages/sematic/calculator.py", line 188, in cast_inputs
    return {
  File "/home/sergei.vorobev/anaconda3/lib/python3.9/site-packages/sematic/calculator.py", line 189, in <dictcomp>
    name: self.cast_value(
  File "/home/sergei.vorobev/anaconda3/lib/python3.9/site-packages/sematic/calculator.py", line 228, in cast_value
    raise TypeError(
TypeError: Invalid input type for argument 'a' when calling 'my_new_project.pipeline.add3'. Cannot cast list[int] to list[int]: Can't cast list[int] to list[int]: not a subscripted generic

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/sergei.vorobev/anaconda3/lib/python3.9/site-packages/sematic/resolvers/silent_resolver.py", line 22, in _run_inline
    value = future.calculator.calculate(**future.resolved_kwargs)
  File "/home/sergei.vorobev/anaconda3/lib/python3.9/site-packages/sematic/calculator.py", line 163, in calculate
    raise CalculatorError(f"Error from running {self.func.__name__}") from e
sematic.abstract_calculator.CalculatorError: Error from running pipeline

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/sergei.vorobev/anaconda3/lib/python3.9/runpy.py", line 197, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/home/sergei.vorobev/anaconda3/lib/python3.9/runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "/home/sergei.vorobev/workspaces/sematic/src/github.com/sematic-ai/my_new_project/__main__.py", line 18, in <module>
    main()
  File "/home/sergei.vorobev/workspaces/sematic/src/github.com/sematic-ai/my_new_project/__main__.py", line 14, in main
    print(pipeline([1], [2], [3]).resolve())
  File "/home/sergei.vorobev/anaconda3/lib/python3.9/site-packages/sematic/future.py", line 39, in resolve
    self.value = resolver.resolve(self)
  File "/home/sergei.vorobev/anaconda3/lib/python3.9/site-packages/sematic/resolvers/state_machine_resolver.py", line 38, in resolve
    self._resolution_loop()
  File "/home/sergei.vorobev/anaconda3/lib/python3.9/site-packages/sematic/resolvers/state_machine_resolver.py", line 68, in _resolution_loop
    self._schedule_future_if_args_resolved(future_)
  File "/home/sergei.vorobev/anaconda3/lib/python3.9/site-packages/sematic/resolvers/state_machine_resolver.py", line 282, in _schedule_future_if_args_resolved
    self._execute_future(future)
  File "/home/sergei.vorobev/anaconda3/lib/python3.9/site-packages/sematic/resolvers/state_machine_resolver.py", line 293, in _execute_future
    self._run_inline(future)
  File "/home/sergei.vorobev/anaconda3/lib/python3.9/site-packages/sematic/resolvers/silent_resolver.py", line 31, in _run_inline
    self._handle_future_failure(future, format_exception_for_run(e))
  File "/home/sergei.vorobev/anaconda3/lib/python3.9/site-packages/sematic/resolvers/state_machine_resolver.py", line 333, in _handle_future_failure
    raise ResolutionError(exception_metadata, external_exception_metadata)
sematic.utils.exceptions.ResolutionError: The pipeline resolution failed due to previous errors!

Pipeline failure:
Traceback (most recent call last):

  File "/home/sergei.vorobev/anaconda3/lib/python3.9/site-packages/sematic/calculator.py", line 161, in calculate
    output = self.func(**kwargs)

  File "/home/sergei.vorobev/workspaces/sematic/src/github.com/sematic-ai/my_new_project/pipeline.py", line 43, in pipeline
    return add3(sum1, sum2, sum3)

  File "/home/sergei.vorobev/anaconda3/lib/python3.9/site-packages/sematic/calculator.py", line 143, in __call__
    cast_arguments = self.cast_inputs(argument_map)

  File "/home/sergei.vorobev/anaconda3/lib/python3.9/site-packages/sematic/calculator.py", line 188, in cast_inputs
    return {

  File "/home/sergei.vorobev/anaconda3/lib/python3.9/site-packages/sematic/calculator.py", line 189, in <dictcomp>
    name: self.cast_value(

  File "/home/sergei.vorobev/anaconda3/lib/python3.9/site-packages/sematic/calculator.py", line 228, in cast_value
    raise TypeError(

TypeError: Invalid input type for argument 'a' when calling 'my_new_project.pipeline.add3'. Cannot cast list[int] to list[int]: Can't cast list[int] to list[int]: not a subscripted generic

Hello, @vors! Please use typing.List instead of list, as explained here. Please let us know if you have any other issues with this example.

I see, yes this works just fine.


Embeddings breaks on unknown strings

You can replicate the failure with this script after cloning into main.
cargo run --release --bin embeddings --package embeddings -- "The way to kill embeddings is giving tokens it can not convert back to string like தமிழ் తెలుగు for example." hf-model CompendiumLabs/bge-base-en-v1.5-gguf bge-base-en-v1.5-f16.gguf
Output:
...
Prompt 0
101 -->
1996 -->  the
2126 -->  way
2000 -->  to
3102 -->  kill
7861 -->  em
8270 --> bed
4667 --> ding
2015 --> s
2003 -->  is
3228 -->  giving
19204 -->  token
2015 --> s
2009 -->  it
2064 -->  can
2025 -->  not
10463 -->  convert
2067 -->  back
2000 -->  to
5164 -->  string
2066 -->  like
1385 -->  த
29925 --> ம
Error: Unknown Token Type

I fixed it locally but can't make a pull request as it's limited to collaborators.
I have it here if you want to have a look: fix/handle_unk_tokens_emb

You should be able to make PRs, did you fork the repo and make the PR from the fork?

Sorry, I messed up the github accounts I was using, created the PR now

resolved in #250 thanks!


Publish at flathub as flatpak

Description
It will be great to publish the app and runtime/compiler as flatpak at flathub.
Use Case
All linux users can easily install and auto update the app, thank you.

As far as I know the app end of Typst is not open source and only deployed on their proprietary domain. One cannot even run it locally from public sources. Only the compiler itself is open source.
As for the compiler, I don't think it makes any sense at all to wrap in in a Flatpak because all it is is a single statically linked binary anyway.

As far as I know the app end of Typst is not open source and only deployed on their proprietary domain. One cannot even run it locally from public sources. Only the compiler itself is open source.
As for the compiler, I don't think it makes any sense at all to wrap in in a Flatpak because all it is is a single statically linked binary anyway.

Well, flathub and flatpak don't care the app is open source or not. For the compiler I think can make it as extension of freedesktop runtime just like texlive.
Or maybe I should looking for third typst application?

There is no official local app yet, so there is nothing to publish.


Add DeepStream3.0 examples

PR to add DeepStream3.0 examples to retinanet-examples/extras/deepstream
TODO:

Test README instructions on Volta & Turing Tesla GPUs
Ensure workflow on Jetson Xavier works as advertised
Update main README to include DeepStream and pointer to DeepStream specific README

:+1:


Adding XPEHH

I have added the functions for XP-EHH, mostly copying the code for IHS with minor changes. I will be looking at the tests before requesting a review.

I added a test in tests/test_ag3.py and it passed so it is probably ready for review.

Sounds good to me!


Removes Html links from the doc strings

These don't work in the Asciidoc output, and most of these are covered by the new mo-doc cross-referencing anyways.
Fixes #215

A shame to lose some of those links

Most of those links will basically be added for free when the type cross-referencing PR is released. But I agree it would be nice to have good mechanism for user defined links.


The browser page is different in the flask app than in the python app code.

When I run Flask and then open up localhost:5000, the displayed page is a simple text-entry box with a "Name my pet" label and a button labeled, "Generate Names", all which work.  However, the app.py code displays an entirely different prompt design.  The app.py prompt starts with "Suggest three names for an animal that is a superhero" and displays examples (e.g., Animal: Cat, Names: Captain SharpClaw,  Agent Fluffball, The Incredible Feline, etc.).  Why is the web page prompt in the flask framework different than the app.py code prompt?

Updated the app! This should be resolved now.


Some questions about orca-server-mahimahi.cc

Hello, thank you very much for your contribution to the community. Here I would like to ask you a question. What is the purpose of setting target_ratio=1.1*orca_info for each time in the slow startup stage?
It seems that you did not mention this in your paper.
Thank you very much for your answer.
Here is the corresponding code snippet,
if(!slow_start_passed)
{
//got_no_zero=1;
tcp_info_pre=orca_info;
t0=timestamp();
                    target_ratio=1.1*orca_info.cwnd;
                    ret1 = setsockopt(sock_for_cnt[i], IPPROTO_TCP,TCP_CWND, &target_ratio,sizeof(target_ratio));
                    if(ret1<0)
                    {
                       DBGPRINT(0,0,"setsockopt: for index:%d flow_index:%d ... %s (ret1:%d)\n",i,          flow_index,strerror(errno),ret1);
                       return((void *)0);
                    }

@Soheil-ab

Hey @Alan-JW ,
Good question! Before handing the control to Orca, we add another 10% increase steps on cwnd during slow-start phase to increase the chance of observing a higher maximum value for the throughput. That will help later, when normalized values of throughput (normalized to the maximum seen so far) are fed to the system.
Hope that it answers your question. Please let me know if you have any other questions.

Thank you very much for your answer. What do you mean by "increase the chance of observing a higher maximum value for the throughput"?
@Soheil-ab

@Alan-JW ,
The throughput that a user observes/gains relates to (at least) the number of competing flows in the network. Therefore, the maximum throughput that a user observes can vary based on the number of competing flows and the specific CC protocol that they use. IOW, also the maximum achievable throughput for a user is capped by the bottleneck link bandwidth, the user may or may not achieve that value.
That said, the 10%-increased-steps during the slow-start phase, increases the chance of observing a higher (gained) throughput (temporarily). And this will lead to the increase in "the chance of observing a higher maximum value for the throughput".


Fix repo content processing in pulp_sync

Signed-off-by: Luiz Carvalho<EMAIL_ADDRESS>

Fix was for issue that had not yet made it into a release, so not updating release notes.

This is a fix to https://github.com/projectatomic/atomic-reactor/pull/824.


Browser.presentUrl is undefined

I couldn't make it work with:

React Native 0.45
React 16 (alpha 12)
Expo (SDK 18)

I always get this error message when I trigger any basic Browser.open('http://www.wikipedia.com/');
undefined is not an object (evaluating 'Browser.presentUrl')

Any help would be appreciated.
@mfkp : Is this project still maintained?

@melalj Did you resolve this? Or maybe you found a different solution?

No luck 😞
Just using the native module Linking at the moment.

I have the same issue, it woks on ios but not on android

Hey guys, sorry for slow reply. This project was initially only built for iOS, so it does not have a native module for Android. I don't have a lot of time to do research on an equivalent module for Android, but I think it shouldn't be too hard to just open up a Chrome webview inside the app. If anyone wants to do some research on how that works, I'm open to adding collaborators and/or merging a pull request to implement that!

Same issue, can't find libRTCBrowser.a.


Clarify which instruction-length encodings are being ratified

Instruction-length encodings are in the Introduction chapter, which is not one of the modules being ratified.  That suggests to me that instruction-length encodings >32b are not up for ratification.
We should state explicitly which aspects of the Introduction chapter are or are not proposed for ratification.
(cc @asb)

Closed via 1d8fbc86a56d9b200bdc6fa5d20afa2aa0d3af8d


Visit nested properties directly while discovering properties

This simplifies the logic somewhat, and takes us closer to separating the discovery from visiting the actual values.

@bot-gradle test QFL please.

OK, I've already triggered the following builds for you:

QuickFeedbackLinux build

@bot-gradle test QFL please.

OK, I've already triggered the following builds for you:

QuickFeedbackLinux build

@bot-gradle test and merge please.

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

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

@bot-gradle test and merge

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

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

Pre-tested commit build failed.

@bot-gradle test and merge

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

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


Add depiction coordinates to molzip

What does this implement/fix? Explain your changes.
When performing molecule zipping from fragments/decomposition it would be nice if the fragments could be depicted aligned to the zipped molecule.
I've added a generateCoordinates option  for MolzipParams and a new molzipFragments function that takes a vector of molecules (the fragments) and parameters.  On zipping depiction coordinates are set on the output molecule and input fragments.

# %%
import os
from rdkit import Chem
from rdkit import IPythonConsole
IPythonConsole.ipython_useSVG = True
from rdkit.Chem.Draw import IPythonConsole
from rdkit.Chem import PandasTools
from rdkit.Chem import Draw
# %%

smiles = ["c1nc([1*:1])c([2*:2])c([3*:3])n1", "CC(C)(C#N)c1ccc([1*:1])cc1", "Nc1ccc(C#C[2*:2])cn1", "CC[3*:3]"]
mols = [Chem.MolFromSmiles(s) for s in smiles]
Draw.MolsToGridImage(mols, 4)

# %%
p = Chem.MolzipParams()
p.generateCoordinates = True
zipped_mol = Chem.molzipFragments(mols, p)
zipped_mol
# %%
Draw.MolsToGridImage(mols, 4)

After zipping the fragments are aligned to the zipped molecule:

Any other comments?

This is ace.  I think adding some docs would be good here, especially since the decomposition has the constraint that the core needs to come first.

This is ace. I think adding some docs would be good here, especially since the decomposition has the constraint that the core needs to come first.

I've done that.

I can add this to the C++ docs as well in a separate PR.


Ledger: gas estimation from Safe is overwritten by Ledger

From Discord:

user on EH Mainnet is having issues with editing the gas price on the advanced options. When user tried to execute the transaction, Gnosis estimated 59 gas price, so he increased it to 65 and when the transaction went through it dropped to 51. Why does the gas price changed to a lower value even though it was set at a higher gas price?

User was using Ledger Nano S, updated to the most recent firmware (2.1.0)

He said he never had this issue before, only recently.

I suspect this isn't Ledger specific. I'm using a Trezor One, overrode the gas price of over 200gwei under advanced to be about 80gwei. I did not notice that it had ignored my override and submitted a transaction with the larger default fee. Confirmed this happened again, and it showed the wrong (unoverriden) on the Trezor screen.

@francovenica could you verify this behavior?

Yes, it seems that the ledger is not picking up our estimation and just taking from some oracle.
In ETH mainnet, I tried to artificially set it 70k gas limit and 200 Gwei for an estimated 0.014 eth fee, but the leger showed a number more close to the initial estimation of 69300k gas limit and 90 Gwei for an estimated 0.0062 eth fee

I tried the same in rinkeby. There we estimate with the values that the oracle returns for ethereum mainnet, but in reality 1Gwei is enough price for any transaction, so what you can see in the ledger is an estimated fee taking the Gwei price of 1, instead of the price set during the tx review.
TL;DR: Our estimation is not being passed to the ledger, some oracle is estimating for us  when the tx reaches the device

Will be fixed in #4009.


Ability to edit event from UI

sample code for testing
$('.divcalendar').scheduler().editEvent({
$id: 17,
title: 'This is changed',
start: 'Wed, 22 Feb 2017 00:00:00 GMT',
end: 'Wed, 22 Feb 2017 03:00:00 GMT'
})


Adjust smoketests for SAF2

This is the initial proposal for getting the smoketest back on track for SAF2
Events part not working yet

Hey sorry I accidentally resolved a comment from previously and apparently this interface doesn’t allow for unhiding comments easily. The comment was about the DNS settings for the script. The other advantage of using the short name is that now you don’t need to worry so much about the name space. Whatever name space you’re operating in as long as there are objects with that DNS name all your testing should resolve.

Hey sorry I accidentally resolved a comment from previously and apparently this interface doesn’t allow for unhiding comments easily. The comment was about the DNS settings for the script. The other advantage of using the short name is that now you don’t need to worry so much about the name space. Whatever name space you’re operating in as long as there are objects with that DNS name all your testing should resolve.

No worries, and again: yes, using short DNS names is what we want.
I am undecided yet, if the smoke test should verify other peoples deployments, of if it should be a smoke test for gating functionality.

Yea agreed I don't think smoke test is appropriate place for that kind of testing.
I do agree that having smoke test use the saf-default setup makes sense. It also simplifies the smoke test script and gives us a test for the alm-example in the CSV.

" if the smoke test should verify other peoples deployments, o[r] if it should be a smoke test for gating functionality"
Sorry, I didn't mean to cause confusion here. The primary purpose of this smoketest is to gate changes for CI. My suggestion is that it would be a better test if it used the default SGs that SAF builds rather than building it's own SGs. Anything beyond that is for another time.

On my infra, the tests succeed (minus ES).
Inserting an exit 0 in smoketest_entrypoint.sh just before events_result=0 (line 84), then we'll get a pass.

*** [SUCCESS] Smoke test job completed successfully
Works for me!

Are the tests in Travis-CI intended to pass? If that's not possible, then I suggest we disable for the master branch until we determine how to test for OCP4 in the upstream CI.

In travis, SAO did not come up after 50 mins. Question is, what prevented if from being deployed.

I think the basic problem is that minishift doesn't have OLM? In any case until there is an equivalent for OCP4, I agree that we should probably just remove the .travis.yml  for now :-(

This worked for me. The events test also appeared to work (I didn't add an exit 0 line). Here is some events related output:

Thanks for checking.
If you had to add an exit 0, that'd be a bug. It is supposed to work with metrics and events on SAF 2.0. If there oc cluster up for OCP4, this should pass on CI unmodified.


Prepare release Metrics Advisor Patch April 2022

API change check for com.azure:azure-ai-metricsadvisor
API changes are not detected in this pull request for com.azure:azure-ai-metricsadvisor


Use location hints to improve goto definition

Codecov Report

Merging #265 (1b32b82) into main (1888026) will decrease coverage by 0.23%.
The diff coverage is 36.04%.

@@            Coverage Diff             @@
##             main     #265      +/-   ##
==========================================
- Coverage   43.89%   43.66%   -0.24%
==========================================
  Files         125      125
  Lines       17839    18380     +541
  Branches     1095     1140      +45
==========================================
+ Hits         7830     8025     +195
- Misses      10009    10355     +346

Impacted Files
Coverage Δ

...e-languageservice/src/contracts/LanguageService.ts
0.00% <0.00%> (ø)

...languageservice/src/features/CompletionsService.ts
0.00% <0.00%> (ø)

...-languageservice/src/features/DefinitionService.ts
0.00% <0.00%> (ø)

...ges/vue-virtual-textdocument/src/VueSFCDocument.ts
67.72% <50.00%> (ø)

packages/transforms/src/index.ts
75.44% <63.31%> (-7.44%)
:arrow_down:

...s/vue-virtual-textdocument/src/VueBlockDocument.ts
79.89% <85.23%> (+2.69%)
:arrow_up:

...s/vue-virtual-textdocument/src/BlockTransformer.ts
77.73% <87.50%> (+5.38%)
:arrow_up:

packages/compiler-tsx/src/generate.ts
90.14% <100.00%> (+0.02%)
:arrow_up:

packages/compiler-tsx/src/index.ts
100.00% <100.00%> (ø)

... and 2 more

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 1888026...1b32b82. Read the comment docs.


CFE is missing an error for const class with late field

Failing test:
co19/LanguageFeatures/nnbd/static_errors_A23_t01

The error is reported but on the constructor and not on the field as expected by the test.
@stefantsov Maybe we change this if we change #42844 and #42967 (and #40951).


Cannot connect to existing Jupyter Server: "... Server with this URL already exists"

Applies To

[X] Notebooks (.ipynb files)
[ ] Interactive Window and/or Cell Scripts (.py files with #%% markers)

What happened?
I would like to choose an existing Jupyter Server to run my notebooks in VSCode. This used to be possible in the way that is described here. The "Specify Jupyter Server for Connections" option is now deprecated, however. The recommended procedure is to hit "Select Kernel" in the top right corner and to choose "Existing Jupyter Server" from the dropdown menu. Once that's done, I pick "Enter the URL of the running Jupyter server" and enter the URL of the running server. After hitting enter, VSCode does not connect me with that server and instead complains that "A Jupyter Server with this URL already exists".
This message is very puzzling because the whole point of this procedure was exactly that: to connect me to an existing jupyter server. I suspect that this is very likely a bug because VSCode indeed finds my running server but does not establish the connection although this is the now recommended way of connecting to running jupyter servers.
So, how then can I establish the connection to the Jupyter Server?
Further background: The Jupyter Server is running inside a container on a remote machine. I am connecting to that remote machine and attach VSCode to the running container. The first time when I connect to the container, VSCode prompts for the password of my Jupyter Server. According to the logs, this password is invalid. I copy-pasted it and it therefore must be correct. I verified that I can connect to the server in the browser using that very same token. So is it possible that VSCode may not process my password correctly?
Cheers,
Michael
VS Code Version
Version: 1.78.2 (Universal) Commit: b3e4e68a0bc097f0ae7907b217c1119af9e03435 Date: 2023-05-10T14:44:45.204Z Electron: 22.5.2 Chromium: 108.0.5359.215 Node.js: 16.17.1 V8: <IP_ADDRESS>-electron.0 OS: Darwin arm64 21.6.0 Sandboxed: Yes
Jupyter Extension Version
v2023.4.1011241018
Jupyter logs
Visual Studio Code (1.78.2, attached-container, desktop)
Jupyter Extension Version: 2023.4.1011241018.
Python Extension Version: 2023.8.0.
Platform: linux (x64).
Workspace folder ~/experiments/TrueScenometry/code, Home = /home/USERNAME
10:05:54.909 [info] Start refreshing Kernel Picker<PHONE_NUMBER>909)
10:05:54.934 [info] Using Pylance
10:05:55.092 [info] Connecting remote server kernel http://<IP_ADDRESS>:8888/
10:05:55.092 [info] Connecting remote server kernel http://<IP_ADDRESS>:8888/
10:05:55.095 [info] Connecting remote server kernel http://localhost:8888/
10:05:55.621 [warn] Password for http://<IP_ADDRESS>:8888/ was invalid.
10:05:55.681 [error] Error fetching kernels from http://<IP_ADDRESS>:8888/ (<IP_ADDRESS>, jupyter): [t [Error]: Forbidden
	at Function.create (~/.vscode-server/extensions/ms-toolsai.jupyter-2023.4.1011241018-linux-x64/out/extension.node.js:2:68133)
	at processTicksAndRejections (node:internal/process/task_queues:96:5)
	at async Object.t.listRunning (~/.vscode-server/extensions/ms-toolsai.jupyter-2023.4.1011241018-linux-x64/out/extension.node.js:2:55998)
	at async jf.getRunningKernels (~/.vscode-server/extensions/ms-toolsai.jupyter-2023.4.1011241018-linux-x64/out/extension.node.js:17:177115)
	at async Promise.all (index 0)
	at async Bf.listKernelsFromConnection (~/.vscode-server/extensions/ms-toolsai.jupyter-2023.4.1011241018-linux-x64/out/extension.node.js:17:188567)
	at async ~/.vscode-server/extensions/ms-toolsai.jupyter-2023.4.1011241018-linux-x64/out/extension.node.js:17:186840] {
  response: L [Response] {
    size: 0,
    timeout: 0,
    [Symbol(Body internals)]: { body: [PassThrough], disturbed: true, error: null },
    [Symbol(Response internals)]: {
      url: 'http://<IP_ADDRESS>:8888/api/kernels?1685693155648',
      status: 403,
      statusText: 'Forbidden',
      headers: [T [Headers]],
      counter: 0
    }
  },
  traceback: ''
}
10:05:55.687 [error] Error fetching kernels from http://<IP_ADDRESS>:8888/ (<IP_ADDRESS>, jupyter): [t [Error]: Forbidden
	at Function.create (~/.vscode-server/extensions/ms-toolsai.jupyter-2023.4.1011241018-linux-x64/out/extension.node.js:2:68133)
	at processTicksAndRejections (node:internal/process/task_queues:96:5)
	at async Object.t.listRunning (~/.vscode-server/extensions/ms-toolsai.jupyter-2023.4.1011241018-linux-x64/out/extension.node.js:2:55998)
	at async jf.getRunningKernels (~/.vscode-server/extensions/ms-toolsai.jupyter-2023.4.1011241018-linux-x64/out/extension.node.js:17:177115)
	at async Promise.all (index 0)
	at async Bf.listKernelsFromConnection (~/.vscode-server/extensions/ms-toolsai.jupyter-2023.4.1011241018-linux-x64/out/extension.node.js:17:188567)
	at async ~/.vscode-server/extensions/ms-toolsai.jupyter-2023.4.1011241018-linux-x64/out/extension.node.js:17:186840] {
  response: L [Response] {
    size: 0,
    timeout: 0,
    [Symbol(Body internals)]: { body: [PassThrough], disturbed: true, error: null },
    [Symbol(Response internals)]: {
      url: 'http://<IP_ADDRESS>:8888/api/kernels?1685693155650',
      status: 403,
      statusText: 'Forbidden',
      headers: [T [Headers]],
      counter: 0
    }
  },
  traceback: ''
}
10:05:55.692 [error] UniversalRemoteKernelFinder: Failed to get kernels without cache [t [Error]: Forbidden
	at Function.create (~/.vscode-server/extensions/ms-toolsai.jupyter-2023.4.1011241018-linux-x64/out/extension.node.js:2:68133)
	at processTicksAndRejections (node:internal/process/task_queues:96:5)
	at async Object.t.listRunning (~/.vscode-server/extensions/ms-toolsai.jupyter-2023.4.1011241018-linux-x64/out/extension.node.js:2:55998)
	at async jf.getRunningKernels (~/.vscode-server/extensions/ms-toolsai.jupyter-2023.4.1011241018-linux-x64/out/extension.node.js:17:177115)
	at async Promise.all (index 0)
	at async Bf.listKernelsFromConnection (~/.vscode-server/extensions/ms-toolsai.jupyter-2023.4.1011241018-linux-x64/out/extension.node.js:17:188567)
	at async ~/.vscode-server/extensions/ms-toolsai.jupyter-2023.4.1011241018-linux-x64/out/extension.node.js:17:186840] {
  response: L [Response] {
    size: 0,
    timeout: 0,
    [Symbol(Body internals)]: { body: [PassThrough], disturbed: true, error: null },
    [Symbol(Response internals)]: {
      url: 'http://<IP_ADDRESS>:8888/api/kernels?1685693155648',
      status: 403,
      statusText: 'Forbidden',
      headers: [T [Headers]],
      counter: 0
    }
  },
  traceback: ''
}
10:05:55.692 [error] SessionManager:getKernelSpecs failure:  [Error: Poll (@jupyterlab/services:KernelSpecManager#specs) is disposed.
	at e.dispose (~/.vscode-server/extensions/ms-toolsai.jupyter-2023.4.1011241018-linux-x64/out/extension.node.js:2:171555)
	at u.dispose (~/.vscode-server/extensions/ms-toolsai.jupyter-2023.4.1011241018-linux-x64/out/extension.node.js:2:62984)
	at jf.dispose (~/.vscode-server/extensions/ms-toolsai.jupyter-2023.4.1011241018-linux-x64/out/extension.node.js:17:176229)
	at processTicksAndRejections (node:internal/process/task_queues:96:5)
	at async Bf.listKernelsFromConnection (~/.vscode-server/extensions/ms-toolsai.jupyter-2023.4.1011241018-linux-x64/out/extension.node.js:17:189405)
	at async ~/.vscode-server/extensions/ms-toolsai.jupyter-2023.4.1011241018-linux-x64/out/extension.node.js:17:186840]
10:05:55.693 [error] UniversalRemoteKernelFinder: Failed to get kernels without cache [t [Error]: Forbidden
	at Function.create (~/.vscode-server/extensions/ms-toolsai.jupyter-2023.4.1011241018-linux-x64/out/extension.node.js:2:68133)
	at processTicksAndRejections (node:internal/process/task_queues:96:5)
	at async Object.t.listRunning (~/.vscode-server/extensions/ms-toolsai.jupyter-2023.4.1011241018-linux-x64/out/extension.node.js:2:55998)
	at async jf.getRunningKernels (~/.vscode-server/extensions/ms-toolsai.jupyter-2023.4.1011241018-linux-x64/out/extension.node.js:17:177115)
	at async Promise.all (index 0)
	at async Bf.listKernelsFromConnection (~/.vscode-server/extensions/ms-toolsai.jupyter-2023.4.1011241018-linux-x64/out/extension.node.js:17:188567)
	at async ~/.vscode-server/extensions/ms-toolsai.jupyter-2023.4.1011241018-linux-x64/out/extension.node.js:17:186840] {
  response: L [Response] {
    size: 0,
    timeout: 0,
    [Symbol(Body internals)]: { body: [PassThrough], disturbed: true, error: null },
    [Symbol(Response internals)]: {
      url: 'http://<IP_ADDRESS>:8888/api/kernels?1685693155650',
      status: 403,
      statusText: 'Forbidden',
      headers: [T [Headers]],
      counter: 0
    }
  },
  traceback: ''
}
10:05:55.694 [error] SessionManager:getKernelSpecs failure:  [Error: Poll (@jupyterlab/services:KernelSpecManager#specs) is disposed.
	at e.dispose (~/.vscode-server/extensions/ms-toolsai.jupyter-2023.4.1011241018-linux-x64/out/extension.node.js:2:171555)
	at u.dispose (~/.vscode-server/extensions/ms-toolsai.jupyter-2023.4.1011241018-linux-x64/out/extension.node.js:2:62984)
	at jf.dispose (~/.vscode-server/extensions/ms-toolsai.jupyter-2023.4.1011241018-linux-x64/out/extension.node.js:17:176229)
	at processTicksAndRejections (node:internal/process/task_queues:96:5)
	at async Bf.listKernelsFromConnection (~/.vscode-server/extensions/ms-toolsai.jupyter-2023.4.1011241018-linux-x64/out/extension.node.js:17:189405)
	at async ~/.vscode-server/extensions/ms-toolsai.jupyter-2023.4.1011241018-linux-x64/out/extension.node.js:17:186840]
10:05:55.879 [warn] Failed to get activated env vars for /usr/bin/python3 in 404ms
10:05:55.902 [info] Process Execution: /usr/bin/python3 -c "import site;print("USER_BASE_VALUE");print(site.USER_BASE);print("USER_BASE_VALUE");"
10:05:55.947 [info] Process Execution: /usr/bin/python3 -m pip list
10:05:56.010 [info] Process Execution: /usr/bin/python3 -c "import pip;print('6af208d0-cb9c-427f-b937-ff563e17efdf')"
10:06:08.496 [warn] Password for http://localhost:8888/ was invalid.
10:06:09.686 [info] End refreshing Kernel Picker<PHONE_NUMBER>909)

Coding Language and Runtime Version
No response
Language Extension Version (if applicable)
No response
Anaconda Version (if applicable)
No response
Running Jupyter locally or remotely?
Remote

Thank you for filing this issue, I believe I know whats going on here and will try to get this fixed for the next iteration.

@mmbannert this should be fixed in the current release.
Leaving this issue open to resolve some debt.

This has been fixed in the latest main branch (hence in the pre-release version)
Fixed here https://github.com/microsoft/vscode-jupyter/pull/13725


Does the Catmull--Rom quaternion spline ensure C2 continuity?

I didn't find if it is C2 continuous in the documentation. Or if it can achieve higher order of continuity?

I haven't tried to calculate the second derivative of quaternion curves yet, and I don't even know what that would mean ... some kind of angular acceleration? But I'm quite sure that the curve is not C2 continuous, because the Euclidean CR spline isn't either.
Strictly speaking, I haven't really calculated the first derivative either. But the logarithmic map (which is kinda related to the first derivative) is identical at the control points, so I would call that "C1", even if I can't prove that in any strict mathematical sense.
Anyway, I would expect the situation to be similar to Euclidean CR splines, but I can't give any mathematically sound statements about this.
Does that help?
What do you need that information for?

Or if it can achieve higher order of continuity?

If we are talking about the "cubic" case: no. With 4 points that's impossible in the Euclidean case, and I don't see why this should be different for rotations.
If you want to use 6 points (for a "quintic" spline) or 8 (for "septic") you can try to apply the Barry-Goldman algorithm (which should work for arbitrary degrees), but I don't think that's what you want, right?

Actually I am using the quaternion spline to generate trajectory for robot arm. So the derivatives are also useful information. Because we need to compute the velocity and acceleration command to drive the robot.
Do you mean the Barry-Goldman algorithm can also compute the control points that interpolate a sequence of rotations?
I found a paper discussing the C2 continuous quintic spherical bezier curve for orientations. The derivatives are also discussed. And it is also near arc length parameterized. Also it is synchronized with the position spline.
A constant feed and reduced angular acceleration interpolation algorithm for multi-axis machining

This article P8 provided a numerical way to compute the control points to achieve C2 continuity. But I could not understand the content...

Disclaimer: I have no experience with robotics or milling or anything like that, so be careful when using anything I'm writing here.

Do you mean the Barry-Goldman algorithm can also compute the control points that interpolate a sequence of rotations?

Yes, definitely: https://splines.readthedocs.io/en/latest/rotation/barry-goldman.html
Note that the (cubic) Barry-Goldman algorithm yields an interpolating spline with local control, which can therefore not have C2 continuity (it can only have two of these three things: interpolating, local control, C2 continuity).
I've only showed the cubic case, but it should be possible to use the Barry-Goldman algorithm to create a quintic spline, which I guess should have C2 continuity (but I'm not sure), while still having local control.

And they would not be (near) arc-length parameterized.

I found a paper discussing the C2 continuous quintic spherical bezier curve for orientations. The derivatives are also discussed. And it is also near arc length parameterized. Also it is synchronized with the position spline. A constant feed and reduced angular acceleration interpolation algorithm for multi-axis machining

Note that this paper uses "orientation unit vectors" (which form the unit sphere S2), while I'm using quaternions (which form the unit hypersphere S3).
Therefore, they have one fewer degrees of freedom (which is enough, because the tool is spinning).
They are interpolating on S2 using something similar to "natural splines", which I have only described in the Euclidean case (https://splines.readthedocs.io/en/latest/euclidean/natural.html) but not for rotations (which I guess would be much more complicated).
They use an interpolating spline without local control, therefore they can achieve C2 continuity.

This article P8 provided a numerical way to compute the control points to achieve C2 continuity. But I could not understand the content...

Me neither!
But AFAIU they also use a spline without local control and can therefore achieve C2 continuity.
I don't understand enough to be able to implement this, but maybe you find some hints in their Python implementation: https://github.com/olivierverdier/bsplinelab?


Install requires using PEP 508 URL reference + environment markers

Using this requirement:
numpypy@git+ssh://bitbucket.org/pypy/numpy.git; platform_python_implementation == "PyPy"
Gives the following error:
'install_requires' must be a string or list of strings containing valid project/version requirement specifiers; Invalid requirement, parse error at "'platform'"
Install requires seems to work with URL reference or environment markers, but not when both are combined.

Please provide more info: setuptools version? Sample setup.py? Note that easy_install does not support PEP 508 direct URLs, so if you're not using pip install this won't work anyway.

setuptools==41.0.1
Sample setup.py:
from setuptools import setup, find_packages

setup(name='test',
      install_requires=['numpypy@git+ssh://bitbucket.org/pypy/numpy.git; platform_python_implementation == "PyPy"'])

Error:
$ python setup.py sdist error in test setup command: 'install_requires' must be a string or list of strings containing valid project/version requirement specifiers; Invalid requirement, parse error at "'platform'"

You're requirement is not valid: you're missing at least one space between the URL and ; (see PEP 508 grammar specification):

url_req       = name wsp* extras? wsp* urlspec wsp+ quoted_marker?

Try:
['numpypy@git+ssh://bitbucket.org/pypy/numpy.git ; platform_python_implementation == "PyPy"']

Ugh you are right. Thank you. -.-


Feature requests: Change streams at the bottom of a menu item

I like to use the preset streams, but I find it annoying to always change them in the settings.
Couldn't you put some kind of sub-item at the bottom where you can pause the stream, maybe a "3 dashes" icon or something, to make the streams selectable when pressed?

Closing as duplicate, see #25 :)


Clearing search keyword with backspace ( or Delete on mac ) doesn't clear last character

This issue is found in desktop version of this page in Chrome 41:
http://demo2.telescopeapp.org/
If search keyword is typed in slowly, focus will remain on search box. Then try to delete the keyword one character by one character with backspace. You will find the last character will pop up again after you delete it. Then if you delete it again, page will show "Sorry, we couldn't find any posts.". Notice search box is empty in this case.

Same issue happens when user tries to hightlight the search keyword and delete it all at once, the keyword will pop up again. My above pull request should fix this issue as well.

Fix is merged. Closing the issue.

Hi All, I still the bug: when I delete keyword using "delete" (one character at the time) from the search input - I see the last deleted character reappear.
Does anyone else see the same small bug?


[Bug] Pulsar2-11.0 pulsar-client AuthenticationSasl.class can not be used in java8

Search before asking

[X] I searched in the issues and found nothing similar.

Version
pulsar version : 2.11.0
java version : 1.8
Minimal reproduce step
My purpose is to use flink to consume the topic data set in pulsar, because our cluster uses kerberos for authentication, so when I use ：
configuration.set(PulsarOptions.PULSAR_AUTH_PLUGIN_CLASS_NAME, org.apache.pulsar.client.impl.auth.AuthenticationSasl .class.getName());,
a compilation error occurs:
Cannot access org.apache.pulsar.client.impl.auth.AuthenticationSasl - Stack Overflow
   Bad class file: /C:/Users/admin/.m2/repository/org/apache/pulsar/pulsar-client-auth-sasl/2.11.0/pulsar-client-auth-sasl-2.11.0.jar! /org/apache/pulsar/client/impl/auth/AuthenticationSasl.class
     Class file has wrong version 61.0, should be 52.0
     Please delete the file or make sure the file is in the correct classpath subdirectory.

But when I use the 2.10.0 version of pulsar, it will be compiled normally, so I think that the compilation of pulsar2.11 version is carried out using java17, and it is not available in pulsar-client as the official website said compile with java8
What did you expect to see?
I think in version 2.11 of pulsar I can still use java8 to compile
What did you see instead?
Cannot access org.apache.pulsar.client.impl.auth.AuthenticationSasl - Stack Overflow
Bad class file: /C:/Users/admin/.m2/repository/org/apache/pulsar/pulsar-client-auth-sasl/2.11.0/pulsar-client-auth-sasl-2.11.0.jar! /org/apache/pulsar/client/impl/auth/AuthenticationSasl.class
Class file has wrong version 61.0, should be 52.0
Please delete the file or make sure the file is in the correct classpath subdirectory.
Anything else?
No response
Are you willing to submit a PR?

[ ] I'm willing to submit a PR!

cc @lhotari @Technoboy- @merlimat
I found https://github.com/apache/pulsar/pull/15505 changes all modules should be built with Java 8. This can break our JDK compatibility promise.
I try to change the compiler version but the enforcer rules apply for all modules.

cc @lhotari @Technoboy- @merlimat
I found https://github.com/apache/pulsar/pull/15505 changes all modules should be built with Java 8. This can break our JDK compatibility promise.
I try to change the compiler version but the enforcer rules apply for all modules.

@tisonkun there is no need to build with JDK 8, but all client modules should be built with --release 8 compiler flag to ensure JDK 8 compatibility.

@lhotari OK. I found those two client-auth-xxx modules missing the release flag. Let me try to pick it up.

@lhotari OK. I found those two client-auth-xxx modules missing the release flag. Let me try to pick it up.

@tisonkun example https://github.com/apache/pulsar/blob/master/pulsar-common/pom.xml#L248-L254

This is the other solution that should have caught Issues https://github.com/apache/pulsar/blob/master/pulsar-client-all/pom.xml#L419-L448

I submit a patch https://github.com/apache/pulsar/pull/19991.

This is the other solution that should have caught Issues https://github.com/apache/pulsar/blob/master/pulsar-client-all/pom.xml#L419-L448

client-all doesn't contain these two auth models; shall we add them? Otherwise enforce by each submodule is no more than configure each submodule properly.

client-all doesn't contain these two auth models; shall we add them? Otherwise enforce by each submodule is no more than configure each submodule properly.

Perhaps there's a reason why they aren't included. Perhaps it pulls in more dependencies. The Java 8 byte code level enforcing solution should be done in the modules that aren't part of client-all. That would ensure that the used libraries are also Java 8 compatible. It would make sense to also do that in the PR that you created.

Thanks for your reporting @littlecatjianjiao!
We're closing to push a fix. You're welcome to test out #19991.


Async syntax

Add colouring support for python's async and await syntax

We don't actually provide syntax highlighting. It comes from MagicPython and is included by VS Code directly. Do make sure, though, that it isn't just your colour theme as we have seen some thing get highlighted in some themes and not in others.


[Fargate] Update nri-kubernetes binary to be compatible to fargate

The aim of this task is to change the nri-kubernetes binary so that if manually injected it does not break the experience

[x] The data coming from fargate should be labeled something like “serverLess”, the data coming from EC2 something like “standard” (check if nri-docker is doing the same already for ECS fargate and use the same approach).
(Currently we have already tagging the data with those info)

Investigate if it is possible to merge the nodes into “fake” ones corresponding to each fargate namespace

[ ] We need an option to enable/disable reporting the nodes (Likely NRIA_IS_FORWARD_ONLY ). Does it make sense to create an additional image or should be simply inject the new environment variables?
[x] Clarify what happens to the UI with no node being reported

I tested the behaviour of the cluster explorer, if the data are sent using the flags NRIA_IS_FORWARD_ONLY and no node is reported the page "breaks".
Therefore I would recommend using such flag merely in hybrid clusters or if for some reason having fake nodes reported represent an issue

We can check also the:

[ ] NRIA_CONNECT_ENABLED flag

Similar example https://github.com/newrelic/infrastructure-agent/pull/387

We are already reporting the k8s version together with the tags of the nodes:
"label.eks.amazonaws.com/compute-type": "fargate"
"nodeName": "fargate-ip-10-0-2-75.us-east-2.compute.internal",

And the tags of the Pods:
"label.eks.amazonaws.com/fargate-profile": "fargate",
"host": "fargate-ip-10-0-2-75.us-east-2.compute.internal",

Currently we are passing the clusterName tag using the custom attributes:
customAttributes: "'{\"clusterName\":\"$(CLUSTER_NAME)\"}'"

We can do the same for the computeType in the manifest/chart:
            - name: "COMPUTE_TYPE"
              value: {{ include "newrelic.computeType" . }}
            - name: "NRIA_CUSTOM_ATTRIBUTES"
              customAttributes: "'{\"clusterName\":\"$(CLUSTER_NAME)\", \"computeType\":\"$(COMPUTE_TYPE)\"}'"

Therefore I would move this task to the helm charts

Closing for now since so far the only changes to the binary seems to be scoped to the control plane.
Everything else could be already customized with environment variables/flags


upgrade sundials

Summary
This upgrades Sundials to the new major version 4.0.1.
The changes to the source base of stan-math are:

Change of initialization for CVODES solver. CVodeCreate does not have anymore a second argument for the solver which is now by default the newton solver.

The former way of dealing with the printf & fprintf from Sundials was flawed and is replaced with a new scheme as suggested by @bgoodri , see the issue #1008 . This PR fixes this (hopefully).

To ease upgrading to future Sundials packages this PR includes a script lib/prepare-sundials.sh which automates most steps needed to prepare the official Sundials package.

Tests
All existing tests (should) still run just fine. In particular the ODE & IDAS tests:
test/unit/math/rev/mat/functor/integrate_ode_adams_prim_test.cpp
test/unit/math/rev/mat/functor/integrate_ode_adams_rev_test.cpp
test/unit/math/rev/mat/functor/integrate_ode_bdf_rev_test.cpp
test/unit/math/rev/mat/functor/integrate_ode_cvodes_grad_rev_test.cpp
test/unit/math/rev/mat/functor/integrate_ode_bdf_prim_test.cpp
test/unit/math/rev/mat/functor/idas_integrator_test.cpp
test/unit/math/rev/mat/functor/idas_system_test.cpp

Side Effects
Are there any side effects that we should be aware of?
Checklist

[X] Math issue #1097

[X] Copyright holder: Sebastian Weber
The copyright holder is typically you or your assignee, such as a university or company. By submitting this pull request, the copyright holder is agreeing to the license the submitted work under the following licenses:
- Code: BSD 3-clause (https://opensource.org/licenses/BSD-3-Clause)
- Documentation: CC-BY 4.0 (https://creativecommons.org/licenses/by/4.0/)

[X] the basic tests are passing

unit tests pass (to run, use: ./runTests.py test/unit)
header checks pass, (make test-headers)
docs build, (make doxygen)
code passes the built in C++ standards checks (make cpplint)

[X] the code is written in idiomatic C++ and changes are documented in the doxygen

[X] the new changes are tested

This is strange: I am getting unresolved symbol errors for sundials things in tests which do not involve at all any sundials stuff. If someone has an idea where this is coming from - that would be great.

@wds15, I'm looking at it. So far, so good. Should we just go to v4.0.2 since we're upgrading?

I really do not think we need two git commits here. The old state was not ideal as teasing out the differences between vanilla sundials and our changes were not fully transparent - you are right in that and this is now solved.
The PR as it is right now has achieved a very clear separation between what is vanilla sundials and what is our Stan specifics:

sundials_4.0.1 contains now the vanilla sundials distribution and the only changes applied to it are all contained in the prepare.sh script. There is no manual intervention anymore needed. Thus it is transparent what is vanilla sundials and what not.

sundials-config contains all Stan specifics for our needs.

I am just not good enough with my git fu to script what you are asking for - and I do think the goals you are looking for are fully achieved which is transparency and low maintenance burden by semi-automation.
I will add

It would be great if we could merge this PR either by

someone helping out with more git fu knowledge (@seantalts ?) to do what @syclik asks for
or we merge what I have done

I have invested a significant amount of work into maintenance of the CVODES system and things are in far better shape with this PR than without it in my opinion - but if things should be done differently I can take down this PR.

What do you need to do?
For merging/rebasing I do
git log --oneline
# select hash to rebase (atleast one before the ones you edit
git rebase -i hash385643d
# then edit the text file and save and exit
git push -f

Not quite... I have proposed a rather automatic way of applying all changes which we need to the sundials source as described above (see my comments). This is done in a single go in a single script and hence all changes are contained in that script. I think (not sure) that @syclik looks for documenting changes to sundials using git history. Automating that is beyond me and I probably have a different view on this. The overall goal to have it transparent what is done to the sundials source is achieved with PR as it is.
However, if you, @ahartikainen, would like to settle with @syclik on the last details of how he wants it, then that would help. Thanks.

So you want to do the changes at compile time or as a hook in github (change the source)?

Not quite... maybe you will be our guinea pig with the instruction I put up in this PR in the README.md here:
https://github.com/stan-dev/math/tree/2dbd4466163322ae02c85d22d3bbfd3f5cb5a276/lib/sundials-config
and update the sundials from 4.0.1 to 4.0.2?
This PR intends to update to version 4 sundials and to make things easier to maintain in the future by documenting those steps to do the update.
All needed changes to the sundials distribution are done once by executing the prepare.sh script which is in the above folder I link.

I think the instructions are clear. (I will test this later when I'm on linux).
Why there is a comment about git for filechanges (git add .)? Is the idea that after update the files are uploaded back to github?

Sorry, I've been sick. The git fu isn't bad. I'll add notes on it later.
But what's bothering me now is that we're scattering things in the math library. It's not really how I think we should just leave things and merge. Where did stan_sundials_printf_override.hpp come from? Why did it need to move? What's the motivation here?

Oh, hope you are better now.

stan_sundials_printf_override.hpp is around for a while. I think @yizhang-cae introduced it with the 3.1 sundials inclusion.
the file needed to move because I wanted to keep the sundials 4.0.1 clean modulo the automatic changes from the script.

Everything is automated to a very high degree right now and things are transparent in terms of what we modify from the sundials source distribution.

To me, the sundials-config solution makes perfect sense to me.
Where did you plan to stick the config file math/lib/sundials-config/include/sundials/sundials_config.h. That file gets generated from a call to cmake and is based on the respective sundials_config.in file. It almost never changes, but is clearly not part of sundials vanilla.
If you have time to work on this - that would be great.

@syclik I really like that you have clearly defined goals for how to get this in, thank you for writing those up. As a third party I wonder if we could have a compromise - it does seem like there are a couple of files that we might want to put in the right places with a script, and ideally we might actually want multiple scripts here for importing these libraries (well, the alternative might actually be better - just using git subtree, leaving all of their build system et al intact, and porting our changes through versions... but for now, we might want a few scripts). What about putting these in a scripts directory somewhere, either in lib or up a level if that messes up the hierarchy? Or even just allowing for multiple loose files in the lib directory if we can be trusted to know those aren't libraries.

@seantalts, thanks for weighing in. I realize that you're seeing this at this point in time without having seen the original PR. I feel like this is a compromise and perhaps what I should be doing is requesting @wds15 to follow the process more carefully. I'll give some more info below. @wds15... I should be communicating more of this about all PRs more frequently. Hopefully you can start seeing PRs from the reviewer's point of view.
The original issue was to upgrade Sundials. Great; no objections to the issue itself. The PR did that, but in addition, left behind a single helper script without any doc and in a place where there are no additional scripts. The original PR indicated that this was being included, but it's not really cool to just leave behind a script that's undocumented, no information other than inspection, no usage information, and no forethought into the location of the script. The script was put in without making the community maintenance of the Math library a priority (which needs to be front and center on a PR like upgrading libraries). Also, tacking on additional things for a reviewer to figure out that's not part of the original issue isn't really cool when it actually involves a decision.
After evaluating the original PR, I asked for what I thought was reasonable review (this is the compromise) where I requested something that wouldn’t spawn an actual discussion: please document the one script, leave it where it is, make a couple of changes to the script to make it easier for the reviewer of an upgrade to validate that the changes to the library are sound, and let’s move on.
The changes after review were much deeper than requested. Some of the things I asked for were done, but now the PR is spawning a new folder, there are multiple files within that folder (outside of any main branch), the script is still not documented, and there are now new side effects of having the makefiles change in different ways. (And... it seems like I'm finding out a new file that's checked in that's generated in a different way that I didn't know about?)
If we're going to go with this type of change, I'm right with @seantalts in thinking that "putting these in a scripts directory somewhere, either in lib or up a level if that messes up the hierarchy." But the key is that this is a different issue. We should discuss and decide that issue as a separate topic instead of trying to sneak it in a PR that's supposed to upgrade a library. (PRs should really be narrow in scope.)
@wds15: the thing about adding additional, undiscussed fixed / functionality / changes is that it puts more work on the reviewer. If I could look at the issues that you highlight, see what the community discussed, and can just verify and validate that your PR fixes those things, reviewing is pretty straightforward. When a reviewer is asked to weigh in on decisions that aren't discussed, well... honestly, PRs should probably be closed and kicked back to a design discussion at that point. I've been encouraged to do so, but I still feel bad just closing PRs for skipping this step. Would it benefit you if I did that? (See a PR, realize that there's a non-trivial discussion that should be had, close the PR and request a design [essentially lay out the options, which one you want to take, and why]?)

I don't think your requests were in any way unreasonable, by the way! Just trying to help find a good solution given the extra work @wds15 has done to help make the process of upgrading sundials easier in the future (even though the script doesn't have doc yet, it's probably overall still an improvement in maintainability because it helps the next person figure out how to upgrade sundials).
I think you're right to ask that people highlight extra stuff that doesn't follow an existing pattern. Though it's not always obvious to the submitter what is and isn't going to be a controversial decision - not sure if we can help much with that as it's a sort of intuitive guess at what will surprise the reviewer. But we could certainly ask people to err a little more one way or the other (e.g. seems like it would be good if @wds15 adjusted his criteria for this stuff to be more conservative and surface more things as problems/solutions that might require additional discussion).
I'm not sure if you're asking that this decision have a formal design review in the way that the large projects in the design docs repo have had, but certainly calling it out as an open question in the PR and maybe starting a discourse discussion would be good. Is that basically all you're asking for? That makes total sense to me.

@syclik My view is that I am doing a service to the community in bumping to a  new major version. That is a lot of work and it was rough to do it for various reasomns. I ran into a lot of trouble and decided for the next one to be save from the trouble by semi-automating the upgrading process. Sure - that adds to the PR, but for the good, I think. This is an investment to the community and this upgrading in a semi-automatic fashion is something new here - so it is totally fine from my perspective that the reviewer helps in this.
Maybe I should have first started a discussion on discourse, but I decided in the spirit to accelerate turn-over time of PRs which I recall from @bob-carpenter is a goal for stan-math.
To move on here I see the options:

revert this PR to an earlier stage, remove the script and the readme which we can file on the wiki.
find a place where these auxiliary files can go

Wrt. to messing with git history I am still really not in favor for this as I don't quite see the use of it. It doesn't make the life of the reviewer any easier at all - there are just so many changes for printf commands such that it is a lot easier to document this change by having the script around. The sed command is just fine to me and a better way to deal with it. In addition I do not feel comfortable scripting git. I barely arrive at managing it. I don't object against this change if you have a different view - but if we go with this then I would really ask for a hand here.
The other thing, which is missing in what you laid out above are the config header files (or did I overlook that bit). These are usually never changed, but they are automatically generated during the sundials config step which is in most cases not needed to be rerun.
So I am happy to move forward whatever way.

@wds15, how exactly do you generate sundials_config.h? It wasn't in any of the doc.

or... @yizhang-cae, know off the top of your head?

Let me know if this is right...
tar xvzf sundials-4.0.1.tar.gz
cd sundials-4.0.1
mkdir build
cd build
cmake ..

and I need to grab sundials-4.0.1/build/include/sundials/sundials_config.h and sundials-4.0.1/build/include/sundials/sundials_fconfig.h

@wds15, @seantalts, please review. I bumped the version to v4.0.2 as a demonstration of how it works.
There is now only one file that sits alone and it's a documented bash script: lib/upgrade-sundials.sh. This automatically takes care of everything for the installation including putting the config files in the right place, updating the make/libraries and README files, generating the header for fprintf and printf.
@wds15: please look at this commit. This allows us to quickly check to make sure that the replacement doesn't ruin everything: upgrading to sundials v4.0.2; removing printf and fprintf for CRAN
And notice that each step is its own git commit. This makes it much, much, much easier for a reviewer to verify. If someone wanted to make sure that I used the correct version, they could check out  [4367bb5](/stan-dev/math/pull/1098/commits/4367bb55beef9f489ddff8391fb04c79f123c214), then untar the downloaded file and move that into the folder and have git tell them if any files were different.

Do you mind if I wait for tests to pass? If it's better to take a look before that I can look at it this evening!

Absolutely. There's no rush.
If you actually wanted to give it a test run, upgrade to 4.1.0.
On Sat, Feb 16, 2019 at 10:48 AM seantalts<EMAIL_ADDRESS>wrote:

Do you mind if I wait for tests to pass? If it's better to take a look
before that I can look at it this evening!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/stan-dev/math/pull/1098#issuecomment-464357335, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAZ_FyvH1TFiuqZHq1Nzx-jcxdUnA4Njks5vOChUgaJpZM4Zw5Bu
.

@syclik Thanks much for this! Let's cross fingers the fully automatic scripting will work for a while.
The current error with spfmg looks familiar to me. Since we do not use this functionality I did remove this file from our makefiles as I recall. Everything should just work if this file is left out. Do you want me to take care of this and @seantalts does the final review?

@wds15: yes, if you don’t mind. I might have messed up what you did there. I’ll try to see if I can spot it, but if you know what’s wrong, that’s great.
If you do remove it, we can revert the changes to Jenkinsfile so we’re not building it with different compiler settings.

@wds15, did we avoid this in the past due to this change to make/libraries?
from develop:
  $(addprefix $(SUNDIALS)/src/cvodes/, cvodes.c cvodes_io.c cvodea.c cvodea_io.c cvodes_direct.c cvodes_diag.c cvodes_spils.c cvodes_bandpre.c cvodes_bbdpre.c)

from this PR:
 $(wildcard $(SUNDIALS)/src/cvodes/*.c)

Should we just revert this change?

I think I did this one purpose, because some files were missing otherwise.

Assuming the testing suite gives a green light this is good to go, I hope.

Hmm... we now have an upstream CmdStan test failing with
mpicxx.openmpi -std=c++1y  -Wno-sign-compare    -Wno-delete-non-virtual-dtor -O3 -I src -I stan/src -I stan/lib/stan_math/ -I stan/lib/stan_math/lib/eigen_3.3.3 -I stan/lib/stan_math/lib/boost_1.66.0 -I stan/lib/stan_math/lib/sundials_4.1.0/include -I stan/lib/stan_math/lib/gtest_1.8.1/include -I stan/lib/stan_math/lib/gtest_1.8.1     -DBOOST_RESULT_OF_USE_TR1 -DBOOST_NO_DECLTYPE -DBOOST_DISABLE_ASSERTS -DBOOST_PHOENIX_NO_VARIADIC_EXPRESSION   -DSTAN_MPI -DGTEST_USE_OWN_TR1_TUPLE       -Wl,-L,"/home/jenkins-slave/jenkins-slave-files/workspace/CmdStan_downstream_tests/stan/lib/stan_math/lib/boost_1.66.0/stage/lib" -Wl,-rpath,"/home/jenkins-slave/jenkins-slave-files/workspace/CmdStan_downstream_tests/stan/lib/stan_math/lib/boost_1.66.0/stage/lib"   -include src/test/test-models/print_uninitialized.hpp src/cmdstan/main.cpp        stan/lib/stan_math/lib/sundials_4.1.0/lib/libsundials_nvecserial.a stan/lib/stan_math/lib/sundials_4.1.0/lib/libsundials_cvodes.a stan/lib/stan_math/lib/sundials_4.1.0/lib/libsundials_idas.a stan/lib/stan_math/lib/boost_1.66.0/stage/lib/libboost_serialization.so stan/lib/stan_math/lib/boost_1.66.0/stage/lib/libboost_mpi.so stan/lib/stan_math/stan/math/prim/arr/functor/mpi_cluster_inst.o -o src/test/test-models/print_uninitialized
stan/lib/stan_math/lib/sundials_4.1.0/lib/libsundials_cvodes.a: file not recognized: File format not recognized
collect2.exe: error: ld returned 1 exit status
make: *** [make/program:37: src/test/test-models/printer.exe] Error 1

I am not sure why this is popping up now nor where this is coming from. I will need to look further into this.

Ok... when restarting only the downstream job the pipeline succeeds. Thus, I am kicking Jenkins to do the full thing once more.

Finally! Green... this is hopefully good to go in. @seantalts ... do you need anything to review this?

Which part(s) am I to review? Any tips for looking at just the stuff we changed vs. the vendored unchanged sundials library?

I think @syclik was fine with this PR except the upgrade script. So maybe you try that out (grab the script and run it over a fresh branch off from develop)? @syclik did invest quite some work into this script, I have to say; all bits are automatic (unless sundials moves things around which makes our makefiles fail over).
The changes to stan-math sources are reviewed and the makefile changes were also waived, I think. So it's down to the script.
As a last sanity check you should execute the bdf+adams integrate ode tests.

@seantalts, I can approve it. I think it's clear that both @wds15 and I have looked carefully at the script and merges and are confident that it's readable.
If you have time and want to look carefully, this is the file to check: lib/upgrade-sundials.sh. https://github.com/stan-dev/math/pull/1098/files#diff-1ca3f358ea4ffad65560c3bf9575d698
I just reverted the changes to the makefile and Jenkinsfile so they're not part of this PR.


Storage location names with "Box " and "Shelf" added

Currently, the script for extracting storage locations adds the type (rank) of storage ("Box", "Shelf") in front of the item number for clarification. This means e.g. that "1" becomes "Shelf 1" in case of a shelf item.
However, when importing, the storage rank should be stripped off again to enable WorkBench to match it to the correct item as identified by name and parent.
Should the items in the Specify storage tree not simply be renamed accordingly (i.e. "1" to "Shelf 1" in order to avoid a potential source of errors?

For Fedor to think about when syncing the app with Specify


MultiplayerSynchronizer.add_visibility_filter seems not work

Tested versions

Reproduced in 4.3.beta1

System information
Windows11
Issue description
MultiplayerSynchronizer.add_visibility_filter does not seem to change the visibility of the corresponding peer, even though the filter returns true. I thought that if the filter returns true, it means it is visible, but it is not. Is there something wrong with my understanding?
Steps to reproduce

nodes like this:

MultiplayerSynchronizer setting:

add filter:

check peer's visibility, I think if the visibility filter returns true, then visibility should be true.

however, visibility is still false.

However, when using set_visibility_for to set visibility directly, it takes effect

code overview

Minimal reproduction project (MRP)
add_visibility_filter.zip

also having similar problems, synchronizer visibility needs better documentation

bool MultiplayerSynchronizer::is_visible_to(int p_peer) {
	if (visibility_filters.size()) {
		Variant arg = p_peer;
		const Variant *argv[1] = { &arg };
		for (Callable filter : visibility_filters) {
			Variant ret;
			Callable::CallError err;
			filter.callp(argv, 1, ret, err);
			ERR_FAIL_COND_V(err.error != Callable::CallError::CALL_OK || ret.get_type() != Variant::BOOL, false);
			if (!ret.operator bool()) {
				return false;
			}
		}
	}
	return peer_visibility.has(0) || peer_visibility.has(p_peer);
}

The relevant source code is as above. It seems that if any filter returns false, it is not visible.
If it is public or has been explicitly specified as visible to p_peer, then it is visible.
That is, it is visible only when:

The node is public and passes all filters.
The node has been specified as visible to a peer, and all filters can allow this peer to be visible.
Therefore:
When the node is specified as not public, but the filter allows a peer to be visible, and has not been explicitly specified as visible to this peer through set_visibility_for, this node will not be seen by this peer.


"training" parameter missing?

https://github.com/kpe/bert-for-tf2/blob/cad915ee9d20802a05181373fe30b716a70bc870/bert/transformer.py#L177
In the call method of the SingleTransformerEncoderLayer class, when the ProjectionLayer object is being called, shouldn't the training parameter be passed along?

@jonathanbratt - first, thank you for your message!
I believe however, that those parameters, i.e. training and mask does not have to be passed manually. It's kind of Keras black magic happening behind the scenes :-) (... like it is so often the case in keras)
If you know a case, where this is not set properly, let me know!
(This might for example be the case, if you call your layer directly - but as long keras is doing the call, keras will try to find the proper kargs for the call())


Show warning on docs pages that may be outdated

Migrated from GitLab: https://gitlab.com/meltano/meltano/-/issues/2017
Originally created by @DouweM on 2020-05-08 22:42:10

View 3 previous comments from the original issue on GitLab


Base Game scoreTxt UI

What feature do you want to get added on the base engine?
Add the original FNF game scoreTxt UI which only contains the "Score:" text
To test your sight, and reliability, please select the option of what should NOT be requested.
Stage Editor and 6K+ support.

https://gamebanana.com/mods/469755

ok back to the issue you can use this:
function onCreatePost()
    makeLuaText("old", "", 1280, 0.0, 0.0)
    addLuaText("old")
    setTextSize("old", 16)

    setProperty("scoreTxt.alpha", 0)
end

function onUpdate(elapsed)
    setProperty("old.y", getProperty("scoreTxt.y"))
    setTextString("old", "Score: "..getProperty("score"))
end```