Use atomics for SQLMetric implementation, remove unused name field

As mentioned in apache/arrow#10049 as a potential followup, this PR simplifies metrics management in physical ops by removing the need for a mutex around SQLMetric instances, instead using atomics to track metric values.
I've also removed the name field as this info is duplicated by ExecutionPlan::metrics returning a string-keyed map. Happy to revert that portion of the change if people feel strongly about it though!
It might be possible to futher simplify this by removing the Arc allocs and sharing SQLMetric instances as Sync references if the existing lifetime setup plays nicely with it, but I didn't want to spend too much time digging into this; I think this PR as-is gives us the immediate win of not needing to deal with mutexes :)

Probably one for @andygrove, if you have some time :)

Codecov Report

Merging #25 (613caaf) into master (c365a4f) will decrease coverage by 0.01%.
 Consider uploading reports for the commit 0a4d560 to get more accurate results

@@            Coverage Diff             @@
##           master      #25      +/-   ##
==========================================
- Coverage   70.41%   70.39%   -0.02%
==========================================
  Files         123      123
  Lines       21261    21255       -6
==========================================
- Hits        14970    14963       -7
- Misses       6291     6292       +1

Impacted Files
Coverage Δ

datafusion/src/physical_plan/hash_aggregate.rs
84.54% <100.00%> (-0.09%)
:arrow_down:

datafusion/src/physical_plan/mod.rs
87.69% <100.00%> (+0.59%)
:arrow_up:

datafusion/src/physical_plan/sort.rs
91.45% <100.00%> (-0.74%)
:arrow_down:

Continue to review full report at Codecov.

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

Closes https://github.com/apache/arrow-datafusion/issues/30


Switch from UUID1 to UUID4.

The UUID1 algorithm generates UUIDs based on a host's MAC address
and a timestamp.  While physical MACs are all indeed unique, Docker
containers very commonly use the same MAC address.  In practice, given
the number of sites converting to Docker, this removes a lot of the
uniqueness and has led to observed collisions.
This changes to UUID4, where the UUID is generated entirely from
the RNG.

@amaltaro, Alan if this eliminates the collision, maybe we don't need to put your fix code in WMCore.  I will run the integration test on  whether there is any side effect.

Failures look unrelated?
(Note - feel free to push to this branch - going to be traveling most of next week and won't have time to work on it...)

Since UUIDLib class has a single-line method, maybe we can simply remove that and directly use str(uuid.uuid4) where it's needed.
I also found this test still using uuid1
test/data/WMStats/generator.py

Since UUIDLib class has a single-line method, maybe we can simply remove that and directly use str(uuid.uuid4) where it's needed.

Hi Alan, my take is unless it causes the problem, I think it might be better we use the same algorithm throughout the code. (And wrapper function allows to change whole thing at one place, if  we need to change later again). Are you concerning this might cause problem somewhere?

You have a good argument to keep a one-line class :-)
I think we just update that test file and that's it.

test this please

It creates the different format of string, but didn't see any side effect.


SideBar Section Title padding

Menu bar with is same with the longest Section caption. It would be good to have little space on the right of the title, like on the left. Or can we achieve this changing css & which item ?

I see that this is not an issue, it's because of the theme that I'm using.


feat(*): support dependency params in Parameter Set

What does this change

Adds support for specifying dependency parameters in a Parameter Set

What issue does it fix
Closes https://github.com/deislabs/porter/issues/1096
Notes for the reviewer
Checklist

[x] Unit Tests
[x] Documentation
[x] Schema (porter.yaml) (N/A)

LGTM


How to create a headless CMS website using WordPress, Next.js and GraphQL Queries (WPGraphQL)

Article checklist
Pre-submission checks

Please ensure that you have only one open topic suggestion (issue) + in-review article (linked pull request) at a time. This will ensure that we complete the review process in a timely manner from inception to publishing

If you have not already, please go over our Resources Page for more tips and tricks on how to improve your overall technical writing so reviews are swifter, increase the chance of a payout and provide more value to our readers.

For first-time contributors and for more details on our submission guidelines, see our Contributing Guidelines.

Formatting and structure checks

[x] Have you used the correct folder and file structure? - see Contribution Guidelines

[x] Is your article properly formatted in Markdown? - see Github Markdown guide

[x] Have you used our preferred heading structure? - H3 (###) and up

[x] Does your article follow any of the suggested structure formats? - see example formats

[x] Is your article over 750 words? - Tool: Wordcounter.net

[x] Is the article you are submitting an in-depth and unique article? Does it go beyond what is in the official docs and what is covered in other blog sites. See these articles as examples.

[x] Does your article provide enough value and detail about your topic? - Articles should be clear, accurate, and fully explained.

[x] Can your article be understood by beginners? - Assume the audience is smart but has no prior exposure to the common terminology in your article.

[x] Have you included a hero image that is 600x400 pixels and have the copyright to use it? - Tools: Pixlr Image Editor for resizing and Unsplash for Creative Commons images

Grammar & plagiarism checks

[x] Have you spellchecked and grammar checked your article? - Tools: Write&Improve - ProWritingAid - Grammarly
[x] Please place your article through a 3rd party plagiarism checker. We suggest using Quetext, this tool is free and has a daily limit. We typically accept articles with 10% or less.
[x] Have you checked your article for readability? - Tool: Hemmingway
[x] Have you added sources for quotes and images that aren't yours?

Technical checks

[x] Are your code snippets properly formatted for syntax highlighting - see Syntax guide
[x] Have you checked your code runs correctly and you've highlighted all necessary dependencies for installation?
[x] Are the software programs and packages you're highlighting in your article up to date, using current versions and not deprecated?

Topic suggestion this closes

Remove the backticks and add the issue number below to link and close your Topic Suggestion (issue) when your article has been published (PR has been merged). See this video for more details.

This closes #3098

Finally, delete the article checklist notes in blockquotes and submit your PR. We look forward to reviewing your article.

Hi @Catemacharia You have unchecked boxes on your article checklist. Please note that all the items in the article checklist need to be followed and checked.

Plagiarism check done - Proceed.

Hi @Catemacharia You have unchecked boxes on your article checklist. Please note that all the items in the article checklist need to be followed and checked. Also, please add an introduction section above the Overview section.

Doing that ASAP @Bayler

@Catemacharia Are you still working on them? It's taking too long

@Catemacharia Are you still working on them? It's taking too long

Working on it right now @Bayler

@Catemacharia Are you still working on them? It's taking too long

@Bayler Check the introductory section, I have added a few lines.

@Catemacharia Are you still working on them? It's taking too long

@Bayler Check the introductory section, I have added a few lines.

You still haven't checked all the checkboxes

@Catemacharia Are you still working on them? It's taking too long

@Bayler Check the introductory section, I have added a few lines.

You still haven't checked all the check boxes. Let's not spend a lot of time tackling these basics.

@Catemacharia Are you still working on them? It's taking too long

@Bayler Check the introductory section, I have added a few lines.

You still haven't checked all the check boxes. Let's not spend a lot of time tackling these basics.

@Bayler , All images are screenshots that I took. I have no outsourced images, that's why I didn't check that box,

@Catemacharia Are you still working on them? It's taking too long

@Bayler Check the introductory section, I have added a few lines.

You still haven't checked all the check boxes. Let's not spend a lot of time tackling these basics.

@Bayler , All images are screenshots that I took. I have no outsourced images, that's why I didn't check that box,

I understand. Nevertheless, all check boxes need to be checked.

Hi @Catemacharia This is a great tutorial. I've really learned a lot reviewing it. Just a few corrections then we can move on to final review.

@Bayler Check out the new changes. I have updated them to reflect the few suggested corrections.

@Bayler Check out the new changes. I have updated them to reflect the few suggested corrections.
@Bayler Are all changes okay?

@Bayler Check out the new changes. I have updated them to reflect the few suggested corrections.

@Bayler Are all changes okay?

Please rename the file to wp-graphql-playbutton.png
create-a-headless-cms-website-using-wordpress-nextjs-and-graphql/wp-graphql-playbatton.png

@Bayler Check out the new changes. I have updated them to reflect the few suggested corrections.

@Bayler Are all changes okay?

Please rename the file to wp-graphql-playbutton.png
create-a-headless-cms-website-using-wordpress-nextjs-and-graphql/wp-graphql-playbatton.png

I have updated the file @Bayler

Overall great work 🚀


Properly bind cloudflare workers’ ctx.waitUntil and ctx.passThroughOnException

follow-up to #9345
this fixes usage of the cloudflare context API’s waitUntil and passThroughOnException utils. without this, invoking:
context.cloudflare.ctx.waitUntil(doAsyncWork());

results in TypeError: Illegal invocation when run in a remix app deployed to cloudflare workers. the version of waitUntil passed to getAssetFromKV also has to be bound properly, so i just hoisted the binding so that the correct version of the function can you used both with getAssetFromKV and to build the loadContext that gets passed to handleRemixRequest.
Testing Strategy:
i tested my remix app both locally (using remix vite:dev) and in the deployed workers version of the app, and using the bound version of waitUntil ensures that the app works in both environments.

Would you mind signing the CLA?

@brookslybrand @brophdawg11 thanks for looking into it, and sorry for the CLA delay. i signed it in a different PR so i thought i’d already done it, but i forgot that it hadn’t been merged, so i just cherry-picked the commit over.


Bookchop

Some background on my goals here.

Motivating examples:

For the Bhartṛhari project, want to extract the part corresponding to each verse from scanned books (whichever ones I have the patience to process).
For {AVOL}, want to have the text OCRed so that it is searchable, and maybe even TTS can run on it. (Remember Bhashini)

Big picture:

Reading from book scans is inconvenient for several reasons:

page layout is fixed, so hard to read on phone etc
scan quality may be poor, may require squinting to make out words
can't search
page breaks are often not meaningful: one page may contain multiple separate "units" (e.g. verses), or the same one may be split across multiple pages

The usual proposed solution to this is digitizing the page's text, usually starting with OCR and then proofreading it. This is mostly fine, but is “lossy”: the OCR may introduce errors that the proofreading does not catch. Plus, proofreading is time-consuming / requires a lot of attention.

So being paranoid about avoiding any data loss, I'd like some solution that doesn't lose the image, but "merely" annotates it with text and structure. (The solution to this may start with OCR.)

I had done something like this earlier: linked from this post, see this page (gif), or search in this PDF.

Not sure whether Ambuda's proofreading UI is the best home for this idea (as its goals may differ from mine: not everyone is so paranoid about errors, or as willing to tolerate images), but I'm starting with this.

These are some potential pieces:

Split the book into pages. [Already done / almost unavoidable.]
Split each page into lines. [OCR bounding boxes can help here, but may need manual verification/correction.]
Group the lines into blocks. [Manually, most likely.]
Be able to refer to the individual lines / blocks [and get the corresponding image?]


Implement auto reload when files changes

Migrated from https://github.com/labstack/echo/issues/277

This would be a very useful feature to have baked into Echo with some sort of development flag, or as mentioned when Debug is enabled. There was a third-party echo-livereload package but there was a breaking change in Echo that made it incompatible. Most generic implementations require proxying requests which isn't ideal.
I think this is a good feature to have natively implemented rather than just be a recipe. It's a small quality of life improvement that makes a big difference when making a lot of small changes to an application.

Is there any update on this? Restarting the server every time is tedious, atleast for local development


systemd still not working on wsl2

why still systemd services still not working on wsl2 ??
i am using arch on wsl2
and ubuntu 18.04 on wsl2
can you help plz to make systemd services works on wsl2 ?

A WSL user has posted how to set up systemd inside of WSL 2. You can view their repo here.

#994

A WSL user has posted how to set up systemd inside of WSL 2. You can view their repo here.

sadly the guide is only for debian-based wsl :(

@datdinhquoc actually now it also supports Arch with AUR packages: https://github.com/arkane-systems/genie#arch

A WSL user has posted how to set up systemd inside of WSL 2. You can view their repo here.

sadly the guide is only for debian-based wsl :(

There's an Ubuntu section that is working for me on Ubuntu 18.04 and apparently in 19.10 but not in 20.04.

A WSL user has posted how to set up systemd inside of WSL 2. You can view their repo here.

sadly the guide is only for debian-based wsl :(

There's an Ubuntu section that is working for me on Ubuntu 18.04 and apparently in 19.10 but not in 20.04.
Another trick is to fake the bash binary : https://github.com/shayne/wsl2-hacks

This repo broke my 20.04 installation of Ubuntu on WSL2

This article shows how to get systemd up and running on WSL2 which inturn will allow you to access Snaps. I found it while I was trying to figure out how to get Microk8s to work on WSL2 as Hyper-V blocks me from being able to go my normal route which was using Multipass. I was THIS close to uninstalling WSL2. Problem solved and I am off to the races. Hope this helps.
https://wsl.dev/wsl2-microk8s/

This article shows how to get systemd up and running on WSL2 which in turn will allow you to access Snaps. I found it while I was trying to figure out how to get Microk8s to work on WSL2 as Hyper-V blocks me from being able to go my normal route which was using Multipass. I was THIS close to uninstalling WSL2. Problem solved and I am off to the races. Hope this helps.
https://wsl.dev/wsl2-microk8s/

I've gotten systemd working via this, although he puts NOPASSWD: ALL in his %sudo group /etc/sudoers file which I would never do so it just means you need to enter sudo password everytime you start a session, which is a bit annoying but safer than having NOPASSWD...?!?!? Is there a way to do it by having a separate user to launch systemd with nopasswd just for that extra user and then enter a normal session for your default user?

This article shows how to get systemd up and running on WSL2 which in turn will allow you to access Snaps. I found it while I was trying to figure out how to get Microk8s to work on WSL2 as Hyper-V blocks me from being able to go my normal route which was using Multipass. I was THIS close to uninstalling WSL2. Problem solved and I am off to the races. Hope this helps.
https://wsl.dev/wsl2-microk8s/

I've gotten systemd working via this, although he puts NOPASSWD: ALL in his %sudo group /etc/sudoers file which I would never do so it just means you need to enter sudo password everytime you start a session, which is a bit annoying but safer than having NOPASSWD...?!?!? Is there a way to do it by having a separate user to launch systemd with nopasswd just for that extra user and then enter a normal session for your default user?


Any upcoming character counter changes?

Hello,
Wanted to ask if any changes in the libraries are planned to reflect this?
https://blog.twitter.com/express-even-more-in-140-characters
For example if a tweet is a reply then any user handles at the beginning and media URLs at the end shouldn't count add to character count.
Thanks!

Duplicate of #117


Kapta mobile auth backend CDK deployment

done in https://github.com/UCL/kapta-infrastructure/pull/9


Add models for HTTP endpoints

Bug/issue #, if applicable:
rdar://101408429
rdar://101409112
rdar://101408868
rdar://101408667
Summary
Add initial support for symbol graphs to model HTTP endpoints.
Dependencies
None.
Testing
See instructions in https://github.com/apple/swift-docc/pull/495
Checklist

[x] Added tests
[x] Ran the ./bin/test script and it succeeded
[x] Updated documentation if necessary

@swift-ci please test


Multiple response groups do not work

Given a valid BrowseNodeId, when I try to use multiple response groups with a lookup, the response comes back empty and with no error.
AmazonWrapper wrapper
var response = wrapper.BrowseNodeLookup(12345, AmazonResponseGroup.BrowseNodeInfo | AmazonResponseGroup.TopSellers)

It appears that responseGroup.ToString() contains a space between the response group names and is the source of the issue. When I do the following, I get the response I expect
var operation = new AmazonBrowseNodeLookupOperation();
operation.ParameterDictionary["ResponseGroup"] = (AmazonResponseGroup.BrowseNodeInfo | AmazonResponseGroup.TopSellers).ToString().Replace(" ", "");

If you fix it and push it let us know, I have to use this feature soon.

I have upload the new version


383 get connected subgraphs in an alchemicalnetwork

addresses #383

I'm not convinced that connected_subgraphs is the clearest language here. Most technically accurate would be connected_components, but given that components has a different meaning in openfe-world than in network theory world, I don't like that either.
Maybe subgraphs really is the best option?


Load vpdchart resources locally

Can this be changed so that it stores the html/css/js needed locally?  In my use case I can not reach out to vpdchart.com.  Thanks!

I will take it into consideration.


Is it possible to use in kaggle?

Hi,
I've been trying to get it to work on kaggle but i can't get it to compile. I was able to install torch torchvision and scipy by installing them in a directory that was already in the pythonpath, because by installing them normally they were not found.
Kaggle uses anaconda with python 3.7
I was getting also an error saying that cublas_api.h and cublas_v2.h were not found so i created a link for them and it was able to proceed building but with many errors and in the end it fails.
dain build on kaggle log pt1.txt
any help?
thanks

any solutions?


Configurable nginx value

There is a file upload size limitation of 20m when using the current Nginx config values. This is a decent size for most deployments however we are running into issues when trying to upload any file larger than this into Drupal, receiving an Nginx error message of 413 Request Entity Too Large.
The addition of a few lines will make the client_max_body_size Nginx value configurable for deployments that require larger file uploads.

Thanks so much looks good :D


Fix Twig's plain text class expression

Fixes #4060.

@microsoft-github-policy-service agree company="Library Solutions, LLC"


DRILL-6641: Fix columnValueCounts in ParquetGroupScanStatistics when ParquetGroupScan has RowGroupInfo without column statistics

@arina-ielchiieva, could you please review this PR?

+1, LGTM.


[BUG] Backuper v2.0.1 does not work in Paper 1.20.6 Build 65+

[04:37:50 ERROR]: Error occurred while enabling Backuper v2.0.1 (Is it up to date?)
java.lang.NoSuchFieldError: Class net.minecraft.server.MinecraftServer does not have member field 'net.minecraft.commands.Commands vanillaCommandDispatcher'
at Backuper-2.0.1.jar/ru.dvdishka.shade.commandapi.nms.NMS_Common.getBrigadierDispatcher(NMS_Common.java:353) ~[Backuper-2.0.1.jar:?]
at Backuper-2.0.1.jar/ru.dvdishka.shade.commandapi.CommandAPIBukkit.registerCommandNode(CommandAPIBukkit.java:641) ~[Backuper-2.0.1.jar:?]
at Backuper-2.0.1.jar/ru.dvdishka.shade.commandapi.CommandAPIHandler.register(CommandAPIHandler.java:664) ~[Backuper-2.0.1.jar:?]
at Backuper-2.0.1.jar/ru.dvdishka.shade.commandapi.AbstractCommandAPICommand.register(AbstractCommandAPICommand.java:307) ~[Backuper-2.0.1.jar:?]
at Backuper-2.0.1.jar/ru.dvdishka.shade.commandapi.CommandAPICommand.register(CommandAPICommand.java:60) ~[Backuper-2.0.1.jar:?]
at Backuper-2.0.1.jar/ru.dvdishka.shade.commandapi.Execution.register(Execution.java:38) ~[Backuper-2.0.1.jar:?]
at Backuper-2.0.1.jar/ru.dvdishka.shade.commandapi.AbstractCommandTree.register(AbstractCommandTree.java:66) ~[Backuper-2.0.1.jar:?]
at Backuper-2.0.1.jar/ru.dvdishka.shade.commandapi.CommandTree.register(CommandTree.java:32) ~[Backuper-2.0.1.jar:?]
at Backuper-2.0.1.jar/ru.dvdishka.shade.commandapi.ExecutableCommand.register(ExecutableCommand.java:236) ~[Backuper-2.0.1.jar:?]
at Backuper-2.0.1.jar/ru.dvdishka.backuper.backend.Initialization.initCommands(Initialization.java:190) ~[Backuper-2.0.1.jar:?]
at Backuper-2.0.1.jar/ru.dvdishka.backuper.Backuper.onEnable(Backuper.java:40) ~[Backuper-2.0.1.jar:?]
at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:287) ~[paper-api-1.20.6-R0.1-SNAPSHOT.jar:?]
at io.papermc.paper.plugin.manager.PaperPluginInstanceManager.enablePlugin(PaperPluginInstanceManager.java:202) ~[paper-1.20.6.jar:git-Paper-68]
at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.enablePlugin(PaperPluginManagerImpl.java:109) ~[paper-1.20.6.jar:git-Paper-68]
at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:519) ~[paper-api-1.20.6-R0.1-SNAPSHOT.jar:?]
at org.bukkit.craftbukkit.CraftServer.enablePlugin(CraftServer.java:609) ~[paper-1.20.6.jar:git-Paper-68]
at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:558) ~[paper-1.20.6.jar:git-Paper-68]
at net.minecraft.server.MinecraftServer.loadWorld0(MinecraftServer.java:681) ~[paper-1.20.6.jar:git-Paper-68]
at net.minecraft.server.MinecraftServer.loadLevel(MinecraftServer.java:440) ~[paper-1.20.6.jar:git-Paper-68]
at net.minecraft.server.dedicated.DedicatedServer.initServer(DedicatedServer.java:323) ~[paper-1.20.6.jar:git-Paper-68]
at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1142) ~[paper-1.20.6.jar:git-Paper-68]
at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:326) ~[paper-1.20.6.jar:git-Paper-68]
at java.base/java.lang.Thread.run(Unknown Source) ~[?:?]
[04:37:50 INFO]: [Backuper] Disabling Backuper v2.0.1
[04:37:50 INFO]: [Backuper] Backuper plugin has been disabled!

Specify your server core please

Ubuntu 22.04.4 LTS, paper-1.20.6 Build 68

Thanks for your report. One of the APIs was broken in 1.20.6 Build 65 and until it is not fixed the only thing I can recommend is to use Build 64

Did you try to run it on build 64?

I have not rolled back at this time but I do see the issue on the paper git between the version. At this time, I will just backup via startup script till issue in paper is patched.

Paper 1.20.6 support added in version 2.0.2


deleted doubled paragraph

deleted a doubled paragraph under '## Videoplayer anpassen'

:tada: This has been pushed live to https://developers.google.com/web/


Fix build PR doc workflow

The Furiosa docbuilding requires secrets.
PRs from forks need to be labeled build-pr-doc to run the workflow.

Maybe I need not fork for this


Need a tagged version

Can this be tagged?  We want to use this but want to ensure future updates to the master branch do not get deployed in our app without our knowledge.

done

:+1: Thank you :)


Recorded video goes faster than expectation

After I stopped and view the recording, I noticed the video play so much faster than I expected.
Demo video: https://youtu.be/fk8SokdpfD8
Settings: 1920x1080 90FPS
Other settings are in its default state.

Did you recorded this on a dedicated server? If you did, that's why it didn't work. In other case, check that engine synchronization is enabled in Mod Options > Minema > Engine overrides (I don't remember exact name, but something like that).

Nope, it was a singleplayer world. And Engine Overrides is enabled too.

Hm... it's weird. Are you sure it's not YouTube's issue, because YouTube shows that the video is at 48 FPS instead of 90FPS. Try recording a 60FPS video and play it in VLC instead of default video viewer app on your OS.

VLC, Sony Vegas, After Effects have the same problem.
I have to slow down the video before I could edit.

And yeah, 60 FPS also make the video goes fast.
Only 30 FPS works, but that's what I'm not intended.

Could you copy and paste here the encoder args in the Encoding category?

Cool, thanks a lot, I'll close the issue if it has solved.

It doesn't work, still giving the same, faulty result.

Then pastebin/gist the minem.cfg file. Also, which version of ffmpeg do you use? (maybe you could also pastebin one of the .log files from the movies folder?)

minema.cfg: https://pastebin.com/7knwz14j
Recent log: https://pastebin.com/b4Vw4uYN

You had engine speed set to 3.0 (which means the video will be 3 times as fast) 🤦♂
D:engineSpeed=3.0

Change it to 1.0, and everything should work fine. 😅

Thanks @mchorse for clearing that up 😄

@daipenger no problem! 👍

Turns out the problems come from the "CMDCam" mod. The mod doesn't want to sync with Minema so that's why I have such problem.
I tested it with D:engineSpeed=1.0 with modified FFmpeg parameters and It works!
( I think I need suggestion on Smooth Camera Movement for Cinematic Scene, maybe I should increase the camera movement time?)

@deilias
CMDCam runs its camera path in real time. You need something that ignores the frametimes and just does one step at each frame.
You can either use my BauerCam or @mchorse 's Aperture.
My minecraftforum page was deleted, so BauerCam doesn't have a manual right now. (Yeah, I should really fill the README file again) But in a nutshell, the keys 'j', 'k' and 'l' roll the camera, key 'p' creates a point and the rest is done by using '/cam'. It's a fairly simple and small mod.
Aperture on the other hand can do a bit more (and has a guide) 😅 So your choice all dependes on the kind of features you need.

I would recommend BauerCam as it's much easier to use and pretty much as simple as CMDCam/PixelCam/CamStudio. 🙂
But if you need very complex camera work, then check out Aperture (but mind that it has a steep learning curve). 😉

Thanks a lot guys!


Black Dahlia

Hi there!
I'm a huge fan of this as it's helped me play some childhood games with little to no issue. I'm currently testing out Black Dahlia (it's the second game by the folks who made Ripper) and while it opens and works no issue it looks like the game runs too fast. Specifically when you rotate the screen in gameplay. I played around with all of the FPS limiter options but it didn't seem to do anything. I don't suppose anyone would be able to help?
Kind regards,
Katie

Hmm, okay, funny update. I just downloaded the debug build so I could attach the log but this version of the .dll is running the game properly. No idea why that's the case but apparently I solved my own issue, haha. Sorry for all this!

Edit: It's mainly the fact that the debug log is slowing down the game so not perfect but a start.

Yeah, that's probably it, although the debug build should be slower even without logging. You can try to disable or reduce the logs to normal levels with the "LogLevel=info" or "LogLevel=none" settings, and see if it still runs slowly enough.
I'll check if it can be fixed properly later.

I did a quick check with the other log settings and it goes back to being too fast (a little slower than the regular build but not ideal).
Thanks for taking a look!

With the normal/debug version the screen rotation goes at the speed of light, the "fpslimiter" is ignored, with dgv2 the fps limiter activated crashes the game.
https://github.com/user-attachments/assets/336f73b6-af46-428e-b5cb-467be4915809

It can't be fixed with generic frame limiters. The game uses the Lock/Unlock DirectDraw APIs for drawing everything. Limiting it globally causes other problems, like uneven frame limiting, flickering cursor, or mouse clicks not registering most of the time. It needs to be patched in the game itself.
I think I found the relevant function to patch in bd_win.exe, and some delay is easy enough to add into it.
In the Brazilian Portuguese, French, Italian, and the v1.10 patched English version, the function's hex dump looks like this:
56 57 6A 00 8B 73 04 56 8B 3B 57 6A 00 6A 00 52
51 50 53 31 DB E8 86 42 01 00 89 D8 E8 3F 43 01
00 5F 5E C3 00 00 00 00 00 00 00 00 00 00 00 00

In the unpatched English versions, only 2 bytes are different:
56 57 6A 00 8B 73 04 56 8B 3B 57 6A 00 6A 00 52
51 50 53 31 DB E8 A6 42 01 00 89 D8 E8 5F 43 01
00 5F 5E C3 00 00 00 00 00 00 00 00 00 00 00 00

In the French version, the last line should be replaced with this:
00 5F 5E 6A 0A 2E FF 15 94 A2 4B 00 C3 00 00 00
In all other versions, it should be replaced with this:
00 5F 5E 6A 0A 2E FF 15 94 82 4B 00 C3 00 00 00
The 0A byte in the replacement is the number of milliseconds to delay, so you can tweak it slightly if you want.
There are other problems with the game, like the cursor trails, but I don't have time to patch all of them.
None of those have anything to do with DDrawCompat, so I'm closing this issue.


nokogiri-<IP_ADDRESS>-x64-mingw32 - missing ruby 2.2 so

simple test: require 'nokogiri' fails
ruby -v n_test.rb
ruby 2.2.2p86 (2015-03-03 revision 49825) [x64-mingw32]
C:/apps/redmine_dev/ruby/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require': cannot load such file -- nokogiri/nokogiri (LoadError)
        from C:/apps/redmine_dev/ruby/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        from C:/apps/redmine_dev/ruby/lib/ruby/gems/2.2.0/gems/nokogiri-<IP_ADDRESS>-x64-mingw32/lib/nokogiri.rb:29:in `rescue in <top (required)>'
        from C:/apps/redmine_dev/ruby/lib/ruby/gems/2.2.0/gems/nokogiri-<IP_ADDRESS>-x64-mingw32/lib/nokogiri.rb:25:in `<top (required)>'
        from C:/apps/redmine_dev/ruby/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:128:in `require'
        from C:/apps/redmine_dev/ruby/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:128:in `rescue in require'
        from C:/apps/redmine_dev/ruby/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:39:in `require'
        from n_test.rb:1:in `<main>'

gem unpack nokogiri-<IP_ADDRESS>-x64-mingw32.gem
lib\nokogiri\2.2\nokogiri.so is missing
maybe you could bundle the dlls in the gem (would save some space with multiple ruby version support)

Ruby 2.2.x was not listed in .cross_rubies, so I've just added it.
I'll try cross-building nokogiri for Windows shortly, and if it succeeds the next release will have the file.  Thanks for your patience!

no problem - if you cross compile, what is the target thread model: posix or win32
ruby on windows uses native win32

I believe it has always been win32, because our building environment built with Vagrant is dedicated for building ruby extensions.
vagrant@precise64:~$ mingw/mingw64/bin/x86_64-w64-mingw32-gcc -v
Using built-in specs.
COLLECT_GCC=mingw/mingw64/bin/x86_64-w64-mingw32-gcc
COLLECT_LTO_WRAPPER=/home/vagrant/mingw/mingw64/bin/../libexec/gcc/x86_64-w64-mingw32/4.7.2/lto-wrap
per
Target: x86_64-w64-mingw32
Configured with: /home/ruben/mingw-w64/src/gcc/configure --host=x86_64-linux-gnu --build=x86_64-linu
x-gnu --target=x86_64-w64-mingw32 --with-sysroot=/home/ruben/mingw-w64/linux64mingw64/mingw64 --pref
ix=/home/ruben/mingw-w64/linux64mingw64/mingw64 --with-gmp=/home/ruben/mingw-w64/prereq/x86_64-linux
-gnu/install --with-mpfr=/home/ruben/mingw-w64/prereq/x86_64-linux-gnu/install --with-mpc=/home/rube
n/mingw-w64/prereq/x86_64-linux-gnu/install --with-ppl=/home/ruben/mingw-w64/prereq/x86_64-linux-gnu
/install --with-cloog=/home/ruben/mingw-w64/prereq/x86_64-linux-gnu/install --disable-ppl-version-ch
eck --disable-cloog-version-check --enable-cloog-backend=isl --with-host-libstdcxx='-static -lstdc++
 -lm' --enable-shared --enable-static --enable-threads=win32 --enable-plugins --disable-multilib --e
nable-languages=c,lto,c++,objc,obj-c++,fortran,java --enable-libgomp --enable-fully-dynamic-string -
-enable-libstdcxx-time --disable-nls --disable-werror --enable-checking=release --with-gnu-as --with
-gnu-ld --with-pkgversion=rubenvb-4.7.2-release<EMAIL_ADDRESS> CC= CFLAGS='-O2 -march=nocona -mtune=core2 -fomit-frame-pointer -momit-leaf-frame-pointer' LDFLAGS=
Thread model: win32
gcc version 4.7.2 (rubenvb-4.7.2-release)

judging from the size of the .so files, the 4 dlls are linked in. wouldn't it make more sense to include the dlls and link dynamically to save space (see mysql2 gem - vendor dir https://rubygems.org/downloads/mysql2-0.3.18-x64-mingw32.gem)

@ABaumgaertner OK, but that sounds like another issue, so if you strongly think so please file a new issue for it.

I'm currently trying out this PR to cross-build nokogiri with a binary for Ruby 2.2: https://github.com/tjschuck/rake-compiler-dev-box/pull/20

Looks like we'll have to wait until this PR makes it into trunk and then gets merged to ruby_2_2 for the next patch release of the series (2.2.2), or someone prepares a custom build of ruby 2.2 that incorporates the patch.

issue  #1260 created for DLL dynamic linking
thanks for your support so far!

Is that include ruby 2.2 on other operating system (Like OS X) ?

Got it working with Ruby 2.2.1 on Ubuntu; I think the current issue is a compilation problem on Windows.

@richpeck  - Thanks for the enthusiasm, and for updating all the open Windows issues. Obviously you're up to date on what's going on, but just to make sure, I want to remind you and everyone else that we don't currently support compiling native windows binaries. If that's what you want to support, please join the conversation at #1190.
@knu - Thanks for responding. Worth noting is that there was already a ticket I had been treating as the "master" for 2.2 support and closing out reports like this as duplicates, #1256.
@guillaumemaka are you experiencing issues with Ruby 2.2 support on OSX? If so, please open a new ticket.
I'm closing this ticket as there doesn't seem to be any new outstanding action items beyond the two tickets I've reference above. Please let me know if I'm mistaken and we can discuss reopening.

rollback to ruby version under 2.1.5 will solve this issue

hey guys, is the following error (ruby 2.2.1p85 (2015-02-26 revision 49769) [x64-mingw32]) related to what you're discussing here?
[1] pry(main)> require 'nokogiri'
LoadError: cannot load such file -- nokogiri/nokogiri
from C:/Ruby22-x64/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'

Is there a quick fix I could I could use in order to not have to switch back to an older Ruby version?
Thanks

+1
C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/nokogiri-<IP_ADDRESS>-x64-mingw32/lib/nokogiri.rb:29:in require': cannot load such file -- nokogiri/nokogiri (LoadError)         from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/nokogiri-<IP_ADDRESS>-x64-mingw32/lib/nokogiri.rb:29:in rescue in <top (required)>'
from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/nokogiri-<IP_ADDRESS>-x64-mingw32/lib/nokogiri.rb:25:in <top (required)>'         from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/loofah-2.0.3/lib/loofah.rb:3:in require'
from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/loofah-2.0.3/lib/loofah.rb:3:in <top (required)>'         from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/rails-html-sanitizer-1.0.2/lib/rails-html-sanitizer.rb:2:in require'

Please!  This breaks the "Getting Started" tutorial right out the door (http://guides.rubyonrails.org/getting_started.html).  I am on Windows.  Exact same message as @ginolon

+1
$ rails generate devise:install
c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/nokogiri-<IP_ADDRESS>-x64-mingw32/lib/nokogiri.rb:29:in `require': cannot load such file -- nokogiri/nokogiri (LoadError)
        from c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/nokogiri-<IP_ADDRESS>-x64-mingw32/lib/nokogiri.rb:29:in `rescue in <top (required)>'
        from c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/nokogiri-<IP_ADDRESS>-x64-mingw32/lib/nokogiri.rb:25:in `<top (required)>'
        from c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/loofah-2.0.3/lib/loofah.rb:3:in `require'
        from c:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/loofah-2.0.3/lib/loofah.rb:3:in `<top (required)>'


Infinite decimals in text when 2 only in numbers

The result of an operation can be writed with billions in decimals when the result arrounded in numbers is only with 2 decimals

Hi Lidyfab,
The problem is that the cell content is not rounded, only its formatting. The solution is to use the new number format of LibreOffice 7.5 (https://wiki.documentfoundation.org/ReleaseNotes/7.5#Default_“spell_out”_number_and_currency_formats), or to round the cell content with ROUND, e.g.
=NUMBERTEXT(ROUND(BQ55;2);"fr")

Thanks for the bug report!
Best regards,
László


Fix duo authorization without preferred device

Description

Fixes handling of the case when there is no preferred_device input in the duo login form.
Related Issue

https://github.com/Nike-Inc/gimme-aws-creds/issues/478
Motivation and Context

Fixes authorization for users with Duo hardware tokens.
How Has This Been Tested?

Added a test with a new fixture login-form that is based on the actual service response.
Tested the fixed case locally by running the tool.
Screenshots (if appropriate):
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[x] I have added tests to cover my changes.
[x] All new and existing tests passed.

@epierce, could you please take a look at this change


[stable/prometheus] Support tmpl files which are not YAML (#6798)

Signed-off-by: Brooks Garrett<EMAIL_ADDRESS>What this PR does / why we need it:
Supports differentiating between yaml alertmanagerFiles and templates. Files that end in .yaml will be included with and added | as front matter. Other files will be included verbatim since they already have a string literal '|' in their content in the values yaml file.
Which issue this PR fixes

fixes #6798

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

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

@brooksgarrett I don't get what this PR does, can you give a concrete example?

Customizing notification templates is a core function of alertmanager and really the only way to make notifications via Slack useful. For context: https://harthoover.com/pretty-alertmanager-alerts-in-slack/
The format of the file for custom notifications is not YAML. As such, to include it in values.yaml you must use a string literal |. When this string literal is processed in the template, it does not render properly and adds an extra | in the rendered file. The PR only appends a string literal if the source file is YAML and thus does not begin with the string literal character |.
Example values.yaml:
alertmanagerFiles:
  alertmanager.yml:
    global:
      slack_api_url: https://hooks.slack.com/services/some/secret
    receivers:
    - name: default-receiver
      # slack_configs:
      #  - channel: '@you'
      #    send_resolved: true
    - name: test
      slack_configs:
      - channel: '#alert-test'
        send_resolved: true
        title: '{{ template "custom_title" . }}'
        text: '{{ template "custom_slack_message" . }}'
    route:
      routes:
      - receiver: 'test'
        match_re:
          audience: test
    templates:
    - /etc/config/notifications*.tmpl
  notificationsSlack.tmpl: |
    {{ define "slack.default.username" }}MyAlerts{{ end }}
    {{ define "__single_message_title" }}{{ range .Alerts.Firing }}{{ .Labels.alertname }} @ {{ .Annotations.summary }}{{ end }}{{ range .Alerts.Resolved }}{{ .Labels.alertname }} @ {{ .Annotations.summary }}{{ end }}{{ end }}
    {{ define "custom_title" }}[{{ .Status | toUpper }}{{ if eq .Status "firing" }}:{{ .Alerts.Firing | len }}{{ end }}] {{ if or (and (eq (len .Alerts.Firing) 1) (eq (len .Alerts.Resolved) 0)) (and (eq (len .Alerts.Firing) 0) (eq (len .Alerts.Resolved) 1)) }}{{ template "__single_message_title" . }}{{ end }}{{ end }}
    {{ define "custom_slack_message" }}
    {{ if or (and (eq (len .Alerts.Firing) 1) (eq (len .Alerts.Resolved) 0)) (and (eq (len .Alerts.Firing) 0) (eq (len .Alerts.Resolved) 1)) }}
    {{ range .Alerts.Firing }}{{ .Annotations.description }}{{ end }}{{ range .Alerts.Resolved }}{{ .Annotations.description }}{{ end }}
    {{ else }}
    {{ if gt (len .Alerts.Firing) 0 }}
    *Alerts Firing:*
    {{ range .Alerts.Firing }}- {{ .Annotations.summary }}: {{ .Annotations.description }}
    {{ end }}{{ end }}
    {{ if gt (len .Alerts.Resolved) 0 }}
    *Alerts Resolved:*
    {{ range .Alerts.Resolved }}- {{ .Annotations.summary }}: {{ .Annotations.description }}
    {{ end }}{{ end }}
    {{ end }}
    {{ end }}

notificationsSlack.conf as rendered before PR:
|
{{ define "slack.default.username" }}MyAlerts{{ end }}
    {{ define "__single_message_title" }}{{ range .Alerts.Firing }}{{ .Labels.alertname }} @ {{ .Annotations.summary }}{{ end }}{{ range .Alerts.Resolved }}{{ .Labels.alertname }} @ {{ .Annotations.summary }}{{ end }}{{ end }}
    {{ define "custom_title" }}[{{ .Status | toUpper }}{{ if eq .Status "firing" }}:{{ .Alerts.Firing | len }}{{ end }}] {{ if or (and (eq (len .Alerts.Firing) 1) (eq (len .Alerts.Resolved) 0)) (and (eq (len .Alerts.Firing) 0) (eq (len .Alerts.Resolved) 1)) }}{{ template "__single_message_title" . }}{{ end }}{{ end }}
    {{ define "custom_slack_message" }}
    {{ if or (and (eq (len .Alerts.Firing) 1) (eq (len .Alerts.Resolved) 0)) (and (eq (len .Alerts.Firing) 0) (eq (len .Alerts.Resolved) 1)) }}
    {{ range .Alerts.Firing }}{{ .Annotations.description }}{{ end }}{{ range .Alerts.Resolved }}{{ .Annotations.description }}{{ end }}
    {{ else }}
    {{ if gt (len .Alerts.Firing) 0 }}
    *Alerts Firing:*
    {{ range .Alerts.Firing }}- {{ .Annotations.summary }}: {{ .Annotations.description }}
    {{ end }}{{ end }}
    {{ if gt (len .Alerts.Resolved) 0 }}
    *Alerts Resolved:*
    {{ range .Alerts.Resolved }}- {{ .Annotations.summary }}: {{ .Annotations.description }}
    {{ end }}{{ end }}
    {{ end }}
    {{ end }}

notificationsSlack.conf as rendered after PR:
{{ define "slack.default.username" }}MyAlerts{{ end }}
    {{ define "__single_message_title" }}{{ range .Alerts.Firing }}{{ .Labels.alertname }} @ {{ .Annotations.summary }}{{ end }}{{ range .Alerts.Resolved }}{{ .Labels.alertname }} @ {{ .Annotations.summary }}{{ end }}{{ end }}
    {{ define "custom_title" }}[{{ .Status | toUpper }}{{ if eq .Status "firing" }}:{{ .Alerts.Firing | len }}{{ end }}] {{ if or (and (eq (len .Alerts.Firing) 1) (eq (len .Alerts.Resolved) 0)) (and (eq (len .Alerts.Firing) 0) (eq (len .Alerts.Resolved) 1)) }}{{ template "__single_message_title" . }}{{ end }}{{ end }}
    {{ define "custom_slack_message" }}
    {{ if or (and (eq (len .Alerts.Firing) 1) (eq (len .Alerts.Resolved) 0)) (and (eq (len .Alerts.Firing) 0) (eq (len .Alerts.Resolved) 1)) }}
    {{ range .Alerts.Firing }}{{ .Annotations.description }}{{ end }}{{ range .Alerts.Resolved }}{{ .Annotations.description }}{{ end }}
    {{ else }}
    {{ if gt (len .Alerts.Firing) 0 }}
    *Alerts Firing:*
    {{ range .Alerts.Firing }}- {{ .Annotations.summary }}: {{ .Annotations.description }}
    {{ end }}{{ end }}
    {{ if gt (len .Alerts.Resolved) 0 }}
    *Alerts Resolved:*
    {{ range .Alerts.Resolved }}- {{ .Annotations.summary }}: {{ .Annotations.description }}
    {{ end }}{{ end }}
    {{ end }}
    {{ end }}

Is anything further needed?

Ignored and closing.

I have a similar problem, @brooksgarrett - did you find a different workaround? Any idea why this didn't make it to master?
Thanks!

It would still be really nice to get this merged, as there's no other good way to do this currently.
Any chance you can reopen and merge, @gianrubio ?
The other options are all basically to do something outside of the chart. Several issues have been opened about this, with various workarounds proposed. The fix here feels to me like the best of the lot.
https://github.com/helm/charts/issues/5608
https://github.com/helm/charts/issues/6798 (the one this PR is for)
https://github.com/helm/charts/issues/14021
https://github.com/helm/charts/issues/18603

I never did. I just forked, use my private copy, and moved on.
On Fri, Nov 22, 2019, 17:27 Jake Maul<EMAIL_ADDRESS>wrote:

It would still be really nice to get this merged, as there's no other good
way to do this currently.
Any chance you can reopen and merge, @gianrubio
https://github.com/gianrubio ?
The other options are all basically to do something outside of the chart.
Several issues have been opened about this, with various workarounds
proposed. The fix here feels to me like the best of the lot.
#5608 https://github.com/helm/charts/issues/5608
#6798 https://github.com/helm/charts/issues/6798 (the one this PR is
for)
#14021 https://github.com/helm/charts/issues/14021
#18603 https://github.com/helm/charts/issues/18603
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/helm/charts/pull/8230?email_source=notifications&email_token=AABGZOYYIU7W6MFE757KZXTQVBMFRA5CNFSM4FZKRWUKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEE7BR5A#issuecomment-557717748,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABGZO6CDFBLH2JWXVCTHDLQVBMFRANCNFSM4FZKRWUA
.

Can this please see some action?  Not being able to add templates for our alertmanager notifications is a giant pain.

I currently struggle with the same issue.
@zanhsieh @gianrubio

Same here.  Would be great if this could be included upstream, so we can remove our fork.

@temal-  and @mjhoffman65
If you guys still need this, please PR it with original @brooksgarrett approach and link to this ticket. I don't have permission to reopen PR. Thank you.

@zanhsieh Please see PR https://github.com/helm/charts/pull/21208


Update es-module-shims and add main to package.json

Just some small changes, For some reason, missing main is throwing error while importing !!

@JayaKrishnaNamburu For main, could you please add also cjs support?

ok, let me know when this is ready for merge!


[NOT AN ISSUE!!!!! 😡] whats the ui from

I've seen this UI on this project and Bruce and other ones aswell, I just wanna know what this is from and where I can get it.

https://github.com/bmorcelli/ESP-Web2SD-Mgr
https://github.com/smford/esp32-asyncwebserver-fileupload-example


[BUG] Fix the V14_udpate_sep24_fields.sql not applied correctly and turned on migration file naming validation

Description
Fix the V14_udpate_sep24_fields.sql not applied correctly. Rename V14_update_sep24_fields.sql to V15_update_sep24_fields.
Context
Bug fixes

I think you also need to drop the field from JdbcSep24Transaction.java

Let's bump the version too.

Will bump the version in the release process.


Textmate grammar: prevent line comments from breaking block comments (closes #6281)

Fixes https://github.com/rust-analyzer/rust-analyzer/issues/6281.
Previously, line comments were able to break block comments by essentially commenting out the closing */, resulting in a never-ending comment. This PR splits block comments into a separate repository group to fix this problem.
Since the comment scopes also include ignored parameters and inferred types, I've added the change proposed by @bnjjj in https://github.com/rust-analyzer/rust-analyzer/pull/6317, in order to close https://github.com/rust-analyzer/rust-analyzer/issues/6311 as well.

bors r+


Move aggregation: method definition to feature config

What
Refactor aggregation so it grabs parameter aggregation methods from manifest context.
Why
This supports the deprecation of params.ts and simplifies how we configure the aggregation feature.
Context
The params.ts file is currently used to grab the aggregation method that the aggregate feature should use to aggregate the values for a given parameter across time or across components. This can be moved into the aggregate feature config.
This means you only have to provide the information when it is actually needed.
This is what the config should look like in the manifest:
aggregation: metrics:
  - 'cpu/utilization'
    method: sum
  - cpu/energy
    method: sum
  type: 'both’

Prerequisites/resources
none
SoW (scope of work)

[ ] refactor aggregation feature to get its method value from manifest config
[ ] documentation updated
[ ] test cases and example manifests updated

Acceptance criteria

[ ] aggregation feature gets its method values from manifest config
GIVEN the aggregation feature is updated
WHEN I run the following manifest using if-run -m manifest.yml -s

name: Aggregation
description: Apply both `horizontal` and `vertical` aggregations
aggregation:
  metrics:
    - 'cpu/utilization'
     method: sum
    - 'cpu/energy'
      method: sum
  type: 'both'
initialize:
  plugins:
    "sum":
      path: "builtin"
      method: Sum
      global-config:
        input-parameters:
          - cpu/energy
          - network/energy
        output-parameter: energy-sum
tree:
  children:
    application:
      pipeline:
        - sum
      children:
        uk-west:
          children:
            server-1:
              inputs:
                - timestamp: '2024-02-26 00:00:00'
                  duration: 300
                  cpu/utilization: 89
                  cpu/energy: 30
                  network/energy: 1
                - timestamp: '2024-02-26 00:05:00'
                  duration: 300
                  cpu/utilization: 59
                  cpu/energy: 30
                  network/energy: 1
            server-2:
              inputs:
                - timestamp: '2024-02-26 00:00:00'
                  duration: 300
                  cpu/utilization: 24
                  network/energy: 1
                  cpu/energy: 20
                - timestamp: '2024-02-26 00:05:00'
                  duration: 300
                  cpu/utilization: 27
                  cpu/energy: 10
                  network/energy: 1

AND the params.ts file has been deleted from IF
THEN the aggregate method should operate using the method values given in the manifest and return the following data:
name: Aggregation
description: Apply both `horizontal` and `vertical` aggregations
aggregation:
  metrics:
    - 'cpu/utilization'
     method: sum
    - 'cpu/energy'
      method: sum
  type: 'both'
initialize:
  plugins:
    sum:
      path: builtin
      method: Sum
      global-config:
        input-parameters:
          - cpu/energy
          - network/energy
        output-parameter: energy-sum
execution:
  command: >-
    /home/user/.npm/_npx/1bf7c3c15bf47d04/node_modules/.bin/ts-node
    /home/user/Code/if/src/index.ts -m manifests/features/aggregate.yml -s
  environment:
    if-version: 0.4.0
    os: linux
    os-version: 5.15.0-107-generic
    node-version: 21.4.0
    date-time: 2024-06-14T11:01:43.663Z (UTC)
    dependencies:
      - '<EMAIL_ADDRESS>      - '<EMAIL_ADDRESS>      - '<EMAIL_ADDRESS>      - '<EMAIL_ADDRESS>      - '<EMAIL_ADDRESS>      - '<EMAIL_ADDRESS>      - '<EMAIL_ADDRESS>      - '<EMAIL_ADDRESS>      - '<EMAIL_ADDRESS>      -<EMAIL_ADDRESS>      -<EMAIL_ADDRESS>      -<EMAIL_ADDRESS>      -<EMAIL_ADDRESS>      -<EMAIL_ADDRESS>      -<EMAIL_ADDRESS>      -<EMAIL_ADDRESS>      -<EMAIL_ADDRESS>      -<EMAIL_ADDRESS>      -<EMAIL_ADDRESS>      -<EMAIL_ADDRESS>      -<EMAIL_ADDRESS>      -<EMAIL_ADDRESS>      -<EMAIL_ADDRESS>      -<EMAIL_ADDRESS>      -<EMAIL_ADDRESS>      -<EMAIL_ADDRESS>      -<EMAIL_ADDRESS>      -<EMAIL_ADDRESS>  status: success
tree:
  children:
    application:
      pipeline:
        - sum
      children:
        uk-west:
          children:
            server-1:
              inputs:
                - timestamp: '2024-02-26 00:00:00'
                  duration: 300
                  cpu/utilization: 89
                  cpu/energy: 30
                  network/energy: 1
                - timestamp: '2024-02-26 00:05:00'
                  duration: 300
                  cpu/utilization: 59
                  cpu/energy: 30
                  network/energy: 1
              outputs:
                - timestamp: '2024-02-26 00:00:00'
                  duration: 300
                  cpu/utilization: 89
                  cpu/energy: 30
                  network/energy: 1
                  energy-sum: 31
                - timestamp: '2024-02-26 00:05:00'
                  duration: 300
                  cpu/utilization: 59
                  cpu/energy: 30
                  network/energy: 1
                  energy-sum: 31
              aggregated:
                cpu/utilization: 74
                cpu/energy: 60
            server-2:
              inputs:
                - timestamp: '2024-02-26 00:00:00'
                  duration: 300
                  cpu/utilization: 24
                  network/energy: 1
                  cpu/energy: 20
                - timestamp: '2024-02-26 00:05:00'
                  duration: 300
                  cpu/utilization: 27
                  cpu/energy: 10
                  network/energy: 1
              outputs:
                - timestamp: '2024-02-26 00:00:00'
                  duration: 300
                  cpu/utilization: 24
                  network/energy: 1
                  cpu/energy: 20
                  energy-sum: 21
                - timestamp: '2024-02-26 00:05:00'
                  duration: 300
                  cpu/utilization: 27
                  cpu/energy: 10
                  network/energy: 1
                  energy-sum: 11
              aggregated:
                cpu/utilization: 25.5
                cpu/energy: 30
          outputs:
            - cpu/utilization: 56.5
              cpu/energy: 50
              timestamp: '2024-02-26 00:00:00'
              duration: 300
            - cpu/utilization: 43
              cpu/energy: 40
              timestamp: '2024-02-26 00:05:00'
              duration: 300
          aggregated:
            cpu/utilization: 49.75
            cpu/energy: 90
      outputs:
        - cpu/utilization: 56.5
          cpu/energy: 50
          timestamp: '2024-02-26 00:00:00'
          duration: 300
        - cpu/utilization: 43
          cpu/energy: 40
          timestamp: '2024-02-26 00:05:00'
          duration: 300
      aggregated:
        cpu/utilization: 49.75
        cpu/energy: 90
  outputs:
    - cpu/utilization: 56.5
      cpu/energy: 50
      timestamp: '2024-02-26 00:00:00'
      duration: 300
    - cpu/utilization: 43
      cpu/energy: 40
      timestamp: '2024-02-26 00:05:00'
      duration: 300
  aggregated:
    cpu/utilization: 49.75
    cpu/energy: 90

@manushak @narekhovhannisyan please review AC to see if it all looks good

blocked until #763


Add alias for dotnet workload repair command

dotnet workload repair - Repairs workloads installations. Introduced with .NET 6 SDK.
The dotnet workload repair command reinstalls all installed workloads. Workloads are made up of multiple workload packs and it's possible to get into a state where some installed successfully but others didn't. For example, a dotnet workload install command might not finish installing because of a dropped internet connection.
Docs: https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-workload-repair

Please assign it to me


update FCS and FSharp.Core for the new release

this needs to wait for proj info before being merged


Walkthrough page not move on initial interaction

This is the first page but if you look at the pip indicator it's clearly from the second page

It looks interesting. If we move forward then backward until the first item then move forward, things just work :D .
I will need to investigate more the cause.


Discussion about permissions

I was surprised to see I can't merge a change to fix the problem in our run_update workflow (see here) with the fix now waiting in #23, and tested out in a fork to make sure it will make the change as intended.
It would be beneficial to allow developers to add hotfixes like these outside of the usual PR cycle. (Making a fork is a little tedious, and I don't know if I'd remember to go back and check things indeed worked if I waited for the end of a review.)
As an internal tool, I believe we should be able to trust people to use their best judgement. When the project gets more stable we could revisit restricting it completely?

I'd advocate for continuing to have branch protection for all shared projects.
There are some process work-arounds that might be beneficial:

everyone on the team can create branches, so shouldn't need to create forked repos for each change
adding reviewers from self-selected list of people-who-are-happy-to-review.

The Eeny slack bot can help
the lincc-frameworks/reviewers team in this github organization can auto-select a reviewer

be aggressive when asking for a review, and don't be shy about nagging if a review is taking too long
Use auto-merge on small PRs so they can be merged immediately after getting all of the necessary approvals

Some of these (branch creation permissions, auto-merge functionality) need to be enabled on a per-repo basis, so if you notice any repos where these actions aren't possible, please escalate.

Following up our in-person discussion: despite branches not providing all the features of forks in a gihub acitons/github pages oriented repo like this, we ruled in favor of branch protection. Furthermore, I am not to feel like any PR is too small/naggy and should feel free to make them and add Melissa as a reviewer freely. For example, even a one-liner like 23, and even if it were still just experimental (ie, if I had wanted to merge it without checking on a fork that it would work).


Getters in modules are only reactive to a single state variable in that module

I'm submitting a ...
[ X ] bug report

Summary

Getters in modules are only reactive to a single state variable of the module.

Other information

Steps to reproduce:
export class MyModule {

  @State()
  public a: number;
  public b: number;

  public constructor(nb: number = 1, nb2: number = 2) {
    this.a = nb2
    this.b = nb;
  }

  @Mutation()
  public setA(nb: number) {
    this.a = nb;
  }

  @Mutation()
  public setB(nb: number) {
    this.b = nb;
  }

  @Getter()
  public get sumAB() {
    return this.a + this.b
  }
}

In Chrome dev console:

Although setB is correctly setting the state of "b", the value of sumAB will only be recomputed when the state of "a" has changed.
No matter what, getters in modules can only be reactive to a single piece of state in that module.
Note that, if the code above is placed in the store root instead of a module, it will run as expected, being reactive to both "a" and "b" state.

As a workaround, I'm storing all my state in the root store, and only putting getters / actions / mutations in modules. Getters in modules seem to be reactive to multiple pieces of state if they're in root, just not if they're in the module itself.

Oops, never mind, so I realized I just needed to add state decorators in front of each piece of state, yeesh


list of selected nodes

I am new to pymapdl, I would like to have the following feature but I could not find it in the documentation.

After issuing the command of nsel, is there a way to have a list that contains all the selected node numbers?
Can the selected node numbers be ordered based on the node's x coordinate?

The feature 1 could be extended to all other entities, like kp, line, area, volume, elem.
The feature 2 could be extended to all other properties, like x, y, z, components
this feature is especially useful to create the coupling dof between two sets of nodes.
Thanks.

Hi @trymelz
Regarding your questions:

You can get the list of nodes using: mapdl.get_array('NODE', item1='NLIST').
The mapdl.get_array method is a wrapper of apdl *VGET command, hence you could use it also to get the coordenates of all the nodes issuing:

n_nodes = mapdl.get(entity='node', item1='count')
nodes_coord = np.zeros((int(n_nodes), 3))

for each_axis, each_coord in enumerate(['X', 'Y', 'Z']):
    nodes_coord[:, each_axis] = mapdl.get_array(entity="NODE", entnum="0", item1="LOC", it1num=each_coord, item2="", it2num="", kloop="")

This approach could be extended to KP, ELEM, VOLU, etc.

You can select nodes based on location using:

mapdl.nsel(type_= 'S', item='LOC', comp='X', vmin='0')
id_nodes = mapdl.get_array('NODE', item1='NLIST')

Any APDL command has an equivalent PyMAPDL command, hence you can always use them to build a similar workflow in PyMAPDL.
I hope this help. I'm closing the issue, but if it is not fully answered, feel free to reopen it!
Regards!


Support MoltenVK

Fixed loading of the "__Internal" library for iOS, iOS Simulator and MacCatalyst using the GetMainProgramHandle method from Net7.0.
And add package with MoltenVK libraries

Working examples can be found here: https://github.com/zvasya/VulkanExample
Updated packages are in the LocalPackages folder.

@dotnet-policy-service agree

I'm probably missing context here - I'm not really surprised that this works, but I'd appreciate if the relevant context is added here or even better the new attribute has some comment to explain why it's necessary.
(Using __Internal works fine for Sdl, right? Why is the attribute not necessary there?)

I'm probably missing context here - I'm not really surprised that this works, but I'd appreciate if the relevant context is added here or even better the new attribute has some comment to explain why it's necessary.
(Using __Internal works fine for Sdl, right? Why is the attribute not necessary there?)

We discuss this with Perksey at https://discord.com/channels/521092042781229087/607634593201520651/1149730272754020384


feat: added storage/onpremise/rabbitmq

RabbitMQ module :
Deploy ok, but not tested yet.
TODO :

output "kubernetes_service" for  epmd, amqp, dist, stats

 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.


#135842531 effective landing page ui

What does this PR do?
Users should see a landing page with effective UI/UX
Description of Task to be completed?
Users should be able to see an overview of what the game is about, how it's played and how it can be used to donate to charity and also see call to action buttons that lead them to signup or signin
How should this be manually tested?
Run the project to observe the UI

@andela-cwekesa
closing this until we have a response on the design.

You'll make a PR once it's been approved

Okay.I am waiting for her response


Retrievals not working

Likely due to lotus version upgrade causing changes to the retrieval RPC call, submitted retrievals via the endpoint are instantly failing with the following error:
"ErrorMessage": "RPC error (-32601): method 'Filecoin.ClientRetrieveWithEvents' not found",

We should fix this or revert back to an older lotus version per discussion in sync on Dec 3.

It looks like deployments currently re-deploy lotus with whatever's at https://hub.docker.com/r/coryschwartz/lotus/tags
Would be great if we can pin it to lotus v1.13.1 for now

The image tag is set through the controller API when the bot is created

it looks like that is linked against
https://github.com/filecoin-project/helm-charts/blob/master/charts/lotus-bundle/values.yaml#L107
is there an easy way to pin lotus, rather than ending up with whatever is
in 'nightly'?

I see a place to specify lotus tag in dealbot, actually.
@Deep - we should try making a bot where that bottom field on the
controller is not the default 'nightly', but rather 'v1.13.1'
On Tue, Dec 7, 2021 at 1:30 PM Will Scott @.***> wrote:

it looks like that is linked against
https://github.com/filecoin-project/helm-charts/blob/master/charts/lotus-bundle/values.yaml#L107
is there an easy way to pin lotus, rather than ending up with whatever is
in 'nightly'?

Just tried to deploy one, lets see if it works! Left everything the same, just added the tag v1.13.1.

@willscott - does this fix the RPC call issue or still requires additional wiring for retrievals to work? I have not been tracking the changes for v1.13

It should not cause "method 'Filecoin.ClientRetrieveWithEvents' not found" errors 🤞

oh wow, @willscott I think that's actually a bug. We are deploying nightly regardless of what we supply throught he API.
@dkkapur I made sure you're going to be running lotus v1.13.1 on that node, since that is clearly the intention. but it did deploy with lotus:nightly just now.

@coryschwartz thanks - can confirm that some of the retrievals I manually queued up today morning worked.
Waiting for feedback from Slingshot side to see if bulk submissions via endpoint are going through fine as well.

Rollback worked. Slingshot deal submissions worked. Closing this out for now, tracking remaining items in linked issues.


Use the domain variable to get the zone for the record

Use the domain variable to get the zone for the record

var.domain is currently not used?

I think the above is more user friendly for first time users of the cloudflare provider as the domain var seems redundant previously however using it to get the zone id streamlines the process?

You are right that var.domain is not used in the "Initialize Terraform" tutorial. However, since both var.domain and var.zone_id are used in later tutorials (such as https://developers.cloudflare.com/terraform/tutorial/add-page-rules/), I think it's better to leave them in.
https://github.com/cloudflare/cloudflare-docs/pull/6150 clarifies what the user needs to change in the example.


[NETBEANS-1074]Module Review websvc.design

added 13 graphic files to licenseinfo.xml

@junichi11 review comments are updated. please review it


API MISUSE: <CBCentralManager: 0x600003305ae0> can only accept this command while in the powered on state

I have downloaded your source code as is. However, after I have build it into my device, and when I press the Scan Button the following error arise.  API MISUSE: <CBCentralManager: 0x600003305ae0> can only accept this command while in the powered on state

Look at this:
https://stackoverflow.com/questions/23338767/ios-core-bluetooth-getting-api-misuse-warning
And let me know if it works

I'm also experiencing the same issue. The stackoverflow discussion seems to direct the solution to calling
centralManagerDidUpdateState(central)
prior to accepting commands. I have added this line of code to this function inside the CentralUseCase as shown below:
func scan(for services: [CBUUID]) {
guard central.isScanning == false else {
return
}
centralManagerDidUpdateState(central)
central.scanForPeripherals(withServices: services, options: [:])
The issue is still there and I'm not quite sure how to fix it. Any insight would be helpful

Make sure your Bluetooth is turned on, and if the issue persists, try waiting a few seconds after launching the app before tapping the scan button. Let me know if this resolves the problem

ok I think the issue is turning on bluetooth in "signing and capabilities". Also adding "privacy-bluetooth peripheral usage description" and "privacy- bluetooth always usage description"  under project info might have solved that issue.

@yunhaod great!
could you attach some screenshots about solving this issue to be useful for others?
Thanks


Dependency updates

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

Project coverage is 76.96%. Comparing base (d97c400) to head (cd547d7).

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #1124   +/-   ##
=======================================
  Coverage   76.96%   76.96%
=======================================
  Files          68       68
  Lines         673      673
  Branches      100      100
=======================================
  Hits          518      518
  Misses        155      155

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


[Fix-3840][server] Fix When the tenant code is a number, it should not be saved successfully

header
[DS-ISSUE3840][fix] fix ui

By the way, because the change of issue #3540 is really small, i have submitted the same pr together, please check the commits. @CalvinKirs @yangyichao-mango @yangxifi

By the way, because the change of issue #3540 is really small, i have submitted the same pr together, please check the commits. @CalvinKirs @yangyichao-mango @yangxifi

looks good to me,Let's wait for xingchun-chen review

considering that it's your first contribution, I think we can get deep communiction, you can contact me through mail or add wechat(Kris_Evil), when mail or added, please tell me who you are, I think I can help to familiar with the DolphinScheduler if you meet with problems.


Fix back paging on events search page

When I go to search for events by state, I will click on an event and then use the back arrow to try to continue searching in that state, but when I go back to the previous page, the state I was searching clears and I have to go back to that state in the drop down menu.
Very annoying when I'm trying to do quick checks of events in a specific state.

Duplicate of #141?

Oh I guess yes haha, well thats over a year old... Maybe we can work on it?

Duplicate.  Don't worry, we won't forget about it.  I've added it to our project tracker.


System Status: Group systems by system owner.

Check if system owner is in the json and group by it if we have.

No longer required


Improved #box baselines in math

Closes #1039
Boxes are inline elements.  In a paragraph, a box without an explicit baseline behaves as if its baseline is at its bottom.  This PR updates math layout so that this same rule applies.  Previously, boxes and all other content were centered on the axis.  I believe that all in-line content is now accounted for, so only block content is centered on the axis by default.
#box(stroke: 0.2pt, $a #box(stroke: 0.2pt, $a$)$)

Before

After

Does this also respect the box's baseline parameter?

Yep.  This change only affects boxes without an explicit baseline.  I can add a test to exhibit this.

Ah okay, I missed the if !frame.has_baseline() statement because it was already there before.


Use gnome-shell translations directly.

Since the buttons already exist inside gnome-shell, we can just borrow gnome-shell translations, using the low-level dgettext() and dpgettext() functions. No need to duplicate work.

Excellent! I pushed another commit https://github.com/popov895/better-end-session-dialog/commit/60aa2a72e43c2ee0828cc8db1f9fa6d34cac11f1 based on this PR. Thanks!


CloudSave

POST /cloudsave/savetocloud 413 34.383 ms - 2182
PayloadTooLargeError: request entity too large
at readStream (C:\Users....\server\node_modules\raw-body\index,js:155:17)
at readStream (C:\Users....\server\node_modules\raw-body\index,js:155:12)
...
...
...
...

Alrighty.....so body parser has a built in limit for file size.  It's 100kb by default.  To change this number go into server.js and change this on line 19:
app.use(bodyParser.urlencoded({extended: false}));
To this:
app.use(bodyParser.urlencoded({extended: false, limit:'500kb'}));
You can also use mb and gb, but I would be wary of setting this limit too high.

What happens if I set too high ?

I've seen save files get corrupt and be really huge.  If you set your limit to something high like 1gb and your database only has 500 mb it could end up badly for some people.
It's more of a suggestion than an absolute rule :)

rpg_managers.js:373 Data save too big
DataManager.saveGameWithoutRescue @ rpg_managers.js:373
:3000/cloudsave/savetocloud Failed to load resource: the server responded with a status of 403 (Forbidden)

Please help me on this issue, every time I use my project for more than 5 minutes, will not save the data successfully, it will show error 404 on the command pront, please help me with :(

What do you think about DatTranPro's problem?

Nelderson

From what I see we have 3 issues here....each with their own set of answers...

rpg_managers.js:373 Data save too big - RPGMaker has a built in limit of 200kb.  I have multiple save files of games over an hour that are like 13KB total.  If you are hitting this limit one of your other plugins has to be causing the file sizes to get larger than they're supposed to be.  Does your game freeze when saving?  What are the file sizes of the save data in the save folder?

Failed to load resource: the server responded with a status of 403  - This means the server didn't accept the token.  Which I have personally not seen unless you aren't signing in first.  Let me know if this is the exact issue you see after that 5 minute mark.

error 404 on the command prompt - This means it can't find the api call and your server is setup wrong.  Verify whether it's the 403 or 404 code being sent.

Also #55 sounded exactly the same so I came out with a config option to change the token expiry time in commit 347e0a3

Why do you need an expired token ?, if the limit token is set too long, what happens?


anybody who shares the process of building SlicerHeart from source?

anybody who shares the process of building SlicerHeart from source?
thanks

SlicerHeart extension can be built as all other Slicer extensions. If the instructions in Slicer documentation are not clear then please post on the Slicer forum.


Lock amazon_ssa_support to ivanchuk branch

The amazon_ssa_support gem shouldn't use the master branch as breaking
changes can be introduced.

Typo in commit and title


Replace vendored pdf.js with webpack-loaded version

https://github.com/go-gitea/gitea/tree/main/public/vendor/plugins/pdfjs contains a outdated vendored copy of pdf.js. We should instead find a way to load pdf.js via webpack.
The main challenge will be that the "viewer" component (which is basically all the UI for pdf.js) is not part of the official pdf.js distribution, so we need some way to sideload it or some other similar UI, maybe https://github.com/hediet/pdf.js-viewer.

Or maybe just replace it entirely with https://pdfobject.com/, which is a browser-native pdf viewer. Only issue is that it won't work on mobile at all, so we would display a download link instead then.

I created a PoC https://github.com/aceArt-GmbH/gitea/commit/b8cee55f91291076440ca0d986288af7f56bb865 using  pdfobject.
PDF should work in latest firefox for android.
Opinions on the issue and the solution? (also technical)

before -> after

I did not consider PDFObject so far because of lacking mobile support.
Also see https://github.com/go-gitea/gitea/issues/23994. I think what we should do is to have a viewer-less pdf.js rendering, similar to GitLab or GitHub.


Redstone integrator sides are ambigious.

Descripe
When using redstone integrator it is hard to tell which side of integrator is front when looking at it. As all 6 sides have same texture. Only way to know is to remember which way one placed it and when working with multiples it can get a bit messy + finding one of 50 that were placed wrong can be a chore.

Front side is emiting power. All sides look exactly same. I know one can use sides of world in addition to forward ect but it would make sense to sides to be simpler to distinguish?
Steps to reproduce
Place integrator. Forget which side is front.
Multiplayer?
No
Version
0.7.8r (Latest)
Minecraft, Forge and maybe other related mods versions
1.18.1
Screenshots or Videos
No response
Crashlog/log
No response

Currently doing this

Changing the second ring of all textures to a very bright aqua. Opinion?

Improved in 0.7.7r


iOS | Thread1: SIGABRT

RN: '0.53.0', react-native-fcm: '14.1.4'
Device iPhone 6s, 11 iOS
Not runing

I did all by README, and got Successed Build in xCode, but stop on the this message and app doesn't run in main.m file

There is my AppDelegate.m file and AppDelegate.h
AppDelegate.h

AppDelegate.m

xCode

I used none cocapods method, I lose my mind what's I'm doing wrong, I checked example no-cocapods and do the same in my project.

I fixed it, miss some lines of code

I am also facing same issue. Can you please share committed code link so that i would fix it in my code as well for now and upload app build

add file GoogleService-Info.plist


REQUEST: New membership for cgillum

GitHub Username
@cgillum
Requirements

[x] I have reviewed the community membership guidelines (https://github.com/dapr/community/blob/master/community-membership.md)
[x] I have enabled 2FA on my GitHub account. See https://github.com/settings/security
[x] I have subscribed to the Dapr community Discord server
[x] I am contributing (any of the following apply: issues, discussions, PRs, reviews) to 1 or more Dapr repositories

List of contributions to the Dapr project

https://github.com/dapr/dapr/issues/4576
https://github.com/dapr/dapr/pull/5761
https://github.com/dapr/dapr/pull/5784
https://github.com/dapr/docs/pull/3139
https://github.com/dapr/docs/pull/3142
https://github.com/dapr/dotnet-sdk/pull/1012
https://github.com/dapr/dotnet-sdk/pull/1035
https://github.com/dapr/dotnet-sdk/pull/1059

(there are several other smaller contributions, but these are the more significant ones)
Sponsors

@ItalyPaleAle
@berndverst
@halspang

👍

👍

👍
+1 binding

👍

👍
+1 binding

Invitation sent


Power Automate for your local machine

📝 Provide a description of the new feature
What is the expected behavior of the proposed feature?  What is the scenario this would be used?
We all love Power Automate for automating our online "things". But it would be cool if we could bring it to the offline world.
For example
When time is 16:30

         ||
         \/

Change my FancyZone layout to "Reference multitasking"

When mem usage > 14 GB

        ||
        \/

if process "chrome.exe" exists

        ||
        \/

kill process "chrome.exe"

If you'd like to see this feature implemented, add a 👍 reaction to this post.

tracked in #112


How to measure contact force and its direction

What is recommended way to measure contact force (both scale and direction)? I use mujoco to build a simulation of manipulator with end effector is a peg, but the measurement of force it's imposed is difficult.
plan A: use touch sensor, but is can't measure the force direction.
plan B: use force-torque sensor. In this way, I add a zero mass small sphere at the end of peg, and use force-torque sensor to measure the force between the peg and the sphere, which is contact force on sphere. Roughly successful. But things become strange since I contrast the force measured by force-torque sensor and touch, they have small difference in scale (about 10%. And because zero mass sphere, it makes no sense). I don't know which is correct.
So is there a better plan? or why plan B has problem.

Yeah, I test it and find out when friction is zero the touch and force are the same.
About the option of touch, I think that is a great idea. Further, many colleagues get confused when use touch to measure contact force, and contact force appears more and more frequently in academic. So it will definitely be easier to use if touch sensor could return the force component to represent the direction of touch. But it may be difficult when it comes to multi-point contact situation.
Why zero mass is not recommended, for small single body (sphere at the end of cylinder), zero mass may not cause singular problem.

i have used touch sensor below foot it is showing exact value  122 each at all four corner but when i used force sensor it is showing all zero values .Kindly clarify

i have used touch sensor below foot it is showing exact value 122 each at all four corner but when i used force sensor it is showing all zero values .Kindly clarify

force sensor measure the force between two body ( such as leg body and foot body, and contact appear in foot body). And touch sensor just measure the contact on foot body.


The action of 'Editor Tab Split' runs contrary

Editor Tab Navigate (Tab Split)

Is this mean vertical and horizontal split behaves contrary to its term?

The editor is divided into horizontal when 'View -> Split Editors -> Vertical select' select


something missing in patterns/mongokit.rst

>>> collection = connection['test'].users
>>> user = {'name': u'admin', 'email': u'admin@localhost'}
>>> collection.insert(user)

print list(collection.find())
print collection.find_one({'name': u'admin'})

line 125 and 126 maybe missing ">>>" ,am I right?

Fixed by #479


Bubble chart - getting problem in showing values on y-axis properly

Hello Sir!!! I am creating a bubble chart and fill the data from json,during the process I am facing two problems-
1-bubbles appear at left most,right most,bottom most,top most get half cut off as shown in the screen shot given below,providing that i am using zoom as well as pan plugin.I have seen previous issues on same but not getting solution.kindly guide me.
2-As u can see in screen shot the points on y-axis does not appear from the bottom,there is a space between first two points.I want that whatever will be the first point(value on y axis) it should start from bottom and other points come after each other.

@prags123 could you put this in a fiddle please so we can look at it

sure sir,i will

Hello Sir!!!!sorry for delay,Sharing js fiddle for above case as requested
https://jsfiddle.net/pragyajain/2ahne7e3/12/
Thank u

The issue is that the variable b doesn't have the same values you are plotting because there are duplicate names. There are 5 labels but there are 7 y ticks because the highest value is 6 so you get 0,1,2,3,4,5,6. I would recommend changing your values to be in the range 0-5 and then working from there.
See: https://jsfiddle.net/gp8Lxsy0/1/

Thank u sir!!!!!!!


Bump to the latest promptfoo version

The latest version of promptfoo allow tagging specific job runs which can be very useful when you have multiple runs across different workflows.

Thanks, this is completed in 2c774acbca2088c553fd61acefa6f06c891d750a !


Fix bug that caused Python service to not exit on app close

I think this just disables sticky and foreground which is already stated as optional. Comma is used to list multiple services.

I think this just disables sticky and foreground which is already stated as optional. Comma is used to list multiple services.
There are 3 types of sercices:

No params. Exits on app close.
Sticky. Continues running on app close. Gets restarted on exit crash
Foreground + sticky. Same as sticky plus does not get restarted on memory pressure.

Agreed. I think the way it is now (Srv:srv.py:foreground:sticky) is a syntax error and it's unclear what is done with the text after the second colon. The example line from the programmers (NAME:ENTRYPOINT_TO_PY,NAME2:ENTRYPOINT2_TO_PY) makes the syntax clear. I tested this thoroughly on my old Android 8 phone. With Srv:srv.py:foreground:sticky the background Python service did not close with the app, but with Srv:srv.py,foreground:sticky it was closed when the app was closed.

The example you are referring to just lists 2 separate services separated by a comma. Programmers manual is incomplete and does not list how to declare foreground sticky services which run after the app is closed. It is not a bug but a feature. Some usecases wish for service to run when the app is closed to process sensor input. You dont have to declare foreground and sticky options. Then the service will exit on app close. The syntax in this manual is correct but maybe confusing.

Okay--you are correct. I think it's an odd syntax, but I finally found the documentation: Arbitrary service scripts

@bitinerant  ->  there was a bug where if you do not specify sticky  and/or foreground, the service gets killed when the app is in background and needs to be restarted manually. Please take a look at https://github.com/mzakharo/flutter_with_python_android/commit/b671b05e3f41b555996d9305c4b91ff1ad803458 for a solution.


How to serve assets with HTTP2?

As the HTTP2 protocol (originally started out from the SPDY protocol) is now supported[2] among all major browsers in all recent (and lots of older versions[3]) I thought a lot about our/my typical approach on how to build/serve assets of a website.
Due to the restrictions of HTTP1.x we used to concatenate CSS and JS files to improve loading performance of websites. There are several other techniques like domain sharding for instance, which doesn't really touch my typical type of work, but is now going to get obsolete by HTTP2.
There are quite a few articles out there who share the same opinion:

We’ll be able to cut the following activities out of our regular routines:
Concatenating CSS and JavaScript. Organizing your assets during development according to the sections of your application they are used will make much more sense, because HTTP requests are cheap on HTTP/2.[1]

HTTP/2 and You by Adam Henson, 18 March 2016

This is everything-you-thought-you-knew-is-wrong kind of stuff. In an HTTP/2 world, there are few benefits to concatenating a bunch of JS files together, and in many cases the practice will be actively harmful.[2]

Building for HTTP/2 by Rebecca Murphey, 25 November 2015

All that means not only are the old HTTP1 techniques not needed, they'll actually make things slower. You may be loading assets that are not required for the page being viewed (concatenation and spriting are likely to do this), and sharding invokes DNS lookups which slow things down, despite HTTP2 meaning you don't need to shard in the first place.
The long and short of it is; when you build a front-end to a website, and you know it's going to be served over HTTP2 - you need to ensure you're not using legacy HTTP1 performance techniques that are going to harm the site under HTTP2.[3]

HTTP2 for front-end web developers by Matt Wilcox, 03 March 2015

However, concatenating files is no longer a best practice in HTTP/2. While concatenation can still improve compression ratios, it forces expensive cache invalidations. Even if only a single line of CSS is changed, browsers are forced to reload all of your CSS declarations.[4]

HTTP/2 For Web Developers by Ryan Hodson, 10 December 2015
So how do we get rid of the concatenation? This is what I have in mind and would like to be discussed.
I've set up a simple method called detectComponentsFromMarkup() in the App class which is looking for DOM nodes with a specific class pattern. The pattern is pretty simple.

My shiny component.

So you have the name of the component and two special characters. Where @ means that the component is requiring CSS and $ means it is requiring JavaScript.
I do not insist on this pattern or implementation rather on the approach. I don't care if it's all done by data-* attributes or with a class pattern or anything else.
In this case our app would inject the CSS of this component into the document and would tell the App to require/import the JavaScript parts of the component. It's also setting up the correct CSS class selector so that the injected CSS will have any effect. So far so good…
There is still quite some effort to put into this as I don't know by now how to handle the "injection" of the components JavaScript code. There are quite a few factors like ES6 modules, import/export syntax, to transpile or not, and dynamically loading using SystemJS (or similar libraries) that make it a bit tricky. I'm still investigating, but maybe one of you guys already has a good idea to throw in?

For now this has been resolved in gridonic/js/es6-vue-webpack at App.vue/index.js#L6.


[Backend Configuration IVa] Ecephys integration of backend configuration

Opening this because as I work on it I realize, doing this straight up as in the reference PR has the effect that this is a hard, immediate deprecation that breaks backcompatability
So this PR would specifically be a major version bump on the package; and the only way I can think to soften it is maybe keep the keyword arguments around for a while but throw DeprecationWarnings that they no longer do anything, and instructions on the new approach to setting the compression+iteration options
What do you think @h-mayorquin?

Now that #571 is completed @alejoe91 mentioned that he would like to help to test this. Let's hope he has some time on his hands : )


[TF] Fix macOS build caused by changes to runtime pthread code path

macOS build was broken since #19182. Linux and macOS have different pthread_create type signatures.

@swift-ci please test tensorflow

macOS tests passed (see output at the end): https://ci-external.swift.org/job/swift-PR-TensorFlow-macOS/57/console


TimerQueryD3D9 can hang if device is lost

Came across this while adding D3D9 support to my app in an attempt to fix https://github.com/bkaradzic/bgfx/issues/707:
Microsoft's docs on IDirect3DQuery9::GetData state:

An application must never write code that only invokes GetData ( ... , 0 ), expecting that GetData will eventually return S_OK by itself over time. This is true, even if the application has used the FLUSH flag with GetData in the past.

It seems to me that bgfx does have code like this; TimerQueryD3D9::begin constantly polls GetData until it returns S_OK.
In Direct3D9 mode my app sometimes hangs here, with GetData returning S_FALSE forever, which I assume is because the device is being lost. I haven't figured out why that is yet; I just wanted to point out this warning in the MS docs in case you were interested!

I can't repro it. Try increasing m_frame array to 8 elements, and then do m_control.consume(1); on failure.

After making those changes I'm now hanging in renderer_d3d9.cpp line 1423 where m_swapChain->Present hangs forever.
Whatever is causing this must be my fault because the examples run fine under dx9, I just can't figure out what it is.

It sounds like your app didn't setup threading correctly. Try BGFX_CONFIG_MULTITHREADED=0, if that fixes the problem then your setup is wrong.

Doesn't fix it unfortunately. With single-threaded BGFX, swapChain->Present hangs for a few seconds and then the display driver crashes.
I'm thinking this is probably nVidia's fault rather than BGFX.

Do you get this problem with provided examples too?

No, the examples run just fine. And my app runs fine in the menu, just until the actual game starts, so it might be extra load on the GPU or something, I don't know.
I'll try to put together a minimal test case so you can reproduce it, so feel free to close this until I get round to doing that.

Yeah, ideally grab existing example, and just add something that causes it.


Add side effects procedure to make-mock

Add an optional argument to make-mock that generates side-effects, instead of passing all calls to the mocked procedure. This is useful in case the mocked procedure creates side effects that have to be avoided during testing, e.g. connecting to a remote server, writing to a database, removing files from the filesystem ...
By default, this procedure is the same as the mocked procedure, so this change should be transparent to all existing client code.

Coverage remained the same at 93.78% when pulling 43d513ed883dd496c06c14bace8453bbe21c7a62 on logc:side-effects-free-mock into 4caa5f620423a0c950dee16b2026811f385a8c3c on jackfirth:master.

Hi! I just started using this library today, for my own work. I was a bit surprised that, by default, all calls are sent to the mocked procedure (which makes this more a spy than a mock, in my view). Here is a quick workaround I made in order to continue with my testing. I did not add tests nor documentation because I am not sure if this goes against your design for the library, but I can add them if you find the change interesting.

BTW, this might help with issues #11 and #12, if the results-proc argument is chosen suitably.

This package is currently in a bit of a sad state, see #17. Until that issue is resolved, I recommend against using it. That being said, make-mock is a bit of a confusing procedure that either shouldn't be exposed publicly or should be documented differently. Say you're testing a function F that calls a helper with side effects G.  The way to use this package is not to call (make-mock G). Instead, F should accept a function as an argument that is uses instead of G. Normal code provides the real G, and test code provides something like (make-mock void) (which is what void-mock is under the hood). The define/mock macro does this under the hood, this library is somewhat painful to use without it.
The current implementation of make-mock is designed for that purpose. I think your change is assuming that make-mock is meant to wrap the procedures you actually want to mock. I should clarify that in the docs or API.

I've fixed #17, so the package ought to actually work properly now. If you could give an example of how you were intending to use this change, I may be able to detail how it can be done with define/mock.

Thank you for your reply, and for fixing the package!
There are two things I wanted to do with these mocks, one that I am definitely sure that one can do with define/mock, and the other one I am not so sure, but let me ask in case it is possible, or in case you can introduce it as a new feature.
What I am writing is a small bot for Slack. It open a WebSocket connection to Slack (with this library), parses messages as defined structs, and if the message contents match a predefined key phrase, it starts a Jenkins job. I would like to introduce mocks on "both sides" of the bot, so that I am checking its logic, and not the connections to the outer world:

More specifically, my program, as it stands now, looks like this (with requires and some helper procedures edited out):
;; main.rkt
(define (tubot)

  ;; Connection and connection-related functions
  ;; Open and close connection
  (define conn (ws-connect (string->url (hash-ref (start-rtm) 'url))))
  (define (clean-exit a-break)
    (ws-close! conn)
    (printf "~nBreak while processing: ~a~nBye!~n" a-break))
  ;; Send and receive messages
  (define (answer message)
    (define results (take-actions message))
    (ws-send! conn (format-answer message results)))
  (define (receive-message)
    (ws-recv conn))

  ;; Message handling
  (define (handle msg)
    (cond [(slack-message? msg)
           (when (string-contains? (slack-message-text msg) "tubot")
             (answer msg))]
          [else #f]))

  ;; Event loop
  (with-handlers ([exn:break? clean-exit])
    (let loop ([received (receive-message)])
      (let ([received-json (string->jsexpr received)])
        (unless (eof-object? received-json)
          (or (handle (parse-message received-json))
              (log-warning "Unhandled: ~a~n" received))))
      (loop (receive-message)))))

(define (take-actions message)
  (cond [(string-contains? (slack-message-text message)
                           "start deploy")
         (if (bytes=? (submit-job) #"HTTP/1.1 201 Created")
           "deployment started"
           "deployment NOT started")]
        [else "no defined actions for that message"]))

;; jenkins.rkt
(define (submit-job)
  (let ([jenkins-token (read-jenkins-token)])
    (post "http://connect-ci/jenkins/job/deploy-backend-cd/build" jenkins-token)))

Now, I am sure you could write a define/mock alternative for submit-job, so that post points to some no-op function that always returns #"HTTP/1.1 201 Created". It would be great to see an example, nonetheless. The example in the documentation is a bit confusing.
I have had much more trouble trying to mock out the connection to the websocket. This is because it is the variable conn that is passed around. Mocking out ws-connect not only actually created the connection -- by using make-mock directly on it; maybe this is not the intended usage -- but it also does not return a conn that can be used by ws-recv or ws-send!. Both need something that evaluates to #t when used in the predicate ws-conn? (documented here). Is there a way to do that?
I am sorry for this very long post, I am just trying to provide the detail needed to answer my doubts. Thank you very much for any help you can provide!

The general approach I recommend here is splitting the logic that passes the connection to the websocket functions into helpers that accept the connection as an argument, then mocking the websocket functions so you can pass in some garbage value instead of a real websocket. However, looking at your example, I see that this library really needs an API change I've been considering for some time: the ability to setup complex mocks in the test submodule rather than the function definition:
(define/mock (foo v ...)
  #:mock bar
  (bar v ...))
(module+ test
  (define (mock-bar given-v ...)
    do-whatever-your-mock-should-do ...)
  (with-mocks ([bar (make-mock mock-bar)])
    (foo v ...)
    (check-mock-called-with bar v ...)))

This makes a lot more sense for most tests where mocks are sensitive to the data passed in, which is only known in the test submodule.

There is another issue that prevents me from using define/mock to avoid the side effects of submit-job (my first question): it seems that define/mock does not apply mocks if the function is not called directly from submodule test, but from another procedure in the containing module:
-> (module m racket
     (require mock)
     (define (f x)
       (g x))
     (define/mock (g x)
       #:mock displayln
       (displayln x))
     (f 3)
     (module+ test
       (f 2)))
-> (require 'm)
3
-> (require (submod 'm test))
2

Is there a workaround for this? Is my usage of define/mock wrong? Thanks.

That is correct, and by design. The function that calls the mocked function should also use define/mock.

I do not think that this PR is actually interesting for this library, but I still have some questions. I will open an issue to discuss them.