Spawned Machines are not removed from children after stop() is called

Description
Spawned Machines are not removed from children after stop() is called.
Expected Result
I would expect the machine would be deactivated and also the reference removed from the children object.
Actual Result
References to stopped machines are accumulating in the children object and could present significant memory leaks if spawning actors is used on a large scale.
Reproduction
https://codesandbox.io/s/xstate-todomvc-forked-nbsl4?file=/todosMachine.js
I've modifies the TODOs MVC example to call stop when Clear completed is called.  I also log the length of the keys in the children attribute of the state which continues to grow.

I've created a new fork of the TODO MVC example which uses the stop action as recommended.  The length of children continues to grow however.  Happy to investigate any alternative implementations that would work around this issue.  Let me know.
    CLEAR_COMPLETED: {
      actions: assign({
        todos: (context) => {
          // Call stop on all completed
          context.todos
            .filter((todo) => todo.completed)
            .forEach((todo) => stop(todo.ref))
          return context.todos.filter((todo) => !todo.completed);
        }
      })
    }

Here is how it should be done: set preserveActionOrder: true on the machine and stop the actors first, before removing them:
    CLEAR_COMPLETED: {
      actions: [
        actions.pure((context) => {
          return context.todos
            .filter((todo) => todo.completed)
            .map((todo) => actions.stop(todo.ref));
        }),
        assign({
          todos: (context) => {
            return context.todos.filter((todo) => !todo.completed);
          }
        })
      ]
    }

https://codesandbox.io/s/xstate-todomvc-forked-69hct?file=/todosMachine.js:2197-2567

@davidkpiano Does this still work? In the codesandbox, when I delete a todo the children.length does not go down.
I'm also seeing the same issue in the latest XState.

Just wanted to mention this PR I noticed here.  Will take a look at this again once v5 is released.
https://github.com/statelyai/xstate/pull/4078

We made it impossible to .stop() non-root actors directly:
https://github.com/statelyai/xstate/blob/ec758593320d04691b2a0732b7cd6808e36622d7/packages/core/src/interpreter.ts#L517-L522
To properly stop child actor you need to use the stopChild action and that cleans up snapshot.children properly.


[Add device] Custom device type

When adding a new device, there should be a catch-all "custom" option for devices that are not officially supported. The device details shown would then rely on the device reporting supported objects.

This is not good for the end user, the device type serves as a user friendly description for the purpose of the device. All devices must use a well defined device type. If you're in a pinch you can always pick one of the existing ones.


Fallback for folks without a web3-enabled browser

This could be as simple as instructions how to complete the transaction using MyEtherWallet.com.
Or a slick integration for popular hardware wallets like the ledger.

@Nick has his Dapp working without metamask using the new Web3:
https://originprotocol.slack.com/archives/C7XHKV6TG/p1517172702000099
Seems like a great way to do it.

Oh that's awesome. Hadn't seen that!

@wanderingstan Link seems broken, do you still have the website? I would love to see how it works.

@dagumak  https://github.com/OriginProtocol/identity-playground

No longer necessary due to https://github.com/OriginProtocol/demo-dapp/commit/cad14ffdfadd5139509dff9d29018958a57d5772 and https://github.com/OriginProtocol/mobile-app ✅


我想问一下，就是我怎么数据模型里面嵌套模型数组，存入数据库

{
"attitudes_count" = 22;
"biz_feature" = 0;
"biz_ids" =             (
230935
);
"bmiddle_pic" = "http://ww4.sinaimg.cn/bmiddle/884f7263jw1f9kyw0b1amj20ez0ag3zz.jpg";
cardid = "star_069";
"comments_count" = 44;
"created_at" = "Tue Nov 08 20:21:59 +0800 2016";
"darwin_tags" =             (
);
favorited = 0;
geo = "";
"gif_ids" = "";
hasActionTypeCard = 0;
"hot_weibo_tags" =             (
);
id =<PHONE_NUMBER>694647;
idstr =<PHONE_NUMBER>694647;
"in_reply_to_screen_name" = "";
"in_reply_to_status_id" = "";
"in_reply_to_user_id" = "";
isLongText = 0;
"is_show_bulletin" = 2;
mid =<PHONE_NUMBER>694647;
mlevel = 0;
"original_pic" = "http://ww4.sinaimg.cn/large/884f7263jw1f9kyw0b1amj20ez0ag3zz.jpg";
"pic_urls" =             (
{
"thumbnail_pic" = "http://ww4.sinaimg.cn/thumbnail/884f7263jw1f9kyw0b1amj20ez0ag3zz.jpg";
}
);
"positive_recom_flag" = 0;
"reposts_count" = 5;
rid = "0_0_1_2789438056014392501";
source = "<a href="http://app.weibo.com/t/feed/2O2xZO\" rel="nofollow">\U4eba\U6c11\U7f51\U5fae\U535a";
"source_allowclick" = 0;
"source_type" = 1;
text = "\U3010\U7537\U5b50\U6559\U55063\U5c81\U513f\U5b50\U5f53\U8857\U62e6\U8f66 \U7d22\U8981\U8d22\U7269\U4f9b\U81ea\U5df1\U6325\U970d\U3011\U4e00\U7537\U5b50\U5728\U59bb\U5b50\U79bb\U5bb6\U51fa\U8d70\U540e\Uff0c\U7ecf\U5e38\U5506\U4f7f3\U5c81\U7684\U513f\U5b50\U4e0a\U8857\U62e6\U6c7d\U8f66\U7d22\U8981\U8d22\U7269\U4f9b\U81ea\U5df1\U6325\U970d\Uff0c\U4e14\U9157\U9152\U6210\U6027\U3002\U7ecf\U9274\U5b9a\Uff0c\U7537\U5b50\U60a3\U6709\U9152\U6bd2\U6027\U4eba\U683c\U6539\U53d8\Uff0c\U5177\U6709\U9650\U5236\U884c\U4e3a\U80fd\U529b\U3002\U8fd1\U65e5\Uff0c\U6cd5\U9662\U64a4\U9500\U4e86\U7537\U5b50\U7684\U76d1\U62a4\U4eba\U8d44\U683c\Uff0c\U6307\U5b9a\U5c45\U59d4\U4f1a\U4e3a\U5b69\U5b50\U7684\U76d1\U62a4\U4eba\U3002\Uff08\U626c\U5b50\U665a\U62a5\U7f51\Uff09http://t.cn/Rf7BICI";
textLength = 272;
"text_tag_tips" =             (
);
"thumbnail_pic" = "http://ww4.sinaimg.cn/thumbnail/884f7263jw1f9kyw0b1amj20ez0ag3zz.jpg";
truncated = 0;
user =             {
"allow_all_act_msg" = 0;
"allow_all_comment" = 1;
"avatar_hd" = "http://tva3.sinaimg.cn/crop.<IP_ADDRESS>.1024/884f7263jw8ev7jo9p7gtj20500500sy.jpg";
"avatar_large" = "http://tva3.sinaimg.cn/crop.<IP_ADDRESS>.180/884f7263jw8ev7jo9p7gtj20500500sy.jpg";
"bi_followers_count" = 934;
"block_app" = 1;
"block_word" = 0;
cardid = "star_069";
city = 1000;
class = 1;
"cover_image" = "http://ww3.sinaimg.cn/crop.0.0.920.300/884f7263gw1f2pamn1go1j20pk08cq3g.jpg";
"cover_image_phone" = "http://ww1.sinaimg.cn/crop.0.0.640.640.640/549d0121tw1egm1kjly3jj20hs0hsq4f.jpg";
"created_at" = "Fri Aug 05 13:31:32 +0800 2011";
"credit_score" = 80;
description = "\U62a5\U9053\U5168\U7403 \U4f20\U64ad\U4e2d\U56fd";
domain = renminwang;
"favourites_count" = 16;
"follow_me" = 0;
"followers_count" = 35381600;
following = 1;
"friends_count" = 5000;
gender = m;
"geo_enabled" = 0;
id =<PHONE_NUMBER>;
idstr =<PHONE_NUMBER>;
lang = "zh-cn";
location = "\U5317\U4eac";
mbrank = 6;
mbtype = 12;
name = "\U4eba\U6c11\U7f51";
"online_status" = 0;
"pagefriends_count" = 3000;
"profile_image_url" = "http://tva3.sinaimg.cn/crop.<IP_ADDRESS>.50/884f7263jw8ev7jo9p7gtj20500500sy.jpg";
"profile_url" = renminwang;
province = 11;
ptype = 0;
remark = "";
"screen_name" = "\U4eba\U6c11\U7f51";
star = 0;
"statuses_count" = 99149;
urank = 40;
url = "";
"user_ability" = 1540;
verified = 1;
"verified_contact_email" = "";
"verified_contact_mobile" = "";
"verified_contact_name" = "";
"verified_level" = 3;
"verified_reason" = "\U4eba\U6c11\U7f51\U6cd5\U4eba\U5fae\U535a";
"verified_reason_modified" = "";
"verified_reason_url" = "";
"verified_source" = "";
"verified_source_url" = "";
"verified_state" = 0;
"verified_trade" = "";
"verified_type" = 3;
"verified_type_ext" = 0;
weihao = "";
};
userType = 0;
visible =             {
"list_id" = 0;
type = 0;
};
}

I'm sorry @953995648, but I don't understand your request, even after Google Translate. I can tell you're asking about how to define your models to match the data you've dumped here, so I suggest you read the Migrations section of our docs.


Feature/combat system

[x] endless loop last dungeon map folder instead of stopping at lowest level
[x] support empty map folders
[x] switch to CombatScreen when interacting with an enemy
[x] add ability system

[ ] Firebolt: single target
[ ] Heal: self; no target
[ ] Fireball: AOE target; main target + adjacent enemies
[ ] Firestorm: AOE all targets

[ ] update AI to use offensive/defensive spells when they have one
[ ] add Combat UI + Combat events to notify the UI to pull data from model
[ ] keep GameScreen as background with blur shader + transparency

This PR also fixes an issue with the outline shader in case an entity in range does not have a RenderComponent.
A simple game UI is also added that shows the current dungeon level when entering a new dungeon

Another - and hopefully last- big refactoring of the combat system because a lot of other attempts failed in several ways.
The current implementation works like this:

wait for player input for upcoming turn
when it is available then sort entities according to their agility and add their commands to a commands "stack"

for AI entities the behavior tree will be stepped to retrieve the commands
for a player controlled entity the command from the step above will be used

commands are then executed one by one
if commands get added while another command is in progress then they are added to the commands list and will be executed before any other remaining commands

e.g. if a death event happens then the death command is added to the commands list and will be executed right after the current command is done
the logic happens in onEvent of the CombatSystem. I am not sure if there is a better solution for that but this was the only way I could come up with to realize "command chaining" like:
Entity attacks three other entities. Two of them explode like a Bomber in FF8 and the other one dies. The Bomber kills the original attacking entity.
With the current implementation "response" commands are executed in the order they appear. This should give a good result in hopefully all the cases of QuillyCrawler ;)

whenever a DeathEvent occurs then victory/defeat conditions are checked
when all commands of the turn are executed then the turn is over and we go back to step 1

Making progress on the UI part. What is still missing:

[ ] Mana info update
[ ] Consumable item logic
[ ] Victory Popup
[ ] Defeat Popup
[ ] Target selection if ability requires a selectable target

skin.get(styleName, BarStyle::class.java)
With Skin.get from ktx-style, this would become skin[styleName].

You could add Kotlin contracts to ensure that the building blocks (init, block) are called once, so you can assign variables from within their scope, etc. You can see some examples of contracts usage within the KTX widget builders. Otherwise the code looks alright.


Release to docker hub staging

Please move the files around as you see fit, however, all the files and scripts are de-facto standard and uniform across other projects (originating from orbs-network-go).

I agree that we lack clear up-to-date policy on the tagging workflow. For example, I also want the experimental tags like we have in the other projects and they're missing from this PR.
I had several short calls with various stakeholders and formalized the policy as part of our version release document. Here is the snippet for your convenience:

On every push to branch/master:

Publish as “${last git tag}-${commit hash}” to orbsnetworkstaging

On every merge to master:

Publish as “experimental” to orbsnetwork

On every manual semver tag in git:

If given explicit manual approval in CI to publish to production:

Publish “${git tag}” in orbsnetwork

The Dockerfile we build and publish should be the one compatible with Boyar. And since we previously agreed that we confine the stricter Boyar protocol to the ./boyar directory let's publish from there. I think the helpers shell scripts should sit there as well since Kirill needs to change them from time to time and he has full autonomy over changes inside the ./boyar directory.
Long story short, @netoneko please modify the PR according to the above workflow and please add the experimental part and such. I agree that all our services should be identical in this regard, so let's make the ./boyar directory identical across different repos because different people like to structure their surrounding projects differently.
I'll add a Monday task for this since it's a little bigger in scope than a single PR, we need to copy the same changes to service1 and service3.


MultiNodeEdit now only shows properties with the exact same PropertyInfo data

Fixes #30345.
I considered making it only check for type, but I felt that might still create conflict, so I have it check the hint, hint_string, and usage as well. It now makes sure the two PropertyInfos are the same.

Thanks!


add DGL token to assetlist.json and zone_assets.json

Description

Checklist

Adding Assets

If adding a new asset, please ensure the following:

[x] Asset is registered to the Cosmos Chain Registry.

[x] Add asset to bottom of zone_assets.json.
Note:

The IBC channel referenced in path must be registered to the Chain Registry.
osmosis_main defaults to false (or else cite the listing rule that justifies enlisting to the Main app)

On-chain liquidity
If adding a new asset, please provide the plan for on-chain liquidity of the asset: (choose one)

[ ] The submitting team will ensure a pool will be created soon. Please hold off until further communication, which will notify of the Pool ID. (Please set the PR's status to Draft until the pool has been created)

OR

[x] A preview link is requested for the submitting team to be able to create a pool using the Osmosis Frontend.

OR

[ ] The token is, or will be, going through a StreamSwap stream; thus, the token should be listed without requiring on-chain liquidity. A Pool ID will be provided in this PR following the stream's completion once the team has had a chance to create a pool using the earned funds.

Validation Testing
If adding or updating a chain or asset, the changes must be validated from the updated build of the Osmosis Frontend. Testers will need a small amount of tokens to validate.

[ ] Validaters can buy a small amount of this asset from Pool ID: {PROVIDE POOL ID}.
[ ] Preview build has been validated.

Hi JeremyParish69,
Today, I canceled my PR for DGL and reopened it using my colleague's account, as my account is only 10 months old. I believe the account kenta-mori3322 fully satisfies your requirements.
I am eagerly looking forward to the listing of our DGL token as soon as possible.

Just to clarify we will not be going through a stream and will have to select one of the other 2 options given.

The submitting team will ensure a pool will be created soon. Please hold off until further communication, which will notify of the Pool ID. (Please set the PR's status to Draft until the pool has been created)

OR

A preview link is requested for the submitting team to be able to create a pool using the Osmosis Frontend

@JeremyParish69 Can you explain or provide a link with more information on the 2 different pool options? Thanks kindly

The first option just means that you plan create a pool soon, and that I should just wait for you to do that.
The second option means you are having trouble creating a pool using CLI and wish to use the Osmosis Zone frontend/app to create the pool. To create the preview, I'll code the changes into a new branch of our frontend repo and issue a Vercel preview deployment for you to use. With the preview, you can go to Pools > Create Pool > (etc.).

Just to clarify we will not be going through a stream and will have to select one of the other 2 options given.

The submitting team will ensure a pool will be created soon. Please hold off until further communication, which will notify of the Pool ID. (Please set the PR's status to Draft until the pool has been created)

OR

A preview link is requested for the submitting team to be able to create a pool using the Osmosis Frontend

@JeremyParish69 Can you explain or provide a link with more information on the 2 different pool options? Thanks kindly

The first option just means that you plan create a pool soon, and that I should just wait for you to do that.
The second option means you are having trouble creating a pool using CLI and wish to use the Osmosis Zone frontend/app to create the pool. To create the preview, I'll code the changes into a new branch of our frontend repo and issue a Vercel preview deployment for you to use. With the preview, you can go to Pools > Create Pool > (etc.).

Ok, thanks for the clarification Jeremy.  We would like to use the Osmosis Zone frontend/app

As requested here is a preview link.
https://osmosis-frontend-git-jp69-asset-dgl-add-osmo-labs.vercel.app/
Without a pool to buy a small amount, I wasn't able to validate DGL Deposit and Withdraw myself yet.

As requested here is a preview link. https://osmosis-frontend-git-jp69-asset-dgl-add-osmo-labs.vercel.app/ Without a pool to buy a small amount, I wasn't able to validate DGL Deposit and Withdraw myself yet.

When attempting to create a pool using the preview link I keep getting back errors.
I tried to create a 50/50 weighted pool and I had enough of OSMO and DGL in my wallet to create the pool and pay the fees.  The error reads "119 OSMO is smaller than 500 OSMO: insufficient funds : invalid request (at message 0)

As requested here is a preview link. https://osmosis-frontend-git-jp69-asset-dgl-add-osmo-labs.vercel.app/ Without a pool to buy a small amount, I wasn't able to validate DGL Deposit and Withdraw myself yet.

When attempting to create a pool using the preview link I keep getting back errors.
I tried to create a 50/50 weighted pool and I had enough of OSMO and DGL in my wallet to create the pool and pay the fees. The error reads "119 OSMO is smaller than 500 OSMO: insufficient funds : invalid request (at message 0)

As requested here is a preview link. https://osmosis-frontend-git-jp69-asset-dgl-add-osmo-labs.vercel.app/ Without a pool to buy a small amount, I wasn't able to validate DGL Deposit and Withdraw myself yet.

When attempting to create a pool using the preview link I keep getting back errors.
I tried to create a 50/50 weighted pool and I had enough of OSMO and DGL in my wallet to create the pool and pay the fees. The error reads "119 OSMO is smaller than 500 OSMO: insufficient funds : invalid request (at message 0)

As requested here is a preview link. https://osmosis-frontend-git-jp69-asset-dgl-add-osmo-labs.vercel.app/ Without a pool to buy a small amount, I wasn't able to validate DGL Deposit and Withdraw myself yet.

When attempting to create a pool using the preview link I keep getting back errors.
I tried to create a 50/50 weighted pool and I had enough of OSMO and DGL in my wallet to create the pool and pay the fees. The error reads "119 OSMO is smaller than 500 OSMO: insufficient funds : invalid request (at message 0)

As requested here is a preview link. https://osmosis-frontend-git-jp69-asset-dgl-add-osmo-labs.vercel.app/ Without a pool to buy a small amount, I wasn't able to validate DGL Deposit and Withdraw myself yet.

When attempting to create a pool using the preview link I keep getting back errors. I tried to create a 50/50 weighted pool and I had enough of OSMO and DGL in my wallet to create the pool and pay the fees. The error reads "119 OSMO is smaller than 500 OSMO: insufficient funds : invalid request (at message 0)

It sounds like the account does have the 500 OSMO pool creation fee.

As requested here is a preview link. https://osmosis-frontend-git-jp69-asset-dgl-add-osmo-labs.vercel.app/ Without a pool to buy a small amount, I wasn't able to validate DGL Deposit and Withdraw myself yet.

When attempting to create a pool using the preview link I keep getting back errors. I tried to create a 50/50 weighted pool and I had enough of OSMO and DGL in my wallet to create the pool and pay the fees. The error reads "119 OSMO is smaller than 500 OSMO: insufficient funds : invalid request (at message 0)

It sounds like the account doesn't have the 500 OSMO pool creation fee.

I have 1119 OSMO in my account and was trying to pool 500 OSMO with 3500 DGL.  Is there an issue with the front end?

@JeremyParish69
I was able to successfully create the pool this time using only 700DGL/35osmo in the pool.  Pool#1143.
However, my OSMO balance in my wallet went from 1119 osmo to 84.9 osmo.  The pool creation fee is 100 osmo, i'm not understanding the dynamics there.  Also, the TVL/balance displays only the OSMO value of $12.20.  Since it's 50/50 pool shouldn't the TVL be $24.40?

https://www.mintscan.io/osmosis/transactions/EE93D8569DDDA9E38C1127B9177FF9AD459EBBB8FBED2F1DF89232C5030BBD26
I found the error in the pool creation fee contract.  You have 1 too many zeros, which is why I ended up paying 1000 osmo instead of 100 osmo to create the pool.  Please make necessary corrections.
Thank you

https://www.mintscan.io/osmosis/transactions/EE93D8569DDDA9E38C1127B9177FF9AD459EBBB8FBED2F1DF89232C5030BBD26
I found the error in the pool creation fee contract. You have 1 too many zeros, which is why I ended up paying 1000 osmo instead of 100 osmo to create the pool. Please make necessary corrections.
Thank you

Thanks for the info on this.
You are right, the creation fee is supposed to be 100 OSMO. We'll investigate this as it looks to be not just you.
In the mean time, I can use pool 1143 for pricing and am adjusting the Osmosis Frontend preview build now to make sure DGL prices correctly and finish validation.

https://www.mintscan.io/osmosis/transactions/EE93D8569DDDA9E38C1127B9177FF9AD459EBBB8FBED2F1DF89232C5030BBD26
I found the error in the pool creation fee contract. You have 1 too many zeros, which is why I ended up paying 1000 osmo instead of 100 osmo to create the pool. Please make necessary corrections.
Thank you

Thanks for the info on this.
You are right, the creation fee is supposed to be 100 OSMO. We'll investigate this as it looks to be not just you.
In the mean time, I can use pool 1143 for pricing and am adjusting the Osmosis Frontend preview build now to make sure DGL prices correctly and finish validation.

Thanks.  Can you refund my account with 900 osmo, so that I can add it to the pool?


Double event issue with hybrid mouse/touch system

Dear all,
I'm writing software for a multitouch board. I have an issue with double events.
The demo below is tested on Chrome 32, Firefox 26 and Safari 7.0.1 on OS X.
I have the following log line in my main file.
Hammer(document).on('tap doubletap', function(e) {
  console.log('Hammer ' + e.type);
});

I put the following log (in hammer.js) right before checking all the gestures.
console.log('check all gestures for ' + eventData.srcEvent.type + '/' + eventData.eventType);
Hammer.utils.each(this.gestures, function(gesture) {
  // …
});

This is my console output on a single tap.
check all gestures for touchstart/start (hammer.js:833)
check all gestures for touchend/end (hammer.js:833)
Hammer tap
check all gestures for mousedown/start (hammer.js:833)
check all gestures for mouseup/end (hammer.js:833)
Hammer doubletap
Hammer tap

As you can obviously see my system triggers mouse events (for the first touch), as well as touch events for all touches.
Has anyone had this problem, and is there a known solution for this? As for now I'll continue debugging and trying out solutions.
Sidenote: I can't disable mouse events. The board I develop for is connected to a desktop computer. Thus the application should be usable via mouse on desktop, as well as via touch on the board.
Thanks for reading.

Same problem here, getting the event twice on a single tap.

Closing this a duplicate of #292


Link.rename() allows callers to overwrite regular files

Context: the tests in https://gist.github.com/tvolkert/266ba6b6cc85c448ccc644a3347461d7
(the first test succeeds; the second test fails).
In Link.update(), if the entity's path resolves to a regular file, then an exception is thrown with an errno of EINVAL. Yet in Link.rename(), if the destination path resolves to a regular file, then no exception is thrown at all - the link is renamed and replaces the file.
It seems like Link.rename() should throw if the destination path resolves to a non-link (it already does throw if it resolves to a directory).

@zanderso

The behavior of Link.rename() is consistent with the POSIX rename(2) call. For both Link.update() and Link.rename(), the existing path must be a valid symlink, or an error is indicated.


Add 2.2 release note to main

Add 2.2 release note

Signed-off-by: Angie Zhang<EMAIL_ADDRESS>
Add 2.2 release note

Signed-off-by: Angie Zhang<EMAIL_ADDRESS>Co-authored-by: Angie Zhang<EMAIL_ADDRESS>(cherry picked from commit 8eb5da6b0317506ee0160ddbbc53a14550cbcd5d)
Signed-off-by: Angie Zhang<EMAIL_ADDRESS>Issue #, if available:
Description of changes:
CheckList:

[ ] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #516 (efd5d4e) into main (fadc553) will increase coverage by 0.02%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##               main     #516      +/-   ##
============================================
+ Coverage     75.85%   75.88%   +0.02%
+ Complexity     2482     2477       -5
============================================
  Files           315      315
  Lines         14511    14511
  Branches       2245     2245
============================================
+ Hits          11008    11011       +3
- Misses         2247     2250       +3
+ Partials       1256     1250       -6

Impacted Files
Coverage Δ

...nt/indexstatemanagement/model/destination/Chime.kt
55.55% <0.00%> (-22.23%)
:arrow_down:

...nt/indexstatemanagement/model/destination/Slack.kt
55.55% <0.00%> (-22.23%)
:arrow_down:

...ensearch/indexmanagement/util/JobSchedulerUtils.kt
73.91% <0.00%> (-8.70%)
:arrow_down:

...arch/indexmanagement/rollup/RollupSearchService.kt
57.40% <0.00%> (-3.71%)
:arrow_down:

.../action/explain/TransportExplainTransformAction.kt
70.78% <0.00%> (-2.25%)
:arrow_down:

...ent/indexstatemanagement/util/ManagedIndexUtils.kt
76.10% <0.00%> (-1.77%)
:arrow_down:

...gement/indexstatemanagement/action/ShrinkAction.kt
69.11% <0.00%> (-1.48%)
:arrow_down:

...ndexstatemanagement/IndexStateManagementHistory.kt
78.62% <0.00%> (-1.38%)
:arrow_down:

...nt/indexstatemanagement/ManagedIndexCoordinator.kt
68.71% <0.00%> (-0.59%)
:arrow_down:

.../opensearch/indexmanagement/rollup/model/Rollup.kt
86.04% <0.00%> (+0.46%)
:arrow_up:

... and 3 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Animation panel plays newly loaded animations inconsistently

Tested versions

Reproducible in 4.3.dev bd2300d
Not reproducible in 4.2.1 or 4.2.2

System information
Godot v4.3.beta (b53b23be6) - Windows 10.0.19045 - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 3090 (NVIDIA; <IP_ADDRESS>13) - Intel(R) Core(TM) i9-9900K CPU @ 3.60GHz (16 Threads)
Issue description
Newly loaded animation libraries will play incorrectly, especially the Hips bone.
Here is the video showing the issue:
https://github.com/godotengine/godot/assets/39946030/a33e1ec8-5332-4912-b3cc-5a23227cb8f3
Scrubbing through the track does not solve the issue. It is necessary to play the bad animation, then switch to another animation then switch back.
The deterministic checkbox does not seem to take effect immediately, but using a scene where deterministic was already checked might avoid the issue. Saving the scene with the animation library already loaded will also avoid the issue.
Steps to reproduce
ignore main.tscn. The problem does not reproduce if the scene is saved.

Right click skeleton.fbx -> New Inherited Scene
Select AnimationPlayer
Click Manage Animations.
Click Load Library and choose simplestanding.library.res
Select the simplestanding animation in the animation panel.
The hips bone will be locked in place.
Scrubbing through the timeline and selecting other animations will not fix the issue.
Play the animation. The hips will slide (gltf) or be locked in place (fbx).
Select a different animation, then select simplestanding again.
The animation will now play correctly.
Load main.tscn. The problem does not happen on a scene that was saved.

Minimal reproduction project (MRP)
FirstHumanAnimationWrong.zip

Any relation to #91904 or #92160 ?
My build does already have PR 90960 merged so it's not that.

Bisecting points to #86715 as the culprit:


trying to fix the applescript issue

Hi, I love the idea of your app - thanks so much for going to the trouble to code and share it. I noticed you mentioned an applescript issue, and though the control buttons appeared in the notification centre there was no indication of which song was currently playing. I assumed this was the missing functionality you were referring to.
I patched the plist file as suggested and restarted both Spotify, the app and my computer when these didn't work. This does not seem to have fixed the issue, and actually seems to have broken the app which no longer works to change the track. Do you have any ideas?

Hey Jenny,
actually I haven't looked anymore in my code since my last update. Maybe I find at the weekend some time to update the app in regarding the communication between this app and the spotify app and also with respect to the UI design ... I know that it does not look very nice :-D

Hi,
amazingly quick reply!
don’t worry too much - I actually found an app in the app store that will suffice. It doesn’t have the awesomeness yours does with he notification centre so you still have that niche for sure! But it will do in the mean time ;p
have a lovely day,
Jen

On 5 Nov 2015, at 12:39, pistolenernie<EMAIL_ADDRESS>wrote:
Hey Jenny,
actually I haven't looked anymore in my code since my last update. Maybe I find at the weekend some time to update the app in regarding the communication between this app and the spotify app and also with respect to the UI design ... I know that it does not look very nice :-D
—
Reply to this email directly or view it on GitHub https://github.com/pistolenernie/Spotify4Me/issues/2#issuecomment-154048017.

If you want one with a notification center, you can try the following one.
https://itunes.apple.com/hk/app/miniplay-notification-center/id936243210?mt=12
I have not tested it, so I can't guarantee anything but maybe that's what you want. ;-)

oh nice, thanks!

On 5 Nov 2015, at 12:49, pistolenernie<EMAIL_ADDRESS>wrote:
https://itunes.apple.com/hk/app/miniplay-notification-center/id936243210?mt=12 https://itunes.apple.com/hk/app/miniplay-notification-center/id936243210?mt=12

updated the project with working album covers, hope you like it :-)

ooh thanks I’ll take a look!

On 6 Nov 2015, at 14:15, pistolenernie<EMAIL_ADDRESS>wrote:
updated the project with working album covers, hope you like it :-)
—
Reply to this email directly or view it on GitHub https://github.com/pistolenernie/Spotify4Me/issues/2#issuecomment-154419277.


[11.x] allow skipping cache

this allows calling code to pass an optional parameter to skip the cache value, and force execution of the closure.
the problem this solves is sometimes we have code that should use the cache value most of the time, but there are some one-off scenarios when we know we need the fresh value.  currently we have have to write a conditional, which forces us to duplicate the code inside the closure, something I'd like to avoid.
I did not change the Contract for this yet. I'm assuming that would have to go to 12.x
If this is accepted, I believe it would also be relevant for the upcoming flexible() cache method.

i'd say make a method on that controller and use first callable syntax so you can reuse that method. or delete the cache item.

Thanks for your pull request to Laravel!
Unfortunately, I'm going to delay merging this code for now. To preserve our ability to adequately maintain the framework, we need to be very careful regarding the amount of code we include.
If applicable, please consider releasing your code as a package so that the community can still take advantage of your contributions!

@henzeb are you saying just assign the closure to a variable? if not can you provide an example, because I'm not following

Yah, none of that is really relevant to the problem this was trying to solve.
The point was to avoid writing our own conditional, which would prevent us from duplicating the closure call.


Show historical appointments

Create a page to show summary information about previous days' appointments.
On Monday, a user may want to see a summary of what appointments, including who showed and who didn't for the previous Saturday or Thursday. (Maybe a date picker? - birds eye view of what's going on).

It might be nice to add to this some summary information.  Like month by month and this month to date or something.  So that we can see how many  people were fed last month by county, totals for USDA etc.


light.hue_activate_scene no longer working with 0.60

Make sure you are running the latest version of Home Assistant before reporting an issue.
You should only file an issue if you found a bug. Feature and enhancement requests should go in the Feature Requests section of our community forum:
Home Assistant release (hass --version): 0.60
Python release (python3 --version):
Component/platform: hue
Description of problem:
can no longer use light.hue_activate_scene since update to 0.60. lights show up in the front end and I can turn them on/off through the gui, but cannot activate native hue scenes via scripts, scenes or automations
Expected:
Problem-relevant configuration.yaml entries and steps to reproduce:

Traceback (if applicable):

Additional info:

looks like it was switched to hue.hue_activate_scene

Awesome, that's fixed it. Many thanks


Terraform: InvalidUserData.Malformed: User data is limited to 16384 bytes.

Description
In cloud config in coreos. I used to mention encoding in terraform and also In YAML while passing file content. There was no issue with the same content to pass. But now If using container Linux config and converting it into ignition I am facing the below issue, Its exceeding in size. I am not able to find the related document on how to pass multiple files in container Linux with encoded string.
InvalidUserData.Malformed: User data is limited to 16384 bytes.
	status code: 400, request id: f2f41409-d458-4c7a-9e58-9eac39547f20

Before:
write_files:
    -
        path: "/opt/bin/script"
        permissions: "0755"
        owner: "root"
        encoding: "base64"
        content: |

Now:
  files:
    - filesystem: root
      path: "/opt/bin/script"
      mode: 0755
      contents:
        inline: |
          ${script}

Impact
Unable to pass multiple files in user-data.
What is the correct way to pass it ?

Hi Mohit!
The error you're getting refers to the length of the generated userdata not to having several files.  I have working configs that store several files using the format you indicated and it works fine:
  files:
    - path: /etc/ssh/sshd_config
      filesystem: root
      mode: 0644
      contents:
        inline: |
          # Our sshd configuration.
          PasswordAuthentication no
          # etc etc
    - path: /etc/flatcar/update.conf
      filesystem: root
      mode: 0644
      contents:
        inline: |
          GROUP=stable
          REBOOT_STRATEGY=off

I suspect the problem you're facing is that your config has grown so large that it doesn't fit within the maximum limit anymore. You'll probably need to trim it to the essential parts to get the machine to boot and then handle the non-essential ones with another tool, like ansible, puppet, chef, etc. Or maybe you can check if you really need all that data?

Hi Mohit!
The error you're getting refers to the length of the generated userdata not to having several files. I have working configs that store several files using the format you indicated and it works fine:
  files:
    - path: /etc/ssh/sshd_config
      filesystem: root
      mode: 0644
      contents:
        inline: |
          # Our sshd configuration.
          PasswordAuthentication no
          # etc etc
    - path: /etc/flatcar/update.conf
      filesystem: root
      mode: 0644
      contents:
        inline: |
          GROUP=stable
          REBOOT_STRATEGY=off

I suspect the problem you're facing is that your config has grown so large that it doesn't fit within the maximum limit anymore. You'll probably need to trim it to the essential parts to get the machine to boot and then handle the non-essential ones with another tool, like ansible, puppet, chef, etc. Or maybe you can check if you really need all that data?

This is true because now in the ignition there is no compression/encoding method type i can use to send the data to it. Is there any other way out ?

You can have ignition download the contents of the big files from a different source.  This is documented here: https://docs.flatcar-linux.org/container-linux-config-transpiler/doc/examples/#storage-and-files
storage:
  files:
    - path: /opt/file2
      filesystem: root
      contents:
        remote:
          url: http://example.com/file2
          compression: gzip
          verification:
            hash:
              function: sha512
              sum: 4ee6a9d20cc0e6c7ee187daffa6822bdef7f4cebe109eff44b235f97e45dc3d7a5bb932efc841192e46618f48a6f4f5bc0d15fd74b1038abf46bf4b4fd409f2e
      mode: 0644

You can have ignition download the contents of the big files from a different source. This is documented here: https://docs.flatcar-linux.org/container-linux-config-transpiler/doc/examples/#storage-and-files
storage:
  files:
    - path: /opt/file2
      filesystem: root
      contents:
        remote:
          url: http://example.com/file2
          compression: gzip
          verification:
            hash:
              function: sha512
              sum: 4ee6a9d20cc0e6c7ee187daffa6822bdef7f4cebe109eff44b235f97e45dc3d7a5bb932efc841192e46618f48a6f4f5bc0d15fd74b1038abf46bf4b4fd409f2e
      mode: 0644

Yes, this was my last resort. Basically, You are saying that there is no endoding/compression  support in ignition.?

If you have inline contents, they are either included as JSON strings through the URL encoding ("source": "data:,example%20content%0A") or Base64 encoding ("source": "data:;base64,ZXhhbXBsZSBjb250ZW50Cg=="). However, gzip compression is not supported for Data URIs (at least currently) and anyway, the Base64 encoding would bloat the compressed string again. A hack around this would be to create a file with gzip data in it and then run a one-time service that runs gunzip for the file.
I guess you are using AWS which is the only provider I know that has such a strange 16 KB limit for user data? I recommend you to fetch sources from S3 put there by Terraform or a public git repo via HTTP URLs to the raw file contents. But you can also check the size of the resulting JSON and try to minimize white space or comments in the scripts if you are near to the 16 KB limit.

If you have inline contents, they are either included as JSON strings through the URL encoding ("source": "data:,example%20content%0A") or Base64 encoding ("source": "data:;base64,ZXhhbXBsZSBjb250ZW50Cg=="). However, gzip compression is not supported for Data URIs (at least currently) and anyway, the Base64 encoding would bloat the compressed string again. A hack around this would be to create a file with gzip data in it and then run a one-time service that runs gunzip for the file.
I guess you are using AWS which is the only provider I know that has such a strange 16 KB limit for user data? I recommend you to fetch sources from S3 put there by Terraform or a public git repo via HTTP URLs to the raw file contents. But you can also check the size of the resulting JSON and try to minimize white space or comments in the scripts if you are near to the 16 KB limit.

Instead of getting each file from s3. I have replaced the whole ignition with an ignition file from s3 itself. Is there any demerit of using it?
{
  "ignition": {
    "version": "2.2.0",
    "config": {
      "replace": {
        "source": "s3://${bucket_name}/user-data.json"
        }
    }
  }
}

Looks good, thanks for sharing. I'll close this now.


on-premises machines versus servers-azure arc

When do servers appear as On-premises machines (host DNS name+VMUUID) and when as Servers - Azure Arc (just hostname)?
Could this information be added, please?

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

ID: 351581a9-c1fb-1083-f396-254095339bf9
Version Independent ID: 1884292e-3840-0df8-9b67-c0cbe6e512c1
Content: Microsoft Defender for Cloud's asset inventory
Content Source: articles/defender-for-cloud/asset-inventory.md
Service: defender-for-cloud
GitHub Login: @memildin
Microsoft Alias: memildin

@andrePKI
Thanks for your feedback! I've assigned this issue to the author who will investigate and update as appropriate.

Hi @andrePKI, thanks for the question. This relates to the change we made in November and described in this release note:
https://docs.microsoft.com/en-us/azure/defender-for-cloud/release-notes#inventory-display-of-on-premises-machines-applies-different-template-for-resource-name
Any resources using the previous template will change over time.
I'm going to close this issue, but feel free to comment again here or open a new one if you have additional requests.
#please-close


docs: remove useless slash

fix https://github.com/apache/apisix-website/issues/137

Once I deployed the site, I will update here.

Once I deployed the site, I will update here.

updated

updated


created WebID Document section

This is part of #65

[x] created WebID Document section

[x] added #76 issue inline
[x] moved OIDC issuer discovery details this section

[x] added turtle snippet as an examle
[x] inline issue:  #80

It also partially addresses #51 by removing the notion of implicit trust.

One question is whether the "OIDC Issuer Discovery" should be "OIDC Issuer Verification" instead?

The current naming is similar to one in https://openid.net/specs/openid-connect-discovery-1_0.html#IssuerDiscovery

OpenID Provider Issuer Discovery
OpenID Provider Issuer discovery is the process of determining the location of the OpenID Provider.

I changed "WebID Document" to WebID Profile" to align with the WebID draft specification.

In relation to our work on the profile, I would find this extremely misleading.  These are the terms we anticipate using :
1,  the WebID Document - the document that the WebID dereferences to
2. the Profile Document - the document that contains identifying information about the WebID owner.
Those two may be the same document, but that depends on implementation.
We anticipate adding the following type to the Profile document
solid:ProfileDocument (a more general term than foaf:PersonalProfileDocument)
So in the NSS case, the WebID would dereference to the solid:ProfileDocument and in the ESS case, it would dereference to a WebID document which points to a solid:ProfileDocument with foaf:primaryTopicOf.
Using the term "profile" in conjunction with the WebID document will very much cloud those waters.

If necessary maybe we need solid:WebIDDocument that would be a WerbID Profile Document in the WebID world but in the Solid world would either be the thing that points to the solid:ProfileDocument or NSS would have <>, a solid:WebIDDocument, solid:ProfileDocument.

In relation to our work on the profile, I would find this extremely misleading. These are the terms we anticipate using :

1, the WebID Document - the document that the WebID dereferences to
2. the Profile Document - the document that contains identifying information about the WebID owner.

The WebID draft specification uses the terms: WebID Profile, WebID Profile Document and Profile Document to refer to the resource that a client retrieves after dereferencing a WebID URL.
Note that any resource could contain "identifying information about the WebID owner".
I would suggest using the term "Solid Profile Document" or "Solid Profile". Because WebID is independent of Solid, that would make it possible to define Solid-specific requirements on such a resource.

So I think it best we (in our spec at least) use solid:WebIDDocument to mean a WebID Profile Document which either is also a solid:ProfileDocument or points to a solidProfileDocument with foaf:primaryTopicOf.  If it doesn't meet one of those requirements, it might be a WebID Profile Document, but it is not a solid:WebIDDocument.

Well, no because I might have a solid:WebIDDocument that did not point to a profile. Nevermind.

Note that any resource could contain "identifying information about the WebID owner".

But only ones that follow the shape of a solid:ProfileDocument will contain identifying information about the WebID owner that Solid applications can be expected to discover from only knowing the WebID.

w.r.t the rdf:type of the extended/solid profile, I would argue that it doesn't matter. So long as a client "follows its nose" from the WebID Profile, it will find whatever resources it needs to find.

For instance, a client dereferences a WebID and gets an RDF document. The client then follows a particular link and gets another part of the larger RDF graph -- that new part is either in the same Information Resource or it is in another Information Resource (requiring an HTTP GET), but semantically, those two conditions are the same. And as such, it doesn't matter what the rdf:type of that segment of the RDF graph is.
Either way, this is entirely beyond the scope of Solid-OIDC.
The way I see this is like so: you are colloquially referring to a WebID Document and a Profile Document. They may be part of the same Information Resource or spread across multiple such Information Resources -- that is immaterial from the perspective of RDF. If you would like to have language that distinguishes between those two cases, that is fine, but they are equivalent from the perspective of RDF: they are part of the larger information graph.

entirely beyond the scope of Solid-OIDC

Agreed.

they are equivalent from the perspective of RDF: they are part of the larger information graph

True.  However different parts of the graph can have recommended shapes.  The fact that they are part of a wider graph does not absolve them from having their validity judged individually.

Solid-OIDC will be tagged as FPWD so we still have the possibility to adjust things.
@jeff-zucker If you think we should track it as an issue it would be great if you can create one taking into account what was discussed here. Closed PRs tend not to serve as the best place for discussing possible future changes.

No, sorry, this was thinking out loud.  It is not meant to block anything.  As @acoburn points out the part I am concerned about is not in scope for the OIDC spec. I'll figure out a way to say what I need to say without contradicting the already established usage.


Fiscal hosting as a service landing page

Background
When onboarding new projects, hosts usually need to send people interested resources and documentation explaining what a fiscal host is and how fiscal hosting can help those projects. This is usually hard because they have to spend time looking for the right references or having calls to explain all about fiscal hosting.
We want hosts to have a branded tool they can send to their prospects, telling all that's necessary to know about fiscal hosting and how it can help several types of projects succeed, using a simple and friendly language that conveys trust.
Design and copywriting
Illustrations are provisional*

Link to the copywriting document
Feel free to leave feedback or thoughts in the comments!

Small suggestion I was thinking; this page gives the idea that one has to join an existing fiscal host. There's a link near the end of the page Become a fiscal host and I thought it can become a bit confusing to a newcomer as all the content above it doesn't mention about becoming your own fiscal host; the language implies that one has to join an existing fiscal host. I would suggest adding that link somewhere on the top (maybe at the end of What is a fiscal host? 🤔) and/or adding some content to the page so that people would know they can also become their own host. 😄
Basically my idea is that if there's a link at the bottom that says Become a fiscal host the content above should explain or support it. Alternatively we could also remove that Become a fiscal host link if the only purpose of the page is to onboard new project by existing hosts. 😄

This looks rad! I feel that this would be useful, but also, there's maybe some friction about the idea of trying to grow a host to sustainability, but then sending prospects to a page that might lose people to other bigger hosts. Would it be possible to use a querystring in the url to create a bigger call-to-action for our own host?
Also, it might be nice to use query strings to "hide" certain sections that don't fit the motivations or audience. Specifically, I'm looking at the "find a fiscal host that's right for you", which won't make sense if the CTA is for registering for one specific host :)
Any minor nit: In the "time-limited project" section, "set up" then "wind down" lingo feels nicer:

where it doesn't make sense to set up a whole new organization only to wind it up down six months later

Reposting my slack comment: Looks great! Seems the content for Apply To One of Our Fiscal Hosts is not done? Since our host discovery design is not great, could we actually list six hosts here instead of three? I suggest OSC, OCF, SCA, AllForClimate, OC Europe… and one more?

Sure if you want OCNZ... but maybe we should more objectively just go by host size or activity to make it fair.

Can closing issues please include things like the URL to the finished page? How do I access this? Has someone demoed it in the demos channel? Is it documented?

@alanna here - https://opencollective.com/fiscal-hosting

Thank you! It looks great. Is it linked from anywhere?

@alanna yes we have a link in the footer. About fiscal hosting under the join column.

Thanks! I've shared this ins #hosts and #newsletter on Slack. Would be good to hear some input from the team about how we can get this out there and make sure people know it's there as a resource.

Thanks! I've shared this ins #hosts and #newsletter on Slack. Would be good to hear some input from the team about how we can get this out there and make sure people know it's there as a resource.

Two suggestions I have are,

Adding the fiscal hosts page to https://docs.opencollective.com/help/fiscal-hosts/become-a-fiscal-host
Adding the fiscal host page link to the Become a Fiscal Hosts section;

Currently the page seems very hidden and hard to find for a newcomer. 🐼

Can closing issues please include things like the URL to the finished page? How do I access this? Has someone demoed it in the demos channel? Is it documented?

@alanna To give some context, the closing was automated when I merged the related PR, not a manual action.

Feedback:

The fiscal host page looks great! thanks for that! could I ask a little favour: the logo of A4C has changed, is it possible to change that on the OC website, when showing different fiscal hosts? And something else: although we love Extinction Rebellion, it scares people off and we need to grow beyond movements like XR to become sustainable. It would be great if the description of A4C would be: host (or shared back office) dedicated to support movements working on climate and social justice.

Closing it since it's online at https://opencollective.com/fiscal-hosting


pkg-config support

It would very nice if pkg-config crate could be used to probe for location and version of libpcap. This can work a lot better than specifying LIBPCAP_LIBDIR and LIBPCAP_VERSION manually in a lot of scenarioes.
I can send a PR if desired, even with a feature gate.

Something like this seems to work well for us: on top of 0.9.1 as it's just what version we happened to have at the moment. pkg-config can probably be an optional feature or something.
diff --git a/Cargo.toml b/Cargo.toml
index d5d11a2..75453ff 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -31,6 +31,7 @@ tempdir = "0.3"
 [build-dependencies]
 libloading = "0.6"
 regex = "1"
+pkg-config = "0.3"

 [features]
 # This feature enables access to the function Capture::stream.
diff --git a/build.rs b/build.rs
index b8a0a9d..6cae3ff 100644
--- a/build.rs
+++ b/build.rs
@@ -3,6 +3,8 @@ use std::ffi::CStr;
 use std::os::raw::c_char;
 use std::path::PathBuf;

+extern crate pkg_config;
+
 #[derive(PartialEq, Eq, PartialOrd, Ord)]
 struct Version {
     major: usize,
@@ -131,12 +133,16 @@ fn main() {
     println!("cargo:rerun-if-env-changed=LIBPCAP_LIBDIR");
     println!("cargo:rerun-if-env-changed=LIBPCAP_VER");

-    let mut libdirpath: Option<PathBuf> = None;
-    if let Ok(libdir) = env::var("LIBPCAP_LIBDIR") {
-        println!("cargo:rustc-link-search=native={}", libdir);
-        libdirpath = Some(PathBuf::from(&libdir));
-    }
+    let version = if let Ok(library) = pkg_config::probe_library("libpcap") {
+        Version::parse(&library.version).unwrap()
+    } else {
+        let mut libdirpath: Option<PathBuf> = None;
+        if let Ok(libdir) = env::var("LIBPCAP_LIBDIR") {
+            println!("cargo:rustc-link-search=native={}", libdir);
+            libdirpath = Some(PathBuf::from(&libdir));
+        }
+        get_pcap_lib_version(libdirpath).unwrap()
+    };

-    let version = get_pcap_lib_version(libdirpath).unwrap();
     emit_cfg_flags(version);
 }

Hi, looks great! A PR would be welcome!
Rather than feature gating, would it be possible to make build.rs try to detect if pkg-config is installed? If it's not installed then just fall back to the old method.
Also, the PR would need to make sure it runs on all three OSes: Windows, mac, and linux. For those OSes on which it can't work it should just use the old LIBPCAP_LIBDIR method.
The old method should also always be available as the last fallback in case pkg-config is not found.
If that's doable a PR is welcome :-)

Rather than feature gating, would it be possible to make build.rs try to detect if pkg-config is installed? If it's not installed then just fall back to the old method.

I think the diff I posted already does this out of the box. If pkg-config is not present, probe_library returns this info inside Error: https://docs.rs/pkg-config/latest/pkg_config/enum.Error.html#variant.Command
The feature gate is only useful if for some reason one wants to not compile the pkg-config rust crate for some reason... if that's not a requirement then no feature gate is needed. I'll send a pull request momentarily.

There is not need for extern crate pkg_config; since Rust Edition 2018.
I would also like any help that give user friendly installation of libpcap, the diff proposed look simple enough. If I understand correctly pkg-config crate is not os dep, it's only try to call pkg-config executable and error if not present.


Fix comment for signup

@jonasdev Thanks for your contribution.
We'll need you to sign the CLA before we can merge this. Thanks!

@thatfiredev Thanks! Should be fine now 👍


new feature: log to Logstash (part of the ELK stack)

https://jamesthom.as/2017/11/openwhisk-logstash-forwarder/

@sarahxxu @mcorlan any interest for Project Firefly or plain I/O Runtime users?

this is covered by the Log Forwarding feature


Processing large/expensive data sets

I'm in the situation where i need to process some large/expensive data sets. This data comes in as a batch to start and then updates stream in post the initial batch. I can handle the streaming results just fine but its the initial batch that is causing me issues. I'm finding that to process this data for large sets is taking between 30-100ms... obviously this isn't ideal and I'd much prefer to be in the 5-10ms range. Putting aside whether or not the logic can be simplified or not, I'm wondering if anyone has any thoughts on how the data might be able to be "batched" or broken up with reselect to allow incremental paints, etc to occur so I'm not causing any janking... Its possible that I could chunk the data downstream of reselect but I was wondering if anyone has run into similar problems with long running selectors and how they dealt with it.

Two things come to mind:

If the batch processing consists of filtering many individual items, you can memoize the filter function so that repeated calls to test each item are nearly free.  I.e., your selector function is doing data.filter(filterFn), but then your filterFn which tests each item can be shortcut if that item was processed in the previous run.  I've used memoizee for this.  Set the memoizee cache size to something bigger than your filtered data set size.

Add the requestAnimationFrame scheduler middleware (see here: http://redux.js.org/docs/advanced/Middleware.html).

Then do your dataset updates (big and small) with meta: {raf: true}.  Modify the loop() function of the raf middleware to inspect and modify the queue each time it gets called...
If the queuedActions[0] is a big batch item, you can split it into multiple queue items so they each get processed (and selected, and flushed to the DOM) in their own raf frame.  This combined with the cache above should give decent performance.
And going the opposite direction, if many raf items have built up in a queue (handling a stream while the browser was off-screen for example), you can (actually, need to) inspect your queue and look for opportunities to either merge items into one update, or simply ignore ones that will get replaced later in the queue anyway.  My action creator functions mark my actions with additional boolean fields in the meta object to indicate whether they are allowed to be collapsed or replaced in this way so the rafScheduler code doesn't have to understand what's going on in the actions.
So all that has nothing much to do with reselect, but it will make the DOM updates that result from your selectors much more manageable.

Closing due to inactivity


Not working in Postgres - GROUPBY error in SQL syntax

Error:

SQLSTATE[42803]: Grouping error: 7 ERROR: column "participants.id" must appear in the GROUP BY clause or be used in an aggregate function
LINE 1: select * from "threads" where exists (select * from "partici...
^ (SQL: select * from "threads" where exists (select * from "participants" where "participants"."thread_id" = "threads"."id" and "user_id" in (2, 1) and "participants"."deleted_at" is null group by "thread_id" having COUNT(thread_id)=2) and "threads"."deleted_at" is null limit 1)
SQLSTATE[42803]: Grouping error: 7 ERROR: column "participants.id" must appear in the GROUP BY clause or be used in an aggregate function
LINE 1: select * from "threads" where exists (select * from "partici...
^

Code:
in MessagesController
    public function show($username){
        $user = User::where('username', $username)->first();
        $authUser = \Auth::user();
        if(! $user)
            abort(404, 'user not found');
        if($thread = Thread::Between([$user->id, $authUser->id])->first())
            $thread->load(['participants', 'messages.user']);
        return view('messages.show', compact('thread', 'user'));
    }

Environment:

Laravel 5.3
Postgres SQL server on Amazon AWS
Local environment on Laravel Homestead with everything updated to the latest version
cmgmyr/laravel-messenger: ^2.13
Works on mysql but with only strict mode disabled.

How to replicate the error?

Change the database to postgres in .env file and provide the necessary credentials.
run the migrations
Use the Scope Between on Thread class.

@suchal thanks for reporting this, and all of the additional details - it's certainly helpful. I'm still looking into this but hopefully should have a solution soon.

@suchal can you update composer to point to dev-bug/#174-postgres-between-fix? Seems to be working in Homestead for me


Change/Uniform names of YARP devices wrt WBD

          Just as follow up comment,  to avoid confusion related to we may consider change/uniform the names of YARP devices between:

yarprobotinterface of the simulated robot
yarprobotinterface of the wbd running outside of gazebo

At the moment ergocub_left_leg_ft is:

on yarprobotinterface of the simulated robot is just the name of the device that exposes the l_leg_ft_sensor sensor (see https://github.com/icub-tech-iit/ergocub-software/blob/facf5a613d602cb5ccb42270f248a998a0001ee8/urdf/ergoCub/conf/FT/gazebo_ergocub_left_leg_ft.ini#L2C16-L2C35)
in yarprobotinterface of the wbd running outside of gazebo, it is the name of the multipleanalogsensorsclient that exposes the l_leg_ft_sensor, and l_foot_rear_ft_sensor, l_foot_front_ft_sensor sensors  https://github.com/icub-tech-iit/ergocub-software/blob/facf5a613d602cb5ccb42270f248a998a0001ee8/urdf/ergoCub/conf/launch_wholebodydynamics_ecub.xml#L59

Having the same name for such different devices may be source of confusion also in the future.
Originally posted by @traversaro in https://github.com/icub-tech-iit/ergocub-software/issues/154#issuecomment-1658228905

cc @Nicogene

Alongside @traversaro we decided to not do this change:

https://github.com/icub-tech-iit/ergocub-software/pull/167#issuecomment-1706192395


example/nextcloud

nextcloud:11 actually writes version 13.. in its info panel.. which is sort of confusing, when you're showing that you can make an upgrade to version 12.
It is version 11, but it says 13 in the panel.

will update to 16 and 17 ;)


Test-DbaSpn, local account fixes

Fixes #1366 (or, it should)
Changes:

when the serviceaccount is detected as LocalSystem or is of type "NT SERVICE\xxx" replaces the object where to register the SPN with the computer object.

Clusters should be fine, 'cause - theoretically - they should not run on a local account.
Remains to be seen how the cmdlet handles instances with a MSAs, but I don't have any available at hand to verify.

merci! will test and patch.

unfortunatelyl, didn't work

i checked a few times to ensure I was using your changes. I think we should actually not even process or report on the "NT *" accounts. You?

why not ? in that case the SPN needs to be set on the computer object instead of the user, no biggie. The problem there seems that even with the mods the "change" in behaviour doesn't get triggered.
The relevant line is https://github.com/sqlcollaborative/dbatools/pull/1368/files#diff-2d4ae1885405fbad08a4b571ad0cc6f0R282

whoopsie, found the reason


Add missing controller tests for PoolName

add missing test for empty pool name and extra verification for Available condition

/hold

/unhold
the value for this is for OCP only and in that context shouldn't be blocked. HCP cases are anyway broken and needs another PR to fix: https://github.com/openshift-kni/numaresources-operator/pull/1070

the additions here look good. IIRC, in #1064 we fixed the bug on which the DS was created, but immediately removed because the bug in the dangling pkg. I'd like a test which specifically check for this condition. Is the second commit targeting explicitely that case? it seems related but not too explicit.

Yes the intended test is in the second commit. The problem appeared in HCP but the test doesn't run on that platform, and would need fixes anyway. I haven't tested if the bug occurs on OCP manually, will do the checks and update the code as needed.

fair enough. Please add a comment above the addition explicitely mentioning that PR, mentioning the bug we had and how this check helps in this area. Then I think I can move on and merge

/hold
for https://github.com/openshift-kni/numaresources-operator/pull/1083 to be merged first as it will enable the tests on hypershift. Also to avoid rebase conflicts

/hold
let's wait for #1071 to go in

/hold cancel
#1071 merged

can we please rebase on top of current main branch?

Following further examination, the bug fixed in #1064 can't be caught in the controller tests but in the e2e instead, because we need to look at the readiness of the ds not only the creation. This is covered by the e2e/serial  e2e/rte and e2e/install. I adjusted the second commit message.

/hold
for https://github.com/openshift-kni/numaresources-operator/pull/1083 to avoid uneeded complex rebase conflicts

/unhold

/retest-required

e2e-install failure aligns with the new default behavior
/hold

/unhold


How to plot with paga_path, sorted by pseudo_time

I would like to use the plotting API of paga_path() like in this tutorial (last figure).
However, I noticed that cells are being sorted intra-clusters. I would like to sort only by "distance" (pseudotime), but keeping the "clusters" annotation.
Is it possible?

There is no convenience function for that, I fear. You can look at the code by clicking on the Edit on GitHub button of its doc page.

Just came across this, thanks again for bringing up this issue!
We will close the issue soon, as based on the provided information and the discussion so far, it seems that the question has been addressed and hopefully resolved :)
However, please don't hesitate to reopen this issue or create a new one if you have any more questions or run into any related problems in the future.
Thanks for being a part of our community! :)


Cannot set httpOnly and secure flag

I was just trying to setup a simple app to check some cookie logic.
What I want is a cookie that is both secure and http only.
Using the latest version of spark (2.5.4 at the time of this writing), I always get a null pointer exception.
This line throws a NullPointerException:
 rs.cookie("access-token", "test test", 100, true, true);
While this one does not throw and I get a successful response:
 rs.cookie("access-token", "test test", 100, true);
By using the debugging tools, it seems the response attribute inside the Response class is null when I call the first method.
It's throwing an exception on the last line of this method, whe trying to add the cookie:
public void cookie(String path, String name, String value, int maxAge, boolean secured, boolean httpOnly) {
        Cookie cookie = new Cookie(name, value);
        cookie.setPath(path);
        cookie.setMaxAge(maxAge);
        cookie.setSecure(secured);
        cookie.setHttpOnly(httpOnly);
        response.addCookie(cookie);
    }

Gist -> https://gist.github.com/nmarquesantos/05f74013313285b82513d9f2e129dc24

I tried to reproduce the error using the version 2.5.5 and it works fine using your simple example.
Do you have any other information that can help ? Or maybe you should upgrade your version an try aganin.


how to get user's browser or preferred language

I'm submitting a ...  (check one with "x")
[ ] bug report => check the FAQ and search github for a similar issue or PR before submitting
[x ] support request => check the FAQ and search github for a similar issue before submitting
[ ] feature request

Current behavior
With ionic 1 I was using this code to get the user's Preferred Language
navigator.globalization.getPreferredLanguage(function (language) {
                            this.translateService.use((language.value).split('-')[0]).then(function (data) {
                        }

Expected/desired behavior
Now I need to do the same with ionic 2, but I get this error if I use  navigator.globalization:
Typescript Error
Property 'globalization' does not exist on type 'Navigator'.

Please tell us about your environment:
$ ionic info
Your system information:
Cordova CLI: 6.5.0
Ionic Framework Version: 2.2.0
Ionic CLI Version: 2.2.1
Ionic App Lib Version: 2.2.0
Ionic App Scripts Version: 1.1.4
ios-deploy version: Not installed
ios-sim version: Not installed
OS: Linux 4.4
Node Version: v7.4.0
Xcode version: Not installed

ngx-translate version: last

Angular version:  2.4.8

Browser: Chromium 56

Have you tried navigator.language ?

You should try the plugin cordova-plugin-globalization as explained here https://ionicframework.com/docs/native/globalization/

Since you're using Ionic 2, another alternative would be to use Platform.lang().

I have tried navigator.language and I get errors.
Indeed @malounna, I installed the globalization plugin and it seems to work.
@trentclowater it seems that Platform.lang() returns the languages of the app and not the preferred language of the device, doesn't it ?


Show navigation dots in gallery

Is there any interest in this? If so may put together a PR.

featherlight aims to be minimal, so I think it's beyond it's scope.
It's easy to add those dots with the hooks featherlight provides (here afterContent), so the best thing would probably to provide the extra code & css to do this, say a wiki page.
I'll close this, but if you find something a bit more difficult to do than you think it should, let me know.

It would be a nice enhancement, it's quite common across gallery / slider plugins to achieve this out the box - slickjs, owl carousel, and others. I know featherlight aims to be minimal, but it's a nice addition and provides a huge amount of feedback to the user that they are inside a gallery - other ways to provide this feedback are by showing a tiny amount of image on the left/right (something the other plugins do too). A feature which greatly improves usability and look and feel of the plugin is valuable and should be considered within the scope imo.

+1 to this being out of scope. If someone really wants to add it, featherlight already makes it possible. I'm sure you're not the only one interested in it, so maybe add some example code to the Wiki to hook it in?

@garygreen given the code, I could modify the second gallery code example and include it, as a good example of customization. How about that?


[B03682] Proxy resources, add embedded pdf viewing

Adds a resource proxy to the service, which detects pdfs and serves them inline rather than as attachments. For other resources, it just acts as a pass-through.

Adds a simple PDF content viewer which leans on modern browsers' built in PDF viewing capabilities.

Coverage decreased (-1.0%) to 49.861% when pulling d40cedf10f3996ed3e72c29d07bfe649ab66a89e on sprint-tcdl-b03682-pdf into 901822966f53a612fdb3414bdcedf642b6b5df64 on sprint-tcdl-staging.

The new controller file, ResourceProxyController.java, could use a basic test implementation along with the apidoc documentation.


Create a population of binaries from 'recent' history

Run a fairly large population through the entire code to get the recent history of the Milky Way.

Restrict lookback times to < 200 Myr

This will limit us to the low-alpha disc based on Neige's model

Remove any sort of mass cut
Binary fraction = 1.0

This still bothers me a bit, since we're allowing any mass

It may be useful to actually

[ ] estimate how large the population should be (or at least how much star forming mass came) from the last 200 Myr

@TomWagg: we can definitely talk more about the binary fraction normalizations when I'm back at CCA tomorrow! Normalizing to a different binary fraction (including a mass and even metallicity dependent one) can be done in post processing since we only care about the massive stars right now.


bpf: make setting fifo policy non-fatal when probing hz

See commit msg.

test-me-please

test-me-please

Coverage decreased (-0.001%) to 37.878% when pulling d7ec5a5ff51ea5537afe7cf67c507099358431ea on pr/fix-prio into d02e541a81031fcfa27dbf96c301ca31a0ad66f4 on master.

test-me-please

test-with-kernel

retest-4.19


Scene's key on the background of TabIcon

Version

react-native-router-flux v4.0.0-beta.18
react-native v0.46.1

Expected behaviour
Expected to see tabbar with and Icon and Text below it with the possibility of tapping on it, so the selected will be highlighted
Actual behaviour
Actually see Tabbar with an Icon and Text below it with Scene's keyname on the background of Tabbar item with the possibility of tapping on it, but instead of TabIcon, Scene's keyname is highlighted
Steps to reproduce
I faced the problem with this code:
<Router sceneStyle={{ backgroundColor: 'white' }}>         <Scene key="root" hideNavBar>             <Scene key="Tabbar" hideNavBar tabs default='Main' tabBarStyle={{height:50}}>               <Scene hideNavBar key="Main" component={MainSceneContainer} icon={TabIcon} iconName="user" title="Main page"/>           </Scene>         </Scene>       </Router>
There is a picture, so you can understand what it mean:

UPD:
Downgraded to version 3.41.0 and the code is working, so the issue persisting in vesion 4

Tabbar is big breaking change for v4 unfortunately. Try to disable labels like shown in Example project: showLabel={false} for tabs container.

It helped, thanks


rename es to elasticsearch

Rename all modules, classes, methods name from es to elasticsearch

seeing a few more:
https://github.com/redhat-performance/benchmark-runner/blob/857c72ff33ab9e54e52ffb4da88067df8e732849/benchmark_runner/benchmark_operator/benchmark_operator_workloads.py#L54  and 109,175,223,292,363
https://github.com/redhat-performance/benchmark-runner/blob/857c72ff33ab9e54e52ffb4da88067df8e732849/benchmark_runner/benchmark_operator/benchmark_operator_workloads_operations.py#L202 and 270

@jeniferh, Fixed. Can you please verify it ?

ok last ones I think:
https://github.com/redhat-performance/benchmark-runner/blob/4081c0c8d6aaa174d42996f5c34ed60fa56aede6/benchmark_runner/benchmark_operator/benchmark_operator_workloads_operations.py#L57 and 256,258,280,282

@jeniferh, rename only modules, classes, methods not variables.
I prefer to keep the variables short.
What do you think ?

Ah ok my search went too far then, sounds good to me :)

OK @jeniferh Thx, I will merge it.


Add rego rule to check for GTFOBins files on the filesystem

Since the rego rules are used to discover potential misconfigurations on the system, my idea was to create a rule that checks for the well know GTFOBins.
The GTFOBins are Unix binaries that can be used to bypass local security restrictions in misconfigured systems.
More details about the topic here: https://gtfobins.github.io/

Hey @alegrey91! Can i work on this? would enhance my rego skills xD

Hello, @0xquark! Yes, you are welcome :)
Ask us whatever you need in case you have problems with this. We will try to reply asap.

Stale.


Cannot set timeout for request or any other method

You can set timeout with:
c := new(http.Client)

timeout := time.Duration(1 * time.Second)
c.Timeout = timeout

req := request.NewRequest(c)
req.Get(url)

or
timeout := time.Duration(1 * time.Second)
c := &http.Client{
  Timeout: timeout
}

req := request.NewRequest(c)
req.Get(url)

There is an example here: timeout.go
$ go run timeout.go
default timeout
21.030151555
set timeout = 1.000000 seconds
1.0007582

Great, I'm very appreciated for your answer :+1:

I think it's better to be added into  to the godoc : )


added slider component

just noticed q__slider already exists in range.jl

But thanks anyhow. You are welcome to submit other changes if you are missing a component.
If you just need a quick hack you can also use the generic quasar(), vue() and xelem() functions or non-wrapping counterparts.

@hhaensel sure :) thanks


Problem with scope in custom directive used in cellTemplate

I'm trying to use a custom directive in a cellTemplate and pass data to it from the row.entity. It appears to be working except for any new scope variable that the directive creates (via the directive controller or link functions). Everything looks right initially, but as I scroll down in the grid the new scope variables that I have created start getting the values passed in for previous rows in the grid.
I'm not sure that I can explain it much better than that so I created a stripped down plunker that shows what's happening: http://plnkr.co/edit/7r74eYHx3PpZesMIqumA?p=preview
I'm a little new to custom directives so I'm not positive if this is a bug in my directive, the grid, or maybe I'm just passing data from the grid to the directive in the wrong way. I just know that when I switched it around to be a simple table rather than grid I didn't have any issues. Thanks for any help!

That sounds like a problem with row virtualisation.  The grid doesn't actually render all the (potentially thousands) of rows - it renders only those that are visible.  As you scroll we are rendering the extra rows to make it look like they were always all rendered.  This is good for performance, but it would mean that when we scroll we're creating new DOM elements on the fly.  To avoid that, we reuse the existing DOM elements, and we just move the scroll around to make it look like it's scrolling.
TL:DR, the row and col that a particular html element refers to changes as you scroll.  That'll be what's messing up your $scope.
Looking at the code, I think you're trying to find a way to get directly at the row.entity without having to pass it in as a parameter on your directive (because bar is working, but I think you want foo to work).  The problem is that foo is taking a copy of the id at a point in time, and it has no way to notice when it changes.  If you modify it to grab the current id whenever it renders, then it works: http://plnkr.co/edit/WSVjRFY56OrCtCWNT3Rt?p=preview

Thanks for the quick response.
I had a feeling it had to do with row virtualization, but I didn't know much about how that works. I'm hesitant about accessing the row via the $parent scope from the directive as that would make my directive tied to ui-grid and I plan on using it in other places as well.
Do you think it might work better to watch my passed in directive variables and reinitialize the directive when they change (i.e. $scope.$watch('bar', reInitialize);)? It appears to work in plunker, but I'm not sure if that would cause me any other issues down the line.
Here's the updated plunker: http://plnkr.co/edit/7r74eYHx3PpZesMIqumA?p=preview

The main issue with watches is expense - they slow the application down.  We spend a lot of time trying to reduce watches (sometimes unsuccessfully).
I'd pass it in as you were doing with bar.  That works well.

Looks resolved, closing.


Update README.md ActionCommand examples

Remove the unnecessary anonymous functions in the ActionCommand examples.

Coverage remained the same at 95.992% when pulling 045c18d3a21ca853f8501206be674bded3916aa5 on pkazmier:patch-1 into cbe8e461f111a710580ae6c339e0a0b06c875077 on jawher:master.


Live update full names in the message pane

Automated message from Dropbox CLA bot
@showell, it looks like you've already signed the Dropbox CLA. Thanks!

I tested this pretty well for "normal" users, but we should double-check a few edge case things:

Tutorial users and cross-realm bots can have bad user_ids and possibly generate blueslip spam (or worse)
We should check what happens when you send messages to yourself

I'll try to do a bit more testing tomorrow.

@timabbott
I did another round of testing, and I'm pretty confident in this code now.
I made a couple minor tweeks to the second commit, moving a line of code down a little bit in add_message_metadata and fixing a typo.


Postgres: fixed problem with changeColumn and default values

When trying to change the default value in the changeColumn method a syntax error occurred.
Added the ability to drop the default constraint by leaving default null.

fixed #480

Thanks!


Existing user cannot login with max_users: -1

According to the documentation, max_users: -1 is supposed to disable new user registration. However, it also seems to prevent existing users from logging in.
npm login --registry=http://[private url] and npm adduser --registry=http://[private url] --scope=@private --always-auth both give the following:
npm ERR! 403 Forbidden - PUT http://npm.datacap.co.uk/-/user/org.couchdb.user:simon - maximum amount of users reached

The verdaccio log shows:
'PUT /-/user/org.couchdb.user:simon', error: maximum amount of users reached

The user is in the htpasswd file. Login works correctly without max_users: -1, even if the htpasswd file is read-only to verdaccio.

verdaccio version: 3.10.2 (docker)
verdaccio-htpasswd version: 0.2.2
node version: 6.16.0
npm version: 6.7.0

I've also run into this, and I've found a workaround.
Users can log into the web interface, and then npm login works fine!
Here is example workflow to replicate the issue.

Start verdaccio with following config:

auth:
  htpasswd:
    file: /verdaccio/conf/htpasswd
    # Disable registration
    max_users: -1

Add user to htpasswd file. For example test:$apr1$tnpH2JTI$vWBTITZOAYCg3SZlzPatu0 (password is qwerty)
Attempt to log in with npm login --registry xxx. Failure returned to client Registry returned 403 for PUT on https://npm.test.kounta.com/-/user/org.couchdb.user:test: maximum amount of users reached (also: I would prefer these error messages to not go through to clients). Verdaccio access log shows:

 http <-- 403, user: null(<IP_ADDRESS> via <IP_ADDRESS>), req: 'PUT /-/user/org.couchdb.user:test', error: maximum amount of users reached
 http <-- 403, user: null(<IP_ADDRESS> via <IP_ADDRESS>), req: 'PUT /-/user/org.couchdb.user:test', error: maximum amount of users reached

Visit web interface and log in. This succeeds and Verdaccio access log shows:

 http <-- 200, user: test(<IP_ADDRESS> via <IP_ADDRESS>), req: 'POST /-/verdaccio/login', bytes: 39/232

Re-try npm CLI login using the same command as before. Verdaccio access log shows:

 http <-- 409, user: null(<IP_ADDRESS> via <IP_ADDRESS>), req: 'PUT /-/user/org.couchdb.user:test', error: username is already registered
 http <-- 200, user: null(<IP_ADDRESS> via <IP_ADDRESS>), req: 'GET /-/user/org.couchdb.user:test?write=true', bytes: 0/53
 http <-- 201, user: test(<IP_ADDRESS> via <IP_ADDRESS>), req: 'PUT /-/user/org.couchdb.user:test/-rev/undefined', bytes: 170/85

It works!

I just tested on Verdaccio 4, works fine. We need to find the reason why is failing on Verdaccio 3.

@alexjurkiewicz Another workaround is to set max_users to the number of your registered users.

Do we still need a fix for v3?

Unless someone that does not want or cannot move to v4 and wants to investigate to fix it there, I'm fine, from my side, I am not interested to invest time in it.

It can be closed I guess.


wandb logging support

Would be great if wandb logging was supported via cli args for LLM fine tuning.

Is there any update on this?


test provider ready state progress indication

Test providers should implement a logProgress method, which accepts the given provider's underlaying CLI process, and transforms its stdout into a simplified (and consistently-formatted) indication of the boot state. This is especially important for the zombienet and project providers, whose processes might take exorbitantly-long to boot.

project provider logProcess can grab the Cargo compilation info
In the case of Zombienet... it's a little less clear.

Can you elaborate?

Just updated the description

We no longer have the provider model. Closing in favor of #861.


Report bug mbedtls_x509_string_to_names

this function mbedtls_x509_string_to_names has a bug. I parser string like "CN=baidu.com,O=BeiJing Baidu Netcom Science Technology Co., Ltd,OU=service operation department." has some error. because of  somethimes ‘,’ don't means the end, like "O=BeiJing Baidu Netcom Science Technology Co., Ltd,"
I change the code
int mbedtls_x509_string_to_names( mbedtls_asn1_named_data **head, const char *name )
{
    int ret = 0;
    const char *s = name, *c = s;
    const char *end = s + strlen( s );
    const char *oid = NULL;
    int in_tag = 1;
    char data[MBEDTLS_X509_MAX_DN_NAME_SIZE];
    char *d = data;
    int patchyes = 1;

    /* Clear existing chain if present */
    mbedtls_asn1_free_named_data_list( head );

    while( c <= end )
    {
        if( in_tag && *c == '=' )
        {
            if( ( oid = x509_at_oid_from_name( s, c - s ) ) == NULL )
            {
                ret = MBEDTLS_ERR_X509_UNKNOWN_OID;
                goto exit;
            }

            s = c + 1;
            in_tag = 0;
            d = data;
        }

	if (strchr(c + 1, ',') != NULL) {
		if (strchr(c + 1, '=') != NULL)
			patchyes = strchr(c + 1, '=') < strchr(c + 1, ',') ? 1 : 0;
		else
			patchyes = 0;
	} else {
		patchyes = 1;
	}

        if( !in_tag && *c == '\\' && c != end )
        {
            c++;

            /* Check for valid escaped characters */
            if( c == end || *c != ',' )
            {
                ret = MBEDTLS_ERR_X509_INVALID_NAME;
                goto exit;
            }
        }
        else if( !in_tag && ( *c == ',' && patchyes || c == end ) )
        {
            if( mbedtls_asn1_store_named_data( head, oid, strlen( oid ),
                                       (unsigned char *) data,
                                       d - data ) == NULL )
            {
                return( MBEDTLS_ERR_X509_ALLOC_FAILED );
            }

            while( c < end && *(c + 1) == ' ' )
                c++;

            s = c + 1;
            in_tag = 1;
        }

        if( !in_tag && s != c + 1 )
        {
            *(d++) = *c;

            if( d - data == MBEDTLS_X509_MAX_DN_NAME_SIZE )
            {
                ret = MBEDTLS_ERR_X509_INVALID_NAME;
                goto exit;
            }
        }

        c++;
    }

exit:

    return( ret );
}

will be ok.

This was already discussed in #368
Since rfc4514 requires you to escape commas, I don't think your original string is valid.

As @jcowgill has pointed out, I don't think this is an issue in the library, so closing.
If you disagree or feel we've misunderstood the issue, please feel free to reply.


How to do multi-label classification?

Does Natural have a way to do multi-label classification? Something along the lines of this: https://github.com/erelsgl/limdu#multi-label-classification

The classifiers return an array as follows:
[ { label: 'buy', value: 0.39999999999999997 },
  { label: 'sell', value: 0.19999999999999998 } ]

So you could select multiple highest ranking classes as you result. Otherwise, there is no multi-label classification.
Hugo


Maybe mime 0.2.0 is updated in a wrong way?

mime_guess is updated to use mime 0.2.0 and it is a incompatible version change, in this case, I think mime_guess need to update itself to a incompatible version.  Now because other crates are using mime 0.1.3 and there is a version conflict, I have to use the older version of mime_guess.

Yeah I thought there might be a problem there. I'll yank 1.5.1 and publish as 1.6.

No? You can very well tell your local repository to use mime 0.1 with mime_guess 1.5.1.

cargo update -p mime --precise 0.1.3

Oh well, it's been published already.

@cybergeek94 Actually 1.6.0 will not change anything about @fengsp's problem because 1.6.0 is compatible with 1.5.1 from semver's POV. If you wanted to make a backwards-incompatible bump you should have published 2.0.0.

@nox @cybergeek94 Yes, 1.6.0 won't solve my problem.  This is thin ice here, I don't know how to solve this.  If we have several crates that already reach 1.0.0 and they all depend on a crate with 0.x.x,  anyone of them who doesn't use the latest version of that crate will break the whole build.

It's absurd to bump the major version for every minor breaking change. Even Rust doesn't strictly obey semver.

The only thing I can come up with is that do not bump to 1.x.x until all dependencies does so.

@cybergeek94 Crates.io expect semver compliance, and bumping minor and patch when you are after 1.y.z is exactly the same thing.
@fengsp Just run the cargo command I pasted.

@nox As the crate owner, I do not want all my crate users run it.

@fengsp Bind to mime_guess=1.5

@cybergeek94 http://doc.crates.io/manifest.html#the-package-section

After 1.0.0, only make breaking changes when you increment the major version. In Rust, breaking changes include adding fields to structs or variants to enums. Don’t break the build.

@fengsp If you explicitly depend on mime 0.1 in your own crate, Cargo should be able to just use that. Alternatively you can do mime_guess = "=1.5", but not "1.5" because "1.5" can select 1.6.

@cybergeek94 Yeah, now I am doing mime_guess = "=1.5.0".

@cybergeek94 I hope to have a better solution.

@nox If you explicitly depend on mime 0.1 in your own crate, the build will still fail :(

@fengsp Ok, now that's a problem.
Please do "=1.5.0" for now, and I'm pinging @steveklabnik and @wycats because that's certainly not the first time this happens.

https://github.com/rust-lang/cargo/issues/2064

Sorry all, it's been a busy week for me.
@cybergeek94

Even Rust doesn't strictly obey semver.

Yes, we do :p or rather, if you can point out how we're not, I'd like to hear about it.

Please do "=1.5.0" for now, and I'm pinging @steveklabnik and @wycats because that's certainly not the first time this happens.

Yes. ^ is the default, because it's what you want virtually all of the time. The thing about 0.y.z being the same as 1.y.z was made to follow most people's expectations. I personally don't like it, but it's the way several other ecosystems handle it, and many people do like it...

I just want to drop in and say that I just realized that this silently broke Rustful. I should update both Hyper and Multipart, anyway, but it's still not fun when things breaks without warning. These things are hard when it comes to 0.x.y versions, since there are no clear rules, but it looks like most authors treats the x number as a major version. It's probably best to go with the flow and be at least that strict, if not more, as long as Cargo works as it does.
Changing a the version of a crate that is used in the public interface is a breaking change, so it would be great if Cargo could become a bit more intelligent when it comes to how it chooses to update them. We'll just have to be careful until then. Downstream crates should really follow the same update pattern as upstream crates uses, and try to reexport types wherever that's appropriate.
Accidents happens, but we can at least be careful.

This was wholeheartedly my mistake. In semver, 1.x -> 1.(x+1) is considered a backwards-compatible change but 0.x -> 0.(x+1) isn't. When I refactored mime_guess to use PHF instead of an ordered list + binary search, I considered it a breaking change and so bumped the first number 0.x -> 1.x, but I now know that's not a good idea unless all your dependencies have also made that transition and you're ready for release.
The best, but probably most destructive, thing to do would be to yank all >= 1.0 releases of mime_guess and continue the 0.x scheme until all of its dependencies stabilize.

Yanking won't break anything, so it's not super destructive, but jumping back to 0.x releases may be a bit confusing at first. Probably worth it, though, as long as the dependencies are unstable.


Partially Incorporate BnB

This partially reimplements the main portion of #454 using most of the functionality already presented in WR, keeping it mostly DRY. The heuristic for the "branching" process is different, but the improvement on that front could come later.

Seems to still ned more work

Still need some work to handle variable duplicity.

Since BNB split worker has a higher overhead than the default split worker, I increased maxRequestFilterInFlight so that we can have extra headroom. In addition, I also increased minFilterCount so that each ComputeWorker can spend more time on the work w/o waiting on the SplitWorker.
The parameters may change again as newer split workers are implemented, and the overhead characteristic changes.


Avoid merge conflicts

Merged locally to fix conflicts and bring dimensions branch up to speed with MapProxy's main branch.
cc @tomkralidis

+1 from me.  cc @ingenieroariel

Thanks @InesBosch for updating this branch, hope it can make it upstream!


Language server process not exit after sublime exit

I had used ruby language server solargrah
config:
{
  "clients":
  {
    "solargraph":
    {
      "enabled": true,
      "command": ["solargraph", "stdio"],
      "scopes": ["source.ruby", "source.ruby.rails"],
      "languageId": "ruby",
      "syntaxes": [
        "Packages/Ruby/Ruby.sublime-syntax",
        "Packages/Rails/Ruby on Rails.sublime-syntax",
        "Packages/Rails/HTML (Rails).sublime-syntax"
      ]
    }
  }
}

But when I exit Sublime Text editor, the solargraph process not exit, so there will be many solargraph processes if I closed the Sublime and opened it again.
platform: macOS
solargrah version: 0.27.1
Thanks!

Looks to be an LSP issue, thanks for reporting!
I believe the solargraph process do get shut down when closing a window, but not when Sublime is exited altogether.

I'm able to reproduce this problem with a Scala language server that I am currently implementing and would like use with Sublime Text.
Steps:

setup language server in Sublime Text, everything works as expected (thanks for a great plugin!)
quit Sublime Text, the language server receives a shutdown request from the editor client as expected

{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "shutdown",
  "params": null
}

the language server does not receive an exit notification from the editor client after the shutdown request has been responded. I expected to receive the following notification

{
  "jsonrpc": "2.0",
  "method": "exit",
  "params": null
}

In my server implementation I wait for the exit notification to kill the process
  @JsonNotification("exit")
  def exit(): Unit = {
    System.exit(0)
  }

Without the notification, I end up with a new zombie process every time Sublime Text is quit.

I can confirm that the issue is still there.
@rwols can you re-open the issue or should I create a new one ?

Perhaps the same issue as #469 (for which the fix was not yet released?)
Are there any errors visible in the sublime console?

I just tested with master branch of LSP still the same issue. Where can I read the console logs?
Since I need to close sublime to trigger the server shutdown I can't see the console content

That was an intended change but definitely in the ballpark!
You can run the following statements in the sublime console:
from LSP.plugin.core.registry import windows
windows.lookup(sublime.active_window())._handle_window_closed()

On my machine, I noticed that the rust language server and LSP don't agree about the validity of the shutdown response - that could be an issue with your server as well?
LSP: window 5 closed, ending sessions
LSP: unloading session rls
LSP:  --> shutdown
LSP:      None
LSP: invalid response payload {'id': 2, 'jsonrpc': '2.0', 'result': None}

>>> from LSP.plugin.core.registry import windows
>>> windows.lookup(sublime.active_window())._handle_window_closed()
LSP: window 3 closed, ending sessions
LSP: unloading session metals
LSP:  --> shutdown
LSP: <--  window/logMessage
server: shutting down Metals
LSP:  --> exit
LSP: session metals ended
LSP: clients for window 3 unloaded

Which is shutting down the LSP server. The issue then happens when you actually quit sublime

I have a feeling this is unsolvable with the current ST api. There is no callback that triggers when ST closes.

There is a workaround, https://forum.sublimetext.com/t/on-close-eventlistener/16113/2

There is no way within ST itself to detect when ST is closing.
You must spawn another process that periodically checks whether the ST process is still running.
FWIW, I don't think on_close gets called when a project is closed either. This is different in that ST does not close if there is another project still open and could potentially ruin your setup.

But it would be much nicer if there was a hook like plugin_loaded or plugin_unloaded, something like sublime_closed or plugin_terminated that would notify that sublime is about to be closed.

As @rwols mentions, this issue seems to be caused by Sublime Text and not the LSP package. The shutdown sequence works as expected (shutdown request followed by exit notification)  when I click on x in the Sublime Text window. When I quit Sublime with Cmd + Q (macOS) the shutdown request is sent but not the exit notification.
We can work around this on the language server side by internally calling exit after shutdown. Feel free to close this ticket.

We can work around this on the language server side by internally calling exit after shutdown. Feel free to close this ticket.

As an alternative, perhaps the pipe/socket you are talking over is closed, which you may be able to detect?
I'll close the issue now, but remain hopeful we can someday fix this.

It is solvable now with a new EventListener callback called on_exit. It is invoked just before ST exist.

This will be fixed for ST4.


Docker reports Opencast images as Unhealthy

Docker reports the opencast images as unhealthy, using the command
$ docker inspect --format='{{json .State.Health}}' <container-name>

This command shows that in all opencast nodes the problem comes from this line:
/docker-healthcheck.sh: 17: set: Illegal option -o pipefail\n

Thank you.
Please note that you have to take the health check with a grain of salt. It will report Opencast as unhealthy as soon as one service fails even when it is recoverable. We therefore currently do not use this information in our production environment. I hope this will improve with a better script and MH-13515.

Thanks @mtneug to take care of this 😄


Form textfields autofill

Is there a way to enable form autofill? The password managers (Bitwarden, google etc) are not able to autocomplete the Textfields because of shadow root. It is a big inconvenience for user experience.

I guess this would need to be implemented?
https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/attachInternals

Safari already supports shadow DOM, but autofill only works when the  Autocomplete attribute is present, which the text field does not support at the moment.

Text field has autocomplete now in 1.0


[Issue 1049] - allows more granular configuration of password reset and user registr…

…ation urls

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/incubator-trafficcontrol-PR/249/

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/incubator-trafficcontrol-PR/250/

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/incubator-trafficcontrol-PR/251/

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/incubator-trafficcontrol-PR-trafficops-test/207/

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/incubator-trafficcontrol-PR-trafficops-test/208/