AABB recomputation for Skinned Meshes

Description
Right now the only way to cull a skinned/animated mesh, is to either:

precompute an AABB for every keyframe, union the AABBs of two keyframes when interpolating and runtime update that for each inverseBindPose set
precompute/guess the AABB containing all animations and be conservative with culling that way
set an obnoxiously large AABB (disable culling)

These approaches rely a lot on precomputation and break when animation blending or procedural keyframes are used.
Solution proposal
Either do the skinning in compute and accumulate the bounding box for an instance this way (requires a pause in the ILoDAndCullingSystem between drawcall prefix sum and bucket sorting scatter).
Or compute the AABB from the precomputed per-bone AABBs transformed by the bone's absolute modelspace and inversebindpose transforms. Unsure how exactly to achieve this only for visible instances, one idea is to have a per-skeletonInstance-per-inverseBindPose cache of AABBs.
Last option (maybe as an alternative to the compute skinning) would be to do atomicMin/Max in the vertex shader for the very first instance of a skeleton&inverseBindPose combo and compute the AABB "one frame behind". If we added some margin and invalidate it after a drastic keyframe change, it would probably be okay for culling.
Additional context
Probably best to implement this after #252

Need a Skin/InverseBindPose Pool to hold the inverse bind poses [Elements O(skeletonNodes x drawablePoses)]
BoneTranslationTable to pair a skin with a set of nodes being the bones, and a result buffer for the global bone transforms
The allocations need to be contiguous. [Elements O(skeletonInstances x drawablePoses)]
BoneTranslationTableManager to run a compute dispatch to compute the bone positions
Because multiple (which we have due to material batching or index limits due to meshletting) drawables might use the same bone translation table entry, but have radically different sets of vertices, and hence per-bone AABBs.
So need another pool to hold bindpose reference AABBs per drawable and bone [Elements O(skeletonNodes x drawables)]
Then a temporary buffer of per-drawable-per-skeleton-instance modelspace AABBs is needed.
Every used (visible) BTT will be updated, during the determination of visibility its easy to make a list of unique BTT entry and drawable pairs, then use this list to compute the modelspace AABBs.
Once armed with this list, its possible to have 1 invocation either to process all the bones of an entry and accumulate trivially, or prefix sum and workload balance for 1 invocation to process 1 bone but with the overhead of atomically accumulating the modelspace AABB (the destination addresses of which need to be cleared to an appropriate value).
To properly evaluate our options we need a non trivial scene with skeletons of different armature bone counts;
Then we'd need to go back to finish our occlusion culling of drawables before we prefix sum the drawcalls.
Before:
...
DrawcallCull
DrawcallPrefixSum
...`
After Balanced:

...
DrawcallCull
DrawableSkeletonInstancePrefixSum_and_TranslationTableSkeletonInstanceDedup
IndirectTranslationTableTransformUpdate
DrawableSkeletonInstanceAABBUpdate
DrawcallRecull
DrawcallPrefixSum
...
After Non-Atomic:

...
DrawcallCull
IndirectTranslationTableTransformUpdate
DrawableSkeletonInstanceAABBUpdate
DrawcallRecull
DrawcallPrefixSum
...


Problems have been highlighted

Errors in the Errors(ПРОБЛЕМЫ) tab are now highlighted in orange.

I don't see it. Do you have any special themes or color theme settings?
Can you please try reproducing it using fresh user data dir, you can do this by starting VS Code from command line as follows:
code --user-data-dir <folder_path>

[image: image.png][image: image.png]
I tried using code --user-data-dir <folder_path> in cmd and the problem
went away. I have a theme, but when I disabled it and restarted vs code
nothing changed. (first screenshot)
How can I do something when the program starts normally, this problem is
gone? (second screenshot)
пт, 14 янв. 2022 г. в 21:01, Sandeep Somavarapu @.***>:

I don't see it. Do you have any special themes or color theme settings?
Can you please try reproducing it using fresh user data dir, you can do
this by starting VS Code from command line as follows:
code --user-data-dir <folder_path>
—
Reply to this email directly, view it on GitHub
https://github.com/microsoft/vscode/issues/140660#issuecomment-1013339410,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AQH6HYJUE4J572KUCKQHXL3UWBQG3ANCNFSM5L4VNDDA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you authored the thread.Message ID:
@.***>

I tried using code --user-data-dir <folder_path> in cmd and the problem
went away.

This says the problem is with one of the extensions you have. You can follow extension bisect to know which extension is causing this and file issue against that extension.

I tried using code --user-data-dir <folder_path> in cmd and the problem
went away.

This says the problem is with one of the extensions you have. You can follow extension bisect to know which extension is causing this and file issue against that extension.

I used bisect, it showed that the bug is in the Microsoft verified Python extension. When I uninstalled the extension, I didn't get any errors at all and I can't check if it's related to the extension or not.

Can you please not include Python extension in the bisect and check if other extension is causing it?

Without this extension, no errors are shown to me at all.

Right, hence I am asking to not to disable this extension and see if disabling another extension is not causing the highlights?

bisect

It didn't work. With Python extension enabled, there is always highlighting

Can you please try creating some problems using other languages, say for eg., write some invalid json or javascript files and check if you have the same issue?

Thats weird that turning errors filter on should not highlight text. Anyway since it is solved for you, closing this for now.


Use correct field separator in keywords.txt

The Arduino IDE requires the use of a single true tab separator between the keyword name and identifier. When spaces are used rather than a true tab, the keyword is not highlighted.
Reference:
https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5:-Library-specification#keywords

@per1234, I just merged this. Thanks a lot


Rename to "Deployment Best Practices".

I have not changed the name of the repo itself nor the website URLs. It is debatable if either is actually worth changing.

Updated with a few even older references that used the phrase "deployment guidelines".

Two approvals and I merged


doc links for color vs colour

It seems like clicking on a function name that deals with color only works when you use the colour spelling.

This is more of a deficiency with GMS1 dataset than anything else. Not entirely sure what actual GMS IDE does - potentially also a string replacement.


motions: wrong link in summary of changes

Description:
In the summary of changes to a motion, there is an incorrect link. The first link to the amendment (the text) is set incorrectly. The link opens the URL of the instance instead of the amendment. The arrow, on the other hand, links correctly.
Relevant text with link = Zeile 4 (Änderungsantrag -Ä03)

Reproduction:

open a meeting
open motions
create a motion
create an amendment to it
open the motion, set check mark for amendments to see the summary of changes list.
hover over the text link and check the link.

What should happen:
The text link, just like the arrow, should link to the correct amendment.

When clicking the link the browser scrolls to the amendment. This is what should happen.


feat(handlers/webhook): make getSlashCommands() return a Collection

Please describe the changes this PR makes and why it should be merged:
Make getSlashCommands() return a collection. Since commands for each application must have a unique name I have decided it is the best to use the command name as the key.
NOTE: This is a breaking change don't merge before v11!
Status

[x] Code changes have been tested against the Discord API, or there are no code changes

Semantic versioning classification:

[x] This PR changes the library's interface (methods or parameters added)

[x] This PR includes breaking changes (methods removed or renamed, parameters moved or removed)

[ ] This PR only includes non-code changes, like changes to documentation, README, etc.

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


Upgrade date-fns to v2

Updated the date-fns dependency and its usages.

 Update react-gears to date-fns 2

Another attempt to update date-fns here: https://github.com/appfolio/react-gears/pull/762
Unfortunately, the format string is a prop for some components meaning we don't have control of all the inputs to data-fns. This is a major breaking change for these components. It's easier to just re-write them in a new library and convert usage of these components to the new ones.


Feature/gsk 2807 documentation polishing

Description
GSK-2806
GSK-2707
GSK-2767
Related Issue

Type of Change

[x] 📚 Examples / docs / tutorials / dependencies update
[x] 🔧 Bug fix (non-breaking change which fixes an issue)
[ ] 🥂 Improvement (non-breaking change which improves an existing feature)
[ ] 🚀 New feature (non-breaking change which adds functionality)
[ ] 💥 Breaking change (fix or feature that would cause existing functionality to change)
[ ] 🔐 Security fix

@luca-martial yes, makes sense to me to separate in the future. However, since there were a lot of small issues dedicated to the dame goal of polishing documentation, I decided to submit everything at once. But yes, separation is good)

@luca-martial @rabah-khalek Can we merge this, or are we expecting changes ?


ZPOPMIN & ZPOPMAX with "prefix first" option added to the KeyPrefixProcessor

coverage: 80.265% (+0.06%) from 80.208%
when pulling 294de236ca050e51a2394059facfa5f893521b77 on sngrl:patch-1
into d44f07339af3fd5ee546dcde83f3447599d6baa9 on predis:v2.x.

@sngrl Would you mind to add a test coverage? Literally, it's just about extending already existing data provider in unit tests

@vladvildanov tests already are presented, my PR just makes this commands to use prefixes
\Predis\Command\Redis\ZPOPMIN_Test
\Predis\Command\Redis\ZPOPMAX_Test

@sngrl2 Ah, my bad! Approved
But you also need to run composer style:fix command to fix codestyle issues


refining types of user exceptions thrown by reject statement

The user reject() statement needs to be generalized to throw all three kinds of exceptions that our numeric functions are now throwing:
This is making the language compatible with changes to the underlying language as defined here:
https://github.com/stan-dev/stan/issues/685

I think exit() will be enough short term, as it controls relevant behavior.  See #2022


[Release] Create a 1.7.0 branch to release

Description
No response
Use case
No response
Are you willing to submit PR?

[X] Yes, I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

see https://github.com/apache/inlong/tree/branch-1.7


Upgrade bootswatch/cerulean theme to v5

Related #451

TODO:

[ ] Anchor links
[ ] Displaying a list of links (well menu)
[ ] Navbar collapse (logo)


Split summary from estimation

Tested on italy - working as expected. Failures likely if incomplete estimates in latest folder but this should not in theory happen. Potential for failures if regions have no latest folders. Will require inspection and potential hot fixes.


[WIP] Build against TF 2.15

Looks like a header is missing for Windows TF2.15:
https://github.com/tensorflow/tensorflow/issues/61830
@bhack @angerson I think intel builds the windows whls now?

Yes I agree to remove it at least if something will not change with this ticket:
https://github.com/tensorflow/tensorflow/issues/59918
I think that the Intel team can release a window version of Addons compatible with their window TF artifacts if requested.

I think we could add a string in the Readme.

I think we could add a string in the Readme.

Added. Hoping that we can just add it back with a patch release but the issue is a few months old now without any sign of fix coming

Added. Hoping that we can just add it back with a patch release but the issue is a few months old now without any sign of fix coming

Yes we could just subscribe to the upstream ticket.


Implemented ability to Cut CuttableTree objects.

Just for my reference:
FSP.ItemsHolder.setItem("PokemonInParty", [
    FSP.MathDecider.compute(
        "newPokemon",
        "SQUIRTLE".split(""),
        5,
        [
            {
                title: "Tackle",
                remaining: 25
            },
            {
                title: "Cut",
                remaining: 30
            }
        ])
]);
FSP.ItemsHolder.saveAll();


Webadmin module bug

Hello,
There is a bug into the 'webadmin' module, when i try to 'Clone' a user it doesn't update and sync in the Network tab the Nickname and Alt. Nickname values.
It should sync when i press before the Clone and Continue down button the given IRC Informations with the Network Info
Check this video: https://goo.gl/uv6ZoR

Thanks!

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/35520973-webadmin-module-bug?utm_campaign=plugin&utm_content=tracker%2F1759&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F1759&utm_medium=issues&utm_source=github).

I'm not certain this can classify as a bug.  Perhaps an interesting twist on how things work, but not a bug.
The idea is that you are cloning a user as-is, and when a network is created from scratch for a user it 'inherits' the nickname from the "User" defaults, but it then sets it per-network rather than auto-using the defaults from the main "User" level object.
What you're seeing is the network-level object being copied over as is as its own item; this then sets its nick independently from the user defaults.  (There are some of us that have many nicks on different networks, but not the same one on all nets; this caters to such users)


Identify and prioritize content design work for next sprint

Description:
Review content design requests and needs and prioritize content design work for next sprint v1.
There is work happening elsewhere on content strategy that we can align with here.
Checklist:

[ ] collect content-specific feedback from #93 and #96
[ ] call to learn about content strategy and relevance here
[ ] ...

Dependencies:

Informed by #99, #100, #101

Had this call on Monday, on our mural board. We have a sense of additional content, most of it on the Organics Info app, and @pavelcreates will ensure we have some room in the wireframes to accommodate that drafting


Expand testing for Windows

Problem Definition
Given the deprecation of dockershim in Kubernetes  and the continuous work in supporting Kubernetes for Windows ( with containerd ), there is a clear need to improve coverage in validation for containerd on Windows.
There are a number of areas that need attention both in terms of infrastructure & test coverage:

Setup periodic test runs & display results ( i.e testgrid or similar ).
Run tests on multiple Windows versions

The first two goals will offer any user a full picture of the status of containerd on Windows for most of the possible configurations ( i.e Windows 1903 & containerd v1.3 etc. ).

Enable cri-integration tests on Windows
Extend current test suite with tests for Windows specific features

Focusing on the infrastructure needed for expanding test coverage on Windows, there are a few alternatives in place:

Expanding current CI setup in containerd/containerd that uses github actions.

PROS: already in the current workflow
CONS:

it might be a hassle to coordinate & set up credentials for external infrastructure ( Azure VMs )
visualising results is less than ideal

Setting periodic jobs via K8s Prow

PROS:

given work done in sig-windows to ensure Windows coverage, Prow is already set up with appropriate credentials for any infrastructure needed.
displaying results via testgrid is trivial
precedent for this exists, although not currently maintained ( https://testgrid.k8s.io/sig-node-containerd#cri-validation-windows )

CONS:

needs coordination and approval from K8s infra maintainers.

See also: https://github.com/kubernetes-sigs/cri-tools/pull/720/checks?check_run_id=1820483421 ... get that up and we should be able to add cri-integration for windows to the CI matrix here in container/containerd

Thanks for creating this issue @adelina-t! It looks like only Windows Server 2019 is supported for GitHub actions, does that match your understanding as well? It would be nice to have access to more OSes we can test on for Windows (at least LTSC + latest would be good).
Is there a good place I can learn more about Prow testing and how it works? I'm not very familiar with it currently.

WS2019 indeed, from what I understand as well.
As for prow testing, the docs here are the ones I guided myself by: https://github.com/kubernetes/test-infra . The main readme and then just down the rabbit whole of links :)

@adelina-t @TBBle @kevpar Do you have specific areas you'd like to cover? With all the PRs above, we have better coverage regarding Windows and I'm comfortable closing the issue.

Resolving.


Screen measuring tool

There are many times where you have to measure stuff out for pixel perfect layouts.  It would be great if there was a tool to do this which could quickly be invoked.
https://getpixelsnap.com/ is a great Mac tool that does this.
https://github.com/peteblois/rooler can be a possible base.  Pete gave us permission to fork.

I think this would be very helpful, however I do think most of the time I'd personally would only be looking for something that is similar to what ShareX's Region capture is doing (magnifying lens and select custom area), Giving me information about X,Y, Width and Height without any automatic snapping.

+1 on this. Having a v1 that allows you to make a selection and shows the width and height in pixels would be user useful. (cc @martinchrzan )

Here's a super quick mock-up for a version 1.
A keyboard shortcut would open up the tool that allows you to draw a rect with a tooltip showing the dimensions. On mouse release this would go away (with W/H copied to clipboard as an additional option?)

@crutkas Any plans of implementing this in the v1.0 release?

No. See roadmap for what we are planning.

Here's a UX concept: a measurement app that allows you to take a snapshot of what's on your screen (like Snip & Sketch) and allows you to add horizontal/vertical rules and of course take measurements.
Additionally, users can pop-up these measurements in a separate window overlay.

This looks amazing

This looks like a useful little tool.  I currently use Photoshop for this kind of thing, as I sometimes compare layered images.
Zooming in would need to give you Nearest Neighbour scaling with a pixel grid.  The selections would also need some kind of snapping to the grids, which should also snap to the pixels.

I have already "forked" rooler and added fluent styles to it.  Maybe i can submit it to here once i add more features (color settings, not autosnapping)

forgot to mention it also has the #6568 feature for showing coordinates and partially implemented #9429

@FireCubeStudios  think we'd want to adopt the modern UI lib that PT Run and Color Picker is leveraging but this is a good first step.  IMO, unless they are what i would call a "minimal lovable product features", it is more important to get it in a state to ship than add new features.  Always be shipping :)

The colorpicker uses ModernWpf UI library which im also using rn so it will be easy to share some of the design components. Right now the design is very basic but im not sure which parts of it to fix yet.

@FireCubeStudios Cool :)! Yes, we use ModernWPF across ColorPicker, Image Resizer, Run and FancyZones so good to see it has been applied here as well. If there's a decision made to take this in I can definitely help to look at the UI and apply some of the styles / margins etc. we have in the other modules.

update on my end. @zeealeid made a concept of the tool here

so i tried to update the rooler based on that design

notably acrylic is missing and other minor issues

also for some reason im unable to get rounded corners working 😅Also the rectangles in zee's concept i put vertically due to a bug

Use modern wpf as the base like the other wpf projects. :)

also for some reason im unable to get rounded corners working 😅Also the rectangles in zee's concept i put vertically due to a bug
Finally how can i use new fluent ui icons in wpf? should i use them?

Great concept @zeealeid , looking awesome!
@FireCubeStudios Fluent icons do not ship (yet?) with the OS and it's also not part of WinUI, non-Insider Windows versions or PowerToys. Therefore I'd stick with MDL2 for the time being.
I can definitely help with the styling part. We can re-use a lot of styles from e.g. ColorPicker and FancyZones. Is there a PR for this already, or working branch?
Great work - can't wait to use this feature :)!

I will be having exams soon so I wont have much progress on this however once my exams are over in a few weeks I will be able to focus on implementing this feature. If I'm lucky I might publish a demo on store of the rooler

Today I had some free time so I worked on this.
I added full light mode support

In addition to this I added a new settings dialog

The toolbar now has this dragging indicator svg icon from @zeealeid

Finally some bugs were fixed, new setting added, the app is now always on top, Xaml brushes were sorted out, round corners added to dialogs, shadow added to toolbar and the designs for close button was changed. Also Thanks to @zeealeid for helping out with the design

In addition to this I am going to upload a demo to the store so you can try it out.

Oh wow the images came out the opposite way than intended. Let me fix that

I just read the PowerToys contributor guide and I am unsure of what to do next in the process for adding this as a new module. I am still new to contributing to open source projects so can someone help me out here. I assume i need to write some spec but I am not sure

Are there any modes/options of this new tool that show measurement ticks like an actual ruler? That you can just drag around and measure things quickly without taking snapshots?
As an example of what I mean see https://github.com/andrijac/ruler
I haven’t seen anything like that yet in the screen shots above.
A feature like that, along with magnification options like the above screenshots show would be excellent.

Are there any modes/options of this new tool that show measurement ticks like an actual ruler? That you can just drag around and measure things quickly without taking snapshots?
As an example of what I mean see https://github.com/andrijac/ruler

I haven’t seen anything like that yet in the screen shots above.
A feature like that, along with magnification options like the above screenshots show would be excellent.

not  yet but it could be usefull so I will look into it

that be neat for a v2

@FireCubeStudios  lets see what you got so far.  if the base app is in solid state, we should be able to mod it the last mile.  Also would be good to force updating 'new stuff' docs

@FireCubeStudios lets see what you got so far. if the base app is in solid state, we should be able to mod it the last mile. Also would be good to force updating 'new stuff' docs

Sure here is the link to try it out here https://www.microsoft.com/en-us/p/fluent-rooler-demo/9ntszw9k2kg7?activetab=pivot:overviewtab
what are the "new stuff" docs btw?

I like the look of this tool, I'm assuming if it were brought into PowerToys it would be a keyboard shortcut or something similar rather than on-screen all the time :)
When opening the app, it opened right in the top left corner, I imagine a better way to open by default would be to find the width of the primary monitor and then do a top centre placement, maybe even defaulting to slightly below where the tab bar of a browser would  be for ease of use. (note this is different for different browsers, but an approximate should be okay)
It would be good if it remembered where I had it before I closed the rooler.
I noticed when using Spacing, Horizontal or Vertical if you click and drag it drags all the UI elements around.
The Magnify button on my secondary screen (a 4k screen) did not appear to do anything, and I think it might be due to the other issue with things opening in the top left, as on my primary screen that isn't 4K it did show up in the top left.
Overall I like it, I think the magnify feature has some overlap with the colour picker which or may not be welcome (I personally didn't mind), and hope it get's introduced to PowerToys in an upcoming release!

I also had issues with the settings window, not closing and being able to open multiples of it.

I believe powertoys is having a windows 11 style ui update so i will wait until then. btw this looks interesting https://twitter.com/michalleptuch/status/1430498019435290628

Has anyone heard of https://getpixelsnap.com ??
I think something like that for Windows would be so cool, It's a shame that something like that doesn't exist for Windows so far and most of the amazing tools for developers and designers are only made for MacOS.

Has anyone heard of https://getpixelsnap.com ??
I think something like that for Windows would be so cool, It's a shame that something like that doesn't exist for Windows so far and most of the amazing tools for developers and designers are only made for MacOS.

yes OP mentioned it on this post 😊

https://getpixelsnap.com/ is a great Mac tool that does this.

Any updates on this?

@crutkas , @FireCubeStudios
Any updates on this?

Bump, this would be very useful ! (Getting Window Size, and it's anchors + top bar height)

In terms of UX, this is what we had in mind (mimicking the Snipping Tool interface).

Are there any modes/options of this new tool that show measurement ticks like an actual ruler? That you can just drag around and measure things quickly without taking snapshots?
As an example of what I mean see https://github.com/andrijac/ruler

I haven’t seen anything like that yet in the screen shots above.
A feature like that, along with magnification options like the above screenshots show would be excellent.

This is exactly what we need, any updates on the ongoing implementations?

any updates on the ongoing implementations?

Have a look at the PR linked: 19701. @yuyoyuppe think it'll make it into 0.62?

yep


iguehi.akhimien

This is what I have done so far. I pushed it to my branch, but I want you guys to review it so it can be merged to main.

Coding style looks good, I would recommend adding tests to make sure the code works as it's supposed to. Since we both created NoteInputData classes, we can combine them into one; I looked over your code to see where you create new NoteInputData instances and I think we should be able to update the class without much problem. The updated NoteInputData class would have methods getContent(), getTitle(), and getSelectedLanguage().


Allow Symfony 4.0

It required by https://github.com/symfony/debug-pack/blob/master/composer.json#L9

Thanks @piotrantosik.


Correction

corrected one more typo in readme file

Oops not sure how those mistake when past me ahaha. Thanks for fixing them! It seems like I can't merge the pull request without write access so we have to wait for Michael.

@JoeDravarol gotcha, will try and fix that.
@Dex-theDev when you get a chance can you read #3 as it has instructions on committing.
basically it amounts to making a new branch based on master, make your change and then send me a PR (pull request). The reason i mention that is that my merge commits and @JoeDravarol s are on here for some reason, they should not be. Only your typo fix should show up. ill keep #9 open because it has the actual commit in case something anything happens.

closing since #12 was committed


Spring Boot

Another suggestion.
We can upgrade Services to Spring Boot, that can use embedded Tomcat thus changing packaging from war to jar and making it easier to deploy.

I may send a PR for this.

We can do that. This was just a pet project. We can get rid of database layer and use the spring data as that is more efficient as it uses hikari pool internally.

This has been implemented


HAWQ-1140. Parallelize test cases for hawqregister usage1.

cc @ictmalili @amyrazz44

LGTM ＋1

Merged.


File indent settings ignored, forces 4 spaces unexpectedly

 Environment data

Language Server version: 2023.6.40
OS and version: darwin x64
Python version (and distribution if applicable, e.g. Anaconda): 3.11.2 via Homebrew
python.analysis.indexing: true
python.analysis.typeCheckingMode: off

 Code Snippet
fig.legend(
  [],
  bbox_to_anchor=(0.625, 0.8),
  frameon=True,
  shadow=True,
  title=None,
)

 Repro Steps

Set VS Code to use 2 space indentation and to format on type:

  "editor.tabSize": 2,
  "editor.formatOnType": true,

Open a new file with the text above
Place your cursor after the ( on the first line and press Return for a new line

 Expected behavior
There should be 2 spaces of indentation on the new line, just as there was with previous releases of this extension.
 Actual behavior
The current version of the extension forces 4 spaces on the new line for some reason.
 Regression window
From checking old versions, 2023.3.20 has the expected behaviour, whereas 2023.3.30 does not, so something seems to have gone wrong between those two versions.


The Edit this page on Github link in the UI, goes to a forked branch and not main.

Describe the bug
When you go to any document page and click on the Edit this page on Github, it goes to a forked branched.  Ex: https://module-federation.io/docs/en/mf-docs/0.2/getting-started-practical/
Based off this commit., the edit_url is going to '{web_url}/blob/{refname}/{path}'.  I believe the refname needs to be updated to main or another field needs to be used.
Places in the code to look:

apps/docs-ui/src/app/partials/article.hbs
all the doc yml files
the feat(quick-edit): added quick edit button

Hope this helps. Thank you.
Reproduction
When you go to any document page and click on the Edit this page on Github, it goes to a forked branched. Ex: https://module-federation.io/docs/en/mf-docs/0.2/getting-started-practical/
Used Package Manager
npm
System Info
No system information needed.

Validations

[X] Read the docs.
[X] Read the common issues list.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Make sure this is a Module federation issue and not a framework-specific issue.
[X] The provided reproduction is a minimal reproducible example of the bug.

We are planning to refactor the documentation in the near future, and this issue will be addressed in the new version of the documentation

Thank you for taking a look.

https://github.com/module-federation/universe/pull/2224


Milestone5 => "No parameter resolver" for rx* classes

Version
4.0.0-milestone5
Context
When upgrading a project using vertx-rx-java2 to milestone5, tests did not work anymore, because io.vertx.reactivex.core.Vertx has no parameter resolver.
Do you have a reproducer?

https://github.com/aesteve/junit5-milestone5-reproducer

Steps to reproduce

Just run the test task from the reproducer

Extra

The original project where it happened was a Kotlin project, so I started with a Kotlin reproducer, then added a Java test class to show the issue was also happening in Java

Hi @aesteve, did you try adding dependency vertx-junit5-rx-java2 from https://github.com/vert-x3/vertx-rx/tree/master/rx-junit5-providers?
This was documented in the breaking changes.

I'll try that. Thank you.
I was almost sure I missed something, asked on Gitter, and have been asked to open an issue, sorry for the noise.

No worries, closing the issue, please re-open if you spot any issue 👍

Works indeed. Updating the repo + README


Correct chunk size for multipart uploads, cancel upload if it fails

Here are some fixes I hope are useful.
According to my experiments, the correct size of a megabyte seems to be 1048576 (anything less fails when partSize = 5). Also, failed uploads are not being canceled, which means the user will continue to pay for uploaded parts.

I forgot to use blocker to cancel the upload, added https://github.com/laserdisc-io/fs2-aws/pull/568

I forgot to use blocker to cancel the upload, added https://github.com/laserdisc-io/fs2-aws/pull/568


Upgrade SeaMonkey to 2.38

Thank you for the contribution. It was merged directly as e3de719becd2fb989038e1dc7c55f324a97f16c9 to keep commit history cleaner. Your contribution is still credited to you.


Support for attendees

Common systax is:
ATTENDEE;ROLE=REQ-PARTICIPANT;CN=Bill<EMAIL_ADDRESS>

Fixed in #7.


Flux Calibration

We need the flux calibration module for the beta testing period (June - August)

We have to check with @cbaorion what is the overall algorithm for this. I never did flux calibration.

Let me think about this. Certainly if we want to reduce our spoectrophotometric standards we need to do it anyway, so it will be there anyway.

I had a talk with the person at UNC who has done this. He showed me the process and I believe is not that difficult, we will have to see of course but if @cbaorion knows the process we could do it by hand using iraf maybe then write the python method to do it should not be a big problem.


Expo Sentry package issue in build

Describe the bug
When running a development build on EAS build with sentry package installed. I get the error under Run fastlane.
Script has ambiguous dependencies causing it to run on every build.
To fix, go to: Xcode » MagicDev/MagicDev » Build Phases » 'Upload Debug Symbols to Sentry'
Either: Uncheck "Based on dependency analysis", or select output files to trigger the script
▸ ** ARCHIVE FAILED **
When I remove expo-share-intent package and rebuild it works fine. Is there a conflict between the two packages? In app.json, the expo-share-intent plugin comes after the Sentry plugin.  Anyone know how to resolve this issue? Sentry is pretty popular with RN & Expo apps.
To Reproduce
Add "@sentry/react-native": "~5.22.0" to existing example and run on eas.
Environment
System:
OS: Windows 10 10.0.19045
CPU: (8) x64 Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz
Memory: 4.84 GB / 15.89 GB
Binaries:
Node:
version: 20.9.0
path: C:\Program Files\nodejs\node.EXE
Yarn:
version: 1.22.19
path: ~\AppData\Roaming\npm\yarn.CMD
npm:
version: 9.8.1
path: C:\Program Files\nodejs\npm.CMD
Watchman: Not Found
SDKs:
Android SDK: Not Found
Windows SDK:
AllowDevelopmentWithoutDevLicense: Enabled
Versions:
- 10.0.19041.0
IDEs:
Android Studio: Version     2<IP_ADDRESS> AI-203.7717.56.2031.7678000
Visual Studio: Not Found
Languages:
Java:
version: 19.0.1
path: C:\Program Files\Java\jdk-19.0.1\bin\javac.EXE
Ruby: Not Found
npmPackages:
"@react-native-community/cli": Not Found
react:
installed: 18.2.0
wanted: 18.2.0
react-native:
installed: 0.74.5
wanted: 0.74.5
react-native-windows: Not Found
npmGlobalPackages:
"react-native": Not Found
Android:
hermesEnabled: true
newArchEnabled: false
iOS:
hermesEnabled: Not found
newArchEnabled: Not found

surprising, I'm using Sentry with this package, what version of Expo are you using?

Seems to be resolved now in 2.5.2 version and expo 51


SLRdamages External Parameter Data

We are add functionality to the Mimi @defcomp macro to allow for setting default parameters.  In the SLRdamages component, addslrdamages sets default parameters including:
SLRDamagescomp[:impmax_maxSLRforadaptpolicySLR] = readpagedata(model, "data/sealevelmaxrise.csv")
SLRDamagescomp[:impmax_maxSLRforadaptpolicySLR] = readpagedata(model, "data/impmax_sealevel.csv")

@jrising it seems that the latter is the correct setting, and as of now impmax_sealevel.csv will override the first one due to ordering, should the first line be deleted?

I opened up a PR on the anthofflab fork to just use the latter file.  Thanks!

code:
function addslrdamages(model::Model)
    SLRDamagescomp = addcomponent(model, SLRDamages)

    #TODO:  impmax_... is set twice, talking to jrsing about which is correct
    SLRDamagescomp[:impmax_maxSLRforadaptpolicySLR] = readpagedata(model, "data/sealevelmaxrise.csv")
    SLRDamagescomp[:wincf_weightsfactor] = readpagedata(model, "data/wincf_weightsfactor.csv")
    SLRDamagescomp[:impmax_maxSLRforadaptpolicySLR] = readpagedata(model, "data/impmax_sealevel.csv")

    return SLRDamagescomp
end


improve abstract detection

I decided to not use the getText() function, because they are only 2 possibilities and it would slow down the process...


feat: virtual column support

This feature was born from the need to make filters on the virtual columns of an entity.
This code is a draft and for now it works only on virtual columns inside a relationships and with a limited set of filter operation.
Compromise to make this:

Replaced Take-Skip with Limit-Offset to avoid syntax error in query generation (this also fix the problem of very complex query during the pagination phase)
It was chosen to continue to use the Where operator instead of Having to simplify the code and make all operations compatible (this implies the execution of the sub-queries 2 times, this should hit the internal cache of the database and not affect performance)

Comments and proposals are very welcome.

@xMase PR is still in draft, or is it ready for review?

it's still a draft, we need to develop the virtual columns on the main entities and fix the search. If you have time to have a look at the code and make some suggestions, i'd appreciate it.

@ppetzold  i think its ready to be merged
@jakobwgnr can you check if the issue #446 persist?

@ppetzold i think its ready to be merged @jakobwgnr can you check if the issue #446 persist?

good stuff. will have some time to review next week

Hi @ppetzold, @xMase - Nice work.
Regarding #446 mentioned by @xMase we have to take care here. Currently this PR would revert the changes done there.

do you have tested it? can you give a project example to test it?

some functions are not only used in filtering but also in search and sorting, move them to a specific file (ex. filters) or specifically renaming them would compromise their meaning. the affected functions has been moved to the helper file.

:tada: This PR is included in version 4.7.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

@jakobwgnr would appreciate some feedback if this PR introduces a regression to your recent changes.
on first sight, it seems to be about the equivalent:
https://github.com/ppetzold/nestjs-paginate/pull/434#discussion_r1090462654

@jakobwgnr just following up here, did you have a chance to check the new release?

@ppetzold currently on vacation… can follow up earliest on monday. It‘s on my todo list!

Hey @ppetzold, @xMase
Unfortunately my test was not successful
Please see below the error. The problem is that the parameters are not covered by " ".
Will open an issue for this
WHERE ("user"."deleted" = $1) AND (user.firstName::text ILIKE $2 OR user.lastName::text ILIKE $3 OR user.email::text ILIKE $4 OR user.role::text ILIKE $5) ORDER BY "user"."lastName" ASC LIMIT 20","parameters":[false,"%SUPERADMIN%","%SUPERADMIN%","%SUPERADMIN%","%SUPERADMIN%"],"driverError":{"length":92,"name":"error","severity":"ERROR","code":"42601","position":"6513","file":"scan.l","line":"1180","routine":"scanner_yyerror"},"length":92,"severity":"ERROR","code":"42601","position":"6513","file":"scan.l","line":"1180","routine":"scanner_yyerror"}


Fix conditional expression in txfunc.py

This PR fixes a bug in a conditional expression in txfunc.py.  Given the multiple conditions and the strict equality condition, conditions were not evaluated in the expected way (see this Stack Overflow thread on the precedence of & and ==).

Codecov Report

Merging #846 (024c48d) into master (1ac812b) will not change coverage.
The diff coverage is n/a.

Additional details and impacted files

@@           Coverage Diff           @@
##           master     #846   +/-   ##
=======================================
  Coverage   82.24%   82.24%
=======================================
  Files          18       18
  Lines        3981     3981
=======================================
  Hits         3274     3274
  Misses        707      707

Flag
Coverage Δ

unittests
82.24% <ø> (ø)

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

Impacted Files
Coverage Δ

ogcore/txfunc.py
33.39% <ø> (ø)

@rickecon This PR is ready for review.  Without the change, integration of the microsimulation model in OG-IND in PR #16 fails when it reaches this condition.

@jdebacker. Looks good to me.


[Question] How can I use codeium cycle completions alongside with GitHub Copilot?

How can I use codeium cycle completions alongside with GitHub Copilot?
I'm using GitHub Copilot right now, and I want to use codeium cycle completions alongside with it.
The Copilot extension I'm using is https://github.com/zerolfx/copilot.el.
How can I make it? Thanks

I believe that this is not easily done. Codeium provides a completion-at-point-functions backend, which means that its completions are rendered via a frontend like corfu or company-mode. But the copilot extension you are using is directly rendering the completions itself (bypassing these completion frontends). So they can't integrate well.

I believe that this is not easily done. Codeium provides a completion-at-point-functions backend, which means that its completions are rendered via a frontend like corfu or company-mode. But the copilot extension you are using is directly rendering the completions itself (bypassing these completion frontends). So they can't integrate well.

Yes it works! like this:

Thank you.


Add search path for config file based on GOPATH

Description

Added to viper's config search path the membersrvc directory based on the value of $GOPATH to allow for membersrvc to run outside the source directory.
Motivation and Context

Fixes #1489
How Has This Been Tested?

Testing is simple. Before the change running membersrvc from outside its directory fails:
$ cd $GOPATH/src/github.com/hyperledger/fabric
$ membersrvc/membersrvc
panic: open : no such file or directory

goroutine 1 [running]:
panic(0xaa2c00, 0xc82017cea0)
        /opt/go/src/runtime/panic.go:464 +0x3e6
main.main()
        /opt/gopath/src/github.com/hyperledger/fabric/membersrvc/server.go:41 +0x159

After the change, the config file is found and the program runs successfully:
$ membersrvc/membersrvc
2016/05/17 16:00:26 Log level not recognized '', defaulting to DEBUG: logger: invalid log level
2016/05/17 16:00:26 Working at security level [256]
INFO: 2016/05/17 16:00:26 CA Server (0.1)
INFO: 2016/05/17 16:00:26 Fresh start; creating databases, key pairs, and certificates.

Checklist:

[x] I have added a Signed-off-by
[x] Either no new documentation is required by this change, OR I added new documentation
[x] Either no new tests are required by this change, OR I added new tests
[ ] I have run goimports, go vet, and golint. I have cleaned up all valid errors and warnings in code I have added or modified. These tools may generate false positives.  The goal is clean, consistent, and readable code.

Signed-off-by: Arnaud J Le Hors<EMAIL_ADDRESS>

This is great, thanks!  Can the same be done for the peer (pardon if you have already discussed/submitted this)

@ghaskins Yup, already done for the peer. https://github.com/hyperledger/fabric/issues/1489#issuecomment-219743476

Confirmed this is working. Nice! LGTM


unicodeRange override is ignored in generated CSS

I am attempting to use a different font for a single character (@) as per this MDN doc.
From what I've gathered, using the fonts.families override in nuxt.config.ts should do the trick:
fonts: {
    families: [
        { name: "Poppins", global: true, unicodeRange: ["U+0040"],  }, // "U+0040" is "@", "global: true" added for simpler debug
    ],
},

This does not have the desired effect, the generated CSS has its unicodeRange(s) untouched:

the generated CSS, as seen in devtools
@font-face {
  font-family: 'Poppins';
  src: local("Poppins Regular Italic"), local("Poppins Italic"), url("/_fonts/pxiGyp8kv8JHgFVrJJLufntAOvWDSHFF-u9ckw3Gfrr.woff2") format(woff2);
  font-display: swap;
  unicode-range: U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
  font-weight: 400;
  font-style: italic;
}
@font-face {
  font-family: 'Poppins';
  src: local("Poppins Regular Italic"), local("Poppins Italic"), url("/_fonts/pxiGyp8kv8JHgFVrJJLucHtAOvWDSA-9u3rothwux.woff2") format(woff2);
  font-display: swap;
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
  font-weight: 400;
  font-style: italic;
}
@font-face {
  font-family: 'Poppins';
  src: local("Poppins Regular"), local("Poppins"), url("/_fonts/pxiEyp8kv8JHgFVrJJnecnFHGPezSQ-pZkZPLOT5s.woff2") format(woff2);
  font-display: swap;
  unicode-range: U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: 'Poppins';
  src: local("Poppins Regular"), local("Poppins"), url("/_fonts/pxiEyp8kv8JHgFVrJJfecnFHGPc-yfgPZLSZvE.woff2") format(woff2);
  font-display: swap;
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: 'Poppins';
  src: local("Poppins Regular Italic"), local("Poppins Italic"), url("/_fonts/pxiGyp8kv8JHgFVrJJLedA-lYSG1l94SN.woff") format(woff);
  font-display: swap;
  font-weight: 400;
  font-style: italic;
}
@font-face {
  font-family: 'Poppins';
  src: local("Poppins Regular"), local("Poppins"), url("/_fonts/pxiEyp8kv8JHgFVrFJM-RHI83LiqwU.woff") format(woff);
  font-display: swap;
  font-weight: 400;
  font-style: normal;
}

Am I misunderstanding what fonts.families[].unicodeRange is for? It is not mentioned in the documentation unlike the other props, but the JSDoc comment ("The range of Unicode code points to be used from the font.") suggests to me that this should work.
If this is not the intended way to handle this use case, what is?

unicodeRange is intended for internal usage in the library. When we parse the CSS returned from providers, unicodeRange is replaced by the value given by the CSS, so what you define in the configuration won't be kept for rendering.
But yes, I think we should improve the type definitions for the config. There are several options intended not for configuration, but rather for internal usage.

AFAIK I cannot override unicodeRange in the CSS code that the library generates with my own CSS definitions elsewhere.
Would I have to acquire the font myself and "go around" this library for that specific font if I wanted to change just unicodeRange, or is there a more obvious, simpler solution that I'm not aware of, that would still let this library handle the loading of the font?
I'd rather be able to use a unicodeRange config instead of it just being hidden from me, while of course internal-only props should be hidden.


Don't show warning for "past end of"

This behaviour could actually be useful in rare cases.

[ ] Remove warning
[ ] Add note to old videos that use "past end of" to use "tail"

@pokey I was just about to implement this one, but I can't do the second task so it's probably better if you take ownership? Or do you want me to go ahead and do the first task and then hand it over to you?
This is where in the code the warning is defined
https://github.com/cursorless-dev/cursorless/blob/0e4c9d903829b9852da4327a31065cf43ffc5410/packages/cursorless-engine/src/core/commandVersionUpgrades/canonicalizeAndValidateCommand.ts#L122-L151

I don't feel strongly either way. I think either is fine

@pokey The warning is now removed and I have assigned it to us you can update your videos.


Update README.md

Added own repository as project seed link for Angular2 + Meteor

This PR is failing. Please make sure that the invalid links are fixed accordingly.


Attach Google Cloud for customer backup

Google Cloud Storage bucket successful created. Folders inside bucked organised!

This feature integrated in our Python framework


indexer: NameError fixing and related issues

The rationale for the changes should be explained by https://github.com/inveniosoftware/invenio/issues/3271#issuecomment-114467703.

@jacquerie WDYT about following commit message?
indexer: fix missing import and argument name

* FIX Adds missing `get_nearest_terms_in_idxphrase_with_collection`
  import. Fixes the name of field argument, and returns an empty
  list when no model is passed.  (closes #3271)

Reviewed-by: Jiri Kuncar<EMAIL_ADDRESS>Signed-off-by: Jacopo Notarstefano<EMAIL_ADDRESS>

WDYT about following commit message?

:+1:


help needed locating source

I'm not sure where these are?
https://curation.pombase.org/dumps/latest_build/logs/log.2022-07-10-22-25-05.allele-synonyms-from-supporting-data

I grepped in htp and ltp phafs?

They are from pombe-embl/supporting_files/allele_synonyms.txt

I still don't get this ;)
These are in the allele comments file.
It says
skipping line 34 - more than one feature found with name "spt5-T1A":
skipping line 35 - more than one feature found with name "spt5-T1E":
but how do I know what I need to fix? I presumed this problem should be reported in another log (it sounds from the comment  like the same name is used for multiple alleles). But I don't see it reported elsewhere.

Sorry!  The allele comment loading code had a bug so it was displaying the wrong message when the allele couldn't be found.
From tomorrow it will say something like:
can't find feature with name "spt5-T1A" at line 34
can't find feature with name "spt5-T1E" at line 35

I checked Chado.  "spt5-T1A" is now a synonym of "spt5-(T1A)7".  It looks like "spt5-T1E" has been removed.

Actions

[ ] Add spt5-T1E as a synonym of spt5-(T1E)7
[ ] move comments to spt5-(T1E)7 and spt5-(T1A)7 respectively


Documentation: datepicker3.css vs datepicker.css vs datepicker.standalone.css

It is not clear in the docs the difference between the different css files:

datepicker3.css
datepicker.css
datepicker.standalone.css

datepicker3.css

for Bootstrap 3

datepicker.css

for bootstrap 2 (legacy)

datepicker.standalone.css

without bootstrap

That's what I guessed, but it should be pointed out in the documentation. Make things easier.

Also, it would be good to tell people that datepicker.css contains outdated css for gradient
(background-image: linear-gradient(top, #fdd49a, #fdf59a);)
It could cause problems with other libraries like Autoprefixer not able to create .map files.


How to Set Up Web3 Blockchain on Android using the Solana programs

NOTE: All 1st-time contributors should know Topic approval and PR submission does NOT guarantee your Topic/Article will be published. Our team of Peer Reviewers and Content Moderators will review all PRs that come in to make sure they adhere to the standard of quality we expect from the EngEd community.
We expect all community memebers to go through provided examples, resources, and previously published material before submitting content. As a rule of thumb, please only submit articles (pull requests) that are complete, formatted correctly, and include a fully polished article (ready to be published and error free).
Proposal Submission
Proposed title of article
Your title should be descriptive of the article/tutorial. Be Specific.
How to Set Up Web3 Blockchain on Android using the Solana programs
Proposed article introduction
Web3.0 is an evolution of the internet utilizing blockchain technology and decentralization tools. On the other side, Solana is a fast, cheap, and monstrous blockchain tool. Solana is a high-performance, scalable blockchain that can support crypto applications. Solana can currently handle 50k transactions per second with an average 400ms block time. This guide will implement the Salona blockchain concept using Android.
Key takeaways
What are the 3-5 most important things the reader should understand or be able to do after reading this article?
Use this area to get your ideas down on the bulk of your article or tutorial.

What is Web3
The Relationship Web3 and Blockchain
What is Solana
What makes Solana unique
Set Salona for Android
Consume Salona using Android

Article quality
The reader will learn more about Salona programs while consuming the Salona APIs using Android.
References
Please list links to any published content/research that you intend to use to support/guide this article.
Conclusion
Finally, remove the Pre-Submission advice section and all our blockquoted notes as you fill in the form before you submit.
We look forwarding to reviewing your topic suggestion.
Templates to use as guides

How To Guide Template
Software Review Template
Tutorial Template

Topic approved @manmusa100 - Please make sure your topic is unique and adds value to what is available online.


Trouble finding LAPACK

Hello,
I am trying to use LQR in my project and I run into a problem:
"what():  solveSchurDirect() in CARE can only be used if the lapack library is installed on your system."
The issue is that I have Ubuntu and I tried installing lapack and blas in every way possible. I did sudo apt-get install libblas-dev liblapack-dev, I tried building the library myself and putting it into /usr/local/lib/ and even /usr/local/include, but none of those methods work. What should I do?

Dear @filipodu982
I believe that all you need to do is explicitly link your target against ct_opcton (or ct_rbd, ct_models) see also the discussion in #78
Could you give that a try?

Dear @filipodu982
I believe that all you need to do is explicitly link your target against ct_opcton (or ct_rbd, ct_models) see also the discussion in #78
Could you give that a try?

I added a line add_definitions(-DCT_USE_LAPACK) in CMakeLists and everything works like a charm. Thank you so much.


Labels and Annotations section different in Services vs Configmaps

On master-head - commit id: 5e1b21b93

Expected:
Services Labels and Annotations section should match Configmaps and Namespaces

Duplicate of https://github.com/rancher/dashboard/issues/1067
When ^^ is fixed, this will be fixed.


Drop PhpFunction or add PhpFile

The question is how much is PhpFunction used at all? Basically, this library assumes, every code follows PSR-4 (1 file = 1 class/interface/trait). The only use case for functions would be to expect a function library anywhere, which would either require a PhpFile class, which itself would be capable of retrieving all classes, traits, interfaces, functions and constants from a file (as such no real php code block from such files) or drop the  PhpFunction class, which is more likely to happen.

The question is a lot about how opinionated the code-generator wants to be. PSR-4 is surely a good indicator for code-quality, at very least it shows that the author is aware of coding-standards and cares about maintainability. This, however, does not mean that libraries which do not comply with PSR care less about these challenges. In fact PSR does not end in itself, but it should be re-considered on per-project-basis. One driving question should be: Does it serve the API of the library to use PSR? This question cannot be answered in general and that's why i hope, that you do not give up on PhpFunction. There are always 	legitimate use-cases to build functional APIs and these do not benefit from PSR-4 too much. There are at least two hurdles, which immediately come to my mind: PHP does not have functional interfaces and it does not have autoloading for functions (there is a proposal which addresses the latter one). Also, fp libraries tend to compose from many small functions and splitting them over too many files would not contribute to maintainability of the code-basis. This is to say, deprecating PhpFunction would rule out valid use-cases.
Independent of the solution that you will choose, you made a great library and deserve all my gratitude.

I absolutely agree with you, however doesn't address the question here.
It must be seen from the perspective of code-generation. Structured code (classes, interfaces, trait) it's only about dumping code, in which order is irrelevant. In regards to procedural code, the order is highly important! For a class I can add methods as much as I want, sort them alphabetically and put the code into a file and it will work, not for procedural code.
I'm wondering what an API might look like to support this and if so it's worth to develop it. The model data for procedural code would either be a token stream or something like AST and then passed to the writer, which generates the code (php parser is already capable of doing that). PhpFunction would be the only model that can be used in that case (I mostly think of it as anonymous functions, e.g. for sth like silex code). However, you are unlikely to generate that kind of code from some kind of model (whatever it might look like), you will write if from hand and if you do, you probably have your pieces (in some form of templates) ready which you puzzle together.
I rather don't see the use case to provide APIs for generating procedural code, though my thoughts aren't finished on this.

I will mark them @deprecated in v0.6 with a message that points here and a call to action to join this discussion

To add to the discussion, personally I don't think it should be up to the library to expect/enforce any sort of standard of the input code. Ideally, imo, there would be a PhpFile class which can just read in a file, regardless of the structure, and (assuming it's a valid, compilable PHP file), give back an object which describes its contents. It would be great to be able to point the tool at, say, a PHP CLI script which has global functions, code in global scope, and nothing else, and still be able to describe the contents to some extent. The global code may be tricky to implement unless you just take a naive approach and capture it all as a string and let the caller handle modifications, but it's still more functionality than exists currently, so it could be enhanced later.
In terms of keeping the code ordered properly, it would be easy enough I would imagine to track line numbers along with the code as it's being read in. And if global scope code is too tricky to handle in such a way, maybe just exclude that (or keep it in a string blob that the caller has to deal with and say 'good luck').

The thing you are talking about is a parser, that has an AST, that you want to modify and write it out again. Since php code generator is about generating structured code, it would then intersect the AST at functions and would return an appropriate model here. That's not of a good story here. Couldn't see any benefit in this.


Have multiple entries inline [icon only]

I like that this kinda matched the windows 11 theming, but my favorite thing in windows 11 is the paste, copy, etc sharing a line.

https://discord.com/channels/1106387012707168318/1106387015425069151/1207725696244383785

https://discord.com/channels/1106387012707168318/1112126326665650176/1112127601432080394 https://discord.com/channels/1106387012707168318/1106387015425069151/1207725696244383785

I have no invite to the server, apparently there was a discord link in the read me previously when I searched the repository, but I cannot find one. Therefore I cannot view this content...

it's not even an alpha version, nothing can be configured - only a panel with which it was tested whether the commands can be moved - the commands are successfully moved and they work as they should

How tho achieve this?


more easily get access to headers in Easy2 client

In the Easy struct there is a header_function (https://docs.rs/curl/0.4.44/curl/easy/struct.Easy.html#method.header_function) that allows one to get access to all headers. This option is however not available to Easy2.
Would it be possible to expose this somehow? as currently I need to use something very hacky. I use show_headers and parse it myself from the body... Which feels like a pretty wrong approach of having to do stuff and currently only works because I am focussing on a fairly easy HTTP/1.1 usage.

When using Easy2, you are meant to access incoming response headers by implementing the header method on your Handler. Under the hood, Easy::header_function gets the header data using this mechanism (since Easy is implemented on top of Easy2).
Note that both of these methods are streaming -- you don't call them to get the headers, but rather libcurl calls you with the headers as they are received in real time.

Awesome, that’s exactly what I need. There are even some more functions in there that help me out. Thanks!!! Perfect.


Load and Save data

Load and save images using opencv (cv2)

one function to load images using a filename
one function to save the image using a filename
one function to load .json files
one function to save .json files
functions that combine both
create tests for those functions

what do you mean by combining both ?

@DieuCrevette load an image associated to a json file. A function that takes as input the path of the json file, deduce the path of the image (remove the .json and add the .png) and then load the image. Then return the image and json.
pseudo code example:
def load_both (json_path):
    json_data = load_json(json_path)
    image_path = get_image_path(json_data)
    image = load_image(image_path)
    return image, json_data


OSError: Can't load tokenizer for "directory"

Hello,
When I click on train, nothing happens. I get an error in console saying:
OSError: Can't load tokenizer for 'D:\AI_Image\Stable_diffusion\stable-diffusion-webui\models\dreambooth\testtrainmodel\working'. If you were trying to load it from 'https://huggingface.co/models', make sure you don't have a local directory with the same name. Otherwise, make sure 'D:\AI_Image\Stable_diffusion\stable-diffusion-webui\models\dreambooth\testtrainmodel\working' is the correct path to a directory containing all relevant files for a CLIPTokenizer tokenizer.
Any help?

Just bumped into exactly the same error.
Tried everything obvious like reloading, deleting spaces in file and directory names.
My console tells me already at the creation of the model that there is an exception of some kind.
I'll just post the whole thing:
(The two lines saying "Error loading params" are from hitting the new Wizard tab two times)
Creating dreambooth model folder: flxdrmbth
Exception with the conversion: 'Namespace' object has no attribute 'ckptfix'
Traceback (most recent call last):
  File "C:\stable-diffusion\stable-diffusion-webui-master\extensions\sd_dreambooth_extension\dreambooth\conversion.py", line 847, in extract_checkpoint
    if shared.cmd_opts.ckptfix or shared.cmd_opts.medvram or shared.cmd_opts.lowvram:
AttributeError: 'Namespace' object has no attribute 'ckptfix'
 Extraction completed.
 Allocated: 2.0GB
 Reserved: 2.0GB

Error loading params.
Error loading params.
Starting Dreambooth training...
 VRAM cleared.
 Allocated: 0.0GB
 Reserved: 0.0GB

Replace CrossAttention.forward to use default
 Cleanup completed.
 Allocated: 0.0GB
 Reserved: 0.0GB

Error completing request
Arguments: ('flxdrmbth', False, False, '', 'D:\\PICTURES RAW\\stable_diffusion_training\\Felix\\trainingPNG', 'D:\\PICTURES RAW\\stable_diffusion_training\\regularization_images\\Stable-Diffusion-Regularization-Images\\person_ddim', 'photo of a flxdrmbth person', 'photo of a person', 'Description', '', '', '', '', 1, 0, 7.5, 40, 100, 512, False, True, 1, 1, 1, 1111, 1, True, 1.72e-06, False, 'constant', 0, 'default', True, 0.9, 0.999, 0.01, 1e-08, 1, 5000, 5000, 'fp16', True, '', False, True, '75', True, False, '', 7.5, 40, False) {}
Traceback (most recent call last):
  File "C:\stable-diffusion\stable-diffusion-webui-master\modules\ui.py", line 185, in f
    res = list(func(*args, **kwargs))
  File "C:\stable-diffusion\stable-diffusion-webui-master\webui.py", line 54, in f
    res = func(*args, **kwargs)
  File "C:\stable-diffusion\stable-diffusion-webui-master\extensions\sd_dreambooth_extension\dreambooth\dreambooth.py", line 527, in start_training
    config, mem_record = main(config, mem_record)
  File "C:\stable-diffusion\stable-diffusion-webui-master\extensions\sd_dreambooth_extension\dreambooth\train_dreambooth.py", line 717, in main
    tokenizer = CLIPTokenizer.from_pretrained(
  File "C:\stable-diffusion\stable-diffusion-webui-master\venv\lib\site-packages\transformers\tokenization_utils_base.py", line 1789, in from_pretrained
    raise EnvironmentError(
OSError: Can't load tokenizer for 'C:\stable-diffusion\stable-diffusion-webui-master\models\dreambooth\flxdrmbth\working'. If you were trying to load it from 'https://huggingface.co/models', make sure you don't have a local directory with the same name. Otherwise, make sure 'C:\stable-diffusion\stable-diffusion-webui-master\models\dreambooth\flxdrmbth\working' is the correct path to a directory containing all relevant files for a CLIPTokenizer tokenizer.

Did you also have this exception, when creating the empty model?

Yes. Same error when creating the model. I tried with multiple models, everytime the same thing,
Also, don't know if this is relevant information, but my /models/dreambooth/modelname/working directory is empty. I don't know if it's supposed to be like that or not. I also tried manually putting models (named "model.ckpt") in that directory but nothing worked (this was randomly guessing that a model needs to be there)

Get the same issue:
Replace CrossAttention.forward to use default Error completing request Arguments: ('asaricustom1ddim', False, False, '', 'D:\\AIs\\asari 512px', 'D:\\AIs\\REGULARIZATION-IMAGES-SD-main\\person', 'photos of the asaricust1ddim race from the game mass effect', 'photos of a humanoid alien race', 'Description', '', '', '', '', 1, 0, 7.5, 40, 0, 512, False, True, 1, 1, 1, 1200, 1, True, 1e-06, False, 'constant', 0, 'default', True, 0.9, 0.999, 0.01, 1e-08, 1, 5000, 5000, 'no', True, '', False, True, '75', True, False, '', 7.5, 40, False) {} Traceback (most recent call last):   File "D:\AIs\stable-diffusion-webui\modules\ui.py", line 185, in f     res = list(func(*args, **kwargs))   File "D:\AIs\stable-diffusion-webui\webui.py", line 57, in f     res = func(*args, **kwargs)   File "D:\AIs\stable-diffusion-webui\extensions\sd_dreambooth_extension\dreambooth\dreambooth.py", line 527, in start_training     config, mem_record = main(config, mem_record)   File "D:\AIs\stable-diffusion-webui\extensions\sd_dreambooth_extension\dreambooth\train_dreambooth.py", line 717, in main     tokenizer = CLIPTokenizer.from_pretrained(   File "D:\AIs\stable-diffusion-webui\venv\lib\site-packages\transformers\tokenization_utils_base.py", line 1789, in from_pretrained     raise EnvironmentError( OSError: Can't load tokenizer for 'D:\AIs\stable-diffusion-webui\models\dreambooth\asaricustom1ddim\working'. If you were trying to load it from 'https://huggingface.co/models', make sure you don't have a local directory with the same name. Otherwise, make sure 'D:\AIs\stable-diffusion-webui\models\dreambooth\asaricustom1ddim\working' is the correct path to a directory containing all relevant files for a CLIPTokenizer tokenizer.

me, too. Anybody help?

Using auto1111, when trying to create models
Converting text encoder...                                          Exception setting up output: Can't load tokenizer for 'stabilityai/stable-diffusion-2'. If you were trying to load it from 'https://huggingface.co/models', make sure you don't have a local directory with the same name. Otherwise, make sure 'stabilityai/stable-diffusion-2' is the correct path to a directory containing all relevant files for a CLIPTokenizer tokenizer. Traceback (most recent call last):   File "E:\sd\stable-diffusion-webui\extensions\sd_dreambooth_extension\dreambooth\sd_to_diff.py", line 935, in extract_checkpoint     tokenizer = CLIPTokenizer.from_pretrained("stabilityai/stable-diffusion-2", subfolder="tokenizer")   File "E:\sd\stable-diffusion-webui\venv\lib\site-packages\transformers\tokenization_utils_base.py", line 1785, in from_pretrained     raise EnvironmentError( OSError: Can't load tokenizer for 'stabilityai/stable-diffusion-2'. If you were trying to load it from 'https://huggingface.co/models', make sure you don't have a local directory with the same name. Otherwise, make sure 'stabilityai/stable-diffusion-2' is the correct path to a directory containing all relevant files for a CLIPTokenizer tokenizer. Pipeline or config is not set, unable to continue. Can't load config! Traceback (most recent call last):   File "E:\sd\stable-diffusion-webui\venv\lib\site-packages\gradio\routes.py", line 321, in run_predict     output = await app.blocks.process_api(   File "E:\sd\stable-diffusion-webui\venv\lib\site-packages\gradio\blocks.py", line 1016, in process_api     data = self.postprocess_data(fn_index, result["prediction"], state)   File "E:\sd\stable-diffusion-webui\venv\lib\site-packages\gradio\blocks.py", line 945, in postprocess_data     if predictions[i] is components._Keywords.FINISHED_ITERATING: IndexError: tuple index out of range

I have a very similar issue:
Converting text encoder... Exception setting up output: Can't load tokenizer for 'stabilityai/stable-diffusion-2'. If you were trying to load it from 'https://huggingface.co/models', make sure you don't have a local directory with the same name. Otherwise, make sure 'stabilityai/stable-diffusion-2' is the correct path to a directory containing all relevant files for a CLIPTokenizer tokenizer. Traceback (most recent call last):   File "C:\Users\CloakerJosh\stable-diffusion-webui-master\extensions\sd_dreambooth_extension\dreambooth\sd_to_diff.py", line 935, in extract_checkpoint     tokenizer = CLIPTokenizer.from_pretrained("stabilityai/stable-diffusion-2", subfolder="tokenizer")   File "C:\Users\CloakerJosh\stable-diffusion-webui-master\venv\lib\site-packages\transformers\tokenization_utils_base.py", line 1785, in from_pretrained     raise EnvironmentError( OSError: Can't load tokenizer for 'stabilityai/stable-diffusion-2'. If you were trying to load it from 'https://huggingface.co/models', make sure you don't have a local directory with the same name. Otherwise, make sure 'stabilityai/stable-diffusion-2' is the correct path to a directory containing all relevant files for a CLIPTokenizer tokenizer. Pipeline or config is not set, unable to continue.
Would love to be able to resolve this one, if anyone has any insight?


Problem Executing Query

Hi!
I'm using this project for the first time, I followed this docker compose and I already have the container running. Migrations were done and the metadata was applied.
However I'm getting this error even after setting user permissions on storage.files table.
time="2022-04-28T08:28:37Z" level=error msg="call completed with some errors" client_ip=<IP_ADDRESS> errors="[problem processing request: problem executing query: Message: field \"bucket\" not found in type: 'query_root', Locations: []]" latency_time=161.356167ms method=POST status_code=403 url=/v1/storage/files

In the http request I am sending the following headers:

x-hasura-admin-secret
authorization

I believe I'm failing to check permissions, what things should I be aware of?

Which version of hasura-storage are you using? Make sure you are running 0.1.5 as there used to be a bug with permissions where you had to also give permissions to the bucket.

@dbarrosop  I'm using version 0.1.5.

could you provide the exact docker-compose file and the steps to reproduce the issue?

I am sending in the Authorization Header the Access Token that is generated by hasura_auth at user login (even with the refresh token implemented).
Even sending only one of the headers (tried with x-hasura-admin-secret), I still have the same log, in the app I get the following response (with or without permissions).
{
  "error": {
    "message": "you are not authorized"
  }
}
``

These are the hasura storage logs:
[GIN-debug] Listening and serving HTTP on :8000

time="2022-04-28T15:24:29Z" level=error msg="call completed with some errors" client_ip=<IP_ADDRESS> errors="[problem processing request: problem executing query: Message: field \"bucket\" not found in type: 'query_root', Locations: []]" latency_time=440.803833ms method=POST status_code=403 url=/v1/storage/files/

These are the hasura logs:
{"status":200,"http_version":"HTTP/1.1","url":"/v2/query","ip":"<IP_ADDRESS>","method":"POST","content_encoding":"gzip"}}}

{"type":"http-log","timestamp":"2022-04-28T15:07:47.832+0000","level":"info","detail":{"operation":{"query_execution_time":0.171230792,"user_vars":{"x-hasura-role":"admin"},"request_id":"7ad44547-d5e4-4cf1-bdce-e6485f6d80ba","response_size":4208,"request_mode":"non-graphql","request_read_time":3.209e-6},"request_id":"7ad44547-d5e4-4cf1-bdce-e6485f6d80ba","http_info":{"status":200,"http_version":"HTTP/1.1","url":"/v2/query","ip":"<IP_ADDRESS>","method":"POST","content_encoding":"gzip"}}}

{"type":"http-log","timestamp":"2022-04-28T15:19:25.869+0000","level":"error","detail":{"operation":{"user_vars":{"x-hasura-role":"admin"},"error":{"path":"$.selectionSet.bucket","error":"field \"bucket\" not found in type: 'query_root'","code":"validation-failed"},"request_id":"c5378ae3-9924-4355-8a41-d7dffb95d1c7","response_size":118,"request_mode":"error"},"request_id":"c5378ae3-9924-4355-8a41-d7dffb95d1c7","http_info":{"status":200,"http_version":"HTTP/1.1","url":"/v1/graphql","ip":"<IP_ADDRESS>","method":"POST","content_encoding":null}}}

The mini doesn't have any logs.
Thank you very much in advance for helping me 🙏

Ok, so the authentication is actually working, in the hasura logs you can see {"x-hasura-role":"admin"} while it actually complains that "error":{"path":"$.selectionSet.bucket","error":"field \"bucket\" not found in type: 'query_root'","code":"validation-failed"} so I think your metadata may be corrupted. Would it be possible to start from scratch? Try deleting all the volumes and starting over and see if it works with a clean slate.

I understand, just wanted to make sure you weren't doing something wrong or that there was some bug somewhere.  It is hard to know what the problem is without looking into it but I'd try comparing the databases and relation inside default->storage (files and buckets tables) are the same in the working and non-working setups. If you send screenshots of the "modify" screens for both files and buckets I can try to give you a hand

By corrupt, do you mean that there is some inconsistency in the metadata?
Because when running the command hasura metadata ic ls appears in the terminal:
INFO metadata is consistent

@dbarrosop  I just now compared the fields that exist in both tables in the "Modify" tab and the only thing that changes is the Custom GraphQL Root Fields. In the setup that is working (if you make a new project) they are defined, while in the setup that I have currently there is none.


Add actions to PageComponent

Secondary actions are not supported by pages now.

Resolved by https://github.com/baoagency/polaris_view_components/pull/219


Ability to change spacing before a comment

Hi there,
Really enjoying your tool, works very well!
One request though would be to be able to set spacing before comments in the output.
Currently, the comments always seem to stay on their previous position, even if actual yaml code has been moved by formatting (because of ruamel I guess?)
Example:
Input file:
---
items:
    - part_no:   A4786 # comment

Output from yamkix:
---
items:
- part_no: A4786       # comment

Feature request:
I think it should be a tunable parameter, as e.g. yamllint has a default rule of 2 spaces before a comment.
Example:
yamkix --spaces-before-comment 2

---
items:
- part_no: A4786  # comment

Thanks for the feedback. I'll look into it.
Le dim. 2 févr. 2020 à 01:04, Max Danilov<EMAIL_ADDRESS>a
écrit :

Hi there,
Really enjoying your tool, works very well!
One request though would be to be able to set spacing before comments in
the output.
Currently, it's always 4.
Example:
Input file:
---items:
- part_no:   A4786 #comment
Output from yamkix:
items:

part_no: A4786       #comment

ruamel places exactly 4 spaces before the #
Feature request:
I think it should be a tunable parameter, as e.g. yamllint has a default
of 2 spaces before the comment.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/looztra/yamkix/issues/11?email_source=notifications&email_token=AAB4F7SPERDOE7XMVTK4BETRAYEZRA5CNFSM4KOWJ3E2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4IKL22VA,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAB4F7XZOYKYF3N4XB2MJPLRAYEZRANCNFSM4KOWJ3EQ
.

There doesn't seem to have a trivial fix, I'll have to contact the author of ruamel.yaml to see if something can be done

I am working on this issue but I cannot get to the expected result for the moment :

I can produce an output were all comments will be placed a single space after the content (what the Google CloudCode extension provides for instance) and that will definitely be an option you will be able to use in yamkix
I am still working on the option where the comments will be placed to please yamllint, but I have still things to understand, see https://stackoverflow.com/questions/60915926/how-to-force-the-comment-position-to-be-valid-with-yamllint-when-load-and-dump-w.

Available in v0.6.0


db Loads in Windows but not Linux

What happens?
Using DuckDB CLI, both v0.10.3 70fd6a8a24  and sqlite_scanner version 50b7870.
On Linux, receive file error. Exact same file (16GB) on Windows loads.
D ATTACH '~/DataAnalysis/Research/DNAGedcom.db'as dna (TYPE SQLITE);
D use dna;
Invalid Error: Unable to open database "~/DataAnalysis/Research/DNAGedcom.db": unable to open database file
PS D:\Program Files (x86)\Incline Software\Ancestral Quest 14\DNA\Software\DNAGedcom> duckdb 'DNAGedcom.db'
v0.10.3 70fd6a8a24
Enter ".help" for usage hints.
D .tables
Posted the issue on Discord in the DuckDB server, extensions channel.  User carlop suggested I post the issue here.
https://discord.com/channels/909674491309850675/1209495191380172862/1246457421178605709
To Reproduce
PS D:\Program Files (x86)\Incline Software\Ancestral Quest 14\DNA\Software\DNAGedcom> duckdb 'DNAGedcom.db'
In Linux:
D ATTACH '~/DataAnalysis/Research/DNAGedcom.db'as dna (TYPE SQLITE);
D use dna;
OS:
Linux Mint 21.3 x86_64  Kernel: 5.15.0-107-generic
SQLite Version:
3.33.0
DuckDB Version:
v0.10.3 70fd6a8a24
DuckDB Client:
CLI
Full Name:
Patrick Logan
Affiliation:
Personal Use
Have you tried this on the latest main branch?

[X] I agree

Have you tried the steps to reproduce? Do they include all relevant data and configuration? Does the issue you report still appear there?

[X] I agree

Tried on another VM that is similar with a different technique... same result.
wilbur@bigdataprox:~/duckdb$ ./duckdb '~/DataAnalysis/Research/DNAGedcom.db'
v0.10.3 70fd6a8a24
Enter ".help" for usage hints.
D .tables
terminate called after throwing an instance of 'std::runtime_error'
what():  Unable to open database "~/DataAnalysis/Research/DNAGedcom.db": unable to open database file
Aborted (core dumped)

wilbur@bigdataprox:~/duckdb$ ./duckdb
v0.10.3 70fd6a8a24
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.
D SELECT extension_name, extension_version FROM duckdb_extensions() WHERE extension_name == 'sqlite_scanner';
┌────────────────┬───────────────────┐
│ extension_name │ extension_version │
│    varchar     │      varchar      │
├────────────────┼───────────────────┤
│ sqlite_scanner │ 50b7870           │
└────────────────┴───────────────────┘
D

DNAGedcom.db: SQLite 3.x database, last written using SQLite version 3037002, writer version 2, read version 2, file counter 684083, database pages 4486425, cookie 0x1c2, schema 4, UTF-8, version-valid-for 684083

Ok... update here.   Found an older version of the database.  It opened in Linux in the same environment.  Not really sure what's that different between them.
Older db that worked.
DNAGedcom.db: SQLite 3.x database, last written using SQLite version 3015002, file counter 85754, database pages 23068, cookie 0x2a, schema 4, UTF-8, version-valid-for 85754

Had the original compressed.  I uncompressed it and it worked in Linux.  Can only guess a modification to it did something to it, but SQLite had no issue using it.
Here is the fresh restore file info.
DNAGedcom.db: SQLite 3.x database, last written using SQLite version 3026000, writer version 2, read version 2, file counter 684082, database pages 3949789, 1st free page 3406561, free pages 1, cookie 0x1c1, schema 4, UTF-8, version-valid-for 684082


_WD_HighlightElements refactoring

No longer calls _WD_HighlightElement in a loop
Looping now handled in Javascript

@mlipok @Sven-Seyfert Please review and let me know if you encounter any problems or identify other needed changes.


Extraction preserves GTot predicates as type argument

Bad.fst:
module Bad

open FStar.HyperStack.ST
module HS =  FStar.HyperStack

val do_while:
   inv:(unit -> GTot Type0) ->
    Stack unit (fun _ -> True) (fun _ _ _ -> True)
let rec do_while inv = ()

Bad.ml:
open Prims
let rec do_while : 'Ainv . Prims.unit = ()

It seems that extraction preserves predicates of this form when they are the first argument to a function, for example consider Okay.fst
In Okay.ml we can see the argument has been erased to a unit argument, which can be optimized by later Kremlin passes if my understanding is correct.
module Okay

open FStar.HyperStack.ST
module HS =  FStar.HyperStack

val do_while:
   other:int ->
   inv:(unit -> GTot Type0) ->
    Stack unit (fun _ -> True) (fun _ _ _ -> True)
let rec do_while other inv = ()

open Prims
let rec do_while : Prims.int -> Prims.unit -> Prims.unit =
  fun other  -> fun inv  -> () %

F* <IP_ADDRESS>
platform=Darwin_x86_64
compiler=OCaml 4.04.0
date=2017-07-21T10:22:16-07:00
commit=d3acbe6b8 (dirty)

cc @nikswamy @protz

One more comment for debugging, I believe that this issue was not due to my changes for monomorphization, because the type applications generated come directly from the type schemes we build for functions, and the type scheme seems to have left this argument as a type parameter.


feat(jpms): add module-info.java descriptors (w/build upgrades)

Summary

This intro is basically the same as #556

This PR offers a changes to safely ship a module-info.java descriptor for the org.reactivestreams API artifact. The JAR is shipped as an MRJAR, with a module-info.class descriptor located in META-INF/versions/9.
This keeps the JAR compatible with JDK 6, while supporting full modularity for newer versions of Java.
Based on the current structure of the codebase, I tried to keep this PR as minimal as possible. Unfortunately, Gradle 6 does not yet have the release flag for the Java compiler, so I've upgraded Gradle to 7.x. The latest version is 7.6.4. Other than this and the module-info.java itself, I've added a task to validate the multi-release JAR as a module.
The tests pass and everything seems fine from local, of course, but this should probably be tested with downstream artifacts. I can put together a small integration test harness which uses these JPMS-enabled artifacts with popular Reactive Streams projects to make sure there is a clear picture of impacts.
Fixes and closes #531
Build Tooling
As described in the other PR, upgrading Gradle allows for use of Gradle Toolchains and other newer Gradle features. Conveniently, this means the build can safely be run under any JDK which supports all the targets needed by this library, and then lower bytecode levels can be requested for testing.
This PR applies those changes: the base JAR build always happens against JDK 11 regardless of the toolchain used to run Gradle. This "baseline toolchain" can be overridden with, say, ./gradlew -PjavaBaseline=17.
Given this change, I have taken other small liberties to clean up the build. For example, CI just provisions and uses JVM 21, relying on Gradle Toolchains for the rest.
Dependency Security
I've enabled Gradle Dependency Locking and Dependency Verification. This can help align build dependencies and prevent supply chain attacks (or just detect bad downloads of JARs).
I've kept these separate in commit log so they can be removed if the maintainers/authors would prefer not to activate these features. On the other hand, if this is seen as a good thing, I'm also happy to take it further to enable SLSA, Sigstore, and SPDX, which would bring Reactive Streams up to the state of the art in dependency security.
JAR Structure
After applying this PR, the JAR structure for the api artifact is:

Care has been taken not to duplicate classes in the Java 9 class root, and to preserve the FlowAdapters.

JAR manifest:

OSGi manifest (Java 9+):

Changelog

feat(jpms): add module-info.java to api
chore: adjust builds where needed to release as MRJAR artifacts
chore: adjust BND tools to not interfere with MRJAR classes
chore: upgrade gradle → 8.6
chore: apply updates to groovy dsl for publishing with gradle v8
chore: add jdk 21 to ci
chore: build refactors + cleanup for gradle 8.x
chore: enable gradle dependency locking
chore: generate lockfiles
chore: generate dependency verification metadata
chore: update ci to run at latest lts

@ktoso @rkuhn Could somebody review this mr?


General minor code improvements and iOS support

This PR brings the following changes:

Implements the Try again button when no internet connection is available (this can help in some cases when the app doesn't initially detect the network connection or reconnects later on)
Updates app dependencies to latest (while trying not to introduce any regressions)
Changes iOS app icon and project building and deployment settings (considering that a future version of flutter sdk will drop support to any version below iOS 11)
Adds analysis options to follow good programming practices and fixes code that is affected by such
Adds documentation for a dozen of classes (mostly services, managers and similar)

@dacher996 Thanks for the contribution


Fix #3: align with IDL

This aligns with the [Unforgeable] requirements in IDL. It also fixes
https://www.w3.org/Bugs/Public/show_bug.cgi?id=29183.

Could you review this @bzbarsky? Maybe @bholley could look too?

I don't understand what the goal of this pull request is, exactly.  I assume it's not actually trying to define properties on the Location object (in the window.location.proto.constructor sense), right?  What is it actually trying to do?  Is it trying to only define things for "cross origin" Location interface instances or all Location interface instances?
In general, this seems to be using some shorthand that I'm not 100% sure I understand.....
Past that, calling a [[Get]] from a descriptor without without a useful this value doesn't really make sense.

It is trying to define the properties on the Location class for all Location interface instances (though note that when these cannot be accessed cross-origin due to the internal methods being overridden).
The style is mostly borrowed from https://github.com/domenic/window-proxy-spec and https://streams.spec.whatwg.org/ and https://tc39.github.io/ecma262/.

The style used in at least ES-2016 doesn't involve claiming things about Array[foo] when array instances are meant.  Neither does Domenic's window-proxy-spec sketch.  I haven't looked over the streams spec in detail, so I'm not sure whether it does that sort of thing, but I suspect it does not.
I think I understand what you're trying to define, but you really want to unpack it more like "all instances of the Location class have the following own properties" or something instead of using the misleading Location.foo shorthand.
And again, I don't understand why we want to reinvent the parts of this that are already defined perfectly well by IDL.

Are you talking about get Location[DONE] and other "DONE" stuff? That's a placeholder for where all the properties currently defined in HTML need to go and be defined. Not sure what you mean with Array[foo] otherwise.

I mean the Location.toString and so forth.

Closing this since we are going to be using IDL to define Location objects.


Issue with SplitContainer - cannot move splitter after first movement (Winform)

How to reproduce the issue:

open a Winform project in Visual Studio (i used v2019)
Drop a vertical SplitContainer into the Form.
Drop a "scottPlotUC" control into the right Panel.
Set Dock property to Fill for this plot control.
Compile and run the project.

Discover the following: when you drag and move the splitter bar, it moves as expected. However, only once! The next attempt fails. The only way to make the vertical splitter movable again, is to resize the whole Form window, by changing its width or height by the mouse. After such Window resize, you can again move the splitter. But only once!
What causes this behaviour? If I drop the simple MS Chart into the right Panel of the SplitContainer, it behaves as expected.
Thanks if you can fix this, and also thanks for the very useful package!
SiC_VQ_data_analyzer.zip

@bukkideme thanks for bringing this to my attention!
This bug is now fixed in ScottPlot 3.0.4 (available on NuGet)
Recreating this bug (without ScottPlot)
The fundamental problem seems to be that calling  Application.DoEvents() on SplitterMoved (or a child's SizeChanged event) causes the split to freeze. Interestingly resizing the form unfreezes the splitter.

create a new Winform project
drop a SplitContainer on the form
add Application.DoEvents() to the SplitContainer's SplitterMoved event
resize a bunch of times and eventually the split will freeze
once frozen, resizing the form unfreezes it

The Fix
The ScottPlot user control's SizeChanged event calls Render() which was calling Application.DoEvents(). I removed that call (5e485a9b306180ea6e8ec3d800ee61d7904f6395) and the program seems to be working well without it and the SplitContainer bug is gone.

... just realized the Application.DoEvents() is required for smooth left-click-drag scrolling. I'll be putting that line back in, but only calling it if the user is actively panning/zooming. This will prevent it from being called when resizing a SplitContainer

Fixed: https://github.com/swharden/ScottPlot/commit/4bc377cc10a33ee25b20e8784a4822aee1b8ff91
I'll push an update to NuGet in the next hour or so.


TEST:  use pytest tmpdir fixture

Avoid creating files in the repository during testing.

appveyor is not happy

I think appveyor is generally unhappy, something about setting up the environment...

Let me iterate in #244 to get AppVeyor working again then we can re-run this, since it touches some code that was specific to the windows platform.

Sorry @christianbrodbeck I broke this a bit :(
Do you have time to rebase? If not I can do it and push

Codecov Report

Merging #243 into master will decrease coverage by 0.05%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #243      +/-   ##
==========================================
- Coverage   74.98%   74.93%   -0.06%
==========================================
  Files           7        7
  Lines        2479     2474       -5
  Branches      494      493       -1
==========================================
- Hits         1859     1854       -5
  Misses        447      447
  Partials      173      173

Rebased and all green...

thx @christianbrodbeck


/works links return records they shouldn't

Problem to be solved
https://wellcomecollection.org/works/adxyyuqw - follow the Genres link 'Artists with mental disabilities - Pictorial works’ to https://wellcomecollection.org/works?query=genres%3A"Artists with mental disabilities - Pictorial works."
Results are returned that don't appear to have any relation to the search e.g.
https://wellcomecollection.org/works/w245v49g
https://wellcomecollection.org/works/ue9t9ugg
https://wellcomecollection.org/works/zcxb9aqv
and lots of further results from that search
Acceptance Criteria

[ ] Return results that are relevant to the search
[ ] Do not return results that aren't relevant to the search

Closed via https://github.com/wellcometrust/wellcomecollection.org/pull/4037


Possible bug - DefaultDefer times vs MenuDefer list

The S.U.P.E.R. script accepts various deferral time intervals set via a Mac profile sent via an MDM. As an example it is possible to set the 'DefaultDefer' to a value expressed as a number of seconds.
It is also possible via the same mechanism to define a drop down 'menu' that is a list of deferral time intervals from which the user can select a value to defer by. This is referred to as 'MenuDefer', a list of values might be 3600,7200,86400 which translates to one hour, two hours, or one day.
I would expect that if a MenuDefer is defined as a list as above of '3600,7200,86400' and that the DefaultDefer is defined as 7200 that the relevant dialog box entry should initially be set to 7200 seconds but a drop down menu should allow the user to select either 3600, 7200 or 86400 i.e. 1 hour, 2 hours, or one day.
In reality what is happening is that the dialog always shows the first value from the MenuDefer list and does not initially show the DefaultDefer value as I would expect.
I am therefore raising this as a possible bug i.e. incorrect behaviour.

I could argue that my interpretation is equally valid but I will defer to you. I had already made the suggested change to my preference anyway.


Expenses List: Search Bar Addition

This adds the api part of the search bar.
Fixes https://github.com/opencollective/opencollective/issues/3214

Strangely the search term seems to affect the limit: when I add a searchTerm to the query only five items get returned. To help debug that, it may be useful to add a logging: console.log on the query to see the generated SQL.

@Betree : Please see my comment https://github.com/opencollective/opencollective-api/pull/4059#discussion_r442730034. I've pushed everything you suggested; let me know if there's anything else to be done. :smile:

Strangely the search term seems to affect the limit: when I add a searchTerm to the query only five items get returned. To help debug that, it may be useful to add a logging: console.log on the query to see the generated SQL.

@Betree : Please see my comment #4059 (comment). I've pushed everything you suggested; let me know if there's anything else to be done.

I don't think that #4059 (comment) was the root cause, because the search properly returned all the entries. The problem seems to come from pagination, I get 4 lists of 5 expenses instead of 2 lists of 10 expenses. I can try again if you're having a hard time reproducing.

Strangely the search term seems to affect the limit: when I add a searchTerm to the query only five items get returned. To help debug that, it may be useful to add a logging: console.log on the query to see the generated SQL.

@Betree : Please see my comment #4059 (comment). I've pushed everything you suggested; let me know if there's anything else to be done.

I don't think that #4059 (comment) was the root cause, because the search properly returned all the entries. The problem seems to come from pagination, I get 4 lists of 5 expenses instead of 2 lists of 10 expenses. I can try again if you're having a hard time reproducing.

Hmm... :thinking: Yes, I do seem to have a problem with recreating it. When I search for something with more than 10 results it gives me two pages; first one with 10 results and the second with the rest.

Am I missing something here? :thinking:

It seems like a bug from Sequelize.  But when using .findAll or findAndCountAll, I only get 4 entries.

It seems like a bug from Sequelize.  But when using .findAll or findAndCountAll, I only get 4 entries.

@Betree : Thanks for the info. Can you let me know where you see this 4 results? Is it through the UI? I wasn't able to recreate such a scenario in my tests. I'll investigate this tomorrow as well. 🙃

@SudharakaP Through the UI, or by directly logging the result returned by findAndCountAll.
It works if I disable the search in items, which matches some feedback on the issues that say this bug happens mainly when there's a one-to-many relationship.

I've disabled the search in items so we can already merge this an iterate on searching in item's description later.

@Betree : No problem. Feel free to assign the future ticket to me if needed.


Feature Request: Classes for tabs

I love the design that daisyui has but since I am using vanilla html (with astro) I am finding it difficult to quickly get a smooth transition for tab panes from tab bars.
I was looking for something similar like this where I can toggle classes to make tabs visibile via JS
https://tailwind-elements.com/docs/standard/navigation/tabs/
I tried using swap (as I only have two panes right now) but swaps break any nested swaps and since swap sets opacity to 0, they dont allow hover animations on the bottom swap.

You can use most framework components (Svelte, Vue, React, etc.) in Astro. You just need to hydrate it

And thats the thing. Sometimes, you dont really want to include a framework for something that can be simply be achieved by a bit of js and css classes 🤔

You can also use vanilla JS in astro.
But I would use a Svelte component in this case. because unlike Vue or React, Svelte is just a compiler that generates vanilla JS (and does not add a whole framework library to your production code) so using Astro with hydrated Svelte components would be a good combination.