Keyword args support causes expected values to coerce to Hash

In https://github.com/jruby/jruby/issues/6452 we discovered that a recent update to rspec-expectations (https://github.com/rspec/rspec-expectations/pull/1187) started causing Java HashMap to coerce to Hash, triggering a failure in our tests of HashMap integration.
The coercion behavior appears to match CRuby, and we are debating whether Java HashMap should even support to_hash, but the behavior in rspec may be problematic. Any expected value object passed through the same logic will end up coercing to Hash if it defines an appropriate to_hash, which seems...unexpected.
I do not have a solution to offer, but wanted to bring it up here since it seems peculiar that an RSpec expectation would cause a value to coerce... as in our case I would expect it to pass through without modification or conversion.
Note that the behavior of coercing the last argument to a Hash will go away in Ruby 3.0, which will avoid this behavior... but it affects 2.7 (with a warning) and lower.
Isolated example not using JRuby Java integration (this simulates passing through the code from #1187):
h = Class.new { def to_hash; {a:1}; end}.new
class X
  def blah(*args, **kwargs)
    [args, kwargs]
  end
end
class Y < X
  def blah(*args)
    super
  end
end
args, kwargs = Y.new.blah(h)
p args
p kwargs

CC @eregon @jeremyevans @marcandre since I believe they have been part of debates on kwargs behavior going forward.

I can't look at this much right now, but could you provide a code example of unexpected behavior?

@marcandre The snippit provided simulates what happens inside rspec-expectations... in context, the expected value gets coerced before it gets to e.q an equal? check, and of course fails at that point.
I will create a small rspec example as well.

It may be possible to revisit this, the **kwargs will be the cause of the casting to_hash as thats how Ruby does it with ambiguous args, (or at least we have encountered this behaviour previously).

@headius can you furnish us with a spec that will break with this on 9.2.x.x or 9.1.x.x?

This is one of the reasons we separated keyword args in Ruby 3, because if an object responds to to_hash, it could be treated as keywords even if not passed as keywords in Ruby 2.
The approach here (https://github.com/rspec/rspec-expectations/pull/1187/files#diff-4bff1e98c288b9ed0d824e9ac97c878795f2b67718dcf28cb47082620a442a09R184) looks wrong.  You should use ruby2_keywords, not separate method definitions.  ruby2_keywords is compatible with Ruby <2, since you only need to use *args syntax.

@jeremyevans We have tried to use ruby2_keywords where possible, but found it is not always respected when the source is out of our control

The solution we have where it is was a last resort, we don't want string eval'd code if possible

This fails on rspec-expectations 3.9.3 and later. I think it should pass.
describe "A non-Hash value with to_hash defined" do
  it "does not coerce when passed through an equal? expectation" do
    cls = Class.new { def to_hash; {a:1}; end }
    obj = cls.new
    expect(obj).to be_equal(obj)
  end
end

If expect/be_equal doesn't accept keyword arguments, but later passes all received arguments to a method that does, in Ruby 2 it should probably append an empty hash argument, which will be treated as keywords when passed to the method that accepts keywords.  I don't know enough about RSpec to determine if that is the case.
If expect/be_equal accepts keyword arguments, there is nothing you can do in Ruby 2.

(*args, **kwargs)-delegation does not work on Ruby < 3, so I'd suggest to replace all those cases using def m(*args, **kwargs) in RSpec with ruby2_keywords def m(*args).
Nothing else works reliably for delegation in Ruby 2.7.
BasicObject#equal? doesn't accept keyword arguments, so it should work fine for this chain, if no ** is between the spec and the call to BasicObject#equal?.

Does the RSpec team plans to work on this?
I think we should replace all (*args, **kwargs) delegations in RSpec  (I think there are a few cases) with ruby2_keywords.
(*args, **kwargs) delegation is incorrect in Ruby 2.7, and ruby2_keywords needs to be used instead (nothing else works on Ruby 2.7)
I tried to clarify that in a tweet, since it seems many people got confused about "what's the correct way to do delegation for Ruby 2.7, compatible with <=2.6 and Ruby 3?". The only answer is (*args) delegation + ruby2_keywords.

@eregon Yes, we definitely plan to work on this. In the new few days we're focused on pushing rspec-rails 4.1 to support Rails 6.1, and RSpec 4 where we drop support for old rubies.
I keep a bookmark to this comment of yours that explains that ruby2_keywords is the only way to make it compatible and warning-free on both Ruby 2 & 3, and I've seen your PoC change to ruby2_keywords.
What concerns me is that ruby2_keywords is hard to apply in certain cases. You have probably seen WithKeywordsWhenNeeded and its applications, e.g. in rspec-expectations:
          klass = class << self
            # See `Macros#define_user_override` above, for an explanation.
            include(@user_method_defs = Module.new)
            self
          end
          RSpec::Support::WithKeywordsWhenNeeded.class_exec(klass, *expected, &declarations)

What is the correct approach for the above case?
Also, I haven't checked Jeremy's note above in detail, but it sounds like in some cases we're might be cornered with clean support of both recent major Ruby versions.
It's not that I'm trying to push the responsibility to you, but an informed advise would help to move this forward a bit quicker.

Assuming you want to pass keywords through the initialize method that contains that code snippet, directly after the method definition:
ruby2_keywords(:initialize) if respond_to?(:ruby2_keywords, true)

The approach of using *args delegation plus ruby2_keywords if the module responds to the method is backwards compatible at least back to Ruby 1.8.

It's worth noting that we don't do **kwargs anywhere in rspec-expectations currently. The change was originally built that way but then was changed to use ruby2_keywords when the correct place to put it was found.

It's worth noting that we don't do **kwargs anywhere in rspec-expectations currently. The change referred to in #1187 was originally built that way but then was changed to use ruby2_keywords when the correct place to put it was found. There is a usage of our support code replacement for class exec which is still in use and thus maybe the cause of the bug.
The RSpec team are fully aware of ruby2_keywords and its use, the problem was we couldn't initially find the right place to use it to silence the warnings generated by Ruby 2.7.1, we have a lot of delegation and its not always obvious where it is needed, as the warning typically does not come from the method that needs it.

@headius Your supplied spec passes on 3.10 which is our current supported version

It's actually easiest to use Ruby 3 to find the places you need to add ruby2_keywords.  Run the specs on Ruby 3, when you get an error due to the positional/keyword separation, add ruby2_keywords to the appropriate calling methods shown in the backtrace.

@jeremyevans We have passing builds for Ruby 3, part of the problem we've had is that people have use keyword argument support in ways we haven't anticipated (like in blocks supplied to things for example) and thus don't have specs for. It's always worked because we just delegate everything.

The proactive approach in this case is to look at every method in RSpec that accepts *args and not keyword arguments.  If the method is delegating the arguments to another method, then flag the method delegating the arguments with ruby2_keywords.

Your supplied spec passes for me on 3.10 which is our current supported version, can you give that a try?

@JonRowe Indeed it does! That is sufficient for me. jruby/jruby#6505

Closing this since the issue has apparently been resolved.


Integration/interpolation methods

Hi all, many thanks for this library! As I've seen, there is an integration method and interpolation. The latter are also available in other packages (tf-graphics, tf-addons) in one way or another while the integration is not (AFAIK?).
However, we implemented multiple integration algorithms and plan to put them up/into an existing repository. TFP seems nice but maybe not fully suited. However, this repository also does not seem directly like the place for this methods (as it is a very general used functionality, especially in science). Or what do you think?
Would it make sense to put this somewhere else? If so, where?
Many thanks for all the work!

Hi Jonas,
Thank you for getting in touch.
Are your integration algorithm implementations in TF? Are they C++ kernels
or python TF?
I agree that integration methods are generally useful and it would be good
to separate them out of narrow focus libraries like ours and TFP. We have
(very vague at this stage) to create a separate maths package containing
commonly used tools but haven't formalised any plans yet.
It would be good to understand the timelines you are looking at and the
coverage of your code.
Regards,
Ashish
On Wed, 18 Nov 2020 at 17:51, Jonas Eschle<EMAIL_ADDRESS>wrote:

Hi all, many thanks for this library! As I've seen, there is an
integration method and interpolation. The latter are also available in
other packages (tf-graphics, tf-addons) in one way or another while the
integration is not (AFAIK?).
However, we implemented multiple integration algorithms and plan to put
them up/into an existing repository. TFP seems nice but maybe not fully
suited. However, this repository also does not seem directly like the place
for this methods (as it is a very general used functionality, especially in
science). Or what do you think?
Would it make sense to put this somewhere else? If so, where?
Many thanks for all the work!
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/google/tf-quant-finance/issues/39, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFRDBQXIAKZWRF763CYIWJLSQQCTPANCNFSM4T2JOBLQ
.

The integrations are in Python TF, similar to the simpson. In fact, a tensorflow-math package would be great! Similar to scipy of the scope?
In terms of timeframe we would be interested to have such a package rather sooner than later, just to avoid further duplications of others. Especially to converge on an API would be great for e.g. integration methods (1D and ND).
While our implementations are not excellent, it's better to either a) polish them up and contribute or b) use another method provided by whomever in order to channel the efforts.
Any timeframe regarding the tf-math repository? Or any way we can help/contribute/be involved in?

Hi, is there any update on this? To me, it really seems in the wrong place currently: all this math tools are great, but they are used in general statistics or science extensively (e.g. TensorFlow Probability) and we should try to have it in a common place.

Hi, is there any update on this? To me, it really seems in the wrong place currently: all this math tools are great, but they are used in general statistics or science extensively (e.g. TensorFlow Probability) and we should try to have it in a common place.

Hi Jonas,
I agree that many of the maths components could be extracted into a separate repo. At the moment we do not have the capacity to move the code. For now please feel free to make a contribution to the current repo.
Please let me know if you still wish to contribute any specific methods.

Hi Jonas,
I agree that many of the maths components could be extracted into a separate repo. At the moment we do not have the capacity to move the code. For now please feel free to make a contribution to the current repo.
Please let me know if you still wish to contribute any specific methods.


"SonarQube Endpoint" not showed in the maven task (maybe add a troubleshootting section in documentation)

Checkin the "Run SonarQube Analysis" checkbox, no way to have showed the "SonarQube Endpoint" configured and correctly showed in the same text box in the task "Sonarqube preparation".
I have the same problem in 2017.2 anche 2018.... any suggestion?

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

ID: 1a639e3a-376a-2ce9-529b-5504286daa12
Version Independent ID: 870922d8-ab89-9ef2-7912-3910815ef778
Content: Configuring SonarQube for VSTS for a Java project
Content Source: docs/java/labs/sonarqube/index.md
Service: unspecified
GitHub Login: @douge
Microsoft Alias: douge

Hi @carloreggiani.  I apologize that you've received no response until now.  If you are still interested, I recommend that you install the SonarQube extension from the marketplace.  At that same page, you will find details from SonarSource about how to configure a build with SonarQube.  Please reopen this issue if we can provide additional help.


Add Goal Tracking Infobox panel

This change adds new infoboxes to track progress towards a goal and adds a config section for picking this and changing some settings.
This is based on top of #15 which needs to be merged first, idk how github will handle that but we'll see!
Changes

Goal Tracking Infobox: Displays the overall percentage towards the selected reward goal, with individual component progress visible on hover.
Resin Tracking Infoboxes: Shows individual resin type progress towards the goal. Configurable to show either the percentage completed or the remaining amount needed, capped at 100% and 0% as applicable.
Adds a new method for checking if the player is in the lab region which includes the area just outside the actual lab
Reward Tracking Config section:

Selected Reward: Allows users to select a reward to track resin progress towards.
Goal Tracking Infobox: Toggles the infobox displaying progress towards the selected reward.
Resin Infoboxes: Enables tracking infoboxes for each resin type.
Resin Infobox Display Type: Configures the resin infoboxes to display either the percentage completed or the amount left for each resin type.

Images
The goal tracker

The config

Resin trackers showing how much left till goal

Resin trackers showing percentage completed

Let me know if anything needs changing :)

Looking at this image, I find it a bit hard to read the numbers due to the spacing. They kinda mash together.

Perhaps when at 1000 and above we could switch to k?
i.e 1250 shows as 1.2k
I feel like that might improve the legibility.

Looking at this image, I find it a bit hard to read the numbers due to the spacing. They kinda mash together.
Perhaps when at 1000 and above we could switch to k? i.e 1250 shows as 1.2k I feel like that might improve the legibility.

That might be nice yeah! I'm using this atm to format the number
QuantityFormatter.quantityToStackSize()
It changes to k etc over 10k but will see if I can make it kick in at lower values

Ok, did a bit of work on this and came up with this:

Much cleaner than the other infoboxes <3
some questions I need feedback on:

Do I just remove the infoboxes in favor of this? (I vote yes)
Should I add an option to disable the bars? just a simple toggle would do it
Should I change the bars when they hit 100%? ex make them gray or darker,
Do we want percentage to go above 100?

Wow, that looks brilliant!

I vote for the removal of the info boxes, its a very cluttered ui element these days.
Probably a good option, maybe flavor it as a compact display option
As for full bar styling, here are some quick rough visualizations of some ideas:

Nice @Notloc ! I tried out a few things as well but it's pretty visible when the bar is full, ex:
making the bar gray

or removing each bar

Probably fine to keep it as is, there's also no nice way to add a border to the bars sadly, here's the config:

you can pick None to disable the infobox

Lmk if you have some suggestions or changes

My only feedback so far is that the default position and size should probably be adjusted.
The default is too narrow and behind the mini-game ui.

Specifically for the Aldarium goal, would it be possible to add a configurable multiplier?
Ends up a bit useless when it only tracks one at a time, and long term, for me at least, its gonna be the main reason I'm playing this mini-game.

Other than that, this is fantastic! The way the bars provide both context to the resin numbers and visual feedback about if my potion making strategy is balanced is just fantastic.

That's a great idea @Notloc Thanks for the feedback!
I agree, it's really nice to use this when doing the minigame as you say you know what to go for with the bars.
Which is better of these?
Bold to the right

Normal to the right

Alternatively, if they change the amount and the item is a repeatable reward we display the progress in numbers instead?

Or maybe better to put that in the top part, like this:

I think the last one is nice, seeing both the percentage and the amount you can afford.

Perfect, that's fixed now then! Also fixed the position and size, ish. not sure why it's not working after I change the reward item:

In the constructor I'm setting this:
setPosition(OverlayPosition.TOP_RIGHT);
setPriority(PRIORITY_MED);
setPreferredSize(new Dimension(350, 0));
panelComponent.setPreferredSize(new Dimension(350, 0));

Changes:

You can now change the reward quantity for repeatable rewards ex Aldarium

Overlay GoalInfoBoxOverlay:

Repeatable rewards now show the current and goal amount to the right of the item name
Fixed position and size of the panel
Improved the code readability by creating the ComponentData in a loop and providing the
constructor with the neccessary fields, then using streams to calculate min affordable value and average percentage

Changes to PotionComponent:

Reordered the PotionComponent enum to be MOX, AGA, LYE instead of AGA, LYE, MOX
Changed PotionComponent to calculate the Color in the constructor instead of having to decode it all the time
Added resin varp field to be able to fetch the resin amount from a component more easily

S
Lmk if anyone has some comments to add to it


would this work okay with a local model on gpt4all?

if I rewrite parts of it to make calls to gpt4all running on local host with a small model like Mini Orca (small), do you think the results would be usable?  If I did that, would that be an acceptable contribution/pull request?

Hi!
Thanks for offering to contribute. My impression for small models is that they're not yet ready for agentic flows. I wonder what you have observed playing with the small models.

Can you provide some general guidelines on what you might try with smaller models?  I'm just starting with this now, have not even tried running with larger models because I"m afraid of the costs.  But are there ways to control the granularity of the subtasks for smaller models that might do better with smaller subtasks?

Hi,
I think it depends on what task you want to solve, and if the smaller model could execute your instructions accurately for the task.


[REQUEST] Non-element-wise Optimizer Compatibility

I am encountering issues when using non-element-wise optimizers such as Adam-mini with DeepSpeed.
According to the documentation, it reads:

The FP16 Optimizer is designed to maximize the achievable memory bandwidth by merging all the parameters of the model into a single large buffer, and applying the weight updates in a single kernel, allowing it to achieve high memory bandwidth.

As for Adam-Mini, the merging of parameters into a single buffer degenerates it to SGD with only one global second moment. This will corrupt the training, causing spikes and NaNs.
Recently have seen a trend developing non-element-wise optimizers. Besides Adam-Mini, there are several different ones using matrix SVD, like Fira (https://arxiv.org/abs/2410.01623) and Muon (https://github.com/KellerJordan/modded-nanogpt/blob/master/train_gpt2.py). Blindly merging parameters will corrupt these optimizers as well. This limitation is impacting my ability to fully leverage DeepSpeed for my training needs.
Of course, this issue can be avoided by using naive DDP in Lightning. But the speed also slows down unbearably by 40%. Is there a recommended approach or workaround for integrating non-element-wise optimizers with DeepSpeed? Or are there plans to support such optimizers in future releases?
Thank you for your assistance.

@Triang-jyed-driung, can you clarify if you are interested in integration with ZeRO specifically or DeepSpeed in general?
Also, can you take a look at our unfused Adam optimizer: https://github.com/microsoft/DeepSpeed/blob/master/deepspeed/runtime/fp16/unfused_optimizer.py? How different is this from your proposed Adam-Mini? Thanks!

My optimizer is a simplified version of https://github.com/zyushun/Adam-mini that shares one second moment for each matrix/vector (no splitting between key/value/heads), which is simpler and (theoretically) faster. But still, the model is split into approximately 450 parameter groups, so fusing becomes impossible.
However, the performance dropped by nearly 40% compared to Adam, from 60 kt/s to just over 30 kt/s. It's likely because that Python has to loop over these parameters one by one in a single optimization step.
I use default strategy of "deepspeed_stage_[1,2,3]" of Pytorch Lightning, so I guess it's related to Deepspeed Zero.


KAFKA-6123: Give MetricsReporter auto-generated client.id

Give metric reporters configured for clients the auto-generated client id. Without this fix, they do not receive the client id in the configure method at all if the user does not specify the client id.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

We can't simply hardcode producer-1 and consumer-1 to check in the unit tests because other tests create clients with no client id specified which increments the CLIENT_ID_SEQUENCE to higher numbers.
We could combine AutoGeneratedConsumerClientIdTestMetricsReporter.java and AutoGeneratedProducerClientIdTestMetricsReporter.java to check if the client id string contains producer or consumer.

Pinging @guozhangwang @ijuma @junrao for a review.
I see that the build jobs failed with errors Disallowed import - org.apache.kafka.clients.consumer.KafkaConsumer. [ImportControl]. What is the recommendation for fixing these?


Better performance when building the ModelProto

Codecov Report
Attention: Patch coverage is 92.30769% with 1 lines in your changes are missing coverage. Please review.

Project coverage is 77.30%. Comparing base (20f1c14) to head (a3c5a9f).

Files
Patch %
Lines

experimental_experiment/xbuilder/graph_builder.py
92.30%
1 Missing :warning:

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #85   +/-   ##
=======================================
  Coverage   77.29%   77.30%
=======================================
  Files          69       69
  Lines        7643     7648    +5
=======================================
+ Hits         5908     5912    +4
- Misses       1735     1736    +1

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


*: add support for ignition when using virtualbox

Ignition support for VirtualBox is present in Container Linux
versions >= 1451.0.0
This commit adds support for Ignition when CL 1451.0.0 and the vagrant-ignition plugin are released.
Currently blocked until the vagrant-ignition plugin is released, as without it we will get syntax errors.

This should probably also update the readme, specifically the 'user-data' section.

All previous commits have been squashed


QA - Site - Product Detail Page - Shipping Section - Shipping Address Search icon is not working in Shipping Section.

QA - Site - Product Detail Page - Shipping Section - Shipping Address Search icon is not working in Shipping Section.

Click on search button and go to search page.
Click on any product and go tot detail page.
Select Place Order tab and Select product Color.
Enter Qty in Qty box.
Select Shipping Address.
Click on Search icon.

This search icon is for display purpose. I removed cursor icon.

Done.
Icon Removed Now.


Fix circle area formula in README

Area of a circle is R*R*PI, not R*PI*PI
Signed-off-by: Kozova1<EMAIL_ADDRESS>

Nice catch, merging!


Make min_error a minimum value and update README

Changed inferpymc so that it interprets min_error as a minimum value (lower bound) rather than adding it to the other errors for all points. This addresses Issue #116 .
Needs looking at by someone who understands pytensors before approval - I'm not certain that what I've done here is correct.

It looks like pt.maximum is what we want: https://pytensor.readthedocs.io/en/latest/library/tensor/basic.html#mathematical We could also achieve this with the switch statement.


Browse all data (show # of datasets)

User story: (2.1) I want to browse all data, so that I am aware of what is available
Tasks

[ ] Show total number of datasets

Link to design:

Count is displayed as expected

Reopening due to following:
Count in Dataset page is displaying "Runs" instead of Datasets #188

Passing this item to Completed as bugs opened are taking care of already, no need to track this one here, thank you!


[KYUUBI #3794][FOLLOWUP] Expose kyuubi.operation.result.codec to KyuubiConf

Why are the changes needed?

Expose kyuubi.operation.result.codec to KyuubiConf
How was this patch tested?

[ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible

[ ] Add screenshots for manual tests if appropriate

[ ] Run test locally before make a pull request

Codecov Report

Merging #3866 (2047f36) into master (f67e141) will increase coverage by 0.02%.
The diff coverage is 100.00%.

@@             Coverage Diff              @@
##             master    #3866      +/-   ##
============================================
+ Coverage     51.71%   51.73%   +0.02%
  Complexity       13       13
============================================
  Files           504      504
  Lines         28850    28857       +7
  Branches       3975     3975
============================================
+ Hits          14920    14930      +10
- Misses        12514    12515       +1
+ Partials       1416     1412       -4

Impacted Files
Coverage Δ

...in/scala/org/apache/kyuubi/config/KyuubiConf.scala
97.43% <100.00%> (-0.06%)
:arrow_down:

...rg/apache/kyuubi/ctl/cmd/log/LogBatchCommand.scala
63.93% <0.00%> (-1.64%)
:arrow_down:

...yuubi/server/metadata/jdbc/JDBCMetadataStore.scala
89.27% <0.00%> (-0.70%)
:arrow_down:

...g/apache/kyuubi/operation/BatchJobSubmission.scala
74.64% <0.00%> (ø)

...a/org/apache/kyuubi/service/TFrontendService.scala
91.27% <0.00%> (+0.29%)
:arrow_up:

...rc/main/scala/org/apache/spark/ui/EnginePage.scala
79.00% <0.00%> (+0.29%)
:arrow_up:

...n/scala/org/apache/kyuubi/engine/ProcBuilder.scala
81.36% <0.00%> (+0.62%)
:arrow_up:

...ache/kyuubi/operation/KyuubiOperationManager.scala
82.19% <0.00%> (+2.73%)
:arrow_up:

...uubi/engine/spark/events/SparkOperationEvent.scala
94.44% <0.00%> (+5.55%)
:arrow_up:

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


Question: any way I can pass a cl_mem to your library, and get the convolutions to run against that?

Question: any way I can pass a cl_mem to your library, and get the convolutions to run against that?
Obviously, you'd probably need to do some driver-level hacking, possibly with the help of nvidia, to do this, in order to retrieve the appropriate float * from it somehow.  I cannot do this myself, because I dont want to expose myself to nvidia's IP, or vioalte any license agreements etc, but ... maybe.... you are able to do this???
Then I can make it that my variuos opencl libraries can use winograd on cuda gpus, and other libraries on non-cuda gpus.

(just to clarify: when I say 'the convolutions', I mean 'winograd convolution kernels')

this repo is deprecated.  please post on the neon repo for the winograd kernels https://github.com/NervanaSystems/neon

right, good point.  I think you should rename the repo or something though, I'm always selecting it by accident :-(


Mount Azure Blob Storage containers on tc02d

[x] Verify if it is possible to mount the container cluster-wise (as opposed to tag-wise)
[x] Request C3 Ops to configure the desired blobs

Information that is needed to file the request

Azure account name
Azure account region
Azure Blob Storage container name
SAS Token or Access Key or Subscription ID

Note: SAS tokens need to give at least Read and List (I ended up generating tokens that are even less restrictive)

Here's a final example of the command that needs to be issued:
AzureBlobContainer.setCredentialsForResourceName("CONTAINER_NAME", AzureCredentials.make({accountId: "SUBSCRIPTION_ID", region: "REGION", storageCredentials: AzureStorageCredentials.make({accountName: "ACCOUNT_NAME", sasToken: "SAS_TOKEN"})}))


Angular 13: Migrate library to Ivy

This message is showed into angular shell, during the build

I too am seeing ngcc output like this in my builds with Angular 13. It would speed up my builds a lot to have DevExtreme ivy enabled.. ngcc on a build server is not fast by any means. Can someone please look into this?

@cesco69 - DevExpress is looking into the issue: https://supportcenter.devexpress.com/ticket/details/t1044402/angular-13-ivy-library

They created a new issue: https://supportcenter.devexpress.com/ticket/details/t1047971/devextreme-angular-the-encourage-the-library-authors-to-publish-an-ivy-distribution.

As an addition, I see this warning installing with Yarn

warning "devextreme ><EMAIL_ADDRESS>has incorrect peer dependency "<EMAIL_ADDRESS>warning "devextreme ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>


False "Your version of Chromium OS is extraordinarily old" message

Hi there, I'm on the following software and firmware:
Toshiba Chromebook 2
Version 42.0.2311.60 beta (64-bit)
Platform 6812.52.0 (Official Build) beta-channel swanky_freon
Firmware Google_Swanky.5216.238.5
When I run sudo sh ~/Downloads/crouton I get the error message
Your version of Chromium OS is extraordinarily old.
If there are updates pending, please reboot and try again.
Otherwise, you may not be getting automatic updates, in which case you should
post your update_engine.log from chrome://system to http://crbug.com/296768 and
restore your device using a recovery USB: https://goo.gl/AZ74hj

Here's my update_engine.log file: https://gist.github.com/gkubed/396e314c59f9615398d5
I originally did this because my jessie system started giving me this error when running startx this morning:
(jessie)guyon@localhost:~$ startx

ERROR: ld.so: object '/usr/local/lib/croutonfreon.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
_XSERVTransmkdir: Owner of /tmp/.X11-unix should be set to root

X.Org X Server 1.16.4
Release Date: 2014-12-20
X Protocol Version 11, Revision 0
Build Operating System: Linux 3.16.0-4-amd64 x86_64 Debian
Current Operating System: Linux localhost 3.10.18 #1 SMP Tue Mar 24 22:15:21 PDT 2015 x86_64
Kernel command line: cros_secure console= loglevel=7 init=/sbin/init cros_secure oops=panic panic=-1 root=/dev/dm-0 rootwait ro dm_verity.error_behavior=3 dm_verity.max_bios=-1 dm_verity.dev_wait=1 dm="1 vroot none ro 1,0 2506752 verity payload=PARTUUID=280f836e-3ea1-e647-b470-8c3dc6b658ca/PARTNROFF=1 hashtree=PARTUUID=280f836e-3ea1-e647-b470-8c3dc6b658ca/PARTNROFF=1 hashstart=2506752 alg=sha1 root_hexdigest=0eb94dae94da9d77dbdba140a2edc9201adbecac salt=5575a01ae950f70b6a93f6741c18c48abbfb87f0fd7c1324dc12dd8b7e7c0216" noinitrd vt.global_cursor_default=0 kern_guid=280f836e-3ea1-e647-b470-8c3dc6b658ca add_efi_memmap boot=local noresume noswap i915.modeset=1 tpm_tis.force=1 tpm_tis.interrupts=0 nmi_watchdog=panic,lapic
Build Date: 11 February 2015  12:32:02AM
xorg-server 2:1.16.4-1 (http://www.debian.org/support)
Current version of pixman: 0.32.6
        Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(++) Log file: "/tmp/Xorg.crouton.1.log", Time: Fri Mar 27 08:42:32 2015
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
(EE)
Fatal server error:
(EE) xf86OpenConsole: Cannot open /dev/tty0 (No such file or directory)
(EE)
(EE)
Please consult the The X.Org Foundation support
         at http://wiki.x.org
 for help.
(EE) Please also check the log file at "/tmp/Xorg.crouton.1.log" for additional information.
(EE)
(EE) Server terminated with error (1). Closing log file.
/usr/bin/xinit: giving up
/usr/bin/xinit: unable to connect to X server: Connection refused
/usr/bin/xinit: server error
Couldn't get a file descriptor referring to the console

I've tried sudo chown root /tmp/.X11-unix but I'm fairly certain the issue is deeper than that. I'm not convinced this is a crouton problem either, though I may be wrong.

@dnschneid,
p/o [installer/main.sh]
# Check against the minimum version of Chromium OS
if ! awk -F= '/_RELEASE_VERSION=/ { exit int($2) < '"${CROS_MIN_VERS:-0}"' }' \
        '/etc/lsb-release' 2>/dev/null; then
    error 2 "Your version of Chromium OS is extraordinarily old.
    ...
fi

I'm sure I'm missing it somewhere but I searched and couldn't find where CROS_MIN_VERS is getting set.

@DennisLfromGA :  It's set in build/wrapper.sh, with a default value of 0 in this script.
@gkubed : What's the output of cat /etc/lsb-release? (in a crosh shell, outside of chroot)

@drinkcat
chronos@localhost / $ cat /etc/lsb-release
CHROMEOS_AUSERVER=https://tools.google.com/service/update2
CHROMEOS_BOARD_APPID={493FA09F-94EA-B829-46E0-48B12FD7264D}
CHROMEOS_CANARY_APPID={90F229CE-83E2-4FAF-8479-E368A34938B1}
CHROMEOS_DEVSERVER=
CHROMEOS_RELEASE_APPID={493FA09F-94EA-B829-46E0-48B12FD7264D}
CHROMEOS_RELEASE_BOARD=swanky_freon-signed-mpkeys
CHROMEOS_RELEASE_BRANCH_NUMBER=52
CHROMEOS_RELEASE_BUILD_NUMBER=6812
CHROMEOS_RELEASE_BUILD_TYPE=Official Build
CHROMEOS_RELEASE_CHROME_MILESTONE=42
CHROMEOS_RELEASE_DESCRIPTION=6812.52.0 (Official Build) beta-channel swanky_freon
CHROMEOS_RELEASE_NAME=Chrome OS
CHROMEOS_RELEASE_PATCH_NUMBER=0
CHROMEOS_RELEASE_TRACK=beta-channel
CHROMEOS_RELEASE_VERSION=6812.52.0
GOOGLE_RELEASE=6812.52.0

@drinkcat,
Sorry, I just unbundled crouton (with -x) and didn't get everything ;(

@gkubed : Just to make sure, you are running sudo sh ~/Downloads/crouton ... from outside the chroot, right?

@drinkcat good call! That's exactly what the problem was. Thanks @drinkcat and @DennisLfromGA.

Yeah, I was a lot of help ;)

Great. See #1319, we definitely want to fix this.

@DennisLfromGA :What if you really want chronos as username? ,-) Probably better to check that CHROMEOS_RELEASE_VERSION (or CHROMIUMOS_RELEASE_VERSION, IIRC) exists in /etc/lsb-release.

@drinkcat,

Probably better to check that CHROMEOS_RELEASE_VERSION (or CHROMIUMOS_RELEASE_VERSION, IIRC) exists in /etc/lsb-release.

That's probably true in this case but I was also referring to https://github.com/dnschneid/crouton/issues/1319 in general.

What if you really want chronos as username?

In a cros shell we do so wouldn't this work?
if ! [ "x$USER" = 'xchronos' -o "x$SUDO_USER" = 'xchronos' ]; then
    error 2 "You must run this in a cros shell, not the chroot"
fi

@gkubed I'm having the exact same problem with startx. Did you find a solution to that?

@mookman288 I sadly did not. I was getting this message across all of my chroots and dismissed it as a result of me tampering too much. I eventually just powerwashed.
Good luck!


React class base components instead Hooks

What is your enhancement?
Hi, i am not comfortable with Hooks, can i get class base theme

Hello there, @digital230 ,
Unfortunately, we only have the hooks version.
Best,
Manu

Hi, well this is very bad . React is not going to revoke it support for class base components. i moved to old branch for react component base code.


Add Feeds to footer

[ ] Firehose of Articles Atom feed
[ ] Articles by Category Atom feed
[ ] Articles by Tag Atom feed
[ ] Articles by Theme Atom feed
[ ] Articles by Author Atom feed
[ ] Podcast RSS feed

Depends on #31


chore: release 0.6.3

:robot: I have created a release *beep* *boop*
0.6.3 (2022-09-20)
Build System

server: fix module requires Go 1.18 (bac9399)

Miscellaneous Chores

release v0.6.3 (d44a47c)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/werf/trdl/releases/tag/v0.6.3 :sunflower:


I have some organizations, but not appeared

There are no any organizations on ORGANIZATIONS section on my profile page. But I have some orgs.
It seems a bug? right?

I can reproduce this issue on my phone.
It seems like that failed in fetchAuthUserOrgs action.
Actually, I called the https://api.github.com/user/orgs API directly with the Authorization in header, it also responded me the empty array only.
Anyways, thanks for reporting this issue, and I'm still trying to figure out what happened.

I just noticed this last night (funnily enough: the app on my device loads all my organizations just fine but when I run the app in the simulator now I don't see the GitPoint org 🤔 )
Thanks for opening this @mingrammer, weirdly enough you're right @patw0929 the API endpoint seems to be returning 2/3 of my organizations when I hit it directly and I'm not sure why either. Could be something on the server-side here.

Guys, I guessed the secret! :satisfied:

Go to this page https://github.com/settings/applications
Click here:

And we see this:

That's all. So that the ogranization is visible, you need to request permission! That's the whole secret. I only see the github-beta organization so only the request was made (although it seems it was originally, it does not matter).
Therefore, I propose to use fetchUserOrgs (instead of fetchUuthUserOrgs), which returns all the organizations regardless of the request. How are you? Will not we ask users to request access from all organizations? :smile:

@lex111 You're right. Once I've approved the some organizations I own to, the appears on git-point app. As you said, they should change the method for fetching the all orgs from an user even without any requesting.

@lex111 you're a wizard ✨ Thank you so much for finding out what it was so fast. That explains why I was seeing the organization with the GitPoint Oauth application in my device but not with GitPoint-Develop when booting the simulator :)
I think that would work perfectly - but my only concern is setting the organization visibility to private.

From the looks of it, that endpoint only returns public memberships 😞 . Give it a shot nonetheless if you like and let me know if you do: but I think it may be a necessary workaround to give all your organizations access to GitPoint.
Please let me know what you folks think ❤

Also I notice that some organizations seemed to have automatically synced for me but others haven't and this may be an organization level security measure (maybe some organizations need you to first request access from them before integrating with a third party API?)

From the looks of it, that endpoint only returns public memberships

@housseindjirdeh private organizations will not be visible, if you do not set them public visibility (if we get them through fetchUserOrgs), do you mean it?

@housseindjirdeh

Also I notice that some organizations seemed to have automatically synced for me but others haven't and this may be an organization level security measure (maybe some organizations need you to first request access from them before integrating with a third party API?)

I believe what you're looking for is the third-party access setting which can be found at an organization's Settings > Third-party access. If access is restricted (I believe it is by default) then members have to request access. Administrators will always be allowed to grant access to any third-party app. If access is unrestricted, third-party access is automatically given to all apps that request it (i.e. no need to click "Grant Access"). So, for example, in @lex111's case, the github-beta organization has unrestricted third-party access.
(p.s. @lex111 how do I get in GitHub-Beta? :P)

@lex111 yep exactly - even if I set an organization of mine as private visibility, I would still like to see it in my profile page in the app (although other folks cannot see it, does that make sense?)
@andrewda thanks a million, it's all making sense now

@housseindjirdeh now I understand, thanks for the clarification. At least I would list all public organizations to solve the current problem. Also, few will allow such a request:

We can make two requests (fetchUserOrgs + fetchAuthUserOrgs), and then merge the organizations, then we seem to have a full list of organizations, but is it really necessary? It's hard for me to decide this.
@andrewda earlier you could get through this link, now apparently not :/

Yeah I was thinking the same thing - the thing is third party is restricted by default so I can see a lot of organizations requiring a request for approval.
Agreed we could make two requests but again that's hoping that organization that requires third party approval is public (otherwise it still won't work).
What I think we can do is have a little message under the organizations section list in the authenticated profile screen with something like "Can't see all your organizations? You may have to request approval for them" with the bolded text that links them to https://github.com/settings/applications. What do you think @lex111 @mingrammer @andrewda ? I personally think that's an acceptable workaround.

There are definitely some organizations that (understandably) don't want to have lots of enabled third-party apps for privacy reasons. So I don't think it's an all-encompassing solution, but it would work for most orgs.
I actually think the best way to go about this, though, is to make two requests (as @lex111 pointed out). The first request (getting all of your public organizations) would be what others see when visiting your profile and doesn't require any manual approval from the user. Then, if accessing your own profile, make a second OAuth request to get the remaining organizations with private membership. That would maximize the number of shown repositories with the least amount of effort from the user.

@housseindjirdeh @andrewda I agree with all of you.
But tell me please how to make two requests better? Do fetchAuthUserOrgs send a request to get all the public organization, and after in then promise merge the organizations with private membership and remove the duplicates?

Fair enough that approach works with me. @lex111 yep so we have fetchUserOrgs that does what it should do. In fetchAuthUserOrgs, you can try using Promise.all to hit both endpoints, merge the two results removing duplicates (combination of Set and .map maybe?). This way the completion event will only dispatch after both calls are finished.

@housseindjirdeh thank you, I did, but it did not work out through Set, although the solution is probably not very good, I'll be glad if you write how it can be improved. There was one additional addiction, is it very bad?


Memory insert error

System Info
llama_stack               0.0.52
llama_stack_client        0.0.49
Information

[ ] The official example scripts
[ ] My own modified scripts

🐛 Describe the bug
Whenever I try to run memory_banks.register
    client.memory_banks.register(
        memory_bank={
            "identifier": bank_id,
            "embedding_model": "all-MiniLM-L6-v2",
            "chunk_size_in_tokens": 512,
            "overlap_size_in_tokens": 64,
            "provider_id": "remote::chromadb",
        }
    )

or inserting into memory bank

I am getting this meta-reference-0 error whenever I try to call memory insert or memory_bank register
INFO:     ::1:54384 - "POST /memory_banks/register HTTP/1.1" 200 OK
Traceback (most recent call last):
  File "/data/users/justinai/llama-stack/llama_stack/distribution/server/server.py", line 244, in endpoint
    return await maybe_await(value)
  File "/data/users/justinai/llama-stack/llama_stack/distribution/server/server.py", line 204, in maybe_await
    return await value
  File "/data/users/justinai/llama-stack/llama_stack/distribution/routers/routers.py", line 44, in insert_documents
    return await self.routing_table.get_provider_impl(bank_id).insert_documents(
  File "/data/users/justinai/llama-stack/llama_stack/distribution/routers/routing_tables.py", line 148, in get_provider_impl
    return self.impls_by_provider_id[obj.provider_id]
KeyError: 'meta-reference-0'
INFO:     ::1:54384 - "POST /memory/insert HTTP/1.1" 500 Internal Server Error
Traceback (most recent call last):
  File "/data/users/justinai/llama-stack/llama_stack/distribution/server/server.py", line 244, in endpoint
    return await maybe_await(value)
  File "/data/users/justinai/llama-stack/llama_stack/distribution/server/server.py", line 204, in maybe_await
    return await value
  File "/data/users/justinai/llama-stack/llama_stack/distribution/routers/routers.py", line 44, in insert_documents
    return await self.routing_table.get_provider_impl(bank_id).insert_documents(
  File "/data/users/justinai/llama-stack/llama_stack/distribution/routers/routing_tables.py", line 148, in get_provider_impl
    return self.impls_by_provider_id[obj.provider_id]
KeyError: 'meta-reference-0'

Error logs
my yaml
version: '2'
built_at: '2024-11-09T16:52:49.941955'
image_name: meta-reference-gpu
docker_image: null
conda_env: meta-reference-gpu
apis:
- inference
- memory
- safety
- agents
- telemetry
providers:
  inference:
  - provider_id: meta-reference-0
    provider_type: meta-reference
    config:
      model: Llama3.2-11B-Vision-Instruct
      torch_seed: null
      max_seq_len: 4096
      max_batch_size: 1
      create_distributed_process_group: true
      checkpoint_dir: null
  - provider_id: meta-reference-1
    provider_type: meta-reference
    config:
      model: Llama3.1-8B-Instruct
      torch_seed: null
      max_seq_len: 4096
      max_batch_size: 1
      create_distributed_process_group: true
      checkpoint_dir: null
  memory:
  - provider_id: remote::chromadb
    provider_type: remote::chromadb
    config:
      host: localhost
      port: 6000
  # - provider_id: faiss-0
  #   provider_type: faiss
  #   config:
  #     kvstore:
  #       namespace: null
  #       type: sqlite
  #       db_path: /home/justinai/.llama/runtime/faiss_store.db
  safety:
  - provider_id: meta-reference-0
    provider_type: meta-reference
    config:
      llama_guard_shield: null
      enable_prompt_guard: false
  agents:
  - provider_id: meta-reference-0
    provider_type: meta-reference
    config:
      persistence_store:
        namespace: null
        type: sqlite
        db_path: /home/justinai/.llama/runtime/kvstore.db
  telemetry:
  - provider_id: meta-reference-0
    provider_type: meta-reference
    config: {}
metadata_store: null

Error
llama stack run /home/justinai/.llama/distributions/llamastack-meta-reference-gpu/meta-reference-gpu-run.yaml
Resolved 13 providers
 inner-inference => meta-reference-0
 inner-inference => meta-reference-1
 inner-memory => remote::chromadb
 models => __routing_table__
 inference => __autorouted__
 inner-safety => meta-reference-0
 shields => __routing_table__
 safety => __autorouted__
 memory_banks => __routing_table__
 memory => __autorouted__
 agents => meta-reference-0
 telemetry => meta-reference-0
 inspect => __builtin__

Loading model `Llama3.2-11B-Vision-Instruct`
> initializing model parallel with size 1
> initializing ddp with size 1
> initializing pipeline with size 1
/home/justinai/.conda/envs/llamastack-meta-reference-gpu/lib/python3.10/site-packages/torch/__init__.py:1144: UserWarning: torch.set_default_tensor_type() is deprecated as of PyTorch 2.1, please use torch.set_default_dtype() and torch.set_default_device() as alternatives. (Triggered internally at ../torch/csrc/tensor/python_tensor.cpp:432.)
  _C._set_default_tensor_type(t)
Loaded in 6.39 seconds
[rank0]:[W1113 20:36:56.314926116 ProcessGroupNCCL.cpp:4115] [PG ID 0 PG GUID 0 Rank 0]  using GPU 0 to perform barrier as devices used by this process are currently unknown. This can potentially cause a hang if this rank to GPU mapping is incorrect.Specify device_ids in barrier() to force use of a particular device,or call init_process_group() with a device_id.
NCCL version 2.21.5+cuda12.4
Loaded model...
Loading model `Llama3.1-8B-Instruct`
> initializing model parallel with size 1
> initializing ddp with size 1
> initializing pipeline with size 1
/home/justinai/.conda/envs/llamastack-meta-reference-gpu/lib/python3.10/site-packages/torch/__init__.py:1144: UserWarning: torch.set_default_tensor_type() is deprecated as of PyTorch 2.1, please use torch.set_default_dtype() and torch.set_default_device() as alternatives. (Triggered internally at ../torch/csrc/tensor/python_tensor.cpp:432.)
  _C._set_default_tensor_type(t)
Loaded in 5.30 seconds
[rank0]:[W1113 20:37:04.179931980 ProcessGroupNCCL.cpp:4115] [PG ID 0 PG GUID 0 Rank 0]  using GPU 0 to perform barrier as devices used by this process are currently unknown. This can potentially cause a hang if this rank to GPU mapping is incorrect.Specify device_ids in barrier() to force use of a particular device,or call init_process_group() with a device_id.
NCCL version 2.21.5+cuda12.4
Loaded model...
Initializing ChromaMemoryAdapter with url: http://localhost:6000
Connecting to Chroma server at: localhost:6000
/home/justinai/.conda/envs/llamastack-meta-reference-gpu/lib/python3.10/site-packages/pydantic/_internal/_fields.py:132: UserWarning: Field "model_id" in Body_endpoint_models_register_post has conflict with protected namespace "model_".

INFO:     Application startup complete.
INFO:     Uvicorn running on http://['::', '<IP_ADDRESS>']:5000 (Press CTRL+C to quit)
`rag_agent_docs` already registered with `faiss-0`
INFO:     ::1:62098 - "POST /memory_banks/register HTTP/1.1" 200 OK
Traceback (most recent call last):
  File "/data/users/justinai/llama-stack/llama_stack/distribution/server/server.py", line 244, in endpoint
    return await maybe_await(value)
  File "/data/users/justinai/llama-stack/llama_stack/distribution/server/server.py", line 204, in maybe_await
    return await value
  File "/data/users/justinai/llama-stack/llama_stack/distribution/routers/routers.py", line 44, in insert_documents
    return await self.routing_table.get_provider_impl(bank_id).insert_documents(
  File "/data/users/justinai/llama-stack/llama_stack/distribution/routers/routing_tables.py", line 148, in get_provider_impl
    return self.impls_by_provider_id[obj.provider_id]
KeyError: 'meta-reference-0'
INFO:     ::1:62098 - "POST /memory/insert HTTP/1.1" 500 Internal Server Error
Traceback (most recent call last):
  File "/data/users/justinai/llama-stack/llama_stack/distribution/server/server.py", line 244, in endpoint
    return await maybe_await(value)
  File "/data/users/justinai/llama-stack/llama_stack/distribution/server/server.py", line 204, in maybe_await
    return await value
  File "/data/users/justinai/llama-stack/llama_stack/distribution/routers/routers.py", line 44, in insert_documents
    return await self.routing_table.get_provider_impl(bank_id).insert_documents(
  File "/data/users/justinai/llama-stack/llama_stack/distribution/routers/routing_tables.py", line 148, in get_provider_impl
    return self.impls_by_provider_id[obj.provider_id]
KeyError: 'meta-reference-0'
INFO:     ::1:62098 - "POST /memory/insert HTTP/1.1" 500 Internal Server Error
Traceback (most recent call last):
  File "/data/users/justinai/llama-stack/llama_stack/distribution/server/server.py", line 244, in endpoint
    return await maybe_await(value)
  File "/data/users/justinai/llama-stack/llama_stack/distribution/server/server.py", line 204, in maybe_await
    return await value
  File "/data/users/justinai/llama-stack/llama_stack/distribution/routers/routers.py", line 44, in insert_documents
    return await self.routing_table.get_provider_impl(bank_id).insert_documents(
  File "/data/users/justinai/llama-stack/llama_stack/distribution/routers/routing_tables.py", line 148, in get_provider_impl
    return self.impls_by_provider_id[obj.provider_id]
KeyError: 'meta-reference-0'
INFO:     ::1:62098 - "POST /memory/insert HTTP/1.1" 500 Internal Server Error

Expected behavior
Being able to call client.memory.insert and client.memory_banks.register without errors.

Build from source fixed meta-reference issue, I'm encountering a new problem when trying to run the register function. It appears that the Python SDK doesn't support the new memory bank interface.
Details

The register call fails when using the Python SDK, suggesting compatibility issues with the updated memory bank interface.
However, I successfully registered the memory bank using a curl command, indicating that the API endpoint itself functions as expected.

Version details
llama_stack_client 0.0.50
My code:
    client.memory_banks.register(
        memory_bank={
            "memory_bank_id": bank_id,
            "params": {
                "embedding_model": "all-MiniLM-L6-v2",
                "chunk_size_in_tokens": 512,
                "overlap_size_in_tokens": 64,
            },
            "provider_id": "remote::chromadb",
            "provider_memory_bank_id": "remote::chromadb",
        },
    )

Error Log
python rag_main.py localhost 5000 ./example_data/
Traceback (most recent call last):
  File "/home/justinai/Code/llama-stack-apps/examples/E2E-RAG-App/rag_main.py", line 182, in <module>
    fire.Fire(main)
  File "/home/justinai/.conda/envs/stack-sdk-nov-14/lib/python3.10/site-packages/fire/core.py", line 135, in Fire
    component_trace = _Fire(component, args, parsed_flag_args, context, name)
  File "/home/justinai/.conda/envs/stack-sdk-nov-14/lib/python3.10/site-packages/fire/core.py", line 468, in _Fire
    component, remaining_args = _CallAndUpdateTrace(
  File "/home/justinai/.conda/envs/stack-sdk-nov-14/lib/python3.10/site-packages/fire/core.py", line 684, in _CallAndUpdateTrace
    component = fn(*varargs, **kwargs)
  File "/home/justinai/Code/llama-stack-apps/examples/E2E-RAG-App/rag_main.py", line 178, in main
    asyncio.run(run_main(host, port, docs_dir))
  File "/home/justinai/.conda/envs/stack-sdk-nov-14/lib/python3.10/asyncio/runners.py", line 44, in run
    return loop.run_until_complete(main)
  File "/home/justinai/.conda/envs/stack-sdk-nov-14/lib/python3.10/asyncio/base_events.py", line 641, in run_until_complete
    return future.result()
  File "/home/justinai/Code/llama-stack-apps/examples/E2E-RAG-App/rag_main.py", line 118, in run_main
    build_index(client, docs_dir, bank_id)
  File "/home/justinai/Code/llama-stack-apps/examples/E2E-RAG-App/rag_main.py", line 46, in build_index
    client.memory_banks.register(
  File "/home/justinai/.conda/envs/stack-sdk-nov-14/lib/python3.10/site-packages/llama_stack_client/resources/memory_banks.py", line 162, in register
    return self._post(
  File "/home/justinai/.conda/envs/stack-sdk-nov-14/lib/python3.10/site-packages/llama_stack_client/_base_client.py", line 1261, in post
    return cast(ResponseT, self.request(cast_to, opts, stream=stream, stream_cls=stream_cls))
  File "/home/justinai/.conda/envs/stack-sdk-nov-14/lib/python3.10/site-packages/llama_stack_client/_base_client.py", line 953, in request
    return self._request(
  File "/home/justinai/.conda/envs/stack-sdk-nov-14/lib/python3.10/site-packages/llama_stack_client/_base_client.py", line 1056, in _request
    raise self._make_status_error_from_response(err.response) from None
llama_stack_client.BadRequestError: Error code: 400 - {'error': {'detail': {'errors': [{'loc': ['body', 'memory_bank_id'], 'msg': 'Field required', 'type': 'missing'}, {'loc': ['body', 'params'], 'msg': 'Field required', 'type': 'missing'}]}}}

What worked
curling to the distro endpoint
curl -X POST http://localhost:5000/memory_banks/register -H "Content-Type: application/json" -H "Accept: */*" -H "X-LlamaStack-ProviderData: <optional-provider-data-header>" -d '{
  "memory_bank_id": "321321",
  "params": {
    "embedding_model": "all-MiniLM-L6-v2",
    "chunk_size_in_tokens": 512,
    "overlap_size_in_tokens": 64
  },
  "provider_id": "remote::chromadb-1",
  "provider_memory_bank_id": "remote::chromadb-1"
}'

Expected behavior
Being able to register with python sdk
cc: @dineshyv

thanks! fixed in v0.0.53

Hi @heyjustinai,
I tried with the latest version (llama_stack/llama_stack_client/llama_models=0.0.54) by creating the memory bank with following code:
client.memory_banks.register(
    memory_bank_id="bank_id",
    params={
        "embedding_model": "all-MiniLM-L6-v2",
        "chunk_size_in_tokens": 512,
        "overlap_size_in_tokens": 64,
        "provider_id": "remote::chromadb",
        "provider_memory_bank_id": "remote::chromadb",
    },
)

However, I got the following error message on the client side:
    client.memory_banks.register(
  File "/home/dell/taoz/llamastk_tgi/env/lib/python3.10/site-packages/llama_stack_client/resources/memory_banks.py", line 169, in register
    return self._post(
  File "/home/dell/taoz/llamastk_tgi/env/lib/python3.10/site-packages/llama_stack_client/_base_client.py", line 1261, in post
    return cast(ResponseT, self.request(cast_to, opts, stream=stream, stream_cls=stream_cls))
  File "/home/dell/taoz/llamastk_tgi/env/lib/python3.10/site-packages/llama_stack_client/_base_client.py", line 953, in request
    return self._request(
  File "/home/dell/taoz/llamastk_tgi/env/lib/python3.10/site-packages/llama_stack_client/_base_client.py", line 1056, in _request
    raise self._make_status_error_from_response(err.response) from None
llama_stack_client.NotFoundError: Error code: 404 - {'detail': 'Not Found'}

On the host side, I have the following info:
INFO:     <IP_ADDRESS>:47904 - "POST /alpha/memory-banks/register HTTP/1.1" 404 Not Found

Do you have any idea what happened? I am curious why it is posting /alpha/memory-banks/register rather than /memory_banks/register.

URL structure has changed. If you have an older version of docker you are running, it will not work. Check out the latest docker images which have been updated.
In general though, we will try going forward to be extremely careful about maintaining backward compatibility and be better with our error messages.


Question: Caching/remembering PAT

Question
<<I'm not sure whether this is a question or a feature request, so I'll start this out as a question.>>
NPE version:  X64 - (5.8.17+d79daf6700)
OS version: Windows 10 2004 Windows Insider Build 20246.1
Installed from: Chocolatey.org
I access an Azure DevOps feed that requires PAT based authentication, and NPE suggests helpfully brings up Windows Security dialog and asks for the PAT.

This happens every time I want to access this feed, and I end up having to either look-up PAT from a key-vault, or create a short-term-use PAT, every time I launch NPE (for use against this feed).
Is there a smarter way to handle this situation that would allow me to cache my credentials on a trusted machine (for e.g., on my home or work PC) that's always in a secure location (and has encrypted drives etc.) so that I needn't bother with the whole 1.5 minutes of rituals that go with PAT-acquisition/retrieval each time I run into this scenario ?

Does "Remember me" not work?
You can put the PAT as packageSourceCredentials in the %APPDATA%\NuGet\NuGet.Config file.
See https://docs.microsoft.com/azure/devops/artifacts/nuget/nuget-exe?view=azure-devops#add-a-feed-to-nuget-482-or-later
https://docs.microsoft.com/nuget/reference/nuget-config-file#packagesourcecredentials

That worked nicely - thank you!


docker: add missing backslash to start-lnd.sh

Fixes: https://github.com/lightningnetwork/lnd/issues/420
A back slash was missing in the start-lnd.sh script.

Confirmed working

Can you rebase this to the latest master? We made an change to the upstream btcd which is now properly reflected in the latest commit.

@Roasbeef: rebased.


chore: release main

:robot: I have created a release beep boop
package-a: 1.2.5
Dependencies

The following workspace dependencies were updated

dependencies

package-b bumped to 1.1.5
package-c bumped to 4.1.0

package-b: 1.1.5
Dependencies

The following workspace dependencies were updated

dependencies

package-c bumped to 4.1.0

package-c: 4.1.0
4.1.0 (2023-09-04)
Features

add new feature to package C (8b99997)
update package C (c92eedb)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/hung-cybo/demo-monorepo-release-please/releases/tag/package-a%401.2.5 :sunflower:

:robot: Release is at https://github.com/hung-cybo/demo-monorepo-release-please/releases/tag/package-b%401.1.5 :sunflower:

:robot: Release is at https://github.com/hung-cybo/demo-monorepo-release-please/releases/tag/package-c%404.1.0 :sunflower:


TypeScript example with Options API / Class Components

There's no TypeScript examples, also vue add apollo adds a plain JS configs/files/component, does it work with TS?

I started using vue-apollo through @nuxtjs/apollo today and so far, it's working for me. Make sure, however, to add "vue-apollo" to the types array in your tsconfig.json.
Apart from 'works for me', I would also like at least a short section in the documentation regarding TypeScript support / setup 👍


Summarizer.py error in semantic kernal module

This happens when I run it:
python summarizer.py sample-narrative.docx out.docx
Traceback (most recent call last):
File "C:\Users\xxxx\Documents\GitHub\azure-openai-doc-summarizer\summarizer.py", line 31, in
from semantic_kernel.connectors.ai.chat_request_settings import ChatRequestSettings
ModuleNotFoundError: No module named 'semantic_kernel.connectors.ai.chat_request_settings'

Thank for reporting this! Fixed with https://github.com/mario-guerra/azure-openai-doc-summarizer/pull/8, removing semantic kernel completely.


[eslint] enable eslint-plugin-eslint-plugin

Most of the changes are deleting duplicate test cases.

@ljharb shouldn't this have been added as a dev dependency, rather than as a dependency?

yes, it should. thanks for the catch (#2510)


Run inline unit tests from system tests

The system tests executed via "npm test" or node / buster should run the rippled inline unit tests (the tests that are built into rippled). This is accomplished with the following command line choices:
Runs all the tests:
./rippled --unittest

Runs only the Ripple tests:
./rippled --unittest=ripple

Runs a specific test
./rippled --unittest=(test-name)

Where (test-name) is from the list of individual tests (you can see the names when you run them all). For example "Ledger".
The exit code of the rippled instance should be zero on success, non zero on failure.
It would also be nice to document this command line behavior in the wiki.

This is done


Adding "defaultValue" keyword in the protocal folder files.

Hi,
My name is Ibrahim.
I am considering using Serverpod for future projects, and I have suggestion about a feature.
Can you add "defaultValue" keyword?
A "defaultValue" keyword would be useful for setting a default value for a field.
The usage
The use of such keyword should be similar to
postId: int, parent=posts
in the corresponded file.
for example:
commentCount: int, defaultValue=0
Thanks for such great project

Thank you for the suggestion! I'm going to close this issue as it is a duplicate of #236 and there is a bit more discussion there. :)


Add a snap_to method to GeoBoxes to enable coercing GeoBoxes to the same pixel alignment

I have two low-resolution GeoBoxes created by "zooming out" of two existing higher resolution dataset GeoBoxes:
lowres_geobox1 = ds1.odc.geobox.zoom_out(500)
lowres_geobox2 = ds2.odc.geobox.zoom_out(500)

Although these GeoBoxes share the same resolution and CRS, they do not share the same pixel alignment, resulting in pixels that do not align correctly:

I would like to be able to "snap" lowres_geobox2 to the pixel alignment of lowres_geobox1, so that both of my low resolution grids align perfectly:

Snapping is currently supported when creating a new GeoBox directly (e.g. via GeoBox.from_bbox), however it would be useful to have a GeoBox method that would allow a user to perform snapping on existing GeoBoxes as well.

Unsnapped and snapped grids:

Probably also worth adding snap=False|True to zoom_out method, aligning two arbitrary geoboxes with compatible reprojections/resolution  to each other is somewhat more involved (but not a lot more) than snapping to pixel size.
Maybe also worth supporting alignment between geoboxes of different resolutions when pixel sizes are related via exact integer scale 1x1 == 3x3.


[🚀esl-share]: popup internal implementation follow-up

As an ESL architect, I want to have esl-share module composed in the most supportable and extendable way.
Here is the followup issue for suggestions originally posted by @ala-n in https://github.com/exadel-inc/esl/pull/1668#pullrequestreview-1517508723
Proposition:

[ ] split away the config-to-button transformation from  ESLShare. This part will block us from making the popup logic transition smooth. And it is also one of the things that looks to be not a zone of responsibility for the root ESLShare module.
[ ] move the popup instance management to ESLShareTrigger. It sounds like it is not the ESLShareTrigger zone of responsibility as well. It will be perfect if ESLShareTrigger will be basically independent of ESLShare as an HTML element.

:tada: This issue has been resolved in version 4.13.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


bug: Deleted nomad list api. It's close since 2016

Hi everybody. Today i tried to use Nomad List API and after a while looking for it I have seen the official news that they have deactivated it.
https://nomadlist.com/help

Thanks!

👍  No worries bro


Errorprone BoxedPrimitiveEquality error on generated code by jsonschema2pojo

When using ErrorProne on my project using jsonschema2pojo, it complains about the following errors:

[BoxedPrimitiveEquality] Comparison using reference equality instead of value equality. Reference equality of boxed primitive types is usually not useful, as they are value objects, and it is bug-prone, as instances are cached for some values but not others.

((this.myInteger == rhs.myInteger)||((this.myInteger!= null)&&this.myInteger.equals(rhs.myInteger)))

According to ErrorProne, the generated code should be:
((this.myInteger!= null)&&this.myInteger.equals(rhs.myInteger))

Hi
I'd consider it as a false-positive and suggested change as incorrect.
Given following oversimplified schema:
{
  "type": "object",
  "javaType":"Example",
  "properties": {
    "value": {
      "type": "integer"
    }
  }
}

And following code System.out.println(new Example2().equals(new Example2()));
Code accoring to ErrorProne would yield false whereas one would expect it to be true.

@unkish Example is not a boxed primitive. The issue is about Integer, Double, Float, ...
Object equality must not change.

"type": "integer" can be replaced with "existingJavaType": "integer" with same outcome and expectations

Yes and
System.out.println(new Integer(10).equals(new Integer(10)));
will return true as expected.
I still don't understand your point.

Schema above will generate code containing equals method
    @Override
    public boolean equals(Object other) {
        if (other == this) {
            return true;
        }
        if ((other instanceof Example) == false) {
            return false;
        }
        Example rhs = ((Example) other);
        return ((this.myInteger == rhs.myInteger)||((this.myInteger!= null)&&this.myInteger.equals(rhs.myInteger)));
    }

that contains "erroneous code" as reported by ErrorProne.
My point is that leaving out this.myInteger == rhs.myInteger produces result that would differ from expected one.

@unkish Sorry for overlooking the double null case. Thank you for pointing it out.
By the way, I have made the necessary updates to the request, and it is now functioning as expected thanks to Objects.equals.


Chinese Synonym (同义词) and Antonym (反义词) Substitution

Changes

Added synonym substitution
Added Antonym substitution
Updated test cases

Update README.md

@kaustubhdhole Thanks for the ping! I'll work on the changes today :)

@kaustubhdhole Hi! I was just checking back and just saw your comments. Thank you for making the last two changes on my behalf already!


Updated some examples

Updated three examples:

basic
indexing
tensorwise

Changes:
[all] Different print out of expressions
[all] Some renaming
[indexing.ipynb] Removed unnecessary examples as they were duplicating the ones from basic.tpynb
[basic.ipynb] Moved sizes section next to dims section

@cpuhrsch


add github actions for release

Description
Added github action to cli repo, tested it out with a few alpha releases of the cli (1 through 3)
wiki updated to indicate that the cli and webservice are now basically released the same way without needing individual artifactory accounts https://wiki.oicr.on.ca/display/DOC/Dockstore+Releases#DockstoreReleases-RepositoriesthatuseFriendlyCIversionsandaGitHubAction
Review Instructions
Take a look at the wiki instructions, could do another cli release
Issue
https://ucsc-cgl.atlassian.net/browse/SEAB-5516
Security
If there are any concerns that require extra attention from the security team, highlight them here.
Please make sure that you've checked the following before submitting your pull request. Thanks!

[x] Check that you pass the basic style checks and unit tests by running ./mvnw clean install
[x] If this PR is for a user-facing feature, create and link a documentation ticket for this feature (usually in the same milestone as the linked issue). Style points if you create a documentation PR directly and link that instead.

Was looking at the wiki and noticed that the Dockstore webservice release instructions don't mention creating a GitHub pre-release and attaching the latest CLI dockstore script to the newly drafted webservice release (which are instructions included in the 1.14 staging checklist)

Was looking at the wiki and noticed that the Dockstore webservice release instructions don't mention creating a GitHub pre-release and attaching the latest CLI dockstore script to the newly drafted webservice release (which are instructions included in the 1.14 staging checklist)

Should be there, search for "For the CLI only" between Step 2 and 3

Was looking at the wiki and noticed that the Dockstore webservice release instructions don't mention creating a GitHub pre-release and attaching the latest CLI dockstore script to the newly drafted webservice release (which are instructions included in the 1.14 staging checklist)

Should be there, search for "For the CLI only" between Step 2 and 3

Oh, I meant for the webservice release, not the CLI. The checklist says that the latest CLI dockstore script should be attached to the webservice release


Update custom-terms-of-service.rst

Added Beta label and known issue https://mattermost.atlassian.net/browse/MM-13509.
MM-13349: Fix TOS not displaying when using SSO login in RN apps has been merged for 5.6 so not included in docs.

Sorry about that, I just opened a PR a few minutes ago (the title on my PR wasn't clear): https://github.com/mattermost/docs/pull/2433. I'll close this and make sure anything you've completed here is in my PR


Switched Frontends go Gradio

I refactored the frontends to Gradio and added some functionality on the way. They are started now with
poetry poe gen
poetry poe qa

The reload function from gradio currently does not play nice with the Bridge transport. It seems like connections and/or object instance are not correctly re-initialized when the GUI is reloaded. So you probably need to close and reopen the browser window and the app itself from time to time. When decoupling services and frontend, this issue should also vanish. But maybe there is a better way to configure the gradio app anyway.
Some screenshots:

Gradio should not have a big impact on performance. As you know the quality depends on many factors (e.g. chunk size, overlap, ...). Also do not underestimate the role of the prompt and its formatting! I guess my next PR will be to split config parameters for gen and qa so that both of you can set them independently.

The qa part is running for me, even if it seems to me that the whole application has become much slower and the output of the answer is worse. But the model response is not due to the GUI :)

You could try to create a "no auto" pytest where you address the qa_service directly and check whether that is way faster.

Well, I guess I found one problem. Temperature is set to max_new_tokens.

Well, I guess I found one problem. Temperature is set to max_new_tokens.


Request to host package

This issue was originally filed by @financeCoding

https://github.com/financeCoding/drandom

This issue has been moved to dart-lang/pub#143.


Rollbar JavaScript: Make  lookup stricter to avoid matching

When loading an HTML partial including a <header> tag via AJAX, the Rollbar JS is inserted in inside that said <header> tag, the lookup for the <head> tag being too permissive.

Thanks @jeremiemv ! This looks good to me. @jondeandres can you take a look?

Hey @jeremiemv, thanks for the PR!

:+1:


[FLINK-11026][ES6] Rework creation of fat sql-client jars

Based on #7247.
What is the purpose of the change
This PR is a PoC for reworking the packaging of jars specific to the sql-client (which basically are just fat-jars). Only the flink-connector-elasticsearch6 module is covered here; if accepted the same principle should be applied to the kafka connectors (0.10, 0.11, 2) and all formats.
Instead of defining separate shade-plugin execution with a custom artifactSuffix this PR adds a dedicated flink-sql-connector-elasticsearch6 module which only contains the packaging logic. This is a similar approach that we've already been using for flink-shaded-hadoop2-uber.
The main motivation for this is licensing; for accurate notice files it is necessary to be able to supply each artifact with distinct NOTICE files.
This cannot be done within a single module in a reasonable way. We would have to un-package each created jar, add the appropriate license files, and re-pack them again. We'd end up with tightly-coupled plugin definitions (since the names have to match!) and an overall more complicated (and slower!) build.
Brief change log

add new flink-sql-connector-elasticsearch6 module containing the sql-client-specific shade-plugin configuration and apply the following modifications

set executionId to shade-flink
disable shadedArtifactAttached so only a single jar is deployed
remove sql-jar suffix as it is no longer necessary

remove sqlJars profile from flink-connector-elasticsearch6
add sqlJars profile to flink-connectors to support skipping the creation of sql jars

Verifying this change
Covered by sql-client E2E test.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (yes)

Documentation
I have not checked the documentation yet for references that would have to be changed.

There's an issue in this PR that causes mvn install to fail if the module was already built before. currently investigating what is causing this.

Issue should be fixed; it was the uncommon issue about shading of test-jars for modules that don't have any test classes.

It might make sense to move the SQL classes, but I believe this is an orthogonal issue to how the modules are structured. This PR is only about making the required module-structure changes to support licensing; moving these classes however is more about how to structure our own code.
In the long run, particularly for consistency that is my main concern in this PR, I would very much like to have sql-client specific extensions (and possibly table-stuff in general) in separate modules for all connectors/formats, regardless of packaging, but that's a separate issue.

@twalthr What's your take on this? I wouldn't want to change the SQL-packaging rules without anyone from the SQL side signing off on it.

I just noticed that I have another Flink instance running on my machine. Will check the failure again.

@zentol sorry for the false alarm. the changes look good to me (modulo my docs comment).

Don't scare me like that 🗡 . I've update the docs, rebased the PR and will merge it once travis is green.


Explicitly specify WEBSITE_RUN_FROM_PACKAGE=1 is not supported in Linux consumption functions

In addition to mentioning WEBSITE_RUN_FROM_PACKAGE=1 is recommened for Windows function apps, we also need to specify this is not supported in Linux consumption sku.

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

ID: cbd2779f-df70-05e1-0589-8220f850a44f
Version Independent ID: c1118090-18b5-f630-d4b0-c588328a4b5a
Content: Run your Azure Functions from a package
Content Source: articles/azure-functions/run-functions-from-deployment-package.md
Service: azure-functions
GitHub Login: @ggailey777
Microsoft Alias: glenga

Thanks @balag0!

I've lost a ton of time trying to diagnose why zip deploys keep deploying to storage and changing WEBSITE_RUN_FROM_PACKAGE from "1" to a URL. I was following docs, so would really appreciate it if the docs are correct. What is the optimum way of deploying to a linux func app then for cold start time?

Run From Package = External Url is the optimum (and currently only way) to deploy to Linux function app.

Still waiting for this update. I was also a victim of poor documentation 👎

Hi @ggailey777
I was going through the below documentation -
https://github.com/Azure-Samples/function-app-arm-templates/wiki/App-Settings-for-Function-Apps#website_run_from_package
https://docs.microsoft.com/en-us/samples/azure-samples/functions-storage-managed-identity/using-managed-identity-between-azure-functions-and-azure-storage/
I am facing the issue while deploying the azure function with following configuration -

linux OS
WEBSITE_RUN_FROM_PACKAGE =
Assigned the user managed identity to function with roles as mentioned in documentation
App Service Plan  - B1

As per the logs it  error is "Failed to download package from " and "Azure Functions runtime is unreachable".
But it is working fine with os - windows configuration.
Could you please suggest something?


If value is null, set it to the initial value

Description
When using reset on the FormGroup, it would try to set the range or single value to null. It now sets it to the initial value it was created with.
References
https://github.com/Energinet-DataHub/geh-post-office/issues/828

message archive is not in scope 1, and going to be deleted


Upgrade slate-tools to 1.0.0-beta.1

This PR upgrades @shopify/slate-tools to 1.0.0-beta.1. Prior to the upgrade (1.0.0-alpha.29), running slate-tools start results in the following error.
<EMAIL_ADDRESS>Module not found: Error: Can't resolve '__appvendors__' in '/Users/dan/projects/foobar-shopify-theme/node_modules/@shopify/slate-tools/tools/webpack'
<EMAIL_ADDRESS>31:0-39
 @ multi<EMAIL_ADDRESS><EMAIL_ADDRESS>

@dangreaves thanks for your contribution! I didn't see the PR before updating the version myself - sorry about that :').


Her requests has_many association when parent ID is blank.

Is it intended for Her to make this association GET request even though pizza.id.blank??
class Pizza
  include Her::Model
  has_many :fixins
end

class Fixin
  include Her::Model
  belongs_to :pizza
end

##
# Routes available:
# GET /pizzas
# GET /pizzas/:id/fixins
#
p = Pizza.new
p.fixins # GET /pizzas/fixins 404

Hi @jkappers yeah that feels wrong doesn't it. Will mark as a bug.

@jkappers in practical terms what problem is this causing you? And what would you have expected?

@edtjones Thanks for getting back to me so quickly!
It's nothing that I can't work around. I discovered it by doing something similar to:
class User
  has_many :phone_numbers

  validate :at_least_one_phone_number

  def at_least_one_phone_number
    if self.phone_numbers.count < 0 || self.phone_numbers.none?(&:valid?)
      # errors.add or whatever.
    end
  end
end

class PhoneNumber
  belongs_to :user
end

u = User.new
u.valid? # NoMethodError: undefined method `count' for #<PhoneNumber(phone_numbers) >

My expectation was something like:
def phone_numbers
  return @cached_result if @cached_result
  return Her::Collection.new unless parent.persisted?
  @klass.get
end

I wasn't sure if the behavior I was experiencing was by design or not.

@jkappers thanks. The relations aren't an area of the code I know well, but I'll do a bit of spelunking when I can. @zkwentz @ticktricktrack d'you recognise this issue?

Nice catch @jkappers. Let us know if you want to create a PR for this behavior :smiley:

Fixed in #456. Thanks!


Runtime Manager, modify update_func()

Status
PRODUCTION / DEVELOPMENT
Description
A few sentences describing the overall goals of the pull request's commits.
Related PRs
List related PRs against other branches:

branch
PR

other_pr_production
link

other_pr_master
link

Todos

[ ] Tests
[ ] Documentation

Steps to Test or Reproduce
Outline the steps to test or reproduce the PR here.
roslaunch pkg_A executable_A

The car should move.

Please describe purpose and change overview according to the template.

Sorry, I added description.

Thanks!
I've confirmed. please merge it.