Query with Join in BlazorHero

Hi,
I would like to create views on the data by making appropriate joins through Linq to Entities, I tried the following path without success, I'll explain what I did by taking for example the 2 example tables in BlazorHero: Brand and Product
I would like to create a view in which I highlight whether a brand has products or not as per the following SQL script:
SELECT
       	CASE WHEN products.Name IS NULL THEN 'no product' ELSE 'ok' END AS State, Brands.Name AS Brand, Brands.Id
FROM
         Products FULL OUTER JOIN  Brands ON Products.BrandId = Brands.Id

This is the result I would like:

In Blazor hero I changed the Products controller to SERVER:
       ```
        /// <summary>
        /// Get Status Products
        /// </summary>
        /// <returns>Status 200 OK</returns>
        [Authorize(Policy = Permissions.Products.View)]
        [HttpGet("status")]
        public async Task<IActionResult> GetStatus()
        {
            var products = await _mediator.Send(new GetAllProductsStatusQuery());
            return Ok(products);
        }

Add Class Response in Application:
namespace SigmaAdminBlazorApp.Application.Features.Products.Queries.GetAllPaged
{
    class GetAllStatusProductsResponse
    {
        public int Id { get; set; }
        public string Brand { get; set; }
        public string State { get; set; }
    }
}

And finally add Query in Application:
namespace SigmaAdminBlazorApp.Application.Features.Products.Queries.GetAllPaged
{
    public class GetAllProductsStatusQuery : IRequest<Result<List<GetAllStatusProductsResponse>>>
    {
        public GetAllProductsStatusQuery()
        {

        }
    }

    internal class GetAllProductsStatusQueryHandler : IRequestHandler<GetAllProductsStatusQuery, Result<List<GetAllStatusProductsResponse>>>
    {
        private readonly IUnitOfWork<int> _unitOfWork;
        private readonly IMapper _mapper;

        public GetAllProductsStatusQueryHandler(IUnitOfWork<int> unitOfWork, IMapper mapper)
        {
            _unitOfWork = unitOfWork;
            _mapper = mapper;
        }

        public async Task<Result<List<GetAllStatusProductsResponse>>> Handle(GetAllProductsStatusQuery request, CancellationToken cancellationToken)
        {
            var dataBrands = _unitOfWork.Repository<Brand>().Entities.ToList();

            var data = await _unitOfWork.Repository<Product>().Entities
                                                                       .Join(dataBrands, Product => Product.BrandId, Brand => Brand.Id,
                                                                       (brand, product) => new GetAllStatusProductsResponse
                                                                       {
                                                                           State = "ok",
                                                                           Brand = brand.Name,
                                                                           Id = brand.Id

                                                                       })
                                                                       .ToListAsync();

            var mappedStatus = _mapper.Map<List<GetAllStatusProductsResponse>>(data);
            return await Result<List<GetAllStatusProductsResponse>>.SuccessAsync(mappedStatus);
        }
    }
}

Unfortunately in swagger I get the following answer:
{
  "Data": null,
  "Messages": [
    "The LINQ expression 'DbSet<Product>()\r\n    .Join(\r\n        inner: __p_0, \r\n        outerKeySelector: Product => Product.BrandId, \r\n        innerKeySelector: Brand => Brand.Id, \r\n        resultSelector: (brand, product) => new GetAllStatusProductsResponse{ \r\n            State = \"ok\", \r\n            Brand = brand.Name, \r\n            Id = brand.Id \r\n        }\r\n    )' could not be translated. Either rewrite the query in a form that can be translated, or switch to client evaluation explicitly by inserting a call to 'AsEnumerable', 'AsAsyncEnumerable', 'ToList', or 'ToListAsync'. See https://go.microsoft.com/fwlink/?linkid=2101038 for more information."
  ],
  "Succeeded": false
}

I lost a day and a half but without finding a solution, what am I wrong? Please help me ...
Thanks

Yep, good luck. You are really at the mercy of the four winds. Without proper documentation and lack luster support from the developer, you going to pull your hair out. I gave up on this template and now at least I know what is going on in my own code.  Write your own stuff and you will be better off in the long run.

@Duelbat  it's just your opinion, I'm doing very well. This project is of great help and I believe it will grow further with the help of the community.

Hey @agorota , I have tried your code and have found the issue!
When Googling your issue i came across this page this page they where suggesting at Query (LINQ) expression -Approach2 to use .AsEnumerable.
When adding this to dataBrands it seems to work. I would suggest to read the page.
Fix:  var dataBrands = _unitOfWork.Repository<Brand>().Entities.AsEnumerable();

Thanks @jeremiedevos  It works.
I was almost there but couldn't figure out where to put .AsEnumerable :)

Sorry but I get the problem again using .GroupJoin. But how is it possible ... could you suggest another way to do this?
public async Task<Result<List<GetAllStatusProductsResponse>>> Handle(GetAllProductsStatusQuery request, CancellationToken cancellationToken)
        {
            //var dataBrands = _unitOfWork.Repository<Brand>().Entities.ToList();
            var dataBrands = _unitOfWork.Repository<Brand>().Entities.AsEnumerable();

            var data = await _unitOfWork.Repository<Product>().Entities.Select(d => d)
                                                                       .GroupJoin(dataBrands, Product => Product.BrandId, Brand => Brand.Id,
                                                                       (brand, product) => new GetAllStatusProductsResponse
                                                                       {
                                                                           State = "ok",
                                                                           Brand = brand.Name,
                                                                           Id = brand.Id
                                                                       })
                                                                      .ToListAsync();

            var mappedStatus = _mapper.Map<List<GetAllStatusProductsResponse>>(data);
            return await Result<List<GetAllStatusProductsResponse>>.SuccessAsync(mappedStatus);
        }

Thanks.

I had to reverse the tables to get RIGHT OUTER JOIN in this way:
 public async Task<Result<List<GetAllStatusProductsResponse>>> Handle(GetAllProductsStatusQuery request, CancellationToken cancellationToken)
        {
            //var dataBrands = _unitOfWork.Repository<Brand>().Entities.AsEnumerable();
            var dataProducts = _unitOfWork.Repository<Product>().Entities.AsEnumerable();

            var data = await _unitOfWork.Repository<Brand>().Entities
                                     //.AsEnumerable()
                                     .GroupJoin(dataProducts,
                                     Brand => Brand.Id,
                                     Product => Product.BrandId,
                                     (product, brand) => new { Pr = product, Br = brand })
                                     .SelectMany(
                                        brand => brand.Br.DefaultIfEmpty(),
                                        (Pr, Br) => new GetAllStatusProductsResponse
                                        {
                                            State = Pr.Pr.Description,
                                            Brand = (Br == null ? "No Product" : Br.Name),
                                            Id = Pr.Pr.Id
                                        }
                                     ).ToListAsync();

            var mappedStatus = _mapper.Map<List<GetAllStatusProductsResponse>>(data);
            return await Result<List<GetAllStatusProductsResponse>>.SuccessAsync(mappedStatus);

        }


wip: adds a login deeplink to grab referral code

will need to chat through this, still need to grab the token for joining the thread, but need to figure out where to store that off until signup is complete

pulled into my other work


Show example of msbuild arguments env var

Docs Build status updates of commit 4ecea51:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/tools/cli-ref-environment-variables.md
:white_check_mark:Succeeded
View

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

Docs Build status updates of commit 4086dca:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/tools/cli-ref-environment-variables.md
:white_check_mark:Succeeded
View

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


bug: what is happening

Dear Team,
Maybe you can assit,please .
I update everything on latest version ,but again my validator get jailed
palomad

and pigeon

Please make sure your RPC endpoint is working correctly. This is a setup issue.


Empty Data Directories Producing Errors

When I try to launch Tales, the data directory shows up blank and when I try to view inside the data folder on R or Python, I get errors saying

"Error navigating to ~/work/data: Bad address"

for R and

"Server error: Traceback (most recent call last): File "/opt/conda/lib/python3.6/site-packages/tornado/web.py", line 1592, in _execute result = yield result File "/opt/conda/lib/python3.6/site-packages/tornado/gen.py", line 1133, in run value = future.result() File "/opt/conda/lib/python3.6/site-packages/tornado/gen.py", line 326, in wrapper yielded = next(result) File "/opt/conda/lib/python3.6/site-packages/notebook/services/contents/handlers.py", line 112, in get path=path, type=type, format=format, content=content, File "/opt/conda/lib/python3.6/site-packages/notebook/services/contents/filemanager.py", line 431, in get model = self._dir_model(path, content=content) File "/opt/conda/lib/python3.6/site-packages/notebook/services/contents/filemanager.py", line 313, in _dir_model for name in os.listdir(os_dir): OSError: [Errno 14] Bad address: '/home/jovyan/work/data'"

for Python.
I don't think it's a problem with the data not being uploaded though since I know that at least one of these Tales shows the data files and coding files when viewed by someone else.

Thanks for letting us know about this issue; it looks related to this issue and it looks like we have a fix. @craig-willis it looks like that PR was done after the 0.4 release, which means it probably isn't in production yet.

Thank you @jallie58.  It would be very helpful if you could provide a step-by-step of what you did so I can reproduce the error.  For example:

Registered or uploaded dataset. If registered, provide the URL or DOI
Composed tale by selecting dataset or specific files

It was Tale: "Machine Learning: An Applied Econometric Approach" (id: 5b7ee5d94145320001601434). It's currently public, but it's mountpoint (folderId: 5b7ee5d94145320001601434) is owned by someone else and currently private.
It's fixed by https://github.com/whole-tale/girder_wholetale/pull/124 but it wasn't released yet.

Fixed (See above)


[Admin] Publish

Docs Build status updates of commit 97fd372:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.gitignore
:white_check_mark:Succeeded

docs/excel/excel-add-ins-events.md
:white_check_mark:Succeeded
View

docs/excel/excel-add-ins-tables.md
:white_check_mark:Succeeded
View

docs/excel/excel-add-ins-workbooks.md
:white_check_mark:Succeeded
View

docs/images/excel-tables-resize.png
:white_check_mark:Succeeded
View

docs/outlook/autolaunch.md
:white_check_mark:Succeeded
View

docs/outlook/web-services.md
:white_check_mark:Succeeded
View

docs/quickstarts/project-quickstart.md
:white_check_mark:Succeeded
View

docs/reference/objectmodel/preview-requirement-set/outlook-requirement-set-preview.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Notification

Description
Testing and Notification system for firebase.
Changes
const.go
TestMutationResolver_EventsCreate
Testing MutationResolver_EventsAccept and MutationResolver_EventsJoin
remove tracking env

LGTM


Настройка pipeline

Github Actions with multiple env

https://medium.com/@giologist/ci-cd-multi-environment-deployment-for-a-react-app-on-firebase-using-github-actions-f48bc6b08b21
https://coletiv.com/blog/how-to-setup-continuous-integration-and-deployment-workflows-for-reactjs-using-github-actions/

https://github.com/marketplace/actions/deploy-to-kubernetes-cluster


New resource added under coding platform

Changes done,

Codechef one of the most popular competitive programming platform is added to resource under coding platform category.

Fix #6
Kindly Review.

Since you're adding Heroku too, mention the issue here.


[kmac] added prim_count for sent_message, key_index and round counter

This PR addresses the critical counters with in #8982

I've hooked up the alarms to pass CI and added the prim_count for the round counter. However this requires  #9394 to be merged first

Now that https://github.com/lowRISC/opentitan/pull/9394 has been merged, the CI should pass.
I've also added the corresponding alerts and status registers.

I just saw https://github.com/lowRISC/opentitan/pull/10126 and realized that they are in the D2S review process.
As this PR has some very small influence on entropy_src (basically only alerts from the sha3 module are routed to the local alert sender), I wonder if this is a) a problem and b) if we can expedite the merge of this PR.

@mwbranstad @cdgori can you take a look at the impact on entropy_src?


[FEATURE] Do not inline nullary operators

Currently, all operator applications are replaced with their bodies, including the nullary operators:
VARIABLE x
A == e
Init == x = A + A

becomes
VARIABLE x
Init == e + e

When e is a complex expression, we translate it several times.
It would be more efficient to keep the nullary operators unexpanded, the same way as we do with nullary LET-IN expressions. Then we could cache the operator body, either once per step, or once per run.

This feature is probably most critical for the definitions of recursive functions, which are now translated into nullary operators.

It has been partially solved already. Closing the issue.

It has been partially solved already. Closing the issue.


Drain script failing in 0.16.0

Deletion of cluster fails.
Task 81 | 13:47:49 | Deleting instances: worker/cb321afb-bd46-4e42-812c-ab5201b0b2e7 (0) (00:00:04)
L Error: Action Failed get_task: Task 6bb0a279-f509-4dd5-59d5-5b6e05154003 result: 1 of 1 drain scripts failed. Failed Jobs: kubelet.
It looks like a race condition where the master disappears during the deletion of the node by the drain script. Causing the trap ensure_safe_exit EXIT with a non zero exit code.
drain.stderr.log
WARNING: Deleting pods with local storage: kubernetes-dashboard-6fd599dd98-8b7zx, monitoring-influxdb-744b677649-qdnpd
The connection to the server master.cfcr.internal:8443 was refused - did you specify the right host or port?

drain.stdout.log
node "vm-93d5e1dd-0fc8-46a6-7398-77b62e98cb40" cordoned
pod "monitoring-influxdb-744b677649-qdnpd" evicted
pod "frontend-67f65745c-jfpt4" evicted
pod "frontend-67f65745c-n8cmd" evicted
pod "kubernetes-dashboard-6fd599dd98-8b7zx" evicted
pod "redis-master-7747787588-r85ms" evicted
pod "heapster-78dbf7db87-db8l7" evicted
pod "redis-slave-865486c9df-ttprf" evicted
node "vm-93d5e1dd-0fc8-46a6-7398-77b62e98cb40" drained
Kubelet drain failed

Thanks @bstick12 - @alex-slynko reported something similar which we're working on, please refer to https://www.pivotaltracker.com/story/show/156658555

The issue being tracked in story 156658555 is specifically about multi-master deletion.
The issue mentioned here, I've also seen happen in single-master deployments and is just dependent on when the master is deleted relative to the workers. I pushed a fix for this specific issue the other day, wrapping both the drain and delete steps in the fail_if_master_is_running logic: https://github.com/cloudfoundry-incubator/kubo-release/commit/79b6618203e8d5c734125dfbdcf723a489911d8a
That should allow the node delete to fail silently if the master is going down. It's hard to get the problem to reproduce consistently, however, so there may still be complications in draining. This also doesn't really do anything for the multi-master deletion scenario (where the drain or delete fails because the specific master they were issued to is going down). If we can get BOSH to set some indication for why the drain is being called (e.g. delete-deployment vs scale), we'll be able to fix both of these issues in a cleaner way.
I'm going to go ahead and close this since we think we already have a solution for this specific problem. Please re-open it if you see it happening with the latest builds off master (or in the next release).


Failure to find all objects in text prompt mode

This issue is similar to Issue #39, which was closed despite remaining unsolved. I would like to provide more details here.
Consider the following example:
In Panoptic Mode, the system can successfully separate all the cars.

However, in Text Mode, if we prompt "car", it can only segment one car.

What is the reason for this? My requirement is to identify all the objects in the image. Is it possible to achieve this using SEEM?
I have delved into the code, and it appears that each image does not support multiple optional masks. Is this correct?

Right, in referring mode, we only find the best object that matches the referring text/visual/spatial prompts. It is an open question to support finding all the matched instances.

May I ask whether there is a plan to provide all the potential segments for a specific task with accuracy values? This seems to be a widely adopted implementation.

I think given the current code, it is able to get the probability like: https://github.com/UX-Decoder/Segment-Everything-Everywhere-All-At-Once/blob/431e773c6825c0e0ddb54ae42e72489035ed3fa7/demo/seem/tasks/interactive.py#L153

I debugged the code and found that out_prob only returns the probability of the predefined object class for the most probable segment. Therefore, I can't retrieve all the potential segments by dealing with this line of code.


Remove Utility class

Ref: https://github.com/lairworks/nas2d-core/pull/454#issuecomment-584486663

To aid lookup, the comment referenced above is:

A singleton in and of itself isn't really useful. You can always just create only one object of any given type. There are even plenty of people who view singletons as an anti-pattern:
Why Singletons are Evil
Singleton Considered Stupid
Patterns I Hate #1: Singleton
Root Cause of Singletons
If what we really have is global state, then why not just declare a global, and let the game designer agree to only use their one instance.
Which is perhaps also why I think this should be in the game rather than the library. You don't want global state in the library.

This issue of course correctly identifies that Utility is just implementing the Singleton pattern in a generic way for any class.
As the pattern itself is suspect, we may want to revisit this code. I suspect there is plenty of potential for refactoring to improve the code. Eliminating the Singleton nature of classes would force us to consider how access to those classes is obtained, which may also help force us to consider the interfaces we need to support to allow proper access.
To be clear, we can't simply rip out the Utility template. We need to refactor first before that can become a consideration.
Two of the major classes that are used in a Singleton manner are Renderer and Mixer. We may want to start with refactoring those classes first before trying to address changes involving Utility.

In the end, the game (rather than the NAS2D library) may end up with a header file declaring inline global variables (C++17). The Renderer and Mixer objects would then be global objects, rather than wrapped in Utility.
Of course, there is runtime support for setting which Renderer or Mixer to use, so those globals may need to be a pointer or reference type.

One way to help things along is to force NAS2D to use dependency injection. That way it has no knowledge of any global variables the downstream games may declare, including Utility.
It's a big undertaking but will be worth it in the long run.

I was thinking similar, but I don't know if we want to go all the way on it. We might still want to have global variables in the end.
It might be good if some parts of the code could take a parameter though. I guess we'll need to see how widespread the uses are, and how burdensome adding potentially lots of parameters would be.

From external discussion, the following video was quite relevant:
Retiring the Singleton Pattern - Peter Muldoon - Meeting C++ 2019

According to the video, the Utility class does not imply Singleton. The Utility class provides a single global instance of any given type. There are no restrictions on instantiating the classes outside the scope of the Utility template, hence the classes are not actually restricted to single instances, and so are not real Singletons.
 Effectively, all we really have is a global. As such, we could potentially just use globals. In particular, we can use inline header variables to access globals.

In the StackOverflow answer How do inline variables work?, there is discussion of linker support needed to support static variables in templates. The example template code exactly matches the pattern used by the Utility class. The answer states the linker support needed by the language to do this is the same mechanism that is now accessible through inline variables, which may be placed in header files. This is further indication we should perhaps use inline variables instead.

Adding cross repository reference to related issue: https://github.com/OutpostUniverse/OPHD/issues/253


chore: drop support for Bazel 6.4.0 when consuming from source

#418
#417
#420  👈
main

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

Join @mattem and the rest of your teammates on  Graphite


Update for factorio 2.0

Tested:

Basic search
Logistic requests
Picking items into cursor

The UI doens't look perfect, the offset first row appears on the beginning, but I managed to get the aligment to work right.
Fixes #41

Please run stylua on the files you changed.

Actually, since you have already written your own replacement mod that has more features than this one, I will keep this mod deprecated. Thanks for your contribution and good luck with your mod!


Use a .toml file to store settings

This doesn't bump the metadata version. Running rustup will silently convert your version, default and overrides files into a single settings.toml file.
If your metadata version is older than "12" it will first be converted to the new format, and then rustup will require you to perform a metadata upgrade exactly as it would before.
This paves the way for storing additional information in the settings file (such as the host target).

Example toml file:
default_toolchain = "nightly-x86_64-pc-windows-msvc"
version = "12"

[overrides]
"\\\\?\\C:\\Users\\diggs\\workspace\\multirust-rs" = "nightly-x86_64-pc-windows-msvc"

My only reluctance is that this commits us to deserializing a config file every time someone runs cargo or rustc, but I'm somewhat resigned to that fate. Most if this information must be read anyway so it could even be better to load it all at once. cc @alexcrichton
Can you also add the telemetry flag?

Looks great. I do think it needs to take care to not read the file multiple times.
Will you also add a test that this conversion works? A simple way to do it is to modify the files in config.rustupdir to look like the old metadata and then test that the default and override work as expected, and that the files are deleted.

I think that's everything!

My only reluctance is that this commits us to deserializing a config file every time someone runs cargo or rustc,

Yeah unfortunately toml-rs isn't exactly optimized for speed right now, but something like this shouldn't be that slow and it should be relatively easy to speed up toml-rs wherever possible (if necessary)

@Diggsey ok, this looks fine by me. Before merging this big change and risking more breakage I want to get a build out that fixes the windows bustage. I'll merge after that.

Great!

:umbrella: The latest upstream changes (presumably #434) made this pull request unmergeable. Please resolve the merge conflicts.

This is back up to date, just waiting on CI again.


SSL request hangs

The following curl test works fine:
curl -q -k --cert client-2048.crt --key client-2048.key https://identitysso.betfair.com/api/certlogin -d "username=testuser&password=testpassword" -H "X-Application: TestKey"

But the following python code hangs indefinitely on requests.post:
import requests

print 'Request test'

payload = 'username=testuser&password=testpassword'
headers = {
    'X-Application': 'TestKey',
    'Content-Type': 'application/x-www-form-urlencoded' }

resp = requests.post(
    'https://identitysso.betfair.com/api/certlogin',
    data=payload,
    cert=('client-2048.crt', 'client-2048.key'),
    headers=headers )

print 'Status code: ', resp.status_code

Last line never reached, the script hangs, no replies, no errors. Pressing Ctrl-C does not immediately abort but after several minutes prints:
Traceback (most recent call last):
  File "F:\LMG\test.py", line 14, in <module>
    headers=headers )
  File "C:\Python27\lib\site-packages\requests\api.py", line 94, in post
    return request('post', url, data=data, json=json, **kwargs)
  File "C:\Python27\lib\site-packages\requests\api.py", line 49, in request
    return session.request(method=method, url=url, **kwargs)
  File "C:\Python27\lib\site-packages\requests\sessions.py", line 457, in request
    resp = self.send(prep, **send_kwargs)
  File "C:\Python27\lib\site-packages\requests\sessions.py", line 569, in send
    r = adapter.send(request, **kwargs)
  File "C:\Python27\lib\site-packages\requests\adapters.py", line 362, in send
    timeout=timeout
  File "C:\Python27\lib\site-packages\requests\packages\urllib3\connectionpool.py", line 516, in urlopen
    body=body, headers=headers)
  File "C:\Python27\lib\site-packages\requests\packages\urllib3\connectionpool.py", line 331, in _make_request
    httplib_response = conn.getresponse(buffering=True)
  File "C:\Python27\lib\httplib.py", line 1030, in getresponse
    response.begin()
  File "C:\Python27\lib\httplib.py", line 407, in begin
    version, status, reason = self._read_status()
  File "C:\Python27\lib\httplib.py", line 365, in _read_status
    line = self.fp.readline()
  File "C:\Python27\lib\socket.py", line 447, in readline
    data = self._sock.recv(self._rbufsize)
  File "C:\Python27\lib\ssl.py", line 241, in recv
    return self.read(buflen)
  File "C:\Python27\lib\ssl.py", line 160, in read
    return self._sslobj.read(len)
KeyboardInterrupt

Python 2.7 under Windows 7. Requests ver. 2.4.3.
I don't have much experience with Internet connection programming, I don't even understand where to go from here. Any ideas why it doesn't work as intended?

I'm having exactly the same issue with Python 2.7.11 (Anaconda 2.4.0), Requests 2.9.0 on 64-bit Windows 7

You say "post request with the certificate attached": what exactly does that mean? What specifically are you doing?

I'm trying to submit a SOAP request. By "certificate attached" I mean "cert" parameter set in a requests.post call
headers = {
    'Accept-Encoding': 'gzip,deflate',
    'Content-Type': 'application/soap+xml;charset=UTF-8',
    'User-Agent': 'Apache-HttpClient/4.1.1 (java 1.5)',
}
response = requests.post(
    url,
    data=soap_request_data,
    cert=('cert.pem', 'key.pem'),
    verify=False,
    timeout=15,
    headers=headers,
)

@skvsn Is your key encrypted? That is, does it have a passphrase?

Yes, it is encrypted. Do I have to provide unencrypted one? Or is there a way to pass the passphrase to requests?

Currently we have no way for you to provide the passphrase, so you'd have to decrypt it. =(

@Lukasa Thanks a lot. It works perfectly with unencrypted key. Probably worth mentioning this in the docs.

Agreed. =)

By the way, decrypting the key is really simple:
openssl rsa -in encrypted_key.pem -out unencrypted_key.pem


Release 1312 patch 8 - skipped

Release 1312 patch 8
Summary
Release new 1312 release patch that addresses latest high and critical severity security findings.  The patch should include latest published kernel patch. The number should be included in the release note, together with a summary of the vulnerabilities addressed.
Changes
Tasks

[ ] Identify packages that must be patched
[ ] Complete the build (stage 1)
[ ] Complete the publishing (stage 2)
[ ] Publish the release note
[ ] Inform Gardener team the patch is ready.

Patch 8 will not be produced. Release is considered out of maintanenance as of 16th Aug 2024 and the recommended approach is to upgrade to the latest supported patch of the latest supported release in standard support.


Go examples: use ExampleXXX not godoc

Please exprime yourself
Right now, code is documented with a lot of godoc. It's good, but the format is not obvious to write and indent
I would like to suggest using go ExampleXXX function
This way you provide code that people can copy paste and use via Go playground.
Take a look at my project
https://github.com/ccoVeille/go-safecast/blob/main/examples_test.go
And look how code is rendered
https://pkg.go.dev/github.com/ccoveille/go-safecast#ToInt8 with its example
Code of Conduct

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

I thought about it by reading

https://github.com/go-sprout/sprout/pull/82

Hi @ccoVeille,
I think the "example" in godoc aren't in the best place because the code is a go template example, So I think for the go template example, we should change it to something like :
// For an example of this function in a go template, refer to [Sprout Documentaion: toBool].
//
// [Sprout Documentaion: toBool]: https://docs.atom.codes/sprout/registries/conversion#tobool

This will increase the readability of the godoc and prevent unmatched or non-runnable examples between the godoc and the documentation. So, only positive things.
And for internal functions, yes, the usage of Example would be nice.
WDYT ?

I agree with you. It's OK.
Let's close


Fix some typos

@egorpugin, some CI builds fail, but that seems to be unrelated to the changes here. Could you please have a look?

I've fixed win, updated appvveyor (still running), will try to fix ubuntu later. Dont wait for it.


chore(deps): Update Uno version

GitHub Issue (If applicable): #

PR Type
What kind of change does this PR introduce?

What is the current behavior?

What is the new behavior?

PR Checklist
Please check if your PR fulfills the following requirements:

[ ] Tested code with current supported SDKs
[ ] Docs have been added/updated
[ ] Runtime Tests and/or UI Tests for the changes have been added (for bug fixes / features) (if applicable)
[ ] Contains NO breaking changes
[ ] Associated with an issue (GitHub or internal)
[ ] Commits must be following the Conventional Commits specification.

Other information

Internal Issue (If applicable):

any reason particular reason for this? to fix canary?

any reason particular reason for this? to fix canary?

Fix them before they break. The namespace change of GtkHost and WpfHost was just merged a little while ago, and it will affect canaries


Blueprint's errorhandler has no effect.

Summary
Trying to register a custom 404 (or any?) error handler using blueprints and the declaritive style seems to have no effect:
# Has no effect
@blueprint.errorhandler(404)
def ...

# Yet this works:
@app.errorhandler(404)
def ...

Of course, the blueprint wouldn't work if it wasn't registered, but I have registered it and yet, the custom error page isn't shown. Here are two files you can use to reproduce the lack of custom error handling:
# FILE: app.py
import flask
import views

app = flask.Flask(__name__)
app.register_blueprint(views.blueprint)
app.run()

# FILE: views.py
import flask
blueprint = flask.Blueprint('views', __name__, template_folder='templates')

@blueprint.route('/')
def index():
    return "Hello world, I might have errors!"

@blueprint.errorhandler(404)
def errors_404(e):
    return "I am a 404!", 404

Expected Behavior
We should see the response "I am a 404!" for http://<IP_ADDRESS>:5000/abc
Actual Behavior
We see Flask's standard error page:
Not Found

The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again.

Working if changed to app.errorhandler()
It seems like I have the setup correct (I hope I'm not wasting your time!) because with a slight move from blueprint.errorhandler() to app.errorhandler(), the expected behavior is achieved:
This one works
# FILE: app.py
import flask
import views

app = flask.Flask(__name__)
app.register_blueprint(views.blueprint)

# I just moved this from views.py and changed blueprint to app
# Of course, the error report is that this shouldn't be necessary.
@app.errorhandler(404)
def errors_404(e):
    return "I am a 404!", 404

app.run()

# FILE: views.py
import flask
blueprint = flask.Blueprint('views', __name__, template_folder='templates')

@blueprint.route('/')
def index():
    return "Hello world, I might have errors!"

Environment

Python version: 3.8
Flask version: 1.1.2
Werkzeug version: 1.0.1
OS: macOS Catalina

I'm pretty sure there are existing issues for this. Implementing 404 (or 405 to some extent) on the blueprint level is simply impossible since a blueprint does not "own" any particular url subset, so how would you match a request not handled by any endpoint (which would belong to some blueprint) to a blueprint?

Yeah, unfortunately there's no way to handle these errors at the blueprint level, at least with the decorators. The routing has to happen first before it's possible to discover which blueprint owns the matched route, so if no route was matched there's no blueprint to handle the 404, just the app.

Hi @ThiefMaster I wouldn't be so quick to close this.
First, can you then explain to me why blueprints have an errorhandler decorator at all then?
Second, blueprints don't own URLs subsets. They probably should consistently use the. For example, probably a projects blueprint should have to do with things like /projects/* but there is nothing in the API I see that restricts the URLs specified to that URL subset.
Third, blueprints are a super way to organize all error handling into a single error_views.py file.
The constraint: Just don't allow multiple error handlers for the same status code.

@davidism Thanks for the message too. Just saw that come in as I saved my response. See what you think about the above.

@davidism and @ThiefMaster  What do you think about updating app.register_blueprints() to just see if there is a 404 or 500 blueprint.errorhandler() set and then just delegate that over to app.errorhandler().
That seems like a pretty clean way to handle it. Of course, erroring out if something has already set a 404/500 error handler previously.

blueprints already have methods to register app-level error handlers (@bp.app_errorhandler() and bp.add_app_errorhandler() iirc.)

can you then explain to me why blueprints have an errorhandler decorator at all

Once a route is active, the blueprint is known and so raised exceptions can be routed to the most specific error handler.

blueprints don't own URLs subsets. They probably should consistently use them.

We could potentially compare route prefixes, but for Flask to do it in a generic way would require special casing for the empty prefix, or for a prefix that's also a prefix of another blueprint's prefix.

The constraint: Just don't allow multiple error handlers for the same status code.

For the app and any given blueprint this already is the case, the handlers are stored in dicts.

Thanks guys. Ok, I see. The guidance is use @blueprint.app_errorhandler() Got it.
How about this? @blueprint.errorhandler(404) and  @blueprint.errorhandler(500) raise some kind of unsupported exception saying, this will never work, so don't call it. Or have it just delegate over to @blueprint.app_errorhandler(404)?

it will work if you raise NotFound(...) while handling a request from your blueprint. for an API that's not too uncommon, e.g. in case the URL is valid but there's no object with the id provided in the path..
PS: 500 should work in any case, only errors that happen before routing finished don't have a blueprint that could handle them.

It would be nice to raise an error, or redirect them to app_errorhandler, but I don't think it's possible to do in a general way.
This is called out in the blueprint docs: https://flask.palletsprojects.com/en/1.1.x/blueprints/#error-handlers although it doesn't do itself any favors by using a 404 handler for the example. :man_facepalming:

Also doesn't help that there are three different pages with different information about error handlers. I'll create an issue about cleaning these docs up.

Thanks David! I agree that it was unclear. I looked up the docs, read them, and didn't see anything saying this wouldn't work. :)


Preserve NavBar hiding state when switching scroll views

I have segment control as shown and 2 scroll views. Can I preserve nav bar hiding state when swiping along this scroll views?
Here how I set them:
- (void)swipeViewDidEndDecelerating:(SwipeView *)swipeView
{
    self.segmentedControl.selectedSegmentIndex = swipeView.currentPage;
    self.shyNavBarManager.scrollView = [(KSStartupsListVC *)_itemsArray[swipeView.currentPage] dataTable];
}

+1


Implement corefunc_list_push

Go: corefunc.ListPush(arr, any)
TF: corefunc_list_push
Push a new item onto the end of a list, mutating the list along the way. Equivalent to Array.push() in JavaScript.

https://github.com/srfrog/slices


add 'az login' in the doc

In the very start of ‘How to run’, before 'az account set --subscription ', we need to do ‘az login’ first.

Good point. Thanks.


bug(MatDialog): mat-dialog-actions padding

Is this a regression?

[X] Yes, this behavior used to work in the previous version

The previous version in which this bug was not present was
v14
Description
Since v15, the mat-dialog-actions padding seems off.
Here are two screenshots, the first one from the v14 example page, the second one from the v15 example page:
V14:

V15:

This does not seem like a new Material Components v3 padding style, so seems like a regression:

Reproduction
not needed, examples are on the following URLs:
v14: https://v14.material.angular.io/components/dialog/overview
v15: https://v15.material.angular.io/components/dialog/overview
Expected Behavior
the same padding style in v14 / v15 / v16
Actual Behavior
different padding style starting from v15
Environment

Angular: -
CDK/Material: 14/15/16
Browser(s): Chrome
Operating System (e.g. Windows, macOS, Ubuntu): macOS

ah, that makes sense. Then it is working as intended, less-pretty as it is :(


Datatype mismatch error

I am trying to run the TFLite recommendation system example code but getting the following error while running the "Training Model" commands. Please suggest if I am missing something?
Documentation Link: https://github.com/tensorflow/examples/tree/master/lite/examples/recommendation/ml
TypeError: Value passed to parameter 'indices' has DataType float32 not in list of allowed values: uint8, int32, int64
#######################
Full snippet:
INFO:tensorflow:Setting up train and eval input_fns.
I1027 21:22:29.326874<PHONE_NUMBER>44576 app.py:251] Setting up train and eval input_fns.
INFO:tensorflow:Build keras model for mode: train_and_eval.
I1027 21:22:29.326983<PHONE_NUMBER>44576 app.py:251] Build keras model for mode: train_and_eval.
2020-10-27 21:22:29.336519: I tensorflow/core/platform/cpu_feature_guard.cc:143] Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.1 SSE4.2 AVX AVX2 FMA
2020-10-27 21:22:29.340825: I tensorflow/core/platform/profile_utils/cpu_utils.cc:102] CPU Frequency:<PHONE_NUMBER> Hz
2020-10-27 21:22:29.341035: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x563fc6e69aa0 initialized for platform Host (this does not guarantee that XLA will be used). Devices:
2020-10-27 21:22:29.341056: I tensorflow/compiler/xla/service/service.cc:176]   StreamExecutor device (0): Host, Default Version
2020-10-27 21:22:29.341118: I tensorflow/core/common_runtime/process_util.cc:147] Creating new thread pool with default inter op setting: 2. Tune using inter_op_parallelism_threads for best performance.
2020-10-27 21:22:29.577370: I tensorflow/core/profiler/lib/profiler_session.cc:159] Profiler session started.
Epoch 1/10000
Traceback (most recent call last):
File "/home/rajesh/anaconda3/envs/tf-2-gpu/lib/python3.7/runpy.py", line 193, in _run_module_as_main
"main", mod_spec)
File "/home/rajesh/anaconda3/envs/tf-2-gpu/lib/python3.7/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/home/rajesh/Documents/Privacy/TFLite/Tutorial/Recommendation_Google/model/recommendation_model_launcher_keras.py", line 253, in
app.run(main)
File "/home/rajesh/anaconda3/envs/tf-2-gpu/lib/python3.7/site-packages/absl/app.py", line 300, in run
_run_main(main, args)
File "/home/rajesh/anaconda3/envs/tf-2-gpu/lib/python3.7/site-packages/absl/app.py", line 251, in _run_main
sys.exit(main(argv))
File "/home/rajesh/Documents/Privacy/TFLite/Tutorial/Recommendation_Google/model/recommendation_model_launcher_keras.py", line 240, in main
eval_steps=FLAGS.num_eval_steps)
File "/home/rajesh/Documents/Privacy/TFLite/Tutorial/Recommendation_Google/model/recommendation_model_launcher_keras.py", line 180, in train_and_eval
callbacks=callbacks)
File "/home/rajesh/anaconda3/envs/tf-2-gpu/lib/python3.7/site-packages/tensorflow/python/keras/engine/training.py", line 66, in _method_wrapper
return method(self, *args, **kwargs)
File "/home/rajesh/anaconda3/envs/tf-2-gpu/lib/python3.7/site-packages/tensorflow/python/keras/engine/training.py", line 848, in fit
tmp_logs = train_function(iterator)
File "/home/rajesh/anaconda3/envs/tf-2-gpu/lib/python3.7/site-packages/tensorflow/python/eager/def_function.py", line 580, in call
result = self._call(*args, **kwds)
File "/home/rajesh/anaconda3/envs/tf-2-gpu/lib/python3.7/site-packages/tensorflow/python/eager/def_function.py", line 627, in _call
self._initialize(args, kwds, add_initializers_to=initializers)
File "/home/rajesh/anaconda3/envs/tf-2-gpu/lib/python3.7/site-packages/tensorflow/python/eager/def_function.py", line 506, in _initialize
*args, **kwds))
File "/home/rajesh/anaconda3/envs/tf-2-gpu/lib/python3.7/site-packages/tensorflow/python/eager/function.py", line 2446, in _get_concrete_function_internal_garbage_collected
graph_function, _, _ = self._maybe_define_function(args, kwargs)
File "/home/rajesh/anaconda3/envs/tf-2-gpu/lib/python3.7/site-packages/tensorflow/python/eager/function.py", line 2777, in _maybe_define_function
graph_function = self._create_graph_function(args, kwargs)
File "/home/rajesh/anaconda3/envs/tf-2-gpu/lib/python3.7/site-packages/tensorflow/python/eager/function.py", line 2667, in _create_graph_function
capture_by_value=self._capture_by_value),
File "/home/rajesh/anaconda3/envs/tf-2-gpu/lib/python3.7/site-packages/tensorflow/python/framework/func_graph.py", line 981, in func_graph_from_py_func
func_outputs = python_func(*func_args, **func_kwargs)
File "/home/rajesh/anaconda3/envs/tf-2-gpu/lib/python3.7/site-packages/tensorflow/python/eager/def_function.py", line 441, in wrapped_fn
return weak_wrapped_fn().wrapped(*args, **kwds)
File "/home/rajesh/anaconda3/envs/tf-2-gpu/lib/python3.7/site-packages/tensorflow/python/framework/func_graph.py", line 968, in wrapper
raise e.ag_error_metadata.to_exception(e)
TypeError: in user code:
/home/rajesh/anaconda3/envs/tf-2-gpu/lib/python3.7/site-packages/tensorflow/python/keras/engine/training.py:571 train_function  *
    outputs = self.distribute_strategy.run(
/home/rajesh/Documents/Privacy/TFLite/Tutorial/Recommendation_Google/model/keras_losses.py:83 call  *
    full_labels = tf.one_hot(
/home/rajesh/anaconda3/envs/tf-2-gpu/lib/python3.7/site-packages/tensorflow/python/util/dispatch.py:180 wrapper  **
    return target(*args, **kwargs)
/home/rajesh/anaconda3/envs/tf-2-gpu/lib/python3.7/site-packages/tensorflow/python/ops/array_ops.py:4010 one_hot
    name)
/home/rajesh/anaconda3/envs/tf-2-gpu/lib/python3.7/site-packages/tensorflow/python/ops/gen_array_ops.py:6200 one_hot
    off_value=off_value, axis=axis, name=name)
/home/rajesh/anaconda3/envs/tf-2-gpu/lib/python3.7/site-packages/tensorflow/python/framework/op_def_library.py:578 _apply_op_helper
    param_name=input_name)
/home/rajesh/anaconda3/envs/tf-2-gpu/lib/python3.7/site-packages/tensorflow/python/framework/op_def_library.py:61 _SatisfiesTypeConstraint
    ", ".join(dtypes.as_dtype(x).name for x in allowed_list)))

TypeError: Value passed to parameter 'indices' has DataType float32 not in list of allowed values: uint8, int32, int64

@rajeshgupta88
We see that the issue template has not been filled, could you please do so as it helps us analyse the issue [tf version, steps followed before you ran into this error or stand alone code to reproduce the issue faced]
Please refer to similar resolved issues and let us know. link, link1, link2.

Hi Rajesh,
Please provide more information about the environment. Can you reformat the question in the issue template suggested by @Saduf2019 ?
I ran the code before, it seemed OK.

Hi All,
Sorry about the delayed response. It is working fine now. Seems like it was a bad day.
Thanks for your support. I am closing this issue.


taglaunch: add health, cleanup tool

Remove app from 'tool' when it has at least one other known tag
Add tag 'health' for apps like Heart Rate Monitor

Thanks!


Cargo crate seems to be unusable for newbies without documentation

I want to create a external cargo subcommand. I've checked few existing external subcommands and they are using cargo, but very old one. I have tried to find any information about how can I use the cargo crate for, for example, finding target directory, but I was unable to find such information anywhere. After that I decided to find any information about the cargo crate but I could not: it does not exist it seems.
A few questions:

Why is it so?
How to find any information about it then?

Thanks for the report! The crate isn't really intended to work well with newbies unfortunately right now in the sense that little-to-no effort has been put in to make it such (not that it can't be).
PRs with docs however would be most welcome!

Does this mean Cargo's programmatic API is meant to be backwards compatible?

Does this mean Cargo's programmatic API is meant to be backwards compatible?

From https://github.com/rust-lang/cargo/issues/5955#issuecomment-417723058 and https://github.com/rust-lang/cargo/issues/5839#issuecomment-411008471, no, it's not.

Going to close this since I don't think we need an issue to track a specific API item.
For the past months, the Cargo team has been working on improving the API documentation. We moved parts of contributors docs to rustdoc (e.g., #11662, #11809, #11850), and added more intra-doc links (e.g., #11711, #12133).
For my personal interest, I'd like to see more high-level concepts get documented, such as Source and Resolver.
Thank you for the report anyway!


Migrate the clang_format hook to invoke

What does this PR do?

Migrate the clang_format hook to invoke
Motivation

Same as:

https://github.com/DataDog/datadog-agent/pull/26162
https://github.com/DataDog/datadog-agent/pull/26138
https://github.com/DataDog/datadog-agent/pull/26120
https://github.com/DataDog/datadog-agent/pull/26083

Additional Notes

This is the last one!
Possible Drawbacks / Trade-offs

Describe how to test/QA your changes

/merge

/merge -c

/merge


Possibility to trigger the request for checking updates inside the app itself as button

It'd be great to have a button inside the app to trigger the request for updates, the same that runs in background that generates the red circle to the Leapp icon.
Because sometimes I have the update notifiy icon, but it doesn't show me the usual popup to trigger the download of the upgrade.
Additional Context
Nothing
References
Nothing
Potential Solution
Button around the app like Check for updates of JetBrains products.
Thanks!

Hi @iflare3g :wave:
I guess you confused the application, repository and the responsible component. This is a theme for Visual Studio Code and not the Jetbrains products. Your description also sounds like you're requesting an improvement for the product itself because a UI/syntax theme has nothing to do with update functionality at all.
Feature requests and improvement suggestions for JetBrains products can be submitted to their YouTrack instance.

Argh! My really bad sorry!


[reactions] alcohol and biomolecules

Most reactions of alcohols, phenol, aldehyde and ketones are missing.
If you are working on the UI then let me work on adding reactions 🫂

Sure you can help with the reactions! Also I don't think adding biomolecules right now is a good choice so let's leave that out for now.

alright sounds ok to me

But if no number is given then its self explanatory than it have to be 1 only

But if no number is given then its self explanatory than it have to be 1 only

I'm pretty sure it is required and not just assumed. Anyway it is way better to be clear with compound names.

Then i will add it to all then

or nvm

But if no number is given then its self explanatory than it have to be 1 only
yes
I'm pretty sure it is required and not just assumed. Anyway it is way better to be clear with compound names.
uh yes good to be clear with compound names, but i am pretty sure that if the locant is 1 on a derivative of hydrocarbon with any number of carbons. 1 is redundant.


User message to owner needs to show... somewhere.

User Story
We ask the user for a message to send to the Approver... where does it go?

T-shirt size: S(mall), M(edium), L(arge)

User Story
"As a user of a NeXt, you ask me for a message to send to the owner of the role/pack but this message doesn't seem to show anywhere on the approval workflow."

Description

Acceptance Criteria/Tests
The message should be visible to the approver to help them decide...  The message should remain in the history and be written to the ledger.    Maybe remain visible in the request UI for reference (?)

Needs additional specs from UX. Mockups and flows don't fully detail expected functionality.

migrated to new tmobile/sawtooth-next-directory repo


Duplicate removals

Is your feature request related to a problem? Please describe.
Different playlists may have duplicates channels in same or different groups ...how to filter out the duplicates based on "tvg-id" and/or "channel-name"...further problem becomes complicated as channel-names may be slightly different ...e.g "Reelz" and "Reelz by A&E" ...also the tvg-id can be different sometimes if playlist sources are from different countries and/or are using different EPG sources.
Describe the solution you'd like
Smartly remove duplicates based on preferred primary playlist or an option to select & keep the channel.
Describe alternatives you've considered
IPTVBoss has partial removal technique but only before importing any channels or groups.
Additional context
None.

@ls-milkyway there is no way to identify duplicate channels. Even when the names are equal it could be different channels. The only way is to manually filter out duplicates. You can use a normal filter like
NOT (url ~ "^http...provider-to-exclude.com.*" AND (name ~ "dupl1" OR name ~ "dupl2"))

If you know a better way or an identification method for suplicates please tell me.

@euzu Yep, no fool proof way ...like i said earlier ....assuming EPG providers are same for different sources of playlists, then "tvg-ids" will be same for both the playlists.
To conclude further "tvg-names" may be similar or slightly different e.g. "Reelz" and "Reelz by A&E" hence regular expression can be used on tvg-names to find the proximity.
To make it foolproof:

If streaming urls are same on 2 or more playlists or on the same playlist...then channels are 100% duplicates.
Check if EPG source url is same and "tvg-id" field on playlists are also same ...then channels are 100% duplicates (assuming epg & playlist provider are correct and precise).

ELSE

Check "tvg-names" are same or close using regular expression ....if yes then:
Compare if "tvg-channel-logos" are same using AI image comparison.
If all the 2 steps are true then channels I guess are 99% duplicates.

@ls-milkyway the problem with url is even the same channels can have different urls because of the provider.
Only public channels which are listed on different public playlists can have the same url.
I really dont have a starting point to realize this.   I could simply add some property comparisons, but i dont know if this will work as expected. And it must be appliable to for xtream and m3u playlists.

@ls-milkyway the problem with url is even the same channels can have different urls because of the provider. Only public channels which are listed on different public playlists can have the same url.
I really dont have a starting point to realize this. I could simply add some property comparisons, but i dont know if this will work as expected. And it must be appliable to for xtream and m3u playlists.

@euzu
Yep, different providers .....different URLs ......but still some playlists generated or Concatenate using various sources like https://github.com/iptv-org/ and https://github.com/matthuisman/i.mjh.nz may have duplicates from same provider plus some extra channels v...hence at least those will be filtered out to generated somewhat sanitized playlist.
The following may not be practically possible:


Post Quantum

Use case
Quantum Resistance
Description
Is any work currently being done to make Headscale post quantum secure?
Contribution

[ ] I can write the design doc for this feature
[ ] I can contribute this feature

How can it be implemented?
No response

Headscale implements a coordination server for Tailscale and is bound to the protocols used by the Tailscale client. The protocols are designed and developed by Tailscale and this issue should be discussed with them.


Align master and live branches

Docs Build status updates of commit 2b3f32e:
:clock10: Pending: waiting for processors (13 builds ahead of you)
:warning: Docs Build is busy, currently there are 13 builds ahead of this one, for more information you can view the Build queue graph on the Docs Portal.

Docs Build status updates of commit 2b3f32e:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error] Cannot sync git repo to specified state. Please make sure the pull request is mergeable. Details: Git merge results in conflict, repository remote url: https://github.com/MicrosoftDocs/bingmaps-docs, working directory: W:\uhi1-s, target branch: HEAD, target branch commit: 5ee530f6cc9f3a5813d99235164f857abcb71ff2, source commit: 2b3f32ed1c37c9a081ea7b43de9b4e37d83d9e63.

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


API not working on Expo SDK 51 project

Hi all,
I have an Expo application that I created from scratch npx create-expo-app@latest ./ --template and added a function to touch LLama model with this.
import Replicate from 'replicate';

export async function getStreamOutput() {
	const replicate = new Replicate({
		auth: process.env.EXPO_PUBLIC_REPLICATE_API,
	});

	const input = {
		prompt: "Tina has one brother and one sister. How many sisters do Tina's siblings have?",
		max_tokens: 1024,
	};

	try {
		// Run the model and return the result without streaming
		const output = await replicate.run('meta/meta-llama-3.1-405b-instruct', { input });
		return output.join("");  // Combine the output into a single string
	} catch (error) {
		console.error('Error getting prediction:', error);
		throw error;
	}
}

I get error
ERROR  Invariant Violation: "main" has not been registered. This can happen if:
* Metro (the local dev server) is run from the wrong folder. Check if Metro is running, stop it and restart it in the current project.
* A module failed to load due to an error and `AppRegistry.registerComponent` wasn't called., js engine: hermes

in the terminal and my ios emulator shows  property error from 'TransformStream' doesn't exist

and the same goes when i try with android emulator.
My Expo SDK is 51

Hi @Ahelsamahy. Sorry for the late response. Can you try adding the web-streams-polyfill package dependency and let me know if that resolves your error?

Hi @mattt. I did try to install the package npm i web-streams-polyfill and I got the same error.
This is my package.json
{
  "name": "test",
  "version": "1.0.0",
  "main": "expo/AppEntry.js",
  "module": "expo/main.js",
  "scripts": {
    "start": "expo start",
    "android": "expo start --android",
    "ios": "expo start --ios",
    "web": "expo start --web"
  },
  "dependencies": {
    "@expo/env": "^0.3.0",
    "esm": "^3.2.25",
    "expo": "~51.0.28",
    "expo-status-bar": "~1.12.1",
    "react": "18.2.0",
    "react-native": "0.74.5",
    "react-native-dotenv": "^3.4.11",
    "replicate": "^0.32.1",
    "web-streams-polyfill": "^4.0.0"
  },
  "devDependencies": {
    "@babel/core": "^7.20.0"
  },
  "private": true,
  "keywords": [],
  "author": "",
  "license": "ISC",
  "description": ""
}

@Ahelsamahy did you import it? From the docs I think you need:
import "web-streams-polyfill/polyfill";

https://www.npmjs.com/package/web-streams-polyfill


Unable to push to GCR using a Service Account

I'm trying to deploy a docker image to GCR from a GitHub Action using a service account with Project > Owner role, as recommended on the GCP Setup documentation. However, when I try to run pulumi up, I get the following error:
error: unauthorized: You don't have the needed permissions to perform this operation, and you may have invalid credentials. To authenticate your request, follow the steps in: https://cloud.google.com/container-registry/docs/advanced-authentication

In my local environment, everything works fine since I use the Application Default credentials and my local docker is configured to push to GCR because I ran gcloud auth configure-docker.
This is the code of the service:
import * as pulumi from '@pulumi/pulumi'
import * as gcp from '@pulumi/gcp'
import * as docker from '@pulumi/docker'

import * as path from '../utils/path'
import * as constants from '../config/constants'
import * as api from '../config/api'

export const serviceName = 'app-service'

export const image = new docker.Image(`${serviceName}-image`, {
  imageName: pulumi.interpolate`gcr.io/${gcp.config.project}/${serviceName}`,
  build: {
    context: path.fromRoot(),
    dockerfile: path.fromRoot('app', 'Dockerfile'),
  },
})

export const service = new gcp.cloudrun.Service(
  serviceName,
  {
    location: constants.region,
    template: {
      spec: {
        containers: [{ image: image.imageName }],
      },
    },
  },
  { dependsOn: api.cloudRun }
)

export const iamMember = new gcp.cloudrun.IamMember(
  `${serviceName}-iam-member`,
  {
    location: constants.region,
    service: service.name,
    role: 'roles/run.invoker',
    member: 'allUsers',
  }
)

Could you please provide more information on how your GHA is setup? Is it using a GOOGLE_CREDENTIALS env var or how is it obtaining credentials?

Yes, it is using a GOOGLE_CREDENTIALS env var with the contents of the downloaded service account key.  I created a repo for it: https://github.com/kevinwolfdev/pulumi-playground

@leezen any recommended solution?

Sorry, nothing immediately comes to mind. The way you've described it looks correct (looking at your repo). I assume you've debugged to double check that the env var GOOGLE_CREDENTIALS actually contains the correct JSON contents of the key file? Otherwise, I was testing this out on my own and couldn't reproduce the issue.

@leezen thank you for your response. I did both testing on GitHub and on my local machine (removing the extra docker config and running pulumi up with GOOGLE_CREDENTIALS=$(cat service-account.json) but with no errors.
Do you say you were able to run it? Is there a way you can help me do it somehow? Our company is really looking forward to start using Pulumi.

When you say you got this to work on GitHub, I assume you mean some non-GHA mechanism? I'm curious what other way you tried?

So sorry, I wrote it bad. I meant: I tested it on GHA and my local machine, but with the same errors.

I'm curious if you've tried a simpler Pulumi program, e.g. create a bucket with GOOGLE_CREDENTIALS? I'm wondering if somehow your Project > Owner role doesn't have the right permissions? For example, if you run gcloud services list --available as the service account (e.g. gcloud auth activate-service-account --key-file=...) do you see containerregistry.googleapis.com listed?

It is weird. I am not even being able to list my services. It says the service account doesn't have access to the project.
I created a short video: https://drive.google.com/file/d/1NLGYK2-_HqU1MgybIMRg9DRzdcL-We5U/view?usp=sharing

Thanks for the video.  It's hard to say why that's the case... I don't know how your project or accounts are setup. One thing potentially worth checking is if the Owner role actually has all the permissions you expect (find this under IAM & Admin > Roles in the gcloud console)

Ok, so I just deleted my old project, created a new one, created a service account with Project > Owner permissions, downloaded the json file and activated the service account. Now I am able to see containerregistry.googleapis.com in my available services.

But again, when trying to push the container from GitHub actions, I am still receiving the permissions error, which makes me think the following:

Since I am building and pushing the image using @pulumi/docker, it is not running gcloud auth configure-docker.

According to the documentation, there is a way to authenticate to docker using an access token, so I tried adding the registry configuration to the docker.Image and it worked, but I had to hardcode the password:

const image = new docker.Image(`${serviceName}-image`, {
  imageName: pulumi.interpolate`gcr.io/${gcp.config.project}/${serviceName}`,
  build: {
    context: path.fromRoot(),
    dockerfile: path.fromRoot('app', 'Dockerfile'),
  },
  registry: {
    server: 'https://gcr.io',
    username: 'oauth2accesstoken',
    password: 'XXXXXXXX',
  },
})

Which makes me want to ask two more questions:

1. Is there a way to programmatically get the outputs of `gcloud auth print-access-token` within the Pulumi program?
2. Can the above be abstracted into a new class of the `@pulumi/gcp` package? Maybe something like `Pulumi.registry.Image`, that is just an abstraction over the above code?

Since I am building and pushing the image using @pulumi/docker, it is not running gcloud auth configure-docker.

Yes - it does not do this - as it is just working abstractly at the docker build/docker push layer.  You could script in the call to gcloud auth configure-docker from your code though?  (Or run it separately to setup your CI environment?)

Is there a way to programmatically get the outputs of gcloud auth print-access-token within the Pulumi program?

Yep - see gcp.organizations.getClientConfig: https://www.pulumi.com/docs/reference/pkg/nodejs/pulumi/gcp/organizations/#GetClientConfigResult-accessToken.

Can the above be abstracted into a new class of the @pulumi/gcp package? Maybe something like Pulumi.registry.Image, that is just an abstraction over the above code?

Possibly.  The AWSX package has a similar idea for AWS, and this is the sort of things that may make sense in a GCPX package.

Yes - it does not do this - as it is just working abstractly at the docker build/docker push layer. You could script in the call to gcloud auth configure-docker from your code though? (Or run it separately to setup your CI environment?)

The problem here is that I am not installing gcloud at all within my CI environment, it is getting called within the Pulumi GH action.

Yep - see gcp.organizations.getClientConfig: https://www.pulumi.com/docs/reference/pkg/nodejs/pulumi/gcp/organizations/#GetClientConfigResult-accessToken.

Thanks! I added a commit getting the accessToken programmatically and it worked 🚀

Possibly. The AWSX package has a similar idea for AWS, and this is the sort of things that may make sense in a GCPX package.

I think this is a nice approach, given that other developers can run into the same issue. Happy to help with a PR and then updating this document.
Another question: what is the difference between the existing gcp package and a new gcpx package?

The gcp and aws packages are meant to represent the resources themselves and in some cases, some convenience 'mix-ins' (e.g. listeners for SNS topics). A new gcpx and the existing awsx packages are meant to provide 'opinionated' best-practices ways of interacting with the cloud provider (see also https://www.pulumi.com/docs/guides/crosswalk/aws/)

Ok, understood. And I am happy to collaborate creating an initial draft of a @pulumi/gcpx package. I already did a small factory that creates a docker image, a cloud run service, and an IamMember, and exports them.
Look at the utility function: https://github.com/kevinwolfdev/pulumi-playground/blob/master/infra/src/utils/create-cloudrun-service.ts
A nice way to integrate that into a gcpx package can be exporting a class like gcpx.serverless.CloudRunService and under the hood creates those resources.
An instantiation can be something like:
const appService = new gcpx.serverless.CloudRunService('app', dockerArgs, cloudRunServiceArgs, customResourceOptions)

Awesome! Thanks for sharing that

It sounds like you've got things figured out now -- I'll close this issue, but feel free to re-open if that's not the case.

Thanks! But what about the @pulumi/gcpx package, does it make sense to create one?

@kevinwolfdev It'd be great if you want to take a shot at building an initial version of a helper library for GCP. Feel free to call it gcpx or whatever you'd like! I'll be more than happy to code review if you'd like or give a plug on community Slack.

Unfortunately, the repo link is broken. @kevinwolfcr could you kindly share the correct repo link or how you made it work please? Thanks!


Add ConversionSpeed configuration to ADC class

This PR is based on the repo at v3.0.0, but only changes the ADC initialization.
This adds the ability to change the conversion time of each channel of the configured ADC.
The default value is set to what was previously the fixed value of 8.5 cycles.
This number of cycles is a little misleading because factors like bit depth, etc. also affect the number of cycles it takes to convert in addition to this value.
The reference manual covers this in a bit more depth, but the settings are named to match the STM32 HAL, and their docs.
There are some vestigial commented-out values of trying fixed values before adding the configuration that should now be removed prior to merging.

Pretty minimal update, but it's been tested by myself, and a few other users.
No changes required by users unless they want to override the default (i.e. previously fixed setting) with the new config option.


Add Hessian 2.0 support

This pull request adds support for parsing Hessian 2.0 responses from the server. Because Hessian 1.0 encoding is still supported for calls to a Hessian server, I did not update the encoder except to allow passing a version to the Call object.

It actually doesn't look like this project is maintained any longer, so I'm creating a fork at https://github.com/theatlantic/python-hessian


Unnecessary call removed from the code.

Fixes #4370
Unnecessary call to KeyManagerFactory.init in CustomTrust recipe removed.

Run spotless to clean these up, ./gradlew spotlessApply
> Task :samples:guide:checkstyleMain FAILED

[ant:checkstyle] [ERROR] /home/circleci/project/samples/guide/src/main/java/okhttp3/recipes/CustomTrust.java:26:8: Unused import - javax.net.ssl.KeyManagerFactory. [UnusedImports]

[ant:checkstyle] [ERROR] /home/circleci/project/samples/guide/src/main/java/okhttp3/recipes/CustomTrust.java:193: Line has trailing spaces. [RegexpSingleline]


downloader: Add the image URL into the error message.

In the case the URL of the image cannot be parsed for any reason, put it to the error message, so the user can see what can be the issue.

Almost good. ociRepositorySplit() on error path returns empty strings, so does not make any sense to print them.

Print only the error returned by the ociRepositorySplit function.
Add the original URL to the error message returned by the function.

Looks good, but is the issue only for OCI images?
When we download from S3, Azure, https etc do we print the URL on failure?

I can check it if you want. But the bug I'm fixing in the scope of this PR is an error in the debug message on the OCI URLs handling (previously it printed an empty string). It's requested by the CS team, See EV-383 for the details.

This one PR is a request by the CS team: show the correct url on error path. I merge this since the change does exactly what was requested.


add array element to error msg

In case there are 10 or more employees in contractor_employee_divisions it is difficult to find not active one
{
"meta": {
"url": "http://api-svc.il/api/contract_requests/9d8bfda5-5bff-490d-9f33-9cfc9acabdf7",
"type": "object",
"request_id": "1fc6a41d-17bf-44d5-8b6d-b520c575c5ee#17983",
"code": 422
},
"error": {
"type": "validation_failed",
"message": "Validation failed. You can find validators description at our API Manifest: http://docs.apimanifest.apiary.io/#introduction/interacting-with-api/errors.",
"invalid": [
{
"rules": [
{
"rule": "invalid",
"params": [],
"description": "Employee must be active DOCTOR"
}
],
"entry_type": "json_data_property",
"entry": "$.contractor_employee_divisions.employee_id"
}
]
}

@svetavedmed I tested this case and this will return the error of the first invalid legal entity occurrence, not the list of errors (same as in task #2497). If it's ok then both those tasks can be closed

in case we have 3 contractor_employee_divisions elements and next situation
``
[0]: employee.status='DISMISSED' & divisions.status='active'
[1]: employee.status='APPROVED' & divisions.status='closed'
[2]: employee.status='DISMISSED' & divisions.status='closed'
the 422 error is next

{
"rules": [
{
"rule": "invalid",
"params": [],
"description": "Employee must be active DOCTOR"
}
],
"entry_type": "json_data_property",
"entry": "$.contractor_employee_divisions[0].employee_id"
},
{
"rules": [
{
"rule": "invalid",
"params": [],
"description": "Employee must be active DOCTOR"
}
],
"entry_type": "json_data_property",
"entry": "$.contractor_employee_divisions[2].employee_id"
}
there is no error as for division for [1].
However, if all of them APPROVED then the error is next:

{
"rules": [
{
"rule": "invalid",
"params": [],
"description": "Division is not active"
}
],
"entry_type": "json_data_property",
"entry": "$.contractor_divisions[1]"
}
only for [1], not for [1] and [2]

it was decided to show first type of mistakes, not the whole list


Use the same version of gradle-wrapper and agp

in generativeai-android-sample it use gradle-8.0.2 and agp with 8.1.0, but others with gradle-8.4 and 8.1.3.

Hi @5peak2me thanks for your report and your PR. It looks good to me. I'll approve it and merge it today.


Labs should sort by requested date by default

🚀 Feature Proposal
Labs should sort by requested date by default (the newest one should come first) when I am viewing the list of labs
Motivation
Easier to find lab requests
Blocked by
#1969

I would like to work on this.

@akshay-ap sounds great! I've assigned this to you.

@jackcmeyer Before starting to work on it, I have a suggestion: A new dropdown which will show the fields by which the list of Labs can be sorted in ascending or descending order:

ResquestedOn
Type
Status
By default, list will be sorted by ResquestedOn descending order.

@akshay-ap
I like this idea. However, most of the sorting functionality is going to be fully implemented inside of the Table component.
For now, the intent of this was to get basic functionality implemented so that it is a usable feature.
If the solution that you are suggesting is simple enough, then I'd say go for it. However, it is likely that the UI part of the story will change in the future.

Closed via #2004


Conversion of inventory system to numerical list

Items would be assigned slot numbers, ie 1-100 are equipped items, and 100+ are inventory items. This will allow us to have an inventory that the player can sort as they like in the future.

Would this be similar to the way that minecraft does it? In the way that every item or such is referred to as a number?

Closing from age / finally closing in on full entity-system implementation which will make this obsolete. I think inventory improvements have happened in the meantime anyway :-)


Pressing Edit key information on profile management, in the Key Facts field, opens the window to edit basic information which are not displayed contents of Key Facts

Pressing Edit key information on profile management, in the Key Facts field, opens the window to edit basic information (the same as Edit button on Summary field) while the field itself displays Cause Area, Career and Community properties.

Good point. I've moved the edit button from the key facts and under the name. Should avoid confusion


python38Packages.django_redis: 4.12.1 -> 5.0.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python38Packages.django_redis is: "Full featured redis cache backend for Django"
meta.homepage for python38Packages.django_redis is: "https://github.com/niwibe/django-redis"
meta.changelog for python38Packages.django_redis is: ""
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS

Warning: a test defined in passthru.tests did not pass

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found 5.0.0 with grep in /nix/store/i4dxvqvwas6i6244mrhzrwizglimsanf-python3.8-django-redis-5.0.0

found 5.0.0 in filename of file in /nix/store/i4dxvqvwas6i6244mrhzrwizglimsanf-python3.8-django-redis-5.0.0

directory tree listing: https://gist.github.com/7bca6c2a600a694bbc5942f6e8092b1c

du listing: https://gist.github.com/6f45064567deeb6607f274126ba5ff15

Rebuild report (if merged into master) (click to expand)

8 total rebuild path(s)

2 package rebuild(s)

2 x86_64-linux rebuild(s)
2 i686-linux rebuild(s)
2 x86_64-darwin rebuild(s)
2 aarch64-linux rebuild(s)

First fifty rebuilds by attrpath
python38Packages.django_redis
python39Packages.django_redis

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/i4dxvqvwas6i6244mrhzrwizglimsanf-python3.8-django-redis-5.0.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python38Packages.django_redis https://github.com/r-ryantm/nixpkgs/archive/6e587130c44659d1d061887846eb832f004afcb7.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/i4dxvqvwas6i6244mrhzrwizglimsanf-python3.8-django-redis-5.0.0
ls -la /nix/store/i4dxvqvwas6i6244mrhzrwizglimsanf-python3.8-django-redis-5.0.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

2 packages built:

python38Packages.django_redis
python39Packages.django_redis

Maintainer pings

Result of nixpkgs-review pr 134619 at 6e587130 run on x86_64-linux 1

2 packages built successfully:

python38Packages.django_redis
python39Packages.django_redis

2 suggestions:

warning: maintainers-missing
Package does not have a maintainer. Consider adding yourself?
Near pkgs/development/python-modules/django_redis/default.nix:22:3:
   |
22 |   meta = with lib; {
   |   ^

warning: python-include-tests
Consider adding a checkPhase for tests, or if not feasible, pythonImportsCheck.
Near pkgs/development/python-modules/django_redis/default.nix:23:0:
   |
23 |     description = "Full featured redis cache backend for Django";
   | ^

nixpkgs-review happy, macos 10.15 & nixos x86_64, but no tests & no pythonImportsCheck so :shrug:


Performance metrics vary between active lab machines

From many recent Secnetperf runs,
there is a noticeable performance difference between some lab machines --- even though the code is the exact same, BIOS configuration is the same, SR-IOV is both enabled...
This is especially true comparing the lab machines hosting the static lab VMs and the dynamic lab VMs from the  stateless lab .
We need to investigate while performance data is so different between the static lab, and the  stateless lab .
This unblocks https://github.com/microsoft/netperf/issues/73

Here is what the RSS configurations look like on a "good perf" pair:
client: RR1-NETPERF-05-RSS.txt
server: RR1-NETPERF-10-RSS.txt
Here is what the RSS configurations look like on a "bad perf" pair:
client: RR1-NETPERF-25-RSS.txt
server: RR1-NETPERF-26-RSS.txt
TLDR; they look the same.

cc @mtfriesen do you see any notable differences in these? I agree that the physical adapters 'Mellanox ConnectX-6 Dx Adapter' all look the same:
Name                                            : SLOT 2 Port 1
InterfaceDescription                            : Mellanox ConnectX-6 Dx Adapter
Enabled                                         : True
NumberOfReceiveQueues                           : 8
Profile                                         : Closest
BaseProcessor: [Group:Number]                   : 0:0
MaxProcessor: [Group:Number]                    : 1:38
MaxProcessors                                   : 8
RssProcessorArray: [Group:Number/NUMA Distance] : 1:0/0  1:2/0  1:4/0  1:6/0  1:8/0  1:10/0  1:12/0  1:14/0
                                                  1:16/0  1:18/0  1:20/0  1:22/0  1:24/0  1:26/0  1:28/0  1:30/0
                                                  1:32/0  1:34/0  1:36/0  1:38/0  0:0/32767  0:2/32767  0:4/32767
                                                  0:6/32767
                                                  0:8/32767  0:10/32767  0:12/32767  0:14/32767  0:16/32767
                                                  0:18/32767  0:20/32767  0:22/32767
                                                  0:24/32767  0:26/32767  0:28/32767  0:30/32767  0:32/32767
                                                  0:34/32767  0:36/32767  0:38/32767
IndirectionTable: [Group:Number]                : 1:0	1:2	1:4	1:6	1:8	1:10	1:12	0:0
                                                  1:0	1:2	1:4	1:6	1:8	1:10	1:12	0:0

The virtual adapters also look the same, except for some minor naming differences (Hyper-V Virtual Ethernet Adapter vs vEthernet (Mellanox ConnectX-6 Dx Adapter - Virtual Switch)):
Name                                            : vEthernet (200G)
InterfaceDescription                            : Hyper-V Virtual Ethernet Adapter
Enabled                                         : True
NumberOfReceiveQueues                           : 16
Profile                                         : ClosestStatic
BaseProcessor: [Group:Number]                   : 0:0
MaxProcessor: [Group:Number]                    : 0:63
MaxProcessors                                   : 8
RssProcessorArray: [Group:Number/NUMA Distance] : 0:0/0  0:2/0  0:4/0  0:6/0  0:8/0  0:10/0  0:12/0  0:14/0
                                                  0:16/0  0:18/0  0:20/0  0:22/0  0:24/0  0:26/0  0:28/0  0:30/0
                                                  0:32/0  0:34/0  0:36/0  0:38/0
IndirectionTable: [Group:Number]                : 1:14	1:0	1:2	1:4	1:6	1:8	1:10	1:12
                                                  1:14	1:0	1:2	1:4	1:6	1:8	1:10	1:12
                                                  1:14	1:0	1:2	1:4	1:6	1:8	1:10	1:12
                                                  1:14	1:0	1:2	1:4	1:6	1:8	1:10	1:12
                                                  1:14	1:0	1:2	1:4	1:6	1:8	1:10	1:12
                                                  1:14	1:0	1:2	1:4	1:6	1:8	1:10	1:12
                                                  1:14	1:0	1:2	1:4	1:6	1:8	1:10	1:12
                                                  1:14	1:0	1:2	1:4	1:6	1:8	1:10	1:12
                                                  1:14	1:0	1:2	1:4	1:6	1:8	1:10	1:12
                                                  1:14	1:0	1:2	1:4	1:6	1:8	1:10	1:12
                                                  1:14	1:0	1:2	1:4	1:6	1:8	1:10	1:12
                                                  1:14	1:0	1:2	1:4	1:6	1:8	1:10	1:12
                                                  1:14	1:0	1:2	1:4	1:6	1:8	1:10	1:12
                                                  1:14	1:0	1:2	1:4	1:6	1:8	1:10	1:12
                                                  1:14	1:0	1:2	1:4	1:6	1:8	1:10	1:12
                                                  1:14	1:0	1:2	1:4	1:6	1:8	1:10	1:12

I don't see any obvious functional differences, but the two machines were obviously not set up using the same steps, because one set of machines has "vEthernet (200G)" in the NIC name, and the other has the default "vEthernet (Mellanox ConnectX-6 Dx Adapter - Virtual Switch)"
If it ain't automated, it ain't gonna be repeatable or consistent, no matter how hard we manually try to get these two to behave the same.

I agree we need to standardize the setup process. That will be done as a part of moving to dynamic machines.
But since RSS seems to be the same, I suspect the problem is actually in the code. Unless there is code to consistently line up with RSS and NUMA, tests will generally randomly use different processors/threads/NUMA. The scheduler or thread pool can only do so much for you. So, the next step is to grab some CPU traces for 'good' and 'bad' runs. I suspect you will be able to get both on the same set of machines, given enough runs.


How can I install the waifu2x zip file

Hello developer I just want to know how can I install the waifu2x zip file.I want to play anime in the best resolution.I am using my phone not pc or computer because I don't have it.

See https://github.com/nagadomi/nunif/tree/master/windows_package

Will it work for android

See https://github.com/nagadomi/nunif/tree/master/windows_package

Will it work for android

Android is not supported.

Thank you I just wanted to know if I could download waifu2x zip file.


linuxPackages.bcc: 0.18.0 -> 0.19.0

Motivation for this change
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

I'm not sure if this is in-scope for this bump, but one problem I noticed with linuxPackages.bcc is that when using it as a python module, it seemed like there were some import runtime dependencies on bzip2 (and maybe something else) being on the PATH that were not encoded in the bcc nix expression. I noticed this in the context of this script: https://github.com/rmcgibbo/oom-enospc-notify

Result of nixpkgs-review pr 117043 at 95c922ed run on aarch64-linux 1

21 packages marked as broken and skipped:

linuxPackages-libre.bcc
linuxPackages-libre.oci-seccomp-bpf-hook
linuxPackages.oci-seccomp-bpf-hook
linuxPackages_5_10.oci-seccomp-bpf-hook
linuxPackages_5_11.oci-seccomp-bpf-hook
linuxPackages_5_4.oci-seccomp-bpf-hook
linuxPackages_hardened.oci-seccomp-bpf-hook
linuxPackages_hardkernel_4_14.bcc
linuxPackages_hardkernel_latest.bcc
linuxPackages_latest-libre.bcc
...

1 package failed to build (new failures):

linuxPackages_4_9.bcc

1 package skipped due to time constraints:

linuxPackages_4_4.bcc

9 packages built successfully:

linuxPackages.bcc (linuxPackages_5_4.bcc ,linuxPackages_xen_dom0.bcc)
linuxPackages_4_14.bcc
linuxPackages_4_19.bcc
linuxPackages_5_10.bcc
linuxPackages_5_11.bcc (linuxPackages_latest.bcc ,linuxPackages_latest_xen_dom0.bcc)
linuxPackages_hardened.bcc (linuxPackages_xen_dom0_hardened.bcc)
linuxPackages_latest_hardened.bcc (linuxPackages_latest_xen_dom0_hardened.bcc)
linuxPackages_lqx.bcc
linuxPackages_zen.bcc

1 suggestion:

warning: unused-argument
Unused argument: fetchpatch.
Near pkgs/os-specific/linux/bcc/default.nix:1:26:
  |
1 | { lib, stdenv, fetchurl, fetchpatch
  |                          ^

I'm not sure if this is in-scope for this bump, but one problem I noticed with linuxPackages.bcc is that when using it as a python module, it seemed like there were some import runtime dependencies on bzip2 (and maybe something else) being on the PATH that were not encoded in the bcc nix expression. I noticed this in the context of this script: https://github.com/rmcgibbo/oom-enospc-notify

This is going to be annoying to fix without a log; if you can provide a stack trace from somewhere, I'm happy to write a patch to pythonPackages to fix this.

@thoughtpolice: Will do.

This is a semi-automatic executed nixpkgs-review with nixpkgs-review-checks extension. It is checked by a human on a best effort basis and does not build all packages (e.g. lumo, tensorflow or pytorch).
If you have any questions or problems please reach out to SuperSandro2000 on IRC.
Result of nixpkgs-review pr 117043 run on x86_64-linux 1

10 packages marked as broken and skipped:

linuxPackages-libre.bcc
linuxPackages-libre.bpftrace
linuxPackages-libre.oci-seccomp-bpf-hook
linuxPackages_hardkernel_4_14.bcc
linuxPackages_hardkernel_4_14.bpftrace
linuxPackages_hardkernel_latest.bcc
linuxPackages_hardkernel_latest.bpftrace
linuxPackages_latest-libre.bcc
linuxPackages_latest-libre.bpftrace
linuxPackages_latest-libre.oci-seccomp-bpf-hook

12 packages failed to build and are new build failures:

linuxPackages_4_9.bpftrace: log was empty
linuxPackages_5_11.bcc: log was empty
(linuxPackages_latest.bcc): log was empty
linuxPackages_5_11.bpftrace: log was empty
(linuxPackages_latest.bpftrace): log was empty
linuxPackages_5_11.oci-seccomp-bpf-hook: log was empty
(linuxPackages_latest.oci-seccomp-bpf-hook): log was empty
linuxPackages_latest_xen_dom0.bcc: log was empty
linuxPackages_latest_xen_dom0.bpftrace: log was empty
linuxPackages_latest_xen_dom0.oci-seccomp-bpf-hook: log was empty
linuxPackages_lqx.bpftrace: log was empty
linuxPackages_xen_dom0_hardened.bpftrace: log was empty

35 packages built:

linuxPackages.bcc (linuxPackages_5_4.bcc)
linuxPackages.bpftrace (linuxPackages_5_4.bpftrace)
linuxPackages.oci-seccomp-bpf-hook (linuxPackages_5_4.oci-seccomp-bpf-hook)
linuxPackages_4_14.bcc
linuxPackages_4_14.bpftrace
linuxPackages_4_19.bcc
linuxPackages_4_19.bpftrace
linuxPackages_4_4.bcc
linuxPackages_4_4.bpftrace
linuxPackages_4_9.bcc
linuxPackages_5_10.bcc
linuxPackages_5_10.bpftrace
linuxPackages_5_10.oci-seccomp-bpf-hook
linuxPackages_hardened.bcc
linuxPackages_hardened.bpftrace
linuxPackages_hardened.oci-seccomp-bpf-hook
linuxPackages_latest_hardened.bcc
linuxPackages_latest_hardened.bpftrace
linuxPackages_latest_hardened.oci-seccomp-bpf-hook
linuxPackages_latest_xen_dom0_hardened.bcc
linuxPackages_latest_xen_dom0_hardened.bpftrace
linuxPackages_latest_xen_dom0_hardened.oci-seccomp-bpf-hook
linuxPackages_lqx.bcc
linuxPackages_lqx.oci-seccomp-bpf-hook
linuxPackages_testing_bcachefs.bcc
linuxPackages_testing_bcachefs.bpftrace
linuxPackages_testing_bcachefs.oci-seccomp-bpf-hook
linuxPackages_xen_dom0.bcc
linuxPackages_xen_dom0.bpftrace
linuxPackages_xen_dom0.oci-seccomp-bpf-hook
linuxPackages_xen_dom0_hardened.bcc
linuxPackages_xen_dom0_hardened.oci-seccomp-bpf-hook
linuxPackages_zen.bcc
linuxPackages_zen.bpftrace
linuxPackages_zen.oci-seccomp-bpf-hook

The following issues got detected with the above build packages.

Near pkgs/os-specific/linux/bcc/default.nix:1:26:
  |
1 | { lib, stdenv, fetchurl, fetchpatch
  |                          ^

This is a semi-automatic executed nixpkgs-review with nixpkgs-review-checks extension. It is checked by a human on a best effort basis and does not build all packages (e.g. lumo, tensorflow or pytorch).
If you have any questions or problems please reach out to SuperSandro2000 on IRC.
Result of nixpkgs-review pr 117043 run on x86_64-linux 1

10 packages marked as broken and skipped:

linuxPackages-libre.bcc
linuxPackages-libre.bpftrace
linuxPackages-libre.oci-seccomp-bpf-hook
linuxPackages_hardkernel_4_14.bcc
linuxPackages_hardkernel_4_14.bpftrace
linuxPackages_hardkernel_latest.bcc
linuxPackages_hardkernel_latest.bpftrace
linuxPackages_latest-libre.bcc
linuxPackages_latest-libre.bpftrace
linuxPackages_latest-libre.oci-seccomp-bpf-hook

44 packages built:

linuxPackages.bcc (linuxPackages_5_4.bcc)
linuxPackages.bpftrace (linuxPackages_5_4.bpftrace)
linuxPackages.oci-seccomp-bpf-hook (linuxPackages_5_4.oci-seccomp-bpf-hook)
linuxPackages_4_14.bcc
linuxPackages_4_14.bpftrace
linuxPackages_4_19.bcc
linuxPackages_4_19.bpftrace
linuxPackages_4_4.bcc
linuxPackages_4_4.bpftrace
linuxPackages_4_9.bcc
linuxPackages_4_9.bpftrace
linuxPackages_5_10.bcc
linuxPackages_5_10.bpftrace
linuxPackages_5_10.oci-seccomp-bpf-hook
linuxPackages_5_11.bcc (linuxPackages_latest.bcc)
linuxPackages_5_11.bpftrace (linuxPackages_latest.bpftrace)
linuxPackages_5_11.oci-seccomp-bpf-hook (linuxPackages_latest.oci-seccomp-bpf-hook)
linuxPackages_hardened.bcc
linuxPackages_hardened.bpftrace
linuxPackages_hardened.oci-seccomp-bpf-hook
linuxPackages_latest_hardened.bcc
linuxPackages_latest_hardened.bpftrace
linuxPackages_latest_hardened.oci-seccomp-bpf-hook
linuxPackages_latest_xen_dom0.bcc
linuxPackages_latest_xen_dom0.bpftrace
linuxPackages_latest_xen_dom0.oci-seccomp-bpf-hook
linuxPackages_latest_xen_dom0_hardened.bcc
linuxPackages_latest_xen_dom0_hardened.bpftrace
linuxPackages_latest_xen_dom0_hardened.oci-seccomp-bpf-hook
linuxPackages_lqx.bcc
linuxPackages_lqx.bpftrace
linuxPackages_lqx.oci-seccomp-bpf-hook
linuxPackages_testing_bcachefs.bcc
linuxPackages_testing_bcachefs.bpftrace
linuxPackages_testing_bcachefs.oci-seccomp-bpf-hook
linuxPackages_xen_dom0.bcc
linuxPackages_xen_dom0.bpftrace
linuxPackages_xen_dom0.oci-seccomp-bpf-hook
linuxPackages_xen_dom0_hardened.bcc
linuxPackages_xen_dom0_hardened.bpftrace
linuxPackages_xen_dom0_hardened.oci-seccomp-bpf-hook
linuxPackages_zen.bcc
linuxPackages_zen.bpftrace
linuxPackages_zen.oci-seccomp-bpf-hook

The following issues got detected with the above build packages.

Near pkgs/os-specific/linux/bcc/default.nix:1:26:
  |
1 | { lib, stdenv, fetchurl, fetchpatch
  |                          ^


Options missing in index.js for kibana.yml in 5.x releases

Hello,
I have noticed that there are very few config option in the index.js file, though these should be existing if you read the documentation. Let's take "simple_authentication" as a child of "report" as an example.
https://sentinl.readthedocs.io/en/latest/Config-Example/ This documentation page shows it should be available. However, If you write that in your config file it says that "child simple_authentication is not allowed here". Looking at the index.js file, it tells you why. There is no option for simple_authentication and also for many others no option.
This is the index.js that ships with 5.x releases:
`import fs from 'fs';
import _ from 'lodash';
export default function (kibana) {
let requirements = ['kibana', 'elasticsearch'];
// Kibi: check if saved objects api exists.
const savedObjectsAPI = ${kibana.rootDir}/src/kibi_plugins/saved_objects_api;
if (fs.existsSync(savedObjectsAPI)) {
requirements.push('saved_objects_api');
// Kibi: import saved objects api related libs.
const pathForLibs = `${kibana.rootDir}/plugins/sentinl/public/app.js`;
const libsToImport = [
  'import \'./services/saved_watchers/index\';',
  'import \'./services/saved_users/index\';',
  'import \'./services/saved_scripts/index\';'
];

const data = fs.readFileSync(pathForLibs);
const libs = data.toString().trim().split('\n');

_.forEach(_.difference(libsToImport, libs), (lib) => {
  fs.appendFileSync(pathForLibs, `${lib}\n`);
});

}
return new kibana.Plugin({
require: requirements,
uiExports: {
spyModes: ['plugins/sentinl/dashboard_spy_button/alarm_button'],
app: {
title: 'Sentinl',
description: 'Kibana Alert App for Elasticsearch',
main: 'plugins/sentinl/app',
icon: 'plugins/sentinl/sentinl.svg',
injectVars: function (server, options) {
var config = server.config();
return {
kbnIndex: config.get('kibana.index'),
esShardTimeout: config.get('elasticsearch.shardTimeout'),
esApiVersion: config.get('elasticsearch.apiVersion')
};
}
}
},
config: function (Joi) {
return Joi.object({
enabled: Joi.boolean().default(true),
es: Joi.object({
host: Joi.string().default('localhost'),
port: Joi.number().default(9200),
timefield: Joi.string().default('@timestamp'),
default_index: Joi.string().default('watcher'),
type: Joi.string().default('sentinl-watcher'),
alarm_index: Joi.string().default('watcher_alarms'),
alarm_type: Joi.string().default('alarm'),
script_type: Joi.string().default('sentinl-script'),
watcher: Joi.object({
trigger: Joi.number().default(3),
throttle: Joi.number().default(1),
recover: Joi.number().default(15000)
}).default(),
}).default(),
sentinl: Joi.object({
history: Joi.number().default(20),
results: Joi.number().default(50),
scriptResults: Joi.number().default(50)
}).default(),
settings: Joi.object({
authentication: Joi.object({
enabled: Joi.boolean().default(false),
https: Joi.boolean().default(true),
verify_certificate: Joi.boolean().default(false),
path_to_pem: Joi.string(),
admin_username: Joi.string().default('admin'),
admin_sha: Joi.string().default('6859a748bc07b49ae761f5734db66848'),
mode: Joi.string().default('basic'),
user_index: Joi.string().default('sentinl_users'),
user_type: Joi.string().default('user'),
encryption: Joi.object({
algorithm: Joi.string().default('AES-256-CBC'),
key: Joi.string().default('b9726b04608ac48ecb0b6918214ade54'),
iv_length: Joi.number().default(16)
}).default(),
}).default(),
email: Joi.object({
active: Joi.boolean().default(false),
user: Joi.string(),
password: Joi.string(),
host: Joi.string(),
ssl: Joi.boolean().default(true),
timeout: Joi.number().default(5000)
}).default(),
slack: Joi.object({
active: Joi.boolean().default(false),
username: Joi.string(),
hook: Joi.string(),
channel: Joi.string(),
}).default(),
webhook: Joi.object({
active: Joi.boolean().default(false),
use_https: Joi.boolean().default(false),
method: Joi.string().default('POST'),
host: Joi.string(),
port: Joi.number(),
path: Joi.string().default(':/{{payload.watcher_id}'),
body: Joi.string().default('{{payload.watcher_id}}{payload.hits.total}}')
}).default(),
report: Joi.object({
active: Joi.boolean().default(false),
phantomjs_path: Joi.string().default(undefined),
tmp_path: Joi.string().default('/tmp/')
}).default(),
pushapps: Joi.object({
active: Joi.boolean().default(false),
api_key: Joi.string()
}).default()
}).default()
}).default();
},
init: require('./init.js')
});
};`
Since we use ES and Kibana 5.6.7 in our company, I am forced to use Sentinl 5.6.7 (or does it work with 6.x). How do I get back the options though?
Thank you

Is there a way to get Sentinl 6 working with Kibana 5.6.7? This would also give me the options back. As I plan to use Sentinl in production I need them very urgently.

@bienensenf you are welcome to backport 6.x features to 5.x if you wish, but its not part of our roadmap - it's already hard enough to walk forward to 6.3 and 6.4 right now. If you'd like to make a donation to the project to consider this requirement for your commercial setup, feel free to let us know.

Hello @lmangani , according to the documentation this should not be a 6.x feature but should work with version 5 as well, at least "simple_authentication". "simple_authentication" is not existing on 5.6.x branch but is existing on 5.5.x branch and 6.x branches, which makes no sense and is the reason why I am asking.

@bienensenf I do perfectly get it, but as said we only work forward and rarely backport fixes and features - this surely creates gaps as you can see unless there are active users on those versions reporting or sending PRs -  the project is Open Source so we're welcoming contributors and allowing anyone with time and will to fill the gaps beteen branches, or for the specific version they need - particularly for business users, we can help for some support back to the project - thanks for understanding!

Okay, thank you for clarifying. I was just a bit perplex seeing this option in the documentation without any annotation and seeing this in earlier releases. I will consider how to move on. Thank you.