Investigate Pub/Sub Encoding

Does gcloud-ruby need an encoding option for encoding to/from base64? Or is the string's built-in encoding sufficient?
See GoogleCloudPlatform/gcloud-node#988

I've run several experiments, and I can isolate the issue down to how base64 works on strings and data. This means I can illustrate the problem without using cloud-ruby in the following example code. When a string or binary data is encoded as base64, all string encoding is lost. This means that a UTF-8 string will be converted to an ASCII 8 bit string.
require "base64"

s1 = '¯\_(ツ)_/¯'
s1 #=> "¯\\_(ツ)_/¯"
s1.encoding #=> #<Encoding:UTF-8>

s2 = Base64.decode64 Base64.encode64 s1
s2 #=> "\xC2\xAF\\_(\xE3\x83\x84)_/\xC2\xAF"
s2.encoding #=> #<Encoding:ASCII-8BIT>

The good news here is that data read from a binary file is properly encoded and decoded from base64. The bad news is that a string that is encoded as UTF-8 will have that encoding lost, as shown above. So any characters outside of ASCII 7 will be corrupted. The solution in ruby-land it so enforce the encoding like so:
s2 #=> "\xC2\xAF\\_(\xE3\x83\x84)_/\xC2\xAF"
s2.encoding #=> #<Encoding:ASCII-8BIT>

# Force the encoding of the returned data
s2.force_encoding "UTF-8"
s2 #=> "¯\\_(ツ)_/¯"

gcloud-node had a problem because it always forced the data to a UTF-8 string and lost data because of it. gcloud-ruby has a different problem where it loses the encoding of the string, requiring the users to force the encoding after the data is returned.
I think we have the following options:

We can leave the behavior as-is. Data is not lost, only the encoding is lost. The users should know whether a string or binary data is on the message and can respond appropriately.
We can automagically force the encoding of the returned message data if a specific named attribute is present. This is what the gcloud-node project has added with the "encoding" attribute. If the message does not have an "encoding" attribute then gcloud-ruby should behave as it does now and not force an encoding.
We can match gcloud-node and always convert message data to/from a UTF-string, unless the users opt-out. (I like this option the least.)

@jgeewax @quartzmo Thoughts?

Is this issue about binary support (like gcloud-node #987, "Binary messages are unsupported by the js pubsub API"), or is it about preserving string encoding? Maybe we need two issues? Just kind of hard for me to follow.

The gcloud-node issue is saying that messages with binary data pulled by gcloud-node will corrupt or lose parts of the data, because of how gcloud-node was always forcing the UTF-8 encoding. gcloud-ruby does not have that problem.

Great! Now that I understand that there is no problem in gcloud-ruby with binary values, my preference for the string encoding issue is for either 1) with doc example showing the call to force_encoding "UTF-8", or 2) adding an option to do this force encoding in the library. I would only consider 3) if we receive a external requests for it.

The issue as I see it is that we may be violating some users' expectations by not automatically converting message data to the proper encoding. The problem here is that there is no mechanism in Pub/Sub to specify how the message data is expected to be used. It could be a binary stream of bytes, or it could be a UTF-8 encoded string, or it could be a ISO-2022-JP encoded string. But since we know the encoding in ruby when publishing the message data, we do have the opportunity to automatically add that attribute to the message.
The counter-argument to that is all about being cautious about making too many assumptions. What if someone publishes a message with binary data and wants to use the "encoding" attribute for their own processing? Or the worker pulling the messages is not written in ruby, but is using another library with a different set of assumptions. One would think that those pulling the messages would know what type of data was published and how to deal with it. If we do 2 or 3 then we can cause problems in these scenarios. Something to keep in mind.

Very helpful analysis, thanks!

The problem here is that there is no mechanism in Pub/Sub to specify how the message data is expected to be used.

Since we're not currently doing anything harmful, and this may someday be addressed by Pub/Sub itself, maybe leave our behavior as is, and just add some doc discussion for now?

I have a very slight preference for 1). If we stay with the existing behavior then I agree we should address how to fix the encoding of a message's data in the documentation.
What I like about 2) is that we could delight users by removing all the encoding friction for them. I'm hoping someone pushes me over to this option...

I also vote for 1) with adding discussion in the docs.

But option 2) is so shiny and nice...

Not ruling it out! If anyone reading this in the future wishes we had implemented #2, please let us know.

Having now dealt with encoding issues for supporting Datastore's blob values, I am squarely in option 1's camp. Also, #605 pretty much cements this option.
Also also, I also think we could extend our support IO-like objects to Pub/Sub so that users could set a message's data to be a File. This would be handy for stuff like passing images in to get resized.

Option 1) or 2) is seems good to me.
Our system has two encodings UTF-8 and Shift-JIS. Publishing Shift-JIS charactor I would like to pull Shift-JIS charactor. So option 3) is not good for me.
I use gcloud-ruby for publishing messages, but pulling messages I use another packages. If option 2) is common to Pubsub clients, I think option 2) is good.
In another aspect, if we change encodings of messages from the middle, option 2) seem easy to handle encoding in subscription applications.
Because we can add the same attribute from external, I think option 1) have no problem.

Option 2) would be specific to gcloud-ruby. AFAIK there is no standard among the various Pub/Sub clients to specify or atomically format the message data bytes.

This is not going to happen. Multibyte strings will be passed as their bytes, and returned as a ASCII-8BIT string. This is consistent with how Google Cloud APIs deal with binary data.


Add new portrait in img folder

Hello, new image added in the img folder. Thanks for this repository.

Thanks :)


Minor changes to documentation setup

Package's project shouldn't list Test and Documenter as dependencies:
Test is already in the extra section, and I moved also Documenter there
the environment of the documentation shouldn't list the package itself, that
one is automatically installed by the CI job
which will build the documentation
it's also better to specify compatibility of Documenter.jl, to prevent
building of documentation from stopping to work when there is a new breaking
release of the package
updated links in docs/make.jl

Thanks!


Comments on branch v0.3.0-beta

Feedback on branch for Mozilla OL
Description

I'm concerned a bit about the python system calls. Would using rPython be better in that it would handle checking for python being installed and possibly avoid other issues with using the system() function to call python from the command line?
Agree with issue #60 on adding tests for functions. This could expand to using the demo data files for testing (though re-iterating #63, I think this works a bit more seamlessly if the project follows an R package structure).
Add documentation to specify the inputs/outputs of functions, especially in functions.R.
Check style on code in functions.R. My linter produced several reasonable complaints about the formatting here and variable names.

Type of Issue
feature request
Related Issue(s)
#60 to add tests.
#63 to make the project into an R package.

@ha0ye thanks for your comments :-)
We (mainly @CarlaMoelbert ) are working on this to restructure the functions in the code, as well as keep them consistent by following the style guide of lintr (#56).
About the python calls, we will try your suggestion with rPython.

it has been done for a while. Now phyloprofile can be installed as an R package ^^


[CELEBORN-937][INFRA] Improve branch suggestion for backporting

What changes were proposed in this pull request?
This PR automatically iterates to the next branch to be merged instead of using the latest all the time
Why are the changes needed?
anti-misoperation
Does this PR introduce any user-facing change?
no
How was this patch tested?
manully

The UT failure is introduced by https://github.com/apache/incubator-celeborn/pull/1812 and fixed by https://github.com/apache/incubator-celeborn/pull/1871

Thank you @waitinfuture for the notification, I retriggered the CI manually


Duplicate entities on discovery

Description:
Fixes issue where duplicate entities (devices) are created based on discovery when those devices have also been configured as a platform in the configuration.yaml file but with a different name.
The property available has been added.
Checklist:

[X] The code change is tested and works locally.
[ ] Local tests pass with tox. Your PR cannot be merged unless tests pass

Implement unique_id and the core is aware that there are no multiple entities around.

@pvizeli the platform still has to take care of not adding entities that are non unique. The core doesn't take care of this even with unique_id.

@pvizeli, that is probably then why when I noticed this issue 1 of my DVRs went in as a duplicate (but with different entity id) whereas the other one did not. One of my DVRs has its name as "Family Rm" but in the HASS configuration I state "Family Room". On discovery it then is added to HASS as another entity ID.
The one named "Basement" both in the HASS configuration and the name on the DVR does not come in as duplicate.

Maybe update the description since the other PR was merged before this one.


chore(deps): upgrade dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-k8s-22-main" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 993

Questions ?
Please refer to the Backport tool documentation


Issue Template

Acceptance Criteria:

any scenarios or conditions that need to be satisfied
list out criteria maybe in gherkin format if it seems fit

Design:

Screenshots
Link

@SashankPatel We have templates when we create tickets now. Are these still needed?

We already have templates as part of the github repo.


Add link to blog from quickstart docs

What this PR does / why we need it:
Which issue(s) this PR fixes:
Fixes #
Does this PR introduce a user-facing change?:

NONE

Nice!
/lgtm

Thank you.
/approve


Change json datatype to jsonb

Hi,
as the json datatype needs to be parsed over and over again and queue_classic does not make assumptions about the ordering of args' keys, a switch to jsonb seems reasonable to me.
Quote from the PostgreSQL docs: In general, most applications should prefer to store JSON data as jsonb, unless there are quite specialized needs, such as legacy assumptions about ordering of object keys.
http://www.postgresql.org/docs/current/static/datatype-json.html
In case somebody uses 9.3 or earlier, I think it is OK to fall back to text and not check for both jsonb and json. With text we have at least no DB performance penalty, but json is reparsed with every insert. jsonb is parsed only once.

Transitioning to jsonb makes sense. However we need to take existing users into account. There should be a migration from json to jsonb.
Not sure wether we should keep falling back to json or go straight to text.
/cc @jipiboily

Wouldn't it be less intrusive to only change the datatype of new migrations instead of migrating every existing args column to jsonb?
There is also less benefit for using json alone, so a fallback to text seems reasonable to me. However, I can add a fallback from jsonb to json to text if you want.

@clemensg this change only makes sense if we think jsonb is the thing people should be using (if available). Given that is the case, why should existing applications keep using something we are moving away from?
One should still be able to skip the migration if one pleases but we should make it easy to follow along.

OK, good point. But then we should also migrate old text columns, right?
I mean:

text on < 9.2 stays text
text on 9.2 and 9.3 becomes json
text and json on 9.4 and newer become jsonb

I don't know the details but it depends how easily we can migrate a column. I'm expecting that PostgreSQL allows us to ALTER TABLE from json to jsonb. With text, this could be more demanding.
Currently I'm thinking about a simple migration which checks for jsonb availability and migrates json to jsonb.
@clemensg can you investigate?

@senny Yes.

@senny I updated the PR. Btw.: In the update_3_2_0.sql file, I also set the args column to text, in case json and jsonb are both not available. It's just a safety measure to fix the schema in case someone reverts to an older PostgreSQL version and still used jsonb. Then we would automatically migrate back to text.

Could you add a corresponding downgrade script? Also, the Rails generator needs to be updated to generate an upgrade migration. See this PR for details https://github.com/QueueClassic/queue_classic/pull/217/files#diff-e455d018c3ab4c611d786db00a9c1458R1

Yes, I updated the PR.

@clemensg awesome :yellow_heart:
@jipiboily thoughts?

:snail:

@clemensg please be respectful with your comments. We are investing our own personal time for Open Source projects. I understand that delays can be frustrating at times but please remember that this is on our list and sometimes we can't drop everything to get it finished. Thank you for your understanding.

Hey, I don't think a snail emoji is disrespectful.. do you? It means bump or "Any blockers? Anything left to do before this can get merged?"
Of course you are investing your own personal time, so am I.
I am just wondering why you wait on jipiboily when he said that he does not have much time to work on qc and you should not wait for him in https://github.com/QueueClassic/queue_classic/pull/256

@clemensg I'm saying a snail emoji could easily be interpreted as "why is this moving so slow?". Also bumping just leads to a bigger email flood. If you have big Rails repositories like rails/rails on watching you get more sensible to these kinds of comments as they flood your inbox every day.

This sounds good generally speaking. My only worry is that so far we didn't change the column type at all. We're still using text. It might be perfectly fine but it could also break things for some people, like for queue_classic_admin or other things built around it. This is quite unlikely and should be easy to fix though so I'm :+1:.

I was thinking about this some more. Maybe it's better to be conservative and don't upgrade existing databases at all. We can add a section to the README explaining how a user could perform the upgrade. This way new users get jsonb out of the box and existing ones get to choose what way they want to go.
@clemensg what do you think about that approach?

@senny This was my initial approach in this PR. That's why I asked Wouldn't it be less intrusive to only change the datatype of new migrations instead of migrating every existing args column to jsonb? So yes, I think so too, we should go for the more conservative approach.
I'll change / revert the PR :wink:

@clemensg sorry for the roundtrip :sweat:. Thanks for helping out and adjusting the PR.

No problem. Sometimes it's worth thinking about a problem for a longer time.
By the way, one benchmark test failed, is this a Travis issue?

mmm, I remember a test that failed for a longer period of time but If I remember correctly I added a skip to that one. So, if I'm not mistaken the build was green. Benchmark could fail for a number of reasons related to the Travis setup though. Let's wait for the run of the update PR and see how that goes.

Looks like another test is asking for skip.

@senny Interesting, now it's green after I re-triggered the Travis build.

yea, seems to be flapping. Maybe we get various speeds from Travis when running the build. Due to server load or something like that. I'll try to look at it in the near future.

Worked fine when testing on my machine. @clemensg thanks for your patience and the roundtrip :yellow_heart:!


process id path parameter in statusesHandler and go vet

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

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


bug: Error Thrown When Using React Hooks in a Function

Describe the bug
When attempting to use React hooks as your example, an error is consistently thrown.
To Reproduce
import { block } from "million/react";

import { useState } from "react";

export const Counter = block(function Counter({ initialCount }) {
  const [count, setCount] = useState(initialCount);
  const handleClick = () => {
    setCount(count + 1);
  };

  return <button onClick={handleClick}>{count}</button>;
});

Screenshots

any slutions on the above issue i am getting the same for the below code
`import React, { useState,useMemo } from 'react';
import { block } from 'million/react';
import { AgGridReact } from 'ag-grid-react';
import 'ag-grid-community/styles/ag-grid.css';
import 'ag-grid-community/styles/ag-theme-alpine.css';
const generateData = () => {
const data = [];
for (let i = 0; i < 100000; i++) {
data.push({
id: i + 1,
name: Item ${i + 1},
value: Math.random() * 100,
});
}
return data;
};
function App() {
const xyz = generateData()
console.log(xyz);
const [rowData,setRowData] = useState(xyz)
const gridOptions = useMemo(() => ({
defaultColDef: {
sortable: true,
filter: true,
},
columnDefs: [
{ headerName: 'ID', field: 'id' },
{ headerName: 'Name', field: 'name' },
{ headerName: 'Value', field: 'value' },
],
}), []);
return (

React ag-Grid App

Search:

<div className="ag-theme-alpine" style={{ height: '500px', width: '100%' }}>

);
};
const AppBlock = block(App);
export default AppBlock;
`

Hmm, hey there @sahajjain1, can you maybe provide a mini-reproduction of this issue? Maybe you can use Stackblitz or Codesandbox. Thanks! 🙌

@tobySolutions Thanks for the fast response,
https://codesandbox.io/p/sandbox/sleepy-aj-pj2rft?file=%2Fsrc%2FApp.jsx

@tobySolutions Thanks for the fast response,
https://codesandbox.io/p/sandbox/sleepy-aj-pj2rft?file=%2Fsrc%2FApp.jsx

Awesome! Thanks, I'll check it out and keep you updated 😁😁

@tobySolutions  i have change the url you can check once Thanks :)

Okay, cool. Of course.

Seems like you're just running into https://million.dev/docs/rules#using-the-compiler

Seems like you're just running into https://million.dev/docs/rules#using-the-compiler

Thank you @sdegueldre, any updates @oshrit-marktrix!

Thanks @sdegueldre will go through it

Thanks @sdegueldre will go through it

are you still encountering the issues? if yes, most likely is cause your compiler didn't handle it well. I've just just experienced it.
On my case, I use Vite and I didn't handle Million compiling well. Try to use either Craco or Vite. Good luck!

@sahajjain1 I'm able to reproduce your issues while using Craco
try to implement this with Craco
const million = require("million/compiler")
module.exports = {
  webpack: {
    plugins: {
      add: [million.webpack()],
    },
  },
};

all of your codes work fine with Million Block HOC applied :)

yeah seems like there was no usage of the compiler here. This can probably marked as resolved.

I'll close this for now, feel free to re-open!


apxs does not work

Steps to reproduce
$ docker run --rm -it httpd:2.4 bash
root@0907b0eb89fd:/usr/local/apache2# apxs
cannot open /usr/local/apache2/build/config_vars.mk: No such file or directory at /usr/local/apache2/bin/apxs line 203.

Expected behavior
I should be able to use apxs to build modules during build time (e.g.: from a Dockerfile)
Extra background
I have an image that uses XSendFile, and I need to build it during docker build but with current httpd:2.4, I can't.
I was using a cached version from months ago, so I am not sure when this was introduced, but seems that c8e349af4adcd2 is related

Looks like it was https://github.com/docker-library/httpd/pull/35; apparently build is not useless.


No redirection from old Advanced Firewall documentation URL:s

Link to article:
Google search:
https://www.google.com/search?q=windows firewall documentation
Old URL, appearing in Google's search results:
https://docs.microsoft.com/en-us/windows/security/identity-protection/windows-firewall/windows-firewall-with-advanced-security-design-guide
New URL:
https://docs.microsoft.com/en-us/windows/security/threat-protection/windows-firewall/windows-firewall-with-advanced-security
Problem:
Many pages related to the old Windows Firewall documentation pages are appearing on Google. They seem to be missing and the "404 - Page not found" error page does not include the new pages in the search results. Maybe they need to be included in that index. A permanent redirect would be very useful.

@Khairunj Is this your area?


[Feature] Provide an OC API client for R

What projects is this feature for?
OpenChallenges
Description
As a prospective organizer, I want to use R to query data from OpenChallenges so that I can generate custom insights.
Anything else?
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

A fix has been implemented by one of the developer of OpenAPI Generator. Waiting for the next release of the generator would make it easier than modifying the setup to use the snapshot version.

Installing the R dependencies
I download the snapshot of OpenAPI Generator v7, adapted the CLI arguments and then generate successfully the OC API client for R.
Now I'm looking at installing and tracking the versions of the dependencies.
$ install.packages("renv")
$ renv::init()

- Installing waldo ...                          OK [built from source and cached in 3.4s]
- Installing testthat ...                       OK [built from source and cached in 34s]

The following package(s) were not installed successfully:

- [openapi]: package 'openapi' is not available

You may need to manually download and install these packages.

NOTE: Dependency discovery took 16 seconds during snapshot.
Consider using .renvignore to ignore files, or switching to explicit snapshots.
See `?renv::dependencies` for more information.

The following package(s) will be updated in the lockfile:

# CRAN -----------------------------------------------------------------------
- askpass       [* -> 1.1]
- base64enc     [* -> 0.1-3]
- brio          [* -> 1.1.3]
- bslib         [* -> 0.5.0]
- cachem        [* -> 1.0.8]
- callr         [* -> 3.7.3]
- cli           [* -> 3.6.1]
- crayon        [* -> 1.5.2]
- curl          [* -> 5.0.1]
- desc          [* -> 1.4.2]
- diffobj       [* -> 0.3.5]
- digest        [* -> 0.6.33]
- ellipsis      [* -> 0.3.2]
- evaluate      [* -> 0.21]
- fansi         [* -> 1.0.4]
- fastmap       [* -> 1.1.1]
- fontawesome   [* -> 0.5.1]
- fs            [* -> 1.6.3]
- glue          [* -> 1.6.2]
- highr         [* -> 0.10]
- htmltools     [* -> 0.5.5]
- httr          [* -> 1.4.6]
- jquerylib     [* -> 0.1.4]
- jsonlite      [* -> 1.8.7]
- knitr         [* -> 1.43]
- lifecycle     [* -> 1.0.3]
- magrittr      [* -> 2.0.3]
- memoise       [* -> 2.0.1]
- mime          [* -> 0.12]
- openssl       [* -> 2.1.0]
- pillar        [* -> 1.9.0]
- pkgconfig     [* -> 2.0.3]
- pkgload       [* -> <IP_ADDRESS>]
- praise        [* -> 1.0.0]
- processx      [* -> 3.8.2]
- ps            [* -> 1.7.5]
- R6            [* -> 2.5.1]
- rappdirs      [* -> 0.3.3]
- rematch2      [* -> 2.1.2]
- renv          [* -> 1.0.0]
- rlang         [* -> 1.1.1]
- rmarkdown     [* -> 2.23]
- rprojroot     [* -> 2.0.3]
- sass          [* -> 0.4.7]
- stringi       [* -> 1.7.12]
- stringr       [* -> 1.5.0]
- sys           [* -> 3.4.2]
- testthat      [* -> 3.1.10]
- tibble        [* -> 3.2.1]
- tinytex       [* -> 0.45]
- utf8          [* -> 1.2.3]
- vctrs         [* -> 0.6.3]
- waldo         [* -> 0.5.1]
- withr         [* -> 2.5.0]
- xfun          [* -> 0.39]
- yaml          [* -> 2.3.7]

The version of R recorded in the lockfile will be updated:
- R             [* -> 4.2.3]

- Lockfile written to '/workspaces/sage-monorepo/renv.lock'.
- renv activated -- please restart the R session.
Warning message:
The 'yaml' package is required to parse dependencies within R Markdown files
Consider installing it with `install.packages("yaml")`.

Lint task is failing on CI workflow
within an appropriate start-up .Renviron file.

See `?renv::config` for more details.
> lintr::lint_package()
Error in loadNamespace(x) : there is no package called ‘lintr’
Calls: loadNamespace -> withRestarts -> withOneRestart -> doWithOneRestart
Execution halted

 >  NX   ERROR: Something went wrong in run-commands - Command failed: R -e 'lintr::lint_package()'

Installing these system libraries are no longer required when using Ubuntu 22.04.
    "prepare-system": {
      "executor": "nx:run-commands",
      "options": {
        "commands": [
          "sudo apt update && sudo apt install -y libxml2-dev libharfbuzz-dev libfribidi-dev libtiff5-dev"
        ],
        "cwd": "libs/openchallenges/api-client-r"
      }
    },


[QUESTION] Weird behavior when performing multiple upserts in a for loop

    public class Employee
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public int Salary { get; set; }
        public DateTime Birthday { get; set; }
        public string ContactNumber { get; set; }
        public byte[] Image { get; set; }
        public string[] Categories { get; set; }
        public WorkTime[] workTime { get; set; }
    }

    public class WorkTime
    {
        public DateTime Date { get; set; }
        public DateTime StartTime { get; set; }
        public DateTime EndTime { get; set; }

    }

    private void btnClear_Click(object sender, EventArgs e)
    {
            Employee[] employees = colEmployee.FindAll().ToArray();

            foreach (Employee employee in employees)
            {
                employee.workTime = null;
                colEmployee.Upsert(employee);
                Thread.Sleep(10);
            }
    }

I don't understand the reason why I need to add Thread.Sleep(10) or MessageBox.Show() for it to properly remove all workTime in each employees, considering Upsert() is a synchronous function and will only return when the database is updated.
If there's no Thread.Sleep(10);, it sometimes only clear part of workTime in each employees, and rarely clear all workTime in each employees.

@tingyus995 I ran some tests and could not reproduce the issue. Could you provide more info (like LiteDB version, platform/framework and OS) and the datafile you're using?

After some more testing and reading documentation, I found that I forgot to call LiteDatabase.Dispose() throughout my app.
Thus, the changes aren't flushed to the disk after multiple upserts (operations).
However, if there's only one operation (e.g. one upsert, one insert) the changes seem to be immediately written to the disk. That's the reason why I ignore LiteDatabase.Dispose() until near the end of the project I'm doing.


Update link to AppVeyor build in readmes.

Coverage remained the same at 81.315% when pulling 251549e9cb299bcd332e3857b7fff31230058995 on sebright:appveyor-link into e5664ab6fc3d7cc2ee09b3fdc999f47a0a8e08ae on census-instrumentation:master.

Codecov Report

Merging #867 into master will increase coverage by 0.02%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master     #867      +/-   ##
============================================
+ Coverage     79.34%   79.37%   +0.02%
  Complexity      908      908
============================================
  Files           156      156
  Lines          4014     4014
  Branches        378      378
============================================
+ Hits           3185     3186       +1
  Misses          750      750
+ Partials         79       78       -1

Impacted Files
Coverage Δ
Complexity Δ

...census/implcore/trace/export/SpanExporterImpl.java
98.33% <0%> (+1.66%)
7% <0%> (ø)
:arrow_down:

Continue to review full report at Codecov.

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


upgrade to svelte 5

Are you planning to upgrade this component to Svelte 5?
Currently is unusable in a project that only supports svelte 5 without backward compatibility

Can you be more specific? What do you mean by "unusable in a project that only supports svelte 5 without backward compatibility"?
I've made some changes in the past to make it compatible with Svelte 5. From my quick test today, I've found that overriding the components bring types error but it does not make it unusable.
Upgrading the component to Svelte 5 is in my plan though

I disagree with your statement about being usable as it's not when strictly using Svelte 5 with runes enabled. Unfortunately Svelte 5 changes a lot of community components and it will need a wave of upgrades throughout to finally have the community libs upgraded properly.
Below you can see the error being reported, hopefully it will help slowly port it to fully aligned with Svelte 5
[vite] error while updating dependencies:
Error: Build failed with 5 errors:
node_modules/svelte-awesome-color-picker/dist/components/ColorPicker.svelte:14:0: ERROR: [plugin: vite-plugin-svelte:optimize-svelte] node_modules/svelte-awesome-color-picker/dist/components/ColorPicker.svelte:14:0 Cannot use `export let` in runes mode — use `$props()` instead
node_modules/svelte-awesome-color-picker/dist/components/variant/accessibility/A11yHorizontalWrapper.svelte:2:0: ERROR: [plugin: vite-plugin-svelte:optimize-svelte] node_modules/svelte-awesome-color-picker/dist/components/variant/accessibility/A11yHorizontalWrapper.svelte:2:0 Cannot use `export let` in runes mode — use `$props()` instead
node_modules/svelte-awesome-color-picker/dist/components/variant/accessibility/A11yNotice.svelte:7:0: ERROR: [plugin: vite-plugin-svelte:optimize-svelte] node_modules/svelte-awesome-color-picker/dist/components/variant/accessibility/A11yNotice.svelte:7:0 Cannot use `export let` in runes mode — use `$props()` instead
node_modules/svelte-awesome-color-picker/dist/components/variant/accessibility/A11ySingleNotice.svelte:3:0: ERROR: [plugin: vite-plugin-svelte:optimize-svelte] node_modules/svelte-awesome-color-picker/dist/components/variant/accessibility/A11ySingleNotice.svelte:3:0 Cannot use `export let` in runes mode — use `$props()` instead
node_modules/svelte-awesome-color-picker/dist/components/variant/chrome-picker/Wrapper.svelte:2:0: ERROR: [plugin: vite-plugin-svelte:optimize-svelte] node_modules/svelte-awesome-color-picker/dist/components/variant/chrome-picker/Wrapper.svelte:2:0 Cannot use `export let` in runes mode — use `$props()` instead

Today, I tested the following:

Create a new Svelte 5 repository with npx sv create
Install svelte-awesome-color-picker and used it in a +page.svelte file
Use runes in the +page.svelte file
Override pickerIndicator with a rune component

All of those tests were successful.

Can you provide a reproduction example with the command you were executing? This is the minimum information you should provide in any issue you open on Github.

- svelte.config.js setup with
export default {
     compilerOptions: {
		runes:         true
     }
    ....
};

- npm run dev

Thanks for that! I recognize that we were not talking of the same thing. This library is indeed compatible with a raw svelte 5 project or with any project working with the default config.
So, I checked what compilerOptions: { runes: true } does:

Will be true by default in Svelte 6. Note that setting this to true in your svelte.config.js will force runes mode for your entire project, including components in node_modules, which is likely not what you want. If you're using Vite, consider using dynamicCompileOptions instead.

May I ask why you want to work with this configuration while svelte 6 is not probably going to be released anytime soon?

Thanks for the info I removed that config setting and it compiled without it.

Thanks for the info I removed that config setting and it compiled without it.

Closing this issue, it might show up once Svelte 6 is out.


Add Trillian TLS support for ct_server (#1551)

Add Trillian TLS support for ct_server:
In a previous PR: https://github.com/google/certificate-transparency-go/pull/1525, this change was intended but was done on the wrong file trillian/migrillian/main.go instead of trillian/ctfe/ct_server/main.go
This issue was identified while testing a real scenario. It should be fixed by this PR.
related isssue: https://github.com/google/certificate-transparency-go/issues/1524
Checklist

[x] I have updated the CHANGELOG.

Adjust the draft version number according to semantic versioning rules.

[x] I have updated documentation accordingly.

/lgtm


[build-script] In symbol extraction, also codesign executables after 'strip' and not just dylibs

Builds that include symbol extraction (dsymutil) otherwise produce executables with invalid codesignatures. This is fine for x86 builds which are not codesigned by default, but for arm64 builds, the invalid codesignature makes the resulting binaries (e.g. swift-frontend) not work.

@swift-ci please test

@swift-ci please test


Adds proof harnesses for aws_array_eq* functions

Signed-off-by: Felipe R. Monteiro<EMAIL_ADDRESS>Description of changes:
Adds proof harnesses for aws_array_eq* functions;
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@karkhaz @danielsn any comments?


chore: Updated version to 1.2.1

Description
Composer's version was not correctly represented in the main branch
#minor

Coverage remained the same at 55.853% when pulling 66ed640ffa9f7c0d9c87372d1100e36348a8615d on toanzian/version into 0efa350cdb85c32a0f13a84a822e31e46030681a on main.


Fixes #138 Export screen details header for HMRC (Gov-Client-Screens)

Export screen details header for HMRC (Gov-Client-Screens)
Which issue does this PR relate to?
#138
Checklist
[*] Tests are written and maintain or improve code coverage
[ ] I've tested this in my application using yarn link (if applicable)
[ *] You consent to and are confident this change can be released with no regression

:tada: This PR is included in version 1.11.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Config-defined default user password appears in logs

Description:
A clear and concise description of the bug you're encountering.
Component(s) Affected:

[x] UI
[x] API
[ ] Neo4j
[ ] PostgreSQL
[ ] Data Collector (SharpHound, AzureHound)
[ ] Other (tooling, documentation, etc.)

Steps to Reproduce:

Deploy Bloodhound, passing the admin password via config file or environment variable
Review pod logs for bloodhound container
See admin password at in logs

Expected Behavior:
I would expect when a known admin password is provided, is it not returned in the logs. It should only be returned in the situation where the application generates the password.
Actual Behavior:
Password is returned, even when being provided as an environment variable
Screenshots/Code Snippets/Sample Files:

Environment Information:
BloodHound: built from latest code in git repo, I believe the offending piece of code is https://github.com/SpecterOps/BloodHound/blob/392c41c52dc794edc6cfa38d13050aa67c0bb841/cmd/api/src/server/server.go#L135
Additional Information:
Secrets within the logs causes a security issue, and therefore logs should not be included here.
Potential Solution (Optional):
If the admin password is provided via the config.json or environment variable, do not display it in the logs.
Contributor Checklist:

[x] I have searched the issue tracker to ensure this bug hasn't been reported before or is not already being addressed.
[x] I have provided clear steps to reproduce the issue.
[x] I have included relevant environment information details.
[x] I have attached necessary supporting documents.
[x] I have checked that any JSON files I am attempting to upload to BloodHound are valid.

Hi @StephenHinck, is it possible to get an idea of when this may be looked at on the roadmap? It would be a big win for us, as we use the admin account to do provisioning and then kneecap it, during provisioning time it's exposed from pod logs (even though we define the password, it's not created on the fly)

I do not have an update on ETA now, though I can confirm it's in our backlog to get resolved.


vm.budgets.mlock_avail name2oid

You forgot to draw it into the tree :(

On the second look I'm not sure if I've read the tree correctly 🤔 It looks in ghidra like 314 is a child of 313 but judging from other sysctls that feels wrong 😓


Dev Dependency Should Include pixrem and autoprefixer

npm install grunt-postcss --save-dev does not install pixrem or autoprefixer.
Both seem to be requirements for running grunt build properly.
I can add these as dev dependencies if you want me to make the PR.

And what is grunt build exactly? If it's a task in a gruntfile you're using then you should install all the dependencies you need in your project's package.json.


Add custom dialog to easy-rsa password protected client

With EasyRSA 3.0.7 it's possible to pass the password of the password protected client with a variable. @angristan you always wanted to do this so I leave it to you https://github.com/angristan/openvpn-install/pull/160#issuecomment-381349233
From EasyRSA 3.0.7 changelog: Add support for EASYRSA_PASSIN and EASYRSA_PASSOUT env vars
Related #160 #603 #389

This is better as a comment in the original issue. Closing as duplicate of #389


facade.go:80-80: drop must provide responses

The puzzle 6-2995de11 (from #6) in drop/facade.go (lines 80-80) has to be resolved: "drop must provide responses"
The puzzle was created by Felix Neumann on 26-Aug-17.
Estimate: 0 minutes, role: IMP.
If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.

Duplicate -> closed


Setup/check in travis

WIP

[Current coverage][cc-pull] is 62.93%

Merging [#138][cc-pull] into [development][cc-base-branch] will not change coverage

@@           development       #138   diff @@
=============================================
  Files               17         17
  Lines             1071       1071
  Methods              0          0
  Messages             0          0
  Branches           136        136
=============================================
  Hits               674        674
  Misses             358        358
  Partials            39         39

Powered by Codecov. Last updated by [3e55092...6761cb5][cc-compare]
[cc-base-branch]: https://codecov.io/gh/python-escpos/python-escpos/branch/development?src=pr
[cc-compare]: https://codecov.io/gh/python-escpos/python-escpos/compare/3e5509238ebf7ecd6e6fa4f746e9344854fd7ccd...6761cb542c7d489cce3a187951840173f7943e55
[cc-pull]: https://codecov.io/gh/python-escpos/python-escpos/pull/138?src=pr


Debtor function update is not working

In the function create the update function is called with a var and an array return $this->update($number, $data); But the function update only has update($data).
Furthermore looking at the object created in line 483 a lot of data is not picked up due to wrong variables like 'VatZone' => $vat_zone, (should be 'VatZone' => $data['Vatzone'],).
And the call for $params array is empty, should be $data as far as I can see
But after trying to fix these issues I now get an error: Got error 'PHP message: PHP Fatal error: SOAP-ERROR: Encoding: object has no 'Id' property in /Economics/Debtor/Debtor.php on line 507

I'm also experiencing this issue. It seems that e-conomic renamed some fields, as well as the update method is referring to variables and arguments that aren't there. I'll make a PR for it.

When you will make a new release with the deptor fixes? I mean the vatZone and Deoptor update ?

@tkjaergaard I'm having the same issue when I tries to create a new debtor. Could you tell us if this will fixed soo?.
Thanks.

@redayoub I've just merged the PR from @crisbeto. Should be working now.

Thanks @tkjaergaard but I'm still getting this after the update
Fatal error: Class 'tkj\Economics\Debtor\Exception' not found in /var/www/Project/vendor/tkj/economics/src/tkj/Economics/Debtor/Debtor.php on line 513

Ahhh, yeah, I see the bug. I've just removed the try-catch from Debtor.php

Thanks @tkjaergaard

@tkjaergaard according to the doc we can get the debitor number after creation like that:
$debtorNumber = $debtor->create($data);
But in fact the create method returns true after debitor creation. Any help please?

@redayoub Sorry, missed that when resolving some merge conflicts from the PR. It's fixed now.

Thanks @tkjaergaard


Request: Selective browser install

The playwright sharp tool to install browsers has an install-browsers command, however it would be nice to offer the ability to install a particular browser in the case where you know you will be only using chromium for example.
For me an install-browsers command is sufficient, but I would like to be able to only download what I use. I imagine there will be runtime checks for the presence of the browser regardless of the level of granularity they are acquired.
Pros:

Less to download during CI

Cons:

Another command
More potential to have a mismatch of required browser at runtime, and installed browser

Related: #889

For reference, upstream issue: https://github.com/microsoft/playwright/issues/3866

For reference, upstream issue: https://github.com/microsoft/playwright/issues/3866

cc @kblok its now possible by forwarding the browsers as CLI arguments, see here for the implementation: https://github.com/microsoft/playwright/pull/4952

Thanks for the heads up @mxschmitt. We are planning to implement this but not at runtime.

Browsers are now opt-in. See https://playwright.dev/dotnet/docs/intro


Deeplinks in a linux AppImage

Describe the bug
Hey, I tried to bundle my flutter application into an AppImage. The bundle works and also the custom scheme handler gets registered in the .desktop file. When I try to open the AppImage via my link it does not register that it got called.
App flow is the following:

Click on button that redirects to authentication page in browser
Browser calls custom scheme and opens app
Here it should register the call but it does not :(

I use appimagetool to bundle the AppImage and appimagelauncher to include it into my system.
Does it related to
[ ] App Links (Android)
[ ] Deep Links (Android)
[ ] Universal Links (iOS)
[ ] or Custom URL schemes? (iOS)
[x] Custom URL schemes (Linux)
Does the example project work?
[ ] Yes
[ ] No
[x] Irrelevant here
Did you fully read the instructions for the targeted platform before submitting this issue?
Uploaded your files to webserver, HTTPS, direct connection, scheme pattern setup, ...
[x] Yes
[ ] No
[ ] Irrelevant here

I'm not familiar with Linux but Linux code was refactored in version 6.0. It may worth a try.

@llfbandit I get an error using v6:
══╡ EXCEPTION CAUGHT BY SERVICES LIBRARY ╞══════════════════════════════════════════════════════════
The following MissingPluginException was thrown while activating platform stream on channel
com.llfbandit.app_links/events:
MissingPluginException(No implementation found for method listen on channel
com.llfbandit.app_links/events)

When the exception was thrown, this was the stack:
#0      MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:332:7)
<asynchronous suspension>
#1      EventChannel.receiveBroadcastStream.<anonymous closure> (package:flutter/src/services/platform_channel.dart:676:9)
<asynchronous suspension>
════════════════════════════════════════════════════════════════════════════════════════════════════

Should I open a new issue?

Sorry about that. 6.0.1 has been released to (hopefully) fix v6.0.0 init.

Hey @llfbandit 6.0.1 works again! I will try with appimages asap :)


Accessible full listing of books and pages

For Feature Requests
Desired Feature:
Navigation on homepage
Some users are not familiar with BookStackApp are usually hard to find the entry for all books (categories) on the right top. It would be great to implement an option to display a navigation on the side of homepage.
Just my two cents on this feature:

Simply list all public books/pages at left side on homepage, or
Set an page as the navigation content and display at left side on homepage
Both way above have a toggle to expand/collapse the navigation on top.

Thanks.

Hi @phoenixlzx,
I think this issue is pretty similar to what we have here - https://github.com/BookStackApp/BookStack/issues/615 or atleast is trying to address the same problem.
Since setting the books page as home page has been implemented since v0.22, can we go ahead and close this issue?

Hello @Abijeet, thanks for your reply.
I do noticed this issue you mentioned before, however I think a books list does not make a readable "navigation" on UX, that's why I submitted this one.
An organized list of books AND pages at the easily accessible section of index page would obviously help visitors find what they need (or even what the author wanted them to read). At this time, users of my site have to click multiple times, or use search (which isn't so good at our language) to find the contents they are looking for.
It will be a great appreciate if you can consider this feature.

I've updated the title to be a little more descriptive after the latest reply.
The obvious issue with this one is scaling and usefulness. You won't need much until a view like this is not helpful since it's too large. This feature may have too narrow of an audience.

Actually I mean a customizable side navigation, like the dokuwiki's.


GetBuilder - select values from the Controller

Is your feature request related to a problem? Please describe.
Sometimes, when we call the update() method inside the controller, some GetBuilder get rebuild unnecessarily, i.e let's say we have a User class with name and email fields.
This is our controller:
class UserController extends GetxController {
  static UserController get I => Get.find();

  User value = User(
    id: 0,
    firstName: "John",
    lastName: "Smith",
    email<EMAIL_ADDRESS>  );

  void setFirstName(String newName) {
    value.firstName = newName;
    update();
  }

  void setEmail(String newEmail) {
    value.email = newEmail;
    update();
  }
}

Then somewhere inside our view, we have something like this:
Column(
  mainAxisSize: MainAxisSize.min,
  children: [
    Text("Dashboard Screen"),
    GetBuilder<UserController>(
      builder: (_) {
        return Text("Full Name: ${_.value.fullName}");
      },
    ),
    GetBuilder<UserController>(
      builder: (_) {
        return Text("Email: ${_.value.email}");
      },
    ),
  ],
),

Even if we only use the setFirstName method on the controller, the email builder will rebuild (even though the email did not change).
Describe the solution you'd like
It would be nice to have something like a select property on the GetBuilder widget, which is basically a function that returns the value, that must be changed inside our controller, for the builder to get rebuild. So something like:
GetBuilder<UserController>(
  select: (controller) => controller.value.email,
  builder: (_) {
    return Text("Email: ${_.value.email}");
  },
),

This would mean that only if the email field is different than it was before the update() call, this builder should get updated.
Describe alternatives you've considered
Could't really find anything that would supply me with this functionality, but I could've searched wrong. Maybe there is something like that already?

As the existing tools for this resource were pointed out, and the issue was no longer answered, I am closing this issue.

@jonataslaw
+1 for selector
GetX and Obx are easy in use but heavily ram-consuming. GetBuilder is the fastest. It would be even better with an option to selectively update on certain variables changing, to avoid unnecessary rebuilds.
Also, it would be easier to transfer the existing Provider-based project to Get.
ids / tags assignment looks like an antipattern, because it makes your widgets and controllers tightly coupled - you MUST add the same tags in your GetBuilders, which are listed in corresponing update([...]). According to domain-driving model, controller shouldn't know anything about widgets and their tags, it should care about business logic only. It's better to let widgets to choose on which variables change they should rebuild.

@jonataslaw
+1 for selector
GetX and Obx are easy in use but heavily ram-consuming. GetBuilder is the fastest.
Also, it would be easier to transfer the existing Provider-based project to Get.
Ids / tags assignment looks like an antipattern, because it makes your widgets and controllers tightly coupled - you MUST add the same tags in your GetBuilders, which are listed in corresponing update([...]). Normally, controller shouldn't know anything about widgets and their tags, it should care about business logic only. It's better to let widgets to choose on which variables change they should rebuild.

GetBuilder has a filter property where you can filter rebuilds.

I can't find how exactly it filters rebuilds. It just does setState on any change!
You can set any filter function, but seems like GetBuilder doesn't use it anywhere.

I compiled a minimal reproducible example, and can confirm that filter actually works. Just wanted to make sure.
Without filter - all 3 widgets print "rebuilt"
With filter - only widget I clicked prints "rebuilt"
Main

import 'package:flutter/material.dart';
import 'package:get/get.dart';

import 'controller.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return GetMaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  MyHomePage({Key? key, required this.title}) : super(key: key);

  final String title;

  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  @override
  void initState() {
    super.initState();
    Get.put(MyController());
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            GetBuilder<MyController>(
              filter: (c) => c.textA,
              builder: (c) {
                print('Controller A rebuilt');
                return ElevatedButton(
                  onPressed: () => c.changeA(),
                  child: Text(c.textA),
                );
              },
            ),
            GetBuilder<MyController>(
              filter: (c) => c.textB,
              builder: (c) {
                print('Controller B rebuilt');
                return ElevatedButton(
                  onPressed: () => c.changeB(),
                  child: Text(c.textB),
                );
              },
            ),
            GetBuilder<MyController>(
              filter: (c) => c.textC,
              builder: (c) {
                print('Controller C rebuilt');
                return ElevatedButton(
                  onPressed: () => c.changeC(),
                  child: Text(c.textC),
                );
              },
            ),
          ],
        ),
      ),
    );
  }
}

Controller

import 'package:get/get.dart';

class MyController extends GetxController {
  MyController();

  String textA = '';
  String textB = '';
  String textC = '';

  void changeA() {
    textA.isEmpty ? textA = 'bla bla' : textA = '';
    update();
  }

  void changeB() {
    textB.isEmpty ? textB = 'bla bla' : textB = '';
    update();
  }

  void changeC() {
    textC.isEmpty ? textC = 'bla bla' : textC = '';
    update();
  }
}


bug with from_existing

@jacksonllee take a look at what I found and let me know if this makes sense.

The change log needs an entry for this fix.


Add Mattermost sending

Mattermost API https://api.mattermost.com/#tag/posts/paths/~1posts/post

Done PR#31


NO-JIRA: test/e2e: temporarily skip NTO machineconfig test

Until https://issues.redhat.com/browse/OCPBUGS-30149 is fully resolved

/lgtm

/override ci/prow/e2e-kubevirt-aws-ovn


Improve visibility and add support for limits as part of the notifications

Ready on the toolkit file.
Please take note of the hint on the enqued and the running .
Also note, that if there are more than one loading notifications they should appear as part of the same group.
As an extra ball, they are a bit more compact now.

Already merged?

yeah

I´ve just eduted the title and description to keep the ticket for improving the analysis notifications.

Gonna try to summarize the different notifications and how they should behave

Analysis running will show the time that passed since started as an indicator of progress (since AFAIK, we don't have any other indicator yet).
When an analysis is enqueued, we should show how many analysis are before that one in the queue.
When the queue is full, we should show the designed warning.

Adding @rochoa to the convo to see if this is feasible right now, or if we need to de-prioritize it due to other stuff in the APIs


Publish a new version to NPM with prop-types

Hi, Could you publish a new version with external prop-types library. I think the pull request is merged already.

done


Add .NET framework tests to CI

There's a collection of tests that ensure we don't break compatibility with .NET 4.7.2, these should be run in a different job of the CI workflow. This job will likely need to setup .NET framework, and may need a Windows agent (I think there are Windows-based Github hosted agents). In the solution, we can create a NETFRAMEWORK build configuration that will only build the required projects (only the netstandard projects need to be included).

This is doable with a windows-2019 runner - apparently the windows-2022 runners don't have the .NET 4.0 SDK installed.


Response.json method change

First of all , awesome library . thank you
changed the method to take in CharSequence instead of String.
provides better performance,flexibility plus compatibility with zio-json which encodes to charsequence
Please let me know if this implementation is acceptable , any feedback is desired

Can you take a pull from main.

Codecov Report

Merging #914 (963634d) into main (9c9fd5e) will decrease coverage by 0.25%.
The diff coverage is 26.66%.

@@            Coverage Diff             @@
##             main     #914      +/-   ##
==========================================
- Coverage   55.83%   55.58%   -0.26%
==========================================
  Files          71       71
  Lines        2235     2247      +12
  Branches       65       64       -1
==========================================
+ Hits         1248     1249       +1
- Misses        987      998      +11

Impacted Files
Coverage Δ

zio-http/src/main/scala/zhttp/service/Client.scala
71.42% <0.00%> (-11.91%)
:arrow_down:

zio-http/src/main/scala/zhttp/http/HttpData.scala
80.00% <100.00%> (+1.05%)
:arrow_up:

zio-http/src/main/scala/zhttp/http/Response.scala
80.70% <100.00%> (ø)

Continue to review full report at Codecov.

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

Can you take a pull from main.

@tusharmath done.

Expecting many more conflicts from main. So closing this in favour of #1142


Replace pkg_resources with importlib_resources

Fix "DeprecationWarning: pkg_resources is deprecated as an API." seen when running tests.
In addition:

increase test coverage for formatters.py
replace deprecated set-output in test.yml workflow
remove redundant lines in Makefile
make minor grammatical and formatting fixes to CONTRIBUTING.md
remove old, redundant "Code of Conduct" section from CONTRIBUTING.md and insert link to CODE_OF_CONDUCT.md
fix bare links in CODE_OF_CONDUCT.md

📚 Documentation preview 📚: https://earthaccess--497.org.readthedocs.build/en/497/

These doc fixes are so helpful, thank you for including them!

Woops, didn't notice workflows waiting for approval. :snail: :rocket:

@chuckwondo we're just about to start a hack day, hope you'll be joining us again :)

Just linking this to the other PR that this supersedes: #452, which I think should be closed after this one is merged.

I tried putting Closes #452 in the OP but that didn't seem to work the way I wanted it to. I removed it. Can we close #452 now so we don't have to remember?

@mfisher87, I made a change that should fix the broken python 3.8 build. It also happens to simplify things a bit.

Just linking this to the other PR that this supersedes: #452, which I think should be closed after this one is merged.

@danielfromearth, thanks for making note of this. It totally slipped my mind that I had previously commented on your issue there! This should close the loop on that.

And thank you @danielfromearth for your work on this problem!

Ugh! Updated ci/environment-mindeps.yaml to include importlib-resources, which I had added to pyproject.toml. This seems like an accident waiting to happen (it just did). Any idea why the redundancy that forces us to keep these files in sync?

Ugh! Updated ci/environment-mindeps.yaml to include importlib-resources, which I had added to pyproject.toml. This seems like an accident waiting to happen (it just did). Any idea why the redundancy that forces us to keep these files in sync?

Unfortunately, the environment-* YAMLs are conda environments and dependencies, while the deps in pyproject.toml are Poetry ones that get pulled from PyPI. There's no real way to avoid the duplication due to different package repositories and managers.
And really, even if we went to just poetry environments, there's no way to specify "build an environment from the minimum dependencies" in Poetry, but we could with uv and only use that (dropping conda). Something to add to https://github.com/nsidc/earthaccess/issues/374
It's good to have conda env test coverage as well though as many of our users will be using conda.

@jhkennedy and @mfisher87, I believe I addressed the dependency pinning issue. I also added a small "Managing Dependencies" section to the contributing guide. Please let me know if I missed anything.

@mfisher87, does this look good?

@jhkennedy can you take a look at how/why one of the checks was cancelled and rerun? I see, "Canceling since a higher priority waiting request for 'refs/pull/497/merge' exists," but can't tell exactly what caused it.

@jhkennedy can you take a look at how/why one of the checks was cancelled and rerun? I see, "Canceling since a higher priority waiting request for 'refs/pull/497/merge' exists," but can't tell exactly what caused it.

I'm confused by that as well. I believe it's related to the concurrency setting:
https://github.com/nsidc/earthaccess/blob/main/.github/workflows/test-mindeps.yml#L8-L12
But not sure why. I don't have time to dig in right now (it works in some PRs but not others), but I'll open an issue.
For now, I think it's safe to ignore it as the test ran fine in your fork:
https://github.com/chuckwondo/earthaccess/actions/runs/8367002850

Hey, so sorry all for missing your mentions! :eyes:

Can somebody merge this PR?

@chuckwondo done!

@mfisher87, thanks for the offer for merge permissions. I don't yet feel comfortable being granted such permissions, but perhaps after a few more PRs and "hack days" I'll take you up on the offer.

I'll be sure to ask again later, then! ;)


Implement ML algorithms from scratch

💥 Proposal
Use some simple dataset and implement the whole ML algorithm like a regression from the ground up showing all the math behind it in a jupyter notebook and later showing the similarities with how they are implemented in standard libraries like pytorch or tensorflow. Finally, give a demo on how to use the library functions. This should give the user a sense of what's going on inside the hood.

Hi @PirateOfAndaman  , iam a GSSOC23 contributer and I would like to resolve this issue
Can you assign me this issue? Or any other issues you might have?
Heres My Resume which you might find useful: Resume
Here is my background in ML:

6 months plus experience in working under college professors for research project on medical image classification.
Got 228 global rank in Amazon ML Challenge 2023 out of 30000+ teams participating.
Experienced with trainig machine Learning Models. Including image preprocessing techniues such as histrogram equilization, augmentation, stationary wavelet transformation, image segmentation. Along with feature extraction from models like resnet50 inceptionv3 vgg16 etc

Looking forward to hear from you.

💥 Proposal
Use some simple dataset and implement the whole ML algorithm like a regression from the ground up showing all the math behind it in a jupyter notebook and later showing the similarities with how they are implemented in standard libraries like pytorch or tensorflow. Finally, give a demo on how to use the library functions. This should give the user a sense of what's going on inside the hood.

Hi @PirateOfAndaman hope you are doing well, I would love to work on this project , It will be first contribution under ggsoc if you could assign this to me
Looking Forward to your reply

Hi, @PirateOfAndaman I am a GSSoC contributor. I would like to work on this issue. It will be a  great opportunity for me to work on this and gain a deeper knowledge of ML algorithms and how they work.
Can you assign this to me?

@PirateOfAndaman  - you can go ahead! We are assigning you 21 days for this project, after which it will be assigned to someone else if not completed. All the best!
Name the file as: algorithm_dataset.ipynb and link it in the readme of the labeled directory as algorithm - dataset.
@s0oraj @nitin-pandita @kimix7 - since we are following the first-come-first-serve policy, we will not be able to assign you this issue. However, you can create another issue on similar lines.

I'm a contributor for GSSoC '23, I want to work on this issue. Please assign me.

@UditSharma9999 - since we are following the first-come-first-serve policy, we will not be able to assign you this issue. However, you can create another issue on the similar lines.


Additional modalities: fMRI SBrefs, DWI b=0, EPI fieldmaps (BOLD, DWI)

This should probably be a standalone report like bold and T1w.

Closing in favor of a discussion - https://github.com/nipreps/mriqc/discussions/1346


Add fedora uri to index

Coverage increased (+2.06%) to 47.656% when pulling 20250c533a3cdd54465a9e607dd64ac82bfa610d on fedora-id into 80ba3d322595aede36e8200fdb54e8f672a507e7 on master.

Not an observation about the code - but a question about our design. Since the Fedora service is not directly exposed to clients, I'm guessing we are not planning to bind a DNS name to it. If that is the case, resource URIs will be not persistent (eg. http://:8080/fcrepo/rest/theses/....) where  is a runtime kubernetes assignment that might not repeat on a redploy..... What do you think?

I can replace the IP with the value of the FEDORA_SERVICE_HOST env var when I add the resource to the index. That's about as close as we're going to get to stable without DNS.

I was actually thinking of going the other way: ignoring the server completely and having the Fedora ID be:
1721.1-42469 (which is just a transformation of the handle: 1721.1/42469) - we can guarantee that these will be unique. Let's leave it as is in the PR for now (API server can parse the URI if it wants to) I can reliably resolve those short IDs since kubernetes will furnish me with an ENV var to the server...

Cool, I'll add an issue to revisit this.


any code?

I'd like to try it out, but do you have any plans to officially release the code soon?

yes pls

cheer

Feel free to contact me directly at jamessealesmith at gatech dot edu

Thank you very much for the interest in our work :)


Use of cache_block_id

Hi, the work looks very interesting.
I was going through the code, and got most part of it, except cache_block_id. I didn't get it's usage from the paper, and according to the code, it seems like caching the output of a particular attention block within a UNet layer.
Could you please provide some insight on this. Thanks!

Thanks for the clarification @horseee. So, it's a more granular level of control for caching the output of a particular residual path in a layer, if it's the last one, then it's the output of the whole layer, which is detailed in the paper. Else the cache is retrieved from that particular block instead of the previous layer. Is this understanding correct?

Hi @harpavatkeerti

it's a more granular level of control for caching the output of a particular residual path in a layer
Correct

if it's the last one, then it's the output of the whole layer, which is detailed in the paper
If the U-Net has some middle-layer blocks, then the middle-layer blocks would still not be included by choosing the last path.

Else the cache is retrieved from that particular block instead of the previous layer.
Correct!


refactor(remove-grunt): replace grunt ccd generation and testing

:tada: This PR is included in version 2.11.0 :tada:
The release is available on:

npm package (@next dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Encrypt cookie not work on dynamic cookie

Laravel Version: 5.7.2
PHP Version:7.3
Database Driver & Version:

Description:
vendor\laravel\framework\src\Illuminate\Cookie\Middleware\EncryptCookies.php
THIS FUNCTION SHOULD MATCH DYNAMIC COOKIE LIKE "version_1,version_2,version_3 ...".
this is no way to ingnore cookie for dynamic.
/**
* Determine whether encryption has been disabled for the given cookie.
*
* @param  string $name
* @return bool
*/
public function isDisabled($name)
{
return in_array($name, $this->except);
}
Steps To Reproduce:

Just override the isDisabled method and do anything you want?

Thanks sisve.


Add isort CodeAction (sort imports on save)

Fixes #156
This pull request:

[X] Has a title summarizes what is changing
[x] Includes a news entry file (remember to thank yourself!)
[x] Has unit tests & code coverage is not adversely affected (within reason)
[ ] Works on all actively maintained versions of Python (e.g. Python 2.7 & the latest Python 3 release)
[ ] Works on Windows 10, macOS, and Linux (e.g. considered file system case-sensitivity)

This implements #156 (run isort on save) using Code actions.
I'll add a news entry and make sure to check the remaining checkboxes above asap, in the meantime any feedback is welcome. :)

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: n6g7 sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

I can't access the VSTS build output, so no idea why it breaks. Can someone clue me in?

@n6g7 it isn't you, so don't worry about it 😄 (we are planning to flip the "public" switch some time today actually.)

For others reading this, to turn it on you need to add this to your settings.json (workspace or global).
{
  "editor.codeActionsOnSave": {
    "source.organizeImports": true
  }
}


The Connect bank account page opens again upon clicking the back button in offline mode

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Go to web chrome
Go offline
Go to any workspace
Click on connect bank account
Now click on back icon
Notice that the same page opens again instead of going back on clicking the back button
If you follow the same steps in online mode, this problem doesn't persist

Expected Result:
The Connect bank account page should not be opened again upon clicking the back button in offline mode
Actual Result:
The Connect bank account page opens again upon clicking the back button in offline mode (Works well on online mode)
NOTE: (If it is not reproducible on the first try, it gets reproducible on the second try.)
Workaround:
Can the user still use Expensify without this being fixed? Have you informed them of the workaround?
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[x] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: <IP_ADDRESS>
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://user-images.githubusercontent.com/43996225/236694400-072eeb77-83a5-4f74-8a68-97e9f8646194.mp4
https://user-images.githubusercontent.com/43996225/236694406-c263a83f-7bf7-4dd1-a590-a1eeb3721c5c.mp4
Expensify/Expensify Issue URL:
Issue reported by: @priya-zha
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1683380264270409
View all open jobs on GitHub

I feel this is so minor it's not worth prioritizing at this time. Firstly it's pretty edge case as it only happens when adding a bank account offline, second it is only reproducible some of the time, and clicking back a second time reverts to the correct behavior. So I don't think this is worth fixing right now, going to close this but perhaps we might reopen it in the future.


Display likes

In this PR, the following changes were introduced:

Implemented functions for posting a like and getting all likes.
Displayed the number of likes in the Jokes Card for every item.
Fixed Header on Mobile Screens.

@Bavon101 Thanks for the review, The Like button is not a part of this PR, it's the part of the next PR. You can check that in the Kanban Board.

@Bavon101 Thanks for the review, The Like button is not a part of this PR, it's the part of the next PR. You can check that in the Kanban Board.

Noted @awais-amjed , Sorry for the misunderstanding.

No Problem. Can you please approve the PR, Thanks.


Calculating M.nCr(n,r) function and testcases implemented (Issue #66)

Do the checklist before submitting the PR:

[ ] Have you read the guidelines mentioned in CONTRIBUTING.md?
[ ] Have you squashed your commits?

Q: What version of Node.js you've used in the project? (e.g. Node v10.11.0)
A: Node v8.11.4
Q: Mention the Issue Number! (e.g. Fixed #8)
A: Fixed #66

Give additional information regarding the PR below:

Codecov Report

Merging #73 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff          @@
##           master    #73   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files          43     44    +1
  Lines         453    469   +16
=====================================
+ Hits          453    469   +16

Impacted Files
Coverage Δ

src/nCr/index.js
100% <100%> (ø)

src/index.js
100% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


perf(evm): update max-tx-gas-wanted to 0

Summary by CodeRabbit

Configuration Changes

Updated the max-tx-gas-wanted value from 500000 to 0 for both mainnet and testnet configurations. This affects the gas wanted for each Ethereum transaction in check transaction mode.

Testing Adjustments

Modified test configurations to reflect the new max-tx-gas-wanted value of 0.

mg


OAK-10551: o.a.j.o.jcr.osgi.RepositoryManager declares OSGi propertie…

…s that are not used at all.
Removed misleading property name declarations.

@reschke that is very likely

I agree these are wrong, but they are used as names in the generated OSGi metadata. We need to fix them, butI'm not sure we can simply remove (thus rename) them.


Top taskbar to have following tabs: Home, For Owners, For tenants, About us, Contact

@setugoyal please create a contact us page


Remove Button Doesn't Work

I'm having a bit of trouble getting the remove button to work in the iPhone simulator. I've selected the "Enable Remove On" option but when I tap it, it doesn't remove the item. No error is given, there's no stack trace, and there isn't any associated crash.

Please try the sample project. It has a TagListView with remove button enabled. If that doesn’t help, please attach sample project/code.

i am facing same issue

I think I am as well.
What I am seeing is you can remove the items on the first line only.  If you have several lines the 2nd through end do not seem to pick up the 'x' action.  What's odd is that once something moves up to the first line (something else was removed) it is then able to be removed.  Of note, the selection of the items is also behaving the exact same way for me.
I can reproduce this just by creating a new project.  Adding the library as a pod and then copying the code from the demo project and running it on an attached iPhone SE device.
See https://github.com/jimsmithm3/tag_test3.

This is a constraint issue.  Haven't quite figured it all out yet but somehow your TagListView is resizing to accommodate when multiple lines are added while mine is not.  I guess it's not a bug after all just need to figure out the right combination  of constraints.


[1.11] INetworkNode needs to be a capability

As discussed in #644, also include various refactoring.
I'd like to make another PR for 1.10, but let's discuss this one first, then then I'll have to see how to avoid breaking changes in 1.10.

Very good PR. Thank you. If the points I brought up are resolved, I will merge.

PR updated.
I still have one concern: when trying to integrate with EnderIO, the conduits won't connect with the Controller. (RS cables and other RS tiles are fine)
I think we should add the capability to the controller and make it extends INetworkNode.

Yes, that might be a good idea. You want to do it for this PR or for another PR?

Then I have another question regarding the capabilities: is it possible to bind caps to TE's you don't have access too? If that is the case, we can remove the connectables system and move it to a IConnector capability or something.

It's possible to bind capabilities to other TileEntity, for example here is a piece of code I'm using to build EnderIO RS conduits:
public class RSConduitCapabilityProvider implements ICapabilityProvider {
    private static final ResourceLocation KEY = new ResourceLocation(EnderIO.DOMAIN, "EioCapRSNetworkNode");

    @CapabilityInject(INetworkNode.class)
    public static Capability<INetworkNode> NETWORK_NODE_CAPABILITY = null;

    private final TileConduitBundle tile;

    public RSConduitCapabilityProvider(TileConduitBundle tile) {
        this.tile = tile;
    }

    @SubscribeEvent
    public static void attachCapabilities(AttachCapabilitiesEvent<TileEntity> event) {
        Object object = event.getObject();
        if (object instanceof TileConduitBundle) {
            event.addCapability(KEY, new RSConduitCapabilityProvider((TileConduitBundle) object));
        }
    }

    @Override
    public boolean hasCapability(Capability<?> capability, @Nullable EnumFacing facing) {
        if (capability == NETWORK_NODE_CAPABILITY) {
            IRSConduit conduit = tile.getConduit(IRSConduit.class);
            return conduit != null && !conduit.isRemoved() &&
                    conduit.getConnectionMode(facing) == ConnectionMode.IN_OUT;
        }
        return false;
    }

    @Override
    public <T> T getCapability(Capability<T> capability, @Nullable EnumFacing facing) {
        if (capability == NETWORK_NODE_CAPABILITY) {
            IRSConduit conduit = tile.getConduit(IRSConduit.class);
            if (conduit != null && !conduit.isRemoved() &&
                    conduit.getConnectionMode(facing) == ConnectionMode.IN_OUT) {
                return NETWORK_NODE_CAPABILITY.<T>cast(conduit.getRSNetworkNode());
            }
        }
        return null;
    }
}

I'm wondering in which case we would want a IConnector not to be a INetworkNode. Having to check for only one capability will make integration easier.
I'll make the Controller a INetworkNode in this PR.

I see, cool.
There is 1 remaining problem I see.
When a INetworkNode is placed, it needs to this to refresh the graph of the network of its neighbors:
    @Override
    public void onBlockPlacedBy(World world, BlockPos pos, IBlockState state, EntityLivingBase player, ItemStack stack) {
        super.onBlockPlacedBy(world, pos, state, player, stack);

        if (!world.isRemote) {
            for (EnumFacing facing : EnumFacing.VALUES) {
                TileEntity tile = world.getTileEntity(pos.offset(facing));

                if (tile instanceof TileNode && ((TileNode) tile).isConnected()) {
                    ((TileNode) tile).getNetwork().getNodeGraph().rebuild();

                    break;
                }
            }
        }
    }

    @Override
    public void breakBlock(World world, BlockPos pos, IBlockState state) {
        INetworkMaster network = null;

        if (!world.isRemote) {
            TileEntity tile = world.getTileEntity(pos);

            if (tile instanceof TileNode) {
                network = ((TileNode) tile).getNetwork();
            }
        }

        super.breakBlock(world, pos, state);

        if (network != null) {
            network.getNodeGraph().rebuild();
        }
    }

This is currently hardcoded in BlockNode, we might want to change that with block break / place events.

I added some minor additional comments.

Regarding the Place/Break events, I don't think we can use them. They are cancelable (and may be canceled by another mod), but we want the effect only when the block is actually placed/broken. I don't know if we can do that with the events.
Also I'm concerned about the performances, if we have to check the capabilities for all blocks.

Great, I'll merge. Thanks for this! Network scanning is much cleaner now. And mods can use the cap system super easily.
Feel free to join #refinedstorage on esper.net as well, @Volune


Running locally with docker-compose up fails

After running docker-compose up, not all containers are up and running:

It seems that there is an error connecting to sql:
dbug: Microsoft.EntityFrameworkCore.Migrations[20400]
      Migrating using database 'Microsoft.TailWindTraders.Product' on server 'sql.data'.
dbug: Microsoft.EntityFrameworkCore.Database.Connection[20000]
      Opening connection to database 'Microsoft.TailWindTraders.Product' on server 'sql.data'.
dbug: Microsoft.EntityFrameworkCore.Database.Connection[20004]
      An error occurred using the connection to database 'Microsoft.TailWindTraders.Product' on server 'sql.data'.
System.Data.SqlClient.SqlException (0x80131904): A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: TCP Provider, error: 40 - Could not open a connection to SQL Server)

&
source profile
2019-05-19T16:50:21.786341800Z
Unhandled Exception: System.Data.SqlClient.SqlException: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: TCP Provider, error: 40 - Could not open a connection to SQL Server)

stock java
2019-05-19 16:51:19.299 ERROR 1 --- [           main] o.s.boot.SpringApplication               : Application run failed
2019-05-19T16:51:19.331692900Z
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]

Hi @StefH!
Is the sql.data container running? If using Docker Desktop for Win/Mac just note that this is a SQL Server container and it requires some RAM, so you maybe to need to increase the RAM of Docker VM to 4 Gb.

After increasing the memory for Docker to 8GB and 2GB swap, I was able to start almost all services.
coupon-api still failed with this error:
Connection to CosmosDB successful
Starting seed data...
End seed success
{ MongoNetworkError: failed to connect to server [nosql.data:27017] on first connect [MongoNetworkError: connect ECONNREFUSED <IP_ADDRESS>:27017]
    at Pool.<anonymous> (/src/node_modules/mongodb-core/lib/topologies/server.js:564:11)
    at emitOne (events.js:116:13)
    at Pool.emit (events.js:211:7)
    at Connection.<anonymous> (/src/node_modules/mongodb-core/lib/connection/pool.js:317:12)
    at Object.onceWrapper (events.js:317:30)
    at emitTwo (events.js:126:13)
    at Connection.emit (events.js:214:7)
    at Socket.<anonymous> (/src/node_modules/mongodb-core/lib/connection/connection.js:246:50)
    at Object.onceWrapper (events.js:315:30)
    at emitOne (events.js:116:13)
    at Socket.emit (events.js:211:7)
    at emitErrorNT (internal/streams/destroy.js:66:8)
    at _combinedTickCallback (internal/process/next_tick.js:139:11)
    at process._tickCallback (internal/process/next_tick.js:181:9)
  name: 'MongoNetworkError',
  errorLabels: [ 'TransientTransactionError' ],
  [Symbol(mongoErrorContextSymbol)]: {} }

Manually restarting worked.
The stock-api still has errors like:
2019-05-31T09:16:09.972784500Z
2019-05-31 09:16:09.969 ERROR 1 --- [           main] o.s.boot.SpringApplication               : Application run failed
2019-05-31T09:16:09.972795400Z
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]

Solved in commit c5b93d4


[Serverless] Migrate daemon package to a component

What does this PR do?

Migrates pkg/serverless/daemon to a component. There are no functional changes to the Lambda Extension as part of this PR.
Summary of code changes:

Move code from pkg/serverless/daemon to comp/serverless/daemon
Create interface for newly created daemon component
Move code in cmd/serverless/main.go to Start and startAgents methods in daemon component
Update cmd/serverless/main.go to inject the daemon component as a dependency
Refactor unit tests to use daemon component

Motivation

https://datadoghq.atlassian.net/browse/SVLS-4195
Additional Notes

Possible Drawbacks / Trade-offs

Unknown regressions as a result of refactored code
Describe how to test/QA your changes

Run the Lambda Extension locally using files provided here: https://github.com/DataDog/datadog-lambda-extension/tree/main/local_tests

RUNTIME=python ./local_tests/build-docker-runtime.sh
./local_tests/invoke.sh
Verify Lambda extension runs without errors

Reviewer's Checklist

[x] If known, an appropriate milestone has been selected; otherwise the Triage milestone is set.
[ ] Use the major_change label if your change either has a major impact on the code base, is impacting multiple teams or is changing important well-established internals of the Agent. This label will be use during QA to make sure each team pay extra attention to the changed behavior. For any customer facing change use a releasenote.
[x] A release note has been added or the changelog/no-changelog label has been applied.
[x] Changed code has automated tests for its functionality.
[x] Adequate QA/testing plan information is provided if the qa/skip-qa label is not applied.
[x] At least one team/.. label has been applied, indicating the team(s) that should QA this change.
[ ] If applicable, docs team has been notified or an issue has been opened on the documentation repo.
[ ] If applicable, the need-change/operator and need-change/helm labels have been applied.
[ ] If applicable, the k8s/<min-version> label, indicating the lowest Kubernetes version compatible with this feature.
[ ] If applicable, the config template has been updated.

Will break up into smaller PRs off of a fresh pull of main since there are a large amount of changes and quite a few code conflicts in this one


add the rest of the SPIRE commands into Tornjak backend

from https://github.com/spiffe/spire-api-sdk/tree/main/proto/spire/api/server the following have to be added

[X] agent
[ ] bundle
[X] debug
[X] entry
[ ] svid
[ ] trustdomain


Moved clipboard utils to core library, fixes #6760

(cherry picked from commit 8d5509573aafa811e55d19557908761bd48aa6e4)

@pnowack freerdp-client links in freerdp

@pnowack freerdp-client links in freerdp

Okay


Node16

Instance tested - https://malibu-advanced-web.qtstage.io/
Tests Covered - automation

Tests Covered - manual e2e workflow
Login workflow - pass
Story page with all story elements - pass
Tests Covered - seo structured data

[ ] Verify structured data schema for Home page - contains Breadcrumbs
[ ] Verify structured data for story page

warning on result page: missing field url for author (seo library with recent author structured data changes should be present)


Typo

https://github.com/google/mediapipe/blob/63e679d99ca45b30514a9d84c9351a2d77bb9ba0/mediapipe/python/solutions/drawing_styles.py#L57
https://github.com/google/mediapipe/blob/63e679d99ca45b30514a9d84c9351a2d77bb9ba0/mediapipe/python/solutions/drawing_styles.py#L40
Minor typo in python drawing_styles.py - _PALM_LANMARKS should be _PALM_LANDMARKS

Hi @tmtcam-042 ,
Could you share steps to reproduce this issue.

@tmtcam-042,
Thanks for the finding out this bug! This issue has fixed now commit 921b6a6 recently.


pkgsCross.zfs is broken

Describe the bug
A clear and concise description of what the bug is.

[ ] pkgsCross.zfs:

sqpoll-cancel-hang.c: In function 'main':
sqpoll-cancel-hang.c:138:13: error: '__NR_mmap' undeclared (first use in this function)
  138 |     syscall(__NR_mmap, 0x20000000ul, 0x1000000ul, 7ul, 0x32ul, -1, 0ul);
      |             ^~~~~~~~~
sqpoll-cancel-hang.c:138:13: note: each undeclared identifier is reported only once for each function it appears in
make[1]: *** [Makefile:162: sqpoll-cancel-hang] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory '/build/liburing/test'
make: *** [Makefile:13: all] Error 2

[x] pkgsCross.linuxPackages.zfs:

make[3]: Leaving directory '/nix/store/my6h9y4hsqysh6fayq3w0l4ivvbwk2yv-linux-armv7l-unknown-linux-gnueabihf-5.10.73-dev/lib/modules/5.10.73/build'
make[2]: Leaving directory '/build/source/module'
make[2]: Entering directory '/build/source'
[ -x ./scripts/zfs-tests.sh ] && \
    ./scripts/zfs-tests.sh -c
Missing helper script common.sh
make[2]: [Makefile:1485: all-local] Error 1 (ignored)
make[2]: Leaving directory '/build/source'
make[1]: Leaving directory '/build/source'
xargs: strip: No such file or directory

Additional context
Add any other context about the problem here.
https://github.com/NixOS/nixpkgs/issues/106759
Notify maintainers

Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
output here

Maintainer information:
# a list of nixpkgs attributes affected by the problem
attribute:
# a list of nixos modules affected by the problem
module:

Same happens in the build of liburing.

linuxPackages.zfs was fixed in https://github.com/NixOS/nixpkgs/commit/736dcd89558671cfaad59620dc1369d4194343a3#diff-6b938a2bb5aecd0c3f770bd30c95987c65fa12bd8189bfbadad3b82857cc2ea3

Same happens in the build of liburing.

A similar fix should happen for liburing

The fix was for the kernel part. The userspace part with the same error as liburing isn't even diagnosed yet AFAIK.

@Atemu, this bug was fixed a month ago upstream, in the meantime I'm using:
nixpkgs.overlays = [
  (final: super: {
    # TODO: remove after liburing-2.1
    liburing = super.liburing.overrideAttrs (old: {
      src = super.fetchgit {
        url    = "http://git.kernel.dk/${old.pname}";
        rev    = "cb350a8989adbd65db574325d9a86d5437d800da";
        sha256 = "sha256-ZMev2RjiswuR9seVwHbnVUtnpaPW/XJbelBgvIuYiGg=";
      };
    });
  })
];

For reference, I was affected while cross compiling the bootable armv7l image for rpi 3B+. liburing was failing with
rror: builder for '/nix/store/9y48v9580crkiyhiscz8q1qg34wkrixw-liburing-armv7l-unknown-linux-gnueabihf-2.1.drv' failed with exit code 2;
       last 10 log lines:
       >      CC sqpoll-exit-hang
       >      CC sqpoll-cancel-hang
       > sqpoll-cancel-hang.c: In function 'main':
       > sqpoll-cancel-hang.c:138:13: error: '__NR_mmap' undeclared (first use in this function)
       >   138 |     syscall(__NR_mmap, 0x20000000ul, 0x1000000ul, 7ul, 0x32ul, -1, 0ul);
       >       |             ^~~~~~~~~
       > sqpoll-cancel-hang.c:138:13: note: each undeclared identifier is reported only once for each function it appears in
       > make[1]: *** [Makefile:162: sqpoll-cancel-hang] Error 1
       > make[1]: Leaving directory '/build/liburing/test'
       > make: *** [Makefile:13: all] Error 2

A minimal flake for reproducing the issue
{
  description = "Build image";

  inputs = {
    nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
  };

  outputs = { self, nixpkgs }: rec {
    nixosConfigurations.rpi3 = nixpkgs.lib.nixosSystem {
      system = "aarch64-linux";
      modules = [
        "${nixpkgs}/nixos/modules/installer/sd-card/sd-image-raspberrypi.nix"
        {
          nixpkgs.config.allowUnsupportedSystem = true;
          nixpkgs.crossSystem.system = "armv7l-linux";
          boot.kernelParams = [
            "console=ttyS1,115200n8"
          ];
        }
      ];
    };
    images.rpi3 = nixosConfigurations.rpi3.config.system.build.sdImage;
  };
}

For reference, I was affected while cross compiling the bootable armv7l image for rpi 3B+. liburing was failing with
rror: builder for '/nix/store/9y48v9580crkiyhiscz8q1qg34wkrixw-liburing-armv7l-unknown-linux-gnueabihf-2.1.drv' failed with exit code 2;
       last 10 log lines:
       >      CC sqpoll-exit-hang
       >      CC sqpoll-cancel-hang
       > sqpoll-cancel-hang.c: In function 'main':
       > sqpoll-cancel-hang.c:138:13: error: '__NR_mmap' undeclared (first use in this function)
       >   138 |     syscall(__NR_mmap, 0x20000000ul, 0x1000000ul, 7ul, 0x32ul, -1, 0ul);
       >       |             ^~~~~~~~~
       > sqpoll-cancel-hang.c:138:13: note: each undeclared identifier is reported only once for each function it appears in
       > make[1]: *** [Makefile:162: sqpoll-cancel-hang] Error 1
       > make[1]: Leaving directory '/build/liburing/test'
       > make: *** [Makefile:13: all] Error 2

A minimal flake for reproducing the issue
{
  description = "Build image";

  inputs = {
    nixpkgs.url = "github:nixos/nixpkgs/nixos-21.11";
  };

  outputs = { self, nixpkgs }: rec {
    nixosConfigurations.rpi3 = nixpkgs.lib.nixosSystem {
      system = "aarch64-linux";
      modules = [
        "${nixpkgs}/nixos/modules/installer/sd-card/sd-image-raspberrypi.nix"
        {
          nixpkgs.config.allowUnsupportedSystem = true;
          nixpkgs.crossSystem.system = "armv7l-linux";
          boot.kernelParams = [
            "console=ttyS1,115200n8"
          ];
        }
      ];
    };
    images.rpi3 = nixosConfigurations.rpi3.config.system.build.sdImage;
  };
}

please switch to the unstable channel, cross-compilation is usually in the best health there

Hello @Artturin thanks for joining. Compilation has already started so I'll check if this works, I've applied the overlay fix as suggested above. I'll try with unstable afterwards if this one does not make it through!


Introduces Account module.

Read before review:
This PR is split into PR #628 and PR #629 in order to ease the review. Please start from these two before looking into this patch. Since this patch depends on the previous two, so there are code that are the same. The plan is to get PR #628 and PR #629 finalized first, and then rebase this PR.
This patch introduces the Account module, which contains the major logic
to deal with account, container, metadata, etc.
The module includes three major components:

Account and Container class, which defines the data structure;
AccountService interface, which defines the behavior of the service
in response to account-related queries. The HelixAccountService
implementation employs helix property store as its storage solution,
and implements the functionalities to read/write the store for account
metadata operations;
Notifier, TopicListener interfaces.  HelixNitofier implementation takes helix
property store as the hub to dispatch messages, and HelixAccountService
implements TopicListener, so it can listen to the metadata change message
to fetch the updated account metadata.

Notifier component stands independently of the AccountService component,
and eventually it should be extracted out from the Account module. It
is being kept for now because it is only being used by Account.
Suggested reviewing order:

Account and Container class
Notifier, and TopicListener interface
HelixNotifier class
AccountService interface
HelixAccountService class
Unit tests

Test done:
Tested against both MockHelixPropertyStore and a local ZooKeeper server.
However, this patch only includes the unit test using the mock store. If
testing against the local ZK server, all tests are still passed. A
future work will be including an integration test that starts and tests
against a local ZK server.
Test coverage (using the mock store):
Class Class, %  Method, % Line, %
Account 100% (1/ 1) 92.9% (13/ 14)  92.2% (59/ 64)
Container 100% (1/ 1) 91.7% (11/ 12)  85.2% (52/ 61)
HelixAccountService 100% (2/ 2) 100% (11/ 11) 97.1% (66/ 68)
HelixNotifier 100% (2/ 2) 92.3% (12/ 13)  96.8% (60/ 62)
HelixPropertyStoreFactory 100% (1/ 1) 50% (1/ 2)  18.2% (2/ 11)

Since there has been some changes in #628 and #629 , I am closing this PR and will put up a new PR rebased on the two PRs.