CheckUserInRole not working Dynamics 365

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.
Expected behavior and actual behavior.
Steps to reproduce the problem (screenshots are really usefull)
CRM Version - online/onpremise - WorkflowTools version

I see this issue in this way, that the "Curent" User will be checked.
As example, i try to check  a role for antoher user, i got the resuklt grm MY user.
in all user/team fields the workflow ask for the user.
Not in this workflow.
Is this wanted?

Facing same issue, currently there is no step to check if an user has a role, this check user in role only checks the user who triggered the workflow has a role or not. This imo is not very useful.

Merged in the new version <IP_ADDRESS> ;)
thanks all!


powermate won't actually install

$ brew cask install --force powermate
==> Downloading https://support.griffintechnology.com/wp-content/uploads/sites/3/2015/08/PowerMate_v1.2.4.zip
Warning: Failed to create the file
Warning: /Library/Caches/Homebrew/powermate-1.2.4,3/2015/08.zip.incomplete: No
Warning: such file or directory

curl: (23) Failed writing body (0 != 15360)
Error: Download failed on Cask 'powermate' with message: Download failed: https://support.griffintechnology.com/wp-content/uploads/sites/3/2015/08/PowerMate_v1.2.4.zip

Ah, @vitorgalvao looks like we made a pretty stupid mistake; we didn't realize that slashes in version would translate to subdirectories in the filesystem.
There's no way to escape slashes in filenames, so we'll either have to forbid them in version strings or replace them somehow when creating a cask's cache file and staging directory.

This is somewhat funny. How could we forget that?!
We should outright remove slashes version methods, I’d say. This is the only cask that uses them, and its unlikely an user tap is using those methods anyway, since it’d also break for them.

What do you propose we use instead for powermate? We could keep the *_to_slashes methods around and use version.after_comma.dots_to_slashes

We could keep the *_to_slashes methods

I wonder if having one of the dividers with fewer methods than the others won’t cause some confusion due to the inconsistency (“it worked with the other one, why not this one?”).
Since this is the only cask that benefits from it, I wouldn’t be opposed to
version '1.2.4,3.2015.08'
url "https://support.griffintechnology.com/wp-content/uploads/sites/#{version.after_comma.gsub('.','/')}/PowerMate_v#{version.before_comma}.zip"

After all, version methods don’t work for every case, nor are they supposed to.

Sorry, should have been clearer. What I meant to say was, why bother removing any of the methods that deal with slashes? All we need to do is add an audit step that checks for slashes in version.

And the 2015/3/08 pattern is fairly common in URLs from what I've seen, so the slashes methods could continue to come in handy.

Ah, yes, that sounds fine, then.

Issue fixed for this specific Cask in https://github.com/caskroom/homebrew-cask/issues/17418


Take DESTDIR into account when creating library symlinks

Currently cmake tries to create the symlinks directly on the root filesystem, which fails if installing to a specific DESTDIR

According to the kitware (https://gitlab.kitware.com/cmake/cmake/issues/17340), on *nix, variables with the key FULL in them are always rooted in /usr/local. Is the intent of this change that if the user has set DESTDIR to say/ foo, then the symlinks become /foo/usr/local? Generally it seems that kitware suggests CMAKE_INSTALL_PREFIX for this purpose, then CMAKE_INSTALL_FULL_DIR would resolve as you need? Or am I misunderstanding this diff?

Is the intent of this change that if the user has set DESTDIR to say/ foo, then the symlinks become /foo/usr/local?

No. The symlinks are relative, and this doesn't change that. The intent is that in case you are make-installing to a specific DESTDIR (ie. for creating a distro package) the symlink is created inside the filesystem of such DESTDIR, and not in the build machine's filesystem.

Ok, thanks for the explanation. I'll leave it for someone more knowledgeable about distro packaging to review.

This doesn't seem quite right. @kdt3rd is going to investigate, there seems to be something wrong with how the pkg-config is generated that's causing downstream problems.

These changes look good. I always forget that cmake_install_prefix isn't overwritten by destdir but instead prepended in front for chroot-like behavior. Thanks for the fix!


[v2] loading

Hey there, currently trying out v2 having used v1 for a while and looking forward to the refactoring. I'm just encountering some strange behaviour with Haskell, python and a few other languages. When I open e.g. foo.js it loads the correct mode but it doesn't pick up the mode for .hs, .py, .go etc. Is this because its not meant to work yet?
I've done nothing but pull the latest version of v2, cp init.el and run make - it is the 'vanilla Lissner' edition.
Not sure if this is really an issue or just a question so feel free to close if its not meant to function yet.

Haskell and go have been neglected so they likely need more work, but I fixed them with the latest commit, but I couldn't find anything wrong with python (i've used it considerably in the past couple of weeks). Do you get any error messages in view-echo-messages-area?

Ah, just did a power cycle and a python file worked 'fine'. Only seems to offer 2.7.10 when 3.6.0 is the default interpreter but I can deal with that. We can remove python from the problem.
`view-echo-messages-area' only complains about
Warning: arch-dependent data dir '/Users/build/workspace/Emacs-Multi-Build/label/mavericks/emacs-source/nextstep/Emacs.app/Contents/MacOS/libexec/': No such file or directory
You can close this as a non-problem if hs and go are pending, thanks :)

@karetsu Just a hunch, but try running M-x eval-expression RET (executable-find "python") and see if it finds the correct python. Chances are your exec-path isn't populated properly, and that means there's a bug in core/core-os.el.

I'll have to take a look when I get home from work, thanks

Nope, its just started working - python 3 in the repl [document mode still says 2.7.10 but that's thankfully really only aesthetics]. Not a problem :)

M-x eval-expression RET (getenv "PATH")
"/usr/bin:/bin:/usr/sbin:/sbin:/foo/bar/mac/emacs/location"
This is a very different path to what I actually have set. Its preventing cabal from finding ghc [which is in /usr/local/bin] for one so dante falls on its face. Could this be why I'm seeing py2?

This is a known problem with GUI Emacs on macos (it runs in its own isolated environment), but if you're using my emacs.d it isn't a problem (I use the exec-path-from-shell plugin, which fixes the issue).
You see, Emacs uses the exec-path variable as the PATH for shell commands within Emacs.
So to see if there is a problem, run M-: (executable-find "python") (does it resolve to the correct binary?) and M-: (shell-command-as-string "echo $PATH") (does it produce the correct PATH?).

Running as a standard Mac app (isolated) I have

Doing the exact same thing but opening it via zsh:

I don't like that there is a difference, but python works fine other than what the images show and its not really a thing outside of being anal about versions.
Haskell however, is an issue. Isolated mac app opening and then just doing C-x C-f tmp.hs I'm greeted with:

but M-: (executable-find "ghc") gives the correct one. This does not happen when a haskell file is loaded via [insert shell of choice] - it just seems far more awkward to get a REPL and the best way I have is to :vsplit, C-w l, :interactive-haskell-mode then go back and use C-c C-l and then its fine.

Nothing to be done - MacOS issue


transition becomes super slow in the new version

I've been using ElasticTransition for a while. I love it! But I just did a pod update, and the new updated code made my transition super slow. I thought it was something wrong with my own code, but it is super slow too when I ran the new code from the repo. Any idea what's going on?

Same issue here using 2.2.0, I thought it was me, so I downgrade to another version 2.0.1 and everything works fine, @lkzhao Any idea what's going on with this new version?
Thank you...

I :arrow_up: this, I was experiencing the same thing. Updated and now is working fine. Thanks guys!

I think it's that version 2.0.1 not contain MotionAnimation

Sorry guys, please set the stiffness attribute on the transition to ~0.6. I forgot to update the defaultValue.

Basically that attribute sets the animation speed.


Format code using 'cargo fmt'

If rustfmt is a good idea, then I think it is better to set up an automated run of rustfmt. One-off formatting without an included rustfmt.toml file runs the risk fo some things being formatted randomly at random times, confusing the diffs.

Hi @sagebind how about if I include rustfmt.toml with one-off formatting? will the PR be accepted?


Don't use /current in Laravel recipe

Q
A

Bug fix?
Yes

New feature?
No

BC breaks?
No

Deprecations?
No

Fixed tickets
N/A or xx

The Laravel recipe assumes the existence of the current directory, but this is not the case on the very first release:
[RuntimeException]
  Could not open input file: foo/current/artisan

This PR fixes this issue by using {{release_path}} and using an inline if -d for theartisan:up and artisan:down tasks.

:+1: Thank you for this case, but {{deploy_path}}/current is a symlink.

You're welcome :) I am aware that current is a symlink, but the symlink doesn't exist until after the first successful release. It isn't uncommon to run any of the artisan tasks before the symlink task, so using the actual release path will always work.


Bug: Exit actions aren't triggered when machine is stopped

XState version
XState version 5
Description
Breaking change from v4 exit actions aren't called when a state machine actor is stopped.
Expected result
Exit actions are executed when machine is stopped (like in v4)
Actual result
Exit actions aren't executed when machine is stopped
Reproduction
https://codesandbox.io/p/sandbox/exit-actions-v5-c3c4rr
Additional context
Not sure if this is intended but it is not part of the migration guide
https://stately.ai/docs/migration
Sandbox using v4 where exit actions are called when machine is stopped
https://codesandbox.io/p/sandbox/exit-actions-v4-8xc332

This was changed on purpose, see https://github.com/statelyai/xstate/pull/4377 . Is there any particular reason why you want exit actions to be called when machine is stopped?

Ah interesting we don't use server rendering so hydration doesn't bother us in our app.
We mainly use it for cleanup on services we run. For example we have a machine that contains the logic for joining a websocket and channels (through phoenix). So in our exit actions, we call the socket disconnect method when the actor is stopped. This could happen when a fatal error occurs within another part of our app and we don't render the provider containing our machine anymore (which causes it to stop and an exit action that disconnects from the socket).
What would be a work around for this?
I can move the cleanup actions into a return function of a fromCallback but that seems quite strange (see the updated sandbox https://codesandbox.io/p/sandbox/exit-actions-v5-c3c4rr)
Maybe a configuration option to run exit actions on stop?

All state machine actions (entry, exit, transition actions) are fire-and-forget, emphasis on the forget key word. There is no clean-up for these effects, because they are already forgotten.
It sounds like you don't want to forget these effects, so yes, invoking a callback would be more appropriate:
const machine = createMachine({
  // You don't really want this, since you don't want the effect
  // to be "forgotten":
  // entry: () => console.log('entered'),
  // exit: () => console.log('exited'),
  invoke: {
    src: fromCallback(() => {
      console.log('entered')

      return () => {
        console.log('exited');
        console.log('cleaned up')
      }
    }),
  },
});

Just ran into this as well, definitely wondering if for a machine (non callback), there should be a clean up function on stopping. For now just sending a cleanup event to run the action previously in exit

Please post a motivating example for what you are asking for.


FUZZ absolute URL

it's not possible to FUZZ absolute URL e.g. I'm using
ffuf -request req.txt -w words.txt -u https://www.google.com
and req.txt is
GET https://FUZZ/ HTTP/1.1
Host: www.google.com

ffuf instead of FUZZing absolute URL it will FUZZ Host Header

this one will be awesome while facing reverse proxy , more details
https://blog.projectdiscovery.io/abusing-reverse-proxies-metadata/
https://blog.projectdiscovery.io/abusing-reverse-proxies-internal-access/

Hi, I actually got a feature request for this, along with example code OOB, and it is definitely something that will be implemented in the near future!


Use GetAllHistories in count_all_states example

Updates count_all_states example to use GetAllHistories.
@lanctot this should address the issues raised in your last comment in https://github.com/deepmind/open_spiel/pull/402.
It handles both perfect and imperfect information games. Tic tac toe is now included, and we get the correct number of total states: 4520 nonterminal + 958 terminal = 5478 total. The outputs for the other games agree with the current version of the file.
Game: tic_tac_toe, num_histories: 549946, num_terminal_histories: 255168, num_chance_nodes: 0, num_nonterminal_states: 4520, num_terminal_states: 958
Game: kuhn_poker, num_histories: 58, num_terminal_histories: 30, num_chance_nodes: 4, num_nonterminal_states: 12, num_terminal_states: 30
Game: leduc_poker, num_histories: 9457, num_terminal_histories: 5520, num_chance_nodes: 157, num_nonterminal_states: 936, num_terminal_states: 5520
Game: liars_dice, num_histories: 294883, num_terminal_histories: 147420, num_chance_nodes: 7, num_nonterminal_states: 24576, num_terminal_states: 147420
Game: turn_based_simultaneous_game(game=goofspiel(imp_info=true,num_cards=4,players=2,points_order=descending,returns_type=win_loss)), num_histories: 1077, num_terminal_histories: 576, num_chance_nodes: 0, num_nonterminal_states: 162, num_terminal_states: 576
Game: turn_based_simultaneous_game(game=goofspiel(imp_info=true,num_cards=5,players=2,points_order=descending,returns_type=win_loss)), num_histories: 26931, num_terminal_histories: 14400, num_chance_nodes: 0, num_nonterminal_states: 2124, num_terminal_states: 14400
Game: turn_based_simultaneous_game(game=goofspiel(imp_info=true,num_cards=6,players=2,points_order=descending,returns_type=win_loss)), num_histories: 969523, num_terminal_histories: 518400, num_chance_nodes: 0, num_nonterminal_states: 34482, num_terminal_states: 518400

Perfect, looks good! Thanks @jhtschultz


CSE for flexible scale set

In my understanding, it should be possible to apply custom script extension on flexible scale set as well. Can you update the "Applies to" line to add flexible scale set if that is correct?

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

ID: 50e2e178-cc8a-3f67-2b07-00671bce74c9
Version Independent ID: b702442c-3a33-32db-cbd9-1655ab805413
Content: Tutorial - Install applications in a scale set with Azure PowerShell - Azure Virtual Machine Scale Sets
Content Source: articles/virtual-machine-scale-sets/tutorial-install-apps-powershell.md
Service: virtual-machine-scale-sets
Sub-service: extensions
GitHub Login: @ju-shim
Microsoft Alias: jushiman

Hello @dcbrown16,
Thank you for bringing this to our attention. Your feedback is under review and we shall update the document accrodingly after discussing this with content owner.

Hello @dcbrown16,
I am validating this, I will get the document updated once I get the confirmation from the content author.

Hello @dcbrown16,
I have verified this with content author, and yes, your understanding is correct however, we won’t update the "Applies To" section quite yet. We are in the process of overhauling the VM and VMSS table of contents (and articles) to better reflect the direction of Flexible VMSS, Uniform VMSS, and VM content.
This article has a section for scale sets and it was specifically written for Uniform VMSS in mind. We have not made a bunch of updates all over to address Flexible VMSS – you will see those changes published in chunks over the coming months. Hope that clarifies things and thank you for reaching out. Feel free to tag me in your comments if you have any further queries around this.

Sounds good, thanks for confirming!


Fix domain doctest that are failing to compile for the wrong reason

fix issue #23

These really ought to be trybuild tests instead so we can check that they don't pass for the wrong reasons.

Codecov Report

Merging #24 (cb8cebc) into main (5b6f96f) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #24   +/-   ##
=======================================
  Coverage   83.58%   83.58%
=======================================
  Files           8        8
  Lines         804      804
=======================================
  Hits          672      672
  Misses        132      132

Impacted Files
Coverage Δ

src/domain.rs
85.71% <ø> (ø)

Continue to review full report at Codecov.

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


Add @dwnusbaum and @bitwiseman to handy-uri-templates-2-api

Description
This PR gives @dwnusbaum and @bitwiseman release permission for https://github.com/jenkinsci/handy-uri-templates-2-api-plugin, and adds the "pipeline_security_members" Jira account as the security contact for the plugin.
CC @jetersen for approval from an existing maintainer.
CC @daniel-beck as the security officer since this PR is changing security contacts.

Submitter checklist for adding or changing permissions

Always

[x] Add link to plugin/component Git repository in description above

When adding new uploaders (this includes newly created permissions files)

[x] Make sure to @mention an existing maintainer to confirm the permissions request, if applicable
[x] Use the Jenkins community (LDAP) account name in the YAML file, not the GitHub account name
[x] Make sure to @mention the users being added so their GitHub account names are known if they require GitHub merge access (see below).
[x] All newly added users have logged in to Artifactory at least once

Reviewer checklist (not for requesters!)

[ ] Check this if newly added person also needs to be given merge permission to the GitHub repo (please @ the people/person with their GitHub username in this issue as well). If needed, it can be done using an IRC Bot command
[ ] Check that the $pluginId Developers team has Admin permissions while granting the access.
[ ] In the case of plugin adoption, ensure that the Jenkins Jira default assignee is either removed or changed to the new maintainer.
[ ] If security contacts are changed (this includes add/remove), ping the security officer (currently @daniel-beck) in this pull request. If an email contact is changed, wait for approval from the security officer.

There are IRC Bot commands for it

Thanks for the ping!


Adding endpoint support to S3 provider

I recently tried this package to use DigitalOcean spaces as my assets CDN. By just adding endpoint support to the S3 provider, I got it working flawlessly. I hope this feature helps several others as well.

I can't pull this request as you have renamed all of the namespaces, including the composer.json package name. This would be a breaking change.

I've make the required edits in #31, if you'd like to use that instead?


Content isn't rendered under custom url

The url attribute allows users to specify a custom url on the frontmatter. Currently, the German about page is accessible under /de/about. I would like to change it to /de/über-mich.
The page is linked correctly in the menu but no page is rendered at /de/über-mich, which results in a 404 error. Hugo renders the about page still under /de/about.

Is this introduced in 0.17? If not, add it to the future milestone.

There is an issue here, but not the one you describe (your TOML is misconfigured). In my head the url in front matter is something we need to take literally (as in my example on the disussion forum with the JSON search index). So if you really want it at /de/über-mich, set url= "/de/über-mich./de/über-mich".
But there is an issue with URL, which has a prefix it shouldn't have (the Permalink seems to be correct).
If you agree, please correct the description of this issue.

There is an issue here, but not the one you describe (your TOML is misconfigured).

This is good to know. Otherwise the mistake isn't very obvious.

In my head the url in front matter is something we need to take literally

This depends on how we define the behavior of url. Then I have no issue with the language independency. Users just have remind themselves to update it once the language prefix changes.
In conclusion: this issue isn't an issue. We can close it. Unless you want to use it for bug with URL.

In conclusion: this issue isn't an issue. We can close it. Unless you want to use it for bug with URL.

Lets use this for the URL. And please shout if my thinking is wrong on this; but I don't see how the url setting can stay really flexible if we prepend stuff to it. I think most people use slug etc. to create custom base URLs.

I didn't thought about slug. It fits my needs much better because users don't have to set the language prefix manually. After it is nonsense to prepend something to url.

My understanding of url matches @bep's.  However, we should clarify the docs around url to make it clear that it overrides the slug and any calculated URLs (which is only translation URLs right now).  An alias works is a similar fashion.

I added more information about the difference in 742911146a24a0c39e4dcc516583fe5ed5567fa2.


ML Workflows in TAPE?

Machine Learning is a common tool to apply to time-domain data in astronomy. We should work to understand what supporting ML workflows could look like in TAPE, whether it's simply ensuring our ensemble data is servable to popular ML frameworks, or if more work is needed to make the ensemble a data structure that can support things like train/test splits, model storage and training/predictions, etc.

TAPE has successfully run on superphot plus, for both pre-processing and classification using a trained model. This is a good first step, but we should consider workflows that have more active training requirements and how to best support them.


In one observation, community ID (or ID tagging) not working

http://www.inaturalist.org/observations/823
This user did not opt for full control over their observation. They tagged it as a beaver as did three others. Yet it still says 'something' and does not tag as a beaver.
Maybe I am just missing something but it looks like a bug.

Hah, way to find a really obscure one. The underlying problem is that the observation has an invalid date, but I think it was added before we started checking for that particular problem, so when it was added it was fine, but now it's invalid and attempts to save it (e.g. when adding an identification) are failing. I know this user so I'll take the liberty of updating it.

Aha! That makes sense. I am using the new ID please system and going
through old obs, all kinds of neat stuff back then that I never saw.
On Fri, Aug 14, 2015 at 6:47 PM, Ken-ichi<EMAIL_ADDRESS>wrote:

Closed #665 https://github.com/inaturalist/inaturalist/issues/665.
—
Reply to this email directly or view it on GitHub
https://github.com/inaturalist/inaturalist/issues/665#event-383052760.

--
Charlie Hohn
Montpelier, Vermont


Linters for RxJS 7 deprecations

Feature Request
Is your feature request related to a problem? Please describe.
The RxJS 7 release includes a couple of deprecations, these were also highlighted in Ben's talk at ngconf.
Describe the solution you'd like
It would be useful to have linters that fix these for us, just like with the previous release.
Describe alternatives you've considered
/
Additional context
I'm not sure if someone is already working on this, but I started here with an implementation.
Currently, it covers the basics for:

result selectors
subscribe signature
tab signature
the deprecation of operators to operatorWith

This is just me trying to implement the linters, but I thought it could be of help, as a starting point.
It uses eslint and @typescript-eslint/parser under the hood.
Feel free to close this, or ping me if you need more information.
I also want to offer my help if we want to move forward with this and cover more cases.
The easiest way to run it is with the following command but be aware it will install eslint and @typescript-eslint/parser if needed.
npx eslint-plugin-rxjs-fixers-poc

Link to talk:
https://videos.ng-conf.org/videos/state-of-rxjs

I recently discovered ts-morph...  and I used these deprecations as a POC to get familiar with ts-morph.
See rxjs-fixers-morph for the implementation to provide fixers for the RxJS 7 deprecations.

This seems to have been addressed here: #5843


Restructure project page to include github contributions and featured projects

The projects page is a little bland right now.
It looks good on mobile devices but looks empty on wide screens.

[ ] Improve user experience for wider screen devices
[ ] Add GitHub contributions to break down projects into sections for better display

Fixed in #85


Unit moves are correct now

Fix #162
Close #136

There is a problem with wrong movement points change


pythonPackages.imread: 0.6 -> 0.7.0

Mostly trivial update of version and hashes, but also explicitly use the
right dependencies
Motivation for this change
Updates imread to latest version.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)
- [x] other Linux distributions

Is the change from nixpkgs.pkgconfig  to nixpkgs.python27Packages.pkgconfig intentional?

No, I didn't even realize that it was happening. That's because python*Packages includes a pkgconfig package?

@luispedro: exactly

Python packages so far rarely shadowed native dependencies, so this should be fine imho and is commonly used. It also makes overriding dependencies easier.

@Mic92 python-packages.nix is full of "inherit (pkgs) pkgconfig;" https://github.com/NixOS/nixpkgs/search?utf8=✓&q=python-modules+pkgconfig&type= Ad I understood this was exactly for that reason.

[detached HEAD a3f8a25ab30] python.pkgs.imread: inherit native libs on callsite
Date: Tue May 7 07:32:41 2019 +0100
1 file changed, 3 insertions(+), 1 deletion(-)


Optimistic update of staking form on call for approval

What does this PR do and why?
When a user calls the approve token for transaction message, instead of reloading the window, there is an optimistic update of the hasAdequateApproval value which lets the user fill the form and begin staking
Screenshots or screen recordings
If applicable, provide screenshots or screen recordings to demonstrate the changes.
Acceptance checklist

[ ] I have evaluated the Approval Guidelines for this PR.
[ ] I have tested this PR in all supported browsers.
[ ] I have tested this PR in dark mode and light mode (if applicable).

Current dependencies on/for this PR:

main

PR #1575

PR #1576   👈

This comment was auto-generated by Graphite.


Fix grant/revoke scripts for impersonate on sp_DBPermissions

Comment from Jason Thurston
I had some trouble with the generated revoke and grant scripts for impersonation. I made a code change to get it to work. Not sure whether it’s the right solution and whether to submit to here or github, perhaps I’ll post both places.


[C] Add test for reproducing issue #1313

$ pubsub_test --gtest_filter=PubSubTest.OneToOne
Running main() from gmock_main.cc
Note: Google Test filter = PubSubTest.OneToOne
[==========] Running 1 test from 1 test suite.
[----------] Global test environment set-up.
[----------] 1 test from PubSubTest
[ RUN      ] PubSubTest.OneToOne
[       OK ] PubSubTest.OneToOne (86 ms)
[----------] 1 test from PubSubTest (86 ms total)

[----------] Global test environment tear-down
[==========] 1 test from 1 test suite ran. (86 ms total)
[  PASSED  ] 1 test.

$ pubsub_test --gtest_filter=PubSubTest.OneToMany
Running main() from gmock_main.cc
Note: Google Test filter = PubSubTest.OneToMany
[==========] Running 1 test from 1 test suite.
[----------] Global test environment set-up.
[----------] 1 test from PubSubTest
[ RUN      ] PubSubTest.OneToMany
[       OK ] PubSubTest.OneToMany (87 ms)
[----------] 1 test from PubSubTest (87 ms total)

[----------] Global test environment tear-down
[==========] 1 test from 1 test suite ran. (87 ms total)
[  PASSED  ] 1 test.

=================================================================
==27429==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 144 byte(s) in 1 object(s) allocated from:
    #0 0x7f7380ee3d28 in __interceptor_calloc (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xded28)
    #1 0x7f7380a3058d in aeron_alloc /home/alok/src/aeron-fork/aeron-client/src/main/c/aeron_alloc.c:53
    #2 0x7f7380a871fa in aeron_image_create /home/alok/src/aeron-fork/aeron-client/src/main/c/aeron_image.c:74
    #3 0x7f7380a61437 in aeron_client_conductor_on_available_image /home/alok/src/aeron-fork/aeron-client/src/main/c/aeron_client_conductor.c:2184
    #4 0x7f7380a66d71 in aeron_client_conductor_on_driver_response /home/alok/src/aeron-fork/aeron-client/src/main/c/aeron_client_conductor.c:282
    #5 0x7f73809f2d62 in aeron_broadcast_receiver_receive /home/alok/src/aeron-fork/aeron-client/src/main/c/concurrent/aeron_broadcast_receiver.c:100
    #6 0x7f7380a543b5 in aeron_client_conductor_do_work /home/alok/src/aeron-fork/aeron-client/src/main/c/aeron_client_conductor.c:569
    #7 0x7f7380a2dfe4 in agent_main /home/alok/src/aeron-fork/aeron-client/src/main/c/aeron_agent.c:407
    #8 0x7f737fcd06da in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x76da)

Indirect leak of 10 byte(s) in 1 object(s) allocated from:
    #0 0x7f7380ee3d28 in __interceptor_calloc (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xded28)
    #1 0x7f7380a3058d in aeron_alloc /home/alok/src/aeron-fork/aeron-client/src/main/c/aeron_alloc.c:53
    #2 0x7f7380a87240 in aeron_image_create /home/alok/src/aeron-fork/aeron-client/src/main/c/aeron_image.c:75
    #3 0x7f7380a61437 in aeron_client_conductor_on_available_image /home/alok/src/aeron-fork/aeron-client/src/main/c/aeron_client_conductor.c:2184
    #4 0x7f7380a66d71 in aeron_client_conductor_on_driver_response /home/alok/src/aeron-fork/aeron-client/src/main/c/aeron_client_conductor.c:282
    #5 0x7f73809f2d62 in aeron_broadcast_receiver_receive /home/alok/src/aeron-fork/aeron-client/src/main/c/concurrent/aeron_broadcast_receiver.c:100
    #6 0x7f7380a543b5 in aeron_client_conductor_do_work /home/alok/src/aeron-fork/aeron-client/src/main/c/aeron_client_conductor.c:569
    #7 0x7f7380a2dfe4 in agent_main /home/alok/src/aeron-fork/aeron-client/src/main/c/aeron_agent.c:407
    #8 0x7f737fcd06da in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x76da)

SUMMARY: AddressSanitizer: 154 byte(s) leaked in 2 allocation(s).

Something to be aware of is aeron_subscription_close is asynchronous. And thus, it is hard to be sure that if you don't wait that the image is being leaked due to client close cleanup or because of lingering, etc. It is most likely still being leaked, however. But the where is a little more complex to figure out adn thus impact is not easy to assess.

The leak caused by the subscription not being closed completely before the test exits.  Changing the test to wait until the subscription is closed fixes the sanitizer errors.
diff --git a/aeron-client/src/test/c/aeron_pubsub_test.cpp b/aeron-client/src/test/c/aeron_pubsub_test.cpp
index 2076e7a0a..0c77984b8 100644
--- a/aeron-client/src/test/c/aeron_pubsub_test.cpp
+++ b/aeron-client/src/test/c/aeron_pubsub_test.cpp
@@ -6,6 +6,11 @@ constexpr char kChannel[] = "aeron:ipc";
 constexpr int kStream = 100;
 constexpr uint8_t kMessage = 42;

+static void closeNotification(void *clientd) {
+  bool *closed = static_cast<bool *>(clientd);
+  *closed = true;
+}
+
 class BlockingPublisher {
  public:
   ~BlockingPublisher() {
@@ -50,7 +55,13 @@ class BlockingSubscriber {
   ~BlockingSubscriber() {
     assert(!pending_handler);
     if (fragment_assembler) aeron_fragment_assembler_delete(fragment_assembler);
-    if (subscription) aeron_subscription_close(subscription, nullptr, nullptr);
+    if (subscription) {
+      bool closed = false;
+      aeron_subscription_close(subscription, closeNotification, &closed);
+      while (!closed) {
+        sched_yield();
+      }
+    }
   }

   int Connect(aeron_t* client, const char* uri, int stream_id) {

@mikeb01 Hmm.. I expected aeron_close or aeron_context_close to synchronously cleanup at least closed (or marked closed) subscriptions. Is that not feasible? I find the current behavior a bit inconvenient to use and surprising.

I suspect that this might be a problem for the cpp-wrapper too since it does not provide a mechanism for clients to wait:
https://github.com/real-logic/aeron/blob/master/aeron-client/src/main/cpp_wrapper/Subscription.h#L98
Do clients also need to wait for publication to close to avoid memory leaks?

There is some cleanup for cases where the client closes. However, I believe the case here is that the image is in a state of ownership being in question when it closes due to the close being in the command queue. Making it clean up, in this case, is probably something we can look at when we have time (is a low priority).
In any event, applications should wait for closes to complete for quite a few reasons. So, it is best practice anyway.

@alokpr It can be a bit annoying in the tests as they can exit before close operations are complete.  You can work around this by tracking the subsciber's counters or using the invoker approach to control the driver's poll functions (cpp_wrapper/SystemTest.cpp does this).


EASI: POC of MOOClet TS-Sampling experiment running through UpGrade via all local resources.

EASI: Create a POC of Thompson-sampling experiment running through MOOClet local instance.

Have an 'advanced' UI option for passing in parameters that a MOOClet experiment will need (this can look bad and/or just pass JSON if need-be).
Proxy assignments to MOOClet API + postgres DB hosted locally in Docker network.
Demonstrate a Thompson-Sampling experiment that is created in UpGrade, where at runtime, users in the MOOCLet-enabled experiment receive assignments from MOOClet instead of UpGrade's assignment algorithm.

(#713 created this branch https://github.com/CarnegieLearningWeb/UpGrade/tree/713-easi-upgrade-poc-playground-branch)

yeah this looks good!

@danoswaltCL Its in Done column, can we close this?


Update trino-plugin to be compatible with the latest Trino SPI (version 433)

What changes were proposed in this pull request?

Update trino-plugin to be compatible with the latest Trino SPI (version 433)
I hope it helps someone in trouble with Trino SPI interface changing too fast..
Related issue: https://github.com/aakashnand/trino-ranger-demo/issues/7
Original PR to apache/ranger repo.: https://github.com/apache/ranger/pull/290

How was this patch tested?

I tested this updated plugin with Trino v433(latest) and Ranger v2.4.0
I guess it will work well with the higher version of Ranger(it may also v3.0.0..?)

@okayhooni are you using this in production? Did you face any issues bugs?


twc_Statuses_Update fails with error code 44

Can you confirm this issue on your end?
My test code is as follows:
        auto tweet = "looks like @chronaldragon's twc is working :) (this tweet sent from a #dlang script)";
        enforce(twc_statuses_updatee_params.init.MediaIds == null);
        twc_call_result x = twc_Statuses_Update(&twitter, twc_ToString(tweet.toStringz),
                twc_statuses_updatee_params.init);
        writefln("%s", x.ErrorStr.Ptr[0..x.ErrorStr.Size]);

The response:
{"errors":[{"code":44,"message":"media_ids parameter is invalid."}]}

I am not reproing on linux, see https://twitter.com/chronaldragon/status/821839149569228801
media_ids should not be included in the request if the member of the struct is null. I'm not familiar with D, is null there wrapped or anything?
I'd also recommend pulling down the latest revision from the repository, a few bugs were fixed last night that could affect the outcome of calls.

Hmm, no, null is 0, I'll try pulling the latest and report back

Updated to the latest and changed the code to this:
        auto tweet = "looks like @chronaldragon's twc is working :) (this tweet sent from a #dlang script)";
        auto test = twc_statuses_update_params.init;
        test.MediaIds = cast(const(char)*)0;
        twc_call_result x = twc_Statuses_Update(&twitter, twc_ToString(tweet.toStringz),
                test);
        writefln("%s", x.ErrorStr.Ptr[0..x.ErrorStr.Size]);

same response

Not sure how to compile this test in C:
#include <stdio.h>
#include "twitter.h"
#include "twitter_api.h"
//keys/secrets redacted
int main(int argc, char *argv[])
{
    twc_oauth_keys keys = { CONSUMER_KEY, CONSUMER_SECRET, TOKEN_KEY, TOKEN_SECRET };
    twc_state twitter;
    twc_Init(&twitter, keys);
    const char* tweet = "looks like @chronaldragon's twc is working from C";
    twc_statuses_update_params test = {0};
    twc_call_result x = twc_Statuses_Update(&twitter, twc_ToString(tweet),
            test);
    printf("%.*s\n", x->ErrorStr.Size, x->ErrorStr.Ptr);
    return 0;
}

I get a big wall of errors if I include twitter_api.h and if I just include twitter.h I am missing twc_statuses_update_params

I have not used D, but this seems suspect:
    pragma(mangle, "twc_string$") struct twc_string_ {
        bool Exists;
        bool Value; }

Shouldn't Value be a twc_string?

@miotatsu you should only need to include "twitter.h". If that struct name is missing you may need to redownload twitter_api.h/.c or re-run the code generator, since there was a buffer overflow problem causing the wrong names to be created sometimes, and I had pushed versions of the _api.h/.c files with that problem to the repo without noticing. The versions in there now have this fixed.
I'm not certain that I don't also have another bug which exists only on some platforms regarding the name generation, so if the versions that the code generator is building for you still have problems, please post an issue about it with compiler/platform so I can trace down the issue.

Amendment to the earlier statements:

Codegen problem is still reproing on Windows
The files in the include/ folder haven't been getting updated, so that's probably why you still can't use the proper name for the statuses/update param struct (temp fix until I get another push out: use the ones from code/. I need to change the build process so that I only keep around one copy of these)

@baines hit the nail on the head, that binding was incorrect causing the size of my struct to mismatch the actual. Changing from bool to twc_string fixed the problem! https://twitter.com/miotatsu/status/821932817663856640
Not going to bother getting the C test working as we found the problem


Test prioritize items

Current dependencies on/for this PR:

main

PR #368

PR #369   👈

This comment was auto-generated by Graphite.

@alanvardy started a stack merge that includes this pull request via Graphite.

Graphite rebased this pull request as part of a merge.

@alanvardy merged this pull request with Graphite.


build(deps): Node 14

Summary
Support Node 14
Related Issues or PRs
closes #344
This is from #728 but we currently need to open a PR from a CODEOWNER for CI to run.  Thank you @dmethvin-gov
How To Test
If the happy diffs don't show anything, this should be good
Screenshots (optional)

Warnings

:warning:

Changes were made to package.json, but not to yarn.lock - Perhaps you need to run yarn install?

  Generated by :no_entry_sign: dangerJS against 4de7eafe0a9d66b1278c41a1e8a0dae27038f4d1


Cannot trigger click event: "Failed to execute 'dispatchEvent' on 'EventTarget'"

Version
1.0.0-beta.31
Reproduction link
https://codesandbox.io/s/vue-test-utils-issue-88765?fontsize=14&hidenavigation=1&module=%2Fsrc%2Fcomponents%2FHelloWorld.spec.js&previewwindow=tests&theme=dark
Steps to reproduce
Run any test with a trigger.("click") event in any codesandbox - eg the test in the attached sandbox.
What is expected?
The click event is triggered successfully.
What is actually happening?
Error is thrown:
Failed to execute 'dispatchEvent' on 'EventTarget': parameter 1 is not of type 'Event'.

I was trying to setup a codesandbox to highlight a completely unrelated issue I had with testing another library (Vuetify) and found no matter what I did, I would always run into the above issue when trying to trigger a click event.
I then tried various other people's sandboxes that used vue-test-utils and found that every time the above error occurred.
This issue is only happening in CodeSandbox for me, not locally.

Hm... code sandbox specific issue? :thinking:
Will ping someone who knows a bit more about code sandbox than I do.

I have had no luck reproducing this outside of some specific sandboxes. Some libs are conflicting? Anyway, I don't know this is something we can fix in VTU. If it comes up more in the future, we can reopen.


The exported map is truncated when the transfer list is too long

I generated this map, but the transfer list under Penn Station is cut. Moreover, there are collisions on the upper branch with the transfer list.

Currently, I have no way to prevent parallel branches from colliding unfortunately.
However, about the map being cropped, you can choose a larger frame size in the left menu. This solution is temporary, but remains efficient for the moment.


158 track usage of generators sdk

Motivation
Fixes #158
Checklist

[ ] Code follows coding conventions held in this repo
[ ] Automated tests have been added
[ ] Tests are passing
[ ] Docs have been updated (if applicable)
[ ] Temporary settings (e.g. variables used during development and testing) have been reverted to defaults

How to test
check if source header for generators is logged, both for mapi/dapi

Codecov Report

Merging #175 (5788789) into master (a358d6c) will decrease coverage by 2.33%.
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             @@
##           master     #175      +/-   ##
==========================================
- Coverage   90.00%   87.67%   -2.33%
==========================================
  Files          27       27
  Lines         860      860
  Branches       81       80       -1
==========================================
- Hits          774      754      -20
- Misses         83       89       +6
- Partials        3       17      +14

Impacted Files
Coverage Δ

...ontent.Ai.ModelGenerator.Core/CodeGeneratorBase.cs
48.10% <0.00%> (-8.87%)
:arrow_down:

src/Kontent.Ai.ModelGenerator/Program.cs
55.81% <0.00%> (-6.98%)
:arrow_down:

...rator.Core/Generators/TypeProviderCodeGenerator.cs
84.12% <0.00%> (-6.35%)
:arrow_down:

...nerator.Core/Configuration/CodeGeneratorOptions.cs
85.71% <0.00%> (-3.58%)
:arrow_down:

...nt.Ai.ModelGenerator.Core/DeliveryCodeGenerator.cs
74.68% <0.00%> (-2.54%)
:arrow_down:

...or.Core/Generators/Class/BaseClassCodeGenerator.cs
94.23% <0.00%> (-1.93%)
:arrow_down:

....Ai.ModelGenerator.Core/ManagementCodeGenerator.cs
87.27% <0.00%> (-1.82%)
:arrow_down:

.../Kontent.Ai.ModelGenerator.Core/Common/Property.cs
96.77% <0.00%> (-1.62%)
:arrow_down:

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


Update output.conf to adhere to the new way of configuration

The new fluentd-elasticsearch chart now uses only environment variables to configure everything in output.conf.
This environemnt variables are configured here.
We should adhere to this in our custom output.conf in the fluentd-elasticsearch helm chart.
Definition of done:
The values files have been updated

https://github.com/elastisys/compliantkubernetes-apps/blob/main/helmfile/values/fluentd-user.yaml.gotmpl
https://github.com/elastisys/compliantkubernetes-apps/blob/main/helmfile/values/fluentd-wc.yaml.gotmpl

to follow the upstream ouput.conf configmap https://github.com/kokuwaio/helm-charts/blob/fluentd-elasticsearch-10.2.1/charts/fluentd-elasticsearch/templates/configmaps.yaml#L489
(
To make it even more clear what i mean:
# In output.conf
reload_connections false  ----update-to---> reload_connections "#{ENV['OUTPUT_RELOAD_CONNECTIONS']}"

# And update https://github.com/elastisys/compliantkubernetes-apps/blob/main/helmfile/values/fluentd-user.yaml.gotmpl#L6 if nessecary (aka the default value is not what we are using)

)

I think that this have been solved.


Include rainfall in spw files

FloodAdapt version checks

[X] I have checked that this issue has not already been reported.
[X] I have checked that this bug exists on the latest version of FloodAdapt.

Reproducible Example
Rainfall is never added in spiderweb files
Current behaviour
Rainfall is never added in spiderweb files
Desired behaviour
Add rainfall if rainfall_source is track
Task list
fix
Additional context
No response

Check if it is aleady fixed. If so, close issue

Left with rainfall from track, right without


Create from string fails

Hello.
Following code
Fraction("1/2")
is failed with
TypeError: Single argument should be either an integer, a floating point or a rational number.
Standard python's Fraction is able to create from string.

Thanks for noticing, I've never used this functionality, so was not interested in implementing it because Python C API doesn't have support for regular expressions and writing a custom parser was too much for a feature that I'm not gonna use.
As a workaround you can subclass and add this functionality on your side (e.g. by calling fractions.Fraction and then sending numerator & denominator to a cfractions.Fraction constructor).
Or if you have some ideas about implementing this in plain C -- will be glad to discuss.

Thanks for quick reply!
I've implemented it without regular expressions via:
from cfractions import Fraction

def fractionFromStr(inStr:str) -> Fraction:
    arr = inStr.split("/")
    if len(arr) == 1:
        return Fraction(int(arr[0]))
    if len(arr) == 2:
        return Fraction(int(arr[0]),int(arr[1]))
    raise Exception("Can't create Fraction from string: {}".format(inStr))

I think this function can be ported to C as last resort into src/cfractions.c -> Fraction_new

Sorry about complex implementation.
Here shorter. It's slower than pure C but slower is better than nothing.
from __future__ import annotations

from cfractions import Fraction
from fractions import Fraction as StdFraction

def fractionFromStr(inStr:str) -> Fraction:
    return Fraction(StdFraction(inStr))

Sorry about complex implementation.
Here shorter. It's slower than pure C but slower is better than nothing.
from __future__ import annotations

from cfractions import Fraction
from fractions import Fraction as StdFraction

def fractionFromStr(inStr:str) -> Fraction:
    return Fraction(StdFraction(inStr))

The main problem is that it requires a lot of work to write pure C equivalent even for this regex. I'm not telling that it's impossible, but it requires extra scrupulous work that can be easily done on a client's side. I will be happy to review and provide guidance for pull request though.

I don't understand. Why just not call fractions.Fraction constructor from C-api and then convert the fractions.Fraction to cfractions.Fraction?
fractions.Fraction will do all regexp work...

Because the whole idea of this project is to provide faster version of fractions.Fraction and we can't do that by decorating it obviously

I propose the decoration only from string conversion case.

The following implementation is 8x times faster than fractions.Fraction on "123" and "123/123"
from __future__ import annotations

from cfractions import Fraction
from fractions import Fraction as StdFraction

def fractionFromStr(inStr:str) -> Fraction:
    arr = inStr.split("/")
    if len(arr) == 2:
        return Fraction(int(arr[0]),int(arr[1]))
    try:
        return Fraction(int(inStr))
    except:
        pass
    return Fraction(StdFraction(inStr))

I've added this functionality to master, going to release in the next 3 hours after do some benchmarks

I've released this feature, feel free to test it and close the issue if it works.

Works good and test passed.
But it is little slower than implementation via https://github.com/lycantropos/cfractions/issues/1#issuecomment-870352489
Test with new C-fraction:
from __future__ import annotations
(...)

from fractions import Fraction as StdFraction

def fractionFromStrImpl(inStr:str,expected:Fraction=None) -> None:
    if expected is None:
        result = False
        try:
            fractionFromStr(inStr)
        except:
            result = True
        if not result:
            raise Exception()
    else:
        actual = fractionFromStr(inStr)
        if actual != expected:
            raise Exception()
        actual2 = fractionFromStr(str(actual))
        if actual2 != expected:
            raise Exception()

def test_fractionFromStrSpeed(inStr:str) -> None:
    log("")
    pc = PerformanceCounter()
    for i in range(0,10000000):
        fractionFromStr(inStr)
    log("time={}".format(float(pc.asSecond())))

def test_fractionFromStr() -> None:
    log("")
    fractionFromStrImpl("125",Fraction(125))
    fractionFromStrImpl("125.7",Fraction(1257,10))
    fractionFromStrImpl("125.7e5",Fraction(12570000))
    fractionFromStrImpl("125.7e-5",Fraction(1257,1000000))
    fractionFromStrImpl("1/3",Fraction(1,3))
    fractionFromStrImpl("-5436",Fraction(-5436))
    fractionFromStrImpl("54362345253253985723458937259823652375623875934257923857235286959823756230946523049658723804962365",Fraction(54362345253253985723458937259823652375623875934257923857235286959823756230946523049658723804962365))
    fractionFromStrImpl("dfg",None)
    fractionFromStrImpl("0x54",None)

def test() -> None:
    log("")

    test_fractionFromStr()
    test_fractionFromStrSpeed("3244")
    test_fractionFromStrSpeed("323/5534")

Shows
2021-07-21 16:56:14.395  8448             test.py:85 main app started
2021-07-21 16:56:14.438  8448              test.py:8 test
2021-07-21 16:56:14.439  8448   fractions_test.py:43 test
2021-07-21 16:56:14.440  8448   fractions_test.py:31 test_fractionFromStr
2021-07-21 16:56:14.441  8448   fractions_test.py:24 test_fractionFromStrSpeed
2021-07-21 16:56:18.519  8448   fractions_test.py:28 test_fractionFromStrSpeed time=4.078
2021-07-21 16:56:18.520  8448   fractions_test.py:24 test_fractionFromStrSpeed
2021-07-21 16:56:24.718  8448   fractions_test.py:28 test_fractionFromStrSpeed time=6.187
2021-07-21 16:56:24.719  8448             test.py:93 main app tests are completed successfully in 00:00:10.328

while implementation from https://github.com/lycantropos/cfractions/issues/1#issuecomment-870352489
shows
2021-07-21 17:01:42.660 12592             test.py:85 main app started
2021-07-21 17:01:42.703 12592              test.py:8 test
2021-07-21 17:01:42.704 12592   fractions_test.py:43 test
2021-07-21 17:01:42.704 12592   fractions_test.py:31 test_fractionFromStr
2021-07-21 17:01:42.705 12592   fractions_test.py:24 test_fractionFromStrSpeed
2021-07-21 17:01:45.950 12592   fractions_test.py:28 test_fractionFromStrSpeed time=3.235
2021-07-21 17:01:45.951 12592   fractions_test.py:24 test_fractionFromStrSpeed
2021-07-21 17:01:50.882 12592   fractions_test.py:28 test_fractionFromStrSpeed time=4.937
2021-07-21 17:01:50.884 12592             test.py:93 main app tests are completed successfully in 00:00:08.219

In this answer I have a plot showing how it behaves at scale for pseudo-random strings and in all cases it's not slower than fractions.Fraction but your benchmarks I don't understand.

You can always run fractionFromStr by your benchmark see results. I just wrote that it is little faster than cfractions.Fraction and provided the code that shows it.
I have no more issues for this ticket. So, it can be closed.


Any Plans for Unity Spline Tool Support

Hello,
Absolutely incredible work and love to use your tool. My team has been playing around with the new unity spline tool and we were curious if you have any intentions on replacing/supporting the new tool with your path creator system?
Thanks for your amazing work and time!

Hello, I haven't tried the Unity spline tool yet, but I had assumed it might make this project obsolete. Is there functionality in my path creator tool that you find useful and which the unity spline tool lacks?

I am specifically using your spline package for race track generation. I've extended the vertex path functionality to be built in chunks for streaming as you travel along the path. My team's primary interest with the unity spline tool is that its editor code is created by unity, but personally, I have loved working with your package for all of the things that come after the Bez Path.
Just curious, because I will end up integrating the unity spline into your Vertex Path paradigm anyway.
Many thanks!

I see, thanks! I don't currently have any plans to integrate it with unity's splines, but I might look into it in the future. Good luck with your project!


Saving .txt files via GUI or CLI takes extremely long

I am using Cellpose in an ImageJ macro workflow for large scans of entire developing mouse brains (~20-25k cells counted). In the macro, my images are first processed, then I call Cellpose via the CLI to segment the individual channels using my pretrained models, then I export the masks as a .txt, import them back into ImageJ using the provided python script and then perform colocalisation analysis in ImageJ.
My issue is that writing the .txt files takes extremely long - in case of an image with ~25k cells, it is around 1h on a machine with i7-11700K, RTX 3060 Ti and NVMe SSD storage. The time is pretty much identical when exporting via the menu item in the GUI.
Of course we can run the macro overnight, but I'm just wondering why it takes so long to write the file.
Is there anything that can be done to speed up this export? Or will the direct .roi export submitted in #643 (I'm really looking forward to this functionality!) already be faster?
Update: I manually implemented the changes from #643 and compared exporting times - .txt took 49 minutes, while .roi export completed after 44 minutes. So there doesn't seem to be a large difference between those methods. In the entire workflow, of course, I can save some time because I don't need to run the ROI importer script anymore. But an overall faster export would still be great.
Thanks a lot!

I dug a bit more into the code and I found that the function that needs much, much more time with bigger images is cv2.findContours(). So I guess this is outside the hands of Cellpose...

@yassinharim I experimented with adding multithreading to the cv2.findContours() call and saw up to a 2x speed up. The speedup will be system/hardware dependent.
@carsen-stringer does this sound like something I should finish and implement?

Thanks @mrariden yes please do! We will still want to check speed up on windows if you haven't already, sometimes multithreading can be a bit weird there

This sounds great, thank you so much! @mrariden if you would be willing to share the required changes to enable multithreading already, I would be very happy to implement and test on a few different Windows setups and report back.

@yassinharim that would be great! Either clone #712 locally and run pip install -e .[gui] in the cloned directory. Or pip install git+https://github.com/mrariden/cellpose.git, cloning locally isn't necessary for the latter.

Thank you so much @mrariden! I've implemented the changes on the first system (i7-9750H, 64GB RAM, NVMe SSD, Nvidia GTX 1650, Win11 Pro) and I was able to cut down the time for exporting the ZIP from 44 minutes to 13 minutes. This is an amazing improvement!
I will continue testing also with .txt export, and on more (Intel 11th Gen Laptop and Desktop) machines.

thanks @mrariden ! great to hear it's working well @yassinharim


Supported should go further than Rules

Supported rules should be diffrent, it should be "CheckCompatibility".
Client would send the version of the Protocol he currently implements.
The server will then respond with
-> The version of the Protocol he currently implements
-> Yes or no, do i support your client version (Should always presume to support higher versions)
-> The different rules it supports
The client will then verify
-> Does the server supports me ?
-> Do I support the server (Should always presume to support higher versions)
Then, the client will intersect supported rules by the servers with his supported rules.
So, it's the responsability of each side to verify retro-compatibility. This makes possible for newer version of the protocol to be supported automatically if compatible without releasing a new version

This command should be mandatory to everything else

Done ! 22d3da038a68222877e4e6a4b56adc0e17bafe14


Redfish: Memory (missing properties)

Dev https://github.com/ibm-openbmc/dev/issues/279

$ curl -k -H "X-Auth-Token: $bmc_token" -X GET https://${BMC_IP}/redfish/v1/Systems/system/Memory/dimm6
{
<EMAIL_ADDRESS>"/redfish/v1/$metadata#Memory.Memory",
<EMAIL_ADDRESS>"/redfish/v1/Systems/system/Memory/dimm6",
<EMAIL_ADDRESS>"#Memory.v1_6_0.Memory",
  "Id": "dimm6",
  "Manufacturer": "0x2c80",
  "Name": "DIMM Slot",
  "PartNumber": "",
  "SerialNumber": "0x15d27a5e",
  "Status": {
    "Health": "OK",
    "State": "Enabled"
  }
}


fix: Avoid blocking during WC v2 init

Fix WC v2 init blocking issue
Use 2.1.2-dev versions throughout packages
Update relayUrl to match WalletConnect's default settings

Codecov Report

Merging #88 (912ba0a) into master (62db498) will decrease coverage by 0.02%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master      #88      +/-   ##
==========================================
- Coverage   37.79%   37.77%   -0.03%
==========================================
  Files          41       41
  Lines        1061     1059       -2
  Branches      141      141
==========================================
- Hits          401      400       -1
+ Misses        529      528       -1
  Partials      131      131

Impacted Files
Coverage Δ

...actkit/src/connectors/useWalletConnectConnector.ts
22.58% <ø> (+0.70%)
:arrow_up:

...ages/use-contractkit/src/utils/useWalletVersion.ts
23.80% <ø> (ø)

packages/walletconnect-v1/src/constants.ts
100.00% <ø> (ø)

packages/walletconnect-v1/src/wc-wallet.ts
56.81% <ø> (ø)

Continue to review full report at Codecov.

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


Automatically determine shard size

 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.USVSN Sai Prashanth seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


add icDenFora10, Dendarus foraminosus

Assembly review request

ToLID: icDenFora10
Species: Dendarus foraminosus
Project: ERGA-BGE
Affiliation: Genoscope

Hi @duprats , thanks for sending the EAR of Dendarus foraminosus.
I added the corresponding tag to the PR and will contact a supervisor and a reviewer ASAP.

Hi @tbrown91, do you agree to supervise this assembly?
Please reply to this message only with OK to give acknowledge.

yes

*****
EAR Reviewer Selection Process
Date: 2024-07-31 12:57

All Eligible Candidates:

Github ID  | Full Name       | Institution | Total Reviews | Last Review | Active | Busy | Calling Score | Adjusted Score
-------------------------------------------------------------------------------------------------------------------------
epaule     | Michael Paulini | Sanger      | 1             | 2024-07-25  | Y      | N    | 1001          | 1051
tommathers | Tom Mathers     | Sanger      | 2             | 2024-07-08  | Y      | N    | 1000          | 1050
additive3  | Jo Wood         | Sanger      | 2             | 2024-06-15  | Y      | N    | 999           | 1049
tbrown91   | Tom Brown       | IZW         | 9             | 2024-07-05  | Y      | N    | 999           | 999
diegomics  | Diego De Panis  | IZW         | 9             | 2024-07-05  | Y      | N    | 997           | 997

Selected reviewer: Michael Paulini (epaule)
The decision was based on:
- different institution ('Sanger')
- active ('Y')
- not busy ('N')
- highest adjusted calling score in this particular selection (1051)

Hi @epaule, do you agree to review this assembly?
Please reply to this message only with Yes or No by 07-AUG-2024 at 13:02 CET.

Yes

Thanks for agreeing :D
I appointed you as the EAR reviewer.
I will change your status to Busy until you finish this review.
Please check the Wiki if you need to refresh something (and remember that you must download the EAR PDF to be able to click on the link to the contact map file!).
Contact the PR assignee for any issues.

Generally, I think it looks good.
But i am wondering if you want to assign the sex chromosomes, as a.) the coverage drops very nicely to 50% and there would be also comparators with XY in the Tenebrionidae.
Also the HiC looks a bit like it was from a different sample?

Hi,   that's right

scaffold SUPER_9     maps  to    OZ014547.1 (Tenebrio molitor, chromosome: X)
HiC reads were from female sample while pacbio rd is from male sample

Do you want to rename the chromosomes? Else I would sign it off

yes ,

Do you need a new map and a new report  with new names ?  orat the time of submission to ena

personally, i don't mind, but i think it would be good to create a new report, so if someone ever goes back into the repo knows.

ok, I understand

Hello both @duprats @epaule
Just checking in to see if this is ready to be closed. Are you still generating the HiC map? Otherwise I think we can consider this genome finished and ready to be uploaded to ENA

Hello, I've just create a new report with chromosomes  renamed . so  ready to be closed.

Generally fine, just would like that the chromosome naming changed from SUP_ to icDenFora10_ (and the sec chromosomes don't have any prefix). If that is as intended, I would sign it off.

there is no "SUP_" name


Display of chip configuration does not show corrent values of config node

Hi,
first of all thanks for the node. I was searching long to find yours and it fits perfectly. I have two issues with the current release.

The I2C address shown in the node itself is wrong. The configuration node is correct (0x38) but the node says "0x70".
I use a dedicated interrupt line to the raspi via GPIO pin to catch the interrupt via "rpi - gpio in" Node. When I disable the register polling by setting "Read Interval in ms" in the configuration node to 0 I get the following error message.

Mar 25 09:08:30 raspberrypi Node-RED[4871]: >>> Initializing PCF8574 or MPC23017 Input node >>  bitNum=0  pullUp=false  invert=true  id=04439bc07b584f49
Mar 25 09:08:30 raspberrypi Node-RED[4871]:   MCP/PCF init-Bit started... Addr=112  bitNum=0  isInput=true  pullUp=false  startAllHigh=false  LastState=-2
Mar 25 09:08:30 raspberrypi Node-RED[4871]: OK. MCP/PCF Bit-initialization finished. Bus closed.
Mar 25 09:08:30 raspberrypi Node-RED[4871]:   ...state update >>  _onOffState: 1   globalState= 1  Node_id=04439bc07b584f49
Mar 25 09:08:30 raspberrypi Node-RED[4871]:   MCP/PCF startChipTimer = 00 ms
Mar 25 09:08:30 raspberrypi Node-RED[4871]: 25 Mar 09:08:30 - [error] [MCP PCF In:04439bc07b584f49] TypeError: console.warning is not a function

Maybe you can have a look into the two issues.
regards
Horst

Hi,
I'm glad you like it, I'm still improving it.

Yes, I know, I wrote about it in the "Known problems" section.

Can you help me with a better solution?
I've just started to lean about HTML scripting. (I'm a pascal programmer.)
Feel free to commit a change here :-)

Fixed. Uploading current state here, but not finished the new function, so will release update on NPM only in 1-2 days.

.. sorry, the new readme file wasn't uploaded here, so the "known problem" was old.

Well, I've found a quick way to finish the direct-msg-control system sooner than I've thought.
Uploaded to NPM too.

Hi, great. Thanks for the fast reaction. Whenever I can I try to help, as soon as I have time i will try to take a look regarding the configuration issue. I will check your update asap.

Here is my feedback to you last commit.

You introduced the "require("util/types");", which works fine with node v15.3.0 and later (https://nodejs.org/api/util.html#utiltypes). I had to change the line to "require("util");" for me in order to make it work with 14.19.1.

Mar 25 13:15:04 raspberrypi Node-RED[1349]: 25 Mar 13:15:04 - [warn] [@pizzaprogram/mcp-pcf-aio/mcp-pcf-aio] Error: Cannot find module 'util/types'

Now I am received another error.

Mar 25 14:03:22 raspberrypi Node-RED[1653]:   MCP/PCF > Input Force-read triggered!  msg.payload=1
Mar 25 14:03:22 raspberrypi Node-RED[1653]: 25 Mar 14:03:22 - [error] [MCP PCF In:f3e9efa753c41827] TypeError: mainChipNode.warning is not a function

I changes line 501 to .error which caused error messages like
MCP/PCF Interval (00ms) is too short for input. Setting new time = function toString() { [native code] }"

Sry, that I cannot provide a reasonable commit, but my node.js skills are limited. I am more on the C side.
thanks
Horst

Published, uploaded.


Adding a few clarifications to Windows node guide

I just went through the Windows node setup on a clean machine, and have a few clarifications and corrections to add.
cc @daschott @craiglpeters

Thanks Patrick. It would also be clean for us to modify the scripts and docs to reflect a new PR that went in for kubelet feature gates for overlay networking as well, though the deployment should work either way.

I have some script updates coming up to microsoft/sdn as well

Corresponding script updates https://github.com/Microsoft/SDN/pull/335

LGTM, I tested this on a custom Docker version:

Would be cool for this to print the CNI binary versions as well in the future

@PatrickLang

@PatrickLang if you could make the change that michmike suggests in two places (to point to recommended os instead of stating explicitly here), we can get this merged. Thanks!

@PatrickLang  Please take a look that the suggest made:
@PatrickLang if you could make the change that michmike suggests in two places (to point to recommended os instead of stating explicitly here), we can get this merged. Thanks!

@PatrickLang ping.

Closing due to no response for 90 days. Feel free to reopen though.


Python script merge_7_5Mbin.py not found

I'm trying to compile whole binary by running build.sh all, however in the last step the script complains that merge_7_5Mbin.py is not found:

Please upload this script for merging binary, thanks🤤

Solved by new commit, thanks a lot.


Add source link to MRTCore

/azp run

Do we need to update any of the tasks in the YML file?

Do we need to update any of the tasks in the YML file?

don't think so. the source link is embedded in the pdb files.

Just curious, this also works for native code? The docs seem to only mention .NET code

Just curious, this also works for native code? The docs seem to only mention .NET code.
EDIT: Also, do we need to add /p:SourceLinkCreate=true ?

doc has a section for "Using Source Link in C++ projects". Not sure about the command line parameter. I see the source link in the pdb files. Unfortunately current binary is not compatible due to namespace change, I cannot try by replacing binaries and debugging.

Thanks Hui.
FWIW, the docs here seem to imply that all you need to do is add the packages (which is what this PR does).
Looking at the build log, I do see various /sourcelink being added. For example:
/sourcelink:"x64\Release\Microsoft.Windows.ApplicationModel.Resources.sourcelink.json"
So maybe this is all that is needed. :)


[Impeller] Wire up UBOs where available on the OpenGL ES backend.

UBOs aren't available in OpenGL ES 2.0 and so we resort to UBO emulation. But UBOs are available since OpenGL ES 3.0 and above. Using a version check, Impeller should be able to UBOs without emulation like all the other backends. At the cost of emulation on older devices.

This is more important for WebGL than the other platforms where we will use Vulkan anyway.

Closing unless we decide to prioritize writing a 3.0 / WebGL specific renderer and/or pipeline


dead code elimination cause problems with _arity

Some of the dead code eliminators (like babel-plugin-minify-dead-code-elimination) remove arguments from function's definition. Which cause problem with _arity.js
from:
case 2: return function(a0, a1) { return fn.apply(this, arguments); };
will become:
case 2: return function() { return fn.apply(this, arguments); };
and it will cause problems in combinations like uncurryN and compose because they are depending on the function.length returned from _arity.
I would like to open discussion if _arity can be more defensive. Because the function really depends on the dead code.
One of the possible solutions can be
const arity2 = function() { return fn.apply(this, arguments);
arity2.arity = 2;
return arity2;

And then it is possible to check a function length by specified arity (if not specified than fallback to length).
What do you think about that?
problematic example:
const lastFn = curry((firstArg, secondArg) => {
  console.log("lastFn-firstArg", firstArg);
  console.log("lastFn-secondArg", secondArg);
  return "finish";
});

const firstFn = (firstArg) => {
  console.log("firstFn-firstArg", firstArg); // there will be undefined when minified
  return firstArg;
};
const incorrectBehaviour = uncurryN(2, compose(lastFn, firstFn));

you can play with this example at
https://github.com/aizerin/dead-code-issue-example
just type yarn and yarn start

I have encountered the same problem with less complicated and usual code, but I cannot remember now.
note: args elimination can be disabled in the plugin mentioned above.

I wonder if reverting 07ecdaca would fix the issue.

One of the possible solutions can be
const arity2 = function() { return fn.apply(this, arguments);
arity2.arity = 2;
return arity2;

It's not quite as simple as that.  The property name is length, and we can't set it that easily.  But we should be able to with defineProperty
Object.defineProperty(arity2, 'length', {value: 2, enumerable: false})

But this should be doable.  Or we could revert that commit above.  Or we could, I guess, go back even further to where this was actually done with the Function constructor (which annoyed the eval haters!)  Do you feel like taking a crack at one of these and creating a Pull Request?

Yep, I will look into it further and see what can be done.

The choice isn't ours to make.  Ramda uses the length of any function supplied to it in a number of places, and the whole point of arity is to create functions that properly report this.
But probably the easiest fix would be to revert 07edac.

Yes, it would really be nice.  Is there a way we can inline such a directive?  We've done it before for es-lint; while it's far from ideal, it's worth considering.... if it's even possible.

Yeah, not how babel-plugins work (they transform an AST) ESLint specifically has that line override (and they didn't used to - used to be file only).

It's not an issue with Ramda - it's an issue with babel-plugin-minify-dead-code-elimination. To avoid it pass keepFnArgs: true into the plugin config.

Same option can be also used for uglifyjs. (It is true by default, so you don't need to worry about that).

Hello this is not really an issue
But i was just checking the implementation of arity and found how it was done in ramda
however I am unsure as to why it was done with a switch statement
const arity = (n, fn) => {
   return function () {
      return fn.apply(this, Array.prototype.slice.call(arguments, 0, n))
   }
}

const mapStringsToNumbers = (string) => {
   return string.split(",").map(arity(1, parseInt))
}

mapStringsToNumbers("1,2,3,4,5,6,7")

is there anything wrong with my implementation of arity

@Gregjarvez your implementation causes fn.length to be 0. arity as it stands preserves function length, which is a very desirable property, especially when it comes to auto-currying.

@Bradcomp thank for the clarification. never would have seen that 💯

In fact, that is the whole reason for arity: to correctly report the arity of a function which otherwise might not do so.

@Gregjarvez: I don't see any way.


Data Cache Loader

Talking w/ @mmartinelliGC we came up with this:
function Test() {
  return (
    <DataCacheLoader appStorageKey="something">
      <SomeNavigation>

      </SomeNavigation>
    </DataCacheLoader>
  );
}

function Test2() {
  return (
    <DataCacheLoader appStorageKey="something">
      <DataCacheLoader appStorageKey="somethingElse">
        <SomeOtherNavigation>

        </SomeOtherNavigation>
      </DataCacheLoader>
    </DataCacheLoader>
  );
}

function DataCacheLoader() {
  const appStorage = useAppStorage();
  const dataCache = appStorage.retrieve(key);
  const isLoaded = appStorage.isLoaded(key);
  useEffect(() => {
    if (!isLoaded) {
      dataCache.reloadAll();
    }
    return () => {
      dataCache.resetAll();
    };
  }, []);

  const initialized = useObservable(dataCache.initialized$()) ?? false;
  if (!initialized) {
    return <LoadingScreen />;
  }

  return <Blah />;
}

I just can't think of a way to make this reusable enough AND warrant the effort because it's such a simple problem to solve. Maybe after we see this in the wild a little more we can try to lift something.

I'm going to close this and let it come back organically if needed.


Shell - display available commands / help section

Changes:

vendor/bin/sail now executes the help section, instead of the docker ps command
New command aliases for the help section: sail help, sail -help, sail --help and sail -h
New command alias for docker-compose: sail docker-compose

(Unknown commands still proxy to docker-compose)

New command alias for root-shell: root-bash
ShellCheck corrections

Preview

What it looks like on my Mac:

You can mark as ready for review once this is ready... otherwise I won't see it.

@taylorotwell Tested on Mac and Ubuntu, now it should only work if the terminal supports colors
I have also moved the help section above the docker checks, which makes the help section run immediately

@WalterWoshid fixed something that got accidentally changed here: https://github.com/laravel/sail/pull/427


Build block without checking signatures

we now assume that transactions come from the source that checks signatures before building the block

speculative part of #4908

I think in general it looks like a direction we can follow.

Haven't been doing any benchmarks for block construction so far, only for block import.
But I think signature verification should not be a bottleneck there (since it is always native?), so do not expect much gain. When profiling last time, wasmtime was a bottleneck, and it's memory growing.

@bkchr

Have you done any benchmarks?

Haven't been doing any benchmarks for block construction so far, only for block import.
But I think signature verification should not be a bottleneck there (since it is always native?), so do not expect much gain. When profiling last time, wasmtime was a bottleneck, and it's memory growing.

If that isn't the bottleneck, why do we even try to optimize it? :D
(The issue should not be rechecked, as we landed some optimizations to wasmtime)

If that isn't the bottleneck, why do we even try to optimize it? :D

Well, it can become bottleneck, once block construction will approach native speed :)
If you recall, I wanted to start with batch verification for import, where signature verification takes ~20% time, and there are benchmarks.

Yeah, I trust you with these results on block import. I just was curios if we see any improvement on block production :) But as we are current not bound by it, benchmark results will not be that helpful.

I'd expect signature verification code should actually run native, so the runtime WASM code would check the block normally, but substrate would batch the signature verification itself, and then call verify_batch before finishing.
If signatures come from untrusted sources, like in block production, then you can use batch verification, but it requires either a traitor tracing algorithm, or just rerunning the construction with individual verification.  We love batch verification in block verification because someone always spends some limited resource like VRF wins producing that block.
It's possible for this batch verification to become a mild DoS vector for block production though:  An adversary fills a block producer's transaction pool with ECDSA ecRecover calls, which run slow and cannot be batched, and a single invalid Ed25519 signature, which we batch until the end.   Now the block producers builds their block checking each good slow ECDSA ecRecover along the way, but they queue the one bad Ed25519 until then end, at which point the block construction fails, and they must start over verifying each transaction along the way.  This results in twice the computational work.

We verify each transaction before it goes into the transaction pool and can be used for block production. So, you can not slow down the block production. You can Ddos the node with invalid transaction, but it will probably just ban you.

I see.  If different runtimes handle their transaction pool differently then you need the runtime to make the choice about whether it trusts signature or not, and it cannot be decided purely by substrate, yes?  As you're already discussing, any interface to these pre-verified signature should be missuse resistant so that parachain authors do not accidentally use it in the wrong place.
You could still have three or four modes for signature verification from substrate's side:

individual verification - our current approach but maybe still useful for bench marking
batch verified signatures - 40% faster than individual verification
all signatures pre-verified - requires care to avoid parachain authors never missuse this
cached signature verification - faster than batch verification, also more missuse resistant and slower than pre-verified, but requires nasty cache management.

We could maybe even disable pre-verified entirely on the substrate site for polkadot validators running parachain runtimes?

I see. If different runtimes handle their transaction pool differently then you need the runtime to make the choice about whether it trusts signature or not, and it cannot be decided purely by substrate, yes?

Currently block proposing uses only transaction pool as interface, and transaction pool is always checking signatures.
But it is true, in general, block proposer interface to transaction source needs to be altered, simplified, and made more general, and then this current assumption will no longer hold. But by this time we will have batch verification - same as for block import already.

cached signature verification - faster than batch verification, also more missuse resistant and slower than pre-verified, but requires nasty cache management.

I am in favour of this approach actually, for block proposing. Cache management seems rather trivial.

@bkchr @tomusdrw addressed suggestions, thanks!

@gnunicorn I am not sure if runtime impl/spec version should be bumped here

doesn't this mean the API of the runtime is different now? Then spec_version should have a bump – and usually we bump impl_version along with it...

What could be invoked before hasn't changed, but I will just  bump spec_veriosn anyway... :)
impl_version should be zeroed afaik, not bumped along with it


Automated Package Upgrade

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Nested relationships

Checklist

[X] I agree to the terms within the OpenFGA Code of Conduct.

Describe the problem you'd like to have solved
There should be a way to inherit certain properties from relations. This makes sense for higher level entities such as namespaces, organization and other wrapper types in the hierarchy.
`view` is an impossible relation for `file` (no entrypoint).ModelValidationError

Describe the ideal solution
model
  schema 1.1

type user

type organization
  relations
    define member: [user]

type folder
  relations
    define organization: [organization]

type file
  relations
    define parent: [folder]
    define organization: organization from parent
    define view: member from organization
    # or
    define view: member from parent from organization

Alternatives and current workarounds
Currently it is possible to push the permission check to the parent,
model
  schema 1.1

type user

type organization
  relations
    define member: [user]

type folder
  relations
    define organization: [organization]
    define is_organization_member: member from organization

type file
  relations
    define parent: [folder]
    define view: is_organization_member from parent

However this gets dirty too quickly, especially when hierarchy is deeper and more permissions are added. Each entity carries over a piece of information that it usually doesn't care.
Additional context
I would be glad if you can provide some alternatives to this problem, I have also considered other ReBAC solutions and couldn't find a solution that really works with nested relations. Maybe it is related to cache performance, however being able to define nested relations on leaf entities should make caching easier.
Easiest way to implenet this would be expanding the syntax I provided target: x from y from z onto
type y
  relations
    define x: [x]
type z
  relations
    define y: [y]
    define x_from_y: x from y
type child
  relations
    define z: [z]
    define target: x_from_y from z

Also LMK if there are any performance concerns about this or the previous approach.

Thanks for the feedback @Dogacel! I'm moving this to an "Idea"


cmd/server: use our qledgerDeployment dockertest setup for qledgerAccountRepository tests

See: https://github.com/moov-io/gl/pull/31

Codecov Report

Merging #32 into master will increase coverage by 12.3%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master      #32      +/-   ##
==========================================
+ Coverage   50.08%   62.39%   +12.3%
==========================================
  Files          10       10
  Lines         569      569
==========================================
+ Hits          285      355      +70
+ Misses        241      168      -73
- Partials       43       46       +3

Impacted Files
Coverage Δ

cmd/server/account_storage_qledger.go
91.56% <0%> (+84.33%)
:arrow_up:

Continue to review full report at Codecov.

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


Expanding filepaths of the same name

Airline works well. However, when using buffers by looking at Airline's status line, it becomes problematic when looking at files of the same name. For instance, airline will display:
1: handlers.py   4: handlers.py
and it becomes time-consuming to keep track of which is which.
Is there a way for airline to expand the filepath when there is the same name?
I tried the "unique_tail" but that doesn't seem to cover this use case.
Thanks

If you use buffer_idx_mode, you have mappings to switch quickly between those buffers.


Terminology: change "location" to "path with filename"

 --data-dir DATA_DIR   the directory in which to keep the database, config
                       file and log file, by default
 --config-file CONFIG_FILE
                       the location of the configuration file

I propose that the in places where location is used to mean path and filename, it be changed.
It is not necessary to change option name(s), but just the explanation of what it means.

Solved: https://github.com/CounterpartyXCP/counterparty-cli/commit/44e1d8d06590634c46164a4f45731ea8c5ad92cf


Added data transfer by character code [#171903310]

This is a WIP PR as there is some styling issues that still need to be addressed.

@dstrawberrygirl this is a WIP PR because there are some styling issues that need to be addressed after Michael has a chance to look at it.  Feel free to wait to review until after the styling changes or jump in now.

@dstrawberrygirl the styling changes are in for you to review.  I left the random number generator as it although your method is much cleaner.


NO TICKET: joiner-dev-tmux.sh now shares assets with run-dev-tmux.sh

A recent change to the config.toml format that @afck made wasn't propagated to my joiner tests, so I've changed the joiner tests to just have symbolic links to the other local test config used in the test scripts.

A recent change to the config.toml format that @afck made wasn't propagated to my joiner tests, so I've changed the joiner tests to just have symbolic links to the other local test config used in the test scripts.

Why not delete the whole resources/joiner directory then, and just use resources/local?

I need a custom accounts.csv with just one bonded validator.

Why not delete the whole resources/joiner directory then, and just use resources/local?

I need a custom accounts.csv with just one bonded validator.

bors +r

bors +r

bors merge

bors merge


Enable the registry to be built with debug symbols

Enable the registry to be built with debug symbols with an environment variable 'REGISTRY_DEBUG'.
$ REGISTRY_DEBUG=true make binaries

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "debug_build" git@github.com:RichardScothern/distribution.git somewhere
$ cd somewhere
$ git commit --amend -s --no-edit
$ git push -f

Ammending updates the existing PR. You DO NOT need to open a new one.

LGTM

@dmp42
go tool 6g for the flag descriptions

LGTM


CacheJournal - IllegalStateException on device selection

Describe the bug
When playing a certain song, librespot-java throws an error and is unable to recover until restarted.
To Reproduce
Start librespot-java with TRACE logging, logged in with USER_PASS (not sure if this matters). In Spotify Client (tested on Linux and Android), while spotify:track:7BKLCZ1jbUBVqRi2FVlTVw (Closer by The Chainsmokers) is playing, select "librespot-java".
Expected behavior
Playback switches to librespot-java and song continues playing there.
Screenshots/Stracktraces/Logs
librespot-java device connects, but song does not start playing, progress bar stops progressing and librespot prints this error:
Exception in thread "player-runner-looper-255944888" java.lang.IllegalStateException
        at xyz.gianlu.librespot.cache.CacheJournal$Entry.setHeader(CacheJournal.java:277)
        at xyz.gianlu.librespot.cache.CacheJournal.setHeader(CacheJournal.java:112)
        at xyz.gianlu.librespot.cache.CacheManager$Handler.updateTimestamp(CacheManager.java:156)
        at xyz.gianlu.librespot.cache.CacheManager$Handler.readChunk(CacheManager.java:197)
        at xyz.gianlu.librespot.player.feeders.cdn.CdnManager$Streamer.<init>(CdnManager.java:230)
        at xyz.gianlu.librespot.player.feeders.cdn.CdnManager$Streamer.<init>(CdnManager.java:186)
        at xyz.gianlu.librespot.player.feeders.cdn.CdnManager.streamFile(CdnManager.java:67)
        at xyz.gianlu.librespot.player.feeders.cdn.CdnFeedHelper.loadTrack(CdnFeedHelper.java:36)
        at xyz.gianlu.librespot.player.feeders.cdn.CdnFeedHelper.loadTrack(CdnFeedHelper.java:44)
        at xyz.gianlu.librespot.player.feeders.PlayableContentFeeder.loadStream(PlayableContentFeeder.java:104)
        at xyz.gianlu.librespot.player.feeders.PlayableContentFeeder.loadTrack(PlayableContentFeeder.java:136)
        at xyz.gianlu.librespot.player.feeders.PlayableContentFeeder.loadTrack(PlayableContentFeeder.java:88)
        at xyz.gianlu.librespot.player.feeders.PlayableContentFeeder.load(PlayableContentFeeder.java:60)
        at xyz.gianlu.librespot.player.PlayerRunner$TrackHandler.load(PlayerRunner.java:583)
        at xyz.gianlu.librespot.player.PlayerRunner$TrackHandler.access$800(PlayerRunner.java:520)
        at xyz.gianlu.librespot.player.PlayerRunner$Looper.run(PlayerRunner.java:427)
        at java.lang.Thread.run(Thread.java:748)

librespot-java does not become functional anymore after this.
Further investigation shows that the id field in void setHeader(byte id, @NotNull String value) contains value -1.
Version/Commit
v1.3.0

Welp, now it started happening with some other track. It seems to happen with all tracks I test with after some time, seems related to the amount of times I started playback from that track somehow...

This exception is thrown because the cache file allocates space for 8 headers max. Based on what you described, it looks like the program cannot read the header because of its ID which can misinterpreted as an EOF. I wonder why this hasn't ever happened to me.
I've changed the value to hopefully fix this. Are you able to test the latest commit on dev?

Deleting the cache and running the latest dev code, it works! However, maybe it was just deleting the cache that fixed it.
I'll reopen the issue if necessary.
Thanks for the quick response!


Architecture sketches

We started implementing the login and setting up the websocket-agent (currently it uses a mocked connection to echo messages). Also, I've split up actions.js and reducers.js for better readability (which is also why I'm making this pull-request before the agent is finished -> just leave the branch open after merging into devel.)

still under development


sql parser cannot parse consecutive right angle brackets when using nested structs

Describe the bug
dev=> create table t (v1 struct<v1 varchar, v2 struct<v1 varchar, v2 int>>, v2 int);
ERROR:  QueryError: sql parser error: Expected ',' or ')' after column definition, found: v2.

But this is OK.
dev=> create table t (v1 struct<v1 varchar, v2 struct<v1 varchar, v2 int>>);
CREATE_TABLE

Also, if I insert a space into the angle brackets, the statement can be parsed correctly.
dev=> create table t (v1 struct<v1 varchar, v2 struct<v1 varchar, v2 int> >, v2 int);
CREATE_TABLE

Is this a feature or a bug? It reminds me of a C++ problem long ago that vector<vector<int>> must be written as vector<vector<int> >:joy:...
To Reproduce
As above.
Expected behavior
consecutive right angle brackets should be parsed correctly

Is this a feature or a bug?

I believe this is a bug. But I guess if we want to support parse >>, it will take a lot of extra work in parser... Not sure how sqlparser is implemented for now. cc @ice1000 might have some ideas on this 🤣

The problem is
https://github.com/singularity-data/risingwave/blob/c96fac4d4607e2832049c2c03c245eec39ec0ac6/src/sqlparser/src/tokenizer.rs#L549-L556
A solution can be: let lexer aware of CREATE, and do not generate >> in this case 🤔
ref https://www.stroustrup.com/C++11FAQ.html#brackets

We can handle >> in parser: two consecutive > tokens with no space in-between is considered a >> ast node

BTW I found we already try to parse it correctly.
https://github.com/singularity-data/risingwave/blob/d1567a9649baee7148f5c050c9b063e86a1cd238/src/sqlparser/src/parser.rs#L116-L118
https://github.com/singularity-data/risingwave/blob/d1567a9649baee7148f5c050c9b063e86a1cd238/src/sqlparser/src/parser.rs#L2068-L2071
And the following SQL will succeed (the struct with >> is the last argument): 😄
create table t(v struct<v struct<v int>>);


no AdditiveGroup trait in ark_ec library, but it is used in elgamal module

When I use elgamal module，I find error in code
use ark_ec::{AdditiveGroup, CurveGroup};

there is not AdditiveGroup trait in ark_ec library.
What can I do to solve this problem？

Confirm, trying to build from rev='fc1c9491c62ce51edf4f0b4e2ab270b85d0150ab':
Compiling ark-crypto-primitives v0.4.0 (https://github.com/arkworks-rs/crypto-primitives?rev=fc1c9491c62ce51edf4f0b4e2ab270b85d0150ab#fc1c9491)
error[E0432]: unresolved import `ark_ec::AdditiveGroup`

You will need to patch, like here, or use the 0.5.0-alpha release.