feature update and bug fix

Q
A

Bug fix?
yes

New sample?
yes

Related issues?
No

What's in this Pull Request?
Width and location of the bars are more precise as before.
Additionally, I have added

top header with start, current and end date of the project
a current day indicator
Status indicator, for completed, current, late and future tasks.
better colouring of the bars following the status indicator

Thanks for your contribution! Sharing is caring.

Thanks @gdk-max! Great update! I've made a few minor adjustments as noted below. Just let me know if you have any questions or concerns.

Minor formatting adjustment (2 space indention to make it easier to read directly from GitHub)
Changed Taskname to Task in header
Added a small bit of padding to header (.2em)
Minor simplification
Icon/Item colors to standard classes
Changed icon tooltip from number to text

Thanks for the sample and thanks for being patient!
P.S. - Ignore all my extra commits. I messed up some merging for a bit 😁

Hi Chris,
Thanks for your valuable comments those are really appreciated.
Have a great day.
Geert


no-cycle does not detect require()-based cycles

Following up on #941, as requested here.
From my testing, the no-cycle rule DOES NOT DETECT circular dependencies if they are imported via require() calls.
This seems to be the intended behavior, however. As mentioned in this comment, I found this quote from the no-cycle docs:

By default, this rule only detects cycles for ES6 imports, but see the no-unresolved options as this rule also supports the same commonjs and amd flags. However, these flags only impact which import types are linted; the import/export infrastructure only registers import statements in dependencies, so cycles created by require within imported modules may not be detected.

However, a follow-up comment says that require() cycles are in fact supported, and suggested I open a new issue.
As far as I can tell, the original commenter's repo on that issue shows the problem quite well:
https://github.com/simonbuchan/eslint-import-cycle-example
Clone that, then:
$ npm install
$ npm run lint

><EMAIL_ADDRESS>lint
> eslint .

/eslint-import-cycle-example/import-a.js
  1:1  error  Dependency cycle detected  import/no-cycle

/eslint-import-cycle-example/import-b.js
  1:1  error  Dependency cycle detected  import/no-cycle

✖ 2 problems (2 errors, 0 warnings)

It should also be detecting the cycle in require-a.js.
Am I misusing something?

Do you have a guide somewhere on how to do local development with this plugin? I'd like to poke around a bit, but I haven't figured out how to point eslint at a locally installed repo. Do I have to just copy the working directory into node_modules?

No, you'd use npm link.

I have a working demo in #2706. You definitely wouldn't want to merge as-is, because I just hardcoded a return true in lieu of refining the regex there. I don't totally follow what it's doing, so I didn't try to fix it.
The output on the demo repo above, on that branch, is now:
eslint-import-cycle-example [main*?] $ npm run lint

><EMAIL_ADDRESS>lint
> eslint .

/eslint-import-cycle-example/import-a.js
  1:1  error  Dependency cycle detected  import/no-cycle

/eslint-import-cycle-example/import-b.js
  1:1  error  Dependency cycle detected  import/no-cycle

/eslint-import-cycle-example/require-a.js
  1:11  error  Dependency cycle detected  import/no-cycle

/eslint-import-cycle-example/require-b.js
  1:11  error  Dependency cycle detected  import/no-cycle

✖ 4 problems (4 errors, 0 warnings)

And as an aside, for anybody else, I got this working pretty cleanly for local development via:
eslint-plugin-import $ npm run build
eslint-plugin-import $ npm link

eslint-import-cycle-example $ npm link eslint-plugin-import
eslint-import-cycle-example $ npm run lint


Concerto Expression Language

Feature Request 🛍
Implement an expression language that uses Concerto types as its type system, and Concerto JSON instances at runtime.
Use Case
We need a safe language to use within Cicero templates, based on the Concerto type system. The language should include a library of basic mathematical, string and date/time functions.
Inspiration:
https://gist.githubusercontent.com/fkereki/1830c5ca8680d08b3e38cc4a994d7af2/raw/1fbcc60ef9589c86a4f9457247823508ccb0c68a/gistfile1.txt
Possible Solution
Add a new package concerto-expression-parser that includes a DSL implemented using peg.js. The parser AST will then be validated against the type definitions present in a ModelManager.
For example, given the model:
namespace test

concept Person {
   o String name
}

The following expression is valid:
person.name == 'Dan' // returns true or false

While the following expressions are invalid:
person.age == 10 // missing property
person.name == 10 // not a numeric property

Add a second new package concerto-expression-eval that evaluates a parser AST against a set of named input objects, producing an output scalar.
Context
Migrate Cicero templates away from inline Ergo.
Detailed Description
Target Excel macro type of user. Detect invalid expressions prior to evaluation. Start small and grow the function library progressively over time. Ensure safe evaluation within the web browser, Docker container, JS environments. E.g. no use of JS eval.

https://github.com/LeanyLabs/formula-engine


Migrate to Dart sound null safety

Hello, we know that dart sound null safety feature is coming to stable channel. I was waiting for this package dependencies migrate to it. And these days was possible to migrate. See the changes in pubspec.yaml.
I ran the tests, but two tests has failed:
"Image url without slash at beginning still results in valid url when falling back to html parser" and
"MetadataParser.parse(doc) works without a doc.requestUrl (relative URLs are just not resolved)"
I was not able to figure out why this fails, but I don't understand these tests purposes (sorry).
Well, this is my collaboration, since this package is very useful for me and other people.

When can we merge this branch? I'm getting a http dependency conflict when upgrading to Flutter 2

@jg-l Are you still maintaining this project?

@jg-l Are you still maintaining this project?

Yes, will migrate to null-safety this weekend.
Also looking for another maintainer !


[mgmt] confluent release

https://github.com/Azure/sdk-release-request/issues/5018

API change check
APIView has identified API level changes in this PR and created following API reviews.
@azure/arm-confluent


FEATURE(planner): Monitoring rule retrieval API

@adriannieto since you are the one using this for the dashboard, could you please review it?
This PR adds the REST api GET /monitoringrules/{id} that returns the JSON representation of such rules.

Current coverage is 32.13%

Merging #190 into master will increase coverage by +0.09% as of 84f9629

@@            master    #190   diff @@
======================================
  Files          319     319
  Stmts        11662   11662
  Branches      1465    1465
  Methods          0       0
======================================
+ Hit           3737    3748    +11
+ Partial        385     379     -6
+ Missed        7540    7535     -5

Review entire Coverage Diff as of 84f9629

Powered by Codecov. Updated on successful CI builds.

@szenzaro @andreaturli Dashboard will translate the response into an object in order avoid boilerplate code[1]. As part of my work on the dashboard I'm going to work in the integration of the Java clients of the other components, like SLA and T4C (also Brooklyn if I figure out a way to deal with the collisions between maven dependencies) so object as response (or at least compatible output in XML, because I don't know if T4C supports JSON, the code looks to be prepared for XML).
I think that you could talk with @MicheleGuerriero if you want an example of how to return monitoring rules directly. Be aware that if you directly import the model from Tower4Clouds Dropwizard will find some offending dependencies, please take a look to my work on [2]
I hope it will help, it's mandatory to move to objects (at least if they already exist), IMO is way more important than deadlines to have good code.
[1] https://github.com/adriannieto/SeaCloudsPlatform/blob/feature/move-orchestration-from-js-to-java/dashboard/src/main/java/eu/seaclouds/platform/dashboard/rest/DeployerResource.java#L76
[2] https://github.com/adriannieto/SeaCloudsPlatform/blob/feature/move-orchestration-from-js-to-java/dashboard/pom.xml#L74
My two cents.

Ok so I will go for Andrea's suggestion. Returning the object will result in returning an xml that with your code will be translated to the MonitoringRules java object

Ok, I refactored it to be compliant with your comment.

I refactored and rebased it. Is it better now?

@szenzaro, can you please add a test. I think http://www.dropwizard.io/0.9.1/docs/manual/testing.html#testing-resources
may be the right approach. wdyt?

@andreaturli What's wrong with this PR? I see a error only in the DAMGenerator class, which is however outdated wrt the new version developed by @kiuby88
No criticism, I am just trying to understand :)

@szenzaro could you update fix the building error? It seems that this PR is out of sync with the latest changes as @jacopogiallo said.

@adriannieto @jacopogiallo could you please check if it is ok now?
If yes I will squash the commits.

As @szenzaro stopped working for SeaClouds, I'd try to simplify the review allowing it to be merged without tests, but @jacopogiallo should be aware that probably this could lead into troubles later.

Thanks @adriannieto.

@adriannieto the situation is not that simple (I did not just "stopped" to work on SeaClouds), but thank you for understanding priorities.

Yes, rebase it, and I will take a final look to the code.

@adriannieto I rebased the PR, could you please have the final look at it?

@MicheleGuerriero do you think this is ready to merge? (I'm asking you because you're related with the Monitoring)

@adriannieto the code implementing the integration between the DAMGenerator and the monitoring-dam-generator is in planner/core and since this PR is just providing a service for returning the monitoring rules of an application that integration is still the one on the master. I cannot add much more about the design of the service since I was not involved in that. The service looks like it is returning a list of monitoring rules. If it is designed as what you expect from the Dashboard and you, as original the reviewer, think the code is fine, I think it could be merged.

@adriannieto @MicheleGuerriero What about this PR? Is it ready to be merged? I see it has again conflicts with the rest of the SeaClouds platform (even if it has already been rebased). In case this PR is ready to be merged, I can @szenzaro whether he can can kindly rebase it again (as you know, he is not working for SeaClouds any more - and I have to ask it to him as a personal favor).
FYI, this PR is almost three months old.

@jacopogiallo I rebased as you asked ;)

Thanks @szenzaro :)
@MicheleGuerriero @adriannieto Can you complete reviewing or merge the PR, please?

@/all Can anybody perform this review, please?


These docs are not even remotely close

bart check content/blog/*
❌ content/blog/protons.md      Failed to open template "templates/blog.hbs": No such file or directory (os error 2)
Error: One or more pieces of content are invalid

spin up --follow-all
error: Found argument '--follow-all' which wasn't expected, or isn't valid in this context

        Did you mean '--follow'?

        If you tried to supply `--follow-all` as a value rather than a flag, use `-- --follow-all`

USAGE:
    spin trigger http --follow <FOLLOW_ID>

For more information try --help
Error: exit status: 2

At least 50% of the commands are wrong or don't seem to apply; Nothing here in these docs appear to be relevant anymore. Abandonware?
I love the idea of a Rust CMS, I've run a large Drupal site and a few Grav sites. However this random mess is kind of what I expect from the author of the %#^@ #%@^& monstrosity known as Helm.

@grover77 thank you for the feedback.  As you've noted, the Bartholomew Quickstart doc is due for a few updates and fixes.  I've submitted the following PR to address the items mentioned above: https://github.com/fermyon/developer/pull/542

Simply visit [the template’s location](https://github.com/fermyon/bartholomew-site-template) on [GitHub](https://github.com/fermyon/bartholomew-site-template). Then click on the green Use this template button and follow the prompts.

Use template button? That doesn't exist.
I had the same experience as @grover77, this project sounds cool but the docs do not seem as consistent as random chatGPT output. Thanks for addressing some? of the doc issues.

Not sure if this is a Firefox or Github CSS bug, but at 200% magnification, the green button goes away. Reducing the zoom (Ctrl -) that button magically appears. Thanks!

I was able to make the template button appear, and then cloned the template and cd'd into it. Now I'm stuck exactly where @grover77 reported
spin up --follow-all
error: Found argument '--follow-all' which wasn't expected, or isn't valid in this context

        Did you mean '--follow'?

        If you tried to supply `--follow-all` as a value rather than a flag, use `-- --follow-all`

USAGE:
    spin trigger http --follow <FOLLOW_ID>

For more information try --help
Error: exit status: 2

@mabushey Please run spin up without the --follow-all - this option is out of date and a docs fix is in progress at #541.

~/project/bartholomew-template/content   main ±  bart new post content/blog protons.md --author "Enrico Fermi" --template "blog" --title "On the Recombination of Neutrons and Protons"
Error: No such file or directory (os error 2)

@mabushey My guess is that you are already in the content directory so it is complaining about content/blog as a relative path.  Could you try running the command in ~/project/bartholomew-template instead please?  But clearly we need to improve the error message (and make the expected current directory clearer in the docs) - thanks for flagging this!

@itowlson You are FAST! It took me a minute or two to figure exactly that out. I deleted the comment but you already responded to it. :)
I created a few pages under content/blog. When I go to <IP_ADDRESS>:3000/blog I get a index of the pages which is perfect. However when I click on one, ie [View the Post](http://<IP_ADDRESS>:3000/blog/automatic-drush-aliases) it goes to that URL but still shows the index. I think I'm 90% of the way there! I need to figure out how to create a menu of categories (ie blog, notes, etc) and get this index to page thing working. After that I'll probably containerize this and then make a blog / how-to post about converting my simple blog from grav to bart.
Is there and easy way to add comments to the pages? I'm OK with manually copying over any comments I approve of.

As far as I know, the blog post pages should Just Work (TM) - I'm not sure what would cause the behaviour you're seeing.  Did bart check content/blog/* flag up any problems?  Did the initial protons test post work?  @karthik2804 any ideas?

The initial protons test works in that it is listed on the /blog page in full, and View the Post changes the URL to /blog/protons and shows the same HTML as /blog
bart check content/blog/*
✅ content/blog/automatic-drush-aliases.md
✅ content/blog/books.md
✅ content/blog/ping-times-to-google.md
✅ content/blog/protons.md

My issues are:

I would like code blocks in triple backticks to be shaded in, probably a simple CSS template change
The index page shows the full pages, I would like /blog to just show a teaser, maybe first 5 lines or so
The View the Post goes to that URL, but it's the exact same HTML index page. I would like it to be the full blog entry w/o the rest of the pages
I would like the items on the index page sorted by date

If I want /blog to be the default / , what's the best way to do that?

from the spin output:
Path /content/blog/protons.md
Cannot create Cache file
Responded: /blog/protons

Not sure why it says it Cannot create Cache file.

Hello @mabushey , I will try to address each of the individual questions:

Regarding styling codeblocks - Yes, you are correct that it is just a simple CSS change.

Showing teasers in the blog list -  This can be achieved using rhai scripts. rhai is the scripting language used to bring more functionality to the templates. A similar implementation to what is asked for is used in the changelog. The script to truncate content can be found at https://github.com/fermyon/developer/blob/main/scripts/truncate_post.rhai. An example usage of the script can be found at https://github.com/fermyon/developer/blob/5c398743b8271ed76a11e96bed13f1721d062b36/templates/changelog.hbs#L65

To use it in the default template you would have to do the following:
i) Add the truncate_post script above to the scripts folder.
II) In templates/blog.hbs you would have to change line 14 to be the following
{{{truncate_post page.body}}}

iii) Mark where you like for the content to be truncated with <!-- break -->. An example of this can be found at https://github.com/fermyon/developer/blob/main/content/cloud/changelog/gh-actions-spin-deploy.md?plain=1

I am guessing the value of template in the frontmatter on the posts inside content/blog/ has the value blog. Changing that to main should solve the issue.

Sorting content by date can again be accomplished using rhai scripts. Below is a script that provides this functionality. Replacing the contents of `scripts/blog. Thai with the below script should make it work.

// This function lists all of the blog posts, subject to the constraints.
//
// It returns an array of objects of the form:
//  [
//    #{
//       uri: "path/to/page",
//       page: {
//          head: {title: "some title", description: "Some description", ...}
//          body: "This is the HTML"
//       }
//     }
// ]
//
// The array is sorted with the earlier items being most recent, and the oldest items at the end.

// Param 1 should be `site.pages`
let pages = params[0];

// Loop through them and return all of the page objects that are in
// the blog path.

let blog_pages = [];

// Get each blog post, assigning it to {path: object}.
let keys = pages.keys();
for item in keys {
    if item.index_of("/content/blog/") == 0 && pages[item].head.extra.type == "post" {
        // Remove /content and .md
        let path = item.sub_string(8);
        let page = pages[item];
        path = path.sub_string(0, path.index_of(".md"));

        blog_pages.push(#{
            uri: path,
            page: page,
            template: "blog",
        });
        //blog_pages[path] = pages[item];
    }

}

// Return the blogs sorted newest to oldest
fn sort_by_date(a, b) {
    if a.page.head.date < b.page.head.date {
        1
    } else {
        -1
    }
}

// Sort by the value of the page date.
blog_pages.sort(Fn("sort_by_date"));

blog_pages

Finally for /blog to appear in /, you would have to just replace the contents of content/index.md with the contents from content/blog.md.
Regarding the error about creating the cache file - By default spin does not let writing to the file system which is why the caching error shows up. It is safe to ignore but if you want to use a cache file, you can do so by running spin up --allow-transient-write when running locally.
Let me know if that helps - Happy to answer any other questions about it as well.

@karthik2804 You rock! Thank you! You correctly resolved my issues so far! If you ever make it to Missoula, MT we have a bunch of breweries and I owe you a drink or two. This is a huge help, and I'm liking how this system is working.

Happy to help! I am going to close this issue now but feel free to open a new issue if you have any other questions.


Add linux_ppc-32 to list of supported platforms in native build script

Add compiler flags and options for linux ppc 32 bit platform to modularity native build script
Resolves https://github.ibm.com/runtimes/backlog/issues/308

Signed-off-by<EMAIL_ADDRESS><EMAIL_ADDRESS>

Test : runtimes-jenknins/Grinder/7788/console


Service name has changed between Windows versions

In the section "Configure the KMS host to publish in multiple DNS domains"
...restart the Software Licensing service...
In Vista/2008 the service was named Software Licensing.
In Win7/2008R2 and later (up until at least Win2016) it is named Software Protection.
Can this please be updated to show the different names for the service in the different Windows versions?

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

ID: 08ba6d1a-0f8e-7796-073f-f431c4421f6c
Version Independent ID: c88cc509-3ccc-dc6d-f0b2-098303d178c6
Content: Guidelines for troubleshooting DNS-related activation issues
Content Source: WindowsServerDocs/get-started/common-troubleshooting-procedures-kms-dns.md
Technology: server-general
GitHub Login: @Teresa-Motiv
Microsoft Alias: v-tea

#assign:dknappettmsft

Thanks for the feedback This has been changed and should be visible in the next few hours.
#please-close


Restore Previous Commit Message on Undo Last Commit

This relates to issue #6190.
I've gone ahead and reimplemented the getLog method, modeling almost exactly the getCommitTemplate method along the way.
I've also implemented the consuming part of this similar as before, using IStorageService. I adjusted it to avoid the bug of blanking out the commit msg when unstaging a file. It also works for consecutive calls to "Undo Last Commit".
If you think there is a better way than using IStorageService, then it should be easy enough to change with how I separated these two commits. As it is though, it is working on my machine (Ubuntu 16.04).

Hi @bill-mybiz, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by Microsoft and real humans are currently evaluating your PR.
TTYL, MSBOT;

I didn't see the "automagically assigned to X" thing, so I'm going to shout out to @joaomoreno here.

Instead of getLog, made a simpler getCommit
Removed the dependency on storage service and rely on the OPERATION_START event to be able to call git to get the previous commit message

@joaomoreno Looks beautiful. Thanks for your help.


[Bug]: ElasticsearchIO connector does not properly estimate index size

In the process of investigating the issue reported here:
https://stackoverflow.com/questions/74390325/how-to-enable-elasticsearchio-parallel-reads-in-apache-beam
it appears that the method used by the ElasticsearchIO connector to get the estimated size of the data in the response is not accounting for the case where the configured index is an alias or a datastream or an index pattern which can point to multiple indexes.
The original issue was a query that returns over 100 million documents for processing in the pipeline was unable to scale and was only processing at a rate of 40 / second.
As discussed in the stackoverflow thread, the code here: https://github.com/apache/beam/blob/c7f2cab6ea30a63e04847dc45047a8193abc9552/sdks/java/io/elasticsearch/src/main/java/org/apache/beam/sdk/io/elasticsearch/ElasticsearchIO.java#L871
is not properly accounting for a number of scenarios where the index name returned by ElasticSearch is different than connectionConfiguration.getIndex().
ElasticSearch should be relied upon to return the proper indexes for a given stats query, and as such the _all object should be used instead of the indicies top level object.  If there are other cases where the _all object isn't appropriate, then the code should iterate through all of the indicies returned under the indices field and sum the total store size, and not simply try to match the configured index.
Issue Priority
Priority: 2
Issue Component
Component: io-java-elasticsearch

At the very least we should provide a way for the end user to specify the size or degree of splitting until this is resolved.

CC: @egalpin

I'm working on a PR for this, but its a trivial change. I've attached the patch if anyone wants to have a look.
0001-Read-from-_all-instead-of-_indices-for-index-stats.patch.txt

Thanks @JeffBolle for raising this and for proposing the patch.  I can have a look at the patch, but definitely would not want to rob you of the chance to contribute your change directly if you're interested in doing so!

Ok I think the patch is close but not quite right. using _all would take the size of all indices in the cluster, but that may not be applicable to the size of data that one will be reading.  Instead, if we use the stats API at the index level (GET /my-index-name/_stats) and then use _all, it contains data for all aliases of my-index-name.
I believe this would fulfill the original goal.  Thoughts @JeffBolle ?

Thanks @JeffBolle for raising this and for proposing the patch. I can have a look at the patch, but definitely would not want to rob you of the chance to contribute your change directly if you're interested in doing so!

I appreciate that, but for now I think this is the best path. Better to get the issue resolved quickly. If the next one involves more work to address properly I might want credit for that.


tests: Bluetooth: Tester: More logging and verification for ISO RX

Add additional data to the logs and only send the event once we have receive a successful SDU.

This needs a rebase

Rebased to solve merge conflicts


Updated channel and documentation to Rubocop v0.83.0

This PR proposes to update the Rubocop integration to support v0.83.0. It includes commits from #234 as well, but I'm happy to rework the PR to do a straight upgrade from the 0-81 channel if that's preferable.

Done and done!


refector code to Yatzy2 and Update Yatzy.Test.csproj with new package…

… references

Don't send me solutions


Avoid queuing up report tasks in ScheduledReporter

Fixes https://github.com/dropwizard/metrics/issues/1524
Discussion does not seem to be active, but it could be merged if no objections.

@the-thing Thanks for your contribution! Could you please rebase your PR against the release/4.2.x branch?

The branch is up to date with 4.2.x. Do you mean change PR to merge into 4.2.x?


3.0.98 will cause a crash.

Title. Report below, modlist inside it as well.
GekoLib is mentioned a lot throughout it, so I doubt its other mods, but I may be wrong.
https://pastebin.com/Tz5Am3cg

Fixed #319 merged, will be released shortly.

Thanks.

Thanks. I'm not using Fabric, so .99 isn't useful to me atm, unless Forge is still taking a while.

it's all still building and pending on CurseForge

Ah, alright, sorry.

I think I'm still seeing this on 3.0.71 fabric 1.18.2

I think I'm still seeing this on 3.0.71 fabric 1.18.2 (3.0.68 loads fine and the problem started in 3.0.70)

New issue for different versions and include logs


Exception thrown during boot when using DockerHub image

It seems that since release of OpenJDK 1.8.0_121 image from DockerHub which is based on fabric8/java-alpine-openjdk8-jdk/ there's an exception thrown during boot. I was able to reproduce it on Minishift and Dedicated env.
Googling around indicated that this may be caused by upgraded Java version. E.g. when I use f-m-p to build ipaas-rest with s2i binary (by default uses fabric8/s2i-java that is still on _111) the exception is gone.

Thanks for the heads up, I will have a look.

Thanks @rhuss.
I forgot to mention that this exception leads to backend being unreachable as it inherently can't verify the access token.

I see it now myself, too ;-) We are changing to a centos based image, too.

@rhuss have you found any specific OpenJDK bug for this? Maybe we should raise an issue to have it addressed properly for the future to prevent it from bitting us again:).

@dsimansk unfortunately not ;-( I even doesn't know whether its maybe alpine specific as I now switched to another OS. But I can continue to look ...
BTW, the docker image is already bubbled up to dockerhub.


x/dotc: refactor for readability

Codecov Report

Merging #229 into master will decrease coverage by 0.14%.
The diff coverage is 91.15%.

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

Codecov Report

Merging #229 into master will decrease coverage by 0.14%.
The diff coverage is 91.15%.

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


Node Name Issue

just an fyi...
I downloaded 0.3.0 and ran into issues with the email notification that crashed rtview...needed to rebuild...
on new rebuild, I started incorporating IP into the name (example: "Relay-1_123.34.98"); however, it still wasn't working (all nodes were idle)
I went through several rebuilds trying to troubleshoot the issue and then fixed it with changing Node name within rtView back to

"CoreProducer"
"Relay-1"
"Relay-2"

All Fixed.

So, do you mean that Relay-1 works and Relay-1_123.34.98 doesn't?

Correct.

Correct.

@RRusso84 Could you please try Relay-1_123_34_98 or Relay-1_123-34-98 names? Do they work?

@RRusso84 Could you please try Relay-1_123_34_98 or Relay-1_123-34-98 names? Do they work?


Fix transformer

Inherit Base in "TransformerBasis".

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

Project coverage is 97.25%. Comparing base (87d3c29) to head (e70c9da).

Files
Patch %
Lines

src/nemos/basis.py
90.00%
1 Missing :warning:

Additional details and impacted files
@@               Coverage Diff               @@
##           development     #155      +/-   ##
===============================================
- Coverage        97.30%   97.25%   -0.06%
===============================================
  Files               15       15
  Lines             1485     1494       +9
===============================================
+ Hits              1445     1453       +8
- Misses              40       41       +1

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

Why not always have the Basis be a transformer? Does it add overhead or something else?

This needs more work, @bagibence is working on it.
The issue is that we are breaking the API for BaseTransformer of sklearn, which does not allow variable positional or keyword arguments.
The variable args are inputs to the convolution called in compute_features of Basis. The solution is to accept a conv_kwarg argument in theBasis.__init__ defaulted to None with dict as type.
Additionally, he is rewriting the __getitem__ to resurface the attributes of the basis, this will allow you to perform stuff like
grid = dict(n_basis_funcs=[5, 6])  # grid search the num of basis
pipe = pipeline.Pipeline([("eval", bas), ("fit", model)])
cls = GridSerachCV(pipe, grid).fit(x, Y)

While with the currentTransformerBasis the only parameter that can be get and set is the TransformerBasis.basis.

Resolved by #169


Security Issue: SSR Global State

The toastState is exported as a global object, which is advised against here: https://kit.svelte.dev/docs/state-management
Instead, the state should be initialized inside the root layout which would set the toast function to the context, so that it could be accessed by any component using a function like so:
Root layout:
<script lang="ts">
  import { initToaster } from "svelte-sonner"

  // init toaster would handle setting the context/initializing the toast state
  initToaster()
</script>

Any component within the app:
<script lang="ts">
  import { getToast } from "svelte-sonner"

  // get toast would get the toast function from the context
  const toast = getToast()

  function doSomething() {
     toast("something was done right")
  }
</script>

Alternatively, you could abstract the initialization away from the user, at the cost of having to wrap the entire layout contents in some sort of ToastProvider.
I'd like to use this project with https://github.com/huntabyte/shadcn-svelte, but noticed the current global state implementation which makes me hesitant to use.
Let me know if this is something you'd like to address, I'm willing to submit a PR.

Hi @huntabyte, thanks for commenting! Anything that would help improve svelte sonner, I'm willing to discuss!

Awesome! I'm going to dig into the code a bit, we may be able to just add a browser check to the toast functions to ensure no writes to that state happen on the server-side.


django-cors-headers not compatible with django restframework >3.9.0

django-cors-headers does not seem to work with django restframework  version 3.9.4. When I downgraded to version 3.9.0, It works fine

Please give a more complete  bug report -how is it not working? You're not seeing the headers? And I feel like this should be reported on DRF more than here, since you found the fix is downgrading DRF.

Can you explain in detail what does not seem to work?

It does not break the application but it was not returning Access-Control-Allow-Origin':'*.  The browser complains about cors. When I downgraded the DRF to 3.9.0, it works fine

Please try creating a mini application that reproduces the issue. I created a mini app with DRF and Django in a single file in https://github.com/adamchainz/test-scout-issue-213/blob/master/manage.py recently that may be of use.

Just in case it might help as I've spend some time trying to get it to work and thinking there might be a bug.

Try clearing your browser cache or use a browser you didn't use before for a quick test.

Chances are you used the front end page before adding django-cors-headers to your project.
After adding it to my project, my response headers were still lacking Access-Control-Allow-Origin, until I cleared the browser cache. After that it was just fine.

I'm having the same issue

@kenware I'm closing this issue right now because there's no reproducing case, but if you provide one I'll re-open and investigate.
Thanks,
Adam


mp_gga_relax_job pseudopotential parsing bug

Details about the quacc environment

quacc version: 0.11.3
Python version: 3.11

What is the issue?
The pseudopotential symbols are not getting split correctly in the VASP set converter.
  File "../lib/python3.11/site-packages/quacc/calculators/vasp/params.py", line 471, in _convert
    potcar_setups[k] = v.split(k)[-1]
                       ^^^^^^^^^^
ValueError: empty separator

This appears to be because the list of pseudopotential symbols (which is separated by \n is not getting split into a list, so each character is treated separately.
How can we easily reproduce the issue?
from ase.build import bulk
from quacc import flow
from quacc.recipes.vasp.mp import mp_gga_relax_job

@flow
def test():
    return mp_gga_relax_job(bulk("Cu"))

test()

Thank you for the report, @zulissimeta! This looks like a new bug due to the release of atomate2 0.0.15. We aren't testing it on CI yet because of a dependency conflict (https://github.com/materialsproject/atomate2/pull/970). Happy to accept a fix.

Fixed by @chiang-yuan in #2463!


Handle errors during new online

In case the user enters a malformed url or something else bad happens during repo creation, the repo is created but not added as a favorite.
Perhaps split this into 2 steps, one saving the repo, and next doing the HTTP communication
ZCL_ABAPGIT_SERVICES_REPO=>NEW_ONLINE

I deleted ro_repo->refresh( ) in new_online( ). Thereby the repo will created as a favorite.
The refresh will be called later again.
Could that be a solution?
https://github.com/larshp/abapGit/compare/master...JohannesKonings:issue_1678?expand=1

yeah, think so, nice solution if it works 👍

Another approach:
Analogues to the validation of a malformed url I added a ping to the url. If it fails no repo is created.

Maybe that could work?

In my opinion the above is just a partial fix, the server might return an error even though the url is okay

We have a new form design (https://github.com/larshp/abapGit/pull/3582). Closing this one


Ability to define order of categories

https://community.datagrok.ai/t/general-updates/626/2?u=skalkin

@skalkin - where do you track the option to preserve order of categories after saving?

Saving the order of categories was implemented in #490


Update all repository .github/CODEOWNERS.

The group's names have changed due to some changes to GhostBSD GitHub Members levels. All .github/CODEOWNERS need to be updated.
Here is the example for the change: https://github.com/ghostbsd/ghostbsd-build/pull/194/commits/5426dbc20a47c5ce6903acde05e9b28693c1ed9d#diff-3d36a1bf06148bc6ba1ce2ed3d19de32ea708d955fed212c0d27c536f0bd4da7
Repository to updated:

documentation
gbi
xconfig
issues
ghostbsd-ports
update-station
pybectl
ghostbsd-mate-settings
ghostbsd-ci
backup-station
networkmgr
ghostbsd-slick-greeter-settings
ghostbsd-wallpapers
pc-sysinstall
setup-station
software-station
ghostbsd-pkg-conf
station-tweak
install-station
ghostbsd-xfce-themes
ghostbsd-xfce-settings
ghostbsd-update-scripts
ghostbsd-refind
ghostbsd-mate-themes
ghostbsd-logo
ghostbsd-icons
ghostbsd-bug-report

@Edu-Amorim, most repositories should let you add a branch. However, some might require fork.
There is some GitHub documentation for creating PRs: https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request.
PR from fork: https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request-from-a-fork
Ping me if you have any trouble.

Thanks for doing this.


with ARC, java.lang.reflect.Constructor.newInstance should not autorelease the returned instance [moved]

This is Issue 314 moved from a Google Code project.
Added on 2014-01-18T02:15:12.000Z by<EMAIL_ADDRESS>Please review that bug for more context and additional comments, but update this bug.
Original labels: Type-Defect, Priority-Medium

jre_emul library no longer supports ARC build.


Save circular image

It is possible to save the circular image from the circle fixed aspect ratio crop view?

+1. For me after cropping with circular option, the image comes out as a square/rectangle.

+1 please><

@ArthurHub I ran into this problem today as well. I noticed the CropImage.toOvalBitmap() function, but it only accepts a Bitmap while the CropImageActivity result has only a Uri of course. It would be helpful to make an async version of the function that accepts a Uri or to expose your Bitmap loading task for use by the public.

+1 please :)

Use CircleImageView
compile 'de.hdodenhof:circleimageview:2.1.0'

I know it looks like the easiest solution but it's not the correct one.
Your should use CircleImageView or similar solution.


Add instructions for OpsGenie alerts

Follow up to https://artsyproduct.atlassian.net/browse/PLATFORM-2134, add instructions for using OpsGenie notifications/alerts.

Comments have been addressed, this is ready for review again.


Problem connecting to a Confluence Cloud private space

I'm testing Mark for POC to integrate documentation in my Company's Confluence. Problem is I get the following error
[FATAL] unable to resolve page
                            └─ error while finding page "[page title here]"
                               ├─ Confluence API returned unexpected status: 401 (Unauthorized)

when using the following call: ./mark -u [username(myLoggingEmail)] -p [myPwd] -l https://[companySpace].atlassian.net/wiki -f [myFilePath]/Readme.md --trace
Inside the .md I've used the metadata to point to the correct page, but even if that wasn't right, I understand it should create a new page and not fail, even less return a 401. I think it has something to do with authentication, am I missing something not specified in Mark's readme?

Hey. I believe 401 status code means that the authorization has been failed.
Could you try to use API token as the password instead of your account password?
You can get one with this guide:
https://confluence.atlassian.com/cloud/api-tokens-938839638.html

Its login with an API token (was using MFA), now getting a new error but this is solved. Thank you for your help :D

I don't know if its better to open a new issue, but now I can authenticate, but fail to create the page with the following structure:
SPACENAME > Parent1 > Parent2 > myPageTitle
Gives this error:
                            ├─ template: ac:link:user
                            ├─ expr: @\{([^}]+)\}
                            └─ config:
                                    Name: ${1}
2020-10-29 10:08:44  [WARN] page "[Parent2]" is not found
2020-10-29 10:08:44 [DEBUG] resolving page path: ??? > [Parent1] > [Parent2] > [myPagetitle]
2020-10-29 10:08:52 [FATAL] unable to resolve page
                            └─ can't create ancestry tree: [Parent1] > [Parent2]
                               ├─ can't find root page for space "[SPACENAME]"
                               │  └─ no such space
                               │
                               └─ title: [myPageTitle]

Does the SPACENAME exist in your confluence or you're trying to create a new one? Mark can't create new spaces at the moment.

It exists, and I've checked the name (going to Space Settings and double checking Name and KEY fields, I copy the "Key" field later in the metadata) How does Mark handle whitespaces in Parent/Spaces names? Could that be an issue?

Still having the same error/issue. I use -l [confluenceURL]wiki, with and without trailing "/". I've also tried with [confluenceURL]/wiki/spaces (with and without trailing "/". Still can't get mark to reach and recognize the space. May this be a permission's issue? (Im not admin of that space)

I don't really know what could cause this. I'll try to reproduce this on a fresh cloud account tomorrow, will let you know.

Thanks for the help. Is there any way to have Mark provide more verbose logging/output?

@AbianG I was not able to reproduce the issue, but I've added a very verbose mode for printing literally every request and response out to stderr if --trace flag is passed. Could you please try it and see if there is anything meaningful in the Confluence's response?
Be careful with posting the logs, it may contain authorization data because I didn't do anything to remove them from the request/response dumps.
Check version 3.3

Much more verbose now, thanks for that. I still can't see the error, I'll post the whole trace here while removing auth data. I will keep the space names and pages because I don't think that's a concern.
                              ├─ template: ac:link:user
                              ├─ expr: @\{([^}]+)\}
                              └─ config:
                                      Name: ${1}
2020-11-03 08:25:31.166 TRACE rest: GET /rest/api/content/?expand=ancestors%2Cversion&spaceKey=CLOUDOPS&title=Documentation%3A+AID+for+SREs+and+SROs HTTP/1.1
                              Host: [MYCOMP].atlassian.net
                              Authorization: Basic [redacted]

2020-11-03 08:25:31.669 TRACE rest: GET /rest/api/content/?expand=ancestors%2Cversion&spaceKey=CLOUDOPS&title=SRO+Process HTTP/1.1
                              Host: [MYCOMP].atlassian.net
                              Authorization: Basic [redacted]

2020-11-03 08:25:32.145 WARN  page "SRO Process" is not found
2020-11-03 08:25:32.146 DEBUG resolving page path: ??? > Operational+Intelligence > SRO Process > Documentation: AID for SREs and SROs
2020-11-03 08:25:32.146 TRACE rest: GET /rest/api/content/?expand=ancestors%2Cversion&spaceKey=CLOUDOPS&title=Operational%2BIntelligence HTTP/1.1
                              Host: [MYCOMP].atlassian.net
                              Authorization: Basic [redacted]

2020-11-03 08:25:32.623 TRACE rest: GET /rest/api/content/?expand=ancestors%2Cversion&spaceKey=CLOUDOPS HTTP/1.1
                              Host: [MYCOMP].atlassian.net
                              Authorization: Basic [redacted]

2020-11-03 08:25:33.076 FATAL unable to resolve page
                              └─ can't create ancestry tree: Operational+Intelligence > SRO Process
                                 ├─ can't find root page for space "CLOUDOPS"
                                 │  └─ no such space
                                 │
                                 └─ title: Documentation: AID for SREs and SROs

It seems its not finding the space, but the Key is right, so I don't know why could it be.

What does this /rest/api/content/?expand=ancestors%2Cversion&spaceKey=CLOUDOPS request return for you?

After authenticating with BasicAuth, it returns the following 404 (like the space is not found)
{
  "statusCode": 404,
  "data": {
    "authorized": false,
    "valid": true,
    "errors": [],
    "successful": false
  },
  "message": "com.atlassian.confluence.api.service.exceptions.NotFoundException: No space with key : CLOUDOPS"
}

The "authorized:false" its strange to me, because I'm using the API key and, if I change it, I don't get this 404 but this response:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<status>
  <status-code>401</status-code>
  <message>Request rejected because issuer is either not authorized or not authorized to impersonate</message>
</status>

Strange that I don't see any response in your trace logs. Could you share the trace log (redacted) when you use the correct space key — CLOUDOPERATIONS.
I'm particularly interested in JSON response that mark receives on  GET /rest/api/content/?expand=ancestors%2Cversion&spaceKey=CLOUDOPERATIONS.
It's very strange to see this error and the fact that you have shown that this page actually returns the correct response if you request it manually.
https://github.com/kovetskiy/mark/blob/master/pkg/confluence/api.go#L149
You can also share the trace log via email: e.kovetskiy at gmail.com if it's too sensitive (but please do redact authorization details).

Thanks for the help, I've sent the details via email. But I'll try to keep the discussion here so it can help others if they ever get the same problem.

@AbianG could you please double check that you have <!-- Space: CLOUDOPERATIONS --> in your markdown file and you don't have any other <!-- Space: directives?

Checked, these are the tags I have in the file (the only ones)
<!-- Space: CLOUDOPERATIONS -->
<!-- Parent: Operational Intelligence -->
<!-- Parent: SRE Process -->
<!-- Title: Documentation: AID for SREs and SROs -->

Great, could you share the full trace log with me (via e-mail works for me) of executing mark with just these 4 lines and nothing else? Just drop the Authorization header. I believe we are close to the solution 😬

Done, I hope it can help narrow the error down :)

It is now working. Thanks for all the help via email during the troubleshooting :)

What was the fix!!!! i have hit the unable to locate space error and i was hoping for some sort of resolution on here 👍

What was the fix!!!!
Haha, yeah, that's surprising that we both forgot to mention the fix. Yes, this is basically the answer/fix:
EDIT: i found it! setting -l for confluence cloud is a no no. using -b (with /wiki/ appended) worked a charm

Thanks a lot @willsmith9182  for summarizing the solution and @kovetskiy  for this wonderful tool. I wasted almost 2-3 hours trying to make it work , but this finally did it :)
My request would be to mention this (using -b (with /wiki/ appended))  in the main "README.md" so that people who use confluence cloud don't have to keep searching "issues" to get to this solution. Happy to make the PR for it if required :)

@rajpalparyani I would be glad to accept your PR which is addressing the issue :)


Develop astrometric calibration functions

Develop code to measure the platescale, north angle, and distortion solution from a dataset or multiple datasets.
Requires

simulating LMC calibration fields
find and measure position of sources
compare positions against reference
measure boresight (reference pix) of CGI
measure average platescale and north angle
measure distortion solution (ask Jason if you need code)
determine where platescale/north angle values will be stored. determine where distortion solution will be stored

boresight calibration is top priority

A lot of work of this has been done already by @hsergi and others. Don't start without talking to him

A good place to start is also looking at @rzellem's paper: https://ui.adsabs.harvard.edu/abs/2022SPIE12180E..1ZZ/abstract

Thanks @maxwellmb. I will double check which material needs unlimited release and which can just be shared. Targeting next Tue 02/16. Feel free to ping me.

for the boresight calibration, this will be done before the optical alignment is done. We need to talk with Eric Cady regarding how ratty the PSF will be and develop the code to be robust to this.
Note that the full astrometric calibration post-boresight calibration will be done one a much better PSF. This is the reason the initial boresight calibration sequence is separate from the full astrometric calibration.

I'm closing this issue now that PR #113 is done, and will make a new issue for fine-precision astrometric solution + disotriton map.


GitHub Exception when trying to run the PR-Agent from source

Hi,
I'm trying to run the PR Agent from source with method 2 and I'm running into the following error:
$ PYTHOPATH=. python pr_agent/cli.py --pr_url https://github.com/<MY_ORG>/<MY_REPO>/pull/134
Reviewing PR: https://github.com/<MY_ORG>/<MY_REPO>/pull/134
Traceback (most recent call last):
  File "/Users/zmeir/git/pr-agent/pr_agent/cli.py", line 27, in <module>
    run()
  File "/Users/zmeir/git/pr-agent/pr_agent/cli.py", line 22, in run
    reviewer = PRReviewer(args.pr_url, installation_id=None, cli_mode=True)
  File "/Users/zmeir/git/pr-agent/pr_agent/tools/pr_reviewer.py", line 19, in __init__
    self.git_provider = get_git_provider()(pr_url, installation_id)
  File "/Users/zmeir/git/pr-agent/pr_agent/git_providers/github_provider.py", line 29, in __init__
    self.set_pr(pr_url)
  File "/Users/zmeir/git/pr-agent/pr_agent/git_providers/github_provider.py", line 33, in set_pr
    self.pr = self._get_pr()
  File "/Users/zmeir/git/pr-agent/pr_agent/git_providers/github_provider.py", line 189, in _get_pr
    return self._get_repo().get_pull(self.pr_num)
  File "/Users/zmeir/git/pr-agent/pr_agent/git_providers/github_provider.py", line 186, in _get_repo
    return self.github_client.get_repo(self.repo)
  File "/Users/zmeir/git/pr-agent/venv/lib/python3.9/site-packages/github/MainClass.py", line 363, in get_repo
    headers, data = self.__requester.requestJsonAndCheck("GET", url)
  File "/Users/zmeir/git/pr-agent/venv/lib/python3.9/site-packages/github/Requester.py", line 442, in requestJsonAndCheck
    return self.__check(
  File "/Users/zmeir/git/pr-agent/venv/lib/python3.9/site-packages/github/Requester.py", line 487, in __check
    raise self.__createException(status, responseHeaders, data)
github.GithubException.BadCredentialsException: 401 {"message": "Bad credentials", "documentation_url": "https://docs.github.com/rest"}

I set my user_token in pr_agent/settings/.secrets.toml and made sure the token is authorized for MY_ORG and has the proper repo scope:

I tested the same token with curl and it seems to work - for example:
$ curl -X GET -H "Authorization:token <MY_TOEKN>" -H "Content-Type:application/json" 'https://api.github.com/repos/<MY_ORG>/<MY_REPO>/pulls?head=<MY_ORG>:<MY_BRANCH>&base=master&state=open'
[
  {
    "url": "https://api.github.com/repos/<MY_ORG>/<MY_REPO>/pulls/134",
    "id": <MY_ID>,
    "node_id": "<MY_NODE_ID>",
    "html_url": "https://github.com/<MY_ORG>/<MY_REPO>/pull/134",
    "diff_url": "https://github.com/<MY_ORG>/<MY_REPO>/pull/134.diff",
    "patch_url": "https://github.com/<MY_ORG>/<MY_REPO>/pull/134.patch",
    "issue_url": "https://api.github.com/repos/<MY_ORG>/<MY_REPO>/issues/134",
    "number": 134,
    "state": "open",
    ...
  }
]

$ curl -X GET -H "Authorization:token <MY_TOKEN>" -H "Content-Type:application/json" 'https://api.github.com/repos/<MY_ORG>/<MY_REPO>'
{
  "id": <MY_ID>,
  "node_id": "<MY_NODE_ID>",
  "name": "<MY_REPO>",
  "full_name": "<MY_ORG>/<MY_REPO>",
  "private": true,
  "owner": { ... }
}

Some technical info:

OS: macOS Ventura 13.4.1 (22F82)
Python: 3.9.13
PyGithub: 1.58.2 (also tried upgrading to 1.59.0 in hopes that it will fix the issue - it didn't)

@zmeir can you retry with a token that has an expiration date ( Don't use No Expiration ) ?

Hi @hussam789, tried it again with a token with 30 days expiration (and full repo scope as before) and it still doesn't work. I also tried giving the token access to all scopes just to make sure and that didn't work either.

@zmeir just the repo scope is enough, did you check also on a public Github repo, or you checked only on private repos?

@hussam789 yes, tried it just now with https://github.com/Codium-ai/pr-agent/pull/31 and it still gives me the same error (and verified again with curl to see that I can still access the GitHub API with the token on this repo)

@zmeir Can you add
from github import enable_console_debug_logging
enable_console_debug_logging()

Just before run() in cli.py and run again?
What's the first request that fails? Can you run it with curl?

@okotek Sure. Here's the full output:
$ PYTHOPATH=. python pr_agent/cli.py --pr_url https://github.com/Codium-ai/pr-agent/pull/31
Reviewing PR: https://github.com/Codium-ai/pr-agent/pull/31
GET https://api.github.com/repos/Codium-ai/pr-agent {'Authorization': 'token (oauth token removed)', 'User-Agent': 'PyGithub/Python'} None ==> 401 {'server': 'GitHub.com', 'date': 'Wed, 12 Jul 2023 10:58:08 GMT', 'content-type': 'application/json; charset=utf-8', 'content-length': '80', 'x-github-media-type': 'github.v3; format=json', 'x-ratelimit-limit': '60', 'x-ratelimit-remaining': '52', 'x-ratelimit-reset': '1689162892', 'x-ratelimit-used': '8', 'x-ratelimit-resource': 'core', 'access-control-expose-headers': 'ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset', 'access-control-allow-origin': '*', 'strict-transport-security': 'max-age=31536000; includeSubdomains; preload', 'x-frame-options': 'deny', 'x-content-type-options': 'nosniff', 'x-xss-protection': '0', 'referrer-policy': 'origin-when-cross-origin, strict-origin-when-cross-origin', 'content-security-policy': "default-src 'none'", 'vary': 'Accept-Encoding, Accept, X-Requested-With', 'x-github-request-id': '9A68:BB04:7F2A590:80485E9:64AE8740'} {"message":"Bad credentials","documentation_url":"https://docs.github.com/rest"}
DEBUG:github.Requester:GET https://api.github.com/repos/Codium-ai/pr-agent {'Authorization': 'token (oauth token removed)', 'User-Agent': 'PyGithub/Python'} None ==> 401 {'server': 'GitHub.com', 'date': 'Wed, 12 Jul 2023 10:58:08 GMT', 'content-type': 'application/json; charset=utf-8', 'content-length': '80', 'x-github-media-type': 'github.v3; format=json', 'x-ratelimit-limit': '60', 'x-ratelimit-remaining': '52', 'x-ratelimit-reset': '1689162892', 'x-ratelimit-used': '8', 'x-ratelimit-resource': 'core', 'access-control-expose-headers': 'ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset', 'access-control-allow-origin': '*', 'strict-transport-security': 'max-age=31536000; includeSubdomains; preload', 'x-frame-options': 'deny', 'x-content-type-options': 'nosniff', 'x-xss-protection': '0', 'referrer-policy': 'origin-when-cross-origin, strict-origin-when-cross-origin', 'content-security-policy': "default-src 'none'", 'vary': 'Accept-Encoding, Accept, X-Requested-With', 'x-github-request-id': '9A68:BB04:7F2A590:80485E9:64AE8740'} {"message":"Bad credentials","documentation_url":"https://docs.github.com/rest"}
Traceback (most recent call last):
  File "/Users/zmeir/git/pr-agent/pr_agent/cli.py", line 30, in <module>
    run()
  File "/Users/zmeir/git/pr-agent/pr_agent/cli.py", line 22, in run
    reviewer = PRReviewer(args.pr_url, cli_mode=True)
  File "/Users/zmeir/git/pr-agent/pr_agent/tools/pr_reviewer.py", line 19, in __init__
    self.git_provider = get_git_provider()(pr_url)
  File "/Users/zmeir/git/pr-agent/pr_agent/git_providers/github_provider.py", line 22, in __init__
    self.set_pr(pr_url)
  File "/Users/zmeir/git/pr-agent/pr_agent/git_providers/github_provider.py", line 26, in set_pr
    self.pr = self._get_pr()
  File "/Users/zmeir/git/pr-agent/pr_agent/git_providers/github_provider.py", line 147, in _get_pr
    return self._get_repo().get_pull(self.pr_num)
  File "/Users/zmeir/git/pr-agent/pr_agent/git_providers/github_provider.py", line 144, in _get_repo
    return self.github_client.get_repo(self.repo)
  File "/Users/zmeir/git/pr-agent/venv/lib/python3.9/site-packages/github/MainClass.py", line 321, in get_repo
    headers, data = self.__requester.requestJsonAndCheck("GET", url)
  File "/Users/zmeir/git/pr-agent/venv/lib/python3.9/site-packages/github/Requester.py", line 398, in requestJsonAndCheck
    return self.__check(
  File "/Users/zmeir/git/pr-agent/venv/lib/python3.9/site-packages/github/Requester.py", line 423, in __check
    raise self.__createException(status, responseHeaders, output)
github.GithubException.BadCredentialsException: 401 {"message": "Bad credentials", "documentation_url": "https://docs.github.com/rest"}

And with curl:
$ curl -X GET -H "Authorization:token <MY_TOKEN>" -H "User-Agent:PyGithub/Python" 'https://api.github.com/repos/Codium-ai/pr-agent'
{"id":662766482,"node_id":"R_kgDOJ4EDkg","name":"pr-agent","full_name":"Codium-ai/pr-agent","private":false,...}

@zmeir next I suspect the requests library. Do you mind running the following in the same Python interpreter where your run fails, replacing  with your token?
import requests

headers = {
    'Authorization': 'token <token>',
    'User-Agent': 'PyGithub/Python'
}
URL = 'https://api.github.com/repos/Codium-ai/pr-agent'
response = requests.get(URL, headers=headers)
print(response.status_code)

@okotek yep that seems to be the problem :(
import requests
headers = {
    'Authorization': 'token <MY_TOKEN>',
    'User-Agent': 'PyGithub/Python'
}
URL = 'https://api.github.com/repos/Codium-ai/pr-agent'
response = requests.get(URL, headers=headers)
print(response.status_code)
# 401
print(response.text)
# {"message":"Bad credentials","documentation_url":"https://docs.github.com/rest"}

I've installed the project in a fresh venv and only installed the requirements.txt. I'm using requests==2.31.0 which appears to be the latest version.
$ pip3 show requests
Name: requests
Version: 2.31.0
Summary: Python HTTP for Humans.
Home-page: https://requests.readthedocs.io
Author: Kenneth Reitz
Author-email<EMAIL_ADDRESS>License: Apache 2.0
Location: /Users/zmeir/git/pr-agent/venv/lib/python3.9/site-packages
Requires: certifi, charset-normalizer, idna, urllib3
Required-by: openai, PyGithub, python-gitlab, requests-toolbelt, tiktoken

Any idea what could cause this?

Here are related issues i found (not sure if it will solve it):
https://github.com/PyGithub/PyGithub/issues/2431
uninstall PyGithub and then install:
pip install git+https://github.com/enricomi/pygithub.git@requester-auth-rework

@zmeir Cool, So now can you run the pr-agent cli using your github token?
another comment people wrote is to delete or update ~/.netrc file :
https://github.com/PyGithub/PyGithub/issues/1753#issuecomment-1367453823

@hussam789 Yes! Thanks for all the help!
I didn't try tinkering with ~/.netrc, I didn't want to create other issues somewhere else, and the first approach already worked. However, I did previously try to use the same token I have in ~/.netrc and that didn't work.
Just to wrap things up, I also ran into another issue that has to do with the fact that I'm using Azure OpenAI behind a proxy server. Here are the solutions I used for both issues:

github.GithubException.BadCredentialsException: 401 {"message": "Bad credentials", "documentation_url": "https://docs.github.com/rest"}
Taken from: https://github.com/PyGithub/PyGithub/issues/1753#issuecomment-1212987029
Added the following lines after self.header = header in github/Requester.py#L122for header in self.headers:
    if str(self.headers[header]).startswith('token'):
        self.session.auth=(tuple(self.headers[header].split(' ')))

aiohttp.client_exceptions.ClientConnectorError: Cannot connect to host <MY_HOST>.openai.azure.com:443 ssl:default [Connect call failed ('<MY_HOST_IP>', 443)]
Taken from: https://stackoverflow.com/a/63364551/6877213
Changed the default trust_env to False in aiohttp/client.py#L216


Correct grammar of in-out expressions

Fixes: https://github.com/apple/swift-book/issues/193

The current grammar dates back to commit b0bc88523b26593b952e8e9c58e30c46b848d2d7 for Swift 1.  The original RST langref grammar doesn't include a production for in-out expressions; the older HTML langref says:

inout indicates that the argument will be passed as an "in-out"
parameter. The caller must pass an lvalue decorated with the &
prefix operator as the argument. Semantically, the value of the argument
is passed "in" to the callee to a local value, and that local value is
stored back "out" to the lvalue when the callee exits. This is normally
indistinguishable from pass-by-reference semantics.

@lorentey Is this something you can review?  You and I looked at some corrections and additions around in-out in 2020 (merged in commit 7c9e800a3ec1dcdb54f71e8fd2d262e39ce48294).

Interesting! I am not a Swift grammar expert, but to my naive, innocent eyes this does look like a better match with InOutExpr in AST. Not sure who would be a good person to confirm -- let's try @ahoppen, maybe?

@ahoppen Thanks for taking a look.  Reading it again this morning, I see that 'postfix-expression' doesn't include parenthesized-expression, but you can use parentheses in an in-out expression.
One option is to define 'in-out-expression' as follows:

in-out-expression → & primary-expression

This overproduces even more — allowing literals, closures, and conditional expressions inside the in-out expression where the aren't actually allowed.  Elsewhere in the reference, we often handle places where the grammar overproduces by explaining the limitations in prose.
Do we have a list of what we specifically do support after the & for an in-out expression?  For example, are key paths ever allowed?
Trying code out in the REPL,  we allow parentheses for grouping, dot for member lookup, square brackets for array subscripts.  An alternate approach that might be feasible here, if the list of allowed in-out things is small, is to build them up in the in-out-expression grammar specifically by repeating/re-using bits of other grammar rules:

Grammar of an in-out expression:
in-out-expression → & in-out-expression-tail
in-out-expression-tail → in-out-expression-tail . decimal-digits
in-out-expression-tail → in-out-expression-tail . identifier
in-out-expression-tail → in-out-expression-tail [ function-call-argument-list ]
in-out-expression-tail → ( in-out-expression-tail )
in-out-expression-tail → identifier

It doesn't look like we support tuple expressions — but the error I get suggests maybe we do and I need to spell something more explicitly:
var x = 10; var y = 10
func f(_ z: inout (Int, Int)) { z = (100, 200) }
f( &(x, y) )
// error: repl.swift:3:1: error: type of expression is ambiguous without more context
// f( &(x, y) )
// ^~~~~~~~~~~~

The Swift parser itself allows any expression after &. parseExprUnary calls back into parseExprUnary after consuming the &.
https://github.com/apple/swift/blob/e298fb5a046cde1b588a8e39ba622ac6e17b5dba/lib/Parse/ParseExpr.cpp#L616-L626
Any enforcement that you can’t pass a literal after the ampersand is semantic. For example the diagnostic of passing an integer literal is the same as when passing a let constant.
func foo(_ x: inout Int) {}

foo(&1) // error: Cannot pass immutable value as inout argument: literals are not mutable

let myInt = 1
foo(&myInt) // error: Cannot pass immutable value as inout argument: 'myInt' is a 'let' constant

I’m not entirely sure what’s used to represent parseExprUnary in the grammar but I think that’s what we should use as a child here.
CC @rintaro In case you have opinions / thoughts as well.

Grammar of an in-out expression:
in-out-expression → & in-out-expression-tail
in-out-expression-tail → in-out-expression-tail . decimal-digits
in-out-expression-tail → in-out-expression-tail . identifier
in-out-expression-tail → in-out-expression-tail [ function-call-argument-list ]
in-out-expression-tail → ( in-out-expression-tail )
in-out-expression-tail → identifier

This is not enough. At least it's missing

in-out-expression-tail → 'self'
in-out-expression-tail →  in-out-expression-tail . 'self'

And somewhat surprisingly, the following code also works
struct S {
  static var shared: Self = S()
}

func foo(_ x: inout S) {}
foo(&.shared)

As @ahoppen mentioned, the parser parses any prefix-expression (parseExprUnary). And the semantic analysis decides if it accepts the operand. IMO, as the grammar, it's OK to say just

in-out-expression → '&' postfix-expression

NOTE: prefix-expression because both &&foo or &!foo is parsed as && or &! prefix-operator respectively.

On second thought,

the parser parses any prefix-expression (parseExprUnary). And the semantic analysis decides if it accepts the operand.

This is similar to keypath expression. Parser parses any postfix components, but in the current grammar, key-path-components only accepts certain suffixes. I don't have strong opinion on whether the grammar reflect technically-semantic things, or not . But at least we should be consistent.

Thanks, @rintaro.
TSPL doesn't generally distinguish between parsing, lexing, semantic analysis, etc. — so its formal grammar doesn't specifically try to include content that parses but is semantically invalid.  If there's something that isn't valid Swift code, we try to exclude it from the grammar, regardless of which stage of compilation rejects it.
Defining 'in-out-expression' in terms of 'prefix-expression' as in your comment doesn't entirely work, because grouping parentheses appear in the grammar in the production for 'primary-expression', but they're valid after the &.  I see three approaches we could take:

Define 'in-out-expression' in terms of 'postfix-expression' and re-implement the productions for grouping parentheses as part of 'in-out-expression'.  I don't particularly like this — it still overproduces, and it's less than ideal to have grouping parentheses defined in multiple places in the grammar.
Define 'in-out-expression' in terms of 'primary-expression' and add a prose description of what's actually allowed.  We've used this to handle overproduction elsewhere in the grammar, where it's not practical to reduce it in the grammar.
Define 'in-out-expression' in terms of an explicit list of what grouping and postfixes are allowed, similar to how 'key-path-expression' handles things.  (That approach was added by commit 2757f7a1fb93588fb1fe8271bd73085eb5456181.)

If the third option produces a reasonable grammar, that's my initial preference.  That said, it might not be practical — adding implicit member expressions and self expressions might make the list of productions here unwieldy.
For the second option, I'd add a paragraph before the "for more information" line like the following:

The expression is a combination of the following kinds of expression:

An identifier or self
Access to a member, including properties, tuple elements, and .self
Access to an array subscript

Member access can be explicit like f(&x.y) or implicit like f(&.z)`.
The expression can also include grouping parentheses.

So they originally made this merge request https://github.com/apple/swift-book/pull/194 where they "discussed" what the proper fix for this is. But amartini ended up just merging a partial fix that doesn't even fix the issue that I originally pointed out here: https://github.com/apple/swift-book/pull/199
My original issue is being left open right now while they "discuss"
IMO looking at the thread on the original merge request, rintaro is correct.
I would also say that & postfix-expression would be the proper replacement that allows everything that is syntactically possible and pushing rejection to semantic analysis.
But consistency if also important and how they handled keypath-expression should be taken into account.
If they specifically wrote out the grammar for keypath-expression to disallow overproduction then they would have to do the same for this is they want to stay consistent.
Frankly, there is overproduction EVERYWHERE in their grammar and I feel like that's the case with all grammars tbh. Grammars are concerned with lexical analysis and everything that is syntactically valid should be represented. If you tried to produce only semantically valid programs in a grammar first, that would be impossible, but for what they're really going for it is to "only have productions that could result in a semantically valid program. This is possible but is gonna make things verbose and stupid hard to read, and that opens a whole can of worms of picking and choosing where in the grammar they care about this and where they don't.

Hi everyone.
I'm the person who originally posted the issue about this in https://github.com/apple/swift-book/issues/193
I've read through this thread along with the partial fix that was merged.
I just wanted to leave my thoughts here:
I think that @rintaro proposed the fix that I believe is the most correct with & postfix-expression
This allows everything that is syntactically valid and pushes rejection to semantic analysis.
A language grammar is really a syntactic representation of the language, not semantic.
And of course we want the grammar to be readable and not too complex thus we end up with this mix between concrete and abstract grammar that defines the Swift grammar.
A side effect of this is that there's going to be overproduction and lots of it.
I could provide dozens of examples here of overproductions in other areas of the grammar.
With that being said, I also see the concern of consistency when looking at how keypath-expression is handled.
It's an idea of "If overproduction is limited there, where else should it be limited?"
I'm not sure it's my place to be chiming in on that decision since it's really a design decision. I just wanted to share my thoughts and also point out that the partial fix doesn't address the original issue that I brought up (&s.a).
s.a was produced through the production postfix-expression. So if we limit it to & primary-expression the original example is still not producible.
Thus, defining it in terms of primary-expression and adding a prose specification would not work.
Thanks for the consideration.

This got closed by accident as part of merging #199 — maybe because they're both marked as fixing the same GitHub issue.


[PAPI-194] Explicitly refer to mining governance

Created a PR to deploy alongside this for the UI: https://github.com/Opdex/opdex-ui/pull/65


Proactively rotate authentication tokens before the server complains

This fixes #732 by proactively expiring authentication tokens before the server complains that the token has expired. We've learned that the server will throttle connections down to a single concurrent stream if the token expires, and the expectation is that clients should proactively rotate tokens.
@janzar @helle @extraSix does this look good to you folks?

Maybe configurable time would be better with default 50? Overall looks good!

Maybe configurable time would be better with default 50?

Good point. I'd gone back and forth on that. I hesitated because I didn't want to tempt people to make adjustments that could lead to weird behavior, but I think I can cover that in the docs. I'll update this pull request shortly.

I'll update this pull request shortly.

Done. Feedback is welcome!

I'll update this pull request shortly.

Done. Feedback is welcome!

Looks good, I'm waiting for release of v0.13.11, because for us it is easier to update, when artifact is in maven repo.
Thank you!

I encountered a problem related to the authentication token, but the performance is different from others. I am not sure if it is related to this bug.
Yesterday I updated 6 servers to use authentication token for one app's pushes. This morning, in one of the servers, all the pushes of the app could not get response from APNs, while the pushes of the other apps were normal.
The 'Future' object will not be released untill a respond is received, so that the service is OOM.
The problem was resolved after restarting the service.
I don‘t know whether @janzar @helle also encountered this problem.
To avoid memory leak caused by unresponsiveness, maybe you add a timeout mechanism to the ’Future' object: automatically release after timeout?

@extraSix Yes, that sounds like the same problem.
Even though it's been requested several times, I still don't think adding a timeout is the right solution.
It's always possible to exhaust memory by enqueuing notifications faster than Pushy can send them. This specific bug makes it easier to do so by greatly reducing the rate at which notifications are sent. Still, even in the best of circumstances, it's possible to "flood" memory with notifications. The recommended practice is to establish some kind of flow control to limit the number of notifications that are "in flight" at any given time.


IntHashSet.conjunction actually implements disjunction

I'm working with Agrona 0.5.4. I've discovered it because IntHasSet.containsAll(Collection<?>) returns false on an empty collection. The following code prints the values in comments:
IntHashSet set = new IntHashSet(-1);
System.out.println(set.containsAll(new IntHashSet(-1))); // true
System.out.println(set.containsAll((Collection<Integer>) new IntHashSet(-1))); // false
System.out.println(set.containsAll(new ArrayList<Integer>())); // false

which seems to be caused by what's mentioned in the title. IntHashSet.addAll and IntHashSet.removeAll use IntHashSet.conjunction with the correct outcome.
I'd be happy to fix this.

We would happily accept a pull request on this issue.

Pull request created!


@ConditionalOnProperty

Unfortunately due to the way spring boot is build you cannot use the @ConfigurationProperties to enable and disable services. Thus we get to fallback on the @ConditionalOnProperty annotation.
Having an annotation processor generating documentation for these would be much beneficial.
Another option would be to allowed for a plugin sort of structure, where this library could pickup on a custom annotation processor or other metadata files.
Super awesome idea, and great work btw.

Hello @Hans-MartinHannibalLauridsen
I'm happy to see new users of the tool.
Yes, ConditionalOnProperty is definitely a thing that developers want to document, and the @Value is also having the same "interest".
I see a few solutions and limitations:

The tool itself is not an annotation processor, which means it just uses the output of the Spring annotation processer. Currently there are no plans to extend the functionality, but if there is any use cases we might do it. It depends.
In this case, where would you define the description of the property inside the annotation? In the JavaDoc on the class? It would make no sense.

Possible solutions:

I know projects where people tend to write their own additional-spring-configuration-metadata.json where they document their own use cases like this. I would advise you to read about it here: https://docs.spring.io/spring-boot/docs/current/reference/html/configuration-metadata.html#appendix.configuration-metadata.annotation-processor.adding-additional-metadata

If you create your own json file inside the mentioned folder the Spring annotation processor will merge them together and the final JSON will contain your content too. It is a bit of a manual work, but it works!

Hello @Hans-MartinHannibalLauridsen
Did you check my earlier message? Are you satisfied with it? Or do you have anything on your mind?

Thanks I think that will work for me.
I believe that the description for the property in the @ConditionalOnProperty would be fairly static - at least for my use case, "com.fun.service.enabled activates the bean/service " maybe taking the javadoc describing the service class as well for additional information. I think I might make it work with if I spice in my own annotation processor for the @ConditionalOnProperty only. Thanks for the replay!

May I close this ticket @Hans-MartinHannibalLauridsen ?

Please do.


ngAnimate - Providing only keyframe/keyframeStyles to $animateCss does nothing

After realising that keyframe should actually be keyframeStyles for $animateCss I see that passing keyframeStyles alone will decide that there's nothing to do and return: closeAndReturnNoopAnimator().
To get around this I have to do something like:
$animateCss(ele, {
  keyframeStyles: '1s my-anim ease',
  addClass: 'meh'
});

The comment before the return in question says:
      // there is no way we can trigger an animation since no styles and
      // no classes are being applied which would then trigger a transition

(https://github.com/angular/angular.js/blob/master/src/ngAnimate/animateCss.js#L560)
If that is correct, the documention needs to be updated. @matsko do you know if that is the case?

Excellent find. This PR will fix this issue and we should have it ready for tomorrow's release (1.4.3):
https://github.com/angular/angular.js/issues/12340


fix(coverage): enable only_remove_type_imports for runtime transform test

#6826  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @Boshen and the rest of your teammates on  Graphite


Move diagnostic helper functions to ESMValCore

Talking about the deployment of ESMValCore 2.1 in BSC, @sloosvel  and I realized that it is not that useful for us because all our diagnostics are using the helper functions that we have in esmvaltool/diag_scripts/shared.
If we really want users to be able to develop their diagnostics using just ESMValCore, we must move them to the core.
What do you think, @ESMValGroup/esmvaltool-developmentteam ?

Great idea! I have not been involved with the project for super long, but one thing I have noticed that ESMValCore and ESMValTool are very tightly coupled. ESMValCore should really be able to stand by itself. I actually opened a related issue last week: https://github.com/ESMValGroup/ESMValCore/issues/826

I agree that it would be a good idea to move some functions to the ESMValCore, but we would need to make a selection and clean up a bit, as there are currently two interfaces implemented and quite a bit of stuff that is not generic enough to move to the core. We need to make sure that the code in the core does not grow into a many headed spaghetti monster.


Issues selecting elements with Android / iOS

Hi,
I just tested the component with an Android, an iPhone and an iPad and found a problem there.
When selecting items from the dropdown, all three of them show the same weird behavior.
Clicks on item A selects item B and some items cannot at all be selected. This can be reproduced with the current webpackbin.
Do you have a clue why this might happen?
Thanks!

Hi @wolfgang-lausenhammer!
To be honest I had never tried it on mobile. I just tried on my Nexus 5, and except the UI not being really ideal for mobile phones, I haven't found weird behaviours, or maybe I haven't tried hard enough :)
I'll have a deeper look asap. The ng2-material-dropdown package has several issues I need to address in overall.

I was able to reproduce the issue on my desktop Google Chrome, when I enable "Toggle device toolbar" in the developer console. The browser behaves similar to the phones then. Specifically, this issue only appears, when I open a dropdown, scroll down and select an item.
Also, when the margin to the bottom is too low for the dropdown to appear below the element, so the dropdown would be rendered upwards instead of downwards, different items (if any) get selected.
I think I finally have a fix for this, though :-) --> will be coming soon in a pull request.
Btw. this issue also appears on a desktop browser, since the position hasn't been updated during scroll events.

Hi @wolfgang-lausenhammer,
Thanks a lot for the PR! It's really helpful.
I just published a version with your fixes for both the components

Well, I think I created a bug, while closing another :-/
this.button is undefined, when used in ng2-tag-input. I haven't tested the interaction of the two components. I'll have a look at that in a second.


the fix that i thought worked regarding lyrics playing after the song had loaded, did not actually fix it

when loading a song, the lyrics start when the command is run, instead of when the song is loaded and starts playing

one possible fix is redoing how lyrics are timed (yay!)
i could go and make it so that the lyric functions fire when music.currentTime == 1000 or something like that
so that way they fire at that point in the audio but then thats a very big amount of stuff to do
actually i could have it just check all the file json for a beginning of that time, and if there is not one, it juts continues
if there is, it does the calculations, and moves on with its life.
that would also solve the pausing and skipping issues, since the lyric animations would be directly tied with the music audio object
that's possible but again will be very annoying but now I wanna do it because it'll solve some issues, probably make more issues but itll solve like two of them

FIXED YAAAAY


Use KUBECONFIG environment variable

ISSUE TYPE

[ ] Bug Report
[x] Feature Idea

FEATURE IDEA
Support usage of KUBECONFIG environment variable to specify the path to the kube config file to use. See https://github.com/Shopify/vouch4cluster/blob/master/cmd/kube.go#L31

This should be fixed by #243. Please re-open if the problem remains


[Refactor] Consolidate duplicate methods solving#563

Moved the following methods:

ensureFormDigest
waitUntilFinished

To a single implementation

Coverage decreased (-0.1%) to 99.87% when pulling b59e10ec80726ea6a0483fe93771d901ab3ceca4 on appieschot:feature/duplicate-methods into 51ac522e5b8e473a454a67fec451f216110bde7c on pnp:dev.

Thanks! I'll review it shortly!

Looks like I still have a test case that is missing. Will look into that asap.

Hmm @waldekmastykarz I feel I need some help on this one.. It looks like on or right after: handles Office 365 Tenant siteclassification missing DirectorySettingTemplate but locally it builds fine, then it passes all the tests and times out after 10m...

I believe I stumbled upon the same and fixed here https://github.com/pnp/office365-cli/pull/681/files

@waldekmastykarz now I do get the issue locally as well :), weird thing is that it runs all the tests (5772 passing 21s locally and  5772 passing 7s in circle ci, but then it times out. Not sure what it is waiting for but will try to figure that out.

Thats better, time to move on and pick up something else :-)

Thanks! Will implement asap.

Merged manually. Thanks!


Make tolerations and nodeSelector customizable

This PR allows to customize tolerations and nodeSelector of the DaemonSet.

Hello. Thank you for your PR!
Can you provide more reasoning in this pr for these changes? The tolerations and nodeSelector aren't customizable on purpose. Reasoning is that only linux nodes are supported, and security tools should be deployed across the entire cluster rather than limited to some nodes to prevent cross-lateral movement and attacks.

Regarding tolerations, let say that you have some compute nodes tainted for dedicated usage but still want to have the DaemonSet sheduled on them. Also, with AKS on Azure, Spot instance node pools are tainted.
For nodeSelector, maybe some people would like to have the DaemonSet scheduled only on a specific set of nodes.

Regarding tolerations, let say that you have some compute nodes tainted for dedicated usage but still want to have the DaemonSet sheduled on them. Also, with AKS on Azure, Spot instance node pools are tainted.

Did not know about the Azure specifics.
Ref:
https://docs.microsoft.com/en-us/azure/aks/spot-node-pool

A spot node pool will have the label kubernetes.azure.com/scalesetpriority:spot, the taint kubernetes.azure.com/scalesetpriority=spot:NoSchedule, and system pods will have anti-affinity.

For nodeSelector, maybe some people would like to have the DaemonSet scheduled only on a specific set of nodes.

Perhaps we can enable the capability for customization, and decorate it with warning labels that the 'default crowdstrike way' is to deploy on all nodes?

I am about to test deploy CrowdStrike on a 3,000 node cluster. There is absolutely zero chance I will deploy a new DaemonSet to all nodes at once. Being able to set the affinity / nodeSelector is a must, to allow for a phased rollout. There are also plenty of other reasons one might want to disable crowdstrike on certain nodes, ie troubleshooting.

Can we -please- get this merged? No way we are deploying falcon without a proper nodeSelector.

Can we please get this feature into the helm chart?

Does https://github.com/CrowdStrike/falcon-helm/blob/falcon-sensor-1.17.10/helm-charts/falcon-sensor/values.yaml#L19 and/or https://github.com/CrowdStrike/falcon-helm/blob/falcon-sensor-1.17.10/helm-charts/falcon-sensor/values.yaml#L40 help with the functionality you're looking for?

Closing as this is stale and no response as been provided to the new features.


--texture-base-color with opacity and depth peeling is not correct

Describe the bug
Using a texture base color with opacity and depth peeling, without setting --opacity, cause a wrong rendering
To Reproduce
Steps to reproduce the behavior:

Open the file using f3d --dry-run WaterBottle.glb --texture-base-color=/home/glow/f3d/src/testing/data/albedo_mod.png --depth-peeling --geometry-only :

wrong rendering:

Using the following provide a correct rendering: f3d --dry-run WaterBottle.glb --texture-base-color=/home/glow/f3d/src/testing/data/albedo_mod.png --depth-peeling --geometry-only --opacity=0

Expected behavior
Correct translucent rendering, like this:

Indeed. This texture is RGBA, with an alpha channel containing translucent pixels. But VTK isn't aware the object is translucent. My suggestion is to force the translucent flag on the actor if the color texture has 4 channels.

Sounds like a good approach

Looks like this should be set inside VTK, not in F3D.

Added a note a about the fact this is not multiplied.

See #333 for more info