Permalink for a specific generation

Data import and export preferably via URI.

There's actually already a parameter you can pass to generate worlds with a specific seed. Just add "?seed=foo" to the end of the url. Replace "foo" with the seed you want to use, e.g.:
http://davidson16807.github.io/tectonics.js/?seed=bar
I've noticed simulations still tend to diverge over long periods of time, even if they have the same seed. AFAIK, this is not something that can be prevented. I think a lot of it has to do with how the supercontinent cycle is currently conducted, but that's something to be addressed for issue #1

I would like to export the data wholesale, close the browser and import in a separate browser to get to a similar state as when exported. (with a optional manual modification step in-between)

Ah. So this is more a "save to cloud" feature?
One problem I see with this is that there's currently no hosting for the app besides Github. Github AFAIK only hosts static content for free. It doesn't allow hosting server side apps, and it doesn't have any means to store files or records from the user.
That limits the ability to retrieve saves by URI, though it doesn't stop saves in general from being implemented. The user can still download a save file and restore to that save at a later date. If he wants to share it, he'd have to upload to dropbox or some other a file hosting solution.
So the easiest way to implement this is to encapsulate model state in a single JSON file. Start with the basics: World, Plate, Cell, RockColumn. View state is not to be considered until later. Saving to the cloud is an optional later step beyond that.

I was thinking of something similar to serialization to base64 placed in url parameters. Similar to the way the seed is done. https://davidson16807.github.io/tectonics.js/?seed=bar&PlateWorld=somedata&Plate=somedata&Cell=somedata&RockColumn=somedata

That's a clever idea. That shifts the problem though - now it comes down to whether model state can be stored in the url. Even the best browsers seem limited to 8KB. A typical simulation uses 10K rock columns. Each rock column has to store at least 2 floats for density and thickness - 8 bytes. Even in the best of situations we're talking compression ratios of 10:1. That's a little high to be using lossless compression.
It could be done by POST request, but POST data is handled server side, and again github only serves static content.
On the bright side, nothing I mention restricts the use of a JSON download. 10K rock columns with 8B per rock column = 80KB. Very manageable. It even allows some room for growth and error.

Work on the save branch is being done towards this objective. Commit e11c23a is the first merge to production. This includes save and load functionality. Drag-and-drop is also implemented for loads. It's out there online, now.
Current file size is pretty consistently 170MB. I'm reasonably confident this number can go down as far as 40KB, uncompressed. I'm doubtful whether compression would be able to bring this into the range needed to use a query string parameter.

A thought occurred to me. We could allow users to pass a url to the application. That url would link to their save file. If users want to share a link to a world build, they download the file from the application and upload it to a file host of their choosing, like pastebin or dropbox, then create a link that points tectonics.js to the file they uploaded.
My first concern is security - whether a url can be crafted to do something malicious when opened. It's definitely possible to crash the browser. All you need to do is send a json file for a world with an incredibly large number of grid cells. This can be prevented by adding checks on grid resolution and plate count.
I don't think it is possible to do worse, though. String evaluation is never performed and I never intend to do so.

I ran the simulation for 711 MY saved the sim file and ran some tests
sed "s/\],/\n/g;s/,\([0-9]\+\)/\n\1/g" 711.sim | sort | uniq -c | grep -v "^ \+[123] " | sort -k1n

this formats, sorts, and counts unique strings in a sim file
shows eight thousand strings of "2890," and 7059 "7100," and 117 "2700"
with 7057 "7100,2890" Perhaps these rock columns could be undefined as they seem to be unchanged from the default?
sed "s/\[[0-9]\+,7100,2890\]//g" 711.sim > 711.2.sim

which reduces a 175kiB json to a 65kiB json (removing 7k RockColumn from the 10k currently serialized)
sed "s/\],/\n/g;s/\[//g;" 711.sim | sed "s/\([0-9]\+\),\([0-9]\+\)/\1 \2\n/g" | grep -v "^," | sed -n "s/^\([0-9]\+\) .*/\1/p" | grep "^[0-9]" | wc
10237   10237   50638
# lines    words    characters

sed "s/\],/\n/g;s/\[//g;" 711.2.sim | sed "s/\([0-9]\+\),\([0-9]\+\)/\1 \2\n/g" | grep -v "^," | sed -n "s/^\([0-9]\+\) .*/\1/p" | grep "^[0-9]" | wc
2810    2810   13699

There are two defaults. They're defined by World.prototype.ocean and World.prototype.continent.
A check for these defaults can be done. It would drastically reduce file size, at least for the present implementation. One of the things that's on my todo list is to modify the algorithm used for initial generation. I want something like the diamond square algorithm, except for a 3d sphere. If this ever gets implemented there will be no defaults and file size will shoot back up to 170KB.

I'm going to close this assuming there isn't anything else to add.

Commit 63801f6 is my first stab at using base64 encoded Uint16Arrays for rockColumns. This pushes file sizes down to 92KB, which is still much larger than the 40KB I was expecting. However, file loads are dreadfully slow. I won't merge until I can get load times down to something comparable to the mainline.
Ideally, I'd want save/load to be effortless. I've had an idea for some time for a slider that lets you look into the past and see in real time how the planet has evolved. This would require save events to be done automatically at regular intervals, followed by load events done in rapid succession.

ed54e06 merges base64 to master. I discovered most of the lag in file loads were caused by event loop blocking from the model/view. File loads are consistently under 100 ms. If json conversion gets any faster I could probably ship off model code to a web worker.

77cf6c4 on the zip-save branch attempts to compress file sizes. At maximum compression, file size is down to 30KB. In addition, 55bfbd4 allows some means to specify a save file through query string, provided the user hosts that save file publicly somewhere, for instance Dropbox. I think this is about as close to the goal as can be realistically expected.

Could storing only the change between each cell be stored instead? Would that improve storage?
Something like cells horizontally that look like this [123,145,123,124,125,123,123,123] be stored/saved as a difference from the last thickness_scanline=123 thickness_scan=[0,22,-22,1,1,-2,0,0] would this bring our numbers within tighter byte constraints? (as we would not need to store all those 0's)
This would drop the option of external modification without a de-serialization software or an alternate save.
Off the cuff idea. Feel free to ignore : )

Yes, it could. A thought I considered was to store offsets from a mean thickness/density. RockColumn ids could be stored in the way you described, with id_scanline = 0. Either way would allow space savings, but only in the event you could store things with an Int8Array or a Uint8Array, instead of the Uint16Arrays we use currently. RockColumns could not be spaced further than 255 cells apart. Thickness could not differ by more than 127 meters from the mean. Densities could differ by no more 127 kg/m^3. You could introduce an additional term expressing maximum deviation from the mean, but this comes at the expense of complicating code and reducing precision.
The very best case scenario means halving your file size. 15KB. If I get a pull request that shrinks it consistently below 8KB without reducing cell counts I'll merge it, but I don't consider that scenario likely enough to pursue it personally.

I'm closing this issue out. It's been here a few years and I see no way to make progress on it. If anything, it's going to become harder to implement as I continue adding things to the model and increasing save file size.
We at least made some useful progress. Save files wouldn't have been implemented without for this issue. Also, in case I never mentioned it: if you store your save files somewhere public you can reference them using the load querystring, like so:
http://davidson16807.github.io/tectonics.js/?load=http://foo.com/blah.sim


Add missing port-forward example for spin-gate in the NOTES.txt

Signed-off-by: Andy Rhee<EMAIL_ADDRESS>
What this PR does / why we need it:
This PR adds the missing example for spin-gate port-forward instruction in the NOTES.txt.  This will help k8s and/or spinnaker novices to quickly get up and running spinnaker on k8s cluster out of box.
Which issue this PR fixes
(optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged)

fixes #

Special notes for your reviewer:
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md

/assign @paulczar

/ok-to-test
/assign
/lgtm


Flashing for certain colors when "hold_with_repeated_send": True

Hello, I've been working on a project using this software for a few hours and things were working perfectly, but after a while, when I sent the magenta, pink, or light blue primary signals with "hold_with_repeated_send": True, they strobe instead of sustaining. I tried all magenta variants and changing the delay between when signals were sent to no avail. Any advice is appreciated.

Sorry, I realised my raspberry pi was undervolted and not supplying enough power to the ESP-32.


Autostart uefi boot

VMs started using iohyve uefi instead of iohyve start don't autostart when boot=1.  Is this a bug or lacking the feature to determine they have firmware associated to start with uefi?

What iohyve version are you running? The one from GitHub or the one from Ports?
Have you verified the guests can boot via UEFI with iohyve start $guestname?
I have not yet tested the iohyve UEFI stuff with booting at RC time yet, as it is still experimental as the wiki states. Any feedback and console output is greatly appreciated.

I am closing out this ticket due to inactivity. If you are still seeing issues, please reply and I'll reopen the issue. Thank you.


Don't require CASH service bit for outgoing connections

Fixes #309

@dagurval How did you observe the test failure that the second commit fixes?

The tests aren't very good. They just test if "ProcessMessage" returns false, not what caused it to return false. In this case, they were returning false because the dummy nodes were outgoing and not signalling cash. After this fix, this condition didn't trigger, so they took the original path again, the one that uses uninitialized nodestates.
Why this worked before I don't know. I fixed the same thing here: https://github.com/bitcoinxt/bitcoinxt/issues/323


Moral Foundations LIWC dictionary

I am trying to use the moral foundations dictionary created for LIWC. I have used it in LIWC 2015 but it doesn't seem to work for me (although I get the other dics to work).
The moral foundations dictionary is available here:
https://www.moralfoundations.org/sites/default/files/files/downloads/moral foundations dictionary.dic
I attached a screenshot of the error message below, which reads on the last line as: "IndexError: list index out of range"

Ooh, very nice bug report! Thanks for the link to the problematic dictionary and the screenshot of the full traceback.
The issue was that the standard LIWC dictionary I've worked with in the past always uses the tab character to separate category name and id, as well as string match and category id(s).
f06e5b5 splits on any/all whitespace instead, so upgrade to 0.4.1 (latest) and you should be good to go!


Problem with detecting +0, -0 special cases

Hi. I work with Ivy and noticed that the function round in elementwise has the behaviour shown in the code below which is against the requirements of Array API Standard for round (special cases) - but while using array_api_test suite,  test_round is passing and it doesn't seem to be noticed in test_special_cases either...
>>> import ivy
>>> ivy.set_backend("numpy")
>>> x = ivy.array([+0, -0, 0, 5])
>>> y = ivy.round(x)
>>> print(y)
ivy.array([0., 0., 0., 6.])

The result should be ivy.array([+0., -0., 0., 6.]) for it to satisfy the Standard and should fail the test, right?
Could you kindly explain this...

ivy.array() tends to turn +/-0 into 0. As all arrays are Ivy arrays now, the test never got fed +/-0 I think.

Note your example is wrong
>>> x = ivy.array([+0, -0, 0, 5])

is equivalent to
>>> x = ivy.array([0, 0, 0, 5])

i.e. +/-0 is literally an integer 0. There is not such thing as a signed integer 0—that's a float thing.
>>> +0 is 0
True
>>> +0. is 0
False
>>> type(+0)
int
>>> type(+0.)
float

Yes you're right. It is a floating thing. Even with floating example the result is as follows:
>>> import ivy
>>> ivy.set_backend("numpy")
>>> x = ivy.array([+0., -0., 0., 5.5])
>>> print(x)
>>> y = ivy.round(x)
>>> print(y)
ivy.array([ 0., -0.,  0.,  6.])

>>> import ivy
>>> ivy.set_backend("numpy")
>>> x = ivy.array([+0., -0., 0., 5.5])
>>> print(x)
>>> y = ivy.round(x)
>>> print(y)
ivy.array([ 0., -0.,  0.,  6.])

Shouldn't +0. be returned for the first element?

Yep you're right, looks like a bug in numpy.array_api, and a bug in the test suite for not catching that!

Maybe I am missing something, but, as +0 and 0 are equivalent, I am not seeing off in the results above.

Maybe I am missing something, but, as +0 and 0 are equivalent, I am not seeing anything off in the results above.

You're right, and that was OP's initial issue. But when using signed (float) zeroes, they did identify an actual issue I could reproduce - and that wasn't get tested in the suite (which is strange because the new special case tests have identified signed edge cases before).
>>> from numpy import array_api as xp
>>> x = xp.asarray([+0., -0., 0., 5.5])
>>> out = xp.round(x)
>>> out
Array([ 0., -0.,  0.,  6.])

Thats all good. Just the part from the Array API standard page makes it seem like it is distinct/special.
It says:
For floating-point operands,

If x_i is +0, the result is +0.

on this page for example.
So is there something I am not seeing as to why It is made a special case like this?
Thank you for the answers above.

I guess it became relevant enough that signs of zeroes could affect array consumers and thus interoperability. I think the fact negative zeroes exist and have their own special behaviour kinda propagates the need to special case positive zeroes too.

Ah I see. +0. is made to be special case to highlight the contrast with the special case -0. . I understand. Thnx for the expalantions. We can consider this concluded.


docs: Update library package markdown-magic transformations to split "header" and "footer" details

The existence of a singular "library package README" transformation encourages developers to not include other necessary details in package READMEs. It was also previously unused in a lot of places because it was difficult to interleve the common details with custom ones.
This PR removes that template and introduces 2 new ones: a "header" template and a "footer" template, with recommended guidance for where each should be used.
Also updates existing consumers of the removed template to migrate to the new ones.

I'm a bit conflicted about what kind of instructions we should be providing in all the packages that have to do with the encapsulated model... the declarative model ones seem fine, but instructions in the others feels like we encourage people to install them, which I don't know how to feel about.

The READMEs are generally discovered in 2 ways:

By looking at the package on npmjs
By looking at the package directly in the GitHub

In either of these cases, the user is already aware of the package. In my mind, if they're already looking at it, there isn't harm in explaining how to use it.
Packages that are not actually intended for any external use should be in one of our special namespace scopes (@fluid-internal or @fluid-private). In those cases, we can and should omit this information. I mentioned this in future work plans.


Ambient functions don't unify (internal compiler error)

I get this error when I run roc check, and it hangs.
An internal compiler expectation was broken.
This is definitely a compiler bug.
Please file an issue here: https://github.com/roc-lang/roc/issues/new/choose
thread '<unnamed>' panicked at 'ambient functions don't unify', /home/pearcekeesling/code/roc/crates/compiler/unify/src/unify.rs:247:18
stack backtrace:
   0: rust_begin_unwind
             at /rustc/a55dd71d5fb0ec5a6a3a9e8c27b2127ba491ce52/library/std/src/panicking.rs:584:5
   1: core::panicking::panic_fmt
             at /rustc/a55dd71d5fb0ec5a6a3a9e8c27b2127ba491ce52/library/core/src/panicking.rs:142:14
   2: core::panicking::panic_display
   3: roc_solve::specialize::compact_lambda_sets_of_vars
   4: roc_solve::solve::compact_lambdas_and_check_obligations
   5: roc_solve::solve::solve
   6: roc_solve::solve::run
   7: roc_solve::module::run_solve
   8: roc_load_internal::file::run_solve_solve
   9: roc_load_internal::file::run_task
  10: core::ops::function::FnOnce::call_once{{vtable.shim}}
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

Code snippet:
app "day3"
    packages { pf: "https://github.com/roc-lang/basic-cli/releases/download/0.1.1/zAoiC9xtQPHywYk350_b7ust04BmWLW00sjb9ZPtSQk.tar.br" }
    imports [pf.Stdout, pf.File, pf.Path, pf.Task]
    provides [main] to pf
commonSet : List (Set a) -> Set a | a has Eq
commonSet = \list ->
    result = list |> List.walk None \common, set ->
        when common is
            None -> Some set
            Some value -> Some (Set.intersection value set)
    when result is
        None -> Set.empty
        Some value -> value

expect ([[1, 2, 3], [2, 3, 4], [3, 4, 5]] |> List.map Set.fromList |> commonSet) == ([3] |> Set.fromList)

I'm probably doing something wrong here and I'll try to figure out what it is, but I thought I'd report it since the error message specifically calls out a compiler error.

Looks like if I swap out the == in the expect for a Set.contains then it passes. So I am guessing that Set equality is not supported but the error message just wasn't making that very clear?

Interesting, this seems enough to reproduce the crash:
interface R exposes [] imports []

expect (Set.fromList [1u8]) == (Set.fromList [1u8])

my guess is this is a problem in how the == for Set is derived

Set equality should be supported, but we may not have tested it very well..


VideoRoom V2 , How can i track when a publisher turns off his video ?

when i toggle video off from one of the publishers the RTCVideoView() freezes his video , how can i track when some1 turns off his video so i can update the ui accordingly ?

i have no good experience on video room but this is a Janus server event ....so if Janus does not receive video feed it will notify all the through server events   ...within a time you specify in Janus config file   (default  is 1 second)

I have some question: how can I track, when some turns off his video/audio ?

@CoMatu janus server emit different event according to the state of webrtc of the device ... listen these event either by HTTP, websockets or MQTT  (https://janus.conf.meetecho.com/docs/eventhandlers.html)
here is a good article from the main developers of the Janus webrtc server on events https://www.meetecho.com/blog/event-handlers-a-practical-example/

@kzawadi Thanks for the answer! Have yoy some expamles for mute/unmute microphone?

Hello, @CoMatu ... muting and unmuting the mic is flutter side and you have to handle it I mean it's not Janus related or even webrtc related directly.... those are just media controllers ...The following is my ideal implementation...  I have a button on flutter is has two states e.g mute and unmuting... when this button is used it creates an event that can be listened to by all devices on that audio session here am using a pubsub server (PubNub or google pubsub) as you can see up to this point no webrtc related stuff so far ... and so all devices on that conference call when they get a certain notification from that pubsub server they know what it means e.g the sender of this message we just got has muted his/her mic ... and other stuff like kicking a misbehaving user from the session... an admin can send a pubsub notification to all devices on that session and the client when getting the notification it executes a required function like leaving the session. another use case a user raises a hand ..what happens logically is they send a pubsub notification and an admin side gets a notification that a user has raised his/her hand and if an admin is okay letting you talk he will just click allow but logical again it's a pubsub notification transmitted with an allow notifications...  So what about Janus Server ...Janus server automatically measures decibel levels and emit events according to the decibel level of the devices... events here are "talking" and "stop talking"... and you can adjust the level of the session when starting the client on creating a session/room or joining.
{"audio_level_average": <average value of audio level (127=muted, 0='too loud', default=25)>,                                         "audiolevel_event" : <true|false (whether to emit event to other users or not)>,}
Thanks


It is good to be able to assign a security group to an instance

currently instances can only list the available security_group to them but we need to be able to assign a security group to an instance after launching it.

Fixed in commit: https://github.com/gvlproject/cloudbridge/commit/e6377227608e6aa916794a66d0e9b71f77530ddc


Added bookinfo installation instructions

Two notes:

please add the following header to the top, customized as you see fit:
`

title: "Installing Bookinfo"
`
*index.md in the istiodocs directory will have to be renamed to _index.md for preview to work. I'm fixing this in a branch. More info here if you're interested: https://hugo-sandbox.netlify.com/hugodocs/content-management/page-bundles/

Docs for asciidoctor can be found here: https://asciidoctor.org/docs/asciidoc-syntax-quick-reference/#source-code


fix: Ignore the cache timestamp of the MachineInfo Metrics

Signed-off-by: tl<EMAIL_ADDRESS>
What type of PR is this?
/kind bug
What this PR does / why we need it:
Avoid adding timestamp to machine metrics when they're cached.
Please refer to the following K8s PRs for more details:
link: https://github.com/kubernetes/kubernetes/pull/95210#issuecomment-726143798
link: https://github.com/kubernetes/kubernetes/pull/97006
Analysis of causes :

The cadvisor collects machine metrics when it launches and then caches them for later scrape.
It is assumed that as long as the machine is not restarted, the hardware will not change and so do the machine metrics.
This timestamp of the machine metrics should be set when they're scraped, not when they're cached.
If using the timestamp when the machine metrics are cached, the timestamp when these metrics are scraped will be outdated
which may cause issues like 'out of order sample' when sending these metrics to prometheus.
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

we need to modify the main branch's workflow release version to let the keadm e2e test work.
Let's not doing it for now


do not log server IP upon successful connection

Noticed this in some of my test Sentry reports. We should not log the server IP.

console.debug statements should not make it to Sentry - we configure raven-js not to intercept these logs. Is it possible to configure sentry-electron to behave in this way?

Hmm. No, it's either all console statements, or none. I see that code now in error_reporter.ts. That's something I'd rather not have...
I dug into the source and found this:
https://github.com/getsentry/raven-js/blob/f876d89084898d59e00b3fd8e05502e2a35c2ce5/plugins/console.js
It's completely undocumented, unfortunately - I propose we just say all console statements get into logs.

@alalamav Honestly, not sure what behaviour we want in the future! I do think there's value to removing the console.debug hack, though, to have the same expectations on both platforms if nothing else - and it turned out we only had a few console.debug statements anyway.
I suspect we should eventually disable automatic console breadcrumbs in favour of explicit breadcrumbs, once we have a better idea of what's useful in error reports. Then we can output whatever to console, and be more careful (lint rule, etc.) about breadcrumbs.


Events from related resources not being received after a while

When using the customize hook to read additional resources, I've noticed that after a while (not sure how long, I suspect about an hour) changes on those related resources are no longer received by the controller.
The customize hook is also called every hour, which does then pick up the changes that were made on the related resources.
I assume this is a bug as for the first hour or so it all works just fine.

Can you elaborate more on the configuration you have ?

Definition of controller CRD
Does the spec of related resource changes ?

Can you simulate the behavior, i.e. edit the related resource and see in metacontroller logs why it decides to not do anything ?

The controller definition does not contain any unusual configuration. Just a sync and customize hook like the examples.
What do you mean with 2 exactly? The customize hook code does return the same resource types (i.e. a configmap), but it may not always return the same resource instances. These can vary based on existence of labels or how they're named.
The controller does not log anything, unfortunately. At least not with default logging settings. On my own app, I just don't see any calls coming in when there should be.

I've done some more testing and have a way for you to reproduce. The issue can be easily reproduced using the Secret Propagation Example
Deploy the controller and validate it works by making a change to either the source Secret or by adding/removing the propagate label on a namespace. Now wait a little over 10 minutes (11 to be on the safe side) and try again. Changing the source Secret or adding/removing a label on a namespace will not trigger the controller anymore (until the controller gets restarted).
If you keep making changes to resources that are watched by the customize hook within the 10 minutes interval, the changes are picked up immediately. The customize hook keeps working.
Could it be some kind of connection timeout / interruption that does not get refreshed / restored?
I've tested this only with GKE, but it happens both with the controller running as a pod on the cluster as well as from my own laptop connecting to the Kubernetes API.

thanks, on local laptop you use kind/minikube ? What version of kubernetes ?

On local laptop I don't use kind, but metacontroller connects to API of GKE using my own credentials.
I've tested against GKE 1.22 and 1.23.

Setting a resyncPeriodSeconds to the controller definition does not help to keep the customize events working. I tested with 300 seconds. The customize hook seems to be called / refreshed every hour but I can't find where this is configured (in the metacontroller code). As a workaround, I could try to lower the refresh time.

@rolandkool sorry for late response, do you see any log about throttling ? It is a bit weird, seems like the informers under the hood had some problems with keeping up with API server.
What is the customize resource in your case ?

/assign @newtondev

I have managed to replicate this issue. Seems like a locking issue in zcache.
Seems to work if I disable the cleanupInterval in pkg/controller/common/customize/manager.go:

Watching it for any side effects and writing some additional tests.


Add Get All Initializers in the Form of String

Add a new API 'initializers.get_all_initializers", which returns all initializers in the form of string.
As mentioned in #15393 , it can facilitate the process of fine-tuning.

Thanks for the PR. I would recommend that you keep this functionality as a utility function outside of Keras. You could just iterate over dir(tf.keras.initializers) and retrieve x.__name__ for functions, or x.__class__.__name__ for classes.

Thanks for the PR. I would recommend that you keep this functionality as a utility function outside of Keras. You could just iterate over dir(tf.keras.initializers) and retrieve x.__name__ for functions, or x.__class__.__name__ for classes.

Actually, it is pretty ugly to retrieve functions by x.__name__ or classes by x.__class__.__name__. And few Keras users have the same deep understanding of Python as you do.


error: no matching member function for call to 'AddRaw'

What is the issue you have?
In file included from /home/carla/Unreal/CarlaUE4/Plugins/Carla/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/Carla/Module.Carla.cpp:12:
/home/carla/Unreal/CarlaUE4/Plugins/Carla/Source/Carla/Game/CarlaEngine.cpp:63:57: error: no matching member function for call to 'AddRaw'
OnPreTickHandle = FWorldDelegates::OnWorldTickStart.AddRaw(

Please describe the steps to reproduce the issue. Can you provide a small but working code example?

clone carla
update carla asset
make launch
BuildCarlaUE4.sh: Build CarlaUE4 project.

What is the expected behavior?
shall build successfully
And what is the actual behavior instead?
error: CarlaEngine.cpp:63:57: error: no matching member function for call to 'AddRaw'
CarlaEngine.cpp:63:57: error: no matching member function for call to 'AddRaw'
Which compiler and operating system are you using? Is it a supported compiler?
clang7, it is a supported compiler
Did you use a released version of the library or the version from the develop branch?
develop
If you experience a compilation error: can you compile and run the unit tests?

This seems to be unrelated to this library.


[styles] Make sure to escape whitespace

Add a new classNamePrefix option, and use it over meta.
Escape whitespace

Closes #9643

@oliviertassinari I need to remember to make a PR to the docs to explain that people need to use JssProvider on the client side to pass this generateClassName function down if they want to use injectSheet

Why is that? I'm surprised to hear it.

I guess I didn't explain it clearly enough in #9643.
withStyles will pick up the generateClassName from context if JssProvider is used -- but if not, it defaults to material-ui's custom implementation.  Whereas injectSheet will default to jss' default implementation.  So there are two different ways things could go wrong:

SSR puts material-ui's custom generateClassName on context.  Client side leaves it up to default.  So on the client injectSheet will generate different class names than sent over the wire
SSR puts default jss generateClassName on context.  Client side leaves it up to default.  So on the client withStyles will generate different class names than sent over the wire.

Hence the only way to get both withStyles and injectSheet to both work on server and client is to use <JssProvider> on the client, which is not mentioned in the docs.
This is why I've been advocating for material-ui not to use a custom generateClassName function -- without it, no one would need this extra configuration, things would just work.

Yes, I have been thinking about enforcing using always JssProvider

not all of the jss plugins I configured seem to be available to withStyles unless I explicitly use .

Probably you configured plugins on one jss instance and mui used another, because without provider.

@jedwards1211 Thanks for taking the time to details the reflection.  The client and the server need to use the same class name generator. They also need to use the same plugins.
+1 for updating the documentation until the approach change.

So does material-ui use the default jss instance if none is on context?  Otherwise I don't understand how it would fail to get the plugins I put on the default jss instance.


Fixed formatting for comment (#34022 review)

Just adding a dot in a comment, from https://github.com/godotengine/godot/pull/34022#discussion_r352370945
@YeldhamDev

Well I noticed it but didn't think it was worth delaying the merge further. There are thousands of comments that will need to be reformatted eventually (ideally once we have written guidelines about comment style), so IMO it's not worth changing just this line as a separate commit + merge commit.


fix: Pin aws provider version prior to 5.x

Description
As mentioned in #349 some modules used in current version of the module (v3.28.0) are not compatible with latest aws-provider. To fix it we have to adjust module requirments.
Motivation and Context

Fix CI - currently GitHub actions are reporting errors like this:

Validation failed: .
╷
│ Warning: Argument is deprecated
│
│   with module.vpc.aws_eip.nat,
│   on .terraform/modules/vpc/main.tf line 10[68](https://github.com/terraform-aws-modules/terraform-aws-atlantis/actions/runs/5867579962/job/15908553795#step:4:72), in resource "aws_eip" "nat":
│ 1068:   vpc = true
│
│ use domain attribute instead
╵
╷
│ Error: Unsupported argument
│
│   on main.tf line 597, in data "aws_iam_policy_document" "ecs_task_access_secrets_with_kms":
│  597:   source_json = data.aws_iam_policy_document.ecs_task_access_secrets.json
│
│ An argument named "source_json" is not expected here.
╵

Ref: https://github.com/terraform-aws-modules/terraform-aws-atlantis/actions/runs/5867579962/job/15908553795
Breaking Changes

There is no breaking changes, but this change will prevent any further updated of aws provider v5.0+

How Has This Been Tested?

[x] I have updated at least one of the examples/* to demonstrate and validate my change(s)
[x] I have tested and validated these changes using one or more of the provided examples/* projects

[x] I have executed pre-commit run -a on my pull request

This could be a minor update -> e.g. v3.29.0 release.


Failed to communication when I changed serial port baudrate

Issue template

Hardware description: M5 stack Atom Lite (esp32 core)
Installation type: micro_ros_arduino
Version or commit hash: ros2 foxy + ubuntu 20.04

Steps to reproduce the issue

Change the serial port baudrate (250000) instead of the default baudrate (115200).  The file path is : src\default_transport.cpp

Build and download the example code "micro_ros_publisher.ino"
ros2 run micro_ros_agent in the ROS2 foxy, and there is not topic visible.
When I used the default baudrate (115200), the topic is visible.

Expected behavior
Serial baudrate (115200), and the output as below.

Actual behavior
Serial baudrate (250000), and the output as below. I'm sure restart the esp32, but it is still incorrect.

Additional information
I'm beginner for micro_ros, I'm not sure if the serial port baudrate can be modified.

I tried it with ESP32 Heltec LoRa v2, no issue for me on 250000 baudrate. Does your board support this? (I'm also new to microROS, just trying to see if I can help :) )

Not sure, but maybe not related to micro-ROS itself. Have you tried to run a basic serial "Hello World" using this baudrate?

Not sure, but maybe not related to micro-ROS itself. Have you tried to run a basic serial "Hello World" using this baudrate?

Thanks for your reply.
I have tested the serial port communication using Windows Serial Monitor, and it works well using baudrate 250000. So I think the hardware should support this baudrate(250000).

I tried it with ESP32 Heltec LoRa v2, no issue for me on 250000 baudrate. Does your board support this? (I'm also new to microROS, just trying to see if I can help :) )

Thanks for your reply.
I am sure my board support 250000 baudrate. But the difference is that the core of my hardware is esp32-pico-d4 instead of esp32. I don't know if this diference cause the communication problem.

Not sure, but test it in your target hardware before trying to run micro-ROS. I'm closing, please reopen if you find a problem in the integration between your transport and micro-ROS.


no Route matched with those values

Thank you for building this library!
When I try to use $auth->signInWithEmailAndPassword I get the error no Route matched with those values .
Do you have any suggestion what might cause this?

hello eydun,
Could you put all your code here? So I can try to help you.
In my project, the following code works correctly
<?php

require 'vendor/autoload.php';

$service = new PHPSupabase\Service(
    "MY_API_KEY",
    "https://MY_URL_PROJECT.supabase.co/auth/v1/"
);

$auth = $service->createAuth();

try{
<EMAIL_ADDRESS>'123456789');
    $data = $auth->data(); // get the returned data generated by request

    if(isset($data->access_token)){
        $userData = $data->user; //get the user data
        echo 'Login successfully for user ' . $userData->email;

        //save the $data->acess_token in Session, Cookie or other for future requests.
    }
}
catch(Exception $e){
    echo $auth->getError();
}

Thanks for the prompt reply!
I missed /auth/v1/ from the url. Now it works! 😊

😃

Anyone still facing issues can use /rest/v1 instead of

Thanks for the prompt reply!
I missed /auth/v1/ from the url. Now it works! blush

Hello gakenge. What problem are you facing?

Hello, for me I was using the /auth/v1 route according to your documentation to query the supabase rest API but I kept getting a 404 error so I switched it to /rest/v1 and the package worked well.


rnl - Added the ability to unenroll students / staff from courses.

In this PR:

Added "Unenroll" button to student / staff list row
Endpoint (POST) to unenroll a student
Flash message indicating student / staff was unenrolled
Modal confirm dialog for unenrollment

Resolves #813

@Sumukh @knrafto I have addressed the comments. Let me know if there is anything else! 😃

I'll take a look in a bit. For the future, having multiple commits in a PR is fine - we will squash the commits when merging if we need to. We try to avoid force pushing as much as possible.

Another test worth adding is posting to the unenrollment route, see test_version.py for an example of how to test submitting a form.

This is pretty close to merging.
To merge:

[ ] Move cache clearing into the method
[ ] Resolve the merge conflict.
[ ] Test the route with a form submissions (like in test_version.py) (Optional)

@Sumukh Made final changes.

Looks good overall. I'll try this locally and then deploy & merge.

Ready to Merge.


Update _template.csl

Add #FORMAT# as this has been now added in the _journals.tab file to accomodate for numeric styles.

Can you do this in the other pull request? You can change it there by editing https://github.com/damnation333/journals/blob/patch-4/nrc/_template.csl

Replaced by #19.


2024-11-14_01-35-03_master-next_aws-cli-v2

Automatically created.

Backport failed for kirkstone-next, because it was unable to cherry-pick the commit(s).
Please cherry-pick the changes locally and resolve any conflicts.
git fetch origin kirkstone-next
git worktree add -d .worktree/backport-10328-to-kirkstone-next origin/kirkstone-next
cd .worktree/backport-10328-to-kirkstone-next
git switch --create backport-10328-to-kirkstone-next
git cherry-pick -x 8397be3bfe84e6e44aad2aae54dc7e5c6ac09d4a

Successfully created backport PR for scarthgap-next:

#10332

Successfully created backport PR for styhead-next:

#10333


Add randomly generated resources

Some resources should be created by Python logic that write to a PDF file.

Closed in dfab2a2ffecb0220855f4dd373ec08d3302ac522


[REQUEST] "recepient not a Supercarrier unit" with Forrestal + SC module installed

Users with Supercarrier module installed have Supercarrier communcations enabled for freeware carriers (Forrestal, Stennis). Expected behavior is that Supercarrier commands in VAICOM work with as normal with Forrestal and Stennis.
Currently user is unable to proceed with other communications after initial inbound call because VAICOM does not detect unlocked Supercarrier communcations on non-Supercarrier units.

This was added to DCS after development stopped, so this is not a bug, but rather a requested feature that can be added.

Would be a great QoL improvement for Tomcat drivers using the Forrestal. For now it works as a 1-ship in CASE I thanks to the automated calls after inbound. Unfortunately it's hard broke when flying with a wingman or in CASE III.
I assume it works going through the menu items but I haven't tested.

This has been implemented in V<IP_ADDRESS>. Happy Forrestal traps!


Reorder instructions in quickstart guide

@peterbarker I prefer the original order - works perfectly on Windows. Windows is for Winners. Linux is for ...

But not enough to block it if you feel strongly  ....

User testing is priceless.  And he was working on Mac, so considered a neutral third party :-P

Fair enough. Lets see if you can get the tests to pass :-)

@hamishwillee In the words of a wise man; 2 out-of-3 aint bad.
AppVeyor is no longer "Required", and I don't think this could reasonably affect anything it tests...

@peterbarker Agree but

Can you rebase?
Normally we can't merge if test fails ... so happy enough to merge, but how do I bypass appveyor to do so?

@peterbarker Rebase?

@peterbarker we need to merge this, if you have time can you rebase so I can merge?

On Tue, 12 Apr 2016, Ramon Roche wrote:

@peterbarker we need to merge this, if you have time can you rebase so I can
merge?

Rebased.

Thanks @peterbarker - LGTM


Update README.md

walk through Readme,found a minor typo accoridng ==> according

We won't be accepting typo PRs as a rule, since they're quite noisy and we've recently noticed an uptick in them that isn't the most productive.


Add key-prefix to support caching results from discrete actions for the same SHA

It would be handy to be able to cache distinct results inside a single SHA. This PR adds the ability to specify a key-prefix which will get added to the cache key.
I had some trouble getting the ci.yml to run against the current sha. I couldn't get uses: owner/repo@${{ github.sha }} to work, unfortunately.
Accordingly, before this is ready to merge, we'll need to revert some of the changes to ci.yml and document the new input usage in the README.

Should we use github.workflow (the workflow name) as a part of the cache key?  And would that be enough to solve the issue?

Should we use github.workflow (the workflow name) as a part of the cache key? And would that be enough to solve the issue?

Ah, great question. I like the idea of no-config-necessary workflow isolation. But, I appreciate the flexibility of being able to define your own cache groups, even in the same workflow. I got thinking about this because of our mix xref check that doesn't have to break the build. I was toying with the idea of caching "low priority" jobs independently from the critical jobs. It would be annoying to break them out into a separate workflow because it'd be another file to synchronize environment and runtime versions across.
What if we called the input cache-group and defaulted it to github.workflow? That way, you'd get workflow isolation by default, but would still have the option to override it with a custom key if you want more flexibility.

What if we called the input cache-group and defaulted it to github.workflow? That way, you'd get workflow isolation by default, but would still have the option to override it with a custom key if you want more flexibility.

Sounds great to me!

Updated in https://github.com/parallel-markets/cache-result-action/pull/2/commits/1859e4d067db992ef860cf771d1657af8b685013. Also removed the deploy_sha output, since it doesn't provide the desired effect.


Automatic Server Connection

This update aims to improve the Pterodactyl-VSC extension for Visual Studio Code by allowing users to automatically connect to one or more Pterodactyl servers. Users can simply right-click on a folder and select "Open with Code," with configurations set in a .vscode/ptero-config.json file. This feature will streamline the process of connecting to servers, enhancing productivity by reducing the need for manual server connection setup each time. This functionality will be particularly useful for developers who frequently work with multiple servers, providing a more seamless and efficient workflow.

Please do not use AI for requesting features. I'll ignore your other issues until you've updated them with some proper content. Feel free to create a single comment on one of them after you updated the description.
About this suggestion, that doesn't really seem possible? First, I'm not supposed to edit random files in a folder, there are dedicated files for that.
The extension already stores the configuration per workspace by default. This should allow you to create a .vscode/settings.json file which configures the extensions for the current workspace only, if you want to share the configuration. If not, you can simply configure it in the editor settings for the current workspace instead of globally.

Sorry, I speak French and use ChatGPT to translate my suggestions. If you prefer that I write my suggestions in French, I can do that.

https://www.deepl.com/translator

when i start vscode even if the config is set and valid nothing happens it doesn't automatically connect to my pterodactyl server and there is no extension in the outputs

hello, when do you plan to solve the problem and process the suggestions?
There has been no activity for over 3 weeks now. Have you abandoned the development of the extension?

Hi, I neither forgot about the suggestions nor did I stop developing the extension, I just don't use it personally yet and therefore don't prioritize its development.
I can't tell when or whether I'll implement these, I like the suggestions but most of them aren't easy to implement :/


Update to support Homey Pro 2023?

Hi,
any chance you would update this app to support Homey Pro 2023?
Thanks a million!

+1 vote for this.

+1 from me as well

Just for your information: most Marantz receivers should work with the Denon AVR app which is available for Honey Pro 2023.

Sorry to hear! Hope you get well soon! Thanks for the reply 🙏

@hilvarenbeek, thanks for your efforts and hope you will get better soon.
For me, the Denon AVR app seems to work fine, having an Marantz NR1603

Just for your information: most Marantz receivers should work with the Denon AVR app which is available for Honey Pro 2023.

Thank you so much for that info! The Denon App works great with my SR6015s, even better than the Marantz app ever did since it has full support for the 8K Input. The Marantz App can switch to it as "AUX 2", but would not know when the receiver was switched to it via remote etc., the Denon app does just that. I don't think maintaining two different Apps for Denon and Marantz even really makes sense since they are basically identical in regard of their network control protocol and HEOS functionality. They should just be merged into one HEOS or Sound United app so it is easier for new users to find it, no matter which brand plate they happened to put on the specific model they have 😉

I agree and think Athom should remove my app from the list and point at the Denon app in stead. It could be renamed Denon/Marantz or something and development could continue there. I think this has been suggested before though, maybe someone on here is still in touch with Athom?

+1 vote for this.

Hi, so far no new maintainer has picked this up AFAIK and I do not own a Homey Pro. It is possible that you can get it to work via a HEOS app. My app uses a simple network connection to talk directly to the Marantz (or Denon) but the disadvantage of that is that there are model-specific commands. Besides me not having a Homey Pro and no recent D/M AVR, I’m currently suffering from medical issues which makes it even harder to find time for this. I’m sorry but don’t expect much from me in this repository. Thanks for showing interest though!

Thanks for replying and your effort put into the app. Hopefully you’ll recover.
And I can confirm the Denon AVR app works on my Marantz SR-6013


Example and test of custom messages

Signed-off-by: Brian Cragun<EMAIL_ADDRESS>This shows how a custom message can be created and used with the converter.
The test ensures that we don't break this capability in the future.

tag @LisaWellman


change backup folder name

I've had cases where neovim reads incorrect configuration in the same directory, using a special prefix should avoid this situation.
see: https://github.com/ayamir/nvimdots/issues/441

Sorry, I just wanted to make the backup folder name clearer.  I apologize for wasting your time.

Just pushed several minor updates and adjusted instruction order.


Spurious failures when iterating over an empty vector

I tried this code:

struct Foo (u64);

fn main() {
    let x = Vec::<Foo>::new();
    for i in x {}
}

using the following command line invocation:
kani test.rs

with Kani version: 8f3d0911697
I expected to see this happen: Verification successful

Instead, this happened: 15 checks failed:
[pointer_arithmetic.7] pointer relation: pointer NULL in var_11: FAILURE
[pointer_arithmetic.9] pointer relation: deallocated dynamic object in var_11: FAILURE
[pointer_arithmetic.10] pointer relation: dead object in var_11: FAILURE
[pointer_arithmetic.11] pointer relation: pointer outside object bounds in var_11: FAILURE
[pointer_arithmetic.12] pointer relation: invalid integer address in var_11: FAILURE
[pointer_arithmetic.13] pointer relation: pointer NULL in var_12: FAILURE
[pointer_arithmetic.15] pointer relation: deallocated dynamic object in var_12: FAILURE
[pointer_arithmetic.16] pointer relation: dead object in var_12: FAILURE
[pointer_arithmetic.17] pointer relation: pointer outside object bounds in var_12: FAILURE
[pointer_arithmetic.18] pointer relation: invalid integer address in var_12: FAILURE
[pointer_arithmetic.19] pointer arithmetic: pointer NULL in var_4 + var_6: FAILURE
[pointer_arithmetic.21] pointer arithmetic: deallocated dynamic object in var_4 + var_6: FAILURE
[pointer_arithmetic.22] pointer arithmetic: dead object in var_4 + var_6: FAILURE
[pointer_arithmetic.23] pointer arithmetic: pointer outside object bounds in var_4 + var_6: FAILURE
[pointer_arithmetic.24] pointer arithmetic: invalid integer address in var_4 + var_6: FAILURE
...
** 15 of 291 failed (3 iterations)
VERIFICATION FAILED

The same checks fail if I change to a normal struct:
struct Foo {
    x: u64,
}

This actually occurs without structs as well:
$ cat test.rs
fn main() {
    let x = Vec::<i32>::new();
    for i in x {}
}
$ kani test.rs | grep FAIL
[pointer_arithmetic.13] pointer arithmetic: pointer NULL in var_4 + var_6: FAILURE
[pointer_arithmetic.15] pointer arithmetic: deallocated dynamic object in var_4 + var_6: FAILURE
[pointer_arithmetic.16] pointer arithmetic: dead object in var_4 + var_6: FAILURE
[pointer_arithmetic.17] pointer arithmetic: pointer outside object bounds in var_4 + var_6: FAILURE
[pointer_arithmetic.18] pointer arithmetic: invalid integer address in var_4 + var_6: FAILURE
[pointer_arithmetic.25] pointer relation: pointer NULL in var_11: FAILURE
[pointer_arithmetic.27] pointer relation: deallocated dynamic object in var_11: FAILURE
[pointer_arithmetic.28] pointer relation: dead object in var_11: FAILURE
[pointer_arithmetic.29] pointer relation: pointer outside object bounds in var_11: FAILURE
[pointer_arithmetic.30] pointer relation: invalid integer address in var_11: FAILURE
[pointer_arithmetic.31] pointer relation: pointer NULL in var_12: FAILURE
[pointer_arithmetic.33] pointer relation: deallocated dynamic object in var_12: FAILURE
[pointer_arithmetic.34] pointer relation: dead object in var_12: FAILURE
[pointer_arithmetic.35] pointer relation: pointer outside object bounds in var_12: FAILURE
[pointer_arithmetic.36] pointer relation: invalid integer address in var_12: FAILURE
VERIFICATION FAILED

I did some digging into this issue. I think there is a mix here of a valid failure and a CBMC usability issue. So far I investigated these failures:
[pointer_arithmetic.13] pointer arithmetic: pointer NULL in var_4 + var_6: FAILURE
[pointer_arithmetic.15] pointer arithmetic: deallocated dynamic object in var_4 + var_6: FAILURE
[pointer_arithmetic.16] pointer arithmetic: dead object in var_4 + var_6: FAILURE
[pointer_arithmetic.17] pointer arithmetic: pointer outside object bounds in var_4 + var_6: FAILURE
[pointer_arithmetic.18] pointer arithmetic: invalid integer address in var_4 + var_6: FAILURE

There is a legit issue caused because std::Vec implementation uses a dangling pointer to represent 0 capacity vectors and using ptr::add(). See this discussion for more context. Note that we might want to consider tuning Kani to not emit errors when user uses unwrap_*(), since the operation is safe even with dangling pointers.
Some of these failures are spurious though, e.g.: pointer NULL in <expr>. I believe the issue here is that because the pointer is dangling, CBMC treats the result of the addition as UB and all the subsequent checks fail even though var_6 is 0 and var_4 is not NULL.

I created https://github.com/diffblue/cbmc/issues/6705 to track the issue I am seeing with CBMC's result.


Loader function not executed after redirect to same url with different search params after update to remix v2

Reproduction
In our action function after submitting a form, we are redirecting to the same url with different search params.
This problem occured after our update to remix v2, in remix v1 this was working fine.
export const action: ActionFunction = async ({ request }) => {
  try {
    ...
    const headers = await someMethodToGetRedirectUrl();

    return new Response(null, { status: 302, headers });

  } catch (error) {
   ...
  }
};

System Info
System:
    OS: Windows 10 10.0.19045
    CPU: (8) x64 Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz
    Memory: 4.31 GB / 15.86 GB
  Binaries:
    Node: 20.10.0 - C:\Program Files\nodejs\node.EXE
    npm: 10.2.3 - C:\Program Files\nodejs\npm.CMD
  Browsers:
    Edge: Chromium (127.0.2651.74)
    Internet Explorer: 11.0.19041.3636
  npmPackages:
    @remix-run/dev: ^2.10.2 => 2.11.1
    @remix-run/eslint-config: ^2.10.2 => 2.11.1
    @remix-run/node: ^2.10.2 => 2.11.1
    @remix-run/react: ^2.10.2 => 2.11.1
    @remix-run/serve: ^2.10.2 => 2.11.1
    @remix-run/v1-route-convention: ^0.1.4 => 0.1.4

Used Package Manager
npm
Expected Behavior
The redirect is successfull and the loader function is executed.
Actual Behavior
The url in the browser is changed, but the loader function is not executed. We also don't see the status 302 in the browser developer tools.

Please provide a minimal reproduction so we can look into the issue


Update example Ubuntu version so recent Bikesheds can run.

Ubuntu 20 shipped with Python 3.8, which limits Bikeshed to a version from Nov 2023.

Preview | Diff

There's another instance in docs/README.md


Fix places without counties

This changes the behavior of the header tags slightly: it will show "United States" if there is space, but will break it down to "US" when needed.

Also, ironically, American Samoa STILL doesn't load. But instead of an error page it just says "Loading...". Not sure if it's missing data?
But Guam and Mariana load, so that's promising.


Application Gateway - Probes block shouldn't have mandatory 'host'

See: https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/application_gateway#probe
Perhaps some null defaults and tries and a few more defaults like:
content {
  name                                      = probe.value.name
  protocol                                  = try(probe.value.protocol, "Https")
  host                                      = try(probe.value.host, null)
  pick_host_name_from_backend_http_settings = try(probe.value.pick_host_name_from_backend_http_settings, false)
  port                                      = try(probe.value.port, null)
  path                                      = probe.value.path
  interval                                  = try(probe.value.interval, 30)
  timeout                                   = try(probe.value.timeout, 30)
  unhealthy_threshold                       = try(probe.value.unhealthy_threshold, 3)

      status_code = try(probe.value.match.status_code, ["200-399",])
      body        = try(probe.value.match.body, null)

@iriahk89 can you please review?


Accommodate new signatures better

Thanks to PR #151, we have some preliminary support for the new signatures feature coming in Perl 5.20.  However, it would be nice if this support were on by default, and if it coped well with prototypes.

This issue can be closed according to latest changes.


Enable ListView deleting

Issue: #228
Problem: Cannot delete lisview and cannot even selected it
Solution: Add padding between listview and listitems inside the one.
Signed-off-by: Kornelia Kobiela<EMAIL_ADDRESS>

This code is not proper solution


Get Samples by Runner

(closes #26)

Coverage increased (+0.4%) to 87.879% when pulling 74a2c70c404fee744efe8a1d8ee5da1ac5fe569d on provider into fb3c11bc5e6a4266c3ae17d624f4549e7be05c6a on master.


[1.10.2] Tesla ClassNotFoundException

Im not using Tesla, but EnderIO at some situation want it:
http://pastebin.com/ERKqZdLt

Why did you delete the template instead of filling it out?

forge build 2092
enderio build 120
endercore build 56
idk howto reproduce

So you enable DEBUG logging and are surprised that the API diagnostics tell you the exact technical reason why it thinks Tesla is not installed?


Prashant Kalokhe

Hactoberfest

Please update your code. Don't make a new row.

Please check again. You are still making a new row


Support for context menus

Add support for context menu actions. Probably I will start working on them after finishing #954 (in a day or two) or someone else can do them.

Fine, I'll do it myself. Well, already did it. So does not matter


Built go app isn't passing arguments to the command when using docker run.

Hey there!
I have a go app with the following buildpack file to specify that the main.go isn't in the root folder:
---
go:
  targets:
  - ./cmd/app

I built the image with: pack build app
When I try to run the image with docker run app start, I only get the help output for the app's cli when I expect the app to actually start. Any ideas on what might be missing?

It looks like this has been solved with the release of v0.0.34! 🥳


[KBM] Accessibility: Remapping keys is very hard to do with a screen reader

ℹ Computer information

PowerToys version: 0.21.1
PowerToy Utility: Keyboard Manager
Running PowerToys as Admin: No
Windows build number: [run "winver"] Version 2004 (OS Build 19041.508)

📝 Provide detailed reproduction steps (if any)

With the NVDA screen reader loaded, press Windows + B to move to the notification area.
Press Enter on the "Notification Chevron" button, to expand the hidden icons.
Using the Left Arrow, find the PowerToys icon, and press the Applications key.
Press the Down Arrow key until you hear "Settings, and press Enter.
In the settings window, press Tab until you hear "general one of nine".
Press Down Arrow until you hear "Keyboard manager."
Press Tab until you hear "remap a key." Press Enter on that button.
You'll hear "remap a key," but nothing else. Focus doesn't land on anything.
If you press Tab, you'll find an "OK" button, a "Cancel" button, and an unlabeled button. If you press the unlabeled button, you'll find dropdown boxes, called "combo boxes" in screen reader jargon, for choosing keys, and an edit field, but there is no way to check which boxes are for the source key, and which are for the target key. I can review the screen with Object Navigation in NVDA, see the user guide for info on that, but it is still not clear which control I should be using to remap the keys.

✔ Expected result
The expected result is that a blind person who is proficient with technology would be able to use a screen reader to get just as much out of computers, including more advanced usage, as sighted users. I expected that, with Microsoft's push into greater accessibility, that PowerToys would have just as much accessibility focus that much of the rest of Windows does. The expected result is that I can remap a keyboard command, like Windows + F10 to play/pause, and use the rest of the PowerToys just as successfully.
❌ Actual result
The screen reader cannot read the button to, apparently, open the configuration dialog. I suspect that there is also a list, empty for now, of keys that have been remapped, that the screen reader misses entirely. When remapping keys, the screen reader does not speak which fields are for choosing a key, and which are for remapping the chosen key.
📷 Screenshots
No screenshots are necessary.

@enricogior adding this to 0.39, this may already be fixed since i can't see the accessability team pass missing a big issue like this.
0.25 we did a massive accessability push.

@enricogior adding this to 0.39, this may already be fixed since i can't see the accessability team pass missing a big issue like this.
0.25 we did a massive accessability push.

Correct. This is fixed a while ago. Closing.

Yes, this is definitely fixed.
Devin Prater
@.***
Https://devinprater.flounder.online

On Jul 12, 2021, at 11:01 AM, Stefan Markovic @.***> wrote:
@enricogior https://github.com/enricogior adding this to 0.39, this may already be fixed since i can't see the accessability team pass missing a big issue like this.
0.25 we did a massive accessability push.
Correct. This is fixed a while ago. Closing.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/microsoft/PowerToys/issues/6837#issuecomment-878399890, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADUMTTWTQZ346ZMBOQSQVFLTXMGVPANCNFSM4R2CBKHQ.


Update Gradle version to 8.8

What does this PR do?
This PR updates Gradle version to 8.8.
Review checklist (to be filled by reviewers)

[ ] Feature or bugfix MUST have appropriate tests (unit, integration, e2e)
[ ] Make sure you discussed the feature or bugfix with the maintaining team in an Issue
[ ] Make sure each commit and the PR mention the Issue number (cf the CONTRIBUTING doc)

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

Project coverage is 78.34%. Comparing base (cf789ce) to head (d74b74a).

Additional details and impacted files
@@                          Coverage Diff                           @@
##             nogorodnikov/update-agp-to-8.5.0     #277      +/-   ##
======================================================================
- Coverage                               78.38%   78.34%   -0.04%
  Complexity                                254      254
======================================================================
  Files                                      31       31
  Lines                                     911      914       +3
  Branches                                  114      114
======================================================================
+ Hits                                      714      716       +2
  Misses                                    147      147
- Partials                                   50       51       +1

see 2 files with indirect coverage changes


updated education quiz

IMPORTANT: Please do not create a Pull Request without creating an issue first.
Any change needs to be discussed before proceeding. Failure to do so may result in the rejection of the pull request.
Do not change the following line aside from replacing YOUR-ISSUE-HERE with the issue this PR fixes
fixes #490
Please provide enough information so that others can review your pull request:
Changed wording of quiz section from False or True to "True or False" and changed swiping direction and instructions to match with the wording.
Test plan (required)
Ran through the quiz to ensure functionality was still working.

Final Checklist

[ ] Have you bumped the version in package.json?

Second decimal for major change, third decimal for minor change. This can go past 10 i.e. 1.0.9 !=> 1.1.0, 1.0.9 => 1.0.10
Read here for more info
Did not deem it necessary

[X] Have you added any new tests necessary?
[X] Is your PR rebased off the most current master?
[X] Have you squashed all commits, or if you will merge will you squash all commits?
[X] Did you use yarn, not npm?
[X] Did you use Material-UI wherever possible?
[X] Did you format according to Prettier?
[X] Did you run all of your most recent changes locally to make sure everything is working?

There was an issue with score and tracking will make new PR when fixed

NVM seems to be a local branch issue

True or False is the colloquial phrase and I wanted the swipe to line up with the order of the phrase

I think we can have the test say "True or False" with users understanding that swiping right (so card going off the screen to the right) is for "True," and swiping left (so the card going off the screen to the left) is for "False."
Think Tinder mechanics but for pandemic education

I can switch it back if you want currently works like this

In order to switch it back all I need to do is flip the greater than/less than sign and change the instructions

I think we should switch it back, Swiping left ( <-- ) for true might be confusing for some

Ok sounds good will do

Also let me know if you need someone to work on the questions (i think the one about going to the ER when u have any symptoms is wrong)

Looks good. In terms of education - join the Discord and reach out to @jeinson on there, he's leading education efforts


Date labels

Hi, this may be something I've just completely missed, but I noticed that whilst Dygraphs should natively and automatically parse dates on the X-axis, react-dygraphs doesn't seem to do this. Is this a known bug or am I doing it wrong?
When I run the following example code, nothing shows up on the X-axis and no line is drawn, but replacing the dates with an index works fine. Any thoughts? Thanks in advance!
import React from 'react';
import Dygraph from 'react-dygraphs';

export default class Chart extends React.Component {
  render () {
    const labels = ['Date', 'Amount'];
    const graphData = [['2015-01-01',10], ['2015-01-02', 20], ['2015-01-04', 14]];
    return <Dygraph data={graphData} labels={labels} height={600} width={1200} />;
  }
}

Hi Matt, thanks for the report. I looked at http://dygraphs.com/data.html#array and it seems to indicate that strings aren't parsed when passing an array (as opposed to CSV data etc), so you should construct and pass Date objects rather than date strings. If this doesn't work for you I'd love to keep looking into it.

Also, here is the propTypes definition that applies to data (and reflects the Dygraphs docs as far as I can tell):
https://github.com/motiz88/react-dygraphs/blob/master/src/components/Dygraph/options.js#L40

Ahh, thanks for getting back to me Moti! That makes sense- I haven't really delved too deeply into Dygraph's documentation, but has just assumed that the object parsing would work the same as CSV, bit strange that it doesn't tbh, but clearly not the fault of your module!
Just gave it a go with a date object, and it now works with:
return [new Date(Moment(row.Date, 'DD/MM/YYYY')), row.Value];

Thanks!


Include support for tagged PDFs

While working on a feature to show outlines for documents without outlines, I found that the PDF format supports a standard way to attach semantics to the structure of the PDF (14.6, 14.7, 14.8 of PDF spec). This could be used to improve the text selection, searching and accessibility.
This is a complex feature, and probably not going to be resolved soon. However, we can incrementally add support for smaller features that are under the umbrella of tagged PDFs. I'm now developing the minimal internal data structures and parsers (NumTree, StructTree, StructElem) for the use case of extracting outlines from PDFs, which could be used as a basis for further improvements related to tagged PDFs.
Relevant bugzilla bugs:

https://bugzilla.mozilla.org/show_bug.cgi?id=727819 "Make PDF.js accessible"
https://bugzilla.mozilla.org/show_bug.cgi?id=861157 "Support tagged PDFs in pdf.js"

External resources:

http://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/pdf_reference_1-7.pdf (section 14.8 Tagged PDF, but also 14.6 Marked Content and 14.7 Logical Structure)
http://www.aiim.org/Research-and-Publications/standards/committees/PDFUA/Technical-Implementation-Guide-32000-1 "PDF/UA Technical Implementation Guide: Understanding ISO 32000-1 (PDF 1.7)"

Added [triage-needed] label. Do we need a new label (4-tagged-pdf) for development related to tagged PDFs?

Do we have example PDFs? I personally have never seen such PDFs. How often are they used in practice?

Yes, we have a couple of those:
$ cd test/pdfs/
$ grep -rla '/Marked true'
i9.pdf
fips197.pdf
issue1169.pdf
smaskdim.pdf
issue3879.pdf
bug816075.pdf
pdf.pdf
issue1709.pdf
f1040.pdf
wdsg_fitc.pdf
annotation-border-styles.pdf
ecma262.pdf
bug887152.pdf
issue1133.pdf
issue2442.pdf
issue1796.pdf
type4psfunc.pdf

If you need more, https://encrypted.google.com/search?q=filetype%3Apdf+"%2FMarkInfo"+"%2FMarked+true"

Thank you! In that case, it is definitely interesting to look into this.

I think it might be relatively easy to implement this using a mix of HTML and ARIA attributes - no changes to the rendering required - just add some new attributes.
The PDF tagging info is stored in the StructTreeRoot tree, which contains structure elements with accessibility info like alt text, language and semantic type (H1, TH, LI, etc). The structure elements contain references to objects in the page content stream. There's a graphic showing this here:
https://stackoverflow.com/a/34047585
I think you can inject the PDF tagging info in _layoutText(textDiv) using something like this:

Look up the corresponding structure element in the StructTreeRoot tree for the PDF object being rendered
Add a role attribute to the div if the structure element has a structure type like H1, H2, LI etc.
Add an aria-label attribute to the div if the structure element has an /Alt entry
Add an aria-level attribute to the div corresponding to heading level for the structure types H1-H6

This should make headings, lists and images accessible to a screen reader. Tables might be more complicated to implement.
The PDF structure types are listed in  section <IP_ADDRESS>. of
https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf
For a heading the rendering would change from this:

7.  Evaluation

to this:

7.  Evaluation

That would then be read by a screen reader as "7.  Evaluation, heading level 1" and more importantly lets the user skip between headings using the 'next heading' key (which makes large documents much easier to navigate)

I've noticed the 4-tagged-pdf label has been removed. Is this still something that's being pursued?

The issue being open indicates that we're considering it. This is a feature, and the labels have been reordered a bit.

Wow, that's great! Does this feature-being-considered include support for generating tagged PDFs? It could facilitate implementing something like a parser/analyzer for existing PDFs, but it would also provide support for generating 508c PDFs.
Core Functionality Required for Generating 508c PDFs:

tag the document (with a language and a title, possibly other tags)
tag the structural objects inside the PDF (header, table, th, td, lists, etc.)
add alternate text to visual media (images, video, figures, etc.)
create/maintain a tab order of elements

If core functionality existed for these 4 things, then it would be possible to implement logic in the PDF generation process that would produce 508c PDFs. Which, to be honest, would be huge, since I've not yet found any OpenSource javascript tool with this functionality supported.
After having written this, I'm not sure if this would qualify as a separate feature request or not... I'd happily create a new issue if that is the case.

I've been working with @cuhaller to provide better compliance with SC 2.4.10 and 1.1.1 for use cases specific to the app his team is working on.
I believe the changes should be sufficient for a subset of what this issue is requiring to be done. I'll have a PR up in the next week or so following the contributing guidelines. I'll update this thread when I submit.

I have changes in a fork from 2.3.200 of PDF.js to provide heading levels and alternative image text (without positioning) located in the headings-and-img-alt-text branch of this repo.
I'm hesitant to open a PR as there are merge conflicts against master and I currently do not have the time to resolve them.
If anyone has availability to bring this branch up to date with master let's get in touch!

Edge has touted native support for tagged PDFs. Chrome also now supports it, and has also touted its coming ability to export tagged PDFs from web pages.
Today, Firefox does not expose the tagging in PDFs to the accessibility tree / accessibility APIs. However, this text is on the features list for Firefox 80:

Firefox can now be set as the default system PDF viewer.

If a user who relies AT does this, or a system administrator who does not know the make-up of users does this, it can be problematic for those users who otherwise relied on Edge, Chrome, or Adobe's Reader to parse tagged PDFs for them.
I strongly suggest that advice be stricken from the release notes for 80, and that this bug priority be bumped up. I understand Mozilla is resource constrained now, but the optics on promoting an inaccessible feature that is better served in competing browsers is not a good look.

Our organization is looking to implement an accessible PDF solution for users of assistive technologies. We’ve come to the conclusion that previewing a PDF with PDF JS is not accessible as semantic markup is missing. The lack of semantic information creates barriers for users who interact with screen reader software.  While the PDF does display in plain text and announce annotations, markup is not supplied for headings, tables, images or links.
The use case surrounding tables is particularly difficult for screen reader users. Tables that lack semantic markup provide no context to users and impossible for screen reader users to fully understand the information presented in the PDF.
Links are announced as URLs instead of the specific link text which makes understanding the purpose of the link difficult. We would recommend that links use the visible link text instead of the link URL, so that users will understand the link in context.
Without this support, we have concerns about implementing PDF JS broadly. Is there any update or timeline around supporting a feature to provide semantic markup? We ask that this issue be considered a higher priority as it impacts a users ability to perceive and interact with content.

As far as I know, contributions are more than welcome

Thanks @trjohnst for your work on this.
I started manually rebasing @trjohnst's branch on pdf.js master. This approach works well for tags which only need a single level; e.g. headings or images with alt text. When walking the content stream, if it encounters a marked-content sequence, it looks up the associated structure element and places the appropriate ARIA role on the text span in the HTML output by the pdf.js text layer.
Unfortunately, this isn't sufficient for anything that needs nested tags; e.g. lists or tables. I don't think the approach can be extended to cover those, at least not without a lot of tricky edge cases. Furthermore, in order to properly support links and form fields (and note that form fields weren't supported by pdf.js at the time of @trjohnst's contribution), we need to be able to consider the annotation layer, not just the text layer. Thinking even further forward, it'd be good to be able to implement heuristics to try to detect (and correctly position) headings, links, tables, form fields, etc. in untagged PDFs.
Rather than trying to do this in the text layer, I think we're going to need to walk the structure tree and render nodes based on that, setting ARIA properties on the elements we output. The structure tree can reference data in both the text and annotation layers. We can either reorder the text and annotation layer DOM nodes based on the structure tree (might be tricky without breaking the visual rendering?) or use aria-owns to reorder just the a11y tree without reordering the DOM.
Architecturally, this is tricky because the text and annotation layers are already rendered separately, and now we need to look at a third layer (or at least source of truth), the structure tree, which can move (or reference) nodes in both of the other layers. The simplest way to do this is probably to attach an id to every marked-content sequence (in the text layer) and link/form field (in the annotation layer). I see form fields already have a data attribute specifying an id. If we're going to use aria-owns, we need to set the id attribute anyway, so this might feed two birds with one scone. The id would need to be something we can calculate from outside of the text and annotation layers, from within our new structure layer. When we're handling the structure tree, we'd then output elements for the structure elements, moving/owning elements from the text/annotation layers based on their ids.
Going beyond tagged PDF to heuristics, we'd need to be able to do things like: given a link or form field annotation, does its rectangle encompass something in the text layer? if it does, the annotation should be associated with its text (aria-owns or DOM move). Again, that's architecturally tricky because the text and annotation layers (and their inputs) are separate and I don't think we have any cached state from those layers we can use. However, we can potentially look at the bounds of the nodes rendered by the text and annotation layers, though that starts to blur the architectural boundaries between content and presentation processing.
While an initial implementation of tagged PDF doesn't necessarily need to support heuristics, I'd strongly encourage this to be considered as part of the architectural design. The reality is that untagged PDFs are unfortunately very prevalent and it'd be sad to be locked into an architecture which doesn't allow these to be made more accessible. (Note that Acrobat Reader, and to a much lesser extent Chromium, use heuristics to try to make untagged PDFs more accessible.)

@samsmith-workday Did you guys find a 508/WCAG compliant project you liked?

Fixed by the PR above. Any remaining features should be filed in a follow-up issue.


Make source set JVM specific elements an extension of the java plugin instead of hard coded and the container easier to create

At the moment creating a source set for a custom plugin is such a nightmare that you always go for an other container, usually called sourceSets as well, inside your extension an you totally ignore the default one (if is there at all since it need to be initialized by the Java base plugin).
I would recommend to make all The sourceSet interface the most JVM agnostic as possible, always register the source sets in the project or create a base plugin that does so and make a JVM plugin that adds all those extensions.

Duplicates #831


sulu_admin.email needs to be defined in the configuration

The new sulu_admin.email setting needs to be defined in the AdminBundle Configuration class. With a default of null if that is valid.

That's already done: https://github.com/sulu-cmf/sulu/blob/develop/src/Sulu/Bundle/AdminBundle/DependencyInjection/Configuration.php#L33


Use all horizon

Fixes the horizon length in closed loop as in the earlier versions of TuLiP; and makes the former implementation available under the use all horizon option.

The docstring of function feasible.solve_closed_loop needs to be updated.

Also, in essence, this is an attractor computation (whether exactly depends on the details).

Except for a union in case of overlap that does not have any effect in the case of use_all_horizon == True (the topic of this PR), this the same algorithm that I (@johnyf) had implemented starting in 55a436712c6632cbdad13aed9271ea0e1e3366db, and which was made unavailable in 430567b026f9639d874dfbd93e2c5375bec4883b.
The reasons that motivated 430567b026f9639d874dfbd93e2c5375bec4883b are not addressed.
Some of those reasons may be missing from the below list, and be commented in the future.
As far as I can understand, the following issues exist with this change:

timing semantics wrt environment change from fixed horizon (based on a discussion with @necozay).
The concretized strategy would thus allow the system to choose itself a (potentially different every time the same transition is taken between two given polytopes) horizon during execution. Concretization relies on the assumption that the discrete-valued environment variables remain unchanged between sampling points, i.e., at the horizon boundaries. If the horizon varies during execution, then the system can select the sampling points in time that discrete environment variables will change, which makes the assumption quite different.

sampling frequency: if the horizon is smaller than the smallest time interval that env vars are known to not change, then at first it appears that the system would pick a higher sampling frequency, so env wouldn't change anyway in between. However, the problem is that the sampling time instances shift, and thus can skip environment changes at a lower frequency.
For example, if env changes at multiples of 4 sec: *0* 1 2 3 *4* 5 6 7 *8*, and sys is allowed to pick a horizon 1 <= H <= 4, then it can pick 2 and then 4, to observe the environment at times 1, 2, and 6: ^0^ 1 ^2^ 3 4 5 ^6^ 7 8. Combining observation and actual env changes, we get ^*0*^ 1 ^2^ 3 *4* 5 ^6^ 7 *8*. So, sys was traveling from one polytope to another, under the assumption that env discrete vars remain unchanged, during the times 4--6, even though env did change. In other words, the synthesized strategy cannot any more be concretized and ensure the given specification at the finer time scale.

the above cannot be avoided by just stuttering at the destination, after reaching it. Depending on the control input and drift K in x' = A x + B u + E d + K, even w/o noise, it can be impossible to stutter.

connectedness: this algorithm, which is (almost) that by @johnyf (me), doesn't work correctly. In case of sufficient drift / strong dynamics that the system "jumps" between polytopes that are disjoint, the package polytope does not work correctly. Operations between polytopes return incorrect results. (At least that is my recollection. Relevant issue must have been #74).
So, firstly polytope needs to be corrected and unit tested to ensure that it supports regions that comprise of disconnected (non-)convex polytopes. Please note that this issue doesn't arise with use_all_horizon == False, because there we have a chain of polytopes, and each is ensured to be connected, by induction, starting from the connectedness of the final target polytope.
In summary: polytope connectedness is a loop invariant of the algorithm for use_all_horizon == False. It is not an invariant of the algorithm for use_all_horizon == True. Given that polytope doesn't support (at least as far I have experienced in 2014) disconnected regions, it cannot be used in a loop that does not support this invariant.

variables reached and old_reached are ineffective, an error introduced by myself @johnyf in 6a8e8002ab681abae687579ecad245976affb56f, where reached is introduced for early termination, but not updated.

Relevant versions (listed here for easy reference):

Old version before @johnyf changed it

p2 = target
for ...:
    s0 = solver_open_loop(p2, N=1)
    p2 = s0 \/ p2
    if dim(p2) < ambient:
        break
return p2

version after @johnyf modified it

p2 = target
s0 = empty
for ...:
    p2 = solver_open_loop(p2, N=1)
    s0 = s0 \/ p2
    if dim(p2) < ambient
        break
return s0

version proposed here

same as previous version, except for an "overlaps initial set?" that has been commented, and does not change the algorithm for the case use_all_horizon == False.
Connectedness and drift were some main reasons for deactivating it in 430567b026f9639d874dfbd93e2c5375bec4883b.
Also, after further analysis, the commit message of 55a436712c6632cbdad13aed9271ea0e1e3366db may be incorrect, in that the first and second versions are different, but may be equivalent. This needs searching for what bug led to writing the message in 55a436712c6632cbdad13aed9271ea0e1e3366db.

Relevant issue is #40, where it was decided to deactivate the option use_all_horizon. The above comment (partially) answers this question.

This change just cleans up the flags and makes them consistent with what is documented in various publications. With this change:

flag closed-loop = True works with a fixed horizon (as has always been in TuLiP and documented in various publications until the "recent" change by @johnyf  - this change is called @johnyf version from now on).
the @johnyf version is now under use_all_horizon = True. This has issues in terms of environment timing assumptions as discussed above.
as for drift and connectedness, I think appropriate flag/input to play around to fix them is trans_length, which is related to whether one only wants to look at the neighboring polytopes to define transitions (where neighboring is defined in terms of adjacency) and up to what length neighbors. looking at the neighbors is motivated by the fact that if there is an underlying continuous-time system, it should not jump. but for discrete-time systems being a neighbor is not really relevant. One option could be to define trans_length = Inf that does not use polytope adjacency at all and just looks at all pairs of cells for the case with drift.

Updated the comment above: for use_all_horizon, the algorithms of 55a436712c6632cbdad13aed9271ea0e1e3366db and 92f717f4b381714f8edcb659b27f3b9791a57904 are different.

After email correspondence with @necozay and @slivingston the issue has been investigated and resolved on branch fixed_or_variable_horizon, and the conclusion summarized below.

Original version, after some refactoring by Ioannis, but w/o any changes to the algorithm.

Original version, after refactoring, but before the algorithm was modified by @johnyf. For use_all_horizon, this is an attractor computation. Depending on the polytopes, it can be conservative in some cases (an under-approximation). For not use_all_horizon, this is simply a backward iteration w/o any unions.
https://github.com/tulip-control/tulip-control/blob/3b5e538d39fc264af279ff008e12502e1ce992e9/tulip/abstract/feasible.py#L115
def solve_closed_loop(
        P1, P2, ssys, N,
        use_all_horizon=False, trans_set=None):
    p1 = P1.copy() # Initial set
    p2 = P2.copy() # Terminal set
    if trans_set is not None:
        Pinit = trans_set
    else:
        Pinit = p1
    # backwards in time
    for i in xrange(N, 0, -1):
        # first step from P1
        if i == 1:
            Pinit = p1
        s0 = solve_open_loop(Pinit, p2, ssys, 1, trans_set)
        p2 = union_or_chain(s0, p2, use_all_horizon)
        # empty target polytope ?
        if not pc.is_fulldim(p2):
            return pc.Polytope()
    return p2

def union_or_chain(s0, p2, use_all_horizon):
    if use_all_horizon:
        p2 = s0.union(p2, check_convex=True)
    else:
        p2 = s0
    return p2

After @johnyf modified the case use_all_horizon, and either intentionally or not (does not
remember) modified the case not use_all_horizon too.

This change replaced the attractor computation for use_all_horizon with a more conservative one, in an attempt to circumvent computation of CPre with a disconnected polytope as target. This change still had issues with union in polytope producing a disconnected polytope. See also #74. Variable p2 here takes the same values as it does in No.1 when not use_all_horizon (there).

Another reason for this change, which likely triggered it was that No.1 includes states that are already at the target p2 (0 steps away). But, it may be impossible to go from these states to p2 in any number of steps from 1..\infty. Though it is possible in 0 steps (0 time, Zeno behavior).
This was a bug in the original code. It affected computations where the dynamics includes either a strong constant term, or has a lower bound on the control input u (and so the system cannot stay at one place w/o moving).

By applying this change, it appears that @johnyf used the same computation also for the case not use_all_horizon, possibly because it escaped attention, forgetting to return p2, instead of s0 in that case. Alternative reason could be
because he did not consider the change in sampling assumption of env by sys.

https://github.com/tulip-control/tulip-control/blob/55a436712c6632cbdad13aed9271ea0e1e3366db/tulip/abstract/feasible.py#L115
def solve_closed_loop(
        P1, P2, ssys, N,
        use_all_horizon=False, trans_set=None):
    p1 = P1.copy() # Initial set
    p2 = P2.copy() # Terminal set
    if trans_set is not None:
        Pinit = trans_set
    else:
        Pinit = p1
    # backwards in time
    s0 = pc.Region()
    for i in xrange(N, 0, -1):
        # first step from P1
        if i == 1:
            Pinit = p1
        p2 = solve_open_loop(Pinit, p2, ssys, 1, trans_set)
        s0 = s0.union(p2, check_convex=True)
        # empty target polytope ?
        if not pc.is_fulldim(p2):
            break
    #if use_all_horizon:
    #    return s0
    #else:
    #    return p2
    if not pc.is_fulldim(s0):
        return pc.Polytope()
    pc.reduce(s0)
    return s0

Proposed in this PR, to revert the case not use_all_horizon.

What this does is:

restores the case not use_all_horizon to No.1, and
leaves the case use_all_horizon as @johnyf modified it in No.2.

https://github.com/ajwagen/tulip-control/blob/6f33ca7f7d17332eceb94b199fd78231d469c5c3/tulip/abstract/feasible.py#L122
def solve_closed_loop(
        P1, P2, ssys, N,
        use_all_horizon=False, trans_set=None):
    # if use_all_horizon:
    #    raise ValueError('solve_closed_loop() with use_all_horizon=True '
    #                     'is still under development\nand currently '
    #                     'unavailable.')
    p1 = P1.copy() # Initial set
    p2 = P2.copy() # Terminal set
    if trans_set is not None:
        Pinit = trans_set
    else:
        Pinit = p1
    # backwards in time
    s0 = pc.Region()
    reached = False
    for i in xrange(N, 0, -1):
        # first step from P1
        if i == 1:
            Pinit = p1
        p2 = solve_open_loop(Pinit, p2, ssys, 1, trans_set)
        if use_all_horizon:
            s0 = s0.union(p2, check_convex=True)
            s0 = pc.reduce(s0)
        else:
            p2 = pc.reduce(p2)
           s0 = p2
        # empty target polytope ?
        if not pc.is_fulldim(p2):
            break
        old_reached = reached
        # overlaps initial set ?
        # if p1.intersect(p2):
        #    s0 = s0.union(p2, check_convex=True)
        #    s0 = pc.reduce(s0)
        # we went past it -> don't continue
        if old_reached is True and reached is False:
            logger.info('stopped intersecting si')
            #break
        if reached is True:
            break
    if not pc.is_fulldim(s0):
        return pc.Polytope()
    s0 = pc.reduce(s0)
    return s0

As prepared on branch [fixed_or_variable_horizon](https://github.com/tulip-control/
tulip-control/commits/fixed_or_variable_horizon) by @johnyf, in order to close this PR. Almost reverts the case use_all_horizon to its original version in No.1, thus restoring the attractor computation, while excluding states that are 0 steps away from the target p2 (by returning r, instead of p2 in the function underapproximate_attractor).

https://github.com/tulip-control/tulip-control/blob/458ea970ff18164e5ade3fb2b25f4f6ad9ec6291/tulip/abstract/feasible.py#L121
def solve_closed_loop_fixed_horizon(
        P1, P2, ssys, N, trans_set=None):
    p1 = P1.copy()  # initial set
    p2 = P2.copy()  # terminal set
    if trans_set is None:
        pinit = p1
    else:
        pinit = trans_set
    # backwards in time
    for i in xrange(N, 0, -1):
        # first step from P1
        if i == 1:
            pinit = p1
        p2 = solve_open_loop(pinit, p2, ssys, 1, trans_set)
        p2 = pc.reduce(p2)
        if not pc.is_fulldim(p2):
            return pc.Polytope()
    return p2

def underapproximate_attractor(
        P1, P2, ssys, N, trans_set=None):
    """Under-approximate N-step attractor of polytope P2.
    See docstring of function `solve_closed_loop_fixed_horizon`
    for details.
    """
    _print_horizon_warning()
    p1 = P1.copy()  # initial set
    p2 = P2.copy()  # terminal set
    if trans_set is None:
        pinit = p1
    else:
        pinit = trans_set
    # backwards in time
    for i in xrange(N, 0, -1):
        # first step from P1
        if i == 1:
            pinit = p1
        r = solve_open_loop(pinit, p2, ssys, 1, trans_set)
        p2 = p2.union(r, check_convex=True)
        p2 = pc.reduce(p2)
        # empty target polytope ?
        if not pc.is_fulldim(p2):
            return pc.Polytope()
    return r

Other comments:

It is commented above that a continuous-time system does not jump (due to continuity of the flow), implicitly suggesting that its discretization should not jump either. The latter is subject to picking a sufficiently small sampling period, i.e., having sufficiently good sensors and actuators. If this is not the case, then jumps (and so loss of connectedness) can arise, which could indicate poor design choices. We may want to detect and warn the user about disconnectedness, so that they reconsider their design choices.

In the initial response above, I focused only on the case use_all_horizon, because of the issue's title, and so I did not notice that the case not use_all_horizon had been affected by my original modification, and was reverted by this PR.

Thanks also to @rmattila for asking a good question in 2014, which prompted me to record the situation in an email then, and that proved helpful now.

A test for checking the 0-step transitions mentioned above had been added (by me) in 140d498aba82e4dfbbff7d2c8818af9a0f7931a2 (2014).
I now added in 23c937ae81785a573a75f93cb6cb5fc2394c743f a test to distinguish between use_all_horizon and not use_all_horizon.
These two tests very clearly define the issues discussed, and record those that are violated by each version mentioned above.


NaturalProofs (Eval Task)

@wellecks I suspect we should be worried about data contamination. How did you deal with this in the original naturalprover paper? Will that same methodology still work in this context?

Good points. Here are some thoughts:

Naturalprover: In the naturalprover paper, we mitigated contamination from the finetuning dataset by using the NaturalProofs splits, which ensure that validation or test proofs are not seen in the finetuning dataset. However, we did not address contamination from the pretraining corpus. For the gpt-3 based models we did not have access to the pretraining corpus, and for the gpt-j-6b model we didn't look whether proofwiki is in the Pile.

LM-evaluation-harness: Adding it to the lm-evaluation-harness would give us a way to press a button and get informal proofs from a well-defined domain (the domain of ProofWiki theorems). I think this makes it still interesting to add from a scientific perspective, perhaps with disclaimers about the potential for contamination. For instance, we could even use it to study contamination; are certain generated proofs actually attributed to contamination (which requires developing relevant notions of contamination)?

Temporal split: we could potentially create a new split based on theorems that were added past a certain date. This information should be available in the xml dump of proofwiki. However, this would be its own small side project.

Our model: we could try to only include the naturalprover training split in the corpus (versus the splits used in the original proofpile), and e.g. exclude proofwiki from the web scrape (naturally, this doesn't prevent all potential for contamination).

Since we would need to create a new temporal split and get human evaluators, I'm going to shelve this as outside the scope of current efforts.


[3.5 Stable] DoubleClicking on a FileSystem tscn scene file does not open the scene file view when a script is open

Godot version
v3.5.stable.official [991bb6ac7]
System information
Mac OS X (Catalina) 10.15.7
Issue description
If you doubleclick on a tscn scene file in the FileSystem panel, while a script file is open, Godot does not open the .tscn file view. Instead you have to click the 2D tab.
The doubleclick scene file should always open in the scene view, regardless of the Text Editor > Navigation > Stay in Script flag setting.
Steps to reproduce
Create couple of scenes and couple of scripts. Double click on the scene file and then on a script file. Then try to doubleclick on the scene file. In addition if you have a scene in a subfolder, it will open it the first time in the view, but if you open a script and then doubleclick on the scene will not open it.
Only workaround is clicking on the 2D or 3D tabs at the top.
Minimal reproduction project
FileSystemSceneOpenTest.zip

Would like to amend this since it is related. When a New Scene is created it should switch to the Scene view as well regardless of the Text Editor > Navigation > Stay in Script flag setting.