Incorrectly named drivers

Per the CSI spec the name of a CSI driver must conform to the following requirements:
The name MUST follow domain name notation format (https://tools.ietf.org/html/rfc1035#section-2.3.1).

It SHOULD include the plugin's host company name and the plugin name, to minimize the possibility of collisions.

It MUST be 63 characters or less, beginning and ending with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), dots (.), and alphanumerics between.

This field is REQUIRED.

The current names are:

csi-diskplugin
csi-nasplugin
csi-ossplugin

Consider renaming to include the fully qualified domain name, maybe something like:

diskplugin.csi.alibabacloud.com
nasplugin.csi.alibabacloud.com
ossplugin.csi.alibabacloud.com

To be clear the sepc says SHOULD include the plugin's host company name and the plugin name so this is not a requirement. But considering how generic these names are I strongly recommend it to prevent collisions with other CSI Drivers.

Per the CSI spec the name of a CSI driver must conform to the following requirements:
The name MUST follow domain name notation format (https://tools.ietf.org/html/rfc1035#section-2.3.1).

It SHOULD include the plugin's host company name and the plugin name, to minimize the possibility of collisions.

It MUST be 63 characters or less, beginning and ending with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), dots (.), and alphanumerics between.

This field is REQUIRED.

The current names are:

csi-diskplugin
csi-nasplugin
csi-ossplugin

Consider renaming to include the fully qualified domain name, maybe something like:

diskplugin.csi.alibabacloud.com
nasplugin.csi.alibabacloud.com
ossplugin.csi.alibabacloud.com

To be clear the sepc says SHOULD include the plugin's host company name and the plugin name so this is not a requirement. But considering how generic these names are I strongly recommend it to prevent collisions with other CSI Drivers.

Great proposal, I will consider to update that.
Thank you very much @saad-ali

named to *.csi.alibabacloud.com
        TYPE_PLUGIN_DISK = "diskplugin.csi.alibabacloud.com"
	TYPE_PLUGIN_NAS  = "nasplugin.csi.alibabacloud.com"
	TYPE_PLUGIN_OSS  = "ossplugin.csi.alibabacloud.com"

Thanks @saad-ali


[5.1] Add encryption to Eloquent

This will allow attributes to automatically be encrypted in the database by simply adding it to an $encrypt property on the model:
class User {

    protected $encrypt = ['email'];

}

Seems this could really just be worked into the existing cast system?

Although semantically it's quite a bit different from casting to another type.

@taylorotwell in addition to having totally different semantics, it cannot work with the current casts system.
Currently, you can only cast to one type; here's no way to pass attributes through a pipe of casts (like validation or sanitization). If we were to add encryption to the casts, that would mean that an encrypted attribute cannot be cast to another type (e.g. JSON).
For this reason and for semantics, I think it makes sense to keep encryption separate.

On May 12, 2015, at 10:31 AM, Taylor Otwell<EMAIL_ADDRESS>wrote:
Seems this could really just be worked into the existing cast system?
—
Reply to this email directly or view it on GitHub.

For this reason and for semantics, I think it makes sense to keep encryption separate.

I kind of agree with @JosephSilber here.

I don't think I'm going to include this. People can write a mutator to encrypt columns if they want to and it's just one less thing to worry about with Eloquent.

@taylorotwell while you sure can use a mutator + accessor, that would mean having to create a set of them for every single attribute to be encrypted. That would become unwieldy very fast - people usually want to encrypt quite a few attributes.
For example, here's a stackoverflow question I answered last year. Witness the amount of (brittle] code it took to accomplish that in userland code. People ask about this a lot!

We have mutators specifically for this flexibility. I would rather not get
in the habit of baking in these quasi auto-mutators for every single
possible mutation situation.
On Tue, May 12, 2015 at 3:32 PM, Joseph Silber<EMAIL_ADDRESS>wrote:

@taylorotwell https://github.com/taylorotwell while you sure can use a
mutator + accessor, that would mean having to create a set of them for
every single attribute to be encrypted. That would become unwieldy very
fast - people usually want to encrypt quite a few attributes.
For example, here's a stackoverflow question I answered last year
http://stackoverflow.com/questions/24687597/laravel-eloquent-encrypting-decrypt-data-on-call.
Witness the amount of (brittle] code it took to accomplish that in userland
code. People ask about this a lot!
—
Reply to this email directly or view it on GitHub
https://github.com/laravel/framework/pull/8704#issuecomment-101411768.

while you sure can use a mutator + accessor, that would mean having to create a set of them for every single attribute to be encrypted. That would become unwieldy very fast - people usually want to encrypt quite a few attributes.

I've had to do this more than once for requests to broadly encrypt PII, eventually implementing something like @JosephSilber did in this patch. I've very infrequently needed to encrypt a single column, in which case I'd be all for just using a setter/getter.
IMO, it'd be really cool to have a way to plug this sort of functionality into Eloquent via traits, having hooks on getAttributeValue, setAttribute, etc... that spun through these 'transforms'. Eloquent could take advantage of something like this itself for use of $dates and $casts.

While I've been writing quite a few of these accessors/mutators on every project I've worked with for similar purposes, such a feature doesn't belong to the core I think. I've not tried it yet, but if people want to encrypt/decrypt in batch, they can play around with magic methods in side the Model class.


Expose tvOS support for CocoaPods

Had to bump the version to 9.0 since Swift isn't allowed for 8.0 on Apple TV.
Fixes #56

Seems worth a merge 👍


Fix the feature keyword issue

This PR tries to fix this https://github.com/gherlint/gherlint-vscode/issues/16.
I have changes the regex for the Feature: keyword not to count it as when the Feature: is as text

fixing the regex would be the way to go
https://github.com/gherlint/gherlint-vscode/blob/d10e18ed88fbc5f2da0d329d41bf57faa66f18c5/server/src/regex.js#L3

will try to fix it with regex.

@SagarGi If the appropriate regex cannot found then one solution would be:

split the file by newline (\n)
traverse the list of lines
trim each line
and test trimmed line with simpler regex (^Feature(?=:))

What is the status of this?


Headings checker

@balajialg @ryanlovett This should likeley be the final version of the headings checker for the jupyterlab extension. Fixed all bugs relating to "recursive error detecting/resolving".

@ranashreyas Thanks! Just as I mentioned in the previous PR, What kind of informative comments can you add to help someone reading the code for the first time them with all the necessary context? Assume that somebody else is reading the code and building on top of what you have done here.


Bug report: armature changes not exported

blender 4.0 on linux with vrm add on 2.20.28
I have a vrm i edited successfully before but on export the edits to a spring bone are not applied and always reverted when i export and reimport as vrm. in blender itself it looks all fine. I even tried deleting the bones and recreating them and recreating the spring bone group but it still reverted size and rotation of the spring bones. the other issue is a lower body bone that is connected to one of the leg bones - making the leg not connected and moving the lower body bone to the middle and exporting and importing reverts that as well. I am very nonplussed as everything else i edited worked fine and applied. Do i have to delete all spring/collider groups when editing something so it isn't cached in some way maybe?

VRM Add-on does not have a cache for object coordinates, rotation, or scaling. I couldn't cause that bug with Blender 4.0 on Windows 11 or macOS Sonoma. Please let me know your Linux distribution name, version, and cpu architecture so I can investigate.

thank you i just retried it with completely deleting the springbone collection the bones were part of and collider groups - i noticed that recreating the collider group then would spawn the collider at a place offset from where it was to where i had moved the bone - going into edit and out of it and then recreating the collider group at least made the collider show up in the right place but exporting then still made the springbones point wrong and the leg bone connected to the lower body bone and the lower body bone extended to the lower left to the leg bone. I am on archlinux x86_64,  update state is november 23 with blender 4.0.2 and vrm addon 4.20.28. attached is how it is in the .blend before exporting to the left and to the right what happens if i import that exported vrm back into blender, chest are the spring bones and lower body connected to the left thigh on the imported vrm

I understand.
VRM 0.0 cannot save bone rotation and scaling to files. Save only the position. If you rotate or scale bones, that information will not exist in the exported VRM 0.0. If you reload VRM0.0, it will behave as if the rotation and scaling have disappeared.

https://github.com/vrm-c/vrm-specification/tree/ad14db33ba68d2cff0c09d6c7e2961328bacaae2/specification/0.0#vrm-rules
No local rotation for bone
No scale for bone

VRM 1.0 now saves bone rotation and scaling. It is possible that this problem can be improved. However, since the direction of bone progression is not defined, another problem may remain.

Ah i see, thank you. I guess I can just try exporting as vrm 1.0 then, thanks for the explanation! Marking this as closed


IndexManager ctor throws exceptions

Change the constructor to throw exceptions rather than swallowing
them. Add test to check correct behaviour when exceptions thrown.
See #363

Doing this in #384 instead


[Feature Request] 50/100MB files if there are boosts in the discord server

Maybe check availability or make it possible to resize blocks.

You probably don't want to do this, because then when they delete that server and ban your accounts, you'll actually lose something.

i get this point but it should still be an option for people who want to risk that

@ethan-xd @idanyas I will add this feature in upcoming release.

@idanyas @ethan-xd Now you can define custom chunk size https://github.com/forscht/ddrive/blob/v3.6.0/README.md#api-usage


List item does not wrap correctly

List item does not wrap correctly.

@Jarrodsz I wasn't able to reproduce this, can you share you code?


Fix windows subsystem

I think this is an acceptable solution for this (though awkward). I can't think of anything better.
It might be related to the error described on #6.
Please see:
https://blogs.msdn.microsoft.com/commandline/2016/10/19/interop-between-windows-and-bash/
https://github.com/Microsoft/BashOnWindows/issues/423

By the way, usually you expect nothing to be printed to your stdout when calling commands on an API like this one[, but error].
The reason I am removing it is because Windows does print something.

A little necromancy here, but as WSL usage is growing, would be nice to solve it somehow. Can confirm the fix does need to be in the *_linux.go files, even though its targetting a Windows.

This should use wslview instead of cmd.exe

@jetersen,
Perhaps this?

Try xdg-open.
Fallback to wslview.
Fallback to cmd.exe (to still support WSL 1?)

I don't maintain anything supposed to run on Windows anymore, so maybe you or someone else could continue from here?

Hey @davecheney , I'm looking at creating a new PR to do this properly, how do you envision doing this without touching browser_linux ? Since WSL uses GOOS linux

Tidying up, Closing this as very old, please reopen if still relevant.


MINOR: code cleanup

Similar to #6054

Call for review @guozhangwang @bbejeck @vvcephei

retest this please

Retest this please.

LGTM. Feel free to merge @mjsax


Should agentjo embrace aisuite?

AI suite offers a relatively neat framework for embracing a plurality of LLM for execution. Certainly, it would improve portability. I'm happy to put in the work to make the switch real.

Hey, it looks awesome, and it looks like it could be made into a custom_llm function
Alternatively, we can decide on the LLM to use based on os.environ variables within the chat() function of base.py itself

I like the custom llm approach; I'll have a go at that first. I also came up with a neat way for doing local/inline llm without restarting on each iteration..


Add Support for debug mode

Debugging via debug | Instead of inserting and deleting console.log you can replace it with the debug function and just leave it there. You can then selectively debug portions of your code by setting DEBUG env variable. If DEBUG env variable is not set, nothing is displayed to the console.

@AlexYIN sounds like a good idea, thanks. Would you like to implement it?

@AlexYIN I was checking this issue again, and I realized that it is already possible to achieve what you are describing, with some modifications to the logger config file.
You can set the severity level of the logger in src/config/logger.js based on some env variables. It is now setting it to 'debug' when running in development mode, and to 'info' otherwise. You can of course change this to check for DEBUG env varibale and set it accordingly. You can check winston documentation for more details on this https://github.com/winstonjs/winston#logging-levels.
After this, you can use the logger.debug method anywhere, as follow:
const logger = require('<path to src>/config/logger');

// this will be logged only when debug is enabled
logger.debug('message');


Treat extended attribute ltfs.mediaPool.name like a virtual extended attribute. Allow both reading and writing, and store in MAM data.

Summary of changes
This pull request includes a fix for the following problem: attempting to read the extended attribute "ltfs.mediaPool.name" will fail with an LTFS_NO_XATTR error:
rgoedeken@fk-rg-03 TapeTools % xattr -p ltfs.mediaPool.name /Volumes/tape000002
xattr: /Volumes/tape000002: No such xattr: ltfs.mediaPool.name

Description
Previously, this attribute could be written via some special-case code in xattr_set(), and presumably it was designed this way so that the attribute's value could be stored in the LTFS index. But this appears to be unnecessary as I don't see anywhere that this value gets written to the XML index.
Previously, this attribute could not be read at all, and any attempt would fail with LTFS_NO_XATTR. With this change, it can be read as well as written, as it is treated like all other virtual extended attributes.
I have tested this on MacOS 10.15.7 and it works as intended. With a build including this change, I am able to read the attribute:
rgoedeken@fk-rg-03 TapeTools % xattr -p ltfs.mediaPool.name /Volumes/tape000003
PROJECT=BADF17F7-496B-402E-8647-BD5B0B813955

Type of change

Bug fix (non-breaking change which fixes an issue)
This change requires a documentation update

Checklist:

[* ] My code follows the style guidelines of this project
[* ] I have performed a self-review of my own code
[* ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[* ] My changes generate no new warnings
[ *] I have confirmed my fix is effective or that my feature works

Sorry for the force push; this merge request is now as it was before. I have fixed another bug and accidentally pushed it into this branch, therefore requiring a force push to remove it.  I will submit a new pull request for the other bug fix.

@juliocelon ,
Please make a Squash and merge this into the master branch.


Onboarding enablers changes

This is an update to documentation for onboarding services due to recent changes.

FYI, looks like there are 3 broken links in this branch that will need to be fixed before you can merge to master. Let me know if you need help interpreting the link report. Thanks!

I fixed 2/4 links. I am having trouble diagnosing 2 of the links, and it will be easier to diagnose once this is merged to master. Feel free to merge.
FYI @cZikos, I found out that the link you corrected from "gizafoundation", to "zowe.org" was actually a legacy link that is still correct. I reverted that back to https://projectgiza.org/Downloads/post_download.html I don't blame you for trying to fix it though!

Thanks Brandon, I will work on the rest of the links. Yes, my bad, I thought that this was the  link the report was referring to.

This PR is by mistake to be merged to master. PR #418 was created instead, to be merged to docs-staging.


use proc_macro instead of proc_macro2

This pr tries to make the proc_macro crate accessible inside webassembly by implementing proc_macro's unstable interal trait proc_macro::bridge::Server and forwarding all the calls over ffi.
This pr is still work in progress. Todo:

[X] get the demo working
[x] implement all remaining functions
[x] add documentation
[x] feature gate all the unstable code and readd the stable proc_macro2 code
[x] support jit?

closes #42

@dtolnay I'd appreciate a review


To implement the service /v1/bequeath-your-data-and-die

[ ] Load file shall be configured for NewRelease ltp instance based on attributes received in request-body

Following forwardings shall be implemented for addressing RegistryOffice to deregister this version and to broadcast the new version

[ ] PromptForBequeathingDataCausesRequestForBroadcastingInfoAboutServerReplacement
[ ] PromptForBequeathingDataCausesRequestForDeregisteringOfOldRelease
[ ] PromptingNewReleaseForUpdatingServerCausesRequestForBroadcastingInfoAboutBackwardCompatibleUpdateOfOperation

implemented in https://github.com/openBackhaul/AirInterfacePowerSaver/pull/117


Page scroll up using wizard and repeater on Google Chrome on Mac OS X 10.11.5

Package
filament/filament
Package Version
v2
Laravel Version
v8
Livewire Version
v2
PHP Version
8
Problem description
Page scroll up using wizard and repeater
Expected behavior
No scrolling to the top of the page
Steps to reproduce

login<EMAIL_ADDRESS>- password
edit a test resource
scroll down and change a subitem into the last item
the page will automatically scroll to the top

Reproduction repository
https://github.com/spagnuolocarmine/filamentphp-bug-scrolling-select-repeater-wizard
Relevant log output
No response

This has been brought up multiple times in the discord and every time it was an issue with a browser extension and not a result of anything in Filament.

Which browser extensions do you have @spagnuolocarmine ?

Could you provide the additional info @danharrin asked for, @spagnuolocarmine?
Otherwise it'll be hard for us to look into the issue. 🙂

Could you provide the additional info @danharrin asked for, @spagnuolocarmine? Otherwise it'll be hard for us to look into the issue. 🙂

I had a similar issue on windows 10, (freshly installed) Firefox and chrome browsers. After some digging, I may have found the cause. In the file, Filament/forms/resources/views/components/wizard.blade.php in the alpinejs function scrollToTop on line 45, the call to this.$el is properly assigned to the wizard component when the page loads but after you navigate to the next step of the wizard component, it get reassigned to the next button. This behavior only happens when this.$el is accessed but not when $el is accessed.

Thanks for looking into this issue, @jojostx.
I'm not sure if I'm following though.
$el always references the wizard component, not any of the buttons.
Could you clarify?

Yeah the $root should be used here. I thought that if a method was defined on the root, $el === $root regardless of the method that called it

That was my thinking too to be honest...

Can't reproduce this myself but I've submitted the potential fix - #6361

After thinking about this once more, I don't think $root vs $el should make any difference actually... @danharrin


[Scheduled] dart pub upgrade --null-safety

Auto-generated by create-pull-request
See: https://github.com/peter-evans/create-pull-request/blob/master/docs/concepts-guidelines.md#triggering-further-workflow-runs

Codecov Report

Merging #327 (8b83b6e) into main (0eb7645) will not change coverage.
The diff coverage is n/a.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@           Coverage Diff           @@
##             main     #327   +/-   ##
=======================================
  Coverage   78.94%   78.94%
=======================================
  Files         121      121
  Lines         888      888
=======================================
  Hits          701      701
  Misses        187      187

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Offline OTA (IDFGH-9925)

Is your feature request related to a problem?
Is there a Way of Offline OTA ?
the Engeneer going to the Machine has the bin File with him.
we use the https://github.com/espressif/esp-idf/tree/master/examples/protocols/http_server/file_serving Example to upload this bin to the ESP32.
after a Reboot the ESP32 installs it like OTA, with the Difference it does not need a actual Internet Connection.
Describe the solution you'd like.
No response
Describe alternatives you've considered.
No response
Additional context.
No response

@igrr maybe a topic for you ?

There is plenty options to OTA without internet:

http server - i believe there are examples and/or libraries to do it
bluetooth/ble
from pendrive (USB on esp32 S3)

@franz-hoepfinger-at-hm-edu you could use the https://github.com/espressif/esp-idf/tree/master/examples/protocols/http_server/file_serving example, but instead of writing the uploaded file to the filesystem, call esp_ota_write to save it to the OTA partition.
Other transport methods would also work: SD card, UART, BLE — whichever way you can get the stream of data, then pass it to esp_ota_write API.

Hello @franz-hoepfinger-at-hm-edu
I have created a simple example to demonstrate OTA update by uploading the firmware to the HTTP server. I hope it helps.
I am closing this issue as this will help you in implementing the requested functionality. Please feel free to reopen if you have further questions. Thanks!
Link to example: https://github.com/hmalpani/HTTP_Server_OTA

Hi,
i found also in https://github.com/espressif/esp-iot-bridge/tree/master there is a OTA Button in the Web-Interface.

Hi,
i made a Fork:
https://github.com/diplfranzhoepfinger/HTTP_Server_OTA
there i made a Integration:
https://github.com/diplfranzhoepfinger/HTTP_Server_OTA/tree/feature/integrate_with_webserver
so the
https://github.com/espressif/esp-idf/tree/master/examples/protocols/http_server/file_serving
Example works like before, only if the Name is "Application.bin" it starts the OTA Process.
cool, right ?


Wanna ask the spec of the computer

Hi, Weijiing
When I tried to train the point-GNN model, the terminal showed me the error of OOM, may I ask you about the spec of your computer when you were training the Point-GNN ?
BTW thank you for developing such a great GNN model.

Hi @s10627070,  I mainly used two 1080ti or two 2080ti for the training. Occasionally, it still went OOM. Kill it and restart, the code will continue from the previous checkpoint.  It may be better to use 4 GPUs if available. Thanks,

Is there any way I can use only 1 GPU (RTX 3050 Laptop) to run the code?
Becuz I just wanna try this program if it is able to run.
Like deleting most of the datasets ?

For the inference, tensorflow can run on CPU as well. All the needed is to
hide your GPU by CUDA_VISIBLE_DEVICES= python run.py ....
The training code though assigns batch to devices explicitly. If a lower
accuracy is not an issue, you can downsample the point cloud a lot to
reduce the memory requirements.
The downsampling can be done by increasing the base_voxel_size
in  _config
files or use scripts/point_cloud_downsample.py to downsample the
KITTI dataset directly.
Hope it helps,
Weijing
On Fri, Nov 5, 2021 at 10:31 AM s10627070 @.***> wrote:

Is there any way I can use only 1 GPU (RTX 3050 Laptop) to run the code?
Becuz I just wanna try this program if it is able to run.
Like deleting most of the datasets ?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/WeijingShi/Point-GNN/issues/88#issuecomment-962083783,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACZ6I7SYURWL3RP7TH2R3LLUKQIIPANCNFSM5HNDBYRQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.


new DamageModify package

I saw @Jampi0n 's PR and instantly merged it into my system, not to mention one new good enumeration.

You can now use the new native BlzSetEventDamage (real damage) to modify damage more easily.

I know, but I keep this compatible with old versions.

Any updates on this trokkin?

Check last 2 commits, I've removed illusion package and applied cokemonkeys advices.

Looks like you have made some progress but there are a lot of outstanding questions still.
If your view is that a question is not useful, I think you should at least say that, rather than ignore :)

So, any other thoughts about my PR?

Systems can be part of stdlib, but the implementation should be lightweight and extendable so the user can build upon it. Here i am limited to damagemodifiers, which lacks I mainly want from a DamageType/Modifier system: To get info about and modify an active damage event.
Also, just one global LinkedLists of callbacks shouts problems to me. What if you have a dozen buffs across many units in the map. You will have 50-100 damage modifiers being executed on every damage event. Pretty sure that will cause some performance/oplimit problems.
So I think this needs at least some way to apply unit local damage listeners/modifiers, otherwise the user has to make a global damagemodifier where he does the unit specification themselves.
Also, something like Never use both this and DamageType package. is not advisable to have.

Aren't damagemodifiers informative and modifiable enough since there's Damage object to work with?
And sure, the user should design his own way to store his modifiers efficiently.

Updated, implemented unit-unique lists for damage modifiers, replaced that terrible vjassish API description with proper hotdocs and made changes to how the system is used. So I ask for a re-review.

make it so it can't happen
I have no idea on how to detect or break non-dependant package. Do you have any?

So, any comments on this?

Can you give a summary of what regression checks you have for this package? I see that you have made lots of changes since the last full review...

@Cokemonkey11

So I:

Rewrote API description into hotdocs
Implemented target/source unique damage listeners/modifiers (line 106)
Changed the way damage event is modified with 1.29 native (line 309) (and removed the CHEAT_DEATH ability)
Changed the way how user-created Damage instances are dealt (line 240)
Fixed several misconceptions/bugs I found

My question is about regression checks - as in, what have you done to ensure those 5 bullet points didn't break something that was previously working?
Regression checks might be unit tests, continuous integration FVs, demo maps, etc. Can you give a summary of that stuff?

Ah, got it another language barrier has fallen
This system was initially developed for my map, where damage modification is used heavily. So I was testing from there, and my changes didn't seem to broke anything.
But, yes, I should make a demo map for this exact system, because of my habit to say "this is working but I never tested".
Are unit tests support units and damage right now? Without it, proper unittesting this system is kind of impossible task.
Also, I didn't understand what continuous integration FV is.

Ah, got it (another language barrier has fallen)

It's best I guess to ask when unsure. I noticed that I started using more business talk which is not very helpful :disappointed:

This system was initially developed for my map, where damage modification is used heavily. So I was testing from there, and my changes didn't seem to broke anything.
But, yes, I should make a demo map for this exact system, because of my habit to say "this is working but I never tested".

Actually, it sounds to me like you have tested it, but it will be hard to verify since someone like me will have to use your map. What you want is a MWE that demonstrates that it works correctly and also effectively in unusual circumstances.

Are unit tests support units and damage right now? Without it, proper unittesting this system is kind of impossible task.

I don't know, Frotty? It's possible to unit-test only the mathematical parts for example, which might lead you to better modularity as well. I'm not asking for unit-tests - just asking for a summary of what regressible testing you do have.

Also, I didn't understand what continuous integration FV is.

Continuous integration: runs on every commit (jenkins or TravisCI)
FV: Functional verification tests (the next level up from unit tests)
Again, I'm not asking you to write more FV/UT tests - but based on your description so far, I do think you need more demonstrable tests.

oh that's a misclick
So, I will make a test project. But where shall I demonstrate it?

Here is a demo map: https://github.com/Cokemonkey11/knockback3-demo - that was included in a MR for standard library.
I wonder if Frotty has a better idea now, though

One thing that you might want to prevent, are cycles in modifier responses, like 2 units with a damage deflect upon attack, attacking each other. It would result in 2 modifiers calling each other and the game or thread crashing. But I'm not sure if this belongs into the scope of this package.
Test map will be helpful. I will want to move my maps from DamageMod to this system to verify it working alright, too.

It would result in 2 modifiers calling each other and the game or thread crashing.

For reference - In DamageType, the issue is not addressed. Instead, the API calls for the user to use a wrapper function (damageTarget) which sets a static-lifetime variable to "CODE DAMAGE" constant. Does DamageModify have something similar?

There's Damage.id field which should be used as ability source reference. Though, it's up to user, so they can define reflected_damage_ID and check for it before damage reflection. Just make sure that there won't be any other usage of that id.

Check this out: https://github.com/Trokkin/DamageModify-demo

I don't plan to test the demo but the presence of one is a good sign imo

Okay so remaining points from the demo:

Rename ForDamageCallback to something for sensible
the #addXXX functions should return the closure
Fix and add hotdoc
Merge the two init blocks
The save/release instance stuff is still not ideal

Oh and please update the PR.

So, I believe I've done all the minor things @Halithor requested, plus some key ones:

.modify() method removed, in it's place there are .get/setModifyCount() now. So there is no need to call .modify() for any time Damage instance is created, but a possibility to change that behavior.
.saveInstance() is removed also, in its place there is a special parameter in the constructor, which decides whether the damage instance will be destroyed during the event. Wrapper methods are adjusted to not have any return value. So it can only be a user who will consciously decide to save the instance and thus take responsibility for instance clean-up.
DamageQueue is merged into the main package, but its code definitely needs a review and a crash-testing course.

Thanks again @Trokkin
I think we learned a lot during the process of this PR regarding API and features.
I will close it now in favor of #212
Cheers 🍻

You traitor :D
Sure, that one is clearly superior choice for standart library.


correct cd command

we want to cd into a directory not into the tar.gz file

gonna come up with a more complete pull with additional corrections


chart: introduce guaranteed instance manager CPU setting for v2 volume

https://github.com/longhorn/longhorn/issues/7361

@derekbit Do we still need this PR? It seems duplicated of https://github.com/longhorn/longhorn/pull/7403.

@derekbit Do we still need this PR? It seems duplicated of #7403.

Yes, we can just keep https://github.com/longhorn/longhorn/pull/7403 if both PRs are merged.

@derekbit Do we still need this PR? It seems duplicated of #7403.

Yes, we can just keep #7403 if both PRs are merged.

Do you mean we don't need this PR if we merge #7403?

Do you mean we don't need this PR if we merge #7403?

Yes

Sounds good. Let's use #7403 instead.


[HOLD for payment 2023-09-20] [$1000] FAB menu - Pressing Enter doesn't open the selected option page

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

Action Performed:

Click plus button.
Use arrow up to select the option, press Enter.
Notice that sometimes it doesn't open the page after pressing Enter.

Expected Result:
After pressing Enter, it should open selected option.
Actual Result:
Pressing Enter doesn't open the selected option page
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[x] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number:  v1.3.57-5
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/115492554/1373ed22-4cbf-4977-a2f1-69a646d5ace4
https://github.com/Expensify/App/assets/115492554/30cac167-7245-47ae-b821-d72690693e6c
Expensify/Expensify Issue URL:
Issue reported by: @hungvu193
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1692694374144279
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~013ca232e37db3db0d
Upwork Job ID:<PHONE_NUMBER>295454208
Last Price Increase: 2023-08-30
Automatic offers:

jjcoffee | Reviewer | 26517050
dukenv0307 | Contributor | 26517052
hungvu193 | Reporter | 26517053

Proposal
Please re-state the problem that we are trying to solve in this issue.
The first time we press enter with the FAB menu, the page of the selected option is not opened.
What is the root cause of that problem?
The root cause of this is that when an option has been selected, we first set selectedItemIndex in the selectItem function:
https://github.com/Expensify/App/blob/a644050cde79ef995e69e1293bacdeb64bd566c5/src/components/PopoverMenu/index.js#L54-L58
And then we actually open the selected item when the modal closes:
https://github.com/Expensify/App/blob/a644050cde79ef995e69e1293bacdeb64bd566c5/src/components/PopoverMenu/index.js#L79-L85
But the selectedItemIndex does not have time to update before the modal closes. This is why the wrong option is opened if we select another option and press enter - selectedItemIndex has been set to the old index but not the new one.
What changes do you think we should make in order to solve the problem?

Unless I have missed something, there is no reason to split the code this way.
selectedItemIndex is only used by the selectItem function and onModalHide. And selectItem is always called when an item is selected (IE both when we select by pressing enter and when a MenuItem fires onPress).
We can clean things up quite a bit by calling the selected option's onSelected method right in the selectItem function.
This way, we do not have to worry about if selectedItemIndex has been updated to the correct value, because we can remove selectedItemIndex altogether.
The steps to implement this would be:

Remove the definition of selectedItemIndex
Replace setSelectedItemIndex with selectedItem.onSelected() in the selectItem function
Remove the conditional checking if selectedItemIndex is not equal to null in onModalHide

It's worth noting that we still want to clear the focused index in onModalHide, in case the user closed the FAB without selecting any of the options.
selectItem would now look like this:
const selectItem = (index) => {
    const selectedItem = props.menuItems[index];
    props.onItemSelected(selectedItem, index);
    selectedItem.onSelected();
};

And onModalHide like this:
onModalHide={() => {
    setFocusedIndex(-1);
}}

What alternative solutions did you explore? (Optional)

Proposal

Please re-state the problem that we are trying to solve in this issue.
In the FAB menu , when Enter is pressed , it does not open  selected Item
What is the root cause of that problem?
The root cause of the issue is in the  selectItem  function , onSelectedItem Prop , which call hideCreateMenu  but it does not call onSelect  function , then selectedItemIndex is set .
https://github.com/Expensify/App/blob/c20c3870ee46d6788de554be27706e9898638904/src/components/PopoverMenu/index.js#L54-L58
https://github.com/Expensify/App/blob/c20c3870ee46d6788de554be27706e9898638904/src/pages/home/sidebar/SidebarScreen/FloatingActionButtonAndPopover.js#L128-L129
when second time  enter is pressed ,   onModalHide   is executed  ,selectedItemIndex with previous item .
https://github.com/Expensify/App/blob/c20c3870ee46d6788de554be27706e9898638904/src/components/PopoverMenu/index.js#L79-L85
What changes do you think we should make in order to solve the problem?
we should  update the selectItem function as follow , selectedItemIndex  state is no needed .
 const selectItem = (index) => {
        const selectedItem = props.menuItems[index];
        selectedItem.onSelected()

    };

and update the on onModalHide
   onModalHide={() => {
                setFocusedIndex(-1);
            }}

What alternative solutions did you explore? (Optional)
N/A

Reviewing tomorrow!

Sorry higher priority PR review got in the way, will come back to this on Monday.

Waiting for @jjcoffee's review today/tomorrow.

Happy to go with @dukenv0307's proposal! It has the correct RCA and a good solution that cuts back usage of useState which we like!
:ribbon::eyes::ribbon: C+ reviewed

Thanks, reviewing tomorrow!

Regression Test Proposal

Open the FAB.
Use the keyboard arrows to select an option, and press Enter.
Verify that the correct page opens in the RHP.

Do we agree 👍 or 👎

Just noting that this one was approved within 3WD, so technically due the timeliness bonus (slight extra delay was due to the merge freeze). cc @flaviadefaria

For reference, here are some details about the assignees on this issue:
@jjcoffee requires payment offer (Reviewer)
@dukenv0307 requires payment offer (Contributor)
@hungvu193 requires payment offer (Reporter)

Payment details:
@jjcoffee = $1000 + 50% = $1500
@dukenv0307 =$1000 + 50% = $1500
@hungvu193 = $250

Everyone has been paid.

Got it, I have paid $50 already so sent you a new offer fo the remaining $200.

Everyone has been paid, so closing this!


How long train2 works?

I used Artic/slt to target voice datasets in train2.py.
And I used Artic/bdl to input voice datasets in converter.py.
It is still in operation and has exceeded about 48 hours below image.

Additionally, this environment uses NDVIA TITAN X (Pascal) 12G GPU.
Now epoch is 3050 and step is 94550.
When does it finish running?

+1!
Could I stop train2 when I have not reached the epoch of 10000, and when should I stop train2?


Proposal: Notification is overlapped by TitleBar on the right top corner

Hi there! I just noticed that notification is slightly overlapped by TitleBar on Windows and Linux when it's position is set to TopRight.
Here is an example from the Demo application:

Here is how it can be adjusted for these two specific platforms:
 <Style Selector="^:topright /template/ ReversibleStackPanel#PART_Items">
            <Setter Property="VerticalAlignment" Value="Top" />
            <Setter Property="HorizontalAlignment" Value="Right" />

            <OnPlatform>
                <On Options="Windows, Linux">
                    <Setter Property="Margin" Value="0 36 0 0 " />
                </On>
            </OnPlatform>

        </Style>

Is it relevant?
I can prepare a PR if this margin on the top corner is not intentionally left as it is, ping me there please if you don't mind.

iirc the same thing happens to toast.
It kinda complicated because it only overlaps when host window extends client area, but we cannot always assume user enabled this.


Suspicious usage of clGetProgramInfo parameters in CLProgram::GetBinary

Please make sure that this is a bug. As per our
GitHub Policy,
we only address code/doc bugs, performance issues, feature requests and
build/installation issues on GitHub. tag:bug_template
System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): No
OS Platform and Distribution (e.g., Linux Ubuntu 16.04):  Android 12
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device: Samsung Galaxy S22
TensorFlow installed from (source or binary): binary
TensorFlow version (use command below):  tensorflow lite tag 2.8.0
Python version: 3.7
Bazel version (if compiling from source):
GCC/Compiler version (if compiling from source):
CUDA/cuDNN version: N/A
GPU model and memory: Exynos Samsung GPU

benchmark build

bazel build -c opt --config=android_arm64 tensorflow/lite/tools/benchmark:benchmark_model)

run
/data/local/tmp/benchmark_model --graph=/data/local/tmp/--mini_cnn.tflite --use_gpu=true --num_runs=10 --num_threads=1 --gpu_backend=cl --delegate_serialize_dir=/data/local/tmp/cache --delegate_serialize_token=mini
Describe the current behavior
clGetProgramInfo in CLProgram::GetBinary parameters
CL_PROGRAM_BINARIES: 0x1166
binary_size: 5592 (the current codes are intended for kernel size not address size)
Describe the expected behavior
clGetProgramInfo in CLProgram::GetBinary parameters
CL_PROGRAM_BINARIES: 0x1166
binary_size: sizof(binary_ptr) maybe
In OpenCL Spec(https://www.khronos.org/registry/OpenCL/sdk/2.0/docs/man/xhtml/), it says

param_value_size (third param in clGetProgramInfo)
Used to specify the size in bytes of memory pointed to by param_value
param_value (forth param in clGetProgramInfo)
Return type: unsigned char *[] (double pointers) in case of clGetProgramInfo's CL_PROGRAM_BINARIES

Therefore, param_value_size should be size of  unsigned char * (maybe address)
size of binary address, not binary itself.
Contributing

Do you want to contribute a PR? (yes/no): yes
Briefly describe your candidate solution(if contributing):
  cl_int error_code = clGetProgramInfo(program_, CL_PROGRAM_BINARIES,                                      sizeof(binary_ptr), &binary_ptr, nullptr);

Standalone code to reproduce the issue
Provide a reproducible test case that is the bare minimum necessary to generate
the problem. If possible, please share a link to Colab/Jupyter/any notebook.
Other info / logs Include any logs or source code that would be helpful to
diagnose the problem. If including tracebacks, please include the full
traceback. Large logs and files should be attached.

@rubber815 ,
In order to expedite the trouble-shooting process, could you please provide a minimal code and the error log you are facing.Thanks!

@tilakrayal
Thank you for reply.
What I'm pointing out is that the implementation of CLProgram::GetBinary is different from what the actual OpenCL spec expects.
result->resize(result->size() + binary_size);  uint8_t* binary_ptr = result->data() + result->size() - binary_size;  cl_int error_code = clGetProgramInfo(program_, CL_PROGRAM_BINARIES,                                        binary_size, &binary_ptr, nullptr);
clGetProgramInfo in CLProgram::GetBinary parameters
CL_PROGRAM_BINARIES: 0x1166
binary_size: 5592 (the current codes are intended for kernel size not address size)
In OpenCL Spec(https://www.khronos.org/registry/OpenCL/sdk/2.0/docs/man/xhtml/), it says

param_value_size (third param in clGetProgramInfo)
Used to specify the size in bytes of memory pointed to by param_value
param_value (forth param in clGetProgramInfo)
Return type: unsigned char *[] (double pointers) in case of clGetProgramInfo's CL_PROGRAM_BINARIES

Therefore, param_value_size should be size of unsigned char * (maybe address)
size of binary address, not binary itself.

Thanks @rubber815, this fix helps me to fix crash. Here is my crash log:
A/libc: stack corruption detected (-fstack-protector)
A/libc: Fatal signal 6 (SIGABRT), code -1 (SI_QUEUE) in tid 26745 (GlThreadWithSha), pid 26401 (debug)
A/DEBUG: pid: 26401, tid: 26745, name: GlThreadWithSha  >>> debug <<<
A/DEBUG:       #02 pc<PHONE_NUMBER>2895d0  /data/app/~~V4KkaICgiLON4S5Id3vK-Q==/debug-LNd-tnQRocB2H14VYNQmzg==/lib/arm64/libtensorflowlite_gpu_delegate.so (tflite::gpu::cl::CLProgram::GetBinary(std::__ndk1::vector<unsigned char, std::__ndk1::allocator<unsigned char> >*) const+560)
W/ActivityManager: crash : debug,10459

The team has submitted a fix af94e4598ea54c0868076cf460c7791eba592ee3


Unexpect effect invocation.

IMPORTANT: If you have a question or an idea for a new feature use Github Discussions instead
Describe the bug
When I have a state of an array of items with some fields, I use an effect to watch some of these fieds. But when I update some other fields, the effect rerun again, which may waste computation resources.
To Reproduce
see this demo
Expected behavior
when timouet triggers, there is no new console outputs.

Another question, by design, is it ok to use forEach on state array? I mean, if we push new item into it, will forEach trigger rerun of effect, by design?

To allow iteration of object keys I retrigger the parent when new properties are added or removed. Similarly, arrays always notify the parent when the indexes change. Generally this is ok, as if you initialize state with the correct shape (ie.. b as null) it won't re-execute. And if even if re-executed once it won't do so again.
So to answer your question if you were iterating or reading that array anywhere it would rerun when new items are added (or pushed from produce). Keep in mind it will re-run against all entries. The reason we have a special mapArray and <For> helper is so that we don't re-map everything every time. But the default behavior is to re-run everything.

Precise anwser and sensible design! thanks


Invalid Libraries links?

I've downloaded and installed the onnxruntime into this location:
/opt/onnx/onnxruntime/
I have successfully built some of the test files in here and can see it working:
/opt/onnx/onnxruntime/csharp/test/Microsoft.ML.OnnxRuntime.EndToEndTests.Capi
When I download your repo and try a go build I get the following error:
# github.com/dhdanie/goonnx/ort
ort/allocator.go:4:11: fatal error: onnxruntime_c_api.h: No such file or directory
    4 | // #include <onnxruntime_c_api.h>
      |           ^~~~~~~~~~~~~~~~~~~~~
compilation terminated.

This is after I've updated the main.go file to include:
// #cgo LDFLAGS:  -L/opt/onnx/onnxruntime/build/Linux/Release -lonnxruntime
As you can see from ldd on the test application I built, this seems to be the right location for where libonnxruntime.so.1.8.0 is:
matt@silverark-14:/opt/onnx/onnxruntime/csharp/test/Microsoft.ML.OnnxRuntime.EndToEndTests.Capi$ ldd Capi_sample
        linux-vdso.so.1 (0x00007ffd9e3cb000)
        libonnxruntime.so.1.8.0 => /opt/onnx/onnxruntime/build/Linux/Release/libonnxruntime.so.1.8.0 (0x00007fa55d8cb000)
        libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fa55d6ea000)
        libgcc_s.so.1 => /usr/lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fa55d6cf000)
        libc.so.6 => /usr/lib/x86_64-linux-gnu/libc.so.6 (0x00007fa55d4dd000)
        libdl.so.2 => /usr/lib/x86_64-linux-gnu/libdl.so.2 (0x00007fa55d4d7000)
        libpthread.so.0 => /usr/lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fa55d4b4000)
        libm.so.6 => /usr/lib/x86_64-linux-gnu/libm.so.6 (0x00007fa55d363000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fa55e454000)

The only thing that seems to move me along is to update the allocated.,go file directly to include the folder that contains onnxruntime_c_api.h like this:
package ort
// #cgo CFLAGS: -I/opt/onnx/onnxruntime/include/onnxruntime/core/session
// #include <onnxruntime_c_api.h>
// #include "allocator.h"
import "C"

But that throws another error which I can't seem to fix:
# github.com/dhdanie/goonnx/ort
In file included from ort/environment.go:5:
/opt/onnx/onnxruntime/include/onnxruntime/core/session/environment.h:6:10: fatal error: atomic: No such file or directory
    6 | #include <atomic>
      |          ^~~~~~~~
compilation terminated.

Any help would be greatly appreciated! I've sure it's something simple but I've spent 2 days on this already!

@silverark did you manage to circumvent this eventually?


Add torch BFGS with simple example

Instead of using ASE's BFGS, this PR adds the functionality to use a torchified BFGS

moved to baselines


about regenerator src lib usage

How can I configure it to implement regenerator src lib usage?

This has nothing to do specifically with this plugin is rather a general grunt question.

Support questions are better asked on StackOverflow:
http://stackoverflow.com/questions/tagged/gruntjs
Paste in the link to the question here so others can follow ;)


BatchOwlLoader hangs when loading chebi.owl

At commit f42574ef50c831b14b4b0e25910bb5985e4718b3 when I try to load http://purl.obolibrary.org/obo/chebi.owl directly from the site or locally BatchOwlLoader hangs and does not finish loading the file. The config file I'm using is as follows:
    graphConfiguration:
        # The location of the graph.
        # If this location does not exist it will be created.
        # Loading will append content to existing graphs.
        location: /tmp/methodsGraph
        indexedNodeProperties:
          - label
          - fragment
        exactNodeProperties:
          - label
          - fragment
          - definition
          - synonym
          - acronym
          - abbreviation
          - deprecated

    # A list of ontologies to import.
    ontologies:
      - url: http://raw.githubusercontent.com/tgbugs/methodsOntology/master/ttl/nsmethods.ttl
      - url: http://raw.githubusercontent.com/tgbugs/methodsOntology/master/ttl/nsbeing.ttl
      - url: http://purl.obolibrary.org/obo/chebi.owl  # FIXME chokes
        reasonerConfiguration:
          factory: org.semanticweb.elk.owlapi.ElkReasonerFactory

    # All properties are stored but can optionally be added to a new node property
    mappedProperties:
      - name: label # The name of the new property
        properties: # The list of properties mapped to the new property
        - http://www.w3.org/2000/01/rdf-schema#label
      - name: comment
        properties:
        - http://www.w3.org/2000/01/rdf-schema#comment
      - name: definition
        properties:
        - http://www.FIXME.org/nsupper#definition
        - http://purl.obolibrary.org/obo/IAO_0000115
      - name: synonym
        properties:
        - http://www.FIXME.org/nsupper#synonym
        - http://www.geneontology.org/formats/oboInOwl#hasSynonym
        - http://www.geneontology.org/formats/oboInOwl#hasNarrowSynonym
        - http://www.geneontology.org/formats/oboInOwl#hasExactSynonym
        - http://www.geneontology.org/formats/oboInOwl#hasRelatedSynonym
      - name: acronym
        properties:
        - http://www.FIXME.org/nsupper#acronym
      - name: deprecated
        properties:
        - http://www.w3.org/2002/07/owl#deprecated

And the command is mvn exec:java -Dexec.mainClass="edu.sdsc.scigraph.owlapi.loader.BatchOwlLoader" -Dexec.args="-c config.yaml"

Are you using the latest from the repo?

It was done at HEAD~1. If you can't repro it then it is probably something off on my end. I'll look around and see if I can find the issue. Thanks.


Cannot create Workspace with text-embedding-ada-002 model

I have really non-informative error message in the WebUI - 'Something went wrong'
Am I alone ?
Has anyone tested WebUI functionality before releasing the code ?

Hi @alexeyshishkin01
do you have your OPENAI_API_KEY set up in secrets manager? https://github.com/aws-samples/aws-genai-llm-chatbot#third-party-models-requirements

it looks like the mentioned documentation is not clear or/and misleading
at least it is not clear which secret I have to update (I have several secrets)
it is also not clear how/what to update the secret (update 'Secret value' of the secret ?)
if I have to update 'Secret value' there're two options - Key/value and Plaintext - which one do I have to use ?
suppose it is Plaintext, then what is the syntax of the update ?
the example of the documentation is not also clear:
{
"AI21_API_KEY": "xxxxx",
"OPENAI_API_KEY": "sk-xxxxxxxxxxxxxxx",
"COHERE_API_KEY": "xxxxx",
}
In my case I only need OPENAI - shall I delete the other two ?
Shall I delete the ',' in the end of the line ?
What is the value of 'sk-xxxxxxxxxxxxxxx' and where can I get it from ?
Also documentation says: 'N.B: In case of no keys needs, the secret value must be an empty JSON {}, NOT an empty string ''.'
So currently I don't use any keys, but there's no empty JSON in my secret(s) - perhaps the installation did not add empty JSON.
One more thing - is it possible to add to the magic installer the option to choose third party model(s) ?

I was able to find my Secret SharedApiKeysSecretXXXXXXXX-YYYYYYYYYYYY
It has empty secret value (i.e. nothing in the field of 'Secret value')
So I have added the following:
{
"OPENAI_API_KEY": "sk-ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ"
}
After that I tried to create the workspace.
So far the results are like that:

I press the button 'Create Workspace'
the screen hangs
nothing happens, no 'in progress' indicators
if you open another window with list of existing Workspaces, there's no such thing as 'Creating Workspace'


Configurable sponge absorption

Changes the max amount of blocks sponges can absorb.
It seems like there's another limit somewhere around 200 blocks, I'd like to figure that out before this is merged.
Closes #232

oh no, git history has been demolished


error typechecking package os/signal: /home/saper/src/tamago-go/src/os/signal/signal.go:32:9: undeclared name: numSig (tamago-arm)

Tried building tamago-go (c117e5d62adf00b99dc5cb9e7e0d3105d87fb09d - current latest) on FreeBSD 11.4 and got this test failure in the end:
##### API check
Error running API checker: exit status 1
Go version is "go1.13.4", ignoring -next /home/saper/src/tamago-go/api/next.txt
2020/11/08 18:32:44 error typechecking package os/signal: /home/saper/src/tamago-go/src/os/signal/signal.go:32:9: undeclared name: numSig (tamago-arm)
exit status 1
2020/11/08 18:36:14 Failed: exit status 1
2020/11/08 18:36:14 FAILED

go-1.15.2,1 from FreeBSD standard packages has been used to bootstrap it.
Full build log: https://gist.github.com/be54c7dfd7a45b7c611a9999f240c528

There is a problem with the latest tag, for now please checkout tamago1.15.3.

It works with tamago1.15.3, thanks.

The latest tag has now been fixed, thanks for spotting this.


Migrate to different org?

Every repo (~20) in the fabric8-launcher org is about to be archived, so perhaps it would be best to archive the entire org, except that the "maven-model-helper" is still actively being developed! So perhaps this repo can be migrated to some other org?
Wdyt @gastaldi ?

Hm, https://github.com/fabric8io would be the natural place, but I don't have any administrative permission under the org, I'll investigate what I can do, thanks for the heads-up @quintesse !

Moved to https://github.com/fabric8io/maven-model-helper. Thanks!

Yay! Thanks George :-)


Checkboxes cannot become unselected.

Steps To Recreate
Visit the front page, select some options, hit new character, deselect some options, and then hit new character.
Expected
Deselected options are deselected.
Observed
Deselected options remain selected.

This has been fixed, see commits from today.


Fix error on win when APP_OUT_FILE has spaces

When the application name has spaces "My App Setup.exe" then the call to makensis fails with "OutFile expects 1 parameters".  Adding quotes seems to fix the issue.
- Running electron-builder 2.8.2
- Starting creation of installer for ´win
makensis: OutFile expects 1
makensis:  parameters, got 3.

makensis: Usage: OutFile install_output.exe

makensis: Error in script "C:\Users\Me\AppData\Local\Temp\1ve60rr549uokok0ogwg.tpl" on line 23 -- aborting creation process

Will be fixed as #177 (I have added "test").


Implement DFU update

Discussed about strange behaviour (DFU CRC error) I encountered with OS9 only on 2.5.9 but we have no fix for it with the library. Will proceed to release with this version.


Delete .env

Removed .env file.
Added .env to gitignore.

I closed it since it was no longer pulled by @adrianhajdin


SLU 07 - Learning notebook 1 - Typos and quick fixes

banans

would always has

what us

But if this were all that we could do,  (sub optimum)

fixing somewhere else


Check if the user is sudo, set User flag default accordingly.

@rgbkrk
closes #7

@rgbkrk this actually does a user id check to see if the user is root.  This seems to work well in my tests...

How does that work in Windows?

Thanks for hopping on my issues by the way. :smile:

Actually, I haven't tested it on Windows yet.  If it doesn't work, I could just do an OS check before trying to set the flag and then use a Win32 API call to see if the account is an administrative account.

Would falling back to user=True make sense? How do we normally do it? Sometimes we end up in the .ipython folder regardless.

Yeah, falling back to user=True would work for an administrative account too.  That's probably the best bet for Windows.

#11 to remind myself to do that.


RPI startup

Dear Sirs,
Please can you help, I am i total novice with the RPI homebridge, i currently use the homebridge with lightwave RF, Harmony and limitless LED plug ins, and they work well, this was set up for me.
I have installed the hue plug in hopefully correctly and added the script in in the middle of the other plugs in the JSON file, but the HomeBridge will not start.
I have checked the JSON file in a JSON validation utility at it appears to verify.
Please can you offer any pointer, im sure i can send you a beer, for your efforts.
best regards,
Andy G

Make sure homebridge runs when you start it from the command line.  From a terminal run homebridge.  You should see something like:
[8/7/2017, 1:44:04 PM] Loaded plugin: homebridge-hue
[8/7/2017, 1:44:04 PM] Registering platform 'homebridge-hue.Hue'
[8/7/2017, 1:44:04 PM] ---
[8/7/2017, 1:44:04 PM] Loaded config.json with 0 accessories and 1 platforms.
[8/7/2017, 1:44:04 PM] ---
[8/7/2017, 1:44:04 PM] Loading 1 platforms...
[8/7/2017, 1:44:04 PM] [Hue] Initializing Hue platform...
[8/7/2017, 1:44:04 PM] [Hue] homebridge-hue v0.5.12, node v6.11.1, homebridge v0.4.22

If not, fix that before trying to run homebridge on startup.  See the homebridge WiKi how to start homebridge on boot on a Raspberry.

Dear Sir,
I will check read about homebridge when I get home tonight.
My homebridge was set up by an internet friend called Grant, he set it up for me for Lightwave RF, not sure if your familiar with LWRF.
He set it up to auto start of boot up or reset.
Ive seen this error before the cpu goes 0 to 25 to 0 to 25 each time it reads the JSON and I assume crashes out.
Do I need to change anything in users.
"platforms": [
{
"platform": "Hue",
"name": "Hue",
"users": {
"001788FFFExxxxxx": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"001788FFFEyyyyyy": "yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy"
},
"sensors": true,
"excludeSensorTypes": ["Daylight", "CLIP", "Geofence"],
"lights": true
}
]
If I post my JSON file would you be able to offer some pointers.
If your on pay pal im sure I can fire you over a beer, for  a little help.
Best regards,
Andy
From: Erik Baauw<EMAIL_ADDRESS>Sent: 07 August 2017 13:36
To: ebaauw/homebridge-hue
Cc: andygroves; Author
Subject: Re: [ebaauw/homebridge-hue] RPI startup (#145)
Make sure homebridge runs when you start it from the command line. From a terminal run homebridge. You should see something like:
[8/7/2017, 1:44:04 PM] Loaded plugin: homebridge-hue
[8/7/2017, 1:44:04 PM] Registering platform 'homebridge-hue.Hue'
[8/7/2017, 1:44:04 PM] ---
[8/7/2017, 1:44:04 PM] Loaded config.json with 0 accessories and 1 platforms.
[8/7/2017, 1:44:04 PM] ---
[8/7/2017, 1:44:04 PM] Loading 1 platforms...
[8/7/2017, 1:44:04 PM] [Hue] Initializing Hue platform...
[8/7/2017, 1:44:04 PM] [Hue] homebridge-hue v0.5.12, node v6.11.1, homebridge v0.4.22
If not, fix that before trying to run homebridge on startup. See the homebridge WiKihttps://github.com/nfarina/homebridge/wiki/Running-Homebridge-on-a-Raspberry-Pi how to start homebridge on boot on a Raspberry.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/ebaauw/homebridge-hue/issues/145#issuecomment-320651689, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AU-ZS3wreP9yNVUkwAVAQa7xxgpKfUaMks5sVwTCgaJpZM4OvXIH.

OK, if you already have homebridge running on boot, don't change that.  If you just install homebridge-hue (npm -g install homebridge-hue), homebridge should find it.  Next, you need to edit your existing config.json (in ~/.homebridge) and add the homebridge-hue part to the existing "platforms" array.  It should look like:
{
  "bridge": {
    ...
  },
  "platforms": [
    {
      "platform": "LightWaveRF",
      "name": "LightWaveRF",
      ...
    },
    {
      "platform": "Hue",
      "name": "Hue",
      ...
    }
  ]
}


Add Eddystone API to change default device name

@pan- Please review.

I'm okay with this, don't forget to document setCompleteDeviceName


[Event Request] Table 39 "Purchase Line".CancelAdvanceLetterRelations

Please add new event
    procedure CancelAdvanceLetterRelations()
    var
        AdvanceLetterLineRelation: Record "Advance Letter Line Relation";
	//-------------------------------OnBeforeCancelAdvanceLetterRelations:BEGIN
	IsHandled: boolean;
	//-------------------------------OnBeforeCancelAdvanceLetterRelations:END
    begin
        // NAVCZ
	//-------------------------------OnBeforeCancelAdvanceLetterRelations:BEGIN
	IsHandled := false;
	OnBeforeCancelAdvanceLetterRelations(Rec, IsHandled);
	if IsHandled then
  	    exit;
	//-------------------------------OnBeforeCancelAdvanceLetterRelations:END
        AdvanceLetterLineRelation.SetRange(Type, AdvanceLetterLineRelation.Type::Purchase);
        AdvanceLetterLineRelation.SetRange("Document Type", "Document Type");
        AdvanceLetterLineRelation.SetRange("Document No.", "Document No.");
        AdvanceLetterLineRelation.SetRange("Document Line No.", "Line No.");
        if AdvanceLetterLineRelation.FindSet then
            repeat
                AdvanceLetterLineRelation.CancelRelation(AdvanceLetterLineRelation, false, true, true);
            until AdvanceLetterLineRelation.Next() = 0;
    end;

    [IntegrationEvent(false, false)]
    local procedure OnBeforeCancelAdvanceLetterRelations(var PurchaseLine: Record "Purchase Line"; var IsHandled : boolean)
    begin
    end;

Hello I would like ask you if you have any information about my request. We need process our issue.

@AlexanderYakunin - we need any reaction.
It is blocking our business and we need to resolve it as soon as possible.
Thanks
Jiří Bureš
CEO

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.


Add daisy workflows for Win8.1 and 10

Adds windows 8.1 and 10 21h2 to daisy workflows.

/lgtm

/lgtm


drop layer map lock before removing droppen popped frozen layer

This is a shot in the dark to fix the pageserver deadlock described in https://github.com/neondatabase/neon/issues/3712
The ASCII art in the comment added in this commit describes a potential deadlock that involves page cache and EphemeralFile. So, I guess it's a useful change by itself.
But, I can't find a scenario with the current code base where we would actually arrive in the described deadlock.
Let's see whether the deadlock from #3712 still reproduces with this fixx. I can't repro it locally.
refs https://github.com/neondatabase/neon/issues/3712

@knizhnik so, can you no longer reproduce with this fix?

@knizhnik so, can you no longer reproduce with this fix?

No, unfortunately the problem is still reproduced.

As pointed out by Konstantin, we still hold a reference to the frozen layer in the function argument frozen_layer so, the earliest place where we run the EphemeralFile::drop is at the end of this function. We don't hold the layer map lock at that point.


Create fake-api with Swagger documentation

@arianerocha in general it seems OK. Besides the comments that I added to the review, there is also two points that I would consider importants:

I'm not against the usage of Makefile. But I was wondering if it would be possible to remove it and replace it by some npm scripts. Since the Makefile doesn't seems to be doing anything complicated and all the other commands of the project can be executed via npm/yarn.

How to consume the fake API? I guess that this is a missing information.

How to consume the fake API

Section How to consume the fake API added on README;
About change the commands to npm script. I'm not totally against, I just feel a little bit strange to use npm scripts without be a node script.

How to consume the fake API

Section How to consume the fake API added on README;
About change the commands to npm script. I'm not totally against, I just feel a little bit strange to use npm scripts without be a node script.

We can keep the Makefile, no strong opinion here. It is working.
LGTM


Feature: rotate multiple mines inside one mine (rotating mines / rotating block sets)

It should be possible to rotate mines in a specific location. For example, after a mine has been reset (e.g., once 50% of its resources are mined), can a different, pre-configured mine appear in the same spot based on a set percentage? This way, different mines with varying compositions could randomly regenerate in the same location. That also could be announced in chat.

Working on this feature. To be released in version 1.8. Latest commit init https://github.com/joserodpt/RealMines/commit/bfd1733460696e38666a3def0eef7edf9d6886a3

Just implemented this feature. Please test it and give some feedback, thanks!
Please note that this is a 1.8 beta build.
RealMines.jar.zip


[pal_uefi_dt][pal_peripherals] Using wrong variable or special purpose?

Hi ARM's developer,
I'm working with new platform to support Arm System Ready, while running test, I found the strange the source code.
Can you help me explain them?
I expect it use "usb_dt_compatible" instead of "uart_dt_compatible" in L173-L177, or I understand wrong the purpose of those lines?
https://github.com/ARM-software/bsa-acs/blob/main/platform/pal_uefi_dt/src/pal_peripherals.c#L173
Best Regards,
Hung Huynh

Hi @thanhhung06 ,
Changes are merged.
Thanks,
ACS team


Display feedback on authentication failure.

Related PT story: https://www.pivotaltracker.com/story/show/174344573
[#174344573]

@kswenson @mklewandowski Thanks for the suggestions. Do the latest changes incorporate those alright? I cringe a tiny bit at having a function named renderNavAndContent. To me it intuitively seems like the two sections should be handled separately, but then it does make sense to lump them together since they're the two elements that get hidden on auth failure... Maybe there's at least a more appropriate name I'm not thinking of?


improvements and new training data

improvements, new training data, new xml format

closing as it's obsolete.


Ecephys is not allowed to have the additional property "Units".

Describe the issue
On the testing pipeline named "SpikeGLX V1 SingleProbe AP", on the "File Metadata" page, everything is either yellow or green, but clicking "Next" results in a popup error that says Ecephys is not allowed to have the additional property "Units".
Steps to Reproduce
^
Operating System
Mac M1
GUIDE Version
main
Code of Conduct
Yes
Did you confirm this issue was not already reported?
Yes

I can replicate this as well
Uncaught (in promise) Error: Ecephys is not allowed to have the additional property "Units".
    at JSONSchemaForm.throw (JSONSchemaForm.js:500:15)
    at JSONSchemaForm.validate (JSONSchemaForm.js:567:38)
    at async GuidedFooter.onNext [as __onNext] (GuidedMetadata.js:182:46)


Engine roll to include SkRRect fix

Following commits:
584d95868 (HEAD -> master, upstream/master) [fuchsia] Capture SkRRect in scene_update_context by value (#13989)
0f530a7f2 Roll src/third_party/skia 078e8faa26d8..47af12aa8331 (22 commits) (#13987)
97a23a80e Made a way to turn off the OpenGL operations on the IO thread for backgrounded apps (#13908)
0d60e1a32 Do not default to downstream affinity on iOS insertText (#13852)
9c6836680 Added auto-reviewer config file (#13962)
a5f42905b Roll fuchsia/sdk/core/linux-amd64 from mvesW... to _7JyV... (#13983)
69f94a501 Roll src/third_party/dart 029e06b8d9..5b5f34f2e6 (10 commits) (#13982)

landing this before presumbits passed as the presubmits have passed before and i have just fixed the merge conflict with the engine version.


ext2rd.cpp:5:10: fatal error: 'map' file not found

clang++ -g -Wall -c -O3 -I itslib -D_UNIX -D_NO_RAPI -I /usr/local/include -I . -std=c++11 -stdlib=libc++  -MD ext2rd.cpp -o ext2rd.o
ext2rd.cpp:5:10: fatal error: 'map' file not found
#include
^
1 error generated.
make: *** [ext2rd.o] Error 1

I think your compiler may have some missing parts,  'map'  is part of the c++ standard library.


Exported game looks different on two different windows 11 devices (Sun disk and glow doesn't appear on laptop)

Godot version
v4.1.3.stable.official [f06b6836a]
System information
Godot v4.1.3.stable - Windows 10.0.22621 - Vulkan (Forward+) - integrated Intel(R) HD Graphics 620 (Intel Corporation; <IP_ADDRESS>5) - Intel(R) Core(TM) i5-7300U CPU @ 2.60GHz (4 Threads)
Issue description
Context: My friend and I started a project that we're collaborating on via git. I noticed that I do not have a sun disk and glow in the scene view, so we started experimenting. We both exported the .exe where the issue persisted. So he sent me his exported .exe and I tried it out and discovered that I still do not have the sun disk and the glow.
My friend's system info: Godot v4.1.3.stable - Windows 10.0.22621 - Vulkan (Forward+) - dedicated NVIDIA GeForce GTX 1080 Ti (NVIDIA; <IP_ADDRESS>42) - Intel(R) Core(TM) i5-10400F CPU @ 2.90GHz (12 Threads)
We both have the Steam version of the engine so it should be the same (and also in the case of an export it should not matter)
TL;DR: The environment looks completely different on different devices in the export.
This concerns us, since this means the final product will not look consistent across different devices.
The only thing I can think of is that Godot has some sort of built-in adaptive performance but I could not find any information on that. If that is the case, pointing us towards a potential solution or customization of this feature would be greatly appreciated.
Steps to reproduce

Create a project
Add a Node3D, a camera and a directional light facing opposite to the camera
Set camera background to Sky, set Sky to procedural and turn on "glow" on the camera
Export the project as a .exe and .pck
Run the .exe on both Godot v4.1.3.stable - Windows 10.0.22621 - Vulkan (Forward+) - dedicated NVIDIA GeForce GTX 1080 Ti (NVIDIA; <IP_ADDRESS>42) - Intel(R) Core(TM) i5-10400F CPU @ 2.90GHz (12 Threads)
and
Godot v4.1.3.stable - Windows 10.0.22621 - Vulkan (Forward+) - integrated Intel(R) HD Graphics 620 (Intel Corporation; <IP_ADDRESS>5) - Intel(R) Core(TM) i5-7300U CPU @ 2.60GHz (4 Threads)

Minimal reproduction project
N/A

Can you please upload an MRP so that contributors can test on their devices and confirm that they experience the same issue?
From your description it sounds like you may just be configuring your environment differently from your friend.

Of course
Minimal reproduction project
Project.zip
Exported files
Build.zip
Screenshots
My view:

His view:

From your description it sounds like you may just be configuring your environment differently from your friend.
Git should ensure that does not happen. However, even if that was the case, we both ran the exact same .exe that he has exported so it should not matter what my settings are or even if I have Godot installed or not.

Update:
RX 6700 XT, Ryzen 5 5600X, 32GB Win 11 - produces the one with the sun disk and glow effect
RX 5700XT, i5 10400F, 16GB Win 10 - produces the one with no sun disk and glow effect

Godot Engine v4.1.3.stable.official.f06b6836a - https://godotengine.org Vulkan API 1.3.260 - Forward+ - Using Vulkan Device #0: NVIDIA - NVIDIA GeForce RTX 3080
Are you sure the magenta isn't a shader error (and different drivers may handle the error differently?)

I merely turned "glow" on and off on the environment.

Running the MRP I have the sun disk and glow on my system.

Godot v4.1.3.stable - Pop!_OS 22.04 LTS - X11 - Vulkan (Forward+) - integrated Intel(R) Xe Graphics (TGL GT2) () - 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz (8 Threads)

In your view it appears that the directional light is disabled completely. Accordingly, I don't think this has anything to do with the Environment.
Can you do a bit of further debugging, like adding a script that prints whether the DirectionalLight3D in the scene is visible?


The current revision can't compile images that use more than 1 pallete

I believe that some changes to adapt resources to tmx files, cause some strange side effects when read images
In the commit 84ce6bef38de7e2aa9b3cd748ebef29d034d1676 all my resources that use two palletes run perfectly, but now is showing this error:
.||Error: pixel at [408,399] reference a different priority (1 != 0).|
.||Error: cannot compile resource 'TILESET babaplace_foreground_tileset "stage/babaplace/fgprio.png" APLIB ALL'|
.||Error: pixel at [408,399] reference a different priority (1 != 0).|
res\stage.rs||No such file or directory|
.||warning: '-x assembler-with-cpp' after last input file has no effect|
.||error: no input files|

Hi @saintienn
Is is possible to share you image ? It seems a certain pixel is using different priority (color index >= 128) in a same tile.
Recently i fixed a bug preventing transparent pixel to store priority information.

yes, thank you so much!
In this image I paint some tiles with priority
https://www.dropbox.com/s/x561dsaywte1sju/fgprio.png?dl=0

So indeed it's related to the bug i fixed.
You have a tile which share pixels from low priority palette (the transparent pixels) and pixels from high priority palette :

As reported by the error message : Error: pixel at [408,399] reference a different priority (1 != 0)
It's important than all pixels from a tile reference the same palette (even transparent pixels) :)
Before transparent pixels could be from any palette but that was causing issue when we wanted use transparent but high priority tile (for hilight / shadow effect for instance) so I had to fix that.

I fixed the image how you showing, and this tileset come back to compile correctly!
Thanx Stephane!


Selenium fix

Which issue this PR addresses:
followup to #2492
This should probably be reverted once we figured out a solution to docker in int

Fixes
What this PR does / why we need it:

Test plan for issue:

Is there any documentation that needs to be updated for this PR?

LGTM


Compile with Go 1.11

Just fixes a cast. Probably newer Go versions are more restrictive about that.
Also added some tests.

 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.

:+1: :+1: :+1: for the added tests.
Is the code still compatible with older Go versions?

We chatted offline; it indeed should continue to work with older go versions.


Specify short names of ModelVerticalGrid fields in yaml file

Types of change(s)

[ ] 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)
[ ] Trivial change (affects only documentation or cleanup)
[ ] Refactor (no functional changes, no api changes)

Checklist

[ ] Tested this change with a run of GEOSgcm
[ ] Ran the Unit Tests (make tests)

Description

Introduced field_edge/center in the yaml config file, so that a model vertical grid is now specified in the yaml file as follows:mapl:
  geometry:
    vertical_grid:
      class: model
      standard_name: air_pressure
      field_edge: PLE
      field_center: PL
      units: hPa
      num_levels: 4

Updated Scenarios tests where a model vertical grid is specified
Some cleanup of ComponentSpecParser::parse_geometry_spec - vertical grid is parsed in a separate routine now
Refactored Test_ModelVerticalGrid.F90
Updated overloaded write of ModelVerticalGrid to include standard name and field names for edge and center variables

Related Issue

Resolves #3184


Add Conference Program

@bkmgit will this format of the program render well on the page?

Roughly seems ok. Can fix if needed.
Should there be spaces for contributed talks? It is not clear where there are speakers, or which topics speakers should submit talk proposals.
Longer breaks maybe helpful, 10 minutes instead of 5 minutes.

Adding tentative program is helpful. Perhaps leave theme titles for each day and then have a bulleted list with topics of interest. For example day 4 could be:
Day 4, Friday, April 29, 2022

Start (EAT)
End (EAT)
Session 4: Unconference (open panel discussions)
Title
Presenter
Chair:

14:00
14:50
Session 1

Chair:

14:55
15:00
Break

15:00
15:50
Session 2

Chair:

15:55
16:00
Break

16:00
17:00
Session 3

Chair:

17:00
18:00
Networking hour

Above this, there could be a section "Conference Themes"

Open Science

Reproducible Research
Research Data Management
Project Planning and Management
Workflow Management Systems
Open source software/ tools
Ethical aspects in data science

Genomics

Pathogen Genomics
Human/ Animal Genomics
Plant Genomics
Evolutionary Genomics

One Health

Antibiotic-resistant germs
Vector-borne diseases
Diseases in food animals
Human-animal bond
Contamination of water

Unconference

Careers in open science
Alternative career paths in genomics
Working and studying outside Kenya

Adding tentative program is helpful. Perhaps leave theme titles for each day and then have a bulleted list with topics of interest. For example day 4 could be:
Day 4, Friday, April 29, 2022
Start (EAT) 	End (EAT) 	Session 4: Unconference (open panel discussions) 	Title 	Presenter 	Chair:
14:00 	14:50 	Session 1 			Chair:
14:55 	15:00 	Break
15:00 	15:50 	Session 2 			Chair:
15:55 	16:00 	Break
16:00 	17:00 	Session 3 			Chair:
17:00 	18:00 	Networking hour
Above this, there could be a section "Conference Themes"
* Open Science

  * Reproducible Research
  * Research Data Management
  * Project Planning and Management
  * Workflow Management Systems
  * Open source software/ tools
  * Ethical aspects in data science

* Genomics

  * Pathogen Genomics
  * Human/ Animal Genomics
  * Plant Genomics
  * Evolutionary Genomics

* One Health

  * Antibiotic-resistant germs
  * Vector-borne diseases
  * Diseases in food animals
  * Human-animal bond
  * Contamination of water

* Unconference

  * Careers in open science
  * Alternative career paths in genomics
  * Working and studying outside Kenya

Updated

Seems ok to me.


Signal Handling from Orchestrator

First of all: Awesome work, this an amazingly fast and awesome tool. Thanks for sharing this!
#! /bin/bash /usr/local/bin/consul-templaterb --wait=60 --no-vault-renew --vault-addr=${VAULT_ADDR} --consul-addr=${CONSUL_HTTP_ADDR} \                               --sig-reload=USR2 --exec "/haproxy/bin/haproxy -f /haproxy/hap.conf" "$@"
and the variables being passed is
                "--template", "/haproxy/hap.conf.erb:/haproxy/hap.conf",                 "--template", "/haproxy/routing.map.erb:/haproxy/routing.map",                 "--template", "/haproxy/secrets_generator.erb:/haproxy/secrets_generator"
This is a watered down version of our entrypoint running in a Ubuntu18.04 container. Our goal is to run this consul-templaterb rendering HAProxy configs and reloading the process when consul values are changed. This is generally working as expected, however we are running some tests and we are not seeing signal handling as expected.
We tried running consul-templaterb in the background and trapping the signals, however I am not sure that this was the intent of this when you wrote consul-templaterb.
When using an orchestrator what is your suggested deployment/signal handling?

Hello @MillsyBot,
Thanks a lot, it is really great to receive a nice comment about our work and it is a real pleasure to share our work with people being grateful.
We are using daily this tool with signals to regenerate on the fly our configurations for dozens of different very large configurations in many teams with many instances of Prometheus (Prometheus receiving the signal) and this is working for a very long time, so I suspect a big bug would have been notified, but it is still possible, especially since we are not using very high --wait values (max is around 10s).
I also added the signal reload for your exact usage some time ago, so it is exactly intended to do so. But there are a few warnings (that are supposed to be explained in the README.md, but I take the time to re-explain (and feel free to modify the README in a PR if it is not clear).
The most common problem
First, in your example, you are using --wait 60. This means that templates are evaluated every 1 minute, it has several impacts: it means that the template will be generated at a maximum of 1/m, so the signals will be sent every second at the maximum, whatever the number of changes/s. I suspect this is what you want, but globally, even in a very noisy cluster, haproxy will reload its config every 60s max. I never tried to use it with such high values in production (while it should not have any impact, it is still possible).
Second, the order of --sig-reload and --exec are very important:
if you consider this example:
consul-templaterb --exec /my/monitoring --sig-reload NONE --exec "python -m http.server 8080" [somefiles]

/my/monitoring and python servers would be launched once all files are properly generated and will receive signals each time one of those files is changing. However:

/my/monitoring is supposed to receive SIGHUP (the default value), because -sig-reload is after --exec /my/monitoring
python -m http.server 8080 will receive no signal (because --sig-reload NONE is before --exec python command).

It means that for instance appending --sig-reload TERM at the end of your commands has no effect because no other --exec flag is present).
This behavior, while powerful, is not very common (and I have been bitten a few times with it myself), and several times, when looking at it, I did not understand while my python command did receive SIGHUP while I wanted NONE, appended at the end of my command line.
Another possible issue
From the doc:

If you generate several files at the same time, the signal will be sent only once the rendering of all templates is completed, so if your process is using several configuration files, all files will be modified and consistent before the signal is sent to process.

It means that the signal is supposed to be generated when all the files are considered not dirty, it means all the data for all the files have been retrieved and properly computed.
Consider this example:
<%
counts = {}
services.each do |service_name, tags|
  counts[service_name] = service(service_name).count
end
%><%= JSON.pretty_print(counts) %>

If you have a cluster where 1 service is renamed every 30s and you used --wait 60, for instance:
service-30, then service-60, service-90 [...] service-3600
At startup, consul-templaterb ignores --wait and try to fetch data as fast as possible. But once the template has been rendered, it would watch.
every 60s, the template is evaluated, then wait...
so, at t+60: consul-templaterb finds new services service-30 and service-60, if schedules the retrival of those 2 additional services, mark the template has dirty (incomplete), does not render it and wait for 60s.
at t+120, consul-templaterb did get values for service-30 and service-60, but in the meantime, service-90 and service-120 have been added, so values are here, but 2 new schedules have been added service-90 and service-120, so template is still dirty, rescheduled in 60s... still no signal sent, if the list of services is changing fast enought and the --wait 60s is there, you might end with your templates being all rendered not that often, thus signal would be never sent, or very rarely. Note that in order to send the signal, consul-templaterb sends the signal ONLY if all templates are non-dirty. The fact that you are using several templates, means that at least one of those templates is not rendered, nothing happens
This might be fixed in at least 3 ways:

Hack the file consul-templaterb and change https://github.com/criteo/consul-templaterb/blob/master/bin/consul-templaterb#L69 to use min-value = 180 (refresh at the maximum the list of services every 3 minutes) => would work for my example, since the value would be greater than 60s, new services would never popup every 30s and it would converge with a maximum 60s. If it is the case, a clean fix would be to be able to override from command line those values and it would work in any case. Another possible fix would be to have values here that are always at least 1.5 times the --wait value
Do not use signals and use a binary instead, in this binary ensure to reload the command ONLY if some time has been spent. So, you could use --wait 60 BUT reload haproxy only every 60s, example --template haproxy.conf.erb:haproxy.conf::./reload_haproxy_when_needed.sh

with ./reload_haproxy_when_needed.shbeing (not tested):
#!/bin/bash

# Test if .last_reload is older than 1 min
if test "`find .last_reload -mmin +1`"
then
  kill -USR2 $(pidof haproxy)
  touch .last_reload
fi

=> thus, each time haproxy.conf would be modified, the script would be launch, but only reload haproxy every 60s max, meaning that you could use --wait 1 to have faster changes.
If it something else
You might consider running it with debug flags (which displays if there are some dirty templates), and if you don't find, try posting the debug messages here.
About --wait
wait is a bit tricky as it both handles files changes and evaluation of templates. This is clearly not the best idea I had to link both, and initially, it was more about either reducing a bit CPU usage on very complex templates (but not changing data all the time) OR avoid reloading the process all the time (but more with 10s than 60s).
This might be fixed by having an option to delay --sig-reload to launch only every x seconds (might not be that hard) and decorrelate it from --wait.
I would be glad to accept such PR if you are interested
Best
Pierre

Hello @MillsyBot,
I added support from what I described in my previous comment in https://github.com/criteo/consul-templaterb/commit/70808c6404945ef2bb5c0f394994e00ade9cf431
This will let you use -w 1 (render every second), but send to the process signals every 60s, using the new flag -W 60,
will be available in the next coming release (in a few minutes). This might solve your issues if my theory is correct.

Thanks for all the love here! This really makes my day.

@robloxrob glad it helps

@pierresouchay WOW, thank you so much for the detailed response, and for releasing a new version addressing my issues! So cool, I will buy you a beer at the next HAProxy Conf (we meet there last year).
Out of curiosity: what type of performance impact are you seeing with HAProxy reloading every 1sec? Are the impacts significant to connection reuse when the FD are constantly passing from one process to another?

@MillsyBot It really depends on the versions. In my tests a few years ago (Version 1.7.x), it used to break many things (including opened connections, so while it is ok to loose a connection or 2 every minute, not acceptable every sec), in recent, HAProxy has been doing lots of work to avoid this (esp. with 2.x releases), so I suspect it is not such a big issue with recent kernels and recent HAProxy versions.
On our side, we know use systems interconnected with Consul to pilot HAProxy (most notably: https://github.com/haproxytech/haproxy-consul-connect that uses dataplane recent additions to change on the fly HAProxy config)
But anyway, we also had this exact same issue with our prometheus instances (we used -wait 10s as well), so I think it is a welcomed addition anyway, avoiding lots of crappy workarounds.

@MillsyBot Don't forget to tell me if it is fixing your issue, in that case, please close the issue!
Thank you!

@pierresouchay Super helpful.

@chuckyz says thanks as well.


[Feature] Update staging models to follow best practices

Is there an existing feature request for this?

[X] I have searched the existing issues

Describe the Feature
The stg_marketo__lead model has a lot of transformation logic included within it. This does not align with our best practices where we intend to keep the staging models as simply cleaning and prepping of the data. Instead we are perform pretty heavy intermediate logic within this staging model.
We will want to move this logic into the dbt_marketo package at the next breaking change.
Describe alternatives you've considered
Keeping the logic where it is. However, this does not align with our package modeling principles and should be transitioned into the transformation package.
Are you interested in contributing this feature?

[X] Yes.
[ ] Yes, but I will need assistance and will schedule time during your office hours for guidance.
[ ] No.

Anything else?
I only dug into the stg_marketo__lead. However, it would be beneficial to look into a few of the other staging models to ensure the modeling practices are in alignment with our best practices.

This has been addressed in the merged PR above. As such, closing out this ticket.


Ensure all relationship creation interfaces work

Respondents should be able to create relationships between observing systems and data products, between data products and applications.
Relationships will be created working backwards from a response object. E.g. on the "Applications" page, you can create applications and relate them to data products.
Societal benefit areas can come later.

Application/Data Product was working at the start of this story. Now Observing System/Data Product is also working.


The value of 'Expiration date' is Local in 'Connection Summary' dialog when creating the connection string using UTC Expiry time

Storage Explorer Version: 1.2.0
Platform: All
Architecture: ia32/x64
Regression From: Not a regression
Steps to Reproduce:

Launch Storage Explorer and expand Storage Accounts.

Right click one account and select 'Get Shared Access Signature...' -> Select 'UTC' under Time Zone in SAS dialog -> Creat.

Paste the generated connection string to 'Attach with Connection String or SAS URI' dialog -> 'Next'.
Check the 'Expiration date' in 'Connection Summary' dialog.

Expected Experience:
The value of 'Expiration date' is 'UTC'.
Actual Experience:
The value of 'Expiration date' is 'Local'.

Why do you expect this time to be UTC? What if the user had Local set when generating the SAS?
We haven't gotten any customer compaints about this. Unless we do, we probably don't need to wrry about this.

Thanks for your sharing about this issue.


Support various IoC providers

Complex projects are invariably tied to their IoC provider at multiple levels making the adoption of EventFlow problematic if support is not available for a chosen IoC. IResolver provides solid foundation to an IoC abstraction enabling the implementation of IoC providers.
http://www.palmmedia.de/blog/2011/8/30/ioc-container-benchmark-performance-comparison
https://github.com/danielpalme/IocPerformance

Small note, to set an other IoC, one merely needs to call the UseServiceRegistration(...) right after creating the EventFlowOptions. The EventFlowOptionsAutofacExtensions illistrates how it could be done.

Time for a silly question: Is EventFlow dependent on Autofac in any way? I have been going through the code and the sym links in  EventFlow.Configuration.Registrations are confusing me on this issue.

@JC008 The "core" NuGet package isn't, but it does a IL merge with Autofac embedding it into the assembly. All the Autofac assembly types are marked as internal and not accessible outside the assembly. The EventFlow.Autofac package has reference to some of the same files, but this assembly isn't marked as internal allowing you to access and cast the types.
In short words, I was lazy and didn't want to write a IoC for the core package but wanted a good IoC for  it and used Autofac.
You can see this if you use e.g. dotPeek and disassemble the core package.

@rasmus So the support for any IoC is there already in UseServiceRegistration(...) and the Autofac element is internal only. That is very cool to say the least, thanks for the detailed feedback.

@JC008 No worries. I wrote a tiny bit about it in the docs as well. Hard to find though /Documentation/Customize.md (at the bottom)


Provide a callback once the iframe is inserted and rendered to prevent lost messages

I'm using Vue.js and webpack and I have a workflow whereby I:

initialize pym (this.parent = new Pym.Parent())
Want to send a message to the child as soon as it is loaded (this.parent.sendMessage('foo', 'bar'))

If I do these two things one after the other the iFrame is not rendered, so it does not get the message.
What I'd really like to do is use some sort of onLoaded callback, something like:
this.parent.onLoaded((pym) => {
  pym.sendMessage('foo', 'bar')
})

I was thinking this could be implemented as a standard message that the child sends whenever it is mounted, that way the parent doesn't have to worry about monitoring the iframe at all.
This workflow is the current workaround, so even if this is not a feature you guys want to add, maybe we could just drop something in the docs?

You could do this by setting a flag and listening for the "height" message, but it might be easier if you configure your child frame to send a message when it is ready to process incoming data.
child:
var child = new pym.Child();
// attach listeners for foo events
child.sendMessage("hello")

parent:
this.parent.onMessage("hello", function() {
  pym.sendMessage("foo", "bar");
});