jscad-web: http server

This PR adds a minimal web server using the built in node http package (who needs dependencies anyway?)
It can be run with npm run serve
It also adds the neat feature from JSCAD v2 where you can load a script by url like:
https://jscad.app/#https://raw.githubusercontent.com/gilboonet/designs/master/2023/demo_creeMeuble2.js
(@gilboonet)
This required the following changes:

add serve.js which starts a minimal http server
handle serving static files from the build dir
handle index.html as default file
handle /remote endpoint which proxies fetch requests to cross domain urls
handle /docs redirect to /docs/
handle missing files, urls, etc
handle mimetype detection
server request logging
client side checking for #url in location

https://github.com/hrgdavor/jscadui/assets/1766297/c074534b-cb22-4490-bc77-dcdc6d434ee3

I think support for remote might not be necessary as worker could/should be able to load such url. I am not 100% on this, need to test.

also better test would be to load: https://3d.hrg.hr/tmp/darvin/jscad/planter.mesh.js as it has no cors headers
our example from github has cors headers and can easily work without remote support with normal fetch.

there is one comment from stackoverflow that makes sense for workers to be also bound by cors.

Service workers/workers are frontend code running at a particular origin and are restricted by the same-origin exactly in the same way as any other frontend code.  If you could get around the same-origin policy just be creating a service worker, the same-origin policy would be useless as a security measure.

I moved call to serve inside buld script as a parameter.
Also I would like to steal your minimal server and move it to my @jsx6/serve package, as I was looking to shed some bloat of live-server. There I would expand it a bit to allow pluggable support for SSE events to trigger reloading as simpler alternative to websockets. This way serve lib package would not bring bloat but would still allow for supporting live-reload type functionality.


[RFC] Refactor from using Spot to Illuminate

As I look at the upcoming refactor from Sentry to Sentinel, I notice that it natively supports working with illuminate/database. It could be easier to integrate other libraries and tools into OpenCFP if we support illuminate/database

👍 for Eloquent. Behind that 100%.

I'm playing around a bit with this, and i'm wondering, would it be better to simply call the static models like this:
$users = User::all();

Or if its better to load the models from the container so we can do this:
$users = $this->service(User::class)->all();

And have some kind of Model provider that looks a bit like this
public function register(Container $app)
    {
        $app[Favorite::class] = function ($app) {
            return new Favorite;
        };

        $app[Group::class] = function ($app) {
            return new Group;
        };

        $app[Talk::class] = function ($app) {
            return new Talk;
        };

        $app[TalkComment::class] = function ($app) {
            return new TalkComment;
        };

        $app[TalkMeta::class] = function ($app) {
            return new TalkMeta;
        };

        $app[User::class] = function ($app) {
            return new User;
        };
    }

And on another note, this is probably a good chance to up code coverage as this and #498 will require a decent amount of refactoring.

I wouldn't do service lookup on Eloquent models. For such a relational model, calling them directly would be fine, I think. That said, it wouldn't be unreasonable to continue the use of things like SpeakerRepository.

Left this on a related PR but it's probably more relevant here:

Another thing to consider is "Why do we 'own' models for things related to a specific authentication library?" We should probably delegate to Sentinel through Authentication or AccountManagement rather than keeping our own. I'd say the same for Phinxlog, but I'm not entirely sure of callers right now.
As far as the model goes, I would like to see a lot of the functionality related to speakers behind a Speaker or User model (e.g. submitTalk, updateProfile, etc.) to avoid things like are in the current TalksController where we kinda hit the model from the side to create a Talk from thin air. This would also encapsulate a lot of the permissions checks we currently do in controllers (e.g. all the checks for User id matching to make sure you are authorized to edit Talk entities)

@mdwheele I changed one controller to work with Models, and the nice thing about working with the provider is that you can easily mock them out. Which becomes a bit more difficult with static calls.

Another thing to consider is "Why do we 'own' models for things related to a specific authentication library?" We should probably delegate to Sentinel through Authentication or AccountManagement rather than keeping our own. I'd say the same for Phinxlog, but I'm not entirely sure of callers right now.

I agree on this one, thats why i didn't make a model for the Phinxlog and a few other items. That and the fact that it doesn't get used anywhere.

As far as the model goes, I would like to see a lot of the functionality related to speakers behind a Speaker or User model (e.g. submitTalk, updateProfile, etc.) to avoid things like are in the current TalksController where we kinda hit the model from the side to create a Talk from thin air. This would also encapsulate a lot of the permissions checks we currently do in controllers (e.g. all the checks for User id matching to make sure you are authorized to edit Talk entities)

Depending on how much functionality we move to the models it might be better to use a Repository pattern or something alike, to make it easier to switch in the future. And maybe apply some kind of caching down the line.

I changed one controller to work with Models, and the nice thing about working with the provider is that you can easily mock them out. Which becomes a bit more difficult with static calls.

Gotcha. I agree with the idea, just at a different level of abstraction. Rather than putting every AR model in the container, I would prefer to put "application-owned" access to the model in the container. Basically explicate support entry-points of the model and once retrieved, let callers navigate freely, but I never expect to be able to get TalkComment from the container. I would instead grab Talk::find(1)->comments() (as a over-simplified example).

Hehe, also, I don't mean to come across as bike-sheddy. I say we open a PR and work it 😄


Orchestration for multiple TGWs and multiple regions

There does not seem to be a clear solution for how to use STNO in an environment with multiple TGWs and/or multiple regions. The documentation points out the regional nature of some of the services, and notes that the templates all need to be deployed in the same region. Is the expectation, then, that a separate, full STNO deployment would be required for every region with a TGW to manage? And, if there are multiple TGWs in the same region, can a separate STNO be deployed for each? Is this even possible? Even if so, it would likely be unwieldy and cumbersome.
I would like to see STNO natively support multiple TGW hubs and regions. For example, when there are multiple TGWs in the same region, the attachment orchestration could perhaps be done by specifying a TGW ID in the value to the 'Attach-to-tgw' tag. Or, maybe each TGW could have a optional prefix in order to distinguish the route tables - e.g. TGW1_Flat vs TGW2_Flat. These should be able to interface with a single web interface for approvals and audit history, with filtering to optionally show all records or only those related to a single TGW.
For multiple region support, I would like to be able to deploy just one global template for the hub components, with a single web interface and set of rules etc. Specifying the regions to deploy to could be done via parameters (allowing for an environment to grow over time). Alternately, perhaps the regional components could be split out into a separate template that could be deploy as a stack set.

Thanks for your request. We will add this to the backlog and evaluate it for a future release

I presume there is still currently no way for me to use STNO to attach a VPC to a secondary TGW that I peered with?


Akka Http Project works with sbt run but fails with NoSuchMethodError when using jar

I am trying to bundle a very simplistic akka-http project, this project works properly through 'sbt run', but as I try to use scala ./target/scala-2.11/myproject.jar, I get NoSuchMethodError. How can I debug this? I am stuck.
build.sbt
val akkaVersion = "2.4.2"

lazy val root = (project in file(".")).
    settings(
        name := "myproject",
        version := "1.0",
        scalaVersion := "2.11.7"
)

libraryDependencies ++= Seq(
    "com.typesafe.akka" %% "akka-http-core" % akkaVersion
    )

Main.scala
import akka.http.scaladsl.Http
import akka.stream.ActorMaterializer
import akka.stream.scaladsl._
import akka.actor.ActorSystem

object Main extends App {

implicit val system = ActorSystem()
implicit val materializer = ActorMaterializer()
implicit val ec = system.dispatcher

val serverSource =
    Http().bind(interface = "localhost", port = 9099)

val bindingFuture =
    serverSource.to(Sink.foreach { connection =>
    println("Accepted new connection from " + connection.remoteAddress)
    }).run()

}

scala ./target/scala-2.11/myproject.jar -->
Uncaught error from thread [default-akka.actor.default-dispatcher-2] shutting down JVM since 'akka.jvm-exit-on-fatal-error' is enabled for ActorSystem[default]
java.lang.NoSuchMethodError: akka.actor.ActorCell.addFunctionRef(Lscala/Function2;)Lakka/actor/FunctionRef;
        at akka.stream.stage.GraphStageLogic$StageActor.<init>(GraphStage.scala:143)
        at akka.stream.stage.GraphStageLogic.getStageActor(GraphStage.scala:904)
        at akka.stream.impl.io.ConnectionSourceStage$$anon$1.preStart(TcpStages.scala:56)

The basics are covered:

My scala is 2.7.11 as the sbt scala version
Compilation has no warnings whatsoever (other than the concat merge strategy for the different akka dependencies)
sbt is 0.13.11

https://github.com/sbt/sbt-assembly/blob/master/CONTRIBUTING.md

For questions and specific support issues use stackoverflow with tags sbt and sbt-assembly.

I still cant resolve this issue, and there is no help from stack overflow.
Can anyone please help on how can I further debug this issue? Something wrong is going on on the assembly process, and this does not happen at home, only at my work's computer. Something from the environment perhaps that could be affecting the assembly? classpaths?
Thanks

Alright, I have solved it.  So, scala includes lib/akka-actor (old version), and SPARK also includes an old version of akka-actor on its assembly. Any ideas on why does this happen?

Having that said, new versions of Spark don't include Akka exactly for that reason - to make it easier to use Akka (user provided) with Spark apps, so you don't be having this problem with recent versions of Spark.

In fact, the problem exists. I am using spark 1.6.0. Spark is bundling scala 2.11.7 (in my case), and scala 2.11.7 comes bundled with a very old version of akka-actor.
I found that there even is a configuration in spark to change this, I haven't tried it yet
spark.driver.userClassPathFirst -> defaults to false
Using --driver-class-path also mitigates my problem for spark shell

Scala does not "come bundled with Akka" unless you use the distribution zip file... which you really should not in a real system. Use sbt for dependency management, not putting jars in directories ;)

Understood, but if so, why Spark (shell and submit) is still having this problem? I am 99% sure that this is because Spark is using Scala bundled with Akka. All Spark loads in class path is its own assembled jar.

assembled jar.

Well that's the Spark packaging, nothing to do with Scala bunding Akka in the zip distro.
Sorry I'm not of much help here, just wanted to clear up the misunderstanding about Akka being included in Scala :)

Thank you indeed! Helped a lot to understand the situation.
All is left now is, given Scala not including akka on its bundle, to wait for spark to allow to use another actor system (perhaps Spark 2.0)

This is in fact a very annoying issue, but it has nothing to do with SBT; see my answer at http://stackoverflow.com/questions/35578732/java-lang-nosuchmethoderror-akka-actor-actorcell-addfunctionref/36443230#36443230.


Configure Azure Pipelines

This pipeline configuration builds the application and produces a build for the Release configuration.

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


the destination asset don't appear the information?

Thank you for your share!
When I run the code, the output don't have the destination asset info as below photo. Do you have any idea about it?

I just updated the code. Probably fixed that

I use the new code, but so pity it still not work as below. The problem maybe what reason caused🧐🧐?
Thank you!

I have been solved the problem.
Sorry, because in some country, have to set the special network, I ignored the problem.
Thank you again for your share and reply!


Modularity

Issue https://github.com/google/material-design-lite/issues/833
I made a first try on what could be the code if it was a bit more modular and with less global variables.
The only global variable would be MaterialDesignLite (see index.js for content).
Nothing change for people who uses the master file Material.js or Material.min.js. But if offers some nice things for others who want just a few components.
Here's how we could use it:
import componentHandler from 'material-design-lite/lib/mdlComponentHandler';
import MaterialButton from 'material-design-lite/lib/button/button';
import RippleEffect from 'material-design-lite/lib/ripple/ripple';
componentHandler.register(MaterialButton);
componentHandler.register(RippleEffect);

// ... and then we just have to call this on our specific dom element
componentHandler.upgradeElement(domElement)

ping @Garbee @addyosmani

I signed it!

There is no way this can land in the 1.x lifetime.

It is shifting to using babel which we are not using ES6 yet since we want the source to be as close to what runs in browsers as possible.
Way too many structural changes (mostly in relation to the ES6 shift.)
Why remove the error checks on registering components? Either way, this makes it an instant BC break.

We should continue discussion on modularizing things in the primary issue. This PR serves as a good example of what we could do in a major revision, but can't do now because of backwards compatibility.

I removed it to avoid having errors when registering multiple times the same component. In a modular project, when you require the files you need, you could end up registering Button multiple times for example.

Any ideas on the timeline for this merge?


In RTL, Paging stays LTR

My settings object includes:
{
  rtl: true,
  slidesToShow: 4,
  slidesToScroll: 4,
}

Now, say I have 9 items. I expect to see 3 pages:
Right: 4 items
Middle: 4 items
Left: 1 item
But what I actually see is 4 items on the right page, then when I click the middle dot, it slides only one item, then when I click the left dot it slides 4 items.
So it looks like internally the pages are set as though it's still ltr:
Right: 1 items
Middle: 4 items
Left: 4 items
It looks like a bug. Is it?

What is totalNoOfSlides?


Create roundoffconnect command line argument support

Idea is to have some method of running a model fully in Roundoff via the roundoffconnect package if present. One idea
python diet.py -i input.xlsx -r roundoff_config.json -o solution.xlsx

Will upload and solve  from the input data in "input.xslx" writing back to "soluton.xlsx.". Might need to be smart enough to handle Active field (can look for roundoff_configurations dict) and inject all Active field as needed. This should be easy enough since PanDatFactory.xls.create_pan_dat has fill_missing_fields argument.
Should generate new scenario with name based on the "-i" information. Will postpend ints to make sure new scenario created has unique name.

Actually, the roundoffconnect function discussed above should have what you need to handle missing "Active" field.

Of course, there should be merely an upload-only option, as opposed to "upload-and-solve". The code can probably suss that out based on whether the "-o" argument was passed.

Do #157 first, to keep things clean.


[search-guard-ssl] is incompatible with Elasticsearch [2.3.5]

"Exception in thread "main" java.lang.IllegalArgumentException: Plugin [search-guard-ssl] is incompatible with Elasticsearch [2.3.5]. Was designed for version [2.3.4]

You already posted this question here on the mailing list: https://groups.google.com/forum/?utm_medium=email&utm_source=footer#!msg/search-guard/Ym5kgE6UJ2Q/T3GUgnh5AgAJ


⚠ ClamAV has degraded performance

In 07f544a, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 72 ms

Resolved: ClamAV performance has improved in 8dd85f4.


Enable to set SLA Option when user schedules

Although we can set execution options, we can't set SLA Option when user schedules.
If we can set SLA Option, it would be useful.

@HappyRay Could you check this pull request?

This change makes sense to me. Users need to set SLA options during scheduling.  Have you evaluated these changes @wyukawa ?

Yes.
In my use case, I add a schedule through api.
In addition, I want to set SLA.

rebase done

ping?

Thank you for comment!
First of all, let me explain my use case.
In my use case, I set schedule date through API, not using web browser because I want to maintein schedule informaion in GitHub.
Our Azkaban job management is the following
https://www.slideshare.net/wyukawa/azkabanen/17
And I set Failure Options when I set schdule data.
Although Azkaban default setting of Failure Options is "Finish Current Running", I want to set "Finish All Possible".
As a result, I use schedule API and then set schedule information and Failure Options at the same time.
I created Azkaban API Client "eboshi" (https://github.com/wyukawa/eboshi) and use the following way.
eboshi addCronSchedule --url http://localhost:8081 --username azkaban --password azkaban --project azkaban_project --flow azkaban_flow --cron '0 10 * * *' --option '{"failureAction":"finishPossible"}'

In addition to this, I want to set SLA option.
In other words, I want to set schedule information(for example, '0 10 * * *') and Failure Options and SLA option at the same time.
This is the reason why I send this pull request.

I understand your use case. Nice presentation. Thanks for being a champion for the project!
One of the benefits of keeping the API surface area small is to make automated testing simpler. We would like to have automated tests to cover all APIs.
I would prefer returning the schedule id in this API which is useful anyway regardless. Is it too much work on the client side or multiple call latency a big issue in your case?
Any code refactoring/cleaning up contributions are always welcome.

Thank you for comment.
Your thought is the following.
Current schedule APIs(ajaxScheduleFlow and ajaxScheduleCronFlow method) return the schedule Id.
So user can use SLA API(ajaxSetSla method ) by using this schedule Id.
Although user need to call two APIs, APIs are simple and easy to test.
And SLA should be set after a schedule is set.
Is that right?
If I understand correctly, you are right and I accept this pull request doesn't be merged.

Is it too much work on the client side or multiple call latency a big issue in your case?

Maybe No
If I have a time, I will try to create SLA API document.
Thanks

I am glad we are on the same page. :)
Any contribution to documentation will be appreciated.
The refactoring change you made makes sense to me too.
Correction:
I checked the code and saw that scheduleId is returned by the ajaxScheduleCronFlow and ajaxScheduleFlow APIs.
cc @kunkun-tang

Thank you for your clarification


started working on the editEvent component

[x] event title
[x] event description
[x] event location
[x] maximum number of participants
[x] uses groups toggle
[x] group a & b title + description
[ ] date and time

Closes #4

date and time picker still needs some work, I also need to work out how to make the whole model reactive

Awesome - looks solid.
We can work on the reactivity together tomorrow if you've got time 💯


Upgrading to 0.63.1 version android app is lagging

I have recently upgraded my react-native project from 0.59 version to 0.63.1(latest) version. I have disabled hermes engine and configure everything as documented. My app is working fine on iOS but in android my app is performing slow. every UI event such as touch, navigation take 2s-3s delay on release build than before and lagging. Is there anyone who has faced same kind of issue? How you have solved this?
Note: I am using react-native-firebase for push notification and deep linking.
react-native: 0.63.1
react: 16.3
react-navigation: v5
Node.js: 12.3.1

first, check the FPS (from developer menu)
if you have a lot of FPS drop then you can use some tools like rn-snoopy to find the issue.
in my case, it was related to some usage of react-native-animatable and I had 30 PFS drop all the time on android and when I disable that animation it came back to 60PFS. I don't know why it causes a lot of FPS drop even with native animation driver

We're having the same problem and don't have any FPS drop, any other ideas how to solve this?

We're having the same problem and don't have any FPS drop, any other ideas how to solve this?

Has anybody found a solution?

Has anybody found a solution?

Not me


Refactor Agent for non-distro specific build #90 #91

This pull request contains changes to the shoal-agent setup.py file and the required changes to it's associated data files to facilitate builds by non root users on non specific OS distributions.
This Pull also contains @traylenator 's logrotate contributions.

Can you bump the version number 0.9.2 in preparation for push to pypi


Error Exception after recent update release.

Recently got this error from package after the update.

Thanks for reporting. This has been fixed in the latest release.


Add quote-props to special rules

The quote-props rule has an additional numbers option that can be enabled and still not conflict with Prettier, since Prettier preservers the original quotes for numbers (playground demo).
So one can use the following configuration in addition to Prettier:
"quote-props": ["error", "as-needed", { "numbers": true }]

Hi!
Am I understanding this right – is "quote-props": ["error", "as-needed", { "numbers": true }] used to enforce quotes around numbers?

@lydell Yes.

I opened a pull request to let Prettier quote/unquote numbers just like ESLint: https://github.com/prettier/prettier/pull/8508
When that’s merged, the only way to use ESLint’s quote-props together with Prettier is by setting quoteProps: "preserve" in Prettier, to let ESLint make the decisions completely on its own. But why would one want to do that? Any comments or thoughts?

I would prefer Prettier to be more opinionated and use Prettier's defaults, and just disable ESLint's rule.

Looks like this issue is no longer valid since Prettier 2.1 now quotes/unquotes number keys.


refactor: change using statement block scope

:tada: This PR is included in version 0.19.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


feat: support zeebe:TaskListener

This adds support for zeebe:TaskListener contained in zeebe:TaskListeners container.
related to https://github.com/camunda/camunda-modeler/issues/4590

Please have a look closely at the XML example from https://github.com/camunda/camunda-modeler/issues/4590#issue-2573661214
We need the element names to exactly match the XML so that the engine can understand it. Note that this project (zeebe-bpmn-moddle) is only used on the frontend while the engine parses BPMN with its own BPMN model.

@barmac I see 👍🏽 I was mislead by the issue name and blindly followed User task listener

Feel free to merge this PR once you're done.


[image_picker] cannot select images downloaded by Safari on iOS

Use case
image_picker cannot see images downloaded by Safari or Chrome on iOS.
I tried these entitlements
        <key>com.apple.security.files.downloads.read-write</key>
        <true/>
        <key>com.apple.security.files.user-selected.read-only</key>
        <true/>

and these permissions
	<key>NSPhotoLibraryUsageDescription</key>
	<string>Allow access to photo library, for posting photos</string>
	<key>NSDownloadsFolderUsageDescription</key>
	<string>Allow access to downloads folder, for posting downloaded photos</string>

but to no avail.
Proposal
The Downloads folder should be supported by image_picker.
The downloadsfolder package may be a good starting point, by the looks of it:
https://pub.dev/packages/downloadsfolder
I understand that apps like Chrome have to make their downloads folder available to the Files app via a permission and an entitlement. I don't see a way to use Files to pick a file from a Flutter app though -- and also Files does not show the Safari download folder.
(I'm not an iOS guy, so sorry if this is a n00b question, but how are downloads even usable in Safari if they can't be seen even in Files?)
Is it possible at a minimum for image_picker to do something like what Files does, to pick a photo from the Chrome download folder?

For reference, I found that the flutter_document_picker package can pick files from the Safari downloads folder (but not the Chrome downloads folder).

Hi @lukehutch, I think either file_selector or file_picker with a filter for only images might be best suited for this case. From what I understand this is a limitation of the native PHPickerViewController/UIImagePickerController which the plugin wraps around.

@danagbemava-nc file_picker doesn't find anything other than the camera roll images. flutter_document_picker can find images downloaded by Safari, but not images downloaded by Chrome (even though the Files app can find images downloaded by Chrome). I hadn't tried file_selector previously, but I can confirm that it works exactly the same as flutter_document_picker.
What I don't get is why image_picker doesn't strive to find images using all available mechanisms. It's a pain as an app author to have to use multiple different libraries to find images. Currently I have to use image_picker to pick photos from the camera or gallery, file_picker to pick from Google Photos on Android, and flutter_document_picker or file_selector to pick from Safari downloads on iOS. This also means I have to offer the user multiple buttons, asking them where they want to pick files from. It would be much better to have all this integrated into image_picker.

Just as on Android, the UI you see in image_picker and the behavior of that UI are entirely OS-provided; as noted above if that UI can't see certain images thre, that's a limitation of the OS-provided control. Bug reports or feature requests about that UI control would need to be directed to Apple, as the Flutter team cannot control it.

What I don't get is why image_picker doesn't strive to find images using all available mechanisms.

Because the goal of image_picker is to provide Flutter applications easy access to the standard OS mechanism of selecting images, so anything else is out of scope. Just as if someone writing a non-Flutter app wanted different behavior than PHPickerViewController/UIImagePickerController they would need to write their own image selection logic and UI, someone who wants different behavior in a Flutter app would need to do the same.

Currently I have to use image_picker to pick photos from the camera or gallery, file_picker to pick from Google Photos on Android, and flutter_document_picker or file_selector to pick from Safari downloads on iOS. This also means I have to offer the user multiple buttons, asking them where they want to pick files from. It would be much better to have all this integrated into image_picker.

Anyone in the community is welcome to make a wrapper plugin that offers users multiple buttons, each of which launches a different plugin, but that is not something we will be doing in image_picker. If you mean that image_picker should provide one UI that has all the functionality of the iOS image picker and the iOS document picker combined into one, even if we considered building an entire custom UI from scratch in scope for the plugin, it is impossible due to the restrictions iOS imposes on access outside of the app sandbox; you would need to file a feature request with Apple for such a control.


requirejs: remove duplicate field in RequireConfig

The field "bundles" was added twice to RequireConfig, first in 0d39cb0 and then again in d4c83f1c8. This PR removes the latter duplicate.

thanks! but it is already fixed by #6423


Add a way to handle unknown Intents

From the docs, it doesn't seem like it's possible to capture an IntentRequest that doesn't match any of the registered Intents.
I think it'd be best to handle it using the same app.intent method, but with a null intent name:
app.intent(null, function(request,response) {
    // Stuff to do if we get an unknown Intent!
});

What do you want to do if you get an unknown intent? Currently, it will respond with the message in messages.NO_INTENT_FOUND, which by default is "Sorry, the application didn't know what to do with that intent". You can change this message to be anything you wish.

It would depend on the application. For some I would just have it abort with no message. For others I might want to kick it over to a prompt for how to use the app.
Most importantly though, I'd want to log the event, as it's a programmer error if this ever happens!

As noted in the other issue, you can catch the exception using app.error, then log and re-prompt the user if you wish. Does that work for you?

That's certainly possible. It's an event that SHOULDN'T really happen, so relegating it to being part of the error handler can make sense.


SWARM-1330: Swarm file detection not detecting file path.

Motivation
Improve Swarm fraction through file existence, by determine the file path instead of just file name.
Modifications
Added new "FileSource" type so it can carry on needed file path. Made required changes in order to apply that.
Result
A new "FileSource" class is available for file detectors, so they can use it to improve the file detection by also checking file path.

[X] Have you followed the guidelines in our Contributing document?
[X] Have you created a JIRA and used it in the commit message?
[X] Have you checked to ensure there aren't other open Pull Requests for the same issue?
[X] Have you built the project locally prior to submission with mvn clean install?

While this looks good, I do wonder about the File.separator bits.
I think this is scrubbing around within .jar and .war archives, which always have /, while File.separator will be \ on Windows systems?

Hi @bobmcwhirter. I noticed this issue when CI windows tests weren't passing. It's clear that for exploded archives should have a File.separator to support all OSes. Seems that ZipEntry needs the system path separator too. I added an "exploded" test too, so this won't fail again no matter using exploded/unexploded archive and Linux, Windows, etc.


Wither Cats (This is definitely not right...)

Hi, I discovered a strange "bug" I guess with the newest 1.7.10 build of ender zoo where the Wither Cats spawn with a rather strange graphical glitch. I plan to disable them for now but I thought I would put this here first. (NOTE: there like that with or without any other mods and naturally spawned or spawned in.)

I don't think that's right...

Uh what. @CrazyPants what did you do? O.o

im having same issue with latest

here is what they look like for me

Sure does make them easy to see in the dark though!:P

lol @ate0ate ...
Confirmed:

Me too. Please fix it

Fixed via https://github.com/SleepyTrousers/EnderZoo/commit/658564e08d3b60ea685c9ffb6771c0fe45278b8d
Sorry it took me so long to get to this, I've been busy with other stuff. New release soon.


Emoji improvements

Add User to Emoji struct
Re-arrange Emoji to match docs
Add new function GuildEmoji to get all the emoji part of a guild. The style of other GET functions is to pluralize the resource type, but pretty sure Emoji is used as both singular and plural form. Happy to change it to be GuildEmojis though.

Hi, thanks for the PR! We actually had a PR come in right before yours that added the User field, however your other changes still seem worthwhile! I would vote for using Emojis as the terminology; although this might be dubious from a language perspective it would help to keep it in line with other usages in the library, making it clear that it's talking about the plural. If you're able to rebase your PR onto the up-to-date version of develop and take out the addition of the User field, as well as move to Emojis, LGTM!

Sure thing, just give me a few minutes and I'll get it done!

@CarsonHoffman All done and ready for merge.

Great, thanks for the quick update and for the PR as a whole!


Can't create workspace after deleting workspace

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Create expensifail account in NewDot
Create workspace
Delete the workspace
Try to create the workspace again -> Fail

Expected Result:
Describe what you think should've happened
Actual Result:
Workspace is not created, nothing happens in the UI and we get a console error:

Workaround:
None that I know of
Platform:

Where is this issue occurring?

Web
iOS
Android
Desktop App
Mobile Web

Version Number:
Reproducible in staging?:  YES
Reproducible in production?:  YES
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
Expensify/Expensify Issue URL:
Issue reported by:
Slack conversation:
View all open jobs on GitHub
Found while QA'ing this: https://github.com/Expensify/Web-Expensify/pull/34943

The bug could be related to this PR: https://github.com/Expensify/App/pull/10563

cc @Justicea83

Oops!, I think the solution should be straight forward

Am not able to reproduce this.

Deleting and creating the workspaces just work

hum, are you testing in dev? I reproduced it in staging and production

@aldo-expensify can you please add a video recording on how you reproduce this?

can you try signing out and signing in with that account and then trying to create the workspace?

Hmm I see now that the wonkyness comes from having two tabs with new expensify open:
https://user-images.githubusercontent.com/87341702/192627094-67e1189d-82af-413e-a029-c1596a46cbc1.mov
Steps:

Login in New Dot
Open a second tab, both should have the same account logged
Create a workspace... it will show up in the LHN and disappear and show up and disappear... refresh until it looks fine
Delete the workspace
Can't create the workspace again

I'm not sure about how to proceed here. This can happen in a normal use case because:

You open New Expensify in tab 1, create an account
In a different tab, you go to your email and click the magic link... this will open a new tab with new Expensify
You set your password in the second New Expensify tab...
You have two tabs with New Expensify logged in => wonky behaviour when creating/deleting workspaces

Update steps to mention to open multiple tabs

I tested in production

I can reproduce now(in prod), after opening 3 tabs, testing in dev to see if I can reproduce as well

I think the bug actually has to do with the deletion of the workspace(policy), I can confirm that the onyx keys aren't properly cleared as you can see clearly in the screenshot below.

Instead of removing them all together, I'm seeing undefined as the value to the keys

@Justicea83 I'll have a look on those keys with undefined values once I start woking on the workspace delete stuff
I asked about the problem with multiple tabs here: https://expensify.slack.com/archives/C02HWMSMZEC/p1664310475053539

Since this issue is being looked into here, I'll close it out and see if the solution fixes this.


Why not install programs on Dev Drive

The Dev Drive docs (https://learn.microsoft.com/en-us/windows/dev-drive/) says this:

Dev Drive is not intended to store developer tools, such as:

Visual Studio
MSBuild
.NET SDK
Windows SDK, etc.

But it doesn't explain why. Why not? What's the problem with installing Visual Studio, or other programs, on a Dev Drive?

Hey @Neme12 -- Don't want you to think we're ignoring this issue. It's a good one and there's an internal discussion thread going about it... unpacking some of the original reasons for recommending that tools like VS, SDKs, etc. are not stored on Dev Drive (which is quite complicated based on the snippets I've heard so far) and re-assessing whether that should still be the recommendation as Dev Drive continues to develop. I'll report back (and update the docs) once there is more clarity achieved. Thanks for raising this issue.

I have had Visual Studio on my dev drive for quite some time and haven't had any issues with it 🤷♀ I'm just curious what those original reasons were.

BTW, it would be nice to mention the required filter that needs to be added - WinSetupMon - right after the sentence "We also recommend that you consider redirecting %TEMP% and %TMP% envvars to Dev Drive.". I know that it's mentioned in the filters section, but it would be nice to mention it next to the recommendations to redirect these variables as well. I had these set to my dev drive based on the recommendation and only noticed that I should set this filter when I do that much later when I was curious about filters and read the section about them.

Original reasons were to be cautious in rolling out a new feature. Developer can move their tools, SDKs, and binaries onto a Dev Drive - assuming they've done appropriate analysis of their security posture and are ok with async scanning of those binaries.
@mattwojo - please update this section as follows:
remove the "Dev Drive is not intended..." section and replace it with:
Considerations for installing developer tools and SDKs on Dev Drive
Often developer tools and SDKs are installed to either an administrator or per-user location. These locations provide certain security and isolation guarantees on Windows and impact Microsoft Defender behavior. However many tools do allow the user a choice of where to install, including a Dev Drive. Before installing developer tools on a Dev Drive, we recommend assessing the tradeoffs of the system and async scanning to ensure it meets the required security posture for your device and organization. You may choose whether or not to create an admin or per-user folder on Dev Drive, as well as validate that Microsoft Defender Performance Mode (eg: async scanning) meets your requirements for binaries.

Thanks for raising this issue @Neme12!
And for investigating the resolution, Adam.
I updated the recommendations to include these considerations for installing tools and SDKs on a Dev Drive.
Updated in https://github.com/MicrosoftDocs/windows-dev-docs/commit/ddfe90ad006d62c3a900ca85ccc7df3767b6219f


Update to test with the same python versions as altair

Since Altair 5.2, the functionality of Altair Saver is now available in Altair via the vl-convert package. Most of the functionality has been available since 5.0, and the main addition in 5.2 was PDF export. See the docs on how to save charts for more details.
We are going to archive this repo, so I'm closing all the open issues and PRs before doing so. Try out the new options for saving charts mentioned above and if you run into issues, please open an issue directly in the altair or vl-convert repo.


Fix setup.cfg for release

Preview: https://test.pypi.org/project/matrix-common/

That last commit should say "3.6".
As for aiounittest, I wasn't sure if we'd need it later, so I left it in for now.

As for aiounittest, I wasn't sure if we'd need it later, so I left it in for now.

I figured it was something like that, we'll figure that out as we go I suppose!
Changes look good

I'm going to merge this, but won't release yet.
The package needs to be made PEP 561 compliant, otherwise mypy doesn't pick up types when importing it.

As for aiounittest, I wasn't sure if we'd need it later, so I left it in for now.

We should really write this down, but it seems like we should be using Twisted-specific stuff instead of aiounittest anyway — it's fairly likely you'll just want to cut it out (though we should figure out an equivalent for Twisted)


Reduced compile time by breaking up complex statements into smaller components

Functions.swift and FunctionsTests.swift each used to take around 30 seconds to compile. This has been reduced to approximately 1-2 seconds for each file

Codecov Report

Merging #5 into 1.1.0 will not change coverage.
The diff coverage is 100%.

@@         Coverage Diff          @@
##           1.1.0     #5   +/-   ##
====================================
  Coverage    100%   100%
====================================
  Files          6      6
  Lines       1717   1774   +57
====================================
+ Hits        1717   1774   +57

Impacted Files
Coverage Δ

Sources/Complex/Functions.swift
100% <100%> (ø)
:arrow_up:

Tests/ComplexTests/FunctionsTests.swift
100% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


:ambulance: errores related to incorrect getting website id for the s…

…ql request

It's different from PRs merged into 11.0, but includes their changes


[now-static-build] Add hugo, zola, and gutenberg versioning

This PR adds support for build environment variables which enables the user to select which version of Hugo, Zola or Gutenberg they wish to use.

HUGO_VERSION
ZOLA_VERSION
GUTENBERG_VERSION

Codecov Report

Merging #3025 into canary will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           canary    #3025   +/-   ##
=======================================
  Coverage   13.47%   13.47%
=======================================
  Files         267      267
  Lines       10288    10288
  Branches     1211     1211
=======================================
  Hits         1386     1386
  Misses       8840     8840
  Partials       62       62

Continue to review full report at Codecov.

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

Curious why env vars instead of using the config object of the build spec. Is it because of zero config?

Curious why env vars instead of using the config object of the build spec. Is it because of zero config?

@TooTallNate Yes. Users of static site generators will not define the builds key and therefore, cannot assign build configs. In fact, I don't think we are adding any new config options going forward due to zero config.


Fix unit test

Description
Fix unit tests on unexpected scenarios
Issues Resolved
#55
Check List

[ ] New functionality includes testing.

[x] All tests pass ($ rake test).

[ ] New functionality has been documented in the README if applicable.

[ ] New functionality has been thoroughly documented in the examples (please include helpful comments).

[ ] Changes are documented in the CHANGELOG.

Is this PR being updated? I still see refactor messages and checking the code it seems like it remains as it was.
Main things to look out for are: unnecessary test declaration inside its, when we are declaring already on let, unecessary mocking, lots of different mocks for find_bys with different inputs always returning the same value, etc.


Parameter fitter is not robust

fit_circuit_parameters fails at a moderate rate (maybe ~50% of the times). Currently, all our functions take in initial guess as an input argument, so it's not exactly breaking our stuff. But, for the cases where the user doesn't provide it, it relies on our fit_circuit_parameters, so they don't get an answer ~50% of the time.
Some possible solutions:

Run circuit fitter multiple times and choose the best (fit_circuit_parameters already accepts iters, so it's easy to implement)
Use a different circuit fitter (EquivalentCircuits.jl has a parameteroptimization, which I haven't tested thoroughly. There's also ImpedanceFitter)
Write one from scratch (I've already talked to a lead developer at Julia's SciML ecosystem, and they have a package that "seems" to be much faster than our Python solutions, so we can brute-force our way out of a bad guess, i.e., running the optimizer for hundreds of times without worrying too much about the time it takes)

We have a brand new circuit fitter (#90), which addresses this issue to some extent, but let's keep this open for a while until we're convinced that the new circuit fitter meets our needs.


maintainers: add p3psi

Related to https://github.com/nix-community/NUR/pull/333

This isn't sorted. I corrected that in a collection PR.


Select interpolation different than crowdin

Description
As specified here:
https://next-intl-docs.vercel.app/docs/usage/messages#selecting-enum-based-values
the select translation should be:
"message": "{gender, select, female {She} male {He} other {They}} is online."
t('message', {gender: 'female'}); // "She is online."

However, trying to translate this on crowdin, you get the error, saying the enum value should be between the {} (this is also consistent with the other replacements). Is it possible that you implemented this the other way around?

Mandatory reproduction URL (CodeSandbox or GitHub repository)
https://codesandbox.io/p/sandbox/next-intl-bug-template-app-forked-zcymvq
Reproduction description
Add an enum translation
Expected behaviour
ENUM values should be between brackets

I think you have two syntax errors:

A , is missing after select
A closing { is missing at the end

Fixed version:
{value, select, ANNOUNCEMENT {Announcement} DECISION {Decision} DOCUMENT {Document} TICKET {Ticket} other {Other}}

With that, your string works for me:

I'll move this to a discussion since it seems to be a usage question.


feat: Filter invalid values in getIds

🏋 getIds robustness
getIds is a useful utility function, but it accepts a limited subset of the valid ObjectId constructor argument types, and throws when presented with invalid input.
It's not straight-forward to filter inputs to be valid constructor arguments; in some codebases we maintain bespoke utilities for performing these checks (eg; isValidObjectId).
Unfortunately, the canonical validation for whether one of these arguments is a valid argument to the ObjectId constructor is cooked-in to the constructor itself.
Therefore, rather than re-implementing this logic (or trying to get it extracted and exposed upstream), I updated the getIds implementation to rely on the constructor logic through try/catch, and to discard invalid elements.
🐤 Backwards-Compatibility
In order to keep the change backwards-compatible, I gated the filtering functionality behind a filterInvalid option, passed to getIds. If we were okay with making a breaking release, I think this would be much nicer as the default behavior.
🔧  Changes
I updated getAll (🟦) and its specs (🟡) in a few ways.

[x] 🟦 make getAll accept an Iterable<ObjectIdConstructorParameter>, widening acceptable input types
[x] 🟦 add optional GetIdsOptions argument to getIds, with optional filterInvalid boolean member
[x] 🟦 change getIds inner map to flatMap, to allow single-pass filtering
[x] 🟦 add try/catch to getIds inner flatMap, to rely on ObjectId constructor validation behavior
[x] 🟦 add error re-throw to getIds inner flatMap, gated on filterInvalid option
[x] 🟡 make expected result part of each test case
[x] 🟡 introduce variety between test case values / fixtures
[x] 🟡 add invariant check that expected result length must be less-than-or-equal-to input length
[x] 🟡 add test cases for Uint8Array arguments
[x] 🟡 add test cases for filterInvalid option
[x] 🟡 add test case for invalid input with no filterInvalid option

If we were okay with making a breaking release, I think this would be much nicer as the default behavior.

I would much prefer this.
I know I'm always the one who says "is this really a breaking change" -- and I must say this is an interesting example. After all, this should fix existing uses, rather than break them... right?

Is it worth it to extract the validation functionality from bson to avoid the try/catch, or ship with this implementation?


feat(substrait): replace SessionContext with a trait

Which issue does this PR close?
Closes #13342.
Rationale for this change
See original issue.
What changes are included in this PR?
See original issue.
Are these changes tested?
✅
Are there any user-facing changes?
Yes, the arguments for the substrait consumer / producer are changed. I could ideally provide some deprecated shim methods to provide backwards compatibility.

I've updated this PR to use a trait with the required method and not the SessionState

Thanks for the review!


Flaky test: pre-main-reconciler-integration-k3d fails frequently with disk IO error

Description
The job pre-main-reconciler-integration-k3d has a high failure rate caused by high instability when interacting with SQLite:
The error {"level":"ERROR","time":"2022-01-30T18:53:35.561Z","message":"Sqlite3 Exec() error: disk I/O error"} is happening quite often an casing many false-positive results.
Expected result
Tests are behaving deterministic and not temporarily failing when accessing the SQLite DB file.
Actual result
Access to SQLite DB file causes frequently disk IO errors.
Steps to reproduce
See job history: https://status.build.kyma-project.io/job-history/gs/kyma-prow-logs/pr-logs/directory/pre-main-reconciler-integration-k3d
Troubleshooting

Becomes obsolete with https://github.com/kyma-incubator/reconciler/issues/537


Provided private key cannot be used for Sign in with Apple

Before opening, please confirm:

[X] I have installed the latest version of the Amplify CLI (see above), and confirmed that the issue still persists.
[X] I have searched for duplicate or closed issues.
[X] I have read the guide for submitting bug reports.
[X] I have done my best to include a minimal, self-contained set of instructions for consistently reproducing the issue.

How did you install the Amplify CLI?
npm
If applicable, what version of Node.js are you using?
15.3
Amplify CLI Version
7.4.0
What operating system are you using?
Mac
Amplify Categories
auth
Amplify Commands
push
Describe the bug
I have run amplify update auth in my PROD environment and enabled Facebook, Google and Apple Sign In. However I get an error stating:
InvalidParameterException: Provided private key cannot be used for Sign in with Apple.
This same key worked in my STAGING environment so I am unsure what the issue is. Here is the Sign In With Apple portion of my deployment-secrets.json:
{"ProviderName":"SignInWithApple","client_id":"xxxxxxx","team_id":"xxxxxx","key_id":"xxxxxx","private_key":"/Users/kfernandes29/Downloads/AuthKey_XXXXXXX.p8"}
Expected behavior
Amplify pushes the updates auth configuration and the auth gets updated.
Reproduction steps

Run amplify update auth
Update Social Providers
Enter details for Sign In With Apple
Run amplify push

GraphQL schema(s)

# Put schemas below this line

Log output

# Put your logs below this line

Additional information
No response

Looks like I had to copy and paste the text in the .p8 key. Weird how it worked the other way for my Staging environtment.

Looks like I had to copy and paste the text in the .p8 key. Weird how it worked the other way for my Staging environtment.

@kfernandes29 I'm also experiencing this issue #9478.
I tried the following

Using path to p8 file
Copying and pasting the p8 contents into the CLI prompt
Copy and pasting only the contents between BEGIN and END

None of them works, how did you exactly resolve this?

I had this same issue and got it to work, realising tha the p8 file contents contain line-breaks in them.
Be careful when pasting into the CLI, better to copy out the private key in your IDE and remove the line breaks so you have one long string of characters, then copy that long string and paste into the CLI where needed.
Hope that helps.

@AlvSovereign That worked. Thanks!


fix publish while consuming

Codecov Report

Merging #16 (60524ba) into master (7009207) will increase coverage by 0.19%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master      #16      +/-   ##
==========================================
+ Coverage   95.82%   96.02%   +0.19%
==========================================
  Files          14       14
  Lines         551      553       +2
  Branches       41       29      -12
==========================================
+ Hits          528      531       +3
+ Misses         11       10       -1
  Partials       12       12

Impacted Files
Coverage Δ

amqp_mock/_storage.py
100.00% <100.00%> (ø)

amqp_mock/_message.py
100.00% <0.00%> (+2.00%)
:arrow_up:

Continue to review full report at Codecov.

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


Integration of ORMs for easy DB migrations.

We need to integrate Prisma ORM into project to simplify database migrations and enhance our database management. This will streamline our migration process and improve overall database operations.
Tasks:

Install Prisma and its CLI:

Add Prisma to the project dependencies.
Configure Prisma with prisma.schema.

Configure Database Connection:

Set up Prisma to connect to our existing database.
Update environment variables for database credentials.

Define Data Models:

Map out database tables and relationships in the Prisma schema.

Generate Prisma Client:

Use Prisma CLI to generate the client based on the schema.

Implement Migration Strategy:

Execute initial migration to sync Prisma schema with the existing database.

Update Project Codebase:

Refactor code to use Prisma Client for database operations.

Test Integration:

Verify that Prisma Client performs correctly with all database operations.

Documentation:

Update project docs with Prisma setup instructions and usage examples.

Helpful Documentation Links:

Prisma Getting Started Guide
Prisma Installation Instructions
Prisma Schema Reference
Prisma Client API
Prisma Migrate Documentation

We need to integrate Prisma ORM into project to simplify database migrations and enhance our database management. This will streamline our migration process and improve overall database operations.
Tasks:

Install Prisma and its CLI:

Add Prisma to the project dependencies.
Configure Prisma with prisma.schema.

Configure Database Connection:

Set up Prisma to connect to our existing database.
Update environment variables for database credentials.

Define Data Models:

Map out database tables and relationships in the Prisma schema.

Generate Prisma Client:

Use Prisma CLI to generate the client based on the schema.

Implement Migration Strategy:

Execute initial migration to sync Prisma schema with the existing database.

Update Project Codebase:

Refactor code to use Prisma Client for database operations.

Test Integration:

Verify that Prisma Client performs correctly with all database operations.

Documentation:

Update project docs with Prisma setup instructions and usage examples.

Helpful Documentation Links:

Prisma Getting Started Guide
Prisma Installation Instructions
Prisma Schema Reference
Prisma Client API
Prisma Migrate Documentation

Thanks for the suggestion on Prisma ORM. While Prisma is great, we’re currently using MongoDB, which suits our needs as a schema-less database. Our existing setup already handles database management and migrations efficiently.
If Prisma has specific benefits for MongoDB, we are open to exploring them. But for now, it seems best to stick with our current tools.
Feel free to share any other thoughts!

Ok as its fits best, we could stick to mongo. Any thing else i could enhance in project.


Update Workshop version of Wiremod please!

Hey you should update Wiremod on Workshop from GitHub, current one on WS is old and some E2 functions are not working properly.
Thanks!

Fixed by #1342.


Sonic Frontiers: Generally poor performance.

Please describe your issue as accurately as possible.
Software information
Sonic Frontiers, settings honestly don't change anything performance wise. Some claim it to be even worse on NV GPU's, which you can see here. https://github.com/ValveSoftware/Proton/issues/6303
Its at its worst when lots of effects are on screen, try grinding on a rail, or even just jumping.
System information

GPU: GTX 3080
Driver: 5.25 beta
Wine version: Proton Experimental
DXVK version: 2.0

Log files
steam-1237320.log

There's a few other issues in the game, like flickering, though due to the open nature of the game its very hard to document what causes it and when. Performance is always bad enough however to the point my whole system slows to a crawl when alt tabbed, not even games like RDR2 on high cause that for me.

GPU usage is basically glued to 100% on a 3080.

Remember to make a apitrace

If I had to guess, the game either requires NVAPI extensions to work well, or it creates high-traffic resources in system memory or something.

Can't reproduce on my 6900XT, locked 60 FPS with fairly low utilization.

Nvidia's driver chokes really hard on one specific compute shader, it takes 34ms on my laptop RTX 2060 vs 32µs on the 6900XT, so more than a thousand times as long. A workaround that seems to fix this problem appears to be promoting temporary arrays to group-shared memory, but this really is something that should be addressed on the driver side.

Thanks for diagnosing the issue, shame that it seems to be a driver issue. In the meantime can you share how to apply the workaround you found so the game can be playable in the meantime?

It's not possible on the DXVK side without writing a bunch of code, I only did this by hand on a RenderDoc capture to work out what the problem is.
I might implement this as an actual workaround for the time being but it'll take some time.

Sounds great if you do, thank you. Wonder what the chances of NV fixing it are.

Just got to let them be aware if they aren't already.

Reported it in NVIDIA's Linux forum - https://forums.developer.nvidia.com/t/driver-bug-unplayable-performance-in-sonic-frontiers/234873

Reported it in NVIDIA's Linux forum - https://forums.developer.nvidia.com/t/driver-bug-unplayable-performance-in-sonic-frontiers/234873

Fwiw, if you also mail it to Nvidia you will most likely get a faster response.
https://nvidia.custhelp.com/app/answers/detail/a_id/44/~/where-can-i-get-support-for-linux-drivers%3F
Just a brief explanation mail that contains your forum post link should be enough.

Reported it in NVIDIA's Linux forum - https://forums.developer.nvidia.com/t/driver-bug-unplayable-performance-in-sonic-frontiers/234873

You mentioned it runs fine on your deck, what's that mean in your case? On my end at native res and everything low, it could hardly hold 30, and considering it's a Switch game, that doesn't feel right. No where near as bad as my 3080 of course, but i'm wondering if there's other performance blockers.

There's no obvious bottleneck when running the game on AMD, including the Deck. Unless someone proves that the game runs significantly faster on Windows with the same hardware, there's no reason to assume that something is wrong performance-wise (I'm aware of various bugs but they are all so random that it's really difficult to work out what causes those).
That being said, the game is hard-coded to run at 1920x1080 by default, regardless of your monitor resolution, so resolution needs to be set manually, and it's also just not very efficient, most of the frame time is being consumed by rendering ludicrously large shadow maps as well as various full-screen render passes. This isn't great when memory bandwidth is limited.

Reported it in NVIDIA's Linux forum - https://forums.developer.nvidia.com/t/driver-bug-unplayable-performance-in-sonic-frontiers/234873

You mentioned it runs fine on your deck, what's that mean in your case? On my end at native res and everything low, it could hardly hold 30, and considering it's a Switch game, that doesn't feel right. No where near as bad as my 3080 of course, but i'm wondering if there's other performance blockers.

the switch version runs graphics settings lower than what you can pick in the PC version, and even then it doesnt hit 30fps consistently.

The Switch is also underclocked mobile hardware from 2015...

On my new system with a Ryzen 3800X and RTX 3060, the game runs significantly worse on Linux compared to Windows, requiring the game to run at %50 resolution scale to get a stable 60 FPS.
steam-1237320.log
This log was also generated after the game crashed. Neither the poor performance or the crashes during common gameplay happen on Windows.

Reported it in NVIDIA's Linux forum - https://forums.developer.nvidia.com/t/driver-bug-unplayable-performance-in-sonic-frontiers/234873

You mentioned it runs fine on your deck, what's that mean in your case? On my end at native res and everything low, it could hardly hold 30, and considering it's a Switch game, that doesn't feel right. No where near as bad as my 3080 of course, but i'm wondering if there's other performance blockers.

Deck doesn't run it at 60 fps native res on high. But with a mix to your preference of lowered settings, res scale and/or refresh rate it's easy to get it to run pretty smooth. Whereas on vastly more powerful NVIDIA hardware you get substantial slowdowns caused by things like JUMPING while standing still.

Have you tried setting DLLOVERRIDE for nvapi and nvapi64 to disabled?
I have observed a performance regression with nvapi in Star Citizen in some situations where setting dxgi.nvapiHack = false is not enough to completely disable nvapi.

You have to set dxgi.nvapiHack to true for nvapi not to be attempted to load. The Hack is that is tells the game you are using a AMD gpu.

Not true, some games (like the example I have given) will still call functions in nvapi even if you set dxgi.nvapiHack to false and you do not override nvapi and nvpai64.
For example if you do not override nvapi for Star Citizen with dxgi.nvapiHack = true, the game magically still calls nvapi because it was present and for example happily reports 10Gb of VRAM when you set dxgi.maxDeviceMemory to for example 8192. I assume the dxvk-nvapi implementation does not check if it is actually running on an nVidia GPU.

Well, I sometimes call some DLL function as well and then I simply check if there was null returned yes or no before using the return value... so if the call succeeded, I would not check if that was correct or expected I just assume it was correct because it executed at that point.

Hi @sfjuocekr DXVK-NVAPI on master now skips an NVIDIA adapter when DXVK reports a different vendor (thus when the DXVK NVAPI hack isn't disabled). This way you should still be able to keep the NVAPI DLL overrides to native, even when you want DXVK to spoof an AMD card. NVAPI initialization fails in that case and the game should just move on without NVAPI.
The memory reporting between DXVK and DXVK-NVAPI is already in sync with DXVK-NVAPI 0.6.2, you confirmed that in another issue.


[Feature]: Download table/form to local file with format (JSON, CSV, etc.)

Is there an existing issue for this?

[X] I have searched the existing issues

Summary
Export a table or JSON object to a local file, specifying the format (JSON, CSV, etc.)
Why should this be worked on?
Using Appsmith to edit and annotate data sources.

@svanschalkwyk have you tried out download function? This should be able to achieve what you are looking for


<IP_ADDRESS> fails to build with GHC 8.8 and up

constraints-deriving-<IP_ADDRESS>$ cabal build -w ghc-8.8.4
...
src/Data/Constraint/Deriving/CorePluginM.hs:283:5: error:
    • Illegal equational constraint SrcSpanLess a ~ ModuleName
      (Use GADTs or TypeFamilies to permit this)
    • When checking the inferred type
        lookupDep :: forall (f :: * -> *) a.
                     (MonadIO f, HasSrcSpan a, SrcSpanLess a ~ ModuleName) =>
                     HscEnv -> (Maybe FastString, a) -> f (Maybe Module)
      In an equation for ‘defCorePluginEnv’:
...

Fixed by revision 1: https://hackage.haskell.org/package/constraints-deriving-<IP_ADDRESS>/revisions/


Add strict mypy type hints to all Python files

This change adds mypy checking to the Python files in the dcos-commons codebase.
This has found and will find bugs in the code - some of those bugs have been fixed in other PRs.
The main purpose of this change is to make SDK bumps for frameworks easier.
CI
The pre-commit setup is really not suited to mypy.
There are mypy pre-commit repos but they do not work well - they fail when there are duplicate file names given to mypy directly (as we have e.g. auth.py).
My goal was to add CI with this branch.
However, as I am soon to leave the DS team I want to ship the progress here and push on with bumping Confluent Zookeeper.
I will maek sure that JIRA reflects this.
For now I have been running:
pip install mypy
mypy frameworks testing tools *.py

Morally, I do not see an issue with merging this without CI, because there were already a bunch of type hints in the codebase.
Workflow this will enable
Setup

Add mypy checking to a framework (if in a different repository)
Add type hints to a framework (all frameworks in this repository are type hinted by this PR)

On SDK bump

Run mypy against the framework to tell us if we are calling functions which no longer exist, or if which have changed signatures

I see tests are failing and I will fix this!

That's an amazing effort @adamtheturtle

Oops!


Missing documentation on how to connect ESP8266 modul to Arduino for this library

I have Arduino Nano and ESP8266 ESP-01 module. I want to use InfluxDB client library but it cannot connect. I did not figure out to which pins I should mount the module, or where I should define it in the code. Whatever I try, I get esptool.FatalError: Failed to connect to ESP8266: Timed out waiting for packet header.

@horejsek, this library is intended for use when programming directly ESP devices with their Arduino SDKs (Arduino core for the ESP32 and Arduino core for ESP8266 WiFi chip.
Using an ESP device as a WiFi peripheral device is not currently supported.
However, writing to the InfluxDB server is easy.  For writing data to local server you just need to send a single HTTP POST request. See https://docs.influxdata.com/influxdb/v1.8/guides/write_data/ for more details You will probably find many examples how to construct HTTP POST request when using an ESP as a peripheral device.

@horejsek, this library is intended for use when programming directly ESP devices with their Arduino SDKs (Arduino core for the ESP32 and Arduino core for ESP8266 WiFi chip.
Using an ESP device as a WiFi peripheral device is not currently supported.
However, writing to the InfluxDB server is easy.  For writing data to local server you just need to send a single HTTP POST request. See https://docs.influxdata.com/influxdb/v1.8/guides/write_data/ for more details You will probably find many examples how to construct HTTP POST request when using an ESP as a peripheral device.

I see, thanks! Maybe it would be good to make it clear in readme.

I see, thanks! Maybe it would be good to make it clear in readme.


Cervical cancer

Here's a first draft of this module.  I need to do another search to try to find additional data for calibration.
I couldn't upload the draft write as it was asking me to use the command line and Git LFS.

@andrew-phillips-1  --- is this ready for merging now?

@tbhallett I would say it is not ready for merging yet.
What is missing:

Calibration check
More exhaustive testing (e.g. ensuring that change in screening logic is still properly screening patients)
Updating test file based on changes

What has been addressed:

Disease logic changes (e.g. screening, diagnosis, ...)
Code improvements (e.g. removing screening as a symptom, ...)
Update of consumables

Thanks @mmsuarezcosta I know you have been concentrating on the CHAM work,


Update release notes for start of Aug

Purpose
Bring release notes up to date for the beginning of August.
Changes
Added release notes for 5/21, 5/29, and 7/30

So, I think I've addressed all the feedback.  In the diffs, I still see the removal of "children", but it's fixed locally, and local says the branch is up to date.  And if I look at the Files tab, it doesn't show the change there, so I think it's done?  Anyway, please re-review?


Add domain hkmakslo.edu.hk

Let's add a domain hkmakslo.edu.hk for shcool Hong Kong Management Association K S Lo College

@PeterRayy First stage of verification passed, official domain is hkmakslo.edu.hk as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision.

@PeterRayy Thank you for your patience while waiting for a review and processing your request. Pull request merged.

Well noted and thank you very much for your kind help!


Delete padre.rb

Link on http://padre.perlide.org/download/osx.html leads to nonexistent page

Merged as 83fe7566a7d53ae6a73973a90a434c571b5fbf7c.


dsl for common license

I just scraped all scala poms on maven central. If sbt could define some dsl over common license, it could clean up this mess:
(2155) Apache 2
(1809) Apache License, Version 2.0
(1286) MIT
(1123) Apache-2.0
(1041) BSD-style
(920) MIT-style
(893) MIT License
(430) Affero GPLv3
(275) MIT license
(268) The Apache Software License, Version 2.0
(246) Apache 2.0
(191) GPL v2+
(187) MPL-2.0
(165) LGPL v2.1+
(135) BSD New
(132) BSD
(131) The MIT License
(114) Apache License, Version 2.0Apache License, Version 2.0
(109) The Apache License, Version 2.0
(100) Apache V2
(97) BSD-like
(92) Apache2
(92) GPL v3+
(91) W3C
(76) the Apache License, ASL Version 2.0
(74) Apache License 2.0
(71) Apache-style
(71) Apache
(63) BSD 3-Clause
(55) Three-clause BSD-style
(55) Apache License
(52) BSD 3-clause
(48) BSD-3-Clause
(45) LGPL-3.0
(45) GPLv3
(44) Apache License, Verison 2.0
(44) GNU Lesser General Public License, Version 2.1
(42) Apache 2.0 License
(38) LGPL v3
(34) Two-clause BSD-style license
(32) Apache license
(28) ASL
(27) GPL version 3 or any later version
(24) Apache License, ASL Version 2.0
(24) BSD Simplified
(24) BSD-2-Clause
(23) LGPL
(19) LGPL v3+
(18) BSD Software License, 2-clause version
(17) LGPL3
(16) APSL-2.0
(16) MPL-2.0W3C
(13) The MIT License (MIT)
(13) Apache v2
(13) GPL-3.0
(13) APACHE-2.0
(12) GNU Lesser General Public License v3.0
(11) Scala License
(11) GNU Library or Lesser General Public License (LGPL)
(11) The BSD 3-Clause License
(11) MIT Licence
(11) MITBSD New
(11) CC BY 4.0.
(10) Scala license
(10) MIT licencse
(10) The Apache Software Licence, Version 2.0
(9) mit
(9) Public domain
(8) Apache 2.0Academic License (for original lex files)Apache 2.0 (for supplemental code)
(8) Apache 2.0
(8) New BSD
(8) DO WHAT YOU WANT TO PUBLIC LICENSE, Version 1
(8) LGPLv3
(7) 3-clause BSD
(7) MPL-2.0MPL-2.0
(7) Figaro License
(7) GPL-2.0
(6) The Apache License, ASL Version 2.0
(6) GNU Lesser General Public Licence
(6) LGPL 3.0 license
(6) Creative Commons Attribution-ShareAlike 4.0 International
(5) Apache 2 License
(5) GNU General Public License v2
(5) Apache Public License 2.0
(5) AGPL
(5) BSD 3-Clause License
(4) Mozilla Public License Version 2.0
(4) LGPL-2.1
(4) Apache License Version 2.0
(4) The BSD 2-Clause License
(3) Public domainBSD-like
(3) BSD-Style
(3) GNU General Public License (GPL)
(3) GNU Lesser General Public License, Version 2.1Eclipse Public License, Version 1.0
(2) ISC
(2) New BSD License
(2) ISC License
(2) Apache 2 license
(2) Apache License, Version 2
(2) Apache-2.0Apache-2.0
(2) AGPL-3.0
(1) LGPLv2.1
(1) AGPL v3
(1) Apache-2.0MIT
(1) lgpl
(1) GNU GENERAL PUBLIC LICENSE, Version 3.0
(1) The MIT LicenseGNU General Public License, version 2 (GPL-2.0)
(1) MIT-style license
(1) Eclipse Public License - v 1.0
(1) GNU LESSER GENERAL PUBLIC LICENSE, Version 3
(1) AThe MIT License (MIT)
(1) Atlassian 3.0 End User License Agreement
(1) Apache License Version 2.0The New BSD License
(1) WTFPL, Version 2
(1) GNU Gpl v3

That's a nice aggregate, can you share the code for that by chance?
Dale
On 24 March 2015 at 04:15, Guillaume Massé<EMAIL_ADDRESS>wrote:

I just scraped all scala poms on maven central. If sbt could define some
dsl over common license, it could clean up this mess:
(2155) Apache 2
(1809) Apache License, Version 2.0
(1286) MIT
(1123) Apache-2.0
(1041) BSD-style
(920) MIT-style
(893) MIT License
(430) Affero GPLv3
(275) MIT license
(268) The Apache Software License, Version 2.0
(246) Apache 2.0
(191) GPL v2+
(187) MPL-2.0
(165) LGPL v2.1+
(135) BSD New
(132) BSD
(131) The MIT License
(114) Apache License, Version 2.0Apache License, Version 2.0
(109) The Apache License, Version 2.0
(100) Apache V2
(97) BSD-like
(92) Apache2
(92) GPL v3+
(91) W3C
(76) the Apache License, ASL Version 2.0
(74) Apache License 2.0
(71) Apache-style
(71) Apache
(63) BSD 3-Clause
(55) Three-clause BSD-style
(55) Apache License
(52) BSD 3-clause
(48) BSD-3-Clause
(45) LGPL-3.0
(45) GPLv3
(44) Apache License, Verison 2.0
(44) GNU Lesser General Public License, Version 2.1
(42) Apache 2.0 License
(38) LGPL v3
(34) Two-clause BSD-style license
(32) Apache license
(28) ASL
(27) GPL version 3 or any later version
(24) Apache License, ASL Version 2.0
(24) BSD Simplified
(24) BSD-2-Clause
(23) LGPL
(19) LGPL v3+
(18) BSD Software License, 2-clause version
(17) LGPL3
(16) APSL-2.0
(16) MPL-2.0W3C
(13) The MIT License (MIT)
(13) Apache v2
(13) GPL-3.0
(13) APACHE-2.0
(12) GNU Lesser General Public License v3.0
(11) Scala License
(11) GNU Library or Lesser General Public License (LGPL)
(11) The BSD 3-Clause License
(11) MIT Licence
(11) MITBSD New
(11) CC BY 4.0.
(10) Scala license
(10) MIT licencse
(10) The Apache Software Licence, Version 2.0
(9) mit
(9) Public domain
(8) Apache 2.0Academic License (for original lex files)Apache 2.0 (for supplemental code)
(8) Apache 2.0
(8) New BSD
(8) DO WHAT YOU WANT TO PUBLIC LICENSE, Version 1
(8) LGPLv3
(7) 3-clause BSD
(7) MPL-2.0MPL-2.0
(7) Figaro License
(7) GPL-2.0
(6) The Apache License, ASL Version 2.0
(6) GNU Lesser General Public Licence
(6) LGPL 3.0 license
(6) Creative Commons Attribution-ShareAlike 4.0 International
(5) Apache 2 License
(5) GNU General Public License v2
(5) Apache Public License 2.0
(5) AGPL
(5) BSD 3-Clause License
(4) Mozilla Public License Version 2.0
(4) LGPL-2.1
(4) Apache License Version 2.0
(4) The BSD 2-Clause License
(3) Public domainBSD-like
(3) BSD-Style
(3) GNU General Public License (GPL)
(3) GNU Lesser General Public License, Version 2.1Eclipse Public License, Version 1.0
(2) ISC
(2) New BSD License
(2) ISC License
(2) Apache 2 license
(2) Apache License, Version 2
(2) Apache-2.0Apache-2.0
(2) AGPL-3.0
(1) LGPLv2.1
(1) AGPL v3
(1) Apache-2.0MIT
(1) lgpl
(1) GNU GENERAL PUBLIC LICENSE, Version 3.0
(1) The MIT LicenseGNU General Public License, version 2 (GPL-2.0)
(1) MIT-style license
(1) Eclipse Public License - v 1.0
(1) GNU LESSER GENERAL PUBLIC LICENSE, Version 3
(1) AThe MIT License (MIT)
(1) Atlassian 3.0 End User License Agreement
(1) Apache License Version 2.0The New BSD License
(1) WTFPL, Version 2
(1) GNU Gpl v3
—
Reply to this email directly or view it on GitHub
https://github.com/sbt/sbt/issues/1937.

It's part of this
https://github.com/metadoc/metadoc/blob/develop/bintrayScape/src/main/scala/3_PomToJson.scala#L3

Thanks!
On 24 March 2015 at 13:57, Guillaume Massé<EMAIL_ADDRESS>wrote:

It's part of this
https://github.com/metadoc/metadoc/blob/develop/bintrayScape/src/main/scala/3_PomToJson.scala#L3
—
Reply to this email directly or view it on GitHub
https://github.com/sbt/sbt/issues/1937#issuecomment-85505410.

@dwijnand Regarding this ticket, do you think it make sense ?
http://www.scala-sbt.org/0.13.7/sxr/sbt/Keys.scala.html#sbt.Keys.licenses
val licenses = SettingKey[Seq[(String, URL)]]("licenses", "Project licenses as (name, url) pairs.", BMinusSetting)

http://www.scala-sbt.org/0.13/docs/Publishing.html#Modifying+the+generated+POM
pomExtra :=
  <licenses>
    <license>
      <name>Apache 2</name>
      <url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
      <distribution>repo</distribution>
    </license>
</licenses>

If you mean "wouldn't it be nice if this weren't so many variants of the
same idea" then yes.
Just personally not sure if it must be part of sbt: could just create a
nicely publicised community plugin to solve this.
Dale
On 24 March 2015 at 14:11, Guillaume Massé<EMAIL_ADDRESS>wrote:

@dwijnand https://github.com/dwijnand Regarding this ticket, do you
think it make sense ?
http://www.scala-sbt.org/0.13.7/sxr/sbt/Keys.scala.html#sbt.Keys.licenses
val licenses = SettingKey[Seq[(String, URL)]]("licenses", "Project licenses as (name, url) pairs.", BMinusSetting)
http://www.scala-sbt.org/0.13/docs/Publishing.html#Modifying+the+generated+POM
pomExtra :=

Apache 2
https://www.apache.org/licenses/LICENSE-2.0.txt
repo

—
Reply to this email directly or view it on GitHub
https://github.com/sbt/sbt/issues/1937#issuecomment-85511258.

I will start with the sbt plugin, that's a good idea. I hope we can merge this into sbt at some point :-), as you see Seq[(String, URL)] is not the most precise type to define a license.

Did you see sbt-license-report? I tmay have some you're missing, but I think not.
If you'd like to make a DSL, I'd be happy to have it.

I got some WIP here:
https://github.com/MasseGuillaume/super-winner/blob/master/src/main/scala/License.scala#L35

In terms of the list of opensource licenses, and its string notation, what affects me personally is Bintray API - https://bintray.com/docs/api/#_footnote_1
This list is fairly comprehensive, and I think it's a good start.

Hum, sure I can add those licenses. I know that what I have covers 99% of the use cases because I have the list of all open source libraries.

I feel like it's better to have top 10 rather than trying to aim for completion. How does the histogram look like?

Also what's your plan for the URL? If we take Apache-2.0 as an example, which seems to be the overwhelming majority (over 6000), https://www.apache.org/licenses/LICENSE-2.0.txt is licensed to [name of copyright owner]. The person who is trying to apply it needs to substitute that part.

For the histogram, I have a lot of duplicate to filter first. We can see the trend from the raw data: Apache2, MIT, LGPL, GPL, AGPL.
For the URL it's defined via Spdx license trait
regarding the [name of copyright owner] I'm not sure it's an issue:
https://github.com/apache/spark/blob/master/LICENSE#L189
https://github.com/apache/spark/blob/master/core/src/main/scala/org/apache/spark/annotation/Since.scala#L1-L16
https://github.com/apache/spark/blob/d83c2f9f0b08d6d5d369d9fae04cdb15448e7f0d/NOTICE#L1-L2

Apache License 2.0                               , 24804
MIT License                                      , 9856
BSD 4-clause "Original" or "Old" License         , 2499
Typesafe Subscription Agreement                  , 1486
BSD 3-clause "New" or "Revised" License          , 916
GNU Affero General Public License v3.0           , 588
GNU Lesser General Public License v3.0 only      , 503
BSD 2-clause "Simplified" License                , 377
Mozilla Public License 2.0                       , 347
GNU Library General Public License v2.1 or later , 298
GNU General Public License v2.0 or later         , 282
GNU General Public License v3.0 or later         , 174
GNU General Public License v3.0 only             , 166
GNU General Public License v2.0 only             , 137
W3C Software Notice and License                  , 107
GNU Library General Public License v2.1 only     , 79
Eclipse Public License 1.0                       , 30
Scala License                                    , 29
Creative Commons Zero v1.0 Universal             , 23
Academic Free License                            , 22
GNU Lesser General Public License v3.0 or later  , 20
Public Domain                                    , 19
Apple Public Source License 2.0                  , 16
Creative Commons Attribution 4.0                 , 14
Do What The F*ck You Want To Public License      , 9
The Unlicense                                    , 8
Creative Commons Attribution Share Alike 4.0     , 6
Beerware License                                 , 1

Cool

Stallman would prefer you referred to Mit as the Expat License :-P
Very good to see this. Apache is a good Libre License. It would be good to see more projects, especially Scala itself, use it instead of BSD/MIT. It frees us from the concern of patent lock-in (JVM itself aside).

Btw GPL3 is implicitly "or later" unless they've gone out of their way to say so.

Does this double count projects with multiple releases or modules comprising the project?

@fommil good point, I double counted projets (the total is more or less the amount of scala poms on maven central).

Why are so many people using 4 clause BSD? As users of these libraries we have obligations to publicise the copyright holder's names when our apps start up.

@fommil that's a mistake on my end. Let's connect over gitter.im

My proposal would be support only three as predefined:

Apache-2.0: Apache License 2.0
MIT: MIT License
CC0-1.0: Creative Commons Zero v1.0 Universal

I think there should be at least one GPL variant in there. Not that copyleft licenses are very common in the Scala world, but it would be a shame for them to be completely unrepresented given their historical and cultural significance.

@bplommer I was really close to suggesting GNU Affero General Public License 3.0 only as a predefined for similar sentiment, but there are so many nuances around GPL (Affero or not, 3.0 only or 3.0 and later) that predefined I don't think is a good idea.

@eed3si9n yeah, that’s reasonable

if you're picking a GPL variant for inclusion, I recommend "GPLv3 or any later version".
I'd not aware of any Scala projects that uses AGPL, besides anything related to neo4j, and it isn't even really a GNU license anyway.
All my tooling has been "GPLv3 or any later version" for a long time.

ok. Added GPL-3.0-or-later - https://github.com/sbt/librarymanagement/pull/395


feat: Also allows using string instead of {x:Type} in ControlTemplate.TargetType

What does the pull request do?

Allows using string instead of {x:Type} in ControlTemplate.TargetType
What is the current behavior?

Throw Unable to resolve suitable regular or attached property
What is the updated/expected behavior with this PR?

How was the solution implemented (if it's not obvious)?

Checklist

[x] Added unit tests (if possible)?
[ ] Added XML documentation to any related classes?
[ ] Consider submitting a PR to https://github.com/AvaloniaUI/Documentation with user documentation

Breaking changes

Obsoletions / Deprecations

Fixed issues

Fixes #11334

You can test this PR using the following package version. 11.0.999-cibuild0035854-beta. (feed url: https://pkgs.dev.azure.com/AvaloniaUI/AvaloniaUI/_packaging/avalonia-all/nuget/v3/index.json) [PRBUILDID]

@billhenn Can you try this PR if it solve your problem?

I've not had time to review this PR yet, but I suspect that we're hitting ordering issues with the transformers as iirc there should be a transformer which transforms string into Type for relevant properties, but could be that it's getting run too late.

I've not had time to review this PR yet, but I suspect that we're hitting ordering issues with the transformers as iirc there should be a transformer which transforms string into Type for relevant properties, but could be that it's getting run too late.

If you suggest the area to see, I'll try to check.

@workgroupengineering sorry I'm not really familiar enough with the XAML compiler internals to be able to point you to it, this was just from a vague memory of hitting something similar a while ago. Will probably need input from someone who knows this part of the code a bit better.

@workgroupengineering sorry I'm not really familiar enough with the XAML compiler internals to be able to point you to it, this was just from a vague memory of hitting something similar a while ago. Will probably need input from someone who knows this part of the code a bit better.

I investigated, ControlTheme following the same path.
https://github.com/AvaloniaUI/Avalonia/blob/4552278f4b4e34e168557139808eeabd071d5fe6/src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/Transformers/AvaloniaXamlIlControlThemeTransformer.cs#L28-L33

You can test this PR using the following package version. 11.0.999-cibuild0038662-beta. (feed url: https://nuget-feed-all.avaloniaui.net/v3/index.json) [PRBUILDID]

This PR has been floating out there for a while.  Just curious as to the status since it would be nice to have the bug fix in place for standalone ControlTemplate usage.


HyperGAN Windows Error

When I use europax's directions to use hyperGAN on Windows 10 it gives "ModuleNotFoundError: No module named 'hypergan.cli'; 'hypergan' is not a package".
I would appreciate any information that could help fix this error. Thanks in advance!

make sure that you do pip3 install hypergan

Referring to the directory helped for me
ex. C:\Users[user]\AppData\Local\Programs\Python\Python36\Scripts\hypergan train ...

This is going to hopefully be fixed in 1.0.


Can't use the same asset for more than one Entry

I wasn't sure if this issue belongs to this repo or the standard Contentful.swift repo.
The issue is as follows:
I have two Entry items in Contentful and both have a relationship to the same Asset (image) in contentful.
This works fine in the Contentful admin web frontend. Also our Android app shows for both entries the same image.
But the iOS app with CoreData does not show the image for both entries. Only the last entry will show the image.
The first entry has image = nil.
This behavior seems to be expected (not nice) since the Entry model has a one-to-one relationship to the Asset in CoreData and is mapped via the id (same)  . What is the best practise to avoid this?

Hi @tapwork
If the issue is regarding CoreData, then I think this is the correct repo.
I have just added tests in a new branch testing that multiple entries can link to the same asset and everything works just fine.
The expected behavior is that multiple entries can point to the same asset, so I'm not quite sure what is causing the problem on your end. Your entry model should have a one-to-one relationship configured if you only expect a single asset from the API. You can see in the screenshot attached how a link field linking to many assets differs from a link field linking to a single asset in the content model editor for Contentful.

The expected behavior of the persistence library is that all links should always be resolved if they exist in your Contentful space.

Hi @loudmouth
I fixed it. The issue was that we have a one - to - one relation for both sides.
Also a 1-1 for the inverse relation ship from the Asset to the Entry
I made the inverse relation from the Asset to the Entry 1 - to - many.  So one asset can have multiple entries. that fixed it. Enjoy your holidays.


"pointer being freed was not allocated" when accepting a request

Continuing the discussion from #89.
A project (small gRPC server with one method) crashes when accepting a request from a gRCP client. At the moment I don't have a minimal example, but I'll see what I can do about it.
Since the error does not appear in a branch that is equivalent to master minus PR #90, I believe that it is caused by PR #90. The error is as follows:
projectname(2509,0x70000b9b1000) malloc: *** error for object 0x7f98d3c0cae0: pointer being freed was not allocated
projectname(2509,0x70000b9b1000) malloc: *** set a breakpoint in malloc_error_break to debug
Abort trap: 6

Hm, maybe gRPC frees this internally somewhere? We definitely do allocate this afaict, see https://github.com/awakesecurity/gRPC-haskell/blob/be70fc49b0dc25313f57d0e6c6ba2a9fa46b9e6b/core/cbits/grpc_haskell.c#L70. I made the change when I was looking through the code not based on an actual failure that we encountered so I wouldn’t mind a revert but we should try to figure out why this is incorrect. At least to me, this definitely looks like a leak.

Here is a usage example from gRPC which also seems to unref the slice so that doesn’t seem to be problematic in principle https://github.com/grpc/grpc/blob/7564664f077cdaa720451633107352cb39e233e4/src/csharp/ext/grpc_csharp_ext.c#L820,L849

I tried debugging it but I might be doing something wrong because I don't see two frees:
project(31698,0x70000599c000) malloc: *** error for object 0x107d01f20: pointer being freed was not allocated
project(31698,0x70000599c000) malloc: *** set a breakpoint in malloc_error_break to debug
Process 31698 stopped
* thread #2, stop reason = breakpoint 1.1
    frame #0: 0x00007fff6c228972 libsystem_malloc.dylib`malloc_error_break

(lldb) malloc_info --stack-history 0x107d01f20

0x0000000107d01f20: malloc(    32) -> 0x107d01f20
stack[0]: addr = 0x107d01f20, type=malloc, frames:
     [0] 0x00007fff6c212cbd libsystem_malloc.dylib`malloc_zone_malloc + 139
     [1] 0x00007fff6c212c15 libsystem_malloc.dylib`malloc + 24
     [2] 0x0000000101e7625d libHSgrpc-haskell-core-<IP_ADDRESS>-2f4dmfF7wk4I7Kro0Zgt2a-ghc8.6.5.dylib`grpc_slice_from_copied_buffer_ + 29
     [3] 0x0000000101dcff13 libHSgrpc-haskell-core-<IP_ADDRESS>-2f4dmfF7wk4I7Kro0Zgt2a-ghc8.6.5.dylib`cb4t_info + 91
     [4] 0x70000599c001

stack[1]: addr = 0x107d01f20, type=free, frames:
     [0] 0x00007fff6c2159c9 libsystem_malloc.dylib`free + 400
     [1] 0x0000000101e767d4 libHSgrpc-haskell-core-<IP_ADDRESS>-2f4dmfF7wk4I7Kro0Zgt2a-ghc8.6.5.dylib`op_array_destroy + 116
     [2] 0x0000000101e509c1 libHSgrpc-haskell-core-<IP_ADDRESS>-2f4dmfF7wk4I7Kro0Zgt2a-ghc8.6.5.dylib`c1Ewn_info + 25
     [3] 0x70000599c001

stack[2]: addr = 0x107d01f20, type=malloc, frames:
     [0] 0x00007fff6c212cbd libsystem_malloc.dylib`malloc_zone_malloc + 139
     [1] 0x00007fff6a8899f0 libobjc.A.dylib`NXCreateHashTableFromZone + 39
     [2] 0x00007fff6a8899c0 libobjc.A.dylib`NXCreateHashTable + 47
     [3] 0x00007fff6a8a13ae libobjc.A.dylib`objc_class::demangledName() + 230
     [4] 0x00000001091e375b __lldb_apple_objc_v2_get_shared_cache_class_info`__lldb_apple_objc_v2_get_shared_cache_class_info(void*, void*, unsigned int, unsigned int) + 1195 at Parse:159
     [5] 0x00000001091e3c8b __lldb_caller_function`::__lldb_caller_function(void *) + 59 at Parse:13
     [6] 0x0000000100002f70 project`main
     [7] 0x00007fff6c21be38 libsystem_malloc.dylib`malloc_report + 151
     [8] 0x0000000101dcfcb7 libHSgrpc-haskell-core-<IP_ADDRESS>-2f4dmfF7wk4I7Kro0Zgt2a-ghc8.6.5.dylib`cb1u_info + 15
     [9] 0x70000599c001

@neongreen Have you made any progress here? If you can provide a testcase I might be able to take a look (but not sure when I’ll get around to it). Without that it’s a bit hard to say what’s going wrong.

I'll be able to provide it when the project is open-sourced.

@cocreature
The project has been open-sourced. I removed all irrelevant parts and got it down to a gRPC server with one method + one protobuf file.
git clone --single-branch -b artyom/grpc https://github.com/juspay/fencer
cd fencer
nix-build
result/bin/fencer

You'll need grpcurl or another gRPC tool to submit the request. Assuming you have it installed:
grpcurl -proto proto/rls.proto -plaintext localhost:50051 envoy.service.ratelimit.v2.RateLimitService.ShouldRateLimit

The server will produce a response and then crash with a segfault.

Thanks, I’ll see if I can find some time to look into this.

Still crashes with grpc-1.23.1 (released today).

I have also significantly minimized the example further. It fits into a comment now:
// protobuf

syntax = "proto3";

package envoy.service.ratelimit.v2;

service RateLimitService {
  rpc ShouldRateLimit(RateLimitRequest) returns (RateLimitResponse) {
  }
}

message RateLimitRequest {
  string domain = 1;
}

message RateLimitResponse {
  int64 overall_code = 1;
}

-- Haskell

main :: IO ()
main = do
    let handlers = Proto.RateLimitService
            { Proto.rateLimitServiceShouldRateLimit = shouldRateLimit
            }
    let options = Grpc.defaultServiceOptions
    Proto.rateLimitServiceServer handlers options

shouldRateLimit
    :: Grpc.ServerRequest 'Grpc.Normal Proto.RateLimitRequest Proto.RateLimitResponse
    -> IO (Grpc.ServerResponse 'Grpc.Normal Proto.RateLimitResponse)
shouldRateLimit (Grpc.ServerNormalRequest _metadata _request) = do
    let answer = Proto.RateLimitResponse
            { Proto.rateLimitResponseOverallCode = 1
            }
    pure $ Grpc.ServerNormalResponse answer mempty Grpc.StatusOk ""

@cocreature
In opArrayDestroy we free the metadata and status details for all items in the array:
https://github.com/awakesecurity/gRPC-haskell/blob/master/core/cbits/grpc_haskell.c#L224-L228
We do the same in freeOpContext:
https://github.com/awakesecurity/gRPC-haskell/blob/master/core/src/Network/GRPC/LowLevel/Op.hs#L111-L112
And then in withOpArrayAndCtxts we call both:
https://github.com/awakesecurity/gRPC-haskell/blob/master/core/src/Network/GRPC/LowLevel/Op.hs#L134-L135
This seems wrong. Am I missing something?

Good catch, thanks for tracking this down! This is definitely off. I believe that freeSlice is the proper thing to use here as it also takes care of calling grpc_slice_unref so the fix here seems to be to remove it from opArrayDestroy. However, I’m a bit unclear on what the split between opArrayDestroy and freeOpContext is supposed to be. Maybe @Gabriel439 or @ixmatus can weigh in on that?

Ping. Is there something I can do to help with this issue? The split between opArrayDestroy and freeOpContext is unclear to me as well. If I knew what is the intended semantics of these functions, I could make a PR.

@neongreen: Sorry, we're a bit swamped at the moment, but part of the reason we're slow to respond is that the person who wrote this code left the company a while ago, so we're also re-learning the semantics of the grpc package, too