feat!: DB Schema changes to support advanced form versioning

DB Schema changes to support advanced form versioning
🔥 BREAKING CHANGE: We have new DB Migrations and as part of this the logic for "EnsureCreated" has been removed. We cannot have both as noted in EF Core. Thus, we are only using migrations. As part of this any DBs created previously will need to be rebuilt from scratch.
Description

Adding IUnitOfWork + implementation to support extracting transaction EF logic away from the core project
Adding ActiveDefinition and ActiveDefinitionId to the form for tracking the Active Form Definition via 1 to 1 reference. Navigation is only parent to child.
Form.FormDefinitions is now only Parent to Child for performance and clean design to reduce circular loops in the model
Encapsulating form definition Update logic on the parent level, e.g. via the Form entity - Form.AddActiveDefinition(FormDefinition definition) and Form.SetActiveDefinition(FormDefinition definition)
Adding private setters to allow for encapsulating business logic in the domain model and enforce domain rules. Refactoring step towards DDD
Refactoring Submission.Token to have private setter to follow convention
Removing IsActive and Version from the FormDefinition entity
Adding UseAsyncSeeding based approach to seed sample entity data - https://learn.microsoft.com/en-us/ef/core/modeling/data-seeding#configuration-options-useseeding-and-useasyncseeding-methods
Updating DB Migrations with initial
Adding tests

[!IMPORTANT]
Due to limitations of EF Core, could not convert the JsonDefinition and JsonData to JSON fields https://github.com/dotnet/efcore/issues/29427

Created Tasks for future improvements

#231 - has details on how to support JSON for the Metadata
#261 - for better form statistics approach
#245 - to improve the logic for the
#126  - we need to add integration tests to confirm if data is behaving as expected

Related Issues
closing #229
Type of Change
Please delete options that are not relevant.

[x] New feature (non-breaking change which adds functionality)
[x] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist

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

Screenshots
If applicable, add screenshots to help explain your changes.

Yeah, we are on the same page. We should have reduced the scope of the task to one field or one entity only and this would have been much smoother PR. The impact is huge as this is the foundational domain model and we touch all aggregate roots in one PR for multiple concerns.
We should have followed SR for the PR as well and keep it atomic and easy to follow. If it's hard to review by the reviewer, it's even harder to code, comprehend and review from the writer as well.
Again -> next time: we change one field at a time or one domain entity as boundary of the PR scope.


The app is extremely slow

Sent a report about ANR. The app is so slow it takes a minute to switch between activities (it shows a black screen but then the expected window appears). It's still opening a channel (only 1 conf) and just by tapping some items on the screen (on-chain wallet, settings, usage stats) it slows down to a crawl, eventually showing "Something went wrong" and the report says:
java.util.concurrent.TimeoutException: com.android.internal.os.BinderInternal$GcWatcher.finalize() timed out after 10 seconds
	at java.lang.Object.wait(Native Method)
	at java.lang.Object.wait(Object.java:442)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:190)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:211)
	at java.lang.Daemons$FinalizerDaemon.runInternal(Daemons.java:271)
	at java.lang.Daemons$Daemon.run(Daemons.java:137)
	at java.lang.Thread.run(Thread.java:919)

Can you plase share your Android version and phone model?

Moto G7 Power, Android 10. I made a video that shows that the app is almost unresponsive while the rest of the system works fine: https://www.youtube.com/watch?v=3CRER08OoNU

Will try to reproduce this on identical phone model, will have that model closer to the end of next week.

So far was not able to reproduce this on an identical phone model.
Can you check if these issues persist with latest update? Latest update version is v2.0.5-65, can be seen in app settings.

Worked fine for a short while, then crashed with this stack trace:
java.lang.IllegalStateException: Fatal Exception thrown on Scheduler.Worker thread.
	at rx.internal.schedulers.ScheduledAction.run(ScheduledAction.java:59)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:462)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
	at java.lang.Thread.run(Thread.java:919)
Caused by: java.lang.OutOfMemoryError: OutOfMemoryError thrown while trying to throw an exception; no stack trace available

Then after restarting the app it behaved like before, fast at first then rapidly slowing down and crashing. The latest crash message says:
java.lang.OutOfMemoryError: Failed to allocate a 32 byte allocation with 16 free bytes and 16B until OOM, target footprint 100663296, growth limit 100663296
	at scodec.bits.ByteVector$.view(ByteVector.scala:1501)
	at immortan.sqlite.RichCursor$class.byteVec(RichCursor.scala:10)
	at com.btcontract.wallet.sqlite.RichCursorSQLiteAndroid.byteVec(RichCursorSQLiteAndroid.scala:9)
	at immortan.sqlite.SQLiteNetwork$$anonfun$listChannelAnnouncements$1.apply(SQLiteNetwork.scala:64)
	at immortan.sqlite.SQLiteNetwork$$anonfun$listChannelAnnouncements$1.apply(SQLiteNetwork.scala:61)
	at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:234)
	at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:234)
	at scala.collection.Iterator$class.foreach(Iterator.scala:891)
	at com.btcontract.wallet.sqlite.RichCursorSQLiteAndroid$$anon$1.foreach(RichCursorSQLiteAndroid.scala:29)
	at scala.collection.IterableLike$class.foreach(IterableLike.scala:72)
	at com.btcontract.wallet.sqlite.RichCursorSQLiteAndroid.foreach(RichCursorSQLiteAndroid.scala:9)
	at scala.collection.TraversableLike$class.map(TraversableLike.scala:234)
	at com.btcontract.wallet.sqlite.RichCursorSQLiteAndroid.map(RichCursorSQLiteAndroid.scala:9)
	at com.btcontract.wallet.sqlite.RichCursorSQLiteAndroid.iterable(RichCursorSQLiteAndroid.scala:10)
	at immortan.sqlite.SQLiteNetwork.listChannelAnnouncements(SQLiteNetwork.scala:61)
	at immortan.sqlite.SQLiteNetwork.getRoutingData(SQLiteNetwork.scala:88)
	at immortan.PathFinder.doProcess(PathFinder.scala:138)
	at immortan.PathFinder$$anonfun$process$1.apply$mcV$sp(PathFinder.scala:49)
	at immortan.PathFinder$$anonfun$process$1.apply(PathFinder.scala:49)
	at immortan.PathFinder$$anonfun$process$1.apply(PathFinder.scala:49)
	at scala.concurrent.impl.Future$PromiseCompletingRunnable.liftedTree1$1(Future.scala:24)
	at scala.concurrent.impl.Future$PromiseCompletingRunnable.run(Future.scala:24)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
	at java.lang.Thread.run(Thread.java:919)

I have many apps installed and sure some of them leave their services running in the background. But I've never seen Android apps OOMing like that and slowdowns sure look like a case of extreme thrashing (like on desktop Linux).

Well at least this is a progress: an error message has changed and apparently it's something about graph data taking up too much memory, which is more understandable than previous error messages.
So the task seems to be reducing app memory footprint and react appropriately when out-of-memory is looming. I'll keep investigating how to achieve both of these in subsequent updates and we can keep trying if that works if you don't mind?

Sure, no problem. The messages are indeed different, looks like it doesn't always produce a full stack trace depending on how hard it runs out of memory. Thing is, I wasn't doing anything heavy (no transactions or such) before I got this, just opened settings and LN/On-chain properties, scrolled back and forth and so on. Basically the same I did in the video above, it took a little longer for the app to start freezing and crashing.
I expect Android to terminate services and kill other apps if it's low on memory, I wonder why it doesn't happen here. Or does SBW run out of its own heap memory? In that case can it be increased in the manifest or such? I only developed for Android briefly and I don't know if such low level stuff is possible there.

I have no idea yet as this is the first time I encounter something like this, will look into all possible options.
Maybe there's a memory leak of some kind, for example a wallet with a fully loaded graph constantly takes about 137mb of RAM on my phone which is sizeable but not catastrophically large.
I guess the first thing to do is set up a "too much memory is taken" listener and provide a detailed report which for example you can post here, that will be done in next update.

I installed the .apk from the Releases tab and so far it seems to work fine. I'll use the app more and if there are no issues will close this issue in a few days. Thanks!


Cocoon scheduled builders keep failing with fatal: reference is not a tree

One example: https://ci.chromium.org/ui/p/flutter/builders/prod/Linux analyze/7056/overview

I believe this is due to the gob mirror not being caught up to github. We can see the retries kicked in, but the delay was probably not enough in this case.

Currently in retry(), max_attempts = 2. That includes the initial attempt, which doesn't give us the expected delay of > 60s. Sending a fix to increase attempts by 1.

Fix in: https://flutter-review.googlesource.com/c/recipes/+/29602

fixed merged


how to make custom modal for confirm delete action for any entity?

Need custom message in modal when confirm delete

i meant those

Hello, may be you need to view  the method setupDeleteScript() of the class  Encore\Admin\Grid\Displayers\Actions, it probably exist in your path  file:
 _vendor/encore/laravel-admin/src/Grid/Displayers/Actions.php_

so i made it like this
and in controller
FOR FORM
$form->tools(function (Form\Tools $tools) {
$tools->disableDelete();
$tools->append(new DeleteButtonTool());
});
AND FOR SHOW
$show->panel()->tools(function (Show\Tools $tools) {
$tools->disableDelete();
$tools->append(new DeleteButtonTool());
});

also i have custom actions in grid

and in bootstrap i wrote
Encore\Admin\Grid\Column::define('actions', CustomActions::class);

P.S. Script the same in da DeleteButtonTool


This document is out of date

There are several expressions available in the editor that aren't listed here. For example, addToTime() being one.

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

ID: d03bfc0e-6636-8847-8a22-1bf280d26b6e
Version Independent ID: ea462c47-798f-981b-85fd-3771a4a1f5a4
Content: Workflow Definition Language schema - Azure Logic Apps | Microsoft Docs
Content Source: articles/logic-apps/logic-apps-workflow-definition-language.md
Service: logic-apps
GitHub Login: @jeffhollan
Microsoft Alias: LADocs; jehollan

@cparker4486
Thanks for the feedback! We are currently investigating and will update you shortly.

Adding @ecfan as FYI

@cparker4486 @jeffhollan @jason-j-MSFT @SyntaxC4: We can update the expressions during our refactoring work for this article. We already have a work item for the refactoring work, so I can just add this to the list?

@cparker4486 @SyntaxC4 @jason-j-MSFT @mike-urnun-msft @kevinlam1 @jeffhollan
I added updating missing expressions to an existing work item for reworking the Workflow Definition Language content. Unless anyone has objections, I'd like to close this issue. Thanks!
#please-close

@cparker4486 We will now proceed to close this thread. If there are further questions regarding this matter, please reopen it and we will gladly continue the discussion

@cparker4486 Hi, we've updated the functions list in the main schema article and added a new function details reference article:

Workflow Definition Language functions
Workflow Definition Language schema

Thanks again for submitting your feedback!


Implement missing __reduce__ and __reduce_ex__ for several types

Feature
Many existing test cases check that pickle.dumps and pickle.loads of a given type return the exact same value. Almost failed pickle test in RustPython, lack __reduce__ method.

[x] arrayiterator.__reduce__ (test_array::test_iterator_pickle) — #3868
[x] filter.__reduce__ (test_builtin::test_filter_pickle) — #3732
[x] map.__reduce__ (test_builtin::test_map_pickle) — #3734
[x] ImportError.__reduce__ (test_exceptions::test_copy_pickle) — #4973
[x] OSError.__reduce__ — #4191
[x] BaseException.__reduce__ — #3665
[x] method.__reduce__ — #4237
[ ] groupby.__reduce__
[ ] _grouper.__reduce__
[ ] tee.__reduce__
[ ] cycle.__reduce__
[x] dropwhile.__reduce__ — #4201
[x] takewhile.__reduce__ — #4190
[x] islice.__reduce__ — #4390
[x] starmap.__reduce__ — #3988
[x] chain.__reduce__ — #4232
[x] product.__reduce__ #5089
[x] combinations.__reduce__ — #3931, #4272
[ ] combinations_with_replacement.__reduce__
[x] permutations.__reduce__ #5029
[x] accumulate.__reduce__ #4434
[x] compress.__reduce__ — #3791
[x] filterfalse.__reduce__ — #3745
[x] count.__reduce__ — #3737
[x] zip_longest.__reduce__ #4235
[x] NotImplemented.__reduce__ — #3738
[x] types.SimpleNamespace.__reduce__ #4975

These listed elements are almost similar and quite simple to implement.
Please take a look at many PR and existing codes for __reduce__

itertools pickle is going to be deprecated https://github.com/python/cpython/issues/101588

Since all of remaining checklist is about itertools, I am going to close this issue.
Thank you so much everyone who worked on this issue!


Small change in to facilitate extended typed-holes

This change has no functional effect on haddock itself, it just changes one pattern to use _ ( rather than _(, so that we may use _( as a token for extended typed-holes later.
Now based on the correct branch!

Sounds good, thanks for the patch!


[QUESTION] Why don't I see notes from rsslay generated Nostr profiles?

I don't see any notes from rsslay generated Nostr profiles in Primal's Android or Web app.
Steps to reproduce the behavior:

Go to https://rsslay.nostr.moe/
Follow the steps from 'How to use'
Check your feed for notes from rsslay generated Nostr profiles in Primal's Android or Web app

Expected behavior:
Retrieve feeds from rsslay generated Nostr profiles

I never got rsslay to work properly with any client, even after adding wss://rsslay.nostr.moe to relay list. Currently on primal I use https://atomstr.data.haus/ and all my rss feeds work 100% of the time, even finicky YouTube feeds.

I never got rsslay to work properly with any client, even after adding wss://rsslay.nostr.moe to relay list. Currently on primal I use https://atomstr.data.haus/ and all my rss feeds work 100% of the time, even finicky YouTube feeds.

I've used rsslay with Amethyst and Snort. I tried https://atomstr.data.haus/ and it works on every client I can think of testing.


"Smart contract panicked" error message when creating a sponsorship post

Describe the bug
When I try to create a sponsorship post using the neardevgov.near account, I get an error message which prevents me from successfully publishing the post.
To Reproduce
Steps to reproduce the behavior:

Log into the Gigs Board as neardevgov.near
Click Create Sponsorship
Fill out the form using this data:

Labels:
zero knowledge, funding, funding-processing

Title:
Sponsor ZPK/Web3 Hackathon Pillar Level – Berkley

Amount:
40000

Tokens:
USD

Supervisor:
nearmax.near

Description:
The Developer DAO has agreed to support the ZPK / Web 3 Hackathon event as a Pillar sponsor. This event helps advance the Zero Knowledge technology and community.

## About Event
**Website:** https://zk-hacking.org/

**Description:** The ZKP / Web3 Hackathon, hosted by [Berkeley RDI](https://rdi.berkeley.edu) and in partnership with [ZKP MOOC](https://zk-learning.org), aims to bring together all students, researchers, and practitioners to build and showcase their innovative work in ZKP. It is open to the public. The hackathon has 4 general tracks, including zkBridge, ZKP blockchain/web 3 applications, ZPK circuits, and ZKP benchmarking. Each track has a set of designated tasks with corresponding prizes.

**Duration:** March 3, 2023 – May 2, 2023

**Location:** Both virtually and in person at UC Berkeley

## Sponsorship Details
- **Recipient:** [Berkeley RDI](https://rdi.berkeley.edu)
- **Sponsorship Level:** Pillar level at $40k, which includes a sponsored track

Click Submit --> Confirm Transaction --> Approve

See error message

:warning: {"index":0,"kind":{"ExecutionError":"Smart contract panicked: panicked at 'Metadata not found for Account(\n    "neardevgov.near",\n)', src/access_control/members.rs:136:36"}}

Expected behavior
Once I click submit, I should see the sponsored post appear on the feed without an error message.
Screenshots

https://user-images.githubusercontent.com/110252255/230691206-d14142e9-2a70-44fb-a9fe-a76e9d2f37ac.mp4
Desktop (please complete the following information):

OS: OS
Browser Chrome
Version: 112.0.5615.49

This one is actually the same issue as #10 . Because neardevgov.near is not an admin it doesn't have permission to use funding labels. There should be a better error message or best fix #10 - when don't have permission not allow using the label before submission

Hi @ailisp - thanks for clarifying the issue. I can confirm that I was able to successfully complete the post when I excluded the label. We can narrow the scope for this ticket with an enhanced temporary error message solution. I will add more details to #10 and prioritize it. Thanks.

Blocked by near/devgigsboard#18 since cannot update production contract without it

This is fixed in https://github.com/near/devgigsboard/pull/16 but it wasn't deployed to production. Now it's been deployed to production as near/devgigsboard#18 merged. Now appropriate error message is given:


Rich push notification recipe

This works in Chrome, doesn't work in Firefox (https://bugzilla.mozilla.org/show_bug.cgi?id=1222476).

For some reason I'm getting a 404 when the register happens, but it may just be my setup.


using scalar field

Dear Potree developers,
I have a pointcloud that I want to visualize online (with potreeconverter).
The pointcloud has RGB values and another field with a scalar information (namely the difference from the comparison with a scan of the same object in another moment).
How could I make use of this extra field? I mean, I should I save the cloud and which parameters should I use for conversion? The cloud can be saved as PLY or xyz with RGB and Scalar Field information.
Thanks

I have a similar situation. I have xyz scalar1,scalar2,scalar3, ....scalarN. I'd like to import these as attributes but it's not clear how to do this.

same here

I have almost same situation, I have RGB values and a scalar field. I want to provide option to switch between scalar field and RGB.


Generate/Link xpath/csss documentation

This is important, since most of the work in adding a parser consists of xpath/css. We should ease this part of the contribution.

@Weyaaron I would suggest closing this due to the latest documentation updates.

Agree, has been done.


API: Export Daily Emissions Data and Daily Fuel Data

As the ECMPS application, I need to be able to successfully export Emissions Data and Daily Fuel Data from the emissions module in order to support program goals
Given the export endpoint in both emissions modules have been updated when Emissions Data and Daily Fuel Data is exported then the begin_date of the data is within the year and quarter range the user provides
For every emissions record, there can be 0 or more daily emissions records and for each daily emission, there can be 0 or more daily fuel records
Add Daily Emissions Data to the existing export endpoint in the emissions module
This will also include  Daily Fuel Data to the existing export endpoint in the emissions module controller
Implement logic to export Daily Emissions Data and Daily Fuel Data

Adds dailyEmissionData and dailyFuelData to JSON under:
Root -> dailyEmissionData -> dailyFuelData
The data sould take this shape:
{
  "dailyEmissionData": [
    {
      "id": string
      "reportingPeriodId": number
      "monitoringLocationId": string
      "parameterCode": string
      "date": date
      "totalDailyEmissions": number or null,
      "adjustedDailyEmissions": number or null,
      "sorbentRelatedMassEmissions": number or null,
      "userId": string or null
      "addDate": date or null
      "updateDate": date or null
      "unadjustedDailyEmissions": number or null,
      "totalCarbonBurned": number or null,
      "calcTotalDailyEmissions": number or null,
      "calcTotalOpTime": number or null,
      "dailyFuelData": [
        {
          "id": string
          "reportingPeriodId": number
          "monitoringLocationId": string
          "dailyEmissionId": string
          "fuelCode": string
          "dailyFuelFeed": number or null
          "carbonContentUsed": number or null
          "fuelCarbonBurned": number or null
          "calcFuelCarbonBurned": number or null
          "userId": string
          "addDate": date
          "updateDate": date or null
        }
      ]
    }
  ]
}

Sample data for non-workspace endpoint. There is no export data available for workspace. but they share the same logic.
monitor location id, quarter, year:
MDC-5FD7CFF6F24F4B42923F8C757C9360A5,1,2019
MDC-5FD7CFF6F24F4B42923F8C757C9360A5,1,2020
MDC-5FD7CFF6F24F4B42923F8C757C9360A5,1,2021
MDC-5FD7CFF6F24F4B42923F8C757C9360A5,1,2022
MDC-5FD7CFF6F24F4B42923F8C757C9360A5,2,2019
MDC-5FD7CFF6F24F4B42923F8C757C9360A5,2,2020
MDC-5FD7CFF6F24F4B42923F8C757C9360A5,2,2021
MDC-5FD7CFF6F24F4B42923F8C757C9360A5,3,2019
MDC-5FD7CFF6F24F4B42923F8C757C9360A5,3,2020
MDC-5FD7CFF6F24F4B42923F8C757C9360A5,3,2021
MDC-5FD7CFF6F24F4B42923F8C757C9360A5,4,2019
MDC-5FD7CFF6F24F4B42923F8C757C9360A5,4,2020
MDC-5FD7CFF6F24F4B42923F8C757C9360A5,4,2021


Start Button Alignment

Fixed alignment of "START" button is centered irrespective of the CAPTCHA length.
Screenshot:

Could you assign this for me

@Adi-204  Assigned, you can now work on this issue.

This issue is solved already by other peers.
You can now work on other issues.
Thank you!


Nodemcu forgets settings

Not sure whether it's got something to do with ML or not, but whenever my Nodemcu is cut off from power it forgets wifi, pixel...settings. Seems like a kind of reset as I opens an AP and I have to configure everything again. Any ideas?

@piscator83 Looke like McL can't store it's settings in the filesystem. Make sure you use the correct settings for "Flash Size" in the board settings (https://github.com/toblum/McLighting/wiki/Software-installation#setup-the-arduino-ide)

i think its a bug...ive experienced it to...when that happens unplug and replug again...ive set spiffs to  4m (1m spiffs)

problem is when ur hotspot is off and u plug esp..then turn on wifi it connects to mclightning ap..

turn on hotspot first then plug esp...their will be no problem..

@smoochiee thx, that really helped. I would have never come to this conclusion by myself cause I didn't realize that my hotspot was down...(quite common when you move in ;-) )
But will it come back to the hotspot once that happened? Gotta try this.
If not, it feels a bit buggy...

@smoochiee Good point!
@piscator83 Yes, it should come back after some timeout in the captive portal.


Building should exit with 1 on error when running tests.

Might add an EXIT_ON_ERROR env variable or something like that.

Probably the easiest thing to do would be to change process.exitCode to 1 here:
https://github.com/trustedtomato/decharge/blob/dad6ee4b03d67d67bc527e96cb95a0b41e2b8686/packages/decharge/src/cli/utils/render-route.ts#L18-L21
...and here:
https://github.com/trustedtomato/decharge/blob/dad6ee4b03d67d67bc527e96cb95a0b41e2b8686/packages/decharge/src/cli/utils/render-route.ts#L31-L35
...since these are the places where unhandled & unexpected errors are handled.
This will change exitCode for both watch and build scripts. Since watch runs infinitely if uninterrupted, it doesn't really matter what exitCode it has.

Added in 6340e70.


[WIP] Inspection tool to check what numba supports

Run with python -m numba.inspect.inspector <module/package>.
For example:
python -m numba.inspect.inspector numpy

will write to numpy.numba_support.html.

Is it better to put it under numba.help instead of numba.inspect?

I think numba.inspect.inspector sounds convoluted due to the double use of the inspec prefix. numba.help.inspector sounds somewhat better. 🕵

Update:

renamed numba.inspect to numba.help
added tests
add auto-generated docs with the new inspector tool
PR description updated to reflect change.

Thanks for the fixes @sklam, there's a couple of minor comments to resolve and then this is good to merge.
I also noticed that running this tool on scipy produces a convenient list of functions which are just NumPy aliases, an adaptation of this informatin may be useful for numba-scipy.

@sklam this needs conflicts resolved.

CI is now failing for a variety of platforms, failure seems legitimate and related to this PR.


Fix target block on fast sync restart

Could you provide some description? I don't fully understand the problem

Sure @rtkaczyk. When resuming fast sync after app restart we didn't use the same target block as before, instead we were choosing another one (which lead to invalid mpt state download).


Suggestion: sg_update_image to take in an x, y offset to allow partial texture update

I am trying to implement a dynamic texture atlas and I realised that at the moment there doesn't seem to be a way of only updating a certain region of a texture.
Is it as simple as being able to pass (x, y, w, h) into sg_update_image() and have this propagated down to the relevant Metal replaceRegion, GL glTexSubImage2D etc, the assumption being that the data is structured in the same way as the original data (bytes per row etc)?

I have stuff like this planned for a complete overhaul of the resource update functions, but it will be a while until I'll get around to this. There might be some destination-coordinates restrictions in the different 3D APIs which I'm not yet aware of (e.g. I could imagine that updating compressed images only works at block granularity).
But a bigger problem is the restriction of only one update per frame, so you can't simply build a texture from different source rectangle in the same frame, also since dynamic textures are internally double-buffered, partial updates in two follupup frames would actually update different textures.
For a current workaround see sokol_fontstash.h, this keeps a backup "texture" (just a memory blob) in system RAM which is managed and updated by FontStash, and FontStash sets a dirty-flag when the sokol-texture needs be updated, which then copies the whole texture data:
https://github.com/floooh/sokol/blob/896497ad775153ebe1385c9f95d296860ef53714/util/sokol_fontstash.h#L1768-L1779
Eventually I want to create a "proper" set of dynamic resource update functions which allow to copy regions of buffers and textures between cpu- and gpu-memory, and also between gpu resources.

Btw, I just found this in PVRTC texture compression spec:
    5) Is sub-texturing supported?

       Resolution: Only for the reloading of complete
       images. Sub-images are not supportable because the PVRTC
       algorithm uses significant adjacency information, so there is
       no discrete block of texels that can be decoded as a standalone
       sub-unit, and so it follows that no stand alone sub-unit of
       data can be loaded without changing the decoding of surrounding
       texels.

...so at least for compressed texture formats, and at least PVRTC-compressed textures, partial image updates won't be possible.

+1
My use case is exactly the same as the OP. Being able to update parts of a texture without having to hold a copy of the pixels would be great.

I know this is not helpful, but as I'm coding, I've found another situation for partial texture updates.
I'm emulating consoles and computers, and some can change their resolution as needed by the game. I know the maximum width and height, and could allocate a texture that big and update only part of the sub-texture depending on the current resolution.
Right now, I have to always destroy and re-create the texture when the resolution changes.

My own use-case is virtual texturing (not necessarily with sparse textures).
It might be a common enough use-case to warrant a separate extension (as a stop-gap without needing "full-blown" partial updates support --- though such an approach could take advantage of sparse texturing extensions).

Alos +1-ing this — exactly for a font texture atlas use.

a coarse but working snippet:
`
void updateTextureW4K(sg_image simg, int objmetah, const void* data, sg_pixel_format format)
{
_sg_image_t* img = _sg_lookup_image(&_sg.pools, simg.id);
_sg_gl_cache_store_texture_binding(0);
_sg_gl_cache_bind_texture(0, img->gl.target, img->gl.tex[img->cmn.active_slot]);
GLenum gl_img_target = img->gl.target;
glTexSubImage2D(gl_img_target, 0,
	0, 0,
	4096, objmetah,
	_sg_gl_teximage_format(format), _sg_gl_teximage_type(format),
	data);
_sg_gl_cache_restore_texture_binding(0);

}
`

I did some thinking on this, and one way to get this done in a way that's compatible with different APIs would be to introduce explicit sync points into the sokol_gfx API.
Not the best solution, but it would open up other possibilities in the future (e.g. compute shaders). Essentially something like:
sg_sync_point sync;
sg_update_subimage(img, &sync, data);
...
sg_sync(&sync); // or `sg_barrier` or whatever you call it
sg_draw(...);

(in things like OpenGL [ES], where glTexSubImage{2D,...} are auto-synced, sg_sync is simply a no-op … it would be nice to be able to make a small buffer write dependent upon another sync point, exactly for the purpose of virtual texturing, though)
I'd argue it'd fit a "sokol_gfx V2" more than the existing API, though; for one, it's a lower-level concept, and a completely new object/API concept. Arguably also not 100% in line with Sokol's philosophy (there's a reason as to why sokol_gfx does ring buffers for you, after all), but.
The alternative to explicit syncing is to simply do this internally, at the cost of stalls whenever you do a draw that reads from the same texture; an acceptable cost in many cases, but it causes problems for some use-cases[^1]. It would be closer to sokol's current APIs though.
[^1]: Basically wherever you might want to keep rendering despite parts of the texture not being updated yet — a typical case would be virtual textures, but also possibly font atlases, if you accept that some characters might be invisible for a few frames.


Loading Web Worker from string in Webpack

Bug report

What is the current behavior?
On runtime, my app will create a web worker from some string code (not from file), using Blob, but because of the webpack bundling, there are unreferenced variables inside the web worker's code. The variables are declared by webpack at top of the bundle, but not included in the web worker's code itself.
If the current behavior is a bug, please provide the steps to reproduce.
This is the code of the web worker creation.
function inlineWorker(src) {
  let blob = new Blob([src], { type: 'application/javascript' });
  let url = URL.createObjectURL(blob);
  let worker = new Worker(url);
  URL.revokeObjectURL(url);
  return worker;
}

What is the expected behavior?
I saw projects where same code works. This code is from an external npm library.
I am using Angular with custom-webpack.config.js
I saw some react+next projects where same library is used and they work fine.
Not sure if the code is actually the problem. The important part is that there are some global variables referenced inside some functions after the build but they don't exist in the code of the working apps I saw. Let me show you:
This is my error code:
(_xc is not defined - _xc is declared outside the web worker by the bundler and on runtime ofc it is not included in the web worker, therefore is undefined)

And this is the same source code but from a react app

The difference is big. Any help would be great! I don't know how to debug this issue. Thanks!

Other relevant information:
webpack version:  5.88.2
Node.js version: 18.12.1
Operating System: MacOS

@directcuteo Sorry for delay, still valid?

Hello! Yes. Apparently this is not happening in a non angular, but Webpack based javascript project. So I would assume there is a lack of compatibility with Angular.

@directcuteo Did you create the problem in angular cli?

Yes! The response is that because Angular doesn't support from the default configuration the top level await feature(you can add it manually), then this is not an issue on their side, but rather on this library side. 😐


oops, I think I broke the "service" option

with commit https://github.com/AmirGoldental/MatlabRedisCluster/commit/1501decf211e2ff18e11e9fde69445680891f1a9
can we solve this nicely?

You can change title of cmd with title command, no need for starting a new process via start

What the commit tried to fix was to close the .bat window when the server is stopped using
mrc.redis_cmd('SHUTDOWN NOSAVE')


Added support for customizable context segment

I noticed that the context segment lacks support for customization. It uses "%n@%m", which is username@machine. Machine is usually not including the FQDN, so when I have several machines which are named www1 but have other FQDNs (like www1.foo.example.org and www1.bar.example.org) I don't have a clue if I'm on the correct machine.
This patch allows the user to change the context template to their desires. I included the new option in the README file and gave an example on how to print the full hostname.

I wrote an enhancement for this segment a couple weeks ago and it's in next, but mine only allowed you to adjust the host depth, this is a good idea =]

@felicitus - This is a great enhancement! Thanks so much for contributing it back to the project!
I need to pull this in on the next branch rather than master. I tried to do it real quickly just now, but there is unfortunately a conflict. If you have the time today, would you mind rebasing your change onto master? If you don't have time, I'll be able to do it before Monday =)

@felicitus @rjorgenson - Okay, I got this merged into a branch based on next. There were some conflicts with not only @rjorgenson's previous change that he mentioned, but with the SSH detection that I recently merged from @shibumi.
Can both of you give the branh merging-fel a shot and let me know if it works as expected for you? It appears good for me.
https://github.com/bhilburn/powerlevel9k/tree/merging-fel

@bhilburn Just tested that branch and the custom context template works for me =]

Fantastic! Thanks for the quick review, @rjorgenson!
@felicitus - Thanks for the great contribution! I especially appreciate you taking the time to update the documentation along with your code change. Great work.

Changes merged into next!


Mquezada/spin up for CLSVOF and interfacing CLSVOF with RANS2P

This PR is meant to:

Enable a spin up step for CLSVOF. The spin up step is a L2 projection. When we use high-order spaces we need to use Bernstein polynomials to assure a non-singular lumped projection during the reconstruction of the target for the penalization. In this situation we need to be careful how the initial condition is represented into the space. This is true since the Bernstein polynomials are not interpolatory. To avoid loosing accuracy during this step we can do a L2 projection.

Provide the interface between CLSVOF and RANS2P. This comes with an automated test.

I also put some code to do the normal reconstruction via a consistent L2 projection (instead of lumping the mass matrix). This is not a good idea unless some extra treatment is done to avoid non-physical oscillations near the peaks. The code comes with an FCT step that uses global bounds to guarantee the reconstruction is between -1 and 1. The code works in serial but for the moment this part is disabled (it can't be reached) until we do more research about it.

@cekees I think this PR is ready. The air-water-vv tests are taking way too long. Maybe it would be good to consider lighter versions of them when testing.


SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder"

L.S.,
When I try to connect to Cassadra I get the above message.
Clojure version: 1.6.0
Cassandra 2+
Dependencies in Project.clj file:
:dependencies [[org.clojure/clojure "1.6.0"] [clojurewerkz/cassaforte "2.0.0"]])
What goes wrong??
BTW the same error when I try to connect via 'Alia'.
Cheers Johan Tuit,
The Hague
Lower Countries

You have one of the SLF4J jars missing from your dependencies.


Add a calendar color legend or prefixes for calendar entries

I have quite a few calendars configured and often cannot remember which color relates to which calendar. Therefore, some kind of legend for the colors, or prefixing of entries with their calendar would be really helpful. probably the easiest solution could be to use the colors in the printcalendars command. However, I would better like to see the legend in parallel to the normal calendar and agenda views.

Good idea. Could you perhaps do a mockup how you imagine that to look?

I think using multiple approaches would be good:

Colors in printcalendars. That should be easy to implement.

Adding an option to display the calendar with each entry. Something like this could work:
10:00-12:00: Foo bar (calendar_1) ⟳
12:30-13:00: Group Socializing (calendar_bla) ⟳
14:00-16:00: Talk XYZ (blubb)

Option to display a legend along with the calendars. I'd propose to just display the colored calendar names with Legend: as a title. Either below the calendar widget on the left or below the event list.

the prefixing of calendars can be done with list and --format, (which I hope we replacing all listing/event viewing with)

@youngmoney so this is already implemented now? Can you show an example how to use that?

it is available in master
I simple example is: khal list --format "{start} {end} {title} ({calendar})"
or if you want to only do prefixes you can use any form of python string tempting so:
khal list --format "{start} {end} {title} ({calendar:.4})" shows only the first 4 characters of the calendar
right now the list command does not use calendar names correctly (no display names) but this could be added in future, there is also the option to use the calendar color using {calendar-color} which will be coming later as well

Ok, but that doesn't help for ikhal?

The hope is that the internals of list will get moved into ikhal as well, I am currently working on getting those internals into all of the other commands and will look into ikhal later

On Jun 6, 2016, at 1:59 AM, Johannes Wienke<EMAIL_ADDRESS>wrote:
Ok, but that doesn't help for ikhal?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

can now be done with ikhal as well.


[Question] Implementing into MVC

I have an existing MVC app; the only bundling it uses is the Bundler & Minifier extension in VS2019.... so the whole rush thing is new to me anyway. I thought it was like gulp... but apparently there also commands to run a iis express instance.. ok.
I was able to successfully run the StaticHtmlComposite page in Node.js (which btw I'm not the biggest fan of since I work almost exclusively out of visual studio)
I installed the communication-react package from NPM.
I copied the packages that from the Node project for Calling only:

I have the callComposite.js file from the StaticHtmlComposites sample linked to my view also and I get

and the view looks like
`
< div id="video-call" style="height: 750px"></ div>

@section Scripts
{

}`
and it looks like the callComposite is breaking here

Probably I've got to build react at some point in my build process? I have no experience with that... I have nothing against React (unlike some in the community) I just have no experience with it. I'm not looking to add any skills to my portfolio haha, I'm passed that stage.
Man I'm frustrated. I get this is a client to client package, and I'm okay with JS SDKs but... it's not turn-key  enough for the likes of me. I just want to put the components on the view and theme them with my own css styles... lazy I know, but you guys made me that way :P with your awesome SDKs.
A little help please. I don't want to give up... but I'm close.

Unfortunately we do not have a hosting story regarding composite use outside of the npm package, that is something we are working on but won't be ready for some time.
Currently, to run the composites outside of react its a two steps process:

Build the static html composites from this repo - this generates two bundled js files:.\samples\StaticHtmlComposites\dist\chatComposite.js
.\samples\StaticHtmlComposites\dist\callComposite.js

Copy and paste one or both of those files (depending on if you want the calling composite, chat composite or both) to your local project

Ideally you wouldn't need to do step 1 and the files could be obtained through npm or similar.
@PorterNan as you're making some changes in this area can you help out here?
We also just updated our documentation (https://github.com/Azure/communication-ui-library/pull/539) on this very recently so feedback in this area on confusions is great

ok so I have that

.\samples\StaticHtmlComposites\dist\callComposite.js

Are you saying I should replace the other callComposite.js file with this one?

Hey, thanks for the question, so first thing first, if you look at the updated document, you might need to run rush install and rush build before you grab your js bundle, there is a strange error for now, that even you don't install these dependencies, js files will be generated but without those dependencies and no error was shown
Please check your js bundle file size, it should be ~1MB for chat

Holy crap I got it working.
Step 1) do the rush build thing.
Step 2) pull the new callComposite.js to project (i added it to js folder in wwwroot)
Step 3) I built a web api TokenController that looks almost exactly like the controller in the C# Calling Hero Sample out of the Calling.csproj/Controllers/UserTokenController
Step 4) Built a public MVC controller so that a link can be generated link to an active conversation may be shared and joined into  (i pass the groupId in through HTTPGET routing and username is automatically generated (or passed in)
Interestingly THAT view is really basic
`@model ACSCommUILib.Controllers.PublicCallingViewModel
@{
ViewData["Title"] = "Public Access Test";
}

@section Scripts
{

Thanks for the feedback, especially for the overridable string one! We do have the plan to make all these strings overridable (mainly for i18n purpose), please keep eyes on our new releases in next a few months 😉


How do I replace github's token login

Settings-sync plug-in USES github token for login and gisit for storage.
However, I want to log in the token of my blog system account developed by myself, and use cloud storage to synchronize relevant code segments and Settings. In short, I'm replacing github's token login with my own blogging system.

You need to clone the repo.
Write your own service like github service
https://github.com/shanalikhan/code-settings-sync/blob/master/src/service/githubService.ts
In order to implements yours.

Thank you!
By the way, your plug-in is packaged with webpack, but I use webpack to package, why is the error report display not available?
My process is as follows:
"Scripts" : {
"Vscode :prepublish":" NPM run tslint-check && webpack --mode production",
"Compile" : "webpack",
"Watch ": "webpack --mode development --watch",
"Postinstall" : "node. / node_modules/vscode/bin/install",
"Tslint - check", "tslint - c. / tslint. Json. / SRC / / *. * * ts. / SRC / * ts".
"Format" : "prettier - write '. / SRC / / * * *. Ts'".
"Test", "NPM run tslint - check && TSC - p. / && mocha -- recursive ".. / out/test / * * / *. Js \ ""
}
Mainly refer to webpack.config.js
But they always report an error.
If possible, please send your packaging process command for my reference.

Common.ts, where this code is shown below:
If (askToken) {
If (cusSettings. OpenTokenLink) {
// replace the github token here with my own
Vscode.com mands. ExecuteCommand (
"Vscode. Open",
Vscode. Uri. Parse (" https://github.com/settings/tokens ")
);
}
If I rewrite githubService, I major changes should be the https://github.com/settings/tokens
After changing it to a token generated by my own business url. This means that I don't intend to use gist, but my own cloud storage. Is it mainly to modify githubService? Still?

If possible, please send your packaging process command for my reference.

you need to run vsce package in order to create the extension package. If you are getting error try running compile command and other commands to see the errors.

Is it mainly to modify githubService?

Yes see the create gist and save gist functions in the githubservice that uploads and create gist.
As you are working on order to create yours token generation and upload and download.
I will suggest you to work in a way that Settings Sync will also get improved from your way as I'm also looking to decouple the github and integrate more options like generating simple json file and store in local drive instead of uploading.
You need to create interface and implement that interface in two classes githubService and your cloud storage.
In this way you can send me a PR of improved githubservice with interface implements and you can use your own cloud implementation with custom build, it will help the other users to write the implementation to use git instead of gist and filesystem.
I hope you understand, let me know i am available to help.

For your first question:
My packaging process is as follows:
npm run vscode: prepublish
npm run the compile
npm run watch
npm run postinstall
npm run tslint - check
npm run format
The main reference is the script in your package.json.
For your second question:
Thank you very much for your detailed answer.
By the way, by the way, I have read your githubService code, which is mainly related to github rest API.
After your answer and my thinking, I have so many ideas at present?
First, the idea that you put forward;
Second, I think you now that is a lot rest API, I try to build a mock server, by making a rest API, equivalent to a request to the server address to replace for my server address (my server address, in this equivalent to making server), and making a rest API request to this address, in order to achieve the use of my blog to achieve replacement, mainly I want to reuse your code to the greatest extent, reduce the writing your own.
Of course, in addition to the tests I have done, I would like to propose a simple requirement to you:
Github token login and gist storage mainly adopted in Setings-Sync, for example, will result in token failure when I replace it with gitlab. I think it is because there is not a gist store in the token generated by gitlab.
Gitlab mainly USES ruby on rails as its web framework, while gist is adopted for storage.
Requirements: if github is unstable or is aborted, should appropriate forms of Setings-Sync not be available?
Therefore, I think you'd better use setting-sync in more ways, such as using other accounts, such as facebook, twitter, etc., or customizing your system account. If it is your account, you can use No Sql database for storage. I think it's better this way. Currently, github, such as wiki or other related resources, is free, and there is no guarantee that it will be.
All in all, I think you should add your own account from settings-sync to make it easier to collect and analyze data.
These are some of my personal thoughts.

I put the source code directly into the extension folder in vscode, which is generally for plug-ins.
But after I put it in, why did the display need to be reloaded when I searched the plug-in market?
When I click reload, it is equivalent to downloading under the current extension folder. Do you have to package the plug-in so it doesn't reload? Still?

Actually instead of supporting GitLab, and other tools.
there is already issue opened that intends to support the Settings Sync with simple git repository, its the user choice on pushing the complete repository on github, gitlab or any other git services - That issue is paid one, If you are willing to work, feel free to start working on that one. Payment will be made once it completes.
See : https://github.com/shanalikhan/code-settings-sync/issues/413

But after I put it in, why did the display need to be reloaded when I searched the plug-in market?

I dont understand, can you explain further.


DataError with hvplot.scatter plots of GeoDataFrames

ALL software version info
(this library, plus any other relevant software, e.g. bokeh, python, notebook, OS, browser, etc)
python=3.7
holoviews=1.13.2
geoviews=1.8.1
hvplot=0.6.0
geopandas=0.7.0
Description of expected behavior and the observed behavior
Trying to plot non-map-view scatter plots on geopandas geodataframes currently leads to a DataError. I thought maybe adding the geo=False keyword might be a workaround, but the error keeps coming up. Seems like a bug - looking for geometry isn't necessary for many plots.
Complete, minimal, self-contained example code that reproduces the issue
import geopandas as gpd
import hvplot.pandas
import numpy as np

gf = gpd.read_file(gpd.datasets.get_path('naturalearth_cities'))
gf['distance'] = np.arange(len(gf))
gf['some_metric'] = np.random.randint(1,10,size=len(gf))
gf.hvplot.scatter(x='distance', y='some_metric')

Stack traceback and/or browser JavaScript console output
---------------------------------------------------------------------------
DataError                                 Traceback (most recent call last)
<ipython-input-11-28f5e1a0c31d> in <module>
      1 gf['distance'] = np.arange(len(gf))
      2 gf['some_metric'] = np.random.randint(1,10,size=len(gf))
----> 3 gf.hvplot.scatter(x='distance', y='some_metric')

/srv/conda/envs/notebook/lib/python3.7/site-packages/hvplot/plotting/core.py in scatter(self, x, y, **kwds)
    189             The HoloViews representation of the plot.
    190         """
--> 191         return self(x, y, kind='scatter', **kwds)
    192
    193     def area(self, x=None, y=None, y2=None, stacked=True, **kwds):

/srv/conda/envs/notebook/lib/python3.7/site-packages/hvplot/plotting/core.py in __call__(self, x, y, kind, **kwds)
     70                 return pn.panel(plot, **panel_dict)
     71
---> 72         return self._get_converter(x, y, kind, **kwds)(kind, x, y)
     73
     74     def _get_converter(self, x=None, y=None, kind=None, **kwds):

/srv/conda/envs/notebook/lib/python3.7/site-packages/hvplot/converter.py in __call__(self, kind, x, y)
   1022                     dataset = Dataset(data)
   1023                     dataset = dataset.redim(**self._redim)
-> 1024                 obj = method(x, y)
   1025                 obj._dataset = dataset
   1026

/srv/conda/envs/notebook/lib/python3.7/site-packages/hvplot/converter.py in scatter(self, x, y, data)
   1331
   1332     def scatter(self, x=None, y=None, data=None):
-> 1333         return self.chart(Scatter, x, y, data)
   1334
   1335     def area(self, x=None, y=None, data=None):

/srv/conda/envs/notebook/lib/python3.7/site-packages/hvplot/converter.py in chart(self, element, x, y, data)
   1301         data, x, y = self._process_chart_args(data, x, y)
   1302         if x and y and not isinstance(y, (list, tuple)):
-> 1303             return self.single_chart(element, x, y, data)
   1304         elif x and y and len(y) == 1:
   1305             return self.single_chart(element, x, y[0], data)

/srv/conda/envs/notebook/lib/python3.7/site-packages/hvplot/converter.py in single_chart(self, element, x, y, data)
   1228             chart = chart.layout() if self.subplots else chart.overlay(sort=False)
   1229         else:
-> 1230             chart = element(data, kdims, vdims).relabel(**self._relabel)
   1231         return chart.redim(**self._redim).opts(opts)
   1232

/srv/conda/envs/notebook/lib/python3.7/site-packages/holoviews/core/data/__init__.py in __init__(self, data, kdims, vdims, **kwargs)
    340         (data, self.interface, dims, extra_kws) = initialized
    341         super(Dataset, self).__init__(data, **dict(kwargs, **dict(dims, **extra_kws)))
--> 342         self.interface.validate(self, validate_vdims)
    343
    344         self.redim = Redim(self, mode='dataset')

/srv/conda/envs/notebook/lib/python3.7/site-packages/geoviews/data/geopandas.py in validate(cls, dataset, vdims)
    112                             'coordinates but %d dimensions were found '
    113                             'which did not refer to any columns.'
--> 114                             % (type(dataset).__name__, len(geom_dims)), cls)
    115         not_found = [d.name for d in dataset.dimensions(dim_types)
    116                      if d not in geom_dims and d.name not in dataset.data]

DataError: Expected Scatter instance to declare two key dimensions corresponding to the geometry coordinates but 0 dimensions were found which did not refer to any columns.

GeoPandasInterface expects a list of tabular data, for more information on supported datatypes see http://holoviews.org/user_guide/Tabular_Datasets.html

Thanks, look like bugs in GeoViews so I'll move it over there.


Just ran the installation command on the latest Windows and got the blue screen of death

Yes, you are right

Em ... I think there're some mis-configured properties or settings on your device, and they caused the fetal error instead of the project.
I cloned this repository via Git and successfully deployed to my Windows 10. After deployment, the console return this without any exceptions or errors:

Maybe reinstall your Windows and redeploy this project again?


Dev

Codecov Report

Merging #5 (f127736) into master (4950f30) will decrease coverage by 0.00%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master       #5      +/-   ##
==========================================
- Coverage   99.20%   99.20%   -0.01%
==========================================
  Files           3        3
  Lines         252      251       -1
==========================================
- Hits          250      249       -1
  Misses          2        2

Flag
Coverage Δ

unittests
99.20% <100.00%> (-0.01%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

crontools/__about__.py
100.00% <100.00%> (ø)

crontools/crontab.py
99.16% <100.00%> (-0.01%)
:arrow_down:

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 4950f30...f127736. Read the comment docs.


Promote to @hyperapp/debug

@mrozbarry Let's brainstorm together what steps we need to take to promote this package to the main org.
Here are some ideas:

Don't use a default export, instead export a function debug.
Don't use: ~window['hyperapp-debug']~, instead use window.withDebug function.
Add more information to usage, consider adding a screenshot, let's be creative.

Not a problem.
Looks easily handled via webpack#output.libraryExport along with some minor source changes from #1.
Absolutely. I'm working with a design friend to think through a smarter way to layout the debugger. Once I have that, I'll add some gifs.


vala: 0.56.14 -> 0.56.16

Changes: https://gitlab.gnome.org/GNOME/vala/-/blob/0.56.16/NEWS
Description of changes

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

This is already in #291339. gobject-introspection is only needed with 0.56, so it probably shouldn't be included unconditionally, not that this would avoid many rebuilds now.

From the Pantheon side:

There are FTBFS with this bump (as usual) :upside_down_face:
This includes a fix for vala#1527 which is required for us to bump future Gala, but thankfully we don't need to rush (elementary is really under development cycle right now).


add timestamp for each line in the logs

requested by @demeo in telegram group to add timestamp for each line in the logs

added in version 1.0.0


Feature Request: Add a command to purge one of the branch of a mergerfs pool

Assume there's one of these situation:

You want to move a disk with a mergerfs branch on it to another machine, without breaking the pool
A disk with a mergerfs branch on it reports a SMART error, thus is going to be replaced as soon as possible
Or you just want tot shrink the size of the pool

Then we need to purge all files from the affected branches. I suggest a tool like:
usage: mergerfs.purge[<options>] <branch>...

This tool dup all files on the specified branches to other branches and then,
if specified with -e, delete the original files.

positional arguments:
  branch                    branch to purge

optional arguments:
  -A, --allocate      Try to allocate space before copying files. Aborts
                      if there's no enough space to perform the action.
  -C, --conflicts=    Specify which file to keep if a file with same path
                      and different hash is on target branch. (default: lost)
                      * source   : file from the source
                      * dest     : file on the dest
                      * newer    : file with larger mtime
                      * older    : file with smaller mtime
                      * smaller  : file with smaller size
                      * larger   : file with larger size
                      * mergerfs : file chosen by mergerfs' getattr
                      * lost     : put file from the source to lost+found
                      * ask      : prompt user to make a choice
  -f --force          Force reading unreadable files and put fragments in
                      lost+found.
  -F, include-frags   Include lost+found on the source branch.
  -e, --execute       Execute `rm` commands as well as print them.
  -u, --umount        Unmount path to the source branch if it is a mount
                      point.
  -h, --help          Print this help.

P.S.: There's a PR(#105 ) doing similiar thing, but is revoked.

I don't believe such a tool is a good idea. Particularly for point 2.
Bad drives need to be handled carefully. You should not be doing anything with the device more than necessary. You should remove files from it before you are finished copying data for instance. You should remove it from the pool first so there aren't unnecessary reads or writes occurring. You should mount it read only to ensure no writes. All of which are in inherent conflict with the idea of keeping the pool whole while the process is going on.
And if you want to remove a healthy device it is trivial. Create a new temporary pool and don't include the source branch. Then rsync like normal. At most... such a tool would simply automate the creation of the temp pool and kick off an rsync. But even then you might want to set the branch RO or filesystem ro so as to not write new data and you really shouldn't remove anything before it is done copying just in case there is some incident. And at the end if you want it cleared it is faster to just format it.
Given the level of nuance having an app wrap it without that nuance is risky.

And if you want to remove a healthy device it is trivial. Create a new temporary pool and don't include the source branch. Then rsync like normal. At most... such a tool would simply automate the creation of the temp pool and kick off an rsync. But even then you might want to set the branch RO or filesystem ro so as to not write new data and you really shouldn't remove anything before it is done copying just in case there is some incident. And at the end if you want it cleared it is faster to just format it.

We may let the tool handle more... Firstly remount the underlying FS ro as root (or make the branch ro if the FS is not able to be remounted ro); then dup all files; then remount the pool to drop the source branch; finally, if necessary, format the drive (or remount rw and delete files if is not a mountpoint)
BTW, why making temporary pool? I think it can be done by dupping all files on the branch if no identical files found on other branches, while making it ro. Just like mergerfs.dup --prune but always remove from that specific branch.

BTW, why making temporary pool?

Because people like to control how the files get created and it would be silly to replicate all of mergerfs' behaviors in a tool when you can simply use mergerfs to manage placement like it is designed to do.

Remounting the filesystem live will almost certainly lead to problems if in active use. You'd need to set the branch RO and then wait for all new writes to stop by constantly scanning the filesystem for open files and then hope no new out of band calls come in and then you can safely'ish remount as read only.


zim: 0.75.1 -> 0.75.2

Description of changes

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

Could you please add a mainProgram to the meta? That would be very helpful too. From there, LGTM.
mainProgram = "zim";

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

2 packages built:

zim
zim.dist

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

2 packages built:

zim
zim.dist


Fusion-cli support for HTTP2

fusion-cli does not support http2
Type of issue
Feature Request
Description
Inside the server-entry.js we are not using http2.  I would like fusion-core to support http2
Your environment

fusion-cli version: 1.18.0-alpha.2

Can you explain your use case? Assuming this is for a project at Uber, the conversation would relate to our private infrastructure. We can chat internally if you prefer.

HTTP/2 clients usually require TLS which should be terminated at the edge. In a typical scenario, a Fusion app will be deployed behind nginx, which will handle serving HTTP/2. So in general, HTTP/2 is outside the scope of Fusion itself.

Can you explain your use case?
I'm interested in the the performance between a Fusion App Server and Nginx Web Server when using HTTP/1.1 over HTTP/2.
Assuming this is for a project at Uber
Yeah it is.

So in general, HTTP/2 is outside the scope of Fusion itself.
Yeah I understand that HTTP/2 from nginx to client is the best bang for your buck. However, I'm also interested to see the difference (if any) between nginx and fusion app server, when communicating via HTTP/2. For example,  if Nginx and the application are not on the same host, it's possible that usage of HTTP/2 would be more efficient thanks to its improved pipelining of requests/responses. Otherwise, I have a hunch (but have not tested) that HTTP/1.1 would be more efficient, due to the complexity of HTTP/2 and that the libraries for HTTP/2, in Node.js, haven't had the years of rigorous optimizing yet.

To both of you, thanks for being on top of this odd request.

I don't think we'll add support for HTTP/2 in Fusion itself due to the reasons outlined above, but if you're interested in benchmarking, I think you could probably find out what you're looking for by forking fusion-cli and editing entries/server-entry.js to use http2 instead of http, and passing appropriate certs.
For what it's worth, I read some recommendations from Google a while back saying that HTTP/2 push performance can be tricky, yielding entirely opposite levels of performance depending on how congested the network is.

Makes sense! Let's just close this out


Pull the modified Style.css

Pull the modified Style.css

Pull the modified Style.css and merged successfully.


OpenSwap Governance add

Hi! What is your PR about?

[x] Add images for your space
[ ] Add custom domain for your space
[ ] Add alias for migrate your space
[x] Add or edit a skin
~Edit your space with GitHub?~ (deprecated) Please migrate your space to ENS https://docs.snapshot.page/spaces/migrate
~Create your space with GitHub~ (deprecated) Create your space with ENS instead https://docs.snapshot.page/spaces/create

Link to exchange : https://mainnet.app.openswap.one


BTLx_Flip_Beam

Hey ananya
this adds a function togenerate multiple BTLx's for a single beam in case we need to do a flip. it always puts the processing at the start of the beam in the second file so that we have a good reference for placing the beam on the mill. Not sure if it's still useful...
What type of change is this?

[ ] Bug fix in a backwards-compatible manner.
[ ] New feature in a backwards-compatible manner.
[ ] Breaking change: bug fix or new feature that involve incompatible API changes.
[ ] Other (e.g. doc update, configuration, etc)

Checklist
Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code.

[ ] I added a line to the CHANGELOG.md file in the Unreleased section under the most fitting heading (e.g. Added, Changed, Removed).
[ ] I ran all tests on my computer and it's all green (i.e. invoke test).
[ ] I ran lint on my computer and there are no errors (i.e. invoke lint).
[ ] I added new functions/classes and made them available on a second-level import, e.g. compas_timber.datastructures.Beam.
[ ] I have added tests that prove my fix is effective or that my feature works.
[ ] I have added necessary documentation (if appropriate)

oops this was supposed to go to MAS fork


License

Do you have a license in mind for this flake? It'd probably be best to give it one!

Thanks for mentioning it. I have now added an MIT license in v0.0.3.

Thank you! :purple_heart:


net: context: Clarify the callback API documentation

Document clearly how and in what context, the various callbacks
in net_context API are being called.
Jira: ZEP-2352
Signed-off-by: Jukka Rissanen<EMAIL_ADDRESS>

suggested edits

Thanks David. Fixed version uploaded.

@dbkinder Ping, are you ok with the changes?


安装错误，显示无法连接网络

http://ph7.niyuanit.com

Make sure there is no firewall that blocks external websites. pH7CMS checks if it can reach one of the following domains google.com, facebook.com, twitter.com, yahoo.com or bing.com in order to know if it has internet.
pH7CMS needs internet since it uses JS, ... libraries located on remote CDN servers, etc.


Hitting recently introduced compilation error

I updated diligent tools in my submodules recently and hit a new error that I didn't have before.

Linux, g++ (GCC) 11.2.1 20210728 (Red Hat 11.2.1-1). Apparenlty not officially supported but ha been working for us for a while.
Using cmake 3.20.5
DiligentCore, DiligentFx and DiligentTools are all at the head of the master branch
The error:
DiligentTools/RenderStatePackager/src/main.cpp:30:10: fatal error: args.hxx: No such file or directory

There seems to be no such file in the repo (find returns nothing) so it's hard to know how to troubleshoot the issue on my end.
I don't use RenderStatePackager in my projects however so this isn't blocking, it just means the cmake always fails on this project.
I hope this issue is helpful.

You need to update submodules - the missing file is in the new submodule that has been added recently


build fails

Hello!
It looks like  xcode9.3 does not building the pod, because of this piece of code: (WKJavaScriptController, line 288)
     let imp = method_getImplementation(method)
     if imp == nil { // Always false...?
         return
     }

method_getImplementation does not accept optional.

Hi, @alyona-bachurina.
Try again with WKJavaScriptController 1.1.9.


is it possible to make a gradient color picker?

is it possible to make a gradient color picker?
tks.

add:


Add references to sphere model ensemble PDB files for nup84, exosome and mediator

The ihm_ensemble_info table now has an ensemble_file_id field to reference the ensemble sphere files.  These are in the nup84 example as multimodel PDB files (not sure about mediator and exosome).  Should include reference to these ensemble files in the example data.

There's no single file containing each ensemble for mediator and exosome (in each case the ensemble is a directory containing a ton of PDB and RMF files - e.g. the first cluster for mediator is here). So I can't easily link out to them unless we can use a directory name or wildcards in external files (I don't think we can, but @brindakv can clarify) or I manually make a separate .zip file for each ensemble (as per #25).

As defined currently, we cannot use directory names or wildcards in the ihm_external_files category.

I think we should try to provide a reasonable example of how to handle the ensemble sphere models.  Here is my best idea of what would be reasonable.  The ensemble models should be in individual files (e.g. PDB) in a directory, preferably with an padded integer file suffix so their order can be preserved when viewed in ChimeraX.  Since the ensembles are what makes our example DOI archives very large and slow to download, it is probably best if the ensembles are a separate DOI zip file.  Since more than one ensemble can be provided I think they could reasonably put into a single archive in separate subdirectories.  To refer to a specific ensemble in the ihm_external_files could give the file_path as the directory containing the ensemble which holds the individual model files.  Ideally ensembles (cluster 1 or cluster 2) could each be fetched separately.  That is a bigger issue #25 that in general the IHM associated files should be fetchable individually rather than requiring downloading a zip file containing many files that are possibly not of interest.  As a first step putting all ensembles in one zip archive solves a lot of the problem.  Currently the nup84 DOI archive contains a two *.tar.gz ensemble files, one for each of the 2 clusters, and the *.tar.gz contains exactly one multimodel PDB file.  This is just weird — not clear why the authors did not simply use a *.pdb.gz.  The tar file contains no directories.  So the current nup84 ensembles do not fit what I am proposing.   But probably multi-model PDB files should be acceptable, so I think it reasonable to also allow the separate DOI for the ensembles to have cluster1.pdb which is a multimodel file and that file can be referenced in ihm_external_files.
The above ideas of course require creating newl nup84, mediator and exosome archives.  I think part of developing the IHM format is to produce examples with a reasonable organization.  Since our examples are from old projects I think it is unavoidable that the data has to be reorganized to some extent.

The nup84 clus.1.pdb.gz DOI archive file has two problems preventing it from being correctly parsed.  First it has ENDMOL records which should be ENDMDL.  Second the MODEL records have a serial number "MODEL   1", but every model in the above file is called 1.  The serial numbers should increment.


Mobs on Crates Disappearing

I created an airship and captured some cows, pigs and sheep and placed them on crates in the ship. I then flew to a new destination, landed and went to lead the animals out but they were no longer on the crates - as if they had de-spawned. Is this a known issue?

What do you mean by mobs on crate?

Mobs are "living, moving game entities." In my case they were peaceful mobs (like cows) that weren't staying on the crate as the craft moved.

I got the mobs, it's the crate part that I miss ;)


Issue 197 - Undefined error message when calling ServiceError#message

The conditional in ServiceError#message was failing with undefined method when calling .present? on Net::HTTPResponse instances:
    def message
      if @response.present?
        "#{@msg}:\nResponse<EMAIL_ADDRESS>      else
        @msg
      end
    end

Changed the check for presence to a .respond_to? and added a spec for the ErrorHandler class.
    def message
      if @response.respond_to? :body
        "#{@msg}:\nResponse<EMAIL_ADDRESS>      else
        @msg
      end
    end

Coverage remained the same at 100.0% when pulling 0aa4cdc10d0121c0510c59611b3322d241a3564d on dradford:issue/197-undefined-method-error into d0797e010cb1a26dc0590b28cad630e7e4b07c56 on hipchat:master.

Coverage remained the same at 100.0% when pulling 0aa4cdc10d0121c0510c59611b3322d241a3564d on dradford:issue/197-undefined-method-error into d0797e010cb1a26dc0590b28cad630e7e4b07c56 on hipchat:master.

Thanks!


fix: open settings links

Resolve open links on settings screen links
Resolves: #461

You forget to comment out: 'UX Design & Crafted with.. "
As mentioned in Issue

You forget to comment out: 'UX Design & Crafted with.. " As mentioned in Issue

Noted, should just comment out the code that opens the link or comment out affecting the UI (remove the text)?

Comment out the Whole line of 'UX Design ...'

@AbdullahAhmedSoomro done

@AbdullahAhmedSoomro is there any other issue I can work on?

@AlgyJr you can pick unassigned or stale issues here. https://github.com/Blocship/star_book/issues


adding curator for cleanup of indices

Adding Curator as add-on in form of a Scheduled Job, which runs once a day and cleans up old indices. The Scheduled Job is configured through a Config Map object.

@pires this should work with your ES service, want me to add sth to the readme for it?

Yes, documentation on how to enable/disable this is a must.

cool, will work on it

added the docs
RFR @pires

Cool, thanks a ton!


Posting to another channel

Bot will have an option to post message in channel different than original
one it was listened to. To use this ability, you should add
'target_channel' with channel name as an argument of your 'listen_for'
decorator.

@sorrowless what's the use case for this?

@nficano for creating bot only channels, of course :)

This seems like a reasonable feature to have. For instance, you could have a channel where all the links posted on different channels could be aggregated.


[CLOSED] emoji polls?

 Issue by WestleyArgentum
Wednesday Jun 01, 2016 at 04:02 GMT
Originally opened as https://github.com/buzzfeed-openlab/convention-bot/issues/7

columns could be a little vis of each emoji and the current number of votes, like twitter polls

 Comment by WestleyArgentum
Monday Jun 27, 2016 at 01:27 GMT

fixed in 37582f1bc0399e09dc49df9d1d090b10b873db50


import './global.css' does not work and :root selector gets ignored

Hello, I have two one issue.
First issue is while all these work...
import foo from './global.css' // even if not using foo
require('./global.css')

...this one doesn't work:
import './global.css'

It just gives the following error:

Module parse failed: global.css Unexpected token (1:0)
You may need an appropriate loader to handle this file type.

Second issue might not be related to this project but is confusing the hell out of me. In global.css I tried the following selectors to get some custom properties in:
:root {}
:global :root {}
:global(:root) {}

But none of those work, the whole block just gets ignored and doesn't end up in the bundle.
Interesting though is that I can use the custom properties in the global.css file, they are just replaced with their values... as I'm typing this I realize it might be CSSNext doing this intentionally 😅
Hope you can help me out, thanks in advance 😁
Related PR that introduced ES6 import support is #32 by @GabeMedrash.

Actually it seems like there are more issues with the import syntax. imports in nested components didn't end up in the bundle, require seems to work fine.
Hopefully the last one, @import '../colors.css' from within global.css (where I defined custom properties now) does not work.

@CrocoDillon this is probably a problem with postcss and not this plugin. This is just a wrapper around css-modules-require-hook. Related PR is merged so does it resolve this issue?


docs: update README.md

When replicating the steps to deploy the cluster, I encountered an issue, which I documented at the following link 'https://github.com/xllauca/Web-Security-Academy/blob/master/solution.md'. Since the solution is not very complex, I decided to add some extra steps to the documentation that should be taken into account.

LGTM, Thanks @xllauca !
I am curious to know how you are using the bootstrapper project. :)


React Spike: set up i18n

User story
As a frontend developer using React, I want to be able to localize strings in my code.
Acceptance criteria

[x] I can use gettext() or similar in my React code
[x] make localeextract finds strings that need translation in my React code
[x] Once translations have been made, they actually appear on the site.

One way I've seen l10n done in React is to replace gettext() wiht a an <I18N> component to mark strings that need translation. And a <DoNotTranslate> component to mark strings that do not need translation, used in conjunction with a linter that ensures that all strings are marked with one or the other.  There may be better ways to do it, but a linter for our strings would be nice-to-have.

My preference would be to continue using Puente / Babel to extract these strings. We can tune the Puente rules to scan .jsx files, into the javascript catalog or a new one. However, I'm not familiar with the standard for l10n in React, so I could be convinced by a widely supported React workflow.

I was assuming we'd continue to use Puente for this, and this user story is intended to just be about customization of the rules to make something work. And also, I suppose, to investigate whether there are established best practices for l10n in React (that are easily supported by our existing backend tools).

https://github.com/mozilla/kuma/pull/5279 configures Puente to find the React files in kuma/javascript/src and allows make localeextract to extract gettext() strings from those files.
I've been able to test this and verify that this simple change satisfies the first two acceptance criteria. For the third one, though, we could deploy this, wait for translations to come in, and then see if my kuma/javascript/src/gettext.js shim does the right thing. But that would cause unnecessary work for translators, so maybe I'll just make some manual changes to my local build/locale/jsi18n/es/javascript.js  file and make sure that they get picked up by the react components...

Okay, so on top of PR #5277 I edited build/locale/jsi18n/es/javascript.js to add this line:
      "Sign in": "Sigñ iñ",

Then when I ran the Kuma locally and visited http://localhost:8000/es/ducks/Web/CSS I saw this rendered by my React login.jsx component:

So that confirms that the gettext.js module in Kuma PR #5277 is working correctly.
I can't do a full end-to-end test of this without causing a non-trivial amount of work for localizers, and I don't think we should do that just yet, but I think that I've validated that localization will work for our React components, so this basically done, much sooner than expected.
(Keeping the issue open for now, since the PRs have not landed.)

Also: I spent some time researching localization with React. There doesn't seem to any one dominant technique for doing it. I was surprised how many of the l10n solutions were not based on gettext(). I thought that was universal! Seems like there are a lot of half-baked npm packages out there, but not anthing really solid that is based on gettext(). And I couldn't find the kind of eslint plugin I'd been hoping for to ensure that strings are either passed to gettext() or marked as not needing localization. I still like that idea, but I don't think it is worth building our own eslint plugin for it.

When I looked two years ago to upgrade translations in KumaScript (bug 1340342), I was similarly underwhelmed by the node ecosystem around translations. At the time, my favorites were Jed, po2json, and sprintf-js.


[SPARK-25846][SQL][TEST] Refactor ExternalAppendOnlyUnsafeRowArrayBenchmark to use main method

What changes were proposed in this pull request?
use spark-submit:
bin/spark-submit --class  rg.apache.spark.sql.execution.ExternalAppendOnlyUnsafeRowArrayBenchmark --jars ./core/target/spark-core_2.11-3.0.0-SNAPSHOT-tests.jar ./sql/catalyst/target/spark-sql_2.11-3.0.0-SNAPSHOT-tests.jar
Generate benchmark result:
SPARK_GENERATE_BENCHMARK_FILES=1 build/sbt "sql/test:runMain org.apache.spark.sql.execution.ExternalAppendOnlyUnsafeRowArrayBenchmark"
How was this patch tested?
manual tests

cc @dongjoon-hyun, @wangyum


REQ-MCT-006 - Multi-target operations

The MCT shall enable simultaneous planning and operation of multiple satellite systems (“targets”), including but not limited to the flight model and engineering qualification model.

current implementation can track a singular satellite defined in leo-server-app/src/routes/satellite.ts via TLE data
TODO: add a UI to switch satellites


Xamarin.iOS AuraDB -> CertificateUnknown

I am creating an iOS application (which allows for access to your Neo4j databases on the go).

It works great when connecting via Bolt to a database without SSL connection.
When connecting to an AuraDB (free) instance from a Xamarin.iOS (Forms) application I get an CertificateUnknown exception:
Neo4j Version: 4 (AuraDB - free tier)
Neo4j Mode: Single instance
Driver version: .NET driver 4.4.0
Steps to reproduce

Create a new AuraDB free instance
Create a blank Xamarin.Forms application
Add a button the default layout with the following callback:

var uri = "neo4j+s://xxxxxx.databases.neo4j.io";
var _driver = GraphDatabase.Driver(uri, AuthTokens.Basic("neo4j", "xxxxxxx"));

await _driver.VerifyConnectivityAsync();

Expected behavior
The connection is established without exceptions.
Actual behavior
The client failed to run the second query with a Neo4j.Driver.SecurityException exception.
Stacktrace:
Neo4j.Driver.SecurityException: Failed to establish encrypted connection with server neo4j://c3493be0.databases.neo4j.io:7687/. ---> System.Security.Authentication.AuthenticationException: Authentication failed, see inner exception. ---> Mono.Security.Interface.TlsException: CertificateUnknown
  at Mono.AppleTls.AppleTlsContext.EvaluateTrust () [0x000bf] in /Library/Frameworks/Xamarin.iOS.framework/Versions/Current/src/Xamarin.iOS/mcs/class/System/Mono.AppleTls/AppleTlsContext.cs:306
  at Mono.AppleTls.AppleTlsContext.ProcessHandshake () [0x00075] in /Library/Frameworks/Xamarin.iOS.framework/Versions/Current/src/Xamarin.iOS/mcs/class/System/Mono.AppleTls/AppleTlsContext.cs:213
  at Mono.Net.Security.MobileAuthenticatedStream.ProcessHandshake (Mono.Net.Security.AsyncOperationStatus status, System.Boolean renegotiate) [0x000da] in /Library/Frameworks/Xamarin.iOS.framework/Versions/Current/src/Xamarin.iOS/mcs/class/System/Mono.Net.Security/MobileAuthenticatedStream.cs:715
  at Mono.Net.Security.AsyncHandshakeRequest.Run (Mono.Net.Security.AsyncOperationStatus status) [0x00000] in /Library/Frameworks/Xamarin.iOS.framework/Versions/Current/src/Xamarin.iOS/mcs/class/System/Mono.Net.Security/AsyncProtocolRequest.cs:289
  at Mono.Net.Security.AsyncProtocolRequest.ProcessOperation (System.Threading.CancellationToken cancellationToken) [0x000fc] in /Library/Frameworks/Xamarin.iOS.framework/Versions/Current/src/Xamarin.iOS/mcs/class/System/Mono.Net.Security/AsyncProtocolRequest.cs:223
  --- End of inner exception stack trace ---
  at Mono.Net.Security.MobileAuthenticatedStream.ProcessAuthentication (System.Boolean runSynchronously, Mono.Net.Security.MonoSslAuthenticationOptions options, System.Threading.CancellationToken cancellationToken) [0x0025c] in /Library/Frameworks/Xamarin.iOS.framework/Versions/Current/src/Xamarin.iOS/mcs/class/System/Mono.Net.Security/MobileAuthenticatedStream.cs:310
  at Neo4j.Driver.Internal.Connector.TcpSocketClient.ConnectAsync (System.Uri uri) [0x0012e] in <b26119f75831440794686535c0e69b7c>:0
  --- End of inner exception stack trace ---
  at Neo4j.Driver.Internal.Connector.TcpSocketClient.ConnectAsync (System.Uri uri) [0x00163] in <b26119f75831440794686535c0e69b7c>:0
  at Neo4j.Driver.Internal.Connector.SocketClient.ConnectAsync (System.Collections.Generic.IDictionary`2[TKey,TValue] routingContext) [0x00084] in <b26119f75831440794686535c0e69b7c>:0
  at Neo4j.Driver.Internal.Connector.SocketConnection.InitAsync () [0x00090] in <b26119f75831440794686535c0e69b7c>:0
  at Neo4j.Driver.Internal.Connector.PooledConnection.OnErrorAsync (System.Exception error) [0x0002b] in <b26119f75831440794686535c0e69b7c>:0
  at Neo4j.Driver.Internal.Connector.DelegatedConnection.TaskWithErrorHandling (System.Func`1[TResult] task) [0x000bb] in <b26119f75831440794686535c0e69b7c>:0
  at Neo4j.Driver.Internal.ConnectionPool.CreateNewPooledConnectionAsync () [0x000a2] in <b26119f75831440794686535c0e69b7c>:0
  at Neo4j.Driver.Internal.ConnectionPool.CreateNewPooledConnectionAsync () [0x00176] in <b26119f75831440794686535c0e69b7c>:0
  at Neo4j.Driver.Internal.ConnectionPool+<>c__DisplayClass43_0.<AcquireAsync>b__0 () [0x000f3] in <b26119f75831440794686535c0e69b7c>:0
  at Neo4j.Driver.Internal.Logging.DriverLoggerUtil.TryExecuteAsync[T] (Neo4j.Driver.ILogger logger, System.Func`1[TResult] func, System.String message) [0x00096] in <b26119f75831440794686535c0e69b7c>:0
  at Neo4j.Driver.Internal.Routing.LoadBalancer.CreateClusterConnectionAsync (System.Uri uri, Neo4j.Driver.AccessMode mode, System.String database, System.String impersonatedUser, Neo4j.Driver.Bookmark bookmark) [0x000af] in <b26119f75831440794686535c0e69b7c>:0
  at Neo4j.Driver.Internal.Routing.LoadBalancer.SupportsMultiDbAsync () [0x001e2] in <b26119f75831440794686535c0e69b7c>:0
  at Neo4j.Driver.Internal.Routing.LoadBalancer.VerifyConnectivityAsync () [0x0007b] in <b26119f75831440794686535c0e69b7c>:0
  at Xamarin.Neo4j.Pages.ConnectionsPage.Button_OnClicked (System.Object sender, System.EventArgs e) [0x0006e] in /Users/trevi/Repositories/kl0070/xamarin-neo4j/Xamarin.Neo4j/Xamarin.Neo4j/Xamarin.Neo4j/Pages/ConnectionsPage.xaml.cs:52
  at System.Runtime.CompilerServices.AsyncMethodBuilderCore+<>c.<ThrowAsync>b__7_0 (System.Object state) [0x00000] in /Library/Frameworks/Xamarin.iOS.framework/Versions/Current/src/Xamarin.iOS/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/AsyncMethodBuilder.cs:1021
  at Foundation.NSAsyncSynchronizationContextDispatcher.Apply () [0x00000] in /Users/builder/azdo/_work/1/s/xamarin-macios/src/Foundation/NSAction.cs:178
  at at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain(int,string[],intptr,intptr)
  at UIKit.UIApplication.Main (System.String[] args, System.String principalClassName, System.String delegateClassName) [0x00013] in /Users/builder/azdo/_work/1/s/xamarin-macios/src/UIKit/UIApplication.cs:73
  at Xamarin.Neo4j.iOS.Application.Main (System.String[] args) [0x00001] in /Users/trevi/Repositories/kl0070/xamarin-neo4j/Xamarin.Neo4j/Xamarin.Neo4j/Xamarin.Neo4j.iOS/Main.cs:16

What I've tried:

Set the TLS provider to Mono -tls-provider=mono
Set the TLS version to 1.2 via the ServicePointManager

Good afternoon,
I've been looking into this and I can recreate the issue. When you use +s in the schema it provides SSL Configuration to the application which defaults to (https://github.com/neo4j/neo4j-dotnet-driver/blob/fcd0495488564a22bf8a787b390d83ddb52a3b94/Neo4j.Driver/Neo4j.Driver/Internal/Connector/Trust/ChainTrustManager.cs).
For whatever reason it seems in Xamarin/Mono it fails to validate the root CA certificate.
I added a copy of the default one with some extra logging and debugged it.

    public class TestTrustManager : TrustManager
    {
        public override bool ValidateServerCertificate(Uri uri, X509Certificate2 certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)
        {
            Console.WriteLine(certificate.IssuerName.Name);
            Console.WriteLine(certificate.Thumbprint);
            Console.WriteLine(sslPolicyErrors);
            Console.WriteLine(chain.ChainStatus.Length);
            var elements = chain.ChainElements.OfType<X509Certificate2>().ToList();

            Console.WriteLine(string.Join(", ", elements.Select(x => x.Issuer)));

            if (true)
            {
                if (sslPolicyErrors.HasFlag(SslPolicyErrors.RemoteCertificateNameMismatch))
                {
                    return false;
                }
            }

            var result = !sslPolicyErrors.HasFlag(SslPolicyErrors.RemoteCertificateChainErrors);
            if (true)
            {
                result = BuildChain(certificate, chain.ChainPolicy.ExtraStore, out var newChain);
            }

            return result;
        }

        protected bool BuildChain(X509Certificate2 certificate, X509Certificate2Collection additionalCerts, out X509Chain chain)
        {
            var time = DateTime.Now;
            var newChain = new X509Chain()
            {
                ChainPolicy =
                {
                    RevocationMode = X509RevocationMode.NoCheck,
                    RevocationFlag = X509RevocationFlag.ExcludeRoot,
                    UrlRetrievalTimeout = TimeSpan.FromDays(30),
                    VerificationTime = time
                }
            };

            newChain.ChainPolicy.ExtraStore.AddRange(additionalCerts);

            var result = newChain.Build(certificate);
            chain = newChain;
            return result;
        }
    }

            GraphDatabase.Driver("neo4j://<URL>",
                AuthTokens.Basic("<user>", "<Pass>"), (config) =>
                {
                    config.WithEncryptionLevel(EncryptionLevel.Encrypted);
                    config.WithTrustManager(new TestTrustManager());
                });

Be sure not to use config.WithTrustManager & config.WithEncrpytionLevel and +s in the scheme as these will conflict and throw an exception.
if you want a temporary workaround you should be able to use config.WithTrustManager(Neo4j.Driver.TrustManager.CreateInsecure())

I continued to look over this this weekend, I have been experimenting with writing a trust manager that should work for iOS.
public class NativeIosTrustManager : TrustManager
{
    public override bool ValidateServerCertificate(Uri uri, X509Certificate2 certificate, X509Chain chain,
        SslPolicyErrors sslPolicyErrors)
    {
        using (var cert = new SecCertificate(certificate))
        using (var policy = SecPolicy.CreateSslPolicy(true, uri.Host))
        using (var trustHandler = new SecTrust(cert, policy))
        {
            if (!trustHandler.Evaluate(out var error))
                throw new Exception(error.ToString());

            return true;
        }
    }
}

This creates a chain and responds the certificate is valid for me, I've been looking through Apples docs on x509 cert validation but it's quite terse so I can't comment on how secure this method is currently, though apple states this is a standard predefined policy (https://developer.apple.com/documentation/security/certificate_key_and_trust_services/policies?changes=l_8_4&language=objc).

Thanks this works great!


CAMEL-19060: fix test issues in CI

Components tested:
Total 	Tested 	Failed ❌ 	Passed ✅
1 	1 	1 	1

Unrelated. We are good to merge.


Should cargo new . work?

Regularly I fined myself running cargo new ., only to find that I have to move up, delete the newly created directory, and then run cargo new <dir> to have cargo create the dir and do the rest of setup.
Should we allow cargo new . to work in empty directories? Maybe we can even loosen up the conditions later and allow setting up a new cargo project in a directory with existing git setup?

There's cargo init for this use case, but I myself discovered it by accident.

I think cargo init makes more idiomatic sense but I cant think of a reason not to allow it.
Sent from my Samsung SM-N910P using FastHub

So, I missed the fact cargo init exists since reading all the intros. Maybe cargo new on an existing directory should give a hint to use cargo init?

Maybe cargo new on an existing directory should give a hint to use cargo init?

Sounds like a great idea to me!

Here's what we have in nightly:
~/code/rust$ cargo new foo
     Created library `foo` project

~/code/rust$ cargo new foo
error: destination `/home/behnam/code/rust/foo` already exists

Use `cargo init` to initialize the directory

~/code/rust$ cargo init foo
error: `cargo init` cannot be run on existing Cargo projects

This LGTM and addresses the issue I brought up here. So, we can close this.


Single quote escape doesn't work when parsing

select 'Dianne''s horse'

It was a misunderstanding. It is parsable.


Get rid of an irrelevant avc failure

Does not make sense to investigate as fedora-39 is going away in a couple of weeks.

If it's going away, wouldn't it be better to use "INFO" or something instead of xfail?

Makes sense, updated in 890f1169.


For Google, encrypted, and aws cross acct restore, properly fetch the…

… snapshot meta file

NetflixOSS » Priam » Priam-pull-requests #24 SUCCESS
This pull request looks good

Priam-pull-requests #186 SUCCESS
This pull request looks good


Memory leak when multi-threading on Linux

This is a duplicate of the bug in the System.Drawing.Common since I do not know exactly what leads to the problem.
Description

Consider this following piece of code:
async Task DrawCollage()
{
    var jpegBytes = File.ReadAllBytes("image.jpg"); // any 2000*1500 px, 24 bpp
    using var collage = new Bitmap(1000, 1000);
    using var g = Graphics.FromImage(collage);
    //using var ms = new MemoryStream(jpegBytes);
    //using var image = Image.FromStream(ms);
    //g.DrawImage(image, 0, 0, 500, 500);
}

Note that every graphics object is disposed properly here.
Frequent serialized calls of this method on different threads lead to enormous memory consumption, even with three last lines commented out. Working Set size increases in proportion to the number of threads involved, but GC Heap does not increase.
Uncommenting every line triples the memory consumption.
When I force this method to use one dedicated thread only, no increase in memory consumption is observed.
I expect the memory should not grow as every graphic object is disposed after use.
Configuration

Ubuntu 18.04 x86_64

libgdiplus 4.4, 6.0.5

Ubuntu 18.04 arm64

libgdiplus 4.2-2

Debian 10 x86_64 (docker, mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim)
.NET Core 3.1
System.Drawing.Common 5.0.2

Regression?

The bug is not reproducible on Windows 10 x64 with .NET Core 3.1.
Other information

It seems something keeps being cached after dispose in the thread local storage in the libgdiplus library.
A complete code example to reproduce the problem is here: https://github.com/tsvx/SystemDrawingMemoryLeak
It is a work in progress (it reproduces the problem but can be simplified I think).

I have the same issue on

Ubuntu 20.04 x64
.NET Core 3.1
libgdiplus 6.0.5, 6.0.4

On stackoverflow someone suggested installing libgdiplus 4.2. https://stackoverflow.com/questions/71478697/system-drawing-high-memory-usage-on-linux  Unfortunately 20.04 has no 4.2.


actualize sources

Current SVD versions:
svd_actual.pdf
Link to official sources: https://www.st.com/content/st_com/en/search.html#q=svd-t=resources-page=1

For now actual versions of F0, F1, F2 and L0 series SVDs don't have license comment.
All other are licensed under Apache-2.0

cc @adamgreig G0 is most bugged and #947 looks huge work.


fixed some grammar and made readme more reader friendly

Hello Team,
I was checking your readme and observed that there are a few fixes required to make it more reader friendly.
Please accept my contribution. I will do more soon.
Thank you for making such a great tool.
#Fix #IamIbrahimWali

Thank you for your contribution :pray: