Upgrading to golang1.12 and pinning to specific version of prometheus

Time for an update?

Suggesting to upgrade to golang 1.12.x
Pinning to the latest prometheus version

to achieve that, I suggest to switch to go mod...
however, as a side effect, the build now takes quite long, as go get with modules support do not honor vendored modules in prometheus (but the versions)

Bringing a Makefile to drive the build/push
And suggesting to align the tags with the prometheus version we are consuming

we can do smarter things, and maintain something like: latest + 2.9.2 + 2.9.2-commitID .. up to you!

I also kept an extra CI example from the fork where I forked, https://github.com/ricardo-ch/docker-promtool

If you are happy with this, willing to see the new version in dockerhub ;)

Hey @geekdave : is this interesting? If not, happy to publish the associated image in parallel / as a fork. Best!!

@dcaba thanks so much!  Merging, and will publish a new image shortly.

@dcaba published dnanexus/promtool:2.9.2.  See https://cloud.docker.com/u/dnanexus/repository/docker/dnanexus/promtool/tags

Great! Thanks so much, @geekdave . Previous link may be wrong, though (I used this: https://hub.docker.com/r/dnanexus/promtool/tags ). Best wishes!

@dcaba You're right -- your link is correct.  Thanks again for the contribution! 🎉


Fix performance of 2d*2d np.dot() on vector arguments

While it is common to represent vectors as 1-d Numpy arrays, some people prefer the more mathematically correct 2-d representation (either (n, 1) or (1, n)). Numba considered np.dot() with such arguments as a regular matrix * matrix product, which is pessimal. This PR selects the optimal implementation at runtime, to fix the performance discrepancy with Numpy.

This code ensures that a missed optimisation opportunity is now performed. The sample code that displayed the performance problem is now considerably faster and running at the expected speed against this branch on my local machine. The additional test coverage seems adequate for the additions made.
Many thanks for the patches. +1 from me.


user: merge all metadata from slack into user

I wanted to get the ball rolling on this. We need to have access to emails (and possibly more information) from Slack users, however, the driver only exposes a very limited subset of information. I found the SlackUser abstraction to not add any value, so I've removed it in favour of hashes. Before creating the User with Lita, I merge all the Slack data into the metadata. This seems reasonable to me, however, special fields for the driver would change if one switched driver. It could also be exposed under a key like slack or similar; however because of how Lita serializes into Redis, those keys get JSON serialized, so it's more Ruby gymnastics on the client side which really sucks.
I can add some tests too, but wanted to get some eyes on it.
We're running this in production BTW
@kenjij @byroot

Thanks for the pull request! This is somewhat similar to #19 it's probably worth looking at the discussion there.
Personally, I'd prefer to keep data returned by slack in value objects rather than passing around primitive data structures. Even if there is little to no logic in an object, finding related data that represents a concept in the system, pulling it out, and giving it a name is valuable for understanding the system, debugging, and preventing the various bugs that can crop up when accessing data in hashes in Ruby (e.g. string vs. symbol keys, hash access returning nil by default).

If I just expose the email would you accept it upstream?

That seems reasonable to me. It's not possible to create a Slack user account without an email address, so we can be confident that that field will always be there.


update the roadmap based on the updated release planning

Also mark new good first issues, if any.

Done.

Done.


Add DSP::HasExpectedSampleRate

Instead of the current looking for a negative sample rate to imply that the model doesn't know what it expects, let's add this to the API explicitly, similarly to how the model loudness is handled.

No, this won't do. We should always expect to know what the sample rate is.
For old .nam files where it isn't noted, we should assume that it's 48k.
Oops! 😅


Rule "no-function-expression" shall pass on named function expressions.

Bug Report

tslint-microsoft-contrib version "5.1.0"
TSLint version "5.11.0"
TypeScript version "3.2.1"
Running TSLint via:  CLI

TypeScript code being linted
protected traverseTree() {
        const rootObjects = this.objects();
        // Arrow function cannot replace the following named function expression.
        rootObjects.forEach(function doSomthing(o: ObjectType) {
            o.processNode();
            o.children.forEach(doSomthing);
        });
    }

Actual behavior
ERROR: (no-function-expression) /path/to/code[x, y]: Use arrow function instead of function expression
Expected behavior
tslint passes
The need for recursive call is a legit case of preferring named function expression against arrow functions.

☠  It's time! ☠
Per #876, this repository is no longer accepting feature pull requests. TSLint is being deprecated and we recommend you switch to https://typescript-eslint.io.
Thanks for open sourcing with us, everyone!


Update SAE J3162 IUMPR Tool to Java 11

Update SAE J3162 IUMPR Tool to Java 11 using the same Java 11 version

This work:
2. Add NOX Binning and GHG Tracking to Functions B and E, by adapting J1939-84 queries and displays.
was moved to ticket #1054

IUMPR issues now capture this request.  This is thus obsolete.

Closed in favor of IUMPR issue


[Storage] Bucket-level IAM Samples

Hi Garrett,
PR Summary:
This pull request will add the following samples to google-cloud-examples:
view_bucket_iam_members -- list bucket-level iam roles and their members
add_bucket_iam_member -- add a bucket-level iam member
remove_bucket_iam_member -- remove a bucket-level iam member
I copied the existing file BucketSnippets.java to keep consistency, and because ACL and Bucket-level IAM have a conflicting class name com.google.cloud.storage.Acl.Role and com.google.cloud.Role.
What additional work do I need to include in this PR to satisfy this line "This file is referenced in Storage's javadoc. Any change to this file should be reflected in Storage's javadoc.".?
Thank you!

Changes Unknown when pulling 6ec2d3ccd352d44867af0fb19a55d964c1fdb3e5 on frankyn:storage-iam-snippets into ** on GoogleCloudPlatform:master**.

Thanks @shinfan! I have updated my PR to reflect your comments. PTAL

Changes Unknown when pulling b21740be6c10b4fa9ef9430045c135fc574f8f4e on frankyn:storage-iam-snippets into ** on GoogleCloudPlatform:master**.

Changes Unknown when pulling 873b8ff884148ccaad13b0c36a52507f1abbab44 on frankyn:storage-iam-snippets into ** on GoogleCloudPlatform:master**.

Changes Unknown when pulling 8b49ff98e0310ca4df83257d9fce0a1ea4a54c75 on frankyn:storage-iam-snippets into ** on GoogleCloudPlatform:master**.

@shinfan do I need to wait for Garrett's LGTM as well or can I merge?

@garrettjonesgoogle Do you wanna take another look?

Adding @lesv for final review

Changes Unknown when pulling 00555f38fda64c201a4ab776178b3ad1046bc43d on frankyn:storage-iam-snippets into ** on GoogleCloudPlatform:master**.

Thanks @lesv, I have applied changes. PTAL

I'm going to improve several of the tests by hand, then approve this PR as Frank had something come up and this needs to be published on Monday.


Sample brokers

Related to: https://github.com/kubernetes-incubator/service-catalog/issues/786
While I agree that we don't want to put a ton of sample brokers in our repo, I do think we should think about where people should put them.  For example, we could choose to do nothing and let people google to find them. We could choose to work with the OSB API wg and come up with a nice place (wiki?) to simply allow people to add links to their samples in one spot so they're easy to find - then we just add a pointer in our docs to that info. Same goes for the CF community since they have this page:  https://docs.cloudfoundry.org/services/examples.html
So, while I suspect the action from this issue will not result in something significant for our repo, I do think we need to discuss it and help take some action someplace because having example brokers will help promote our work, and we want make it as easy as possible for people to create new ones.  Sample go a long way for that.
Might be a good topic for a Monday call when we have a small agenda.

/cc @gyliu513

Also related to https://github.com/kubernetes-incubator/service-catalog/issues/548
Yes, echo @duglin , I cannot agree anymore that we should think where put the example brokers to promote the service catalog project to be adopted by more people.

OSB should have the list.
Brokers aren't specific to kubernetes, so it needs to be some separate repo/place/org.

+1 on a list of known brokers being hosted at OSB
we should ensure that this list does not imply endorsement.

@pmorie @MHBauer do you mean here https://github.com/openservicebrokerapi ? If so, who can help create a repo for the sample service brokers?

we have a f2f next week, I'll add this as a topic to discuss

Any suggestions for how to proceed this?

See: https://github.com/openservicebrokerapi/servicebroker/pull/252


feat: add filename option for --hfile and --cfile

Closes #186

Thank you for your suggestion.
Have a good day!

Glad to contribute!


filter images by date range

as part of assign_images filter images to only those within a date range. users should be able to define the date range as an optional flag when running the script, or by adding it the the config files created in #48

looking at this one...


SwiftRemoteMirror: Dig into generic SIL boxes

Part 1: Generic SIL Boxes always have instatiated metadata with kind
HeapGenericLocalVariable, which includes a metadata pointer for the
boxed type.
Part 2, after this, is to provide some kind of outgoing pointer map for
fixed heap boxes, whose metadata may be shared among different but
destructor-compatible types.
rdar://problem/26240419

@swift-ci test

@swift-ci test

@swift-ci test linux

The OS X test is an intermittent failure from high load on the simulator - it's unrelated to this patch and I'm investigating that separately.

@bitjammer What about the Linux failure?

Hm, looks like a glibc repl sanity check just before packaging. I would be surprised if my patch affected that.

@swift-ci Please test Linux

@swift-ci test linux

@swift-ci smoke test os x platform

@swift-ci test os x platform


Issue: Custom Attachment Directory Not Created Correctly for Non-Image Attachments (e.g., PDF)

Description
When copying or dragging non-image attachments (such as PDFs), I found that the custom attachment directory is not created correctly, and the attachments are placed in the root directory.
Causes

In the drop event: The folder is created using an asynchronous API, but Obsidian's native drop event might execute first, causing the operation to fail.
In the paste event: Only the paste of image-type resources is overridden, and there is no specific handling for PDFs. This also encounters the same issue as in point 1.

Possible Solution
For the drop event, a potential solution I thought of is to first prevent the default drop event, wait for the directory to be created and then re-dispatch the native Obsidian drop event.
However, I am not familiar with the Obsidian API and do not know how to re-dispatch the original event. Can someone provide some information or help fix this?

Fixed in https://github.com/RainCat1998/obsidian-custom-attachment-location/releases/tag/2.0.0


Adding libxml2 xmlAddChild binding to XML standard library

What
Adding the libxml2 xmlAddChild binding to the XML node class so that XML nodes can ... add children.
Why
I'm working on a personal project involving some XML that requires some nodes being shuffled around, and couldn't find an approach to move child nodes from one parent node to another. Please let me know if I'm just blind and there's a completely valid approach to doing this.

Also note that in Nokogiri (libxml2 bindings for Ruby) this method is not just a single line: it checks that the node is OK to be reparented, and removes the previous parent from the given node, etc. It's very complex. So let's be careful with this.

That's fair @asterite - for my project, I'm not too concerned if I shoot myself in the foot by doing something improper. To me, it's more valuable to have the xmlAddChild method that may break me in certain edge cases than to not have xmlAddChild at all. Obviously a less than stellar experience for the standard library if something does go sideways, so I understand the desire to get it right first.
I'll work on porting over the Nokogiri implementation (thanks for the link!) and will update this PR when I've gotten through that rabbit hole.
Thanks for the feedback!


[Core] Ensure resolve callback implementation can use trait views on the provided trait data

TraitsDataConstPtr is currently unsupported by (C++) trait views, which require a pointer-to-non-const currently. This will change when we tackle autogeneration of C++ traits.
In the meantime, fix the resolve callback signature to take a TraitsDataPtr, so that trait views can be utilised in the callback
implementation.

Thanks @feltech, would you mind updating the commit title when you rebase/merge to be a little more descriptive as to the change? Thanks!

How is the message now (c31e61d )

Thanks @feltech, would you mind updating the commit title when you rebase/merge to be a little more descriptive as to the change? Thanks!

How is the message now (c31e61d )

Great, thanks! FFTSAMAYL


Values are all lowercased

Hi Stefan!
I use your action for my automation at https://github.com/gr2m/helpdesk and made another show about it: https://github.com/gr2m/helpdesk/issues/42
One problem I realized is that all values seem to be lowercased. Is that intentional?

Good shout. It's kind of intentional, but I can see why this is causing issues. I'm happy to change it or accept a pull request.


Volume down icon don't show up

Hello :)
I'm trying out this plugin and i'm very happy to see so much work already.
Little thing i found, A media_player volume_down service don't show the volume - icon.
I don't know what is your icon source, but i'm guessing the icon name might be wrong here ?
https://github.com/gensyn/de_gensyn_HomeAssistantPlugin/blob/932d73cdaed5b2027eb39b44cf1cefe50e2576f6/actions/HomeAssistantAction/HomeAssistantAction.py#L618C1-L619C43

Yeah, there is a mistake in the current release which I already fixed in the code. I'm waiting for the next release of StreamController to drop for my next release because it depends on some changes. I hope this will be in the next couple of days.

Ok, sorry.
The git blame on that line was 2 week old and spoke about key hold so i didn't bother checking if it was a fix for this.
I should have :)

With the new version released today it should work. Could you please check?

The icon show up correctly :)
Thank you


Defining body in the blog collection

…, so the html attribute of markdownRemark is editable.
I had trouble figuring this out, as the only time it's mentioned is in In files with frontmatter, one field should be named body. This special field represents the section of the document (usually markdown) that comes after the frontmatter.

Thanks!


Add remote-dom components for Admin

Background
(Provide a link to any relevant issues AND provide a TLDR of the issue in this pull request)
Solution
(Describe your solution, why this approach was chosen, and what the alternatives/impacts may be)
🎩

...

Checklist

[ ] I have :tophat:'d these changes
[ ] I have updated relevant documentation

/snapit

/snapit

/snapit

/snapit

/snapit


#266: No longer need to have that jube dependency in the pom.xml as we c...

...an grab it from the plugin now. Yay less noise in the pom files.

Refer to this link for build results (access rights to CI server needed):
https://fabric8-ci.fusesource.com/job/fabric8-quickstarts-master-pullreq/359/
Test FAILed.

Refer to this link for build results (access rights to CI server needed):
https://fabric8-ci.fusesource.com/job/fabric8-quickstarts-master-pullreq/362/
Test PASSed.


Everything is working great, however, notifications aren't removed from the DOM once hidden

It took a while before I saw this, but, once my notifications are hidden (they even get the class 'killed', they stay in the dom.
Hovering with the mouse makes them visible again..
I saw in the demo (they are removed from the dom after a short while).
Tried to find the piece of code that removes them from the DOM, but can't find it.
Am I forgetting something?

ouch! should have checked first.
I was working with version v0.0.2.
switching to version v0.0.5 fixes the issue!


Update to 3.10.2, 3.9.10, 3.11.0a4

This is a temporary hack to account for the Windows installer issues described in https://pythoninsider.blogspot.com/2022/01/python-3102-3910-and-3110a4-are-now.html
I'm opening this as a reminder of the branch I created -- not because I think we should actually merge it.  Hopefully next week we'll have Windows installers and this whole workaround will become a moot point (and we can then just delete the branch).
I created a separate branch so that update.sh doesn't have to change for this (temporary) hack, and so that @docker-library-bot doesn't revert the change right away.
(See https://github.com/docker-library/official-images/pull/11684 for the update PR.)

Is there anything we can do to speed up this PR? Heroku thinks using 3.9.9 is a security flaw, but there is no official image yet to fix it.

This PR is just a placeholder and isn't going to be merged -- the PR we want/need to merge is https://github.com/docker-library/official-images/pull/11684.

Oh, it looks like the Windows issues described are now resolved!, so we can close this entirely!


Webpack Module Federation Docs

Feature request
My company is evaluating micro-frontend frameworks for a platform. Webpack is high up on the list of potential frameworks, but unfortunately, the webpack module federation docs are not up to the standard of the more stable webpack docs.

What is the expected behavior?

The docs for module federation are missing API Docs containing explanation of the properties on the ModuleFederationPlugin and low-level container plugins.

It's not clear how shared modules, exposes and remotes work. The only way to figure it out is to dig into the examples.
Not clear what overrides vs. overridables are and how they relate to the plugin.
A deeper dive into shared modules, including their optional properties, would be helpful.
Other properties should be documented to show their intent and data type.

What is motivation or use case for adding/changing the behavior?
Making Webpack module federation adoptable
How should this be implemented in your opinion?
Similar to the other webpack API docs
Are you willing to work on this yourself?
no, I don't have the required knowledge or the time unfortunately.  If someone with the knowledge would provide me with details, I can submit a PR.

After digging into Module Federation codebase, I realized that https://webpack.js.org/concepts/module-federation/ is presenting outdated information.
With this PR https://github.com/webpack/webpack/pull/10960, OverridablesPlugin got replaced with SharePlugin. That means Overriding, OverridablesPlugin, Dynamic Remote Containers sections contain invalid information.

Facing same issue. As of now we are using examples to understand the api, a proper documentation of API is very important.

Yes same here, there is very little documentation for ModuleFederationPlugin itself and its configuration.

for me, I got lost trying to figure out how to use the OverridablesPlugin (https://webpack.js.org/concepts/module-federation/#building-blocks)
only to find out it was removed in https://github.com/webpack/webpack/pull/10960

I think this is also supposed to be covered under https://github.com/webpack/webpack.js.org/issues/3757


Problems with sync on OSX

Hello, first of all thanks for the great extension. It has everything I was looking for.
However I can't get sync (forward or backwards) to work. While compiling the synctex compressed file is created but using the commands (C-l j for forward and double click on pdf-view) doesn't do anything (doesn't change page or anything).
Looked on both extensions and can't find a reason for this to happen.
Using MacTex and El Capitan, path to tex binaries specified in pdf-view (/Library/TeX/texbin)
Thanks for any insight.

The setting in pdf-view needs to points to the synctex binary, not the path containing the synctex binary, i.e., /Library/TeX/texbin/synctex. That's the most likely cause of the issue.


Attribute takes Self and return Self

Since we are already using the word breaking, we might as well explore this strategy:
Instead of taking &mut Self and turning Self , what if we took Self anyways?
It makes a bit of since, because R-objects (and its wrappers) are pointers to begin with, meaning they are references to begin with.
The changes in the various files, are basically reverting the changes in #745.

Robj might be a type of reference, but it isn't annotated as such—e.g. we are not always typing &Robj.
This PR would revert the changes in #745 which requires &mut self to modify attributes. The current state of affairs takes self and returns Self and modifies the original struct in place. This is undesirable. By having the &mut  annotation we make it clear what is happening. As such, I think we should prefer to the behavior in #745 and acknowledge that the change is breaking for good reason.


global ratelimit: add integration tests with on_stram_done=true

Commit Message: global ratelimit: add integration tests with on_stram_done=true
Additional Description:
This is a follow up on #37548
Risk Level: none
Testing: done
Docs Changes: n/a
Release Notes: n/a
Platform Specific Features: n/a

cc @wbpcode is this enough or do you want me to write anything beyond this?

kindly ping @wbpcode


dealloc hooking is broken :(

I just added the following into my -application:didFinishLaunchingWithOptions: and nothing showed up when I know for a fact that some UIViewControllers were in fact deallocated.
    [UIViewController aspect_hookSelector:NSSelectorFromString(@"dealloc") withOptions:AspectPositionBefore usingBlock:^(id<AspectInfo> aspectInfo, BOOL animated) {
        NSLog(@"View Controller DEALLOC %@ : %tu", aspectInfo.instance, animated);
    } error:NULL];

@fatuhoku I using Aspects to monitor UIViewController's dealloc as well, it works flawlessly.
    [self.someViewController aspect_hookSelector:NSSelectorFromString(@"dealloc") withOptions:AspectPositionBefore usingBlock:^(id<AspectInfo> aspectInfo) {
        self.beenDealloc = YES;
    } error:nil];

SEL sel = NSSelectorFromString(@"dealloc");
[NSObject aspect_hookSelector:sel withOptions:AspectPositionBefore usingBlock:^(id<AspectInfo> info) {

    NSLog(@"hahaha");

} error:NULL];

can it be hook all view controller's dealloc?

@fatuhoku  you should use  ```
[UIViewController aspect_hookSelector:NSSelectorFromString(@"dealloc") withOptions:AspectPositionBefore
usingBlock:^(idaspectInfo) {};
witout the arg BOOL animated

I no longer work on iOS so am happy to close this!


use the nanotiming package

Moved the lib/ code into a separate package https://github.com/yoshuawuyts/nanotiming

v3.0.2


Define Message concept.

User Story
As an engineer, I want a single, powerful way of presenting in-character text to the player to ensure consistency, flexibility, and reliability.
So let's say I have a Message concept with several levels that I use for all in-game text presented to the user.

Info: Normal information. Room descriptions, results of successful operations ("you pick up the rock"), etc.
Notice: Basic updates or status notifications with no immediate negative consequences, or something isn't quite right. "You're getting hungry." "It's getting dark." "You don't see any rocks."
Warning: Indications of potential negative outcomes or the need for caution. These are not immediately dangerous but could escalate if ignored. E.g., "You are very hungry," "The path ahead looks treacherous."
Alert: Situations that require immediate attention but aren't yet life-threatening. These alerts signify that the player should take action to avoid harm. E.g., "You are starving," "You are bleeding."
Critical: Severe situations that pose an immediate threat to the player's progress, health, or survival. These messages indicate conditions that need urgent action to prevent catastrophic outcomes. E.g., "You are bleeding badly," "You are on the brink of starvation."
Fatal: Conditions that are irreversible or have led to a game-ending scenario. These messages might be used sparingly, such as in permadeath situations or critical mission failures. E.g., "You have bled out," "You have succumbed to starvation." The jig is up.

This needs to support:

internal formatting (terminal escape codes, HTML, possibly others)
localization
placeholders (we need a macro so we can do something like format!("{} and {}", julius.name, john.name) and see "Julio y Juan" or something like that

Tasks

[ ] Determine a structure for this concept.
[ ] Document it in this thread.
[ ] Document it in a README.

Acceptance Criteria

[ ] Message concept has been documented:

[ ] in this thread
[ ] in a README

Messages
As this is a text-based game, Messages are how information is conveyed to the player. This document is concerned with establishing a basic concept of a Message and its components and the systems with which it interacts so that I can implement it quickly and efficiently.
As with everything else, my goals are:

power
flexibility
performance

Message Template
The raw content of the Message is a string. Ideally, this is generic over static strings (&'static str), strings with a specific lifetime (&'a str), and owned String objects.
This string is presumably going to be interpreted as a template string for a system like Mustache or Handlebars. Consequently, we will need to pass some JSON-compatible object along with each string.
Message Data
This is the data passed along with the raw content, which will be substituted into the string by some system like Mustache or Handlebars (I'm leaning Handlebars). This should be completely JSON-friendly.
Message Gravity
The Gravity of the message is a reference to an enum variant that indicates the general seriousness or severity of the situation, which is somewhat akin to a loglevel.

Info: Normal information. Room descriptions, results of successful operations ("you pick up the rock"), etc.
Notice: Basic updates or status notifications with no immediate negative consequences, or something isn't quite right. "You're getting hungry." "It's getting dark." "You don't see any rocks."
Warning: Indications of potential negative outcomes or the need for caution. These are not immediately dangerous but could escalate if ignored. E.g., "You are very hungry," "The path ahead looks treacherous."
Alert: Situations that require immediate attention but aren't yet life-threatening. These alerts signify that the player should take action to avoid harm. E.g., "You are starving," "You are bleeding."
Critical: Severe situations that pose an immediate threat to the player's progress, health, or survival. These messages indicate conditions that need urgent action to prevent catastrophic outcomes. E.g., "You are bleeding badly," "You are on the brink of starvation."
Fatal: Conditions that are irreversible or have led to a game-ending scenario. These messages might be used sparingly, such as in permadeath situations or critical mission failures. E.g., "You have bled out," "You have succumbed to starvation." The jig is up.

It is expected that these conditions will imply some formatting of their own (for instance, Fatal might be bold maroon red, critical bright red, alert red, warning yellow, notice and info white). In all cases, formatting is handled as a stack, i.e. any formatting that occurs within the string is added, and when no longer needed the previous state is restored. Formatting is not at any time "reset" to the global default.
Message Template Voucher
The core idea of this game is that it's a procedurally generated text adventure, so it's critical that text not be repetitive and boring. We build this in from the beginning by never simply writing a user-facing message and passing it to the frontend.
Instead, we emit Message Template Vouchers in events, and these are processed by the Message Template Registry and exchanged for a Message Template.
Message Template Vouchers are a type name.
Message Template Provider
The Message Template Provider is a trait describing an object that provides message templates. It may be a struct or an enum variant. It simply takes an integer and returns a message template from its list; normally, it's just going to return the message template at $number % $vector_length. Errors should just not occur at this point.
Message Template Provider Registry
The Message Template Provider Registry maintains a HashMap<MessageVoucherClass, Box> of Message Template Providers. The registry simply proxies the exchange of the message template voucher for the message template. The message template provider registry should be a globally accessible service.
Message Metadata
Some additional information should be packaged with each message (possibly switched off for release?):

timestamp of creation
message template voucher
(subject to expansion)


Join-Path should accept an array of -ChildPath

When building long paths in a cross-platform way (and particularly if we're not sure of the provider), it would be very useful to be able to avoid chaining multiple calls to Join-path (which is currently a common practice).
I propose changing the -ChildPath parameter to accept a string array and be ValueFromRemainingArguments
And then iterate over the values and produce one long path.

Isn’t that what AdditionalChildPath is for?

Yes, it accepts value from remaining argument too... 🤔
@Jaykul ?

Yeah, I thought @dlwyatt already implemented this.

😊

For what it is worth the documentation is broken, the parameter is not in the syntax section currently. Odd as I added it some time ago.

It got reverted by https://github.com/PowerShell/PowerShell-Docs/pull/2623


NOS MPS leaves GPUs on node in exclusive mode

In my use-case I am often enabling and disabling NOS on individual nodes by adding/removing the label nos.nebuly.com/gpu-partitioning=mps. After labeling the node, NOS will change the GPU mode to exclusive. However, after removing the label, the GPU remains in exclusive mode.
Expected behavior: NOS should revert the GPU mode to whatever it was when it started or to default.
Workaround: Change back to default mode (or whatever mode you want) after removing the label. Do this for all GPUs. For example, to change the mode on GPU 0 back to default use the following.
nvidia-smi -i 0 -c 0

You can try to add a shutdown command to the set-compute-mode container.
This container must run nvidia-smi -c 0 when it receives a SIGINT.

When able I will add a preStop hook to the container and test if this resolves the issue.


[CROSSDATA-613] Separate Driver API from its implementation

I'll open a new PR to merge this changes into feature/akkaHttp


Change font size of survey elements

Hi,
I'd like to change the font style of the survey elements. I tried overriding the textTheme in SurveyKit().
I found out that headline6 is used for e.g. question type title and selected value (scale). I was able to change color and font size here. However, I wasn't able to change the font size for "type" "intro" (note: I'm using json import). It seems that bodytext2 is used b/c I could change the color - but not the size.
Am I missing something?
Thanks in advance.

@PeteSahad how did you get the text for headline6 to change?  I tried a similar way as you mentioned and my text is blank.

@paulsarknas1 I just added textTheme to SurveyKit():
return SurveyKit(
[...]
 task: Task.fromJson(task),
 themeData: Theme.of(context).copyWith(
 [...]
   textTheme: const TextTheme(
                  [...]
                  headline6: TextStyle(fontSize: 20.0, fontWeight: FontWeight.normal, color: Colors.green),
                  [...]
    ),`
   )
[...]
);

I also had the issue with blank text. It worked when I added all other entries aswell (headline1-5, etc.)

@PeteSahad Thank you so much!

I pushed a new version (0.0.21) to fix some alignment with the theme.

Title of the questions are 'headline2'
Text of questions are 'bodyText2'
Text of ListTiles (Boolean, Single-Multipleselection) are 'headline5'
Text in TextFields are 'subtitle1'

Sorry for the inconvenience.


commit_version_bump should only commit plist and project files

Otherwise it might commit other things as well, that's not related to the version bump

Fixed with the latest version :+1:


"msn moves backwards" error after resuming from laptop sleep

Dan is observing that when opening his laptop in the morning he's getting an error banner, Ruchika has noted that there are several errors including an "msn moves backwards" error.  It does not appear that the document becomes corrupt after the issue occurs though (document works fine after a page refresh), so perhaps the issue lies in pulling down ops on reconnect instead.

@agarwal-navin Can you investigate this high pri bug further please?

There is not much information in the bug to debug this. I am trying to repro this locally and there is a teams thread for this that I am following.

I looked at the telemetry and the op stream in Dan's document. Nothing there seems out of place. All the sequenceNumbers and minimumSequenNumbers are in order and as expected. I tried taking a look at the snapshot in the document but unfortunately sharepoint only saves the last 10 snapshots so I could not get the relevant snapshot around the time the issue was happening.
I looked at the code too but couldn't see any changes of a bug or a race that can cause this.
I suggest that we add some more telemetry when this situation happens. Particularly, the MSN / sequence# we have last seen and the MSN / sequence# in the message which is causing the assert. It might be worth including the clientId as well so we can filter out telemetry logs better.
Also, I would like to swap the order of the following asserts in DeltaManager::processInboundMessage:
assert(this.minSequenceNumber <= message.minimumSequenceNumber, "msn moves backwards");
assert.equal(message.sequenceNumber, this.lastProcessedSequenceNumber + 1, "non-seq seq#");

We should assert the sequenceNumber is sequential before asserting the MSN. Also, it is possible that the first assert is masking the second one in this bug.

Please take a look at quorum assert I mentioned. That's very big red flag that in the past pointed to data corruptions on server side. That, combined with msn assert suggests me that PUSH screwed up. We need to find clientId for these cases and get Gary on the line to look into what happened on ordering server (PUSH) side. It's very likely they lost ops. I.e. they were re transmitted on the wire, but eventually doc session was closed without ops being pushed to storage, and some new clients that would join would see only past, but existing clients on the wire would freak out.
Duplicate ops is also very big red flag here, potentially indicating that ops were not actually duplicated, these are new ops using old sequence numbers. We need to think on how to detect that case on the client. I.e. save enough traits about the past such that client can immediately recognize that server was rolled back and current session is a lie.

swap the order of the following asserts

Even better, compute both checks before asserting, and log both results in the assert.

Kutso web query I ran to get the list of documents with this issue and the list of docIds:
union withsource=Office_Fluid_FluidRuntime*
| where Data_error == "msn moves backwards"
| summarize count() by Data_eventName, Data_docId, Data_error, Data_clientId
RWE9CUiRVJ6b0yrWRf%2BkZN4py6Q%2F5wDRK5YrMpin130%3D
6XsM25vSUA92gqH1Sil8WeEtmA9VtlDmTtvuW5IwAsk%3D
PoQskiQVQa0p%2BT%2B9Avs64NHoRmwjpRVjkc9CsrtWZ4Q%3D
VN7xOIyKF%2FyyK%2BKoFjLU8cwHuMf6yVoLYpYruPBf8so%3D
EhLYedIsaPtbilvhb4ug60xvfqnilysZfH53MxwAp1I%3D
LFVS5Q6Zfs5Oct6ZvCaxwM23SA3vkBvmKgAf9e69kV0%3D

Errors for Dan's docID = "6XsM25vSUA92gqH1Sil8WeEtmA9VtlDmTtvuW5IwAsk%3D"
fluid:telemetry:Container:ContainerClose    this.members.has(ab80f2d7-ee86-40d0-b052-d12e59921200)
fluid:telemetry:Container:ContainerClose    msn moves backwards
@GaryWilber , can you please take a look at telemetry on your end? Both of these point to data loss and reversal of seq number.
Especially first one - we hit it in the past and on couple occasions it was just that - either lost ops or two parallel PUSH sessions for same doc.
Office_Fluid_FluidRuntime_Error
| where Data_docId == "6XsM25vSUA92gqH1Sil8WeEtmA9VtlDmTtvuW5IwAsk%3D"
| where Data_eventName == "fluid:telemetry:Container:ContainerClose"
| project Event_Time, Event_Sequence, Data_error, Session_Id
2020-10-02T12:45:09.899Z	663	msn moves backwards	d7e49389-55c2-45dd-aa09-bcff773a8753
2020-10-02T16:13:27.103Z	5339	this.members.has(ab80f2d7-ee86-40d0-b052-d12e59921200)	798f86c5-5797-4188-adea-2f9c31e5161d
2020-10-02T16:47:30.907Z	1772	this.members.has(ab80f2d7-ee86-40d0-b052-d12e59921200)	0ec9c8ce-da62-492c-849c-5ad89c20c0ba
ClientIDs of active connection at the time of failure:
First case - d7e49389-55c2-45dd-aa09-bcff773a8753
Second case - 798f86c5-5797-4188-adea-2f9c31e5161d
3rd case - 0ec9c8ce-da62-492c-849c-5ad89c20c0ba

I checked the logs for that session. The session was on push v2, which helps make sense of what happened here.
This is related to what Tanvir mentioned here. An ordering service that uses kafka may rebroadcast the same messages again. This never happens in push v1, so it's likely the client never saw this case before. This case can also occur when clients are using routerlicious, but I don't think that's a very well monitored scenario compared to this so it's possible we never noticed before.
Do you know if the client is equipped to handle this case? Briefly looking at the "msn moves backwards" code, it looks like retransmission of ops will always cause issues in the client. Tanvir mentioned the client could discard duplicate ops based on the sequence number to fix it.
Tagging @tanviraumi for visibility.

We already handle this in the client. DeltaManager will discard ops with duplicate sequence numbers and log a telemetry. Also, if there are gaps, it will fetch the missing ops from storage.
From the quorum logs that Vlad pointed out, it looks like the client for a client "leave" message for a client that does not exist in the quorum. This looks problematic and should not happen right.

Correct, the question here - why runtime sees ops that do not make sense? They violate assumptions (quorum, or MSN moving backwards), and coupled with a lot of duplicate ops suggest that ops were actually lost and session reverted back.

Thanks for confirming @agarwal-navin
@vladsud Can you share the op sequence numbers that caused msn moves backwards and the this.members.has errors to occur?
In the meantime I will add additional logging on my end to log the client id for all join/leave ops.

This is interesting. So a "leave" without a "join" is definitely a service bug which we need to fix. MSN moving backwards also falls in the same category. But how does runtime see duplicate ops? This for loop is supposed to prevent that right? (https://github.com/microsoft/FluidFramework/blob/main/packages/loader/container-loader/src/deltaManager.ts#L1150)

@GaryWilber, here is an example:
Office_Fluid_FluidRuntime_Performance
| where Data_docId == "6XsM25vSUA92gqH1Sil8WeEtmA9VtlDmTtvuW5IwAsk%3D"
| where Session_Id == "798f86c5-5797-4188-adea-2f9c31e5161d"
| where Event_Sequence  >= 5320
| project Event_Time, Event_Sequence, Data_eventName, Data_reason, Data_from, Data_to, Data_sequenceNumber, Data_clientId
| order by Event_Sequence asc
Last processed seq number: 27232, suggesting that failing one is 27233.
That said, I do not think this will give us anything, as assert is based on what client believed to be wrong, the file (as it exists today) will be consistent even if ops were lost (if it happened at PUSH session granularity).
I think the most interesting thing here is to see if we telemetry on your side suggest we did not commit ops to storage and lost them somehow. In the past that happened either because there were two V1 PUSH sessions for same document, or because PUSH failed to commit ops in some window (24 hours?) and they were discarded.
Note that there are 3 sessions for this file that asserted with similar issues - this is one of them.

There were no errors for that session. I constructed this timeline from the logs:
10-02-2020 04:22:56 - client ab80f2d7-ee86-40d0-b052-d12e59921200 joined as write
10-02-2020 04:22:57 - client d9941f3b-cefa-49e9-897b-f1d3bc6db40b joined as write (probably summary writer)
10-02-2020 04:22:57 - 27079 - join
10-02-2020 04:22:57 - 27082 - join
10-02-2020 04:24:23 - last submitted op by d9941f3b-cefa-49e9-897b-f1d3bc6db40b
10-02-2020 04:29:26 - 27230 - leave
10-02-2020 04:29:28 - last submitted op by ab80f2d7-ee86-40d0-b052-d12e59921200
10-02-2020 04:34:31 - 27232 - leave
10-02-2020 04:34:31 - 27233 - noClient - this implies no clients were left in the document after that previous leave op, which matches the join / leave count
10-02-2020 04:34:32 - client d9941f3b-cefa-49e9-897b-f1d3bc6db40b disconnected from the orderer - this was from the odsp driver sending a disconnect_document message
10-02-2020 05:15:25 - client ab80f2d7-ee86-40d0-b052-d12e59921200 disconnected from the orderer - looks like this was from the websocket being closed
Since the leave ops show up 5 minutes after the clients last submitted op, they may have been sent by deli. Deli has an idle client timer that will insert a leave message for clients that are idle for more than 5 minutes.
Could you share info about the other sessions & last processed seq numbers for this file. I'm curious if they all look similar.

@agarwal-navin - Is there anything more actionable in the client/runtime side here? I want to make sure this issue is tracking something meaningful in here, since it's got the OCE tag and October milestone.

I don't think so. I would like to add some more telemetry and logs but I think we are already tracking those separately.

Closing this issue.


refactor(icons): replace cog icon with octicons prime version

Or maybe I just need to get used to it... I'm going to leave it simmering 🥘

Or maybe I just need to get used to it... I'm going to leave it simmering 🥘

Simmer away 😉.  I noticed that the octicons are much sharper.

But if we do it, we should join #873 #874 and #876 with this one. It doesn't make sense to have them in separate PRs imo

Personal preference perhaps... I'm very much in favor of small, independent, isolated PRs to assist with review speed and keep the line changed to the smallest releasable, particularly with refactoring PRs

Right, but in this case you are introducing icons that don't play well with each other if not done on one go.
I feel like if we switch to these icons we also need to completely revamp our UI to properly mimick GitHub's UI. As is, I still think ours are perfectly fine. If we do do these UI changes, then I think the icon changes make total sense

In the interest of moving this forward, I've consolidated into a single PR https://github.com/gitify-app/gitify/pull/885


Generate code to dispose of disposables inside of a collection type.

Issue Details
After looking at the code base currently, I noticed that this generator does not yet generate a foreach dispose loop for disposing of disposables that exist inside of a collection type. This must have been something I been overlooking as I rarely use collections to store disposables unless I am using Windows Forms and need to dispose of Windows Forms controls.
Is your feature request related to a problem? Please describe.
It's related to manual code can dispose of disposables using a loop that are disposed in a collection. All of the disposable work I feel should be source generated to ensure that everything is properly disposed of.
Describe the solution you'd like
For the source generator to properly generate the dispose loop for a collection that contains disposable objects. I am thinking an attribute for marking the collection would be sufficient as well.
Describe alternatives you've considered
Other than having the person tell the source generator to run their special function for disposing of items inside of said collection, I feel the best option would be to instead add direct support for it and then consider the future of having the special function attributes for running them on dispose.
Additional context
Implementing this would simplify C# code like this by generating it: https://github.com/dotnet/reproducible-builds/pull/50/

An interesting use case. Though I'm actually concerned about this being a potential feature bloat. In the linked PR, there exists a DisposableCollection type, which basically wraps a collection of IDisposable instances. This can be made generic, exposing the actual type that implements IDisposable and preserving the disposability logic. This will be automatically picked up by the generator as the field itself implements IDisposable, wrapping the internal logic.
Automatically disposing a collection is a dangerous path to follow, as the user could intend keeping the resources alive as they're wrapped inside a collection shared across multiple resources. The attribute approach sounds sane to me, and also avoids enforcing the user to use that custom DisposableCollection type.
Keep in mind that this will not be applicable to dictionaries. Should we also enable those and iterate the disposables via their Values property? Disposable dictionary keys are generally a bad practice to follow, so I doubt we must care about this.
Another thing to note here is that there is no way to extend the logic of the generated Dispose method. CommunityToolkit.Mvvm generates partial void methods that you can manually fill in with extra code, so this is a good pattern we could apply. For example,
// generated code:
public void Dispose(bool disposed)
{
    // dispose the fields
    DisposePartial(disposed);
}

partial void DisposePartial(disposed);

// user-implemented code:
partial void DisposePartial(bool disposed)
{
    // dispose our custom collection here.
}

Doing the partial disposability pattern sounds like a sane approach moving forward, which also avoids exposing user-consumable APIs like attributes. Disposing a collection of IDisposable is a greatly niche case that I could never imagine needing, so if a user needs it for whatever reason, they can manually type that into DisposePartial. For convenience, it would also be nice to have a DisposeCollection extension:
public static void DisposeCollection(this IEnumerable<IDisposable> disposables)
{
    foreach (var disposable in disposables)
    {
        disposable.Dispose();
    }
}

Overall I'm more a fan of the partial void method approach. We will also have to check whether this can be implemented in VB. If not, we can just offer it just for C#. VB users will be able to use the solution described above using the custom collection type wrapping the disposable instances.

I was thinking more or so collections that store disposables similar to the BCL's List<T> type.

Also, should the attributes be split into a separate package called IDisposableAnnotations or something like that as a Development Dependency and remove the need of having them in the Source Generator's resx file? Also then that assembly could be implemented in C# and usable in both C# and VB.

If we go down the partial method, I believe that the convenience would then be to have a DisposeRange extension, to quickly dispose an entire collection of disposables, as shown above. The CallOnDispose attribute would be an extra feature that basically offers a slightly simpler way to express a niche case. I wouldn't want to implement that one, but only the partial method and the extra package with the extension, or maybe even in the generated source itself.


Double inheritance

Describe the bug
The plugin will add two icons when using inheritance in a folder who already have an inheritance.
Eg something like this :
folder A => Inherit icon
  folder B => Set inherit icon
     file => Will inherit from A & B

To Reproduce
Steps to reproduce the behavior:

Create a folder A
Create a folder B in folder A
Set inherit icon in folder A and B
Reload the app

Expected behavior
The icon chooses must be from folder B
Screenshots

Additional context
/

Using version 1.4.3, this is not resolved for me:

Sure, here you go:
{
  "settings": {
    "migrated": true,
    "iconPacksPath": ".obsidian/plugins/obsidian-icon-folder/icons",
    "fontSize": 16,
    "iconColor": null,
    "recentlyUsedIcons": [
      "FasRepeat",
      "💡",
      "FasKey",
      "FasHashtag",
      "IbTrayStacked"
    ],
    "recentlyUsedIconsSize": 5,
    "rules": [],
    "extraMargin": {
      "top": 0,
      "right": 4,
      "bottom": 0,
      "left": 0
    }
  },
  "Journal": {
    "iconName": "📔",
    "inheritanceIcon": "FasHashtag"
  },
  "Journal/2022": {
    "iconName": "FasHashtag",
    "inheritanceIcon": "FasHashtag"
  },
  "Journal/2022/11": {
    "iconName": "FasHashtag",
    "inheritanceIcon": "🗒"
  }
}


upload file fail

i drag a file to the web terminal ,and find it upload fail

the remote address seem starnge

@marcosnils can you give me some advice


Test rigid

Use ct & mr Not already in same image space & registered in updated workflow (don't use sunny)

Tested on a different phantom. Final result still does not make sense (there is no phantom in the final image). Going to run through some manual command line operations to troubleshoot

Need to register CT to the MRI (doesn't work the other way around). When do it this way, the tool works


Merge main to nightly conflicts

Rebasing nightly from main can potentially cause conflicts and therefore breaks the automating of merging main to nightly

The original process was nightly rebasing main and creating a PR that auto merges.
Now, we simply merge main into nightly and telling git to resolve those conflicts by picking the files from main


Rspect unit test

This is a group project made by @Bigizi, @alicemirigo92, and @Habtamu210.

Write unit tests using Rspec.
Understand an existing codebase in a way that allows for adding tests.

Hi @alicemirigo92 and @Bigizi,
While you made a great effort in this project, unfortunately, I cannot proceed to review your code.
Invalid Code Review Request
There are three collaborators for this project. Kindly ensure everyone contributes
Your Code Review Request will be marked as invalid in your Dashboard, so please submit a new one once you are ready 🙏
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, do not open a new Pull Request for re-reviews. You should use the same Pull Request submitted for the first review, either valid or invalid unless it is requested otherwise.

Invalid Code Review Request does not count into the code reviews limit.


feat: Use new shared session for Session Trace feature - NEWRELIC-8662

Session Trace becomes more aligned with the new interpretation of a user's session defined as part of the upcoming and experimental Session Replay feature. When the session tracking setting is enabled, the Session Trace feature will now use stored session info to make capturing decisions.
Overview
Session concept is incorporated into the trace feature such that when session tracking is enabled, it adopts and propagate the same operational mode across pages within a session. The former behavior (standalone) is maintained when it's disabled, and it's important to note that Trace does not necessarily require the existence of session to function.
However, when session tracking is enabled and though backward compatibility is maintained as much as possible to ensure that existing case today (prior to mainstream Replay release) doesn't break, Trace will not be captured after the first page of a session if Replay is off or not available. This diverges from the existing behavior in which as long as the stn entitlement is returned positively, even with tracking enabled, Traces are captured for those pages.
Related Issue(s)
NEWRELIC-8662
Testing
Workflows to verify:

With session tracking disabled,

RUM response flag of stn: 0 still blocks all harvests.
Flag of stn: 1 still sends all harvests.
Feature duration is capped at 10 minutes and all post-initial harvests have 30+ nodes.

With session tracking enabled,

Every new page runs harvest with the same session ID but different ptid.
There's no duration limit, and post-initial harvests can occur with < 30 nodes while active on page whenever Replay is also running. (If replay is off, those limitations still apply.)
When a session resets, there's a non-interval outgoing payload with whatever's recorded since last interval.

At this time, there should be no further outgoing payloads -- i.e. Trace feature turns off after reset.

On brand new sessions,

The session object's sessionTraceMode gets the right MODE value corresponding to the related truth table in ticket/JIRA Feature's CDD.
In all cases where it should "collect_trace", all harvests are sent regardless of stn flag response.
In the single case where it and SR are off, no harvests are sent (stn is assumed 0).
As of now, the sessionTraceMode should always match the sessionReplay mode of runtime state.

On existing sessions aka when a new page is open after the previous step,

sessionTraceMode of the new page matches that of the previous page.
The mode is respected; as of now, either the full lifecycle of events should be captured & harvested if FULL or ERROR, or nothing should be harvested if OFF.

If RUM response returns the JSON with sr: 0:

Trace acts no different from previous, even with tracking enabled for all sessioned pages

If sr:1:

Trace acts no different from previous on a new session page
Trace will be off on existing session pages if:

NREUM.init.session_replay.enabled is false
Replay feature does not exist (isn't part of the running build) and/or wasn't fully initialized (e.g. aggregate threw exception)

***Aside from this last case, whenever Replay is running, Trace should also be running.

Codecov Report

Merging #545 (680019f) into main (1ee675d) will increase coverage by 0.86%.
The diff coverage is 4.65%.

@@            Coverage Diff             @@
##             main     #545      +/-   ##
==========================================
+ Coverage   18.78%   19.64%   +0.86%
==========================================
  Files         130      132       +2
  Lines        4318     4377      +59
  Branches     1089     1126      +37
==========================================
+ Hits          811      860      +49
- Misses       2759     2776      +17
+ Partials      748      741       -7

Impacted Files
Coverage Δ

src/common/aggregate/aggregator.js
0.00% <0.00%> (ø)

src/common/harvest/harvest-scheduler.js
0.00% <0.00%> (ø)

src/common/util/feature-flags.js
0.00% <0.00%> (ø)

src/features/session_replay/aggregate/index.js
0.00% <0.00%> (ø)

src/features/session_replay/instrument/index.js
0.00% <0.00%> (ø)

src/features/session_replay/replay-mode.js
0.00% <0.00%> (ø)

src/features/session_trace/aggregate/index.js
0.00% <0.00%> (ø)

src/features/utils/agent-session.js
0.00% <0.00%> (ø)

src/features/utils/instrument-base.js
0.00% <0.00%> (ø)

src/loaders/api/api.js
0.00% <0.00%> (ø)

... and 1 more

... and 6 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

Trace needs to end (new function) when session-reset is emitted at this time.

Persistent safari 15 on Sauce tunnel error, but can just treat as all tests passing.

Approved pending passing JIL, jest, and WDIO tests


Did it work?

See this Scripting News post. And thanks for your help testing feedToMasto! :smile:

@scripting It worked. 😃 https://social.scottfr.ee/@scott got a whole bunch of new posts at once (since I set flOnlyPostNewItems to false so I could see immediate results).

I also got it to work (https://mastodon.social/@AndySylvester) using my FeedLand feed as the test feed.
Some feedback on the README (which was very good):

Recommend adding a sentence either at the end of the last section or beginning of this section to state that you should click on the application name in the list of applications (that action will show the keys needed in “Back in config.json section”.
Adding instructions about performing npm install and setting up forever if you want to keep the app running (like this example for my OPML includes demo (https://github.com/andysylvester/opml_includes_demo/blob/main/README.md)

Overall - pretty easy for me!

No worries - I think your path of asking for people with at least basic Node.js knowledge to test things of this type is the right path.

I will install the new version in a few minutes.

Looks good, not seeing markup in the posts now:
https://mastodon.social/@AndySylvester/109446302340310010
https://mastodon.social/@AndySylvester/109446306261447036
https://mastodon.social/@AndySylvester/109446310205782662

OK, my first attempt.
I can get feedtomasto fired up, it spits the config file back at me, goes into the feed loop (quietly, before I started sticking in logs to see what's up).  My config is two feeds from my blogger account (don't hate me for blogger, I'm inertial) - the main posts and the comments.  When I post on blogger, my Thunderbird reader sees the post, my LifeRea sees the post, and from feedtomasto, I get a log message:
The request returned a status code of 302.

Nothing appears to have shown up at<EMAIL_ADDRESS>

Hi #bjimba --
302 is a redirect request. Not sure where it's coming from in your report. It would help if you told us what your feeds are in config.json.

"feeds": [
"https://bjimba.blogspot.com/feeds/posts/default",
"https://bjimba.blogspot.com/feeds/comments/default"
],

@bjimba -- the feeds look fine
I forgot to follow redirects, just added the code for that producing v0.4.3.
Could you download the new version and see if that fixes this problem?

Well, it's a different error now.
Unexpected token < in JSON at position 0

I tested against a locally running Pleroma-based Mastodon instance, and had to make a few tweaks to get things to work:
In tootStatus:

Moved the params into the body argument for the mastopost call (using JSON.stringify).

In mastopost:

Added a Content-Type: application/json request header.
Only build the query string if params is not undefined.

Pleroma's routing does not accept the status in the query string, only in the body of the HTTP POST.
The toots are now being added, but the HTML is escape. I'll have to investigate how and if Markdown can be enabled in Pleroma servers. I'm actually using a fork called Akkoma...

I tested it, posting the feed from my<EMAIL_ADDRESS>to<EMAIL_ADDRESS>It worked, but I had a couple of glitches.

I initially coped the "Bearer " prefix of the access token. Then I looked at the code, and noticed that it prepends that. I didn't mint my token according to your instructions. I let Mammudeck do it, and copied the token from LocalStorage. Note that this application doesn't use the clientKey, clientSecret, or scopes from config.json, just urlMastodonServer and accessToken.
It really should create the app and mint the token itself, but I have never done that from a stand-alone program, only from a web site. I'm pretty sure it's a standard OAuth use case. Asking regular users to create apps and tokens will be too much for many.

After that, it just worked, though the text in the created post appeared three times.
RSS Feed: https://gleasonator.com/users/billstclair/feed.rss
Source post: https://gleasonator.com/@billstclair/posts/AQEwQY9MGuKBfZmjGS
Created post: https://impeccable.social/notice/AQEwVwBgvepP6vTLbE
I note that images are not included, but since there's a link to the original, that probably isn't necessary.

@billstclair -- thanks for trying it, but I'm having trouble following tne narrative.
Right now my only concern is does it work if one follows the direction on the site.
Other concerns about what it shouldn't do -- I'd like to deal with those separately.
So it seems like there is at least one problem in the report -- "the text in the created post appeared three times."
Can we focus on that for a bit?

@pzingg -- I wrote this to work with Mastodon. I think that's pretty clear in the docs?

@bjimba -- do you have any idea what the app was trying to do when you got that error.
I tried loading your feeds into my copy but didn't get any errors.
Have you checked the syntax of your config.json file?

Note that I also tested posting to a Pleroma server. That may be why I saw three copies of the text. So, if you're not going to support Pleroma, and you're going to require the user to create the app and token by hand, my feedback was not useful.

@billstclair -- I don't know anything about Pleroma. I'm very new to Mastodon, as I think you know.
However I am most definitely, for good reasons, require the user to create the app by hand. Mainly I don't like supporting helpless people. Or people with agendas. I was very clear up front about why I did this project.

Pleroma, from what I've read, does not support as many users as Mastodon, but it has more (and, on average, smaller servers). Mastodon came first, then Pleroma, but those two are the backbone of the Fediverse. There are a whole bunch of other implementations, with the Mastodon Client API on one end and ActivityPub on the other, but those are the major two. I have found it easy to support both, with only a handful of cases where I need to something different depending on the server I'm talking to.
I have yet to see ANY Mastodon or Pleroma client that requires you to EVER look at the "</> Development" settings page. They all use the standard OAuth mechanism to create an app, and then then commands to create a code and use it to mint a token.
You've done the part to create the code and mint the token. The only part you haven't done is to create the app, which is normally how a Mastodon client gets a client_id and client_secret. But if you want to filter your users to those who can handle the "</> Developmet" page, that's your choice.

@billstclair -- please focus. Based on what you've said here i should get this so it works with Pieroma.
@pzingg  has listed a set of steps that makes this work with Pieroma. Do you agree that this is the way to go?

Sorry to open a can of worms about Pleroma.

@davew - it's in function mastopost.
You only have 4 places where you call JSON.parse, so I added logs to see where I'm failing. It's the JSON.parse on line 173.  At that point, "jsontext" contains HTML data.
This is the dump of "jsontext" before the call to JSON.parse:
<!doctype html>

Warning -- this github commenting system appears to have stripped out some of what I pasted.

Dave, your code worked without change to post to impeccable.social, except fot the three copies of the post text.
The following are POST /api/v1/statuses requests from Mammudeck, my Elm code, and my browser running the standard Pleroma web app (for Pleroma 1.0.6, a very old installation). I haven't added posting Markdown to Mammudeck yet. I assume it will work to just add a "content_type": "text/markdown" property to the JSON I'm already sending. I ALWAYS send JSON over the wire, only using URL parameters for the paging parameters (max_id, since_id, min_id, limit). I'll send you data from Gleasonator, if you want. It's running Soapbox/Rebased, a very new Pleroma fork.
I left out request headers that I thought were automatically generated, and probably some that I left in were also not put there by me.
Posting from Mammudeck (to impeccable.social, but it's server-independent):
Resulted in: https://impeccable.social/notice/AQF5U3AmsxvJmfDyZk
Headers:

General
  Request URL: https://impeccable.social/api/v1/statuses
  Request Method: POST

Request Headers
  :authority: impeccable.social
  :method: POST
  :path: /api/v1/statuses
  :scheme: https
  accept: */*
  accept-encoding: gzip, deflate, br
  accept-language: en-US,en;q=0.9
  authorization: Bearer 076Sf...
  content-length: 96
  content-type: application/json
  user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36

Payload:
  {
  "status": "A simple post from Mammudeck, to see what goes over the wire.",
  "visibility": "public"
  }

Posting Markdown from the impeccable.social web site.
Resulted in https://impeccable.social/notice/AQF51vkyricWfskFrU
Headers:

General
  Request URL: https://impeccable.social/api/v1/statuses
  Request Method: POST

Request Headers:
:authority: impeccable.social
:method: POST
:path: /api/v1/statuses
:scheme: https
accept: */*
accept-encoding: gzip, deflate, br
accept-language: en-US,en;q=0.6
authorization: Bearer uMg2F...
content-length: 576
content-type: multipart/form-data; boundary=----WebKitFormBoundarypxXHzNajdwToHcBJ
cookie: __Host-pleroma_key=SFMyNTY.g3QAAAABbQAAAAd1c2VyX2lkbQAAABI5bVFUbzhXM1V2c2VsMkxvSjY.7uMOvrz9mSgCDhm0WuC6q-bhOunwTpwtNlBIXMgJDT8
user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36

Payload:
  Form Data
    status: A `Markdown` post, to test what goes over the wire from by web browser to [impeccable.social](https://impeccable.social).
    source: Pleroma FE
    visibility: public
    content_type: text/markdown

@bjimba -- i have no idea what that code means or why whatever server you're talking to responded to the POST with that response.
@pzingg -- you did fine, esp now that i know that Pleroma is a commonly used server. i'm new to this space. trying to get something useful out and get back to working on my real software project.
i've gotta take a break. i'm way overloaded by the problems i'm being asked to deal with here. ;-)

@davew - this is the contents of theRequest.url for the POST that is returning HTML
https://fostodon.org/api/v1/statuses?status=TEST POST - helping DaveW create feedToMasto - you should%2C too

%23%23%23 Testing 16%2C 17%2C 18

Again. %40davew%40mastodon.social %23feedToMasto

https%3A%2F%2Fbjimba.blogspot.com%2F2022%2F12%2Ftesting-16-17-18.html

And by the way, we're not asking you to deal with anything.  You asked us to test it and report what we saw. :)

I concur with @bjimba. Feel free to ignore what I say, if it's not in line with what you want to do. Just being me.

@pzingg -- I read your comment carefully.

You say the content-type of the request should be application/json, but don't say anything about how you send the body of the request (the filedata param). I'm assuming you added code to JSON.stringify it.

Do you think this calling format will also work with Mastodon, or did you customize it so that it will only work with the server you're using.

If you want me to support this  -- we need to flesh this out.

BTW, I'm not ignoring what you say. I want your help. It may come out awkwardly, but I want to get to the bottom of the concern, and at the same time, when I say I hear you and I've made a decision, then let's move on.
Have another look at the reasons I'm doing this and dig in a little into those. This is meant to be example code as much as it's a utility.
If you feel this deserves a higher-level UI and you're ready to host the app, then go for it.
I'm very clear -- I'm not doing this to set up a utility for everyone. I've been down all these roads many many times, and I think I know where each of them goes. :smile:

Dave, yes, I did JSON.stringify(params) as the filedata argument, and undefined for the original params argument. Inside mastopost I look to see if params is undefined and if so, skip building a query string. I would love to test the code against mastodon-3.5.5.
Of course I tried to build it from source on my machine and there are the usual hassles (it requires openssl 2, and I have openssl 3 installed). Tomorrow I will try to make a docker build and see if using the stringified params in the body of the request will work. The Mastodon API docs say that parameters can be sent either as query string, WWW form data, or JSON, so it should work.
However, I don't think that the main mastodon repository supports the content_type param. Not sure if it would 400 if you include it or whether it would be ignored. So probably no support for markdown. It does look like glitch-soc, a popular fork of mastodon, would handle this.

Just released a new version with mastopost sending the params in the body of the post not as url params.
https://github.com/scripting/feedToMasto/blob/main/feedtomasto.js#L154
This is the way forms work, and posts are basically emulating forms, so it seemed this was the most conservative way to go and should give the maximum interop.

I git pulled the new version, started it, added a post to my linkblog, it showed up on my test mastodon account https://social.scottfr.ee/@scott/109456282155944716

It worked for me, pulling from my post feed at gleasonator.com, and posting to impeccable.social, an ancient Pleroma instance, freeatlantis.com, an up-to-date Mastodon instance, and gleasonator.com, an up-to-date Soapbox/Rebased instance (fork of Pleroma).

The 0.4.4 change did not help with my issue of fosstodon.org giving me HTML when JSON is expected.
No time today for debugging, I'll let you know if I figure out anything.

Well, I figured it out.  Turns out that I had a typo in config.json (left out an 's' in fosstodon).  The thing that made it tricky to find out is that someone has typo-squatted the single-s "fostodon.org" and was sending me a parking page.
I can now confirm that we're working with fosstodon.org and mastodon.online


query filters does not work

Hello I have an alert set with the following query filter:
filter:
- query:
    query_string:
      query: "system.jetty.severity: SEVERE AND @environment: IDF-qa"

However when I run tests I see the following entries:
INFO:elastalert:Adding alert for Log checker for SEVERE in Jetty to aggregation(id: <MagicMock name='writeback().__getitem__()' id='140342094583120'>, aggregation_key: IDF-prod), next alert at 2019-03-29 09:37:43.513327+00:00
INFO:elastalert:Adding alert for Log checker for SEVERE in Jetty to aggregation(id: <MagicMock name='writeback().__getitem__()' id='140342094583120'>, aggregation_key: IDF-prod), next alert at 2019-03-29 09:37:43.513327+00:00
INFO:elastalert:New aggregation for Log checker for SEVERE in Jetty, aggregation_key: IDF-qa. next alert at 2019-03-29 09:37:43.518656+00:00.
INFO:elastalert:Adding alert for Log checker for SEVERE in Jetty to aggregation(id: <MagicMock name='writeback().__getitem__()' id='140342094583120'>, aggregation_key: IDF-qa), next alert at 2019-03-29 09:37:43.518656+00:00
INFO:elastalert:Adding alert for Log checker for SEVERE in Jetty to aggregation(id: <MagicMock name='writeback().__getitem__()' id='140342094583120'>, aggregation_key: IDF-qa), next alert at 2019-03-29 09:37:43.518656+00:00
INFO:elastalert:Adding alert for Log checker for SEVERE in Jetty to aggregation(id: <MagicMock name='writeback().__getitem__()' id='140342094583120'>, aggregation_key: IDF-qa), next alert at 2019-03-29 09:37:43.518656+00:00
INFO:elastalert:Adding alert for Log checker for SEVERE in Jetty to aggregation(id: <MagicMock name='writeback().__getitem__()' id='140342094583120'>, aggregation_key: IDF-qa), next alert at 2019-03-29 09:37:43.518656+00:00```

If the query would work properly I should not see anything containing `IDF-prod`

Is there anything I do wrong?

https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-query-string-query.html
@environment: IDF-qa actually means "Where environment contains idf OR qa appears in any field." you need to surround it in quotes.
query: 'system.jetty.severity: SEVERE AND @environment: "IDF-qa"'

great, Thank you


[GSSoC'23] Dots and Boxes Game Completed

Title and Issue number

Title - Dots and Boxes Game
Issue Number - 2448
Close #2448

Checklist:

[x] I have mentioned the issue number in my Pull Request.
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have created a helpful and easy to understand README.md

@pranjay-poddar @Saurabh-kumar09 @MohitGupta121 Sirs, please review this pull request and requested to merge it for a valuable contribution of this project under GSSoC'23 program.
Thanks for assigning this project to me.

@TusharKesarwani Sir, Could you tell me how this project comes under Plagiarism. Is open source not a platform to learn or just made for applying plagiarism ?


Server/service shutdown on remote client command

I have no idea how to implement the Subj. Is there any way to call service own methods over RPC?
greeter_service.lua
--- Hello world greeter example server side service.
-- greeter_service.lua
local M = {}
local grpc = require("grpc_lua.grpc_lua")
grpc.import_proto_file("helloworld.proto")
--- Public functions.
-- @section public
function M.SayHello(request, replier)
assert("table" == type(request))
assert("table" == type(replier))
print("Got hello from "..request.name)
-- replier:reply() can be called later after return.
local response = { message = "Hello "..request.name }
replier:reply(response);
end  -- SayHello()
function M.shutdown()
--self:shutdown()  !!! Something like this
end
return M

Service in your "Greeter" example will work until i kill this process with operating system command. I want to find the way to service shutdown by himself according to remote client command.


Support account selection logic similar to Google OAuth2.

I hope to add a new authorization logic in OAuth2AuthorizationCodeRequestAuthenticationProvider, similar to authorizationConsentRequired. Currently, I can only copy all the code into my custom AuthenticationProvider, and every time I upgrade spring-authorization-server, I need to compare whether there have been changes.
Below is my example code:
  @Override
  public Authentication authenticate(Authentication authentication) throws AuthenticationException {
    // copy code .....
    OAuth2Authorization authorization;
    // ---------------
    // Select account
    // ---------------
    String selectAccountState = (String) authorizationCodeRequestAuthentication
        .getAdditionalParameters().get(CustomOAuth2ParameterNames.SELECT_ACCOUNT_STATE);

    if (!StringUtils.hasText(selectAccountState)) {
      String state = stateGenerator.generateKey();
      authorization = authorizationBuilder(registeredClient, principal, authorizationRequest)
          .attribute(CustomOAuth2ParameterNames.SELECT_ACCOUNT_STATE, state).build();

      if (this.logger.isTraceEnabled()) {
        logger.trace("Generated authorization select account state");
      }

      this.authorizationService.save(authorization);
      Set<String> requestScopes = authorizationCodeRequestAuthentication.getScopes();
      if (this.logger.isTraceEnabled()) {
        this.logger.trace("Saved authorization");
      }

      return new OAuth2AuthorizationSelectAccountAuthenticationToken(
          authorizationRequest.getAuthorizationUri(), registeredClient.getClientId(), principal,
          state, requestScopes, null);
    } else {
      authorization = authorizationService.findByToken(selectAccountState,
          new OAuth2TokenType(CustomOAuth2ParameterNames.SELECT_ACCOUNT_STATE));
      if (authorization == null) {
        throwError(OAuth2ErrorCodes.INVALID_GRANT, CustomOAuth2ParameterNames.SELECT_ACCOUNT_STATE,
            authorizationCodeRequestAuthentication, registeredClient);
      }
      if (!principal.getName().equals(authorization.getPrincipalName())) {
        throwError(OAuth2ErrorCodes.INVALID_REQUEST, OAuth2ParameterNames.STATE,
            authorizationCodeRequestAuthentication, registeredClient);
      }

      authorization = OAuth2Authorization.from(authorization).attributes(attrs -> {
        attrs.remove(CustomOAuth2ParameterNames.SELECT_ACCOUNT_STATE);
      }).build();
    }
    // ---------------
    // select account off
    // ---------------
    // copy code .....
  }

@chenzhenjia The OpenID Connect Authentication Request prompt parameter specifies select_account as one of the values for this use case.
The account selection step occurs during the authentication process as the authentication sub-system would be aware of the active sessions for the user and is also responsible for the management of the user sessions. The authorization server and the authentication sub-system are completely different systems so the sample code you provided in OAuth2AuthorizationCodeRequestAuthenticationProvider would not be the right place to have this logic. The account selection logic must reside in the authentication sub-system.
I'm not sure what authentication mechanism you are using (formLogin(), SAML, Active Directory, etc.) but this is typically configured with Spring Security authentication and related integrations.
I'm going to close this since account selection logic belongs in the authentication sub-system and not the authorization server.
Lastly, I would not recommend having this logic in OAuth2AuthorizationCodeRequestAuthenticationProvider as you currently have in your custom implementation. Instead, you can provide a custom AuthenticationConverter very similar to OAuth2AuthorizationCodeRequestAuthenticationConverter that checks for CustomOAuth2ParameterNames.SELECT_ACCOUNT_STATE, and if present, then ensure you return OAuth2AuthorizationCodeRequestAuthenticationToken.getPrincipal() as !isAuthenticated() so that the OAuth2AuthorizationEndpointFilter continues with the filterChain and your authentication sub-system can take control of the account selection process.

Could you provide an example or resource demonstrating how to implement the prompt functionality? I'm specifically looking for guidance on handling the login prompt parameter.


Are DTU results reported in the paper trained on 640 or 1280?

Thanks for your good work! I have not seen any discussion of the input resolution in the paper.

I'm also curious about the Ablation Study of your paper?  Are the depths trained in 1600 x1200 or  640 x 512? And also I want to know that does the high-resolution training strategy boost the depth quality rapidly

Same question: is training on 1600 x1200 necessary? or we just train on 640 x 512 and test on 1600 x1200?

To boost the performance, MVSTER* is trained on 1600 x1200 and then tested on 1600 x1200. In the ablation, we train on 640 x 512 and test on 864 x 1152.

Thank you!


[RTM] More documentation fixes and cleanup

Counterintuitive, but this is how Docker for Windows works. This socket is
special.
On Jan 18, 2017 7:28 PM, "Oscar Esteban"<EMAIL_ADDRESS>wrote:

@oesteban commented on this pull request.
In docs/installation.rst
https://github.com/poldracklab/fmriprep/pull/328:

@@ -35,9 +41,10 @@ For security reasons, many HPCs (e.g., TACC) do not allow Docker containers, but
In this case, start with a machine (e.g., your personal computer) with Docker installed.
Use docker2singularity <https://github.com/singularityware/docker2singularity>_ to create a singularity image. You will need an active internet connection and some time. ::

$ docker run -v /var/run/docker.sock:/var/run/docker.sock \

   -v D:\host\path\where\to\ouptut\singularity\image:/output \

   --privileged -t --rm singularityware/docker2singularity \

$ docker run --privileged -t --rm \

   -v /var/run/docker.sock:/var/run/docker.sock \

   -v D:\host\path\where\to\output\singularity\image:/output \

But the previous line says -v /var/run/docker.sock:/var/run/docker.sock
is that correct?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/poldracklab/fmriprep/pull/328, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAOkp2Ig4tJwh0-Xcr9BEPrQ3j4OrqILks5rTthggaJpZM4LjGWC
.

What's the disadvantage? It's just an example.
On Jan 18, 2017 7:55 PM, "Oscar Esteban"<EMAIL_ADDRESS>wrote:

@oesteban commented on this pull request.
In docs/installation.rst
https://github.com/poldracklab/fmriprep/pull/328#pullrequestreview-17380288
:

For example: ::
 $ singularity run ~/poldracklab_fmriprep_latest-2016-12-04-5b74ad9a4c4d.img \

   --participant_label sub-387 --nthreads 1 -w $WORK/lonestar/work \

   --ants-nthreads 16 --skull--strip-ants /work/04168/asdf/lonestar/ \

   $WORK/lonestar/output participant

   /work/04168/asdf/lonestar/ $WORK/lonestar/output \

Do we want these particular paths tightly linked to TACC clusters?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/poldracklab/fmriprep/pull/328#pullrequestreview-17380288,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAOkp4ByJKh4vNnrQvTGtBtGDsQ_YmG0ks5rTt7DgaJpZM4LjGWC
.

nprocs?
On Jan 18, 2017 7:56 PM, "Oscar Esteban"<EMAIL_ADDRESS>wrote:

@oesteban commented on this pull request.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/poldracklab/fmriprep/pull/328#pullrequestreview-17380357,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAOkpxmZ47ZOljvWk097Kh1q55z64xoFks5rTt8AgaJpZM4LjGWC
.

Yes, I think --nthreads is a bit misleading. We had this discussion about MRIQC if I recall. Probably --nprocs or --n_procs is more appropriate, DYT?

LGTM, assuming agreement on --nthreads/--nprocs is reached. (I don't have an opinion here, is there a pointer to existing arguments?)

Let's leave changes to the command line arguments to a separate PR.
On Thu, Jan 19, 2017 at 9:21 AM, Chris Markiewicz<EMAIL_ADDRESS>wrote:

LGTM, assuming agreement on --nthreads/--nprocs is reached. (I don't have
an opinion here, is there a pointer to existing arguments?)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/poldracklab/fmriprep/pull/328#issuecomment-273839793,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAOkp46GZx0-hvdwg0MIiuMQfCrdk4K5ks5rT5ulgaJpZM4LjGWC
.


run time issue

I changed image location in daemonset.yaml as
spec:
containers:
- args:
- --path.kubecgroup=/host/kubecgroup
- --path.sysbuspci=/host/sys/bus/pci/devices/
- --path.sysclassnet=/host/sys/class/net
- --path.cpucheckpoint=/host/cpu_manager_state
- --path.kubeletSocket=/host/kubelet.sock
- --collector.kubepoddevice=true
image: registry.nec.nfvi.localdomain:5000/sriov-metrics-exporter:latest
imagePullPolicy: Always
name: sriov-metrics-exporter
Executed below commands and getting error.
kubectl create namespace monitoring  (Result is OK)
kubectl apply -f deployment/daemonset.yaml (Result is OK)
kubectl -n monitoring exec -it $(kubectl get pods -nmonitoring -o=jsonpath={.items[0].metadata.name} -lapp.kubernetes.io/name=sriov-metrics-exporter) -- wget -O- localhost:9808/metrics   (Result is NOT OK)
Error :
kubectl -n monitoring exec -it $(kubectl get pods -nmonitoring -o=jsonpath={.items[0].metadata.name} -lapp.kubernetes.io/name=sriov-metrics-exporter) -- wget -O- localhost:9808/metrics
I0922 05:12:10.280539 1546087 request.go:665] Waited for 1.044563777s due to client-side throttling, not priority and fairness, request: GET:https://api.nec.nfvi.localdomain:6443/apis/ssp.kubevirt.io/v1beta1?timeout=32s
I0922 05:12:20.480658 1546087 request.go:665] Waited for 11.243479854s due to client-side throttling, not priority and fairness, request: GET:https://api.nec.nfvi.localdomain:6443/apis/k8s.cni.cncf.io/v1?timeout=32s
error: error executing jsonpath "{.items[0].metadata.name}": Error executing template: array index out of bounds: index 0, length 0. Printing more information for debugging the template:
template was:
{.items[0].metadata.name}
object given to jsonpath engine was:
map[string]interface {}{"apiVersion":"v1", "items":[]interface {}{}, "kind":"List", "metadata":map[string]interface {}{"resourceVersion":"", "selfLink":""}}
error: pod, type/name or --filename must be specified

Hi @girisubhra ,
could you try exec into the pod itself, then run the wget cmd from in there?
wget -O- localhost:9808/metrics
Also, could you provide the output of "describe" on the pod?

Hi @girisubhra
I don't think your issue is related to Metrics Exporter , take a look at this issue, it might solve your problem.
https://github.com/harvester/harvester/issues/1617

Reference
Thank you very much for your suggestion i followed https://github.com/harvester/harvester/issues/1617, and now throttling error is not appearing, but it is giving error for "Error executing template: array index out of bounds".

Error
[root@bstn01 sriov-network-metrics-exporter]# kubectl -n monitoring exec -it $(kubectl get pods -nmonitoring -o=jsonpath={.items[0].metadata.name} -lapp.kubernetes.io/name=sriov-metrics-exporter)
error: error executing jsonpath "{.items[0].metadata.name}": Error executing template: array index out of bounds: index 0, length 0. Printing more information for debugging the template:
template was:
{.items[0].metadata.name}
object given to jsonpath engine was:
map[string]interface {}{"apiVersion":"v1", "items":[]interface {}{}, "kind":"List", "metadata":map[string]interface {}{"resourceVersion":"", "selfLink":""}}
error: pod, type/name or --filename must be specified

I am also getting same error

Reference
Thank you very much for your suggestion i followed harvester/harvester#1617, and now throttling error is not appearing, but it is giving error for "Error executing template: array index out of bounds".

Error
[root@bstn01 sriov-network-metrics-exporter]# kubectl -n monitoring exec -it $(kubectl get pods -nmonitoring -o=jsonpath={.items[0].metadata.name} -lapp.kubernetes.io/name=sriov-metrics-exporter) error: error executing jsonpath "{.items[0].metadata.name}": Error executing template: array index out of bounds: index 0, length 0. Printing more information for debugging the template: template was: {.items[0].metadata.name} object given to jsonpath engine was: map[string]interface {}{"apiVersion":"v1", "items":[]interface {}{}, "kind":"List", "metadata":map[string]interface {}{"resourceVersion":"", "selfLink":""}}
error: pod, type/name or --filename must be specified

After execution below resources are create in my openshift cluster 3master/2worker exporter pods spawned.

Reference
Thank you very much for your suggestion i followed harvester/harvester#1617, and now throttling error is not appearing, but it is giving error for "Error executing template: array index out of bounds".

Error
[root@bstn01 sriov-network-metrics-exporter]# kubectl -n monitoring exec -it $(kubectl get pods -nmonitoring -o=jsonpath={.items[0].metadata.name} -lapp.kubernetes.io/name=sriov-metrics-exporter) error: error executing jsonpath "{.items[0].metadata.name}": Error executing template: array index out of bounds: index 0, length 0. Printing more information for debugging the template: template was: {.items[0].metadata.name} object given to jsonpath engine was: map[string]interface {}{"apiVersion":"v1", "items":[]interface {}{}, "kind":"List", "metadata":map[string]interface {}{"resourceVersion":"", "selfLink":""}}
error: pod, type/name or --filename must be specified

Hi @girisubhra ,
can you execute just :kubectl get pods -nmonitoring
as this is what is returning nothing I believe.

After execution below resources are create in my openshift cluster 3master/2worker exporter pods spawned.

Hi,
perhaps there is some taints which is stopping from the resource from getting created.

I am also getting same error

Reference
Thank you very much for your suggestion i followed harvester/harvester#1617, and now throttling error is not appearing, but it is giving error for "Error executing template: array index out of bounds".

Error
[root@bstn01 sriov-network-metrics-exporter]# kubectl -n monitoring exec -it $(kubectl get pods -nmonitoring -o=jsonpath={.items[0].metadata.name} -lapp.kubernetes.io/name=sriov-metrics-exporter) error: error executing jsonpath "{.items[0].metadata.name}": Error executing template: array index out of bounds: index 0, length 0. Printing more information for debugging the template: template was: {.items[0].metadata.name} object given to jsonpath engine was: map[string]interface {}{"apiVersion":"v1", "items":[]interface {}{}, "kind":"List", "metadata":map[string]interface {}{"resourceVersion":"", "selfLink":""}}
error: pod, type/name or --filename must be specified

Hi, if you are using open shift, you must replace the kubectl cmd part with open shift command.

I was tryng to run image as a container in the worker node , but pod is exiting immediately, please suggest if i have done any mistake, please suggest how it can be resolved
Command executed
podman run -d --name sriov -p 9808:9808 registry.rec.nfvi.localdomain:5000/sriov-metrics-exporter --path.kubecgroup=/host/kubecgroup --path.sysbuspci=/host/sys/bus/pci/devices/ --path.sysclassnet=/host/sys/class/net --path.cpucheckpoint=/host/cpu_manager_state
--path.kubeletSocket=/host/kubelet.sock --collector.kubepoddevice=true
Output
podman logs 90459b278226
2022/09/26 05:14:13 Unsafe or invalid path specified, Error: lstat /host: no such file or directory

I am also getting same error

Reference
Thank you very much for your suggestion i followed harvester/harvester#1617, and now throttling error is not appearing, but it is giving error for "Error executing template: array index out of bounds".

Error
[root@bstn01 sriov-network-metrics-exporter]# kubectl -n monitoring exec -it $(kubectl get pods -nmonitoring -o=jsonpath={.items[0].metadata.name} -lapp.kubernetes.io/name=sriov-metrics-exporter) error: error executing jsonpath "{.items[0].metadata.name}": Error executing template: array index out of bounds: index 0, length 0. Printing more information for debugging the template: template was: {.items[0].metadata.name} object given to jsonpath engine was: map[string]interface {}{"apiVersion":"v1", "items":[]interface {}{}, "kind":"List", "metadata":map[string]interface {}{"resourceVersion":"", "selfLink":""}}
error: pod, type/name or --filename must be specified

Hi, if you are using open shift, you must replace the kubectl cmd part with open shift command.

I was tryng to run image as a container in the worker node , but pod is exiting immediately, please suggest if i have done any mistake, please suggest how it can be resolved Command executed podman run -d --name sriov -p 9808:9808 registry.rec.nfvi.localdomain:5000/sriov-metrics-exporter --path.kubecgroup=/host/kubecgroup --path.sysbuspci=/host/sys/bus/pci/devices/ --path.sysclassnet=/host/sys/class/net --path.cpucheckpoint=/host/cpu_manager_state --path.kubeletSocket=/host/kubelet.sock --collector.kubepoddevice=true
Output podman logs 90459b278226 2022/09/26 05:14:13 Unsafe or invalid path specified, Error: lstat /host: no such file or directory

Hi @girisubhra , that error is due to the mounts not being created.
You are running it as a container on it's own, for this to work you'd most likely need to copy what the pod spec does, mount the directories, create the prometheus service, etc.
Best thing to do would be to just deploy the daemonset by kubectl create -f deployment/daemonset.yaml

@girisubhra any update on this ?


feat: display inversion command

Add display inversion command.
Improve example script with changing screen inversion on every button press

I should have been a little more clear. We like for the examples to be a simple demonstration of a single feature. So rather than add to or modify the existing ssd1306_example, it would be better to add a second example (ssd1306_inversion_example) that just demonstrates the inversion feature you have added. This makes it easier for newcomer to see how a particular feature works without getting overwhelmed by a more complex application. And perhaps for simplicity, rather than involve the gpio driver, maybe invert the display in a recursive function that just flips the direction every 5000 milliseconds or so.
We do also welcome more complex application examples, but we call these demos, and usually add them to a separate folder like we do in the atomvm_examples repo.

Thanks @UncleGrumpy for the feedback.
I have moved the example to separate new project under examples directory.

You should probably update the commit message to reflect the changes you made to the example of the inversion feature.

Hey @UncleGrumpy , is there anything else I can do to improve that ?