Support endpoint pagination

Is your feature request related to a problem? Please describe.
In the home view with a lot of endpoints, you have to scroll for a long time to get to the one that you want to select and manage.
Describe the solution you'd like
Be able to select different pages of endpoints & have option to display different amounts of endpoints at a time.

Re-opening this one as we need to implement backend pagination.
Due to the fact that our majority of users are probably using Portainer with less than a 100 endpoints and that we need to support > 5000 endpoints as well we'll need to handle this differently.
If the endpoint list returned for the current user is >= 100, we keep front-end pagination and front-end filtering with the following pagination options: 25, 50, 100, all.
If the endpoint list returned for the current user is > 100, we use back-end pagination and backend filtering with the following pagination options: 25, 50, 100.

Edited as other views are impacted.

Closed via #2989


Focus groups

I've been trying to create an editor for formulas like this in druid:

In this case the exponent and the base of the term are two different TextComponents which can receive focus individually, but when Tab is pressed i would to select the next widget in the focus chain which is not part of this editor.
I don't know a simple way to do this in druid.
My first idea to solve this would be a wrapper widget, which pretends to be only one element in the focuschain, but forwards the focus to the first or last widget inside (depending on whether focus_next, focus_previous or focus was used). Would something like this be useful for druid?

There is a PR: #1089, but it looks like implementation is not good enough. It's been a year since I created this PR 😄 .


Passing TextDocumentSyncOptions object instead of a TextDocumentSyncKind to textDocumentSync: causes errors

Using an object for the textDocumentSync property in the InitializeResult capabilities object causes errors on notification that look like Notification handler 'textDocument/didChange' failed with message: TextDocument.update: document must be created by TextDocument.create

Check out https://github.com/microsoft/vscode-extension-samples/tree/main/lsp-sample, npm install, and change line 54 in lspsample/server/src/server.ts from
textDocumentSync: TextDocumentSyncKind.Incremental,

to
textDocumentSync: {
    change: TextDocumentSyncKind.Incremental,
    save: true
},

The types suggest this should work, but after this change updates fail with
Notification handler 'textDocument/didChange' failed with message: TextDocument.update: document must be created by TextDocument.create

@thomasballinger What a strange bug you have uncovered! Please use the workaround below to fix the issue. Note the addition of openClose: true in the options.
diff --git a/lsp-sample/server/src/server.ts b/lsp-sample/server/src/server.ts
index afd81c3..82527d8 100644
--- a/lsp-sample/server/src/server.ts
+++ b/lsp-sample/server/src/server.ts
@@ -51,7 +51,11 @@ connection.onInitialize((params: InitializeParams) => {

 	const result: InitializeResult = {
 		capabilities: {
-			textDocumentSync: TextDocumentSyncKind.Incremental,
+			textDocumentSync: {
+				change: TextDocumentSyncKind.Incremental,
+				openClose: true,
+				save: true,
+			},
 			// Tell the client that this server supports code completion.
 			completionProvider: {
 				resolveProvider: true

Actually this is expected. The protocol allows that the client send change event without open / close events. However the text document manager needs these. I will add a comment to text documents to make this clear.


Add optional to EnvFrom

Signed-off-by: Yair Fried<EMAIL_ADDRESS>

@yfried Are you looking to pursue this PR? I'm good with it we just need some tests.


Add single screen test that demos Espresso Intents

For example, a test that uses Intents.getIntents.
(Remember, if we're not using the test rule, we have to explicitly call init() and release() ourselves)

We have some examples in the android-testing samples IIRC. These codelabs are already too long :(


Dates

Hi @shreyajn @maitrishroff1995 @maliniss can you tell me what format dates are being sent to me in? Thanks!

The dates are giving me an error when I am trying to do anything so I will tell once I fix the error.

Ok thank you!


Change Get-Module to Get-InstalledModule for correctness

OPS Build status updates of commit e764b7e:
:clock10: Preparing: average preparing time is 1 min(s) 56 sec(s)

OPS Build status updates of commit e764b7e:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs-conceptual/azps-1.0.0/get-started-azureps.md
:white_check_mark:Succeeded
View (azps-1.0.0)

docs-conceptual/azps-1.0.0/install-az-ps.md
:white_check_mark:Succeeded
View (azps-1.0.0)

docs-conceptual/azps-1.0.0/migrate-from-azurerm-to-az.md
:white_check_mark:Succeeded
View (azps-1.0.0)

docs-conceptual/azurermps-4.4.1/get-started-azureps.md
:white_check_mark:Succeeded
View (azurermps-4.4.1)

docs-conceptual/azurermps-4.4.1/install-azurerm-ps.md
:white_check_mark:Succeeded
View (azurermps-4.4.1)

docs-conceptual/azurermps-4.4.1/other-install.md
:white_check_mark:Succeeded
View (azurermps-4.4.1)

docs-conceptual/azurermps-5.7.0/get-started-azureps.md
:white_check_mark:Succeeded
View (azurermps-5.7.0)

docs-conceptual/azurermps-5.7.0/install-azurerm-ps.md
:white_check_mark:Succeeded
View (azurermps-5.7.0)

docs-conceptual/azurermps-6.13.0/get-started-azureps.md
:white_check_mark:Succeeded
View (azurermps-6.13.0)

docs-conceptual/azurermps-6.13.0/install-azurerm-ps.md
:white_check_mark:Succeeded
View (azurermps-6.13.0)

docs-conceptual/azuresmps-4.0.0/install-azure-ps.md
:white_check_mark:Succeeded
View (azuresmps-4.0.0)

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Get access to silent mode of FEM-Design (or call to the program running on a server or similar)

User request. It would be nice to be able to create custom workflows using FEM-Design without having to open the program at all. The file created should still be saved somewhere for documentation.

It is already possible for a programmer to run fdscripts in the background using FD_NOGUI="1" #157

Included in #567 and will be available in 21.6.0


Passed decimal parameter (i.e : double, float) converted the separator into comma (,) instead of dot (.)

I think this have something to do with locale or CultureInfo formatting
var que = new Query("UserTable").Where("ID", usrID).AsUpdate(setParam); where setParam is an Dictionary<string, object> with this content
{"Val1", -7.79607},
{"Val2", 110.362633 }

printing out the Query from QueryCompiler.Compile(que).ToString(); , where QueryCompiler is an SqlKata.Compiler.SqlServerCompiler object, into the Debug output window, outputting this :
UPDATE [UserTable] SET [Val1] = -7,79607, [Val2] = 110,362633 WHERE [ID] = -23323

Which is invalid for SQL string, as comma is used for separating parameters not decimal in number. It's supposed to be look like this :
UPDATE [UserTable] SET [Val1] = -7.79607, [Val2] = 110.362633 WHERE [ID] = -23323

printing out each of QueryCompiler.Compile(que).NamedBinding and QueryCompiler.Compile(que).Bindings also resulted same
As per this issue posted, I've checked the documentation here https://sqlkata.com/docs/compilers but there's no hint, clue, nor topics about working with floating numbers.
This issue might heavily impacts developers who opt-out to not choose using SqlKata.Execution and prefer to just get the command string from ToString() yet have to works with floating numbers.

Suggested Solution
Allow ToString() method from compilers to accept IFormatProvider overload, thus, when the conversion process hitting the number object, in can be correctly converted with CultureInfo.InvariantCulture, regardless the server or development machine current CultureInfo

Yes, I think we should force the formatting output to be the same on all culture/environments, so no need to pass the CultureInfo from the client (this needs more investigations)
Secondly, You should not use ToString() to execute your queries at all, the only purpose of ToString() is to make the debugging easier.

Yes, as you've stated, we are not supposed to use ToString() to output the command string other than for debugging purpose.
 I put together a quick set of code to help (hopefully it does).

Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo("id");

var compiler = Compilers.Get<SqlServerCompiler>(EngineCodes.SqlServer);

var setParam = new ReadOnlyDictionary<string, object>(new Dictionary<string, object>()
{
    ["Val1"] = -7.79607m,
    ["Val2"] = 110.36233m
});

int userTableID = 1;

var query = new Query("UserTable")
    .Where("ID", userTableID)
    .AsUpdate(setParam);

var result = compiler.Compile(query);

//CurrentCulture dictates usage of comma
Assert.Contains("-7,79607", result.ToString());

//Sql statement
Assert.Equal("UPDATE [UserTable] SET [Val1] = @p0, [Val2] = @p1 WHERE [ID] = @p2", result.Sql);

//Bindings
Assert.Equal(setParam["Val1"], result.Bindings[0]);
Assert.Equal(setParam["Val2"], result.Bindings[1]);
Assert.Equal(userTableID, result.Bindings[2]);

//With en-us culture
Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo("en-us");
result = compiler.Compile(query);

Assert.Contains("-7.79607", result.ToString());

@ceastwood, thank you for your response.
In my case, unfortunately, i can't (to be exact, heavily discouraged by the environment) to do changes to Thread.CurrentThread, so the current working workaround for me is to make another function that replace every each '@p1', '@p2', '@p3' and so on to the correct string representation
    internal static string CompiledString(Query que)
    {
        var compiled = QueryCompiler.Compile(que);
        if(compiled.Bindings.Count <= 0)
        {
            // Return as-is, as the SQL query doesn't have any parameter
            // that need to be formatted
            return compiled.ToString();
        }
        else
        {
            // Iterate through whole Bindings, replacing the respective "@p" placeholders
            string returnPlaceholder = compiled.Sql;
            for(int i = 0; i < compiled.Bindings.Count; i++)
            {
                var para = compiled.Bindings[i];
                var replacer = "";
                if (para is string || para is char)
                {
                    replacer = $"'{para.ToString()}'";
                }
                else if (para is double)
                {
                    //in short, this is the line that solve my prblem
                    replacer = ((double)para).ToString(CultureInfo.InvariantCulture);
                }
                else
                {
                    replacer = para.ToString();
                }
                returnPlaceholder = returnPlaceholder.Replace("@p" + 1, replacer);
            }
            return returnPlaceholder;
        }
    }

Also, i think i'll just close this issue since workarounds are exist now.
Thank you.

@ElementalCyclone, I think you provided the solution for the issue, would you mind to do a PR so we can merge it with the code base.


[Core] Add and use forward declaration macros

Closes #446.
Best practice in C++ is to forward declare types where possible, to reduce compilation time as well as reliance on transient
#includes that tightly couple units of code together.
To keep this DRY, add macros that forward declare classes and their associated smart pointer wrappers (currently just shared_ptr). Then use these macros across C++ headers.

Added c910cd66 to fix perftest after rebase


fix linter issues

Description

Type of Change

[ ] ✨ New feature (non-breaking change which adds functionality)
[ ] 🛠 Bug fix (non-breaking change which fixes an issue)
[ ] ❌ Breaking change (fix or feature that would cause existing functionality to change)
[x] 🧹 Code refactor
[ ] ✅ Build configuration change
[ ] 📝 Documentation
[ ] 🗑 Chore

How do u make the linter checks, there seemed to be quite a few issues, for me all these issues weren't indicated. (I'm using Android Studio) Might be good if I do it the same way as u do, will save us some work after all.

well, they appear to me in visual studio code (they were more than 200), you can also see them running flutter analyze lib test.
Here you can see all the command that the projects runs before merge


Is the LHRS-Align and LHRS-Instruct publicly available?

Hi, Thanks for your interest.
Our dataset is currently unavailable, but it will be released after our paper is accepted.
Please stay tuned for updates.

Hi!
We have release our data! Please see the instruction from the main page.


go command required, not found: exec: "go": executable file not found in $PATH: stderr

I'm getting this errors when opening a .templ file
templ: Error loading workspace folders (expected 1, got 0) failed to load view for file:///home/yaz/workspace/personal/golang/condo-manager-golang/src/view: err: go command required, not found: exec: "go": executable file not found in $PATH: stderr:
templ: Error loading packages: err: go command required, not found: exec: "go": executable file not found in $PATH: stderr:

OS: Ubuntu 22.04.4
Go: go1.22.5 linux/amd64
Intellij: IntelliJ IDEA 2024.1.4 (Ultimate Edition)
Templ: v0.2.747
Plugin: 0.0.14

Hi, thanks for the error report. Can you please send the result of the command templ info?

Hi @joerdav  Same Problem here

templ: Error loading workspace folders (expected 1, got 0) failed to load view for file:///home/ms/code/kozukai/web/views/accomplishments: err: go command required, not found: exec: "go": executable file not found in $PATH: stderr:

templ: Error loading packages: err: go command required, not found: exec: "go": executable file not found in $PATH: stderr:

templ  version
v0.2.747

templ info
usage: templ <command> [<args>...]

templ - build HTML UIs with Go

See docs at https://templ.guide

commands:
  generate   Generates Go code from templ files
  fmt        Formats templ files
  lsp        Starts a language server for templ files
  version    Prints the version

echo $PATH |grep go
/home/ms/go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.0.linux-amd64/bin:/home/ms/go/bin:/home/ms/.krew/bin:/home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin:/home/ms/.rd/bin:/home/ms/miniconda3/bin:/home/ms/.krew/bin:/home/ms/go/bin/bin:/home/ms/go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.0.linux-amd64/bin:/home/ms/.rd/bin:/home/ms/.local/bin:/home/ms/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/ms/.local/share/JetBrains/Toolbox/scripts:/home/ms/.local/bin:/usr/local/go/bin:/home/ms/bin:/home/ms/.kerl/25.2.3/bin/:/home/ms/.kerl/elixir-otp-25/bin:/home/ms/.rd/bin:/home/ms/.local/bin/go

@schmiddim sorry, the templ info command is quite new, could you update your templ version please and try again?

/home/ms/.local/bin/go/templ  info
(✓) os [ goos=linux goarch=amd64 ]
(✓) go [ location=/usr/local/go/bin/go version=go version go1.21.1 linux/amd64 ]
(✓) gopls [ location=/home/ms/.local/bin/go/gopls version=golang.org/x/tools/gopls v0.16.1 ]
(✓) templ [ location=/home/ms/.local/bin/go/templ version=v0.2.771 ]

Hi, sorry for the late answer, I updated to v0.2.778 but the error persists
This is the output of templ info:
(✓) os [ goos=linux goarch=amd64 ]
(✓) go [ location=/usr/local/go/bin/go version=go version go1.23.1 linux/amd64 ]
(✓) gopls [ location=/home/yaz/go/bin/gopls version=golang.org/x/tools/gopls v0.16.1 ]
(✓) templ [ location=/home/yaz/go/bin/templ version=v0.2.778 ]

I fixed this problem by adding a file ~/.config/environment.d/go.conf containing:
GOROOT="$HOME/go/go1.23.0"
GOPATH="$HOME/go:$GOROOT"
GOBIN="$GOROOT/bin"
PATH="$GOBIN:$PATH"

After this, log out and in again (or reboot)!
The GOROOT must point to the Go SDK on your disk (in my case $HOME/go/go1.23.0, in your case probably $HOME/go.
What this does is add the go bin path to the global $PATH for your user. These files are only applied when logging in your desktop environment and the $PATH will be passed to GoLand or IntelliJ when you launch them.
If you only add the go bin path to your .bashrc, .zshrc or .profile or whatever is not enough, because they are only executed once you start a new terminal/shell.

This should now be closed by https://github.com/templ-go/templ-jetbrains/pull/39


Extra options and comments should be stripped

flake8-requirements is using pkg_resources.parse_requirements to parse the requirements list.  Looking at the documentation for parse_requirements, it only accepts requirement specifiers defined in PEP508 format.
Full comment lines and line continuation characters are currently handled, but other things still need to be stripped before the requirements lines are passed into parse_requirements.  The requirements file format allows things like extra options and comments at the end of lines which cause parse_requirements to throw an exception.
E.g.
Running this code:
from pkg_resources import parse_requirements

requirements = parse_requirements('scipy==1.4.1 --hash=sha256:00af72998a46c25bdb5824d2b729e7dabec0c765f9deb0b504f928591f5ff9d4')
for req in requirements:
    print(req)

results in the following error:
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/pkg_resources/_vendor/packaging/requirements.py", line 90, in __init__
    req = REQUIREMENT.parseString(requirement_string)
  File "/usr/lib/python3/dist-packages/pkg_resources/_vendor/pyparsing.py", line 1654, in parseString
    raise exc
  File "/usr/lib/python3/dist-packages/pkg_resources/_vendor/pyparsing.py", line 1644, in parseString
    loc, tokens = self._parse( instring, 0 )
  File "/usr/lib/python3/dist-packages/pkg_resources/_vendor/pyparsing.py", line 1402, in _parseNoCache
    loc,tokens = self.parseImpl( instring, preloc, doActions )
  File "/usr/lib/python3/dist-packages/pkg_resources/_vendor/pyparsing.py", line 3417, in parseImpl
    loc, exprtokens = e._parse( instring, loc, doActions )
  File "/usr/lib/python3/dist-packages/pkg_resources/_vendor/pyparsing.py", line 1406, in _parseNoCache
    loc,tokens = self.parseImpl( instring, preloc, doActions )
  File "/usr/lib/python3/dist-packages/pkg_resources/_vendor/pyparsing.py", line 3205, in parseImpl
    raise ParseException(instring, loc, self.errmsg, self)
pkg_resources._vendor.pyparsing.ParseException: Expected stringEnd (at char 13), (line:1, col:14)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 3042, in __init__
    super(Requirement, self).__init__(requirement_string)
  File "/usr/lib/python3/dist-packages/pkg_resources/_vendor/packaging/requirements.py", line 94, in __init__
    requirement_string[e.loc:e.loc + 8]))
pkg_resources.extern.packaging.requirements.InvalidRequirement: Invalid requirement, parse error at "'--hash=s'"

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "test.py", line 4, in <module>
    for req in requirements:
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 3035, in parse_requirements
    yield Requirement(line)
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 3044, in __init__
    raise RequirementParseError(str(e))
pkg_resources.RequirementParseError: Invalid requirement, parse error at "'--hash=s'"

After another quick test, it looks like comments at the end of a line are handled properly inside parse_requirements despite comments not appearing anywhere in the PEP508 spec.


(PUP-4030) Support no_proxy env variable

Implement support for the no_proxy variable in various places where http_proxy was taken into consideration such as accessing the forge.

@ChrisPortman thank you for your contribution! During PR triage we had a few comments:

Could you add unit tests for the other parts of code that were changed, repository, factory, pkgdmg
In general we try to break up PRs like this into logical commits, e.g. update http_proxy to have a no_proxy? method and add tests, then another commit to modify the callers to take that into account. I wouldn't say it's a requirement for this PR, but it makes it easier to reason about the changes.

@ChrisPortman Hi, it's been a couple of weeks since we commented on this.
If we don't hear from you in 2-3 more weeks we'll be closing this PR for inactivity.

@ChrisPortman Will you have a chance to address Josh's comments here?

Hi All,
Apologies, I've been on leave the last couple of weeks.  I will be able to address the feedback, hopefully this week.
Thanks,
Chris

Hi @joshcooper
Thanks for your feedback.  I did look for opportunities to add spec tests to the other areas when I made the changes, but I couldn't find a way to add any meaningful tests as I didn't change the API in the other cases (i.e the inputs and outputs are the same).
That said, my experience is limited.  So I'd appreciate any pointers if you have any.
Also, I see your point regarding a commit per change.  I'll definitely keep it in mind in future.
Thanks,
Chris

I've just rebased it against the current master as well.

@ChrisPortman Thanks for the new commit.  Could you amend the commit message to include the ticket number?

@ChrisPortman for more information about the commit message format, check out the documentation at https://github.com/puppetlabs/puppet/blob/master/CONTRIBUTING.md#making-changes

OK, i've update the commit message (sorry for some reason I thought the PR message was what was included as the merge commit).
Also, it came to my attention over the weekend, that depending on where you look, domain level no_proxy entries are either '*.example.com' or '.example.com', so I've updated the code to support either notation.

This pull request will really make a huge difference for us, thanks!! Really hoping it is accepted :smile:

I'm :+1:

@ChrisPortman Thanks again for the contribution!  This has been merged to master and will appear in the next release of Puppet.

Thank you so much everyone!!! :smile:


[DOC] Image formatting

Preliminary Checks

[X] This issue is not a question, feature request, RFC, or anything other than a bug report. Please post those things in GitHub Discussions: https://github.com/nebari-dev/nebari/discussions

Summary
I'd like to have the ability to add a border around my images to help differentiate it from the surrounding text. For example, when an image is a screen shot with white space in the middle, its hard to tell where the image ends.
Steps to Resolve this Issue

Sort out where this option should live (css?)
Sort out how to implement it for individual images?

This is now sorted, see https://www.nebari.dev/tutorials/using-vscode


applying a control tag failure does NOT change the control failures count

Describe the bug
We display a field "control failures" on the nodes list in the Automate UI. This correlates to node.latest_report.controls.failed.total value returned by the api.
When we filter by profile, this number changes to reflect the amount of controls that failed that were part of the selected profile. When we filter by control, this number changes to reflect the status of the selected control on that node (i.e. 1 failed, or passed/skipped).
When filtering by control tag, this number is not modified. I spent a bit of time reading the code yesterday to see about addressing this.  It doesn't look like it'll be a simple fix - it basically means introducing a new depth, "control tag filter depth", which would aggregate totals across multiple profiles and controls.
Let's check with @rickmarry to see what the options are on this/brainstorm a bit with the team.
Note: this issue was called out by our CFT that are showing the feature to customers.
To Reproduce
Steps to reproduce the behavior:

run a scan with a profile that has control tags
note the total failed controls on that node object
filter by a control tag
see the number does not change

Expected behavior
Expect control failure total to reflect the amount of controls that failed on that node that matched the requested tag filter.
Screenshots

Versions (please complete the following information):

Automate Build Number:<PHONE_NUMBER>5919

so tl;dr on this issue:

the number value for failed controls only changes when deep filtering is applied
deep filtering only works when you filter by one profile or one profile + one control
the way the data is architected today, we cannot modify the value for failed controls when a control tag filter is applied

we will start looking in earnest at the work needed for these arch changes with https://github.com/chef/automate/issues/1738


Throw 404 if paper is deleted

Page failing: https://www.researchhub.com/paper/1277194/efficacy-of-mrna-1273-and-novavax-ancestral-or-ba1-spike-booster-vaccines-against-sars-cov-2-ba5-infection-in-non-human-primates
Reason: 404 on this url
https://backend.researchhub.com/api/researchhub_unified_document/1256799/get_document_metadata/
Paper data: https://backend.researchhub.com/api/paper/1277194/?make_public=true&

On both the metadata and paper endpoints


ghost breadcrum

There is some strange content in the breadcrums: https://de.serlo.org/community/hilfe-bearbeitung/einstieg
hint: this could be an old title of one of the taxonomy elements

This was caused by setting the flag visible: false in the navi backend for the main taxonomy element.
As discussed with @SimonKoehl it's not high priority to fix it, since removing the flag worked. (Although they actually didn't want the element to be shown in the navi...)

Actually for me its a feature: I really liked the link to a site like https://de.serlo.org/community/-87993 since it helped me as an editor for navigating the site. Please reopen it, when this is an issue for you @simonkoehl


Capital letter issue with search

Possible to make the search work even with capital letters?
for example Cat will return nothing. Maybe a way to toLowerCase? I tried to do it directly on the search element using jquery, but this doesn't work totally (if I search Cat, it will work at the a because it's a new keypress event, but if I set CAT this will not work even if this is converted to cat because no keypress event happen I guess).

Hi,
I am facing the same issue. It will be good if someone can find a fix for it.
Is there any event handler for search event?

I found an alternative for this.
used the event called "search:keypress" I am converting the capital letter to small.
search_keypress: function() {   var _this = this; var small = _this.search.val().toLowerCase(); _this.search.val(small);  }


Add rate limiting on IP

Add rate limiting with IP as a filter. Possibly allow config of max tries per IP, and timeout between sets of tries, either in config file or in the code for the middleware (to avoid bloating the config with too many options).

Shouldn't this be handled at nginx or haproxy or LB level. one level above the real application. I mean this might be a thing you wouldn't want in a large deployment handling heavy traffic where the requests to the app server will come from load balancers.

It would definitely be optional, and in larger apps you're right it would be at a higher level, but might be useful in smaller apps to have this ability to avoid naive DOS attacks.
My end goal here is to have an application that is one binary and can be deployed anywhere with zero dependencies, but which you can scale out with a database/load balancer etc separately if required. So this isn't really a high priority item, just a note for later.


[HUDI-5629] Clean CDC log files for enable/disable scenario

Change Logs
According the current clean logic about cdc, clean cdc log files only when the cdc config is enabled. But if a table enables cdc first, then disables it, will probably leave some cdc log files which can't be cleaned.
So clean log files if exists directly.
Impact
NONE
Risk level (write none, low medium or high below)
NONE
Documentation Update
Describe any necessary documentation update if there is any new feature, config, or user-facing change

The config description must be updated if new configs are added or the default value of the configs are changed
Any new feature or user-facing change requires updating the Hudi website. Please create a Jira ticket, attach the
ticket number here and follow the instruction to make
changes to the website.

Contributor's checklist

[ ] Read through contributor's guide
[ ] Change Logs and Impact were stated clearly
[ ] Adequate tests were added if applicable
[ ] CI passed

The failed UTs is not related to this pr, but fixed in https://github.com/apache/hudi/pull/7768. Now merge this.


Should definitely be possible to switch between wallets on dashboard

Which package/s are you suggesting this feature for?
Dashboard
Is your feature request related to a problem? Please describe
Currently when connecting a wallet to the dashboard (lets say ops mainnet wallet), it is extremely cumbersome to switch to another wallet (like my personal wallet).
If I connect ops wallet and create a login, I need to disconnect & fill in my private mnemonic, create a login, and then to go back I need to re-create a login with ops mnemonic? This is not making a lot of sense.. I can imagine a lot of situations where people handle more than one wallet (easy example, business vs personal).
Describe the solution you'd like
Make it possible to switch between accounts more easily

It used to be like that in previous version but it was enforced to be like that :) I'd say using two different profiles in your chrome (or two different browsers) is the current solution :)


Bootstrap theme not working properly for large no of columns

I'm submitting a ...  (check one with "x")
[x ] bug report => search github for a similar issue or PR before submitting
[ ] feature request
[ ] support request => Please do not submit support request here, post on Stackoverflow or Gitter

Current behavior
Using bootstrap theme for large no of column, does not get applied random no of last columns, if width is set to more than 150.
Expected behavior
Theme should have got applied to all the columns.
Reproduction of the problem
I have added a stackblitz example to reproduce the problem
https://stackblitz.com/edit/angular-3hpxre
What is the motivation / use case for changing the behavior?
I think it has to do with the padding.
Please tell us about your environment:
OS X EI Capitan (version 10.11.6), vscode, npm, angular/cli

Table version:
13.1.0 and 14.0.0

Angular version:
6.0.2

Browser: [Chrome 72.0.3626.109 | (likely all)

Language: [all | TypeScript X.X | ES6/7 | ES5]
Typescript 2.7.2 (target: es6) (likely all)

Solved the issue by adding [width] to column.


Start featureprofiles/features/security content. - Issue #1562

Create a skeleton README for security features to be tested. Start with simple Certificate / CA bundle test aims.
Associate this to Issue1562

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
6 unchanged lines in 1 file lost coverage.
Overall coverage remained the same at 55.385%

Files with Coverage Reduction
New Missed Lines
%

internal/components/components.go
6
7.07%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1188

Relevant Lines:
2145

💛  - Coveralls

Pull Request Functional Test Report for #1563 / 32736bd2f62395428a9e9c79e774bfb5bc0baf39
No tests identified for validation.

From github actions:
~/work/featureprofiles/featureprofiles/featureprofiles.wiki ~/work/featureprofiles/featureprofiles
114
remote: Permission to openconfig/featureprofiles.wiki.git denied to github-actions[bot].
115
fatal: unable to access 'https://github.com/openconfig/featureprofiles.wiki/': The requested URL returned error: 403
116
Error: Process completed with exit code 128.

is that supposed to actually work?

Can you help strucutre the folder/file in the following way? Similar as https://github.com/openconfig/featureprofiles/pull/1805/files. WDYT?
feature/security/gnsi/certz
	- test_data
		- all the content from existing certificate-authorities folder.
	- client_certificates
		- README.md + plus whatever related from existing `feature/security/README.md`. Use test ID: Certz-1.x
	- server_certificates
		- README.md + plus whatever related from existing `feature/security/README.md`. Use test ID: Certz-2.x
	- trust_bundle
		- README.md + plus whatever related from existing `feature/security/README.md`. Use test ID: Certz-3.x
	- trust_bundle_rotation
		- README.md + plus whatever related from existing `feature/security/README.md`. Use test ID: Certz-4.x

files moved around as requested.

I believe the requested comments/changes are all dealt with at this time.


vsync broken and freesync missing

Continuation from #16 , as I think situation is too unsatisfying to have no open ticket for it.

Vsync in amdvlk is basically broken. It tears when fps fall below refresh rate. When setting UseFlipHint,1 in amdPalSettings.cfg, it doesn't tear anymore, but looks way too stuttery compared to radv. This seems to be a general issue, as every game I tested shows the same behavior.
Like I said in the original ticket, use amdgpu.dc=0 or modesetting Xorg DDX for testing, as there is an issue with xf86-video-amdgpu + amdgpu.dc=1:
https://bugs.freedesktop.org/show_bug.cgi?id=110659

FreeSync is missing. It is implemented in radv since Mesa 19.1 and doesn't comprise many lines of code.

Any feedback, please?
With the default setting without pageflipping, there is always tearing as soon as fps drop below refreshrate and it looks even more stuttery than without vsync at the same time.
With pageflipping enabled via UseFlipHint,1, there is no more tearing, but the result is much more stuttery than with radv. This is also visible in DXVK's frametime graph, it shows more spikes:

You are also wasting performance by not enabling pageflipping by default: Even when vsync is disabled, fps are ~3% higher with UseFlipHint,1 (as long as amdgpu.dc=0 is used).

I know the Windows driver got broken vsync too.
I don't have a Freesync monitor though.
I  reported about this here on AMD Vulkan forums : https://community.amd.com/thread/240310

There seems to be something broken in the recent Windows drivers, I'm getting uneven presentation in Serious Sam Fusion. But I think that must be an actual regression, it it used to work without issues before.
Though the Linux amdvlk situation on Xorg has always been as bad as it is today.

Good to see an assignment for this.
The bug regarding amdgpu.dc=1 which I mentioned in the opening post turned out to be a bug in Wine that can be "fixed" by reverting this Wine commit:
https://github.com/wine-mirror/wine/commit/c6b6935bb433dbbd30f5ba122a7c45ad3a2d6eed
But: As expected, this doesn't touch this amdvlk issue.
Pageflipping being disabled in amdvlk driver by default also affects the native Linux version of Rise of the Tomb Raider, there is tearing despite of the vsync option enabled in the game.
When setting UseFlipHint,1, the tearing is gone, but frame output looks extremely stuttery.
With radv, there is no tearing when enabling vsync and it also looks as smooth as on Windows.

Got it, hopefully I can take a look at the stuttery issue with vsync enabled next week.

Fantastic, thank you. :)
As a side note: It already stutters without vsync when UseFlipHint,1 is used in fullscreen with amdgpu.dc=1.

Hi @aufkrawall , is this issue only with dxvk? It's not seen on my end, native Linux. Did you install amdgpu-pro driver? And also, amdgpu.dc = 0 or 1? I'm little confused because it's a long thread continious from  #16 . Could you describe again about how to reproduce this issue step by step, including OS, HW, and how to proceed with the Game (I tried with Rise Tomb benchmark, but the issue is not seen)? It will be helpful if there is any simple demo, such as modified vkcube, to reproduce this issue.

@JacobHeAMD
Here it's also 100% reproducible with native Linux version of Rise of the Tomb Raider by Feral.
With the driver default of UseFlipHint,0, I'm having constant tearing with vsync, despite of always achieving the 75fps for my display's 75Hz refresh rate.
When I set UseFlipHint,1, there is no more tearing, but framerate suffers and it runs at very stuttery ~67fps instead of 75fps:

Without vsync, it runs with stable 82fps in that scene:

This is with amdgpu.dc=1. As I mentioned before, this issue does not occur with radv.
I don't know what else to describe. I load any game and the issue is always there with amdvlk.

Is it 4k resolution of your monitor? Mine is 2k, that's probably the reason why I don't see it. I'll try 4k monitor later.

I'm on a 1440p display and the games' render resolution is also set to it and fullscreen mode (so there should be no problem with fullscreen windows to trigger pageflipping on xorg).
It seems pageflipping never kicks in here with amdvlk and driver default of UseFlipHint,0, and enforcing it in the driver via UseFlipHint,1 just leads to something bad. At least that would be my layman interpretation.

Could you please tell me which gpu are you using? You can get it by "lspci | grep VGA" in cosole.

01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere [Radeon RX 470/480/570/570X/580/580X/590] (rev ef)

I still didn't see this issue, probably I missed something important. Our CQE will try to reproduce it, will take a look if it's reproduced.

Still broken with v-2019.Q4.1.

Hi @aufkrawall , could you please clarify if the tearing happens to "UseFlipHint,1"   + vsync on ? Or it just happens to UseFlipHint=0 or vsync off?

@JacobHeAMD
"UseFlipHint,1" + vsync on: No tearing, but very stuttery result when fps are below refresh rate
"UseFlipHint,1" + vsync off: tearing, but still bad stutter at the same time
"UseFlipHint,0" + vsync on: tearing (might occur close to the top or bottom of the screen)
"UseFlipHint,0" + vsync off: works normally

Hi @aufkrawall , may I know which kernel are you testing with? Is it 5.0?

@JacobHeAMD It is 5.3.7. I'd be surprised if it made a difference, as radv just works.

As expected, the Shadow of the Tomb Raider port by Feral shows tearing with amvlk + vsync, while radv + vsync does not.

Now that they fixed AMDVLK on Hybrid Graphics I can see the tearing issues too when playing NI No Kuni Remastered.

Are you rendering on a different GPU than the one that outputs to display? If yes, that might be a very similar, but actually different issue. I'm also getting tearing with radv/anv when rendering on the IGP of my 6700k while outputting via Polaris dGPU. That might be an Xorg limitation.
But this amdvlk issue is not, it's an amdvlk limitation. ;)

Ya but the thing is when i use "UseFlipHint,1" like you said the tearing stops and gets replaced by stutters (unless that's also part of "very similar issue" you meant).

Hi @aufkrawall , would you mind to try the latest amdvlk driver?

As broken as ever with 2019.Q4.5-1 from Arch repo.

Do you mean it's same as before no matter if UseFlipHint is turned on or off?

Ok, it definitely has improved with UseFlipHint,1, it seems to look normal now without vsync in fullscreen.
However, despite of having improved, UseFlipHint,1 + vsync still looks more choppy than radv. It's not that obvious anymore, but still definitely worse. Also DXVK's frame time graph still mirrors this:

Thanks! I'll take a look the issue of "UseFlipHint,1 + Vsync".

You likely need to get into frame rates below the display's maximum refresh rate to trigger it. In my layman terms, it appears to me like an issue of the logic that decides to how frame draws are repeated to match the refresh rate as good as possible.

The issue with tearing on fixed referesh rate displays is still a thing :X (at least on Windows) .

However, despite of having improved, UseFlipHint,1 + vsync still looks more choppy than radv. It's not that obvious anymore, but still definitely worse. Also DXVK's frame time graph still mirrors this:

@JacobHeAMD May I ask if this is fixed, now that page flipping is turned on by default in amdvlk?

@aufkrawall , I think it's not fixed since it's not seen at my end. I will try to add timestamp log to check the issue when I have time. The flip is enabled by default now.

Adaptive refresh can now be manually enabled in the PAL settings.

Could somebody please retest the situation with vsync and page flipping when frame rate is below refresh rate (see Hitman 2 screenshots above)?

@JacobHeAMD
Vsync still badly affects rendering frame times as shown above. This is with amdvlk 2020.Q3.2 & RX 480 on Xorg.
It's nice that FreeSync works well once activated, but vsync triple buffer/flipping should be fixed regardless.

Enabling vsync still gives me tearing no matter the game.

@MojoJojoDojo Perhaps you have an amdPalSettings.cfg at some path you forgot and in which you set UseFlipHint,0? I think since it's set to 1 by default in more recent drivers, it shouldn't tear anymore.
But unlike with radv, vsync with amdvlk still gives me oscillating frame time graph and thus more stutter in any game when fps are below maximum refresh rate and FreeSync is disabled:

Some competitor btw. fixed their Vulkan triple buffered fifo mode in a recent driver. ;)

Is there a way to set UseFlipHint,1 on the Windows Vulkan driver?
Would be helpful to stop the tearing I get there (LInux driver is fine ofc).

@JacobHeAMD If I understood you right, you said you couldn't reproduce. So does your DXVK frame time graph (DXVK_HUD=frametimes) look flat with vsync enabled and fps below refresh rate? It certainly doesn't here. Please check if you have EnableAdaptiveSync set, having adaptive sync enabled completely masks the issue.
Recent test with RX 480, amdvlk v-2020.Q3.4, Linux 5.8/5.9-rc, xorg-server 1.20.8, xf86-video-amdgpu 19.1.0, Proton 5.0-9 and latest Hitman 2 version via Steam:
amdvlk with vsync capping fps at refresh rate (85Hz) as GPU can deliver enough fps = flat:

amdvlk when dropping below 85fps GPU bound = spiky:

radv when dropping below 85fps GPU bound = flat (minor variance in GPU frame time like without vsync):

amdvlk definitely feels more stuttery than radv when fps are below refresh rate, it's not just a cosmetic issue in DXVK frame time graph. Could you please have another look?

I'm starting to think that vsync is notoriously broken in Windows version of amdvlk as well. This is with Adrenalin 20.9.1 & DXVK:
Vsync off:

Vsync on:

Does anybody even care?

I guess they are banking on people using Freesync monitors and not using non-freesync/laptop monitors.
I guess I am stuck with using RADV for awhile.

sigh, fifo vsync is still flawed with fps below refresh rate with amdvlk v-2021.Q1.1, despite of backbuffer queue length of 3:
amdvlk:

-> looks very stuttery
RADV (or amdvlk without vsync):

-> looks normally smoth
Though mailbox present mode looks also normal with amdvlk, at least if a game uses a backbuffer queue length of 3. This can be forced in DXVK, but not in native Vulkan games if the game developer doesn't do it.
Example:
Hitman 2 frame time graph is flat and the game looks normally smooth when forcing mailbox vsync mode via libstrangle and a backbuffer queue length of 3 via DXVK. But mailbox vsync mode stops working correctly when setting a backbuffer queue length of 2 in DXVK, it then looks again stuttery with fps below refresh rate. This is not the case with Mesa/RADV, with it mailbox vsync mode also looks smooth with a backbuffer queue length of 2 via DXVK. So, mailbox vsync mode can be used as a workaround for the flawed fifo mode of amdvlk, but only if the application is configured with a backbuffer queue length of 3 (which e.g. doesn't apply to native Path of Exile Vulkan renderer).
Could you please rework vsync for amdvlk?

sigh, fifo vsync is still flawed with fps below refresh rate with amdvlk v-2021.Q1.1, despite of backbuffer queue length of 3:
amdvlk:

-> looks very stuttery
RADV (or amdvlk without vsync):

-> looks normally smoth
Though mailbox present mode looks also normal with amdvlk, at least if a game uses a backbuffer queue length of 3. This can be forced in DXVK, but not in native Vulkan games if the game developer doesn't do it.
Example:
Hitman 2 frame time graph is flat and the game looks normally smooth when forcing mailbox vsync mode via libstrangle and a backbuffer queue length of 3 via DXVK. But mailbox vsync mode stops working correctly when setting a backbuffer queue length of 2 in DXVK, it then looks again stuttery with fps below refresh rate. This is not the case with Mesa/RADV, with it mailbox vsync mode also looks smooth with a backbuffer queue length of 2 via DXVK. So, mailbox vsync mode can be used as a workaround for the flawed fifo mode of amdvlk, but only if the application is configured with a backbuffer queue length of 3 (which e.g. doesn't apply to native Path of Exile Vulkan renderer).
Could you please rework vsync for amdvlk?

With recent amdvlk-open 2021.q1.6 and amdvlk-pro 20.50.1232447 drivers, it seems mailbox vsync mode now also seems to work correctly when the application doesn't have a backbuffer queue length of at least 3 configured.
But: Fifo vsync is still bad on both Linux on Windows when it comes to frame rates below refresh rate, despite of a backbuffer queue length of 3. :(
I mentioned in August that a competitor had fixed a similar issue for their Linux drivers (and their Windows driver doesn't have this issue either)...


feat(core): Pass JWT from Core to Orchestrator

The header of messages exchanged between the various endpoints contains a field called "token". This change sets that field with the JWT from the "Authorization" HTTP header.

Turns out the SQS transport does not tolerate leaving this field empty. This was not caught by the integration tests because they set the token to a non-empty string.

Turns out the SQS transport does not tolerate leaving this field empty.

Should I try to modify the SQS implementation to tolerate empty tokens? Does ORT server require that to be supported, @oheger-bosch?

Without having tried it, you could probably leave TOKEN_PROPERTY out of the map if token is empty here.

Yes, that's exactly how I was going to implement it, if somebody confirms to me that empty tokens should be supported.

Without having tried it, you could probably leave TOKEN_PROPERTY out of the map if token is empty here.

Yes, that's exactly how I was going to implement it, if somebody confirms to me that empty tokens should be supported.

I think, the current agreement is to drop the token property altogether.


Create SECURITY.md

Types of changes

[x] Bug fix (a non-breaking change which fixes an issue)
[x] New feature (a non-breaking change which adds functionality)
[x] Breaking change (fix or feature that would cause existing functionality to change)

Description

Checklist:

[x] My change requires a change to the documentation.
[x] I have updated the documentation accordingly. (PR: #)
[x] I have added tests to cover my changes (if not applicable, please state why)
[x] All new and existing tests are passing.

BTW it worth having this file ;)

@pi0 Somehow I just couldn't bring myself to accept a bot's PR 😆


Load balancer configuration

Please add a configurable ability to not inherit target hostname routing rules if the target service is a load balancer service.

The issue is specific to a selector based service when hostname routing rules are defined on a target service.

This is for the configuration where there are two LB's involved, for a LB config with selector based rules, skip adding hostname/path routing rules if label 'io.rancher.lb_service.skip_target_lb_rules' is set to "true" on the LB and the target service is of kind Loadbalancerservice which is being added by the selector.

Can be tested with rancher/server:v1.6.27-rc1

Tested with rancher/server:v1.6.27-rc1

Created a service "inttest1" and LB "testlb" pointing to the service inttest1 with selector label foo=bar
Created another LB "extlb" pointing to "testlb" with selector label "foo1=bar"
The haproxy config of "extlb" inherits the target hostname rules of "testlb"

listen default
bind *:42

frontend 80
bind *:80
mode http
acl 80_name_html_path path_beg -i /name.html
use_backend 80_name_html if 80_name_html_path

After adding the label 'io.rancher.lb_service.skip_target_lb_rules=true`, the rules were not inherited as seen below in the haproxy.cfg snippet
listen default
bind *:42

frontend 80
bind *:80
mode http
default_backend 80_


Add BUILD_CONFIG[OS_FULL_VERSION]

For the "reproducible builds" issue: https://github.com/adoptium/temurin-build/issues/2594#issuecomment-841199132
the key piece of information missing from the built "BUILD_CONFIG" was the full os version level the binary was built on, this adds that info.
Signed-off-by: Andrew Leonard<EMAIL_ADDRESS>

run tests

Approving on the assumption that my suggestions have been tested first ;-)

Approving on the assumption that my suggestions have been tested first ;-)
@sax They have!


[APIView Python] client method return type getting cutting off

Example here: https://apiview.dev/Assemblies/Review/f74ef8c4777b408f85dab76b8034cb41#dcda8732257d46a7abb8f332b40c741c

Looks like this is the same (or similar) as #826.


Filename is not included in JSON parsing warnings

I must have broken this when factoring out the GeoJSON parsing loop

Fixed in https://github.com/mapbox/tippecanoe/pull/631


lower interval so that test doesn't stuck waiting 4h

closes: https://github.com/spacemeshos/go-spacemesh/issues/5681

bors merge

bors merge

bors cancel

bors merge

bors merge


Blank lines don't survive copy paste

The remaining ones seem to have whitespace in them.

Interesting, that's definitely a bug, I'll take a look and probably PR it to pygments-better-html.

Closed, redeployed bpaste to fix the issue as well. Will only be fixed for newly created pastes.


Make health check timer configurable

The code in health.rs does a check every 5 seconds. We should make it configurable.
Note: While we are waiting on a configuration file format, we can set the value in src/alacrity.rs or something. The important part is that the health check code is not hardcoding the value.

@hjr3 something like this simple may be?

Fixed in https://github.com/hjr3/weldr/pull/99


Repo description needs updating

Currently it says:

This Docker Image is actively maintained and updated regularly.

but it looks like you've lost interest. (that's ok, thanks for all the work.)
Maybe updating the description would be helpful.

Again, thanks for the work. May also want to note that, at least as of mid-2020 the docker pull smikino/ruby-node shows successful autobuilds at https://hub.docker.com/r/smikino/ruby-node/builds
And, as of mid-2020 the smikino/ruby-node github site is the radeno fork at  https://github.com/radeno/docker-ruby-node and is "even with Starefossen:master" with last commit @Starefossen  aad0b6d on Aug 8, 2018
Since they are even, anything that works with starefossen/rube-node should also work with smikino/ruby-node
Going forward, if I find any other forks of ruby-node that are in active development with working builds,  I'll update this comment. As of today, of interest at https://techgaun.github.io/active-forks/index.html#Starefossen/docker-ruby-node might be

https://github.com/koenpunt/docker-ruby-node (2 commits ahead) at https://hub.docker.com/r/koen/ruby-node/builds (but no autobuilds available). "unify dockerfiles by making use of build arguments" and "udate gpg keys" are 2 ahead.
https://github.com/nextdude-mdsol/docker-ruby-node "Simplified this to allow you specify environment variables (or just edit the .env file) and a single docker file. Just run docker-compose build to build or docker-compose run to see the versions and a list of binaries installed."


MSS questions

MSS questions:
CICD:

secrets.OpenShiftToken is it a service account token? does it expire?
why do we need to build for node v10 and v12?
don't we need a buildconfig template for api and web? github workflow is running oc start-build <bc> assuming there is a bc already?
how does the latest image get tagged with prod? Manually after tested in dev?

DB:

we don't need a backup right? it's just for tracking job status

agent:

do i do launchctl load -w both of the plists: agent/config/launch/ca.bc.gov.developer.pfctl.plist

General signing process:

how's going with testing out iOS certificate? Can we do the same as Google?
I'll start to get a team to test for existing google app signing migration

MSS questions:
CICD:

secrets.OpenShiftToken is it a service account token? does it expire?

That is the token from a SA. It will not expire and has very limited access. The manifest is stored in the repo.

why do we need to build for node v10 and v12?

I tend to build for the current version I'm developing agains and the previous for good measure. But not its not required. Only the current version is.

don't we need a buildconfig template for api and web? github workflow is running oc start-build <bc> assuming there is a bc already?

Yes, they should be stored in the repo. Standard s2i build or similar.

how does the latest image get tagged with prod? Manually after tested in dev?

Manually ATM.

DB:

we don't need a backup right? it's just for tracking job status

None of the data is important. Its just needs to persist long enough for the agent to finish its work and report status back. So I don't think a backup is required. If we lost the database I'd just rebuild the schema empty.

agent:

do i do launchctl load -w both of the plists: agent/config/launch/ca.bc.gov.developer.pfctl.plist

Normally, yes. But when run as a Service/Damon in the background Xcode cannot get access to the account with access to iTunes to automatically update the provisioning profile (on demand). So, I've been starting it with npm start until this was solved.

General signing process:

how's going with testing out iOS certificate? Can we do the same as Google?

Good as reported during todays meeting.

I'll start to get a team to test for existing google app signing migration

Perf.


Stopwatch - Mini Project Added

Stopwatch - Javascript Mini Project Added

Sorry. But this Pull Request can not be merged as this project already exists in the Code-Khata Repository at here
I am closing this PR without merging.


DD2 Random Crashes with 816

Describe the bug
I am using ref 816, it keeps crashing after about 5-10 minutes in game. From what I can tell, I'm just running around, fighting enemies and it'll just freeze and crash
Upload logs and any crash dumps
Locate the re2_framework_log.txt in your game directory and upload it along with the issue.
If you crashed, upload the reframework_crash.dmp file as well.
reframework_crash.dmp
re2_framework_log.txt
Identify the REFramework version
816
To Reproduce
Steps to reproduce the behavior:
I am just running around and it'll randomly crash, not sure why.
Expected behavior
No crash
Desktop and VR (please complete the following information):

OS (e.g. Windows 11) Windows 11
Graphics card Nvidia RTX 3080 ti
CPU intel i5-12400f

Steam Deck/Linux (please complete the following information):

Proton version

Virtual Reality (please complete the following information):

Headset model
Runtime (OpenVR or OpenXR)

Additional context
Add any other context about the problem here.
reframework_crash.dmp

Figured out why, it was one of my mods.


Current Gas Price Visualizations

Hi all,
I have started to work on some visualizations for our project. We have a few options in terms of the gas price visualizations i.e.: whether we:

link with front end to have users view each regional graph separately
show visualization with all regions present for direct comparison
only show avg. gas price visualization for the whole US

Let me know which direction you all would like to go with the gas price visualization. We can also connect with front end via colors, fonts, etc.

Hey Becca,
3. Might be best for an MVP. If you want to do 1 or 2 later down the road, having a national average might be cool for comparison. I'd say focus on 3. first and then we can figure out if you want to do 1 or 2 or something else altogether.
I think connecting with the front end crew, with an example visualization and asking them if they have any color hex codes would be pretty useful.
Also just an FYI, this pull is for the main branch, instead of a feature branch. Probs best to put it in a feature branch for future updates. But I don't see why that should stop us from merging this today.  Good work Becca.


Passing store inside iframe

Hello, what I'm trying to do is render a part of an application inside and iframe element. The problem I'm facing is that there's no concept of store inside the iframe.
Could not find "store" in either the context or props of "Connect(Header)". Either wrap the root component in a <Provider>, or explicitly pass "store" as a prop to "Connect(Header)".
How do I pass the store to the components using connect that are inside the iframe? The library I'm using to create the iframe is the following: https://github.com/ryanseddon/react-frame-component
Any help is appreciated.

react-redux makes the store available in your react application via context. See https://facebook.github.io/react/docs/context.html for more information on context.
The root of every react application is the component passed to ReactDOM.render. When you have a look at the source code of react-frame-component you will see that the iframe content is created by calling ReactDOM.render again and handing the result to the iframe (see here).
As you can see here the context is not passed to the React application that lives in the iframe so this is actually a problem with react-frame-component and not react-redux.
You should be able to circumvent the problem by wrapping your iframe content like this
<Provider store={store}>
// content
</Provider>

Okay Thanks, next questions: How do i access the store from inside a component in order to pass it to the provider inside the iframe? And, will these two stores be in sync with each other?

The store should be available in every component wrapped in the provider via this.context.store.  Maybe try and update?

Awesome! Will try right away!

No problem and I forgot to say: There is only one store being passed around so there won't be any syncing issues.

Thanks Tim! Right now doing console.log(this.context); in the render method is returning undefined. Any clue on why the context isn't there? The component is defined with React.createClass instead of the new ES6 class syntax.

this.context is only populated when you define the properties you want in contextTypes
https://facebook.github.io/react/docs/context.html

Just read that after having the issue, context is still a new thing to me :smile:

You can do something like
class MyStuff extends Component {
  render() {
    return (
      <Frame>
       <Provider store={this.context.store}>
         <WhateverIsInside />
       </Provider>
      </Frame>
    );
  }
}
MyStuff.contextTypes = {
  store: React.PropTypes.object.isRequired
};

(pseudocode)

The reason this problem exists is because React doesn't preserve context across ReactDOM.render() boundaries which is what that frame component uses.

@lucadegasperi I have raised an issue against the frame component and it's being worked on.
https://github.com/ryanseddon/react-frame-component/issues/29

@timjacobi for now I have avoided using this technique, good thing someone is working on improving it.

Just a heads up I've merged and published a fix for this, all kudos goes to @ibash for coming up with the fix.


Evaluation Metrics

Thanks for the great work. I'm wondering how the evaluation metrics in Table 3 are calculated. For example, I have the following evaluation result from GPT-4.
    "statistics": {         "num": 100,         "error_num": 30,         "process": {             "Yes": 51,             "No": 18,             "Uncertain": 1         },         "response": {             "Yes": 59,             "No": 6,             "Uncertain": 5         },         "both": 50     }
May I know what denominator should I use when calculating evaluation metrics? 100 or 70?
for example, process_correct_rate = 51/100 or process_correct_rate = 51/70? Kindly let me know. Thanks.

Thank you for your question. When calculating the evaluation metrics, we use 100 as the denominator. This means all instances that were unable to obtain a final process/response are considered as errors.

Thanks for the great work. I'm wondering how the evaluation metrics in Table 3 are calculated. For example, I have the following evaluation result from GPT-4.
 "statistics": { "num": 100, "error_num": 30, "process": { "Yes": 51, "No": 18, "Uncertain": 1 }, "response": { "Yes": 59, "No": 6, "Uncertain": 5 }, "both": 50 }
May I know what denominator should I use when calculating evaluation metrics? 100 or 70?
for example, process_correct_rate = 51/100 or process_correct_rate = 51/70? Kindly let me know. Thanks.

How is it determined to be error and how is error_num calculated? I don't see this in the GPT3 evaluation prompt.

Thanks for the great work. I'm wondering how the evaluation metrics in Table 3 are calculated. For example, I have the following evaluation result from GPT-4.
 "statistics": { "num": 100, "error_num": 30, "process": { "Yes": 51, "No": 18, "Uncertain": 1 }, "response": { "Yes": 59, "No": 6, "Uncertain": 5 }, "both": 50 }
May I know what denominator should I use when calculating evaluation metrics? 100 or 70?
for example, process_correct_rate = 51/100 or process_correct_rate = 51/70? Kindly let me know. Thanks.

How is it determined to be error and how is error_num calculated? I don't see this in the GPT3 evaluation prompt.

what both mean?


fix: Added escaping characters that are invalid as CSS identifiers.

Fix the problem mentioned at #1405 .

This makes sense to me. Since this affects all games/mods I might want to test it out later when I'm at my desktop, which might not be until Tuesday due to the US holiday.

OK. Please check carefully.


Bug: Missing translation in homepage navbar for few languages

URL(s)

https://hi.eslint.org/

https://ja.eslint.org/

https://pt-br.eslint.org/

What did you do?
Visited above URLs
What did you expect to happen?
All words in navbar should be translated according to the selected language
What actually happened?
Few words appears in English even though the selected language is different
Participation

[ ] I am willing to submit a pull request for this issue.

Additional comments
No response

I'm not sure if this is missing or if it's intentional; some words don't find a good translation equivalent in other languages, and that's when the original may be used directly

I'm not sure if this is missing or if it's intentional; some words don't find a good translation equivalent in other languages, and that's when the original may be used directly

I also feel the same.

I'm not sure if this is missing or if it's intentional; some words don't find a good translation equivalent in other languages, and that's when the original may be used directly

if that's the case we can close this issue

I checked the first PRs for these languages, and these fields were already there then, but didn't translate them, and the reviewers also didn't point them out. I think this is deliberate

Thank you for your meticulous discovery


Support Angular plugin rollout: declare extra outs

Angular ngtsc needs to emit two additional .js files for each .ts input to support legacy imports

sync CL


API reference: namespacing is confusing

As mentioned by @VermeulenPTM:
The handwritten API reference shows:

However, the individual method shows:

So there's a discrepancy between imod.idf.open and imod.formats.idf.open.
I did a little checking, e.g. xarray has the same for e.g. the groupby objects: (https://docs.xarray.dev/en/stable/generated/xarray.core.groupby.DatasetGroupBy.html#xarray.core.groupby.DatasetGroupBy).html#xarray.core.groupby.DatasetGroupBy

Somewhat to my surprise, this only shows up in the I/O methods for us.
My current explanation is that for all the other namespaces, we are importing individual function/classes (i.e. Python objects) via from imod.prepare.regridder import Regridder versus a module via from imod.formats import idf.

I've spent roughly an hour in the train on this, with very little to show for it. It is not at all straightforward to configure sphinx here; by far the most straightforward solution is to promote the different format namespaces, i.e. actually making an imod/idf module (which in turn can be a file or a directory with an init). That feels a bit overblown just for documentation.
I see there are some custom templates (why?), perhaps adding a special one for these formats is the most straightforward solution...
Won't fix is valid too...

Yeah this is something that bugged me a bit as well, but I never pursued looking for a fix.
Thanks for going through the efforts of trying to find something.
I go for a won't fix, we can re-open or create a new issue if something good pops up.


Hyprcursor theme is set to "MyCursor"

https://github.com/catppuccin/nix/blob/73e06d5bd7ed34bdd0168030893ef8364fdc1d4a/modules/home-manager/hyprland.nix#L30
The hyprland module sets up environmental variables for the cursor, however these are overwritten later where the example code from the hyprland wiki is added to the hyprland config, setting the cursor theme to MyCursor instead of catppuccin-${cursor.flavor}-${cursor.accent}-cursors

Why do you have the example config still is my only question. Should you have removed that when configuring your config. wayland.windowManager.hyprland.settings or perhaps using wayland.windowManager.hyprland.extraConfig?

I'm not sure what you mean. I haven't provided my config, I've only referenced the module provided by this repo

I have my own config set up through home manager using wayland.windowManager.hyprland.settings
I am not using hyperland's default configuration
The hyprland module from this repo is adding the example code I linked into my configuration file, shown by the line I referenced in the issue
Am I missing a setting in the module?

I'm experiencing exactly the same problem. I was wondering why did my cursor break without me touching any settings around it.
Turns out, the hyprland module from cattpuccin-nix

Automatically enables hyprcursors
Adds an import to my hyprland.conf like:

source=/nix/store/aan4vsxbqpg5y6l6nyqw91hk217sbnpq-hyprland-cursors.conf

And the referenced file contains:
› cat /nix/store/aan4vsxbqpg5y6l6nyqw91hk217sbnpq-hyprland-cursors.conf
env = HYPRCURSOR_THEME,MyCursor
env = HYPRCURSOR_SIZE,24

I can see this is done here.
P.S. hardcoding 24 cursor size here also doesn't seem to be correct.

Yes, this is the same issue I am experiencing. I believe it is a fault with the module @isabelroses

I'm on a recent commit of the unstable branch - https://github.com/NixOS/nixpkgs/commit/e9ee548d90ff586a6471b4ae80ae9cfcbceb3420

Oh, thanks, I didn't know hyprland enabled hyprcursors by default.

As a side note my best guess as to why its failing for you is because you're using an older version of nixpkgs that does not have the hyprcursor theme.

Nope, I'm on unstable and I have these packages built.
I believe the problem was (partially) in using the old cursor theme name with capital letters. I changed it to lowercase and the cursor works now.
However, I'm not sure if I've done everything correctly. I don't even think hyprcursors is picking anything up at all, because HYPRCURSOR_SIZE and HYPRCURSOR_THEME does not affect anything.
Only home.pointerCursor.name & ome.pointerCursor.package affect the theme generated in ~/.icons / ~/.local/share/icons.
Honestly, I'm quite confused by relations between home.pointerCursor, gtk.cursorTheme, and gtk.catppuccin.cursor.
gtk.catppuccin.cursor is setting HYPRCURSOR_THEME, but again, it's not really being picked up by hyprland. Clearly something is wrong on my side...

I believe the problem was (partially) in using the old cursor theme name with capital letters. I changed it to lowercase and the cursor works now.

Casing will be the downfall of catppuccin istg.

Honestly, I'm quite confused by relations between home.pointerCursor, gtk.cursorTheme, and gtk.catppuccin.cursor.

home.pointerCursor Is a global alias in home-manager to setup all the cursor theming, which includes gtk.cursorTheme, catppuccin's gtk.catppuccin.cursor applies only the gtk.cursorTheme and not globally unlike home.pointerCursor which is why https://github.com/catppuccin/nix/pull/195 exists.

I'm not sure I get it, still.
Here's what the generated config will do:

The environment variables are set up with the user's values.
https://github.com/catppuccin/nix/blob/1adbfeb44a54be0ae79eca751ba948a6faa3bb0f/modules/home-manager/hyprland.nix#L14-L16

Hyprland is then injected with statements that overwrite those values with placeholders.
https://github.com/catppuccin/nix/blob/1adbfeb44a54be0ae79eca751ba948a6faa3bb0f/modules/home-manager/hyprland.nix#L28-L33

So spawning hyprcursor as a normal user will see the correct environment variables, but the Hyprland process, and any children spawned by it, will see MyCursor instead of the real value.
Why? Should I manually add env= statements to my extra config after this to go back to the real values again?

I'm in the process of fixing this but encountered a problem: if we only set home.sessionVariables, hyprland will inherit them when started from tty but not when started from certain display managers, as they don't start a login shell. At the same time, the user really should start hyprland from a login shell, e.g. by modifying the .desktop file or the startup command, otherwise the rc files won't be sourced, which results in strange bugs. See https://github.com/hyprwm/Hyprland/issues/2581.
I think we should set the variables in home.sessionVariables, @getchoo @isabelroses what do you think?


Kepler logs shows AbsPower is not valid

What happened?
When Kepler v0.5.4 is deployed on OpenShift it throws the below error continuously:
I0817 11:07:02.225372       1 gpu.go:46] Failed to init nvml, err: could not init nvml: error opening libnvidia-ml.so.1: libnvidia-ml.so.1: cannot open shared object file: No such file or directory
I0817 11:07:02.228597       1 qat.go:35] Failed to init qat-telemtry err: could not get qat status exit status 127
I0817 11:07:02.234326       1 exporter.go:158] Kepler running on version: 86c9399
I0817 11:07:02.234349       1 config.go:267] using gCgroup ID in the BPF program: true
I0817 11:07:02.234368       1 config.go:269] kernel version: 5.14
I0817 11:07:02.234403       1 config.go:200] kernel source dir is set to /usr/share/kepler/kernel_sources
I0817 11:07:02.234445       1 exporter.go:184] EnabledBPFBatchDelete: true
I0817 11:07:02.234497       1 power.go:71] Unable to obtain power, use estimate method
I0817 11:07:02.234507       1 redfish.go:169] failed to get redfish credential file path
I0817 11:07:02.234511       1 power.go:56] use acpi to obtain power
I0817 11:07:02.234701       1 acpi.go:67] Could not find any ACPI power meter path. Is it a VM?
I0817 11:07:02.311277       1 container_energy.go:109] Using the Ratio/AbsModelWeight Power Model to estimate Container Platform Power
I0817 11:07:02.311298       1 container_energy.go:118] Using the Ratio/AbsModelWeight Power Model to estimate Container Component Power
I0817 11:07:02.311307       1 process_power.go:108] Using the Ratio/AbsModelWeight Power Model to estimate Process Platform Power
I0817 11:07:02.311315       1 process_power.go:117] Using the Ratio/AbsModelWeight Power Model to estimate Process Component Power
I0817 11:07:02.311474       1 node_platform_energy.go:52] Using the LinearRegressor/AbsPower Power Model to estimate Node Platform Power
I0817 11:07:02.311534       1 node_component_energy.go:56] Using the LinearRegressor/AbsPower Power Model to estimate Node Component Power
I0817 11:07:02.311546       1 exporter.go:207] Initializing the GPU collector
I0817 11:07:08.312576       1 watcher.go:66] Using in cluster k8s config
I0817 11:07:08.413131       1 bpf_perf.go:123] LibbpfBuilt: false, BccBuilt: true
chdir(/lib/modules/5.14.0-284.25.1.el9_2.x86_64/build): No such file or directory
I0817 11:07:08.464617       1 bcc_attacher.go:80] failed to attach the bpf program: <nil>
I0817 11:07:08.464633       1 bcc_attacher.go:155] failed to attach perf module with options [-DMAP_SIZE=10240 -DNUM_CPUS=4]: failed to attach the bpf program: <nil>, from default kernel source.
I0817 11:07:08.464646       1 bcc_attacher.go:158] trying to load eBPF module with kernel source dir /usr/share/kepler/kernel_sources/4.18.0-477.13.1.el8_8.x86_64
cannot attach kprobe, probe entry may not exist
I0817 11:07:09.165565       1 bcc_attacher.go:94] attaching kprobe to finish_task_switch failed, trying finish_task_switch.isra.0 instead
I0817 11:07:09.179416       1 bcc_attacher.go:164] Successfully loaded eBPF module with options: [-DMAP_SIZE=10240 -DNUM_CPUS=4] from kernel source "/usr/share/kepler/kernel_sources/4.18.0-477.13.1.el8_8.x86_64"
I0817 11:07:09.179445       1 bcc_attacher.go:183] Successfully load eBPF module from bcc with option: [-DMAP_SIZE=10240 -DNUM_CPUS=4]
Energy stat: map[0:0 (0)] (0)Energy stat: map[0:0 (0)] (0)Energy stat: map[0:0 (0)] (0)Energy stat: map[0:7905 (7905)] (0)I0817 11:07:09.209058       1 node_platform_energy.go:81] Failed to get node platform power model Weight for model type AbsPower is not valid: &map[core:{{0 map[] map[kubelet_cpu_usage:{7.027426160337554<PHONE_NUMBER>8210045 0} kubelet_memory_bytes:{417264.87763713085 2.0114948671646638e+12 0}]}} dram:{{2.6353736295072387 map[] map[kubelet_cpu_usage:{7.027426160337554<PHONE_NUMBER>8210045 1.33012561695696} kubelet_memory_bytes:{417264.87763713085 2.0114948671646638e+12 0.16372489537216126}]}} package:{{140.8809244744518 map[] map[kubelet_cpu_usage:{7.027426160337554<PHONE_NUMBER>8210045<PHONE_NUMBER>8216625} kubelet_memory_bytes:{417264.87763713085 2.0114948671646638e+12 -2.582378633216328}]}} uncore:{{0 map[] map[kubelet_cpu_usage:{7.027426160337554<PHONE_NUMBER>8210045 0} kubelet_memory_bytes:{417264.87763713085 2.0114948671646638e+12 0}]}}]
I0817 11:07:09.209105       1 node_platform_energy.go:81] Failed to get node platform power model Weight for model type AbsPower is not valid: &map[core:{{0 map[] map[kubelet_cpu_usage:{7.027426160337554<PHONE_NUMBER>8210045 0} kubelet_memory_bytes:{417264.87763713085 2.0114948671646638e+12 0}]}} dram:{{2.6353736295072387 map[] map[kubelet_cpu_usage:{7.027426160337554<PHONE_NUMBER>8210045 1.33012561695696} kubelet_memory_bytes:{417264.87763713085 2.0114948671646638e+12 0.16372489537216126}]}} package:{{140.8809244744518 map[] map[kubelet_cpu_usage:{7.027426160337554<PHONE_NUMBER>8210045<PHONE_NUMBER>8216625} kubelet_memory_bytes:{417264.87763713085 2.0114948671646638e+12 -2.582378633216328}]}} uncore:{{0 map[] map[kubelet_cpu_usage:{7.027426160337554<PHONE_NUMBER>8210045 0} kubelet_memory_bytes:{417264.87763713085 2.0114948671646638e+12 0}]}}]
Energy stat: map[0:0 (0)] (0)I0817 11:07:09.209160       1 node_platform_energy.go:81] Failed to get node platform power model Weight for model type AbsPower is not valid: &map[core:{{0 map[] map[kubelet_cpu_usage:{7.027426160337554<PHONE_NUMBER>8210045 0} kubelet_memory_bytes:{417264.87763713085 2.0114948671646638e+12 0}]}} dram:{{2.6353736295072387 map[] map[kubelet_cpu_usage:{7.027426160337554<PHONE_NUMBER>8210045 1.33012561695696} kubelet_memory_bytes:{417264.87763713085 2.0114948671646638e+12 0.16372489537216126}]}} package:{{140.8809244744518 map[] map[kubelet_cpu_usage:{7.027426160337554<PHONE_NUMBER>8210045<PHONE_NUMBER>8216625} kubelet_memory_bytes:{417264.87763713085 2.0114948671646638e+12 -2.582378633216328}]}} uncore:{{0 map[] map[kubelet_cpu_usage:{7.027426160337554<PHONE_NUMBER>8210045 0} kubelet_memory_bytes:{417264.87763713085 2.0114948671646638e+12 0}]}}]
Energy stat: map[0:0 (0)] (0)Energy stat: map[0:0 (0)] (0)Energy stat: map[0:2635 (10540)] (0)I0817 11:07:09.209288       1 exporter.go:270] Started Kepler in 6.974989581s
Energy stat: map[0:0 (0)] (0)Energy stat: map[0:0 (0)] (0)Energy stat: map[0:0 (0)] (0)Energy stat: map[0:7905 (18445)] (0)I0817 11:07:12.369882       1 node_platform_energy.go:81] Failed to get node platform power model Weight for model type AbsPower is not valid: &map[core:{{0 map[] map[kubelet_cpu_usage:{7.027426160337554<PHONE_NUMBER>8210045 0} kubelet_memory_bytes:{417264.87763713085 2.0114948671646638e+12 0}]}} dram:{{2.6353736295072387 map[] map[kubelet_cpu_usage:{7.027426160337554<PHONE_NUMBER>8210045 1.33012561695696} kubelet_memory_bytes:{417264.87763713085 2.0114948671646638e+12 0.16372489537216126}]}} package:{{140.8809244744518 map[] map[kubelet_cpu_usage:{7.027426160337554<PHONE_NUMBER>8210045<PHONE_NUMBER>8216625} kubelet_memory_bytes:{417264.87763713085 2.0114948671646638e+12 -2.582378633216328}]}} uncore:{{0 map[] map[kubelet_cpu_usage:{7.027426160337554<PHONE_NUMBER>8210045 0} kubelet_memory_bytes:{417264.87763713085 2.0114948671646638e+12 0}]}}]
I0817 11:07:12.369917       1 node_platform_energy.go:81] Failed to get node platform power model Weight for model type AbsPower is not valid: &map[core:{{0 map[] map[kubelet_cpu_usage:{7.027426160337554<PHONE_NUMBER>8210045 0} kubelet_memory_bytes:{417264.87763713085 2.0114948671646638e+12 0}]}} dram:{{2.6353736295072387 map[] map[kubelet_cpu_usage:{7.027426160337554<PHONE_NUMBER>8210045 1.33012561695696} kubelet_memory_bytes:{417264.87763713085 2.0114948671646638e+12 0.16372489537216126}]}} package:{{140.8809244744518 map[] map[kubelet_cpu_usage:{7.027426160337554<PHONE_NUMBER>8210045<PHONE_NUMBER>8216625} kubelet_memory_bytes:{417264.87763713085 2.0114948671646638e+12 -2.582378633216328}]}} uncore:{{0 map[] map[kubelet_cpu_usage:{7.027426160337554<PHONE_NUMBER>8210045 0} kubelet_memory_bytes:{417264.87763713085 2.0114948671646638e+12 0}]}}]
Energy stat: map[0:0 (0)] (0)Energy stat: map[0:0 (0)] (0)Energy stat: map[0:0 (0)] (0)I0817 11:07:12.369950       1 node_platform_energy.go:81] Failed to get node platform power model Weight for model type AbsPower is not valid: &map[core:{{0 map[] map[kubelet_cpu_usage:{7.027426160337554<PHONE_NUMBER>8210045 0} kubelet_memory_bytes:{417264.87763713085 2.0114948671646638e+12 0}]}} dram:{{2.6353736295072387 map[] map[kubelet_cpu_usage:{7.027426160337554<PHONE_NUMBER>8210045 1.33012561695696} kubelet_memory_bytes:{417264.87763713085 2.0114948671646638e+12 0.16372489537216126}]}} package:{{140.8809244744518 map[] map[kubelet_cpu_usage:{7.027426160337554<PHONE_NUMBER>8210045<PHONE_NUMBER>8216625} kubelet_memory_bytes:{417264.87763713085 2.0114948671646638e+12 -2.582378633216328}]}} uncore:{{0 map[] map[kubelet_cpu_usage:{7.027426160337554<PHONE_NUMBER>8210045 0} kubelet_memory_bytes:{417264.87763713085 2.0114948671646638e+12 0}]}}]
Energy stat: map[0:2635 (21080)] (0)Energy stat: map[0:0 (0)] (0)Energy stat: map[0:0 (0)] (0)Energy stat: map[0:0 (0)] (0)Energy stat: map[0:7905 (28985)] (0)I0817 11:07:15.288789       1 node_platform_energy.go:81] Failed to get node platform power model Weight for model type AbsPower is not valid: &map[core:{{0 map[] map[kubelet_cpu_usage:{7.027426160337554<PHONE_NUMBER>8210045 0} kubelet_memory_bytes:{417264.87763713085 2.0114948671646638e+12 0}]}} dram:{{2.6353736295072387 map[] map[kubelet_cpu_usage:{7.027426160337554<PHONE_NUMBER>8210045 1.33012561695696} kubelet_memory_bytes:{417264.87763713085 2.0114948671646638e+12 0.16372489537216126}]}} package:{{140.8809244744518 map[] map[kubelet_cpu_usage:{7.027426160337554<PHONE_NUMBER>8210045<PHONE_NUMBER>8216625} kubelet_memory_bytes:{417264.87763713085 2.0114948671646638e+12 -2.582378633216328}]}} uncore:{{0 map[] map[kubelet_cpu_usage:{7.027426160337554<PHONE_NUMBER>8210045 0} kubelet_memory_bytes:{417264.87763713085 2.0114948671646638e+12 0}]}}]

I suspect it may be related to this recent change
What did you expect to happen?
Kepler should not log these error continuously.
How can we reproduce it (as minimally and precisely as possible)?
Deploy Kepler with version 0.5.4 on OpenShift/Kubernetes cluster
Anything else we need to know?
No response
Kepler image tag

0.5.4

Kubernetes version

$ kubectl version
# paste output here

Cloud provider or bare metal

OpenShift on AWS

OS version

# On Linux:
$ cat /etc/os-release
# paste output here
$ uname -a
# paste output here

# On Windows:
C:\> wmic os get Caption, Version, BuildNumber, OSArchitecture
# paste output here

Install tools

Kepler deployment config

Kepler config-map:
apiVersion: v1
data:
  BIND_ADDRESS: <IP_ADDRESS>:9103
  CGROUP_METRICS: '*'
  CPU_ARCH_OVERRIDE: ""
  ENABLE_EBPF_CGROUPID: "true"
  ENABLE_GPU: "true"
  EXPOSE_CGROUP_METRICS: "true"
  EXPOSE_HW_COUNTER_METRICS: "true"
  KEPLER_LOG_LEVEL: "5"
  KEPLER_NAMESPACE: openshift-kepler-operator
  METRIC_PATH: /metrics
  MODEL_CONFIG: '| CONTAINER_COMPONENTS_ESTIMATOR=false CONTAINER_COMPONENTS_INIT_URL=https://raw.githubusercontent.com/sustainable-computing-io/kepler-model-server/main/tests/test_models/DynComponentModelWeight/CgroupOnly/ScikitMixed/ScikitMixed.json'
kind: ConfigMap
metadata:
  creationTimestamp: "2023-08-23T08:26:33Z"
  labels:
    app.kubernetes.io/component: exporter
    app.kubernetes.io/managed-by: kepler-operator
    app.kubernetes.io/part-of: kepler
    sustainable-computing.io/app: kepler
  name: kepler-exporter-cm
  namespace: openshift-kepler-operator
  ownerReferences:
  - apiVersion: kepler.system.sustainable.computing.io/v1alpha1
    blockOwnerDeletion: true
    controller: true
    kind: Kepler
    name: kepler
    uid: a41c27dc-e213-408f-a00f-e807a0d8ac63
  resourceVersion: "103464"
  uid: fdb00538-18aa-4372-8bdf-b92c71d67f36

Daemonset's description:
apiVersion: apps/v1
kind: DaemonSet
metadata:
  annotations:
    deprecated.daemonset.template.generation: "1"
  creationTimestamp: "2023-08-23T08:26:34Z"
  generation: 1
  labels:
    app.kubernetes.io/component: exporter
    app.kubernetes.io/managed-by: kepler-operator
    app.kubernetes.io/part-of: kepler
    sustainable-computing.io/app: kepler
  name: kepler-exporter-ds
  namespace: openshift-kepler-operator
  ownerReferences:
  - apiVersion: kepler.system.sustainable.computing.io/v1alpha1
    blockOwnerDeletion: true
    controller: true
    kind: Kepler
    name: kepler
    uid: a41c27dc-e213-408f-a00f-e807a0d8ac63
  resourceVersion: "103564"
  uid: 80d2cff0-1891-4887-8fbc-26265e96ac42
spec:
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      app.kubernetes.io/component: exporter
      app.kubernetes.io/managed-by: kepler-operator
      app.kubernetes.io/name: kepler-exporter
      app.kubernetes.io/part-of: kepler
      sustainable-computing.io/app: kepler
  template:
    metadata:
      creationTimestamp: null
      labels:
        app.kubernetes.io/component: exporter
        app.kubernetes.io/managed-by: kepler-operator
        app.kubernetes.io/name: kepler-exporter
        app.kubernetes.io/part-of: kepler
        sustainable-computing.io/app: kepler
      name: kepler-exporter-ds
      namespace: openshift-kepler-operator
    spec:
      containers:
      - command:
        - /usr/bin/kepler
        - -address
        - <IP_ADDRESS>:9103
        - -enable-gpu=true
        - -enable-cgroup-id=true
        - -v=1
        - -kernel-source-dir=/usr/share/kepler/kernel_sources
        env:
        - name: NODE_IP
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.hostIP
        - name: NODE_NAME
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: spec.nodeName
        image: quay.io/sustainable_computing_io/kepler:release-0.5.4
        imagePullPolicy: IfNotPresent
        livenessProbe:
          failureThreshold: 5
          httpGet:
            path: /healthz
            port: 9103
            scheme: HTTP
          initialDelaySeconds: 10
          periodSeconds: 60
          successThreshold: 1
          timeoutSeconds: 10
        name: kepler-exporter
        ports:
        - containerPort: 9103
          name: http
          protocol: TCP
        resources: {}
        securityContext:
          privileged: true
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
        volumeMounts:
        - mountPath: /lib/modules
          name: lib-modules
        - mountPath: /sys
          name: tracing
        - mountPath: /usr/src/kernels
          name: kernel-src
        - mountPath: /sys/kernel/debug
          name: kernel-debug
        - mountPath: /proc
          name: proc
        - mountPath: /etc/kepler/kepler.config
          name: cfm
      dnsPolicy: ClusterFirstWithHostNet
      restartPolicy: Always
      schedulerName: default-scheduler
      securityContext: {}
      serviceAccount: kepler-exporter-sa
      serviceAccountName: kepler-exporter-sa
      terminationGracePeriodSeconds: 30
      tolerations:
      - effect: NoSchedule
        key: node-role.kubernetes.io/master
      volumes:
      - hostPath:
          path: /lib/modules
          type: ""
        name: lib-modules
      - hostPath:
          path: /sys
          type: ""
        name: tracing
      - hostPath:
          path: /proc
          type: ""
        name: proc
      - hostPath:
          path: /sys/kernel/debug
          type: ""
        name: kernel-debug
      - hostPath:
          path: /usr/src/kernels
          type: ""
        name: kernel-src
      - configMap:
          defaultMode: 420
          name: kepler-exporter-cm
        name: cfm
  updateStrategy:
    rollingUpdate:
      maxSurge: 0
      maxUnavailable: 1
    type: RollingUpdate
status:
  currentNumberScheduled: 6
  desiredNumberScheduled: 6
  numberAvailable: 6
  numberMisscheduled: 0
  numberReady: 6
  observedGeneration: 1
  updatedNumberScheduled: 6

Container runtime (CRI) and version (if applicable)

Related plugins (CNI, CSI, ...) and versions (if applicable)

Could you share the Kepler deployment config? The model weight seems to be an old format which has no platform component.

@sunya-ch I have updated the deployment details in the bug

Thank you. The config linked to an old weight file. MODEL_CONFIG should be empty by default (it will use built-in weight).
Seeing from the config, I think this is deployed by operator. @sthaha  Is it possible to remove this on the next release?

@sunya-ch Absolutely! @husky-parul  is already working on updating the Configmap see: https://github.com/sustainable-computing-io/kepler-operator/issues/111 which is charted for next release (0.7.0) but if this can be fixed earlier, I am happy to make a 0.6.3 release.

Found another issue of missing acpi weight on local path. Will push the PR to fix.

Thanks @sunya-ch for the fix. I will verify with the latest image. Also, will this fix land in the v0.5.4 release as well?

I think this will go for the next release.
@rootfs  Could you please confirm?

@vprashar2929 we'll have 0.5.5 release next week
cc @husky-parul

closing as verified with the latest image on OpenShift.

@vimalk78 @sunya-ch could you please confirm this config - https://github.com/sustainable-computing-io/kepler-operator/pull/187/files#r1310926162 looks fine for 0.5.4 -
"REDFISH_PROBE_INTERVAL_IN_SECONDS": "60",
"REDFISH_SKIP_SSL_VERIFY":           "true",
"MODEL_CONFIG":                      "CONTAINER_COMPONENTS_ESTIMATOR=false",

@vimalk78 @sunya-ch could you please confirm this config - https://github.com/sustainable-computing-io/kepler-operator/pull/187/files#r1310926162 looks fine for 0.5.4 -
"REDFISH_PROBE_INTERVAL_IN_SECONDS": "60",
"REDFISH_SKIP_SSL_VERIFY":           "true",
"MODEL_CONFIG":                      "CONTAINER_COMPONENTS_ESTIMATOR=false",

Yes. According to the refactoring by PR #858 , you can also just remove the MODEL_CONFIG section. LR and ratio model will be used by default.


[Feature Request] Support for Tags

It would be cool if this Terraform provider would support specifying tags on resources.

Thanks for the request @tobru. We already have a ticket open internally for this. I will try to bring it up in the next sprint planning.
I personally doubt that this is going to happen in Q4 this year.

I'd love to see tag support in terraform. It would be ideal to make groups open on the ansible inverntory plugin.

@davidhalter I created the services with terraform and want to provision the services with ansible. Using the inventory plugin for ansible I wanted to make dynamic groups (e.g. all web-workers, all db-servers, etc.). The easiest way would be to make those groups as you illustrated in the examples here (https://docs.ansible.com/ansible/latest/collections/cloudscale_ch/cloud/inventory_inventory.html) using tags. But with the terraform provider, there is no support for setting tags to resources (or at least it's not documented).

Hey Patrick
Sorry for not answering sooner here. I should have told you that I wanted to bring it up for our next sprint discussions. In general feel free to ping us again if we do not answer.
We decided that this is important enough and I have started working on it. It will probably take a few weeks, since it is not the only thing I'm working on, but I'm confident that this will be in the next release in May.

Hi @davidhalter
No worries. Nice to see that there will be progress. Until then I managed to get it working with a naming schema.

@scuben @tobru We have just released our terraform 4.0.0 provider. Tags should be included.


more icons :-)

Not an issue but a wish:-)
in the file tracker_config.json:
pls change the position of the variable "overlay": "xxx"
to each callsign.
This will allow us to use more symbols and different for each Callsign.
Thank you really much for your good work.
73 Thomas, DC4FRT

custom "overlay"  for each callsign added ;)
PS: also new icons/symbol for our motorcycle


Update cert_sync_detection.yml

root@6554fa57bd5c:~# ansible-playbook -i "/path/to/hosts" "/path/to/my_playbook.yml"
ERROR! no action detected in task. This often indicates a misspelled module name, or incorrect module path.

The error appears to have been in '/root/.ansible/roles/kyl191.openvpn/tasks/cert_sync_detection.yml': line 14, column 3, but may
be elsewhere in the file depending on the exact syntax problem.

The offending line appears to be:

- name: "[cert sync] Write expected client list to temp file for comparison with existing certs"
  ^ here

the same result for all lines with ansible.builtin.

Hmm. I'm going to guess this has something with your ansible version. It worked fine on ansible-playbook 2.9.1, what version do you have?

Isn't it recommended to have the ansible.builtin namespace?


feat: Add 1 E2E test case

Signed-off-by: Ce Gao<EMAIL_ADDRESS>
What this PR does / why we need it:
Add your description
Which issue(s) this PR is related to (optional, link to 3rd issue(s)):
Fixes #
Reference to #

Special notes for your reviewer:
/cc @your-reviewer

Release note:

NONE

/assign @simon-cj

/lgtm


app: design a small app to visualize model inference results

In order to communicate the results of the neural network training, one possibility could be to design a small web application. It would allow visitors to use a trained model in order to get feature detection or semantic segmentation relatively to a sample of picture.
To keep it simple: let's imagine a web app that could load a trained model (h5) from a server, do inference on a single image (either loaded from the server, or chosen by the client, but the former seems to be a good first step), and return result onto the web page.

[x] build a simple Flask web application structure
[x] select a random Shapes picture from the server
[x] create an image uploader in order to infer labels on client images
[x] make the server infer on Shapes image labels for feature detection problem
[x] make the server infer on Mapillary image labels for feature detection problem
[x] make the server infer on Shapes image labels for semantic segmentation problem
[x] make the server infer on Mapillary image labels for semantic segmentation problem

An app is provided by commit 496da3. It illustrates in a very simple manner the label inference for feature detection problem.

The app is now working. Further improvements will be focused on new dedicated issues.


issue #6: add hit hightlighting

Closes #6: azure hit highlighting

[X] update the code
[X] manual tests
[X] pass unit tests

How does this look like in the finesse frontend? provide screenshots.

How does this look like in the finesse frontend? provide screenshots.

why is it highlighting the and word? and is not what i would consider a keyword?

why is it highlighting the and word? and is not what i would consider a keyword?

Default behavior. We might be able to adjust this using a custom analyzer in the search index that excludes common words from being indexed. But from the backend point of view, we can only enable or disable hit highlighting.


Migrate Users from keycloak to Firebase with Python

Operating System version: Windows 10 - WSL2
Python version: Python 3.8.10

We have switched from Keycloak authentication to Firebase authentication and I need to migrate the users from Keycloak to Firebase using Python.
These users were stored by Keycloak in a Postgres DB. I used the Admin SDK to get the users out of the Postgres DB and have already successfully saved them to Firebase, using the instructions from Firebase: https://firebase.google.com/docs/auth/admin/import-users. The users are also successfully created and displayed in Firebase. The users who logged in with the identity provider like Google Auth. can log in without problems. Only those users who log in with email and password get an error message INVALID_PASSWORD, CODE:400.
My guess then was that the salt and/or hash are not passed correctly or that they are stored wrong (keycloak hashing alg.:pbkdf2_sha256 and iterations: 27500 (default value)).
When passing in Python to the firebase attributes: password_hash and password_salt a byte array is expected, which I convert with bytes(user.password_hash/.password_salt, encoding='utf-8') to a byte
array. In some posts (like https://github.com/firebase/firebase-admin-python/issues/182) I saw that I should decode the hash in base64 and after that it should already work.
users = []
for user in list_users:
    record = auth.ImportUserRecord(
        uid=user.uid,
        email= user.email,
        display_name= user.display_name,
        email_verified= user.email_verified,
        password_hash= None if user.password_hash is None else ab64_decode(bytes(user.password_hash, encoding='utf-8')),
        password_salt= None if user.password_salt is None else bytes(user.password_salt, encoding='utf-8'),
        provider_data= None if user.providers == [] else getProviderRecords(user.providers),
    )
    users.append(record)

But what I know is that keycloak already stores hash and salt in format base 64 into the DB. The salt was also tested by me with an online tool (https://8gwifi.org/pbkdf.jsp) and it could validate. When saving in Firebase I don't get an exception and I also reconstructed the saving of the hash (https://github.com/firebase/firebase-admin-python/blob/master/firebase_admin/_user_import.py).
However, there could be something wrong with auth.UserImportHash, but I also got this code from the Firebase instructions.
iteraions_round=27500
hash_alg = auth.UserImportHash.pbkdf2_sha256(rounds=iteraions_round)
try:
    result = auth.import_users(users, hash_alg=hash_alg)
    print('Successfully imported {0} users. Failed to import {1} users.'.format(
        result.success_count, result.failure_count))
    for err in result.errors:
        print('Failed to import {0} due to {1}'.format(users[err.index].uid, err.reason))
except exceptions.FirebaseError:
    # Some unrecoverable error occurred that prevented the operation from running.
    pass

Also, I output the users again before saving, but password_hash and password_salt are also saved with b'hash/salt' as in the Firebas instructions.

But what I know is that keycloak already stores hash and salt in format base 64 into the DB

If the salt is stored as a base64 encoded string, you have to decode that before passing it to Firebase. The code above only seems to decode the password hash.

thanks for the help, now with base64 salt it works as expected.


Deploying doc mod_wsgi.rst is specific to Python 2.X

Expected Behavior
The doc mentions to install libapache2-mod-wsgi package on debian/ubuntu but the package is for Python 2.x. For python 3.x the package to be installed is libapache2-mod-wsgi-py3. The document doesn't mention anywhere that the steps are specific to Python 2.x.
Actual Behavior
Update the doc to Python 3.x specific steps or mention that the doc is specific to Python 2.x
Environment

Python version: 3.X
Flask version: 1.1.2
Werkzeug version:

Hi. I would like to work on this issue as my first contribution may i ?.

@raghavendrashekhawat2 Sure thing! Be sure to update the third command too ($ pkg install ap22-mod_wsgi2), then test these commands on specific OS and Python version.


[1.10-rc1]  --ip does not work with bridge network

Running the below gives me an error saying network default not found
docker run -it --ip <IP_ADDRESS> ubuntu
docker: Error response from daemon: network default not found.

Here's my networks
docker network ls
NETWORK ID          NAME                DRIVER
15ba85a9d9de        host                host
e44d9e10357d        foo                 bridge
5b8f7bc8d142        bridge              bridge
d43bbd8245e5        none                null

@ibuildthecloud
Besides the error you reported (it is a genuine issue), please be aware the --ip and --ipv6 options are accepted only when container will run on networks which subnet cannot change across daemon and host restart.
This means you will be able to specify the IP addresses only for containers running on user-defined networks which were created with the --subnet option.

Yes, the incorrect error message is a duplicate of https://github.com/docker/docker/issues/19417, the error should be:
docker: Error response from daemon: User specified IP address is supported on user defined networks only.

@aboch Yeah, i just figured that out.  Why would the subnet change on restart for a network.  That seems a bit odd.  So the only way to use --ip is to do network create --subnet ...?

@ibuildthecloud because of this : https://github.com/docker/docker/pull/19001#issuecomment-168227418

@ibuildthecloud
Also because, regarding the user-defined networks, there is no guarantee that after a host reboot docker will recreate them in the same order they were created during the previous daemon instance, therefore picking the same subnet from the predefined list.
So the only way is to create them with the --subnet option.

So the only way to use --ip is to do network create --subnet ...?

Yes

Closing as duplicate of #19417
@ibuildthecloud speak up if you disagree