params.query is ignored for returned data when removing a record

Steps to reproduce
(First please check that this issue is not already solved as described
here)
Done.

[x] Tell us what broke. The more detailed the better.
When deleting a record with a request like "DELETE /users/abc-id", we set the property params.query.createdBy to the currently logged in user in a hook. If the user did not create the record, he must not delete it.
This is correctly interpreted by the remove method, so the record is not deleted. However, since the _get method ignores the query, the DELETE request returns the record as though it were deleted.
[ ] If you can, please create a simple example that reproduces the issue and link to a gist, jsbin, repo, etc.

Expected behavior
Instead of returning the record associated with the ID "abc-id", the response should be a 404 Not Found error.
Actual behavior
The response contains the record with the ID "abc-id".
System configuration
Tell us about the applicable parts of your setup.
Module versions (especially the part that's not working):
feathers-mongoose 6.1.2
NodeJS version:
Node.js 8.11.2
Operating System:
Ubuntu 16.04
Browser Version:
x
React Native Version:
x
Module Loader:
Node.js require
I will submit a pull request in some minutes.

I opened a pull request but found that there are some issues with other properties on params.query like "$populate". I'll fix them locally, test the new module for a while and open a new pull request.
Feedback from core developers is still highly appreciated since the get method is very central to the entire service.

@daffl and the feathers team:
I'd kindly ask that this issue be prioritized. Based on my current understanding, this is an important security vulnerability that can lead to exposing any record by it's ID since the query is not honored in the _get method when constructing the Mongo query.
Lines 123 and following in lib/service.js seem to be the crux of the matter:
 const discriminator = (params.query || {})[this.discriminatorKey] || this.discriminatorKey;
 const model = this.discriminators[discriminator] || this.Model;
 let modelQuery = model
    .findOne({ [this.id]: id });

Could ammending this something like so might work:
// construct query from params
const queryObj = { [this.id]: id }
for (let propName in params.query) {
  if (propName !== "$populate" && propName !== "$select" && propName !== this.discriminatorKey) {
   queryObj[propName] = params.query[propName]
 }
}
let modelQuery = model
    .findOne(queryObj);

If a user parameter (for instance) is passed in order to ensure that only records that the user owns, this is not honored so any user could request any record by ID. In other words, as long as you know the ID of the record, it will be returned unless further filtering is applied in application code after the record is retrieved.
As far as I've understood, that is not expected behavior but please instruct if so.
Appreciate any feedback from the feathers team on this.

This seems like expected behavior to me. Feathers doesn't enforce any permissions, you need to add them in based on your needs.
You could use an after hook to check if the record should be shown to the user. You could also use a before hook and overwrite the normal response to use the query you've shown above.
I understand your concern and use case, but the base use case is letting everything be accessible. You can customize the service to your needs with hooks easily after that.
Hope this helps clear things up.

@jamesjnadeau Thanks for the reply. I agree that feathers or feathers-mongoose shouldn't enforce any permissions and that that is definitely an application layer concern. However, I think it is feathers-mongoose's  to honor the query passed in to get(id, params) requests and only return records that match both id + query.
The core question (as I see it right now) is whether or not server.get(id, params) should honor the query if given in the params.query object or should it simply look up and return the record by id?
For instance, if we have a record that takes this shape:
{
  "_id": "some_mongo_id",
  "user": 1
  // etc
}

And we query it like this from a feathers client:
service('record').get("some_mongo_id", { query: { user: 25 } })

Should it return the record even though the query does not match? In my understanding, it should not; however, feathers-mongoose does return it.
Also, based on my read of the feathers-sequelize's _get implementation, it handles the query:
const where = utils.getWhere(params.query);
// Attach 'where' constraints, if any were used.
const q = Object.assign({
   raw: this.raw,
   where: Object.assign({[this.id]: id}, where)
}, params.sequelize);

I'd have to set up an environment to test this out, but pretty sure the behavior is different than feathers-mongoose.
Also, even if the maintainers disagree about changing _get to honor the params.query, I do think that the issue with remove behavior needs addressed as a separate issue. Using the same example above, a request from a feathers client like so:
service('record').remove("some_mongo_id", { query: { user: 25 } })

This returns a 200, the record matching an ID in the response body, but does not actually delete the record. In other words, the request looks like a success but the action actually failed. (In my application, I add the query in a before hook based on the authenticated user but the effect is the same.)
Sorry for the tome. Just want to be absolutely clear here on the issue since it has major implications for how I implement security in my application.

Looking at this again, it does appear this adapter works differently than others, it . Please make a pull request with your requested changes.

The behaviour of how the query is honoured for requests with an id has not been specified across adapters and is therefore somewhat inconsistent. I created an issue yesterday in https://github.com/feathersjs/feathers/issues/925 that outlines some of the changes coming to the database adapters, including this change.
Currently e.g. the feathers-authentication-hooks are doing another get to verify if the user is allowed access.

Thanks for the response @jamesjnadeau and @daffl .
With the direction raised in feathersjs/feathers#925, would it better to hold on any changes in this repo until that issue is resolved in feathers core?
If not, I think that @SteffenLanger 's PR #245 should address the issues. It represents a fairly substantial change in behavior that would probably be breaking in some applications.

Any update on this? Do you want to accept PR #245 or wait for feathersjs/feathers#925 to be resolved and implemented into feathers-mongoose?

Yes, it should. Sorry for not getting it in with your PR but it was easier this way.

@daffl : no worries; thanks for fixing this in a comprehensive. I'm looking at our migration path.


Start test coverage for frontend code (Cypress)

Check https://github.com/QCDIS/KMS-generic/blob/master/cypress.config.js
https://github.com/QCDIS/KMS-generic/blob/master/package.json
https://github.com/QCDIS/KMS-generic/blob/master/cypress/e2e/spec.cy.js
Set meeting

Select elements from Firefox inspector (f12)


Implemented children accessors and other useful functions

If you're wondering why there is also a __children variable in the Window class, is because I didn't want to have to deal with the wxWindowList thing just to get the children of a Window.

I've updated Main.hx to trace the number of children in the frame window:

Personally I don't think emulating wxWidgets functions is a good idea,
too many ways it could return an incorrect result on some special cases.
It'd require a bit of __cpp__ magic but it shouldn't be too hard to go from a windowList to an Array.

A tend to agree. We have no idea of the lifetime of a pointer, or if wxWidgets decided to do something "clever" - we shouldnt make the assumption that the children we have added / removed are always reflective of the result returned by wxWidgets itself or if they are even valid pointers anymore.

I did take a look at http://docs.wxwidgets.org/3.0/classwx_list_3_01_t_01_4.html this page just to check out how possible it might be to implement, and to me it just looked scary so I opted against trying to extern that somehow.
I suppose you could use untyped __cpp__("GetChildren()"); perhaps, but I never tested it.
I had to read the comments several times over to grasp what you meant, but I understand the implications. I just needed a temporary solution for testing purposes. Now that we are on the subject, should I "try" to implement this wxWindowList extern or leave it up to you? (I say "try" loosely because as you are probably now aware, I'm not an expert at this ;) )

I dont mind having a go at it, but i cant say when as i have other things on at the moment. For now i presume you can make do with the system you have in place? I doubt the exposed api will change that much anyway, just how it works under the hood.

Yes, of course. I will keep mine as a fork for the time being until I either find a way to implement it or someone else beats me to it.

Perfect. :+1:

Ok, i had a stab at the window list functions, heres the commit: https://github.com/ianharrigan/hxWidgets/commit/6885b202fb84b337ef002687dbf1649587cbd50f
There base template wxList<T> is a bit of a pain, it half works, but i cant get it to play nice on the "item" with haxe generics. The wxWindowList is easier so instead of being clever ive create a new extern type out of that, i would have like to have used:
typedef WxWindowList = WxList<WxWindowRef>;

but i went the path of least resistance in the end. Let me know if that works, this is my test code:
trace("parent id: " + button.getParent().getId());
trace("child count: " + frame.children.length);
trace("first child id: "  + frame.children[0].getId());
// lets make sure its a functioning object
frame.children[0].setLabel("New Label");


Update Waf for URL and specificity

Reasons for making this change:

Waf's homepage has moved from Google Code to https://waf.io
Add specificity to unpacked waflib pattern
Add support for Windows

Links to documentation supporting these rule changes:

This is how the lockfile is named in the latest version
This is how the unpacked waflib directory is named in the latest version, with the leading dot used for non-Windows platforms

Thanks!

@seanfisk thanks!


[folding] Go To Line doesn't scroll to desired line when the code is collapsed

VSCode Version: Code 1.19.1 (0759f77bb8d86658bc935a10a64f6182c5a1eeba, 2017-12-19T09:41:01.414Z)
OS Version: Linux x64 4.10.0-42-generic
Extensions: none

Steps to Reproduce:

Collapse a piece of code.
Hit Ctrl+G and type the number of one of the hidden lines.

When doing that, the cursor gets positioned correctly, but the screen gets scrolled to the collapsible line and not to the desired line.

This work for me:

close a folding region (e.g. from line 10 to 20)
open the Go to Line command (or Ctrl + G)
enter 15. -> Editor scrolls, folding region not yet open
press enter -> region opens, cursor placed on line 15.


Update test/template.test.in for build system changes

The build system switched from naming the executable ${exe} to naming it ${TARGET}.
Fixes: 9ed663af "cmake: use add_sdl_image_test_executable function"

Thanks. I forgot about those files.


Added Snoop 2.10

Microsoft Reviewers: Open in CodeFlow

I have submitted a security review, and I will delete the label when finished


Editor (/editor-ui/...) gives 403 despite ROLE_UI_EVENTS_EDITOR_VIEW

Describe the bug
The role ROLE_UI_EVENTS_EDITOR_VIEW gives no access to the editor with URL /editor-ui/index.html?mediaPackageId=. At the same time /admin-ng/index.html#!/events/events/[id]/tools/editor works (assumed the user has the role ROLE_ADMIN_UI).

To Reproduce
Steps to reproduce the behavior:

Give a test user the role ROLE_UI_EVENTS_EDITOR_VIEW and ROLE_ADMIN_UI
Verify that the user can access the editor via /admin-ng/index.html#!/events/events/[id]/tools/editor
But the user can not access /editor-ui/index.html?mediaPackageId=

Environment Information

OS: Ubuntu 20.04
Docker Version: 20.10.7-0ubuntu5~20.04.2
Browser Chromium
Opencast version 11.3 Docker images

Nevermind, I had anetc/security/mh_default_org.xml from an old Opencast version in place which lacked a rule for /editor-ui/.


Regression: can no longer copy empty lines

VSCode Version: latest 1.6 insider
OS Version: Mac & Windows

Steps to Reproduce:

click somewhere into a line and invoke the copy command
paste

=> you no longer paste the full line
This used to work. Marking as important.

@bpasero I can do some git bisection to try to find the root cause...

@isidorn do not even try it, git bisect does not work in this case

Caused by https://github.com/Microsoft/vscode/issues/11673


add sorting features

The site would sort results by calculated score but we can give the user the option to sort by quality alone, maintenance alone, popularity or a combination maybe ??

There's a branch that adds the this feature: https://github.com/npms-io/npms-www/tree/search-settings-url
It needs some work but is almost done. Can you try it out and give feedback?

great feature!
I'm playing around with the branch and it is not really clear what should be the expected result after configuring the sorting option.
For example - if I want to sort result only by popularity, I will move the "popularity weight" to max and all the other weights to min, but the result is not sorted by popularity (from hight to low).


import syntax is incorrect

Hi @DevDario,
Thank you for pointing this out.
Are you interested in making a PR for this?
The repo for the docs is here: https://github.com/codeskills-dev/md-to-react-email-docs

Sure, @lordelogos

@lordelogos I've made the PR, you can now review it 😉

@DevDario, PR has been merged.
Thank you!

It was my pleasure


Bad

You ate wob you bastard

thanks kian well wob is now long gone

ok.

wobwobwob

wob wob wob!?!??!

the what now

PRISM, as its clumsy name suggests, is nothing more than a glorified modification of the popular Adonis admin commands that connects to a separate and independently managed server through Httpservice. Not only is PRISM designed in a way where significant security flaws exist in the form of LoadstringEnabled() being set to true and potential limitations on the gameplay due to poorly built-in anti-exploit mechanics, but also designed by a team of developers intent on advancing their self-interest over the will of the group by putting in as little effort into group projects as possible. For me, the constant kicking of BHNPS players when it was big was enough for me to believe that PRISM is detrimental in more way then one of gameplay. It is a shame that it is the official Plasma anti-exploit system.

https://www.urbandictionary.com/define.php?term=PRISM

AAAAAAAAAAAAAAAAAAAAAAA


Create a new API Umbrella user on Apinf sign-up

Create a request to API Umbrella generating an API user  whenever a new user signs up to Apinf. Add the key to Apinf database. Note that every Apinf user should be linled to an API Umbrella user via id.
User story: As Minh (API consumer), I want to get the API keys.
Definition of done:

[x]  Store API Umbrella users in Apinf database
[x]  Linking between data collections
[ ]  Function (collection helper) to link relationship

So far, I was able to create an API Umbrella User on Apinf sign up. At the same time apiUmbrellaUser's ID is linked to apinf user's object as well as API Key field is now visible with real api key on profile settings page. Here is the branch I am working on - link.
There are two issues that do not affect functionality but still can be solved:

[ ] When user is being created on Apinf the API Umbrella user object looks like:

apiUmbrellaUserObj = {
      "user":{
        "email": user.emails[0].address,
        "first_name": "First Name",
        "last_name": "Last Name",
        "terms_and_conditions":true
      }
    }

...meaning that there is no way to get real user's first name and last name because Apinf user object has just email after signing up without social services.

[ ] Do we need create apiUmbrella User in Apinf database instantly after user is created on apiUmbrellaWeb or we can wait for daily sync update handled by cron tasks?


[Feature Requested] Shuffle a collection

Now we have randomSample method for collections to get multiple random elements of a specific number with orders shuffled. This behavior should make it easy to make a shuffle method, which don't have to take any parameters (or a generator, if needed) to shuffle the collection. Inside the shuffle method, we just have to call randomSample(count: self.count) and it should work as expected:
let aCollection = [1, 2, 3, 4, 5]
let shuffled = aCollection.shuffled()
// ↑ which should be identical with `aCollection.randomSample(count: aCollection.count)`

Sorry, my bad, I didn't notice that we already have shuffled() method in Swift core library 😅


Loot tracker: Add grouping by day.

Adds an additional filter to the loot tracker, filtering by day.
When enabled loots are split per day. Days are separated by a date label.

Works together with other filters like separate drops:

And ignored items:

If all drops are ignored for a day the header would also be removed.

This should be on website and not in client. In client it do not even makes sense because client only loads last 1000 entries.

The use case is when I do the same PVM multiple days in a row without resetting. Then I want to know how much was from today vs yesterday.
The intention was never to create some complete drop log that is searchable by date. Also, I believe most people are not logged to get their loot saved?

I agree this should be on the site since the UI can be done much better there. It will also let you export the raw data so you can organize it in whatever way you want to.


Core :: Cleanup tasks for resource/configuration-service - K8s service name

Technical details
Subtask of #7827
Action Items

[x] Remove the old configuration-service Service

DoD

[x] Acceptance criteria are met
[ ] Manual test that every pipeline works fine

Most of the pipelines are tested with integration tests run, zeroDowntime test run and CI, the non-tested are: release and pre-release pipelines, which should not be affected


Dynamically retrieve container ID

Updated createTagLayer
Grabs the ID from the Docker API ImageHistory method and assigns it to baseLayer

@Btlyons1 Sorry, just saw this. Mind rebasing and then I'll review? Apologies for the insanely delayed review...

Hey @josephschorr no worries. I created the PR for @gamkiller77. If you like the added functionality of grabbing the baselayer dynamically instead of passing a flag, I'm more than willing to rebase. If not, you can close the PR.

@Btlyons1 Yeah, definitely. I think it is worth doing.

@gamkiller77 Mind giving these changes a test?
@josephschorr I moved the dynamic assignment of the baseLayer variable to line 441 where it checks if the baseLayer/baseImage vars are empty. If those values are empty, it will assign baseLayer dynamically to the first image ID in the image history. I didn't want to change the functionality that Kenny's PR introduced. If you don't agree with the changes, let me know. Thanks


use roundedRect with boxy drawImage

Hi,
please, is there a way to draw  image in a rounded rect  by using drawImage ?
I have seen ctx.fillRoundedRect used in the pixie, but I struggle to use it with boxy.
Thanks for a great library.

That's about how we intended it be used.


Fantasy Calendar Integration

Scope
I would like to use Fantasy Calendar for my date schemes within RPGM.
Describe the solution you'd like
One way to do this would be to include the in game date in the YAML, but I don't know how it would work.
Alternatives
Additional context
Right now I run a modern game in VtM so I am lucky to use the date manager out of the box, but I use other games that have alternate calendars for in game activities. Out of the Box, it doesn't seem that RPGM can handle that kind of thing yet.

Duplicate of #125 being implemented for 3.2


error: 'memcpy' was not declared in this scope   while compiling protobuf   in QNX

In protobuf  file protobuf/src/google/protobuf/stubs/fastmem.h
code are   as below :
#ifndef GOOGLE_PROTOBUF_STUBS_FASTMEM_H_
#define GOOGLE_PROTOBUF_STUBS_FASTMEM_H_
#include <stddef.h>
#include <stdio.h>
#include <string.h>
#include
#include <google/protobuf/stubs/common.h>
#include
#include
#include
namespace google {
namespace protobuf {
namespace internal {
// Return true if the n bytes at a equal the n bytes at b.
// The regions are allowed to overlap.
//
// The performance is similar to the performance memcmp(), but faster for
// moderately-sized inputs, or inputs that share a common prefix and differ
// somewhere in their last 8 bytes. Further optimizations can be added later
// if it makes sense to do so.:w
inline bool memeq(const char* a, const char* b, size_t n) {
size_t n_rounded_down = n & ~static_cast<size_t>(7);
if (GOOGLE_PREDICT_FALSE(n_rounded_down == 0)) {  // n <= 7
return memcmp(a, b, n) == 0;
}
// n >= 8
uint64 u = GOOGLE_UNALIGNED_LOAD64(a) ^ GOOGLE_UNALIGNED_LOAD64(b);
uint64 v = GOOGLE_UNALIGNED_LOAD64(a + n - 8) ^ GOOGLE_UNALIGNED_LOAD64(b + n - 8);
if ((u | v) != 0) {  // The first or last 8 bytes differ.
return false;
}
What version of gRPC and what language are you using?
     grpc-1.13x   ,c++

What operating system (Linux, Windows,...) and version?
    QNX

What runtime / compiler are you using (e.g. python version or version of gcc)
      compile time     , qnx  compiler

What did you do?
If possible, provide a recipe for reproducing the error. Try being specific and include code snippets if helpful.
What did you expect to see?
What did you see instead?
/home/sgiripunje/grpc-1.13.x/third_party/protobuf/src/google/protobuf/repeated_field.h:1448:11: error: 'memcpy' was not declared in this scope
/home/sgiripunje/grpc-1.13.x/third_party/protobuf/src/google/protobuf/repeated_field.h: In instantiation of 'void google::protobuf::internal::ElementCopier<Element, true>::operator()(Element*, const Element*, int) [with Element = long long int]':
/home/sgiripunje/grpc-1.13.x/third_party/protobuf/src/google/protobuf/repeated_field.h:1430:37:   required from 'void google::protobuf::RepeatedField::CopyArray(Element*, const Element*, int) [with Element = long long int]'
/home/sgiripunje/grpc-1.13.x/third_party/protobuf/src/google/protobuf/repeated_field.h:1424:12:   required from 'void google::protobuf::RepeatedField::MoveArray(Element*, Element*, int) [with Element = long long int]'
/home/sgiripunje/grpc-1.13.x/third_party/protobuf/src/google/protobuf/repeated_field.h:1405:14:   required from 'void google::protobuf::RepeatedField::Reserve(int) [with Element = long long int]'
/home/sgiripunje/grpc-1.13.x/third_party/protobuf/src/google/protobuf/wire_format_lite_inl.h:381:5:   required from 'static bool google::protobuf::internal::WireFormatLite::ReadPackedFixedSizePrimitive(google::protobuf::io::CodedInputStream*, google::protobuf::RepeatedField*) [with CType = long long int; google::protobuf::internal::WireFormatLite::FieldType DeclaredType = (google::protobuf::internal::WireFormatLite::FieldType)16u]'
/home/sgiripunje/grpc-1.13.x/third_party/protobuf/src/google/protobuf/wire_format_lite_inl.h:416:1:   required from here
See TROUBLESHOOTING.md for how to diagnose problems better.
Anything else we should know about your project / environment?

My first instinct was to redirect you to https://github.com/protocolbuffers/protobuf/issues since the issue seems to be when you are compiling protobuf, but it looks like that the issue might be more to do with the environment.
I haven't worked with QNX so I won't be able to tell what's missing or if there are some other peculiarities. A wider community like stackoverflow might be better able to help.


Create an out of stock product for e2e tests

Update the sample data to have a product that is out of stock for the cart test

Link to PR https://github.tools.sap/cx-commerce/spartacussampledataaddon/pull/71/files


Latest Source Not in Pub.Dev

Good day.
When will the updated 1.2.7 version of the release be pushed to pub.dev? The latest up is 1.2.6, prior to the customizable dropdown.
Best regards

Published

Thank you so much. Greatly appreciate your work.


Different output in new SS report file

Comparing the report files generated using the new sso method in SS with the ones generated using the extra-mcmc method, there is a discrepancy:
Old extra-mcmc method (approx line 2476):
sel*wt 1 2021 1 1 1 2021_1_sel*wt  ...
.. 5 more lines
New sso method (approx line 2531):
sel*wt 1 2020 1 1 1 2020_1_sel*wt ...
.. 5 more lines
So 2020 is reported instead of 2021 for the final year for all of sel*wt, sel*ret*wt, sel_nums, sel*ret_nums, dead_nums, and dead*wt
All inputs were identical
@kellijohnson-NOAA

I will look at this tomorrow, but I was easily able to find what you are referring to. Thanks for making an issue.

I added the 'eyes' emojii to Chris's first comment - as in 'good eyes' in spotting that change, that will really have confused things....

I'm sure this is related to #859. As I said there, I bet there is one line of code that fixes all of these non-reporting of 2021 issues.

We might not be able to fix the sel*wt output because it is a timing issue in when things are written with SS3. Please let me know Chris if this will be a problem, please let me know, otherwise I think you can close this issue.

Pretty sure this is good to close.


[Question]: Support of partitionning

Contact Details
<EMAIL_ADDRESS>What's the question?
Hello,
Nice project. What is the level of support regarding SQL Server partitionning functionality? Full or conditional?
Thanks,
Relevant log output or information
No response
Code of Conduct

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

As of the initial launch, T-SQL syntax for table partitioning was not yet supported by Babelfish.  PostgreSQL natively supports partition by hash, by range, or by a list of values, and it may be possible to define a partitioned table in the postgres dialect and then reference it from the TSQL dialect, but we haven't tried that.  If you try it, and it does what you need, we'd love to hear how it goes.

In general you can create objects in the tsql dialect and query them in the postgres dialect, but creating objects in the postgres dialect and then accessing them and modifying them from the tsql dialect doesn't always work and is not supported in general.  In some cases like table partitioning it might provide a nice workaround, though, so the guidelines and limitations need to be documented.


[WIP] Closures prototype

Summary
See the desing-doc https://github.com/stan-dev/design-docs/pull/6 and the forum discussion https://discourse.mc-stan.org/t/closures-discussion/14932/
A proptotype autodiff interface for closures.
This builds on the variadic ODEs https://github.com/stan-dev/math/pull/1641
Checklist

[ ] Math issue: ???

[X] Copyright holder: Niko Huurre
The copyright holder is typically you or your assignee, such as a university or company. By submitting this pull request, the copyright holder is agreeing to the license the submitted work under the following licenses:
- Code: BSD 3-clause (https://opensource.org/licenses/BSD-3-Clause)
- Documentation: CC-BY 4.0 (https://creativecommons.org/licenses/by/4.0/)

[ ] the basic tests are passing

unit tests pass (to run, use: ./runTests.py test/unit)
header checks pass, (make test-headers)
dependencies checks pass, (make test-math-dependencies)
docs build, (make doxygen)
code passes the built in C++ standards checks (make cpplint)

[ ] the code is written in idiomatic C++ and changes are documented in the doxygen

[ ] the new changes are tested

@nhuurre variadic ODEs are in, does this have blockers still?

@nhuurre Hey Niko, apologies it took me so long to get back to this, but is now a good time to work on this? It would be cool to get closures in for the next release (3 months from now).

@SteveBronder Oh yeah I was one of the blockers lol.

Superseded by #2094


Order of colors in boxplot

The order of boxes is good, but the order of colors is reversed in the box plot (the entire order, both main colors and shades). It needs to preserve the order of boxes but flip the order of colors.

Ah yes, I pushed a fix 👍


Power metering (MEGH-3343)

Add power meter basic type and parameter, akin to temperature and #105 (humidity sensor).
More context over:
https://esp32.com/viewtopic.php?f=13&p=94595#p94595
https://github.com/brainstorm/yigedianqi-modbus/
https://github.com/brainstorm/yigedianqi-modbus/tree/esp-idf-rainmaker

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

Thanks @shahpiyushv, it doesn't block any of my projects, I was just going by the same moves as #105, didn't know about Alexa/GVA side of things since I don't own one nor I'm interested in them.
I guess that I could do the same thing just sticking with other custom type(s)? Then there's no need to go with has been done in this PR ;)z
Feel free to close this PR it in any case if it doesn't serve yours or Espressif's needs. Cheers!

I wanted to contribute power metering cluster/attributes writing on the Matter spec after reading the PDFs:
https://csa-iot.org/wp-content/uploads/2022/10/22-27349-001_Matter-1.0-Core-Specification76.pdf
https://csa-iot.org/wp-content/uploads/2022/10/22-27351-001_Matter-1.0-Device-Library-Specification39.pdf
https://csa-iot.org/wp-content/uploads/2022/10/22-27350-001_Matter-1.0-Application-Cluster-Specification15.pdf
But apparently it's a private repository?: https://github.com/project-chip/connectedhomeip/issues/23339#issuecomment-1290736128
I guess that for now I'll have to go with the custom data model documented on esp-matter docs to match the power metering needs (fairly close to i.e the temperature sensor present in the 1.0 Matter spec anyway).

@brainstorm I think it is not possible right now


Solved Issue #8 Uneven Card heights in Resources Section [GSSOC'23]

[fix] Uneven height of Cards in resources section.
[fix] Uneven height of Cards in Stats section.
Close #8

Before
After

@Abhirup-02 ,
Sir Can you kindly add GSSoC'23 and Level Labels to this PR and assign it to me for GSSOC ?
Thank you for your time in advance.
Regards,
Jeyavishnu @vishnu9865

@vishnu9865 I don't think it's necessary. As your PR holds the issue no. and the issue has those tags, it should be find.
But still I asked the managers about that, and if you know otherwise please let me know.

Oh, Thank you @Abhirup-02, Its that the GSSOC system is still vague so I asked Just in case.
Anyway If there is any update from the managers please let me know.
Thank you for taking time for me.
Regards,
Jeyavishnu

Yeah yeah definitely

You were right @vishnu9865


[AzureMonitorExporter] cleanup statsbeat logging

Towards #34581
Our demo app is repeatedly logging this error:
2023-06-30T18:09:25.7236334Z:Failed to initialize Statsbeat due to an exception. Instrumentation Key: {0}. {1}{00000000-0000-0000-0000-000000000000}{System.InvalidOperationException: Cannot initialize statsbeat
   at Azure.Monitor.OpenTelemetry.Exporter.Internals.Statsbeat.AzureMonitorStatsbeat..ctor(ConnectionVars connectionStringVars, IPlatform platform) in C:\REPOS\AzureSDK\sdk\monitor\Azure.Monitor.OpenTelemetry.Exporter\src\Internals\Statsbeat\AzureMonitorStatsbeat.cs:line 55
   at Azure.Monitor.OpenTelemetry.Exporter.Internals.AzureMonitorTransmitter.InitializeStatsbeat(AzureMonitorExporterOptions options, ConnectionVars connectionVars, IPlatform platform) in C:\REPOS\AzureSDK\sdk\monitor\Azure.Monitor.OpenTelemetry.Exporter\src\Internals\AzureMonitorTransmitter.cs:line 148}

The reason is the default connection string uses the global ingestion endpoint, which doesn't have a Statsbeat endpoint match (this is by design).
In this case, Statsbeat should log a more informative message.
Changes

log a more informative message when Stastbeat fails to match the endpoint
Include IngestionEndpoint in Statsbeat log (this is a vital parameter for initialization).
downgraded the LogLevel to Informational. This is in line with other Statsbeat messages.

API change check
API changes are not detected in this pull request.


Use existing server instead off local jar file?

Dear Anton,
is there any chance to use typst-languagetool with an existing server within my LAN (I can tunnel any port to localhost via SSH). As running the local jar file consumes a lot ram and cpu un my somehow outdated hardware.

I added the option to use a languagetool server.
With the feature remote-server and the options host=... and port=... a remote server is used.
The request is only the text content without markup, so long documents should work.
The text is not seperated so really long documents might fail.

Sad to say, but I am new to rust.
But I finally manged to compile the cli and the lsb on Windows via
cargo install --git=https://github.com/antonWetzel/typst-languagetool lsp --features=remote-server and
cargo install --git=https://github.com/antonWetzel/typst-languagetool cli --features=remote-server
I also managed to find the compiled binaries (c:\users\<myuser>\.cargo\bin)
I am able to check a typst file and a complete directory with
typst-languagetool.exe --language "de-DE" --host http://my.server.url --port 8010 check c:\temp\typst\myfile.typ
But when trying to use the lsp in vscode with this configuration
  "generic-lsp.configuration": [
    {
      "lsp": "C:\\Users\\myuser\\.cargo\\bin\\typst-languagetool-lsp.exe",
      "language": "typst",
      "options": {
        "host": "http://my.server.url",
        "port": "8010",
        }
      },
  ]      ,

requests are made, but the lsp gets an error:
starting LSP server Allow Words not supported for Remote LanguageTool unknown notification: Notification { method: "$/cancelRequest", params: Object {"id": Number(1)} } unknown notification: Notification { method: "$/cancelRequest", params: Object {"id": Number(2)} } unknown notification: Notification { method: "$/cancelRequest", params: Object {"id": Number(3)} }
I am sure, I made an error.
BTW, how to I change the language to be checked from en-US to any other language?

Changing the checked language is possible with
...
"options": {
  "language": "de-DE", // code for document language
  ...,
},
...

The first error happens, because there no easy way to add allowed words with a local server.
https://forum.languagetool.org/t/it-is-possible-to-add-word-with-local-server-rest-api/6479
I added post-processing step to filter the results based on the allowed words, so allowed words should work for remote now.
The unkown notifications happen, because the LSP-server gets cancel request if a file is saved again before the response. I changed the lsp to ingore them without warning.

Dear Anton,
sometimes I encounter errors with the LSP, as it travels through our proxy.
It there any switch I can use to prevent the LSP from accessing my local LT server over the system proxy?
Best regards

@feuermandel The LSP sends an http-request with the host and port. I think I can't change whatever answers the request.


Remove references to WHATWG to avoid confusion

Fixes #127

I think if the comment from @handrews can be applied then this looks good.
IMO we should reference RFC3986 Section 4.2 directly for relative references (https://datatracker.ietf.org/doc/html/rfc3986#section-4.2) rather than via the OAS latest reference table.

@frankkilcommins - finally fixed :)


Out of all places to fix a crash in PM, this is not where I expected to end up.

https://github.com/MEEPofFaith/prog-mats-java/issues/24

what even is this, I just noticed this in the reporter's mod list


Punish naughty makers/takers

With 0.4.0, we are shipping perpetual CFDs which introduces the possibility of publishing old commit transactions. Currently this is not handled.
We need to handle this.
Consider waiting for ES to land before implementing this.

Descoped because it is not too critical right now. Would require forking the software.

We now have a real-world case where this feature would be needed: https://github.com/itchysats/itchysats/issues/1617

This project is unmaintained


[suggestion] give a redstone pluse in the back when block is mined.

so it can work with flying machine better :>

So sorry, didnt see your Issue! As I'm unfortunately no longer working on this project, it may take a while, but I'll get to it.
Thank you for your suggestion :)

Implemented in the Latest Release 1.19.2-<IP_ADDRESS>!
See b38f003 and 745f44c for more infos.


Feature Request: Support decryption of recipient-less messages

Thank you for this library!
I'm adding this issue in the hopes that I can submit a PR to address it, but the workflow I would like to have is this:

You encrypt a message using gpg -R on the command line i.e.

❯ cat test.txt
foobarfoobarfoobar
❯ gpg -e -a -R 'Connor James Smith<EMAIL_ADDRESS>-o test3.txt.pgp test.txt
File 'test3.txt.pgp' exists. Overwrite? (y/N) y
❯ cat test3.txt.pgp
-----BEGIN PGP MESSAGE-----

hQIMAwAAAAAAAAAAAQ/9HgFExBedlOndKW8bOQ9m4uiNqJnm7UNNCe1IQpJoytHN
FYO6IFXbHCnQVS5EcYJVQO4n9tglqWAT8hwOjAGKwb1XxltY3y62dMRSi+CyPeR+
6dMw/taAHQmw+2xv25KRWEH3xPjTsvI3MVT92PANRsHLRs2L2TOIFUoOBwe7Pgzj
NafR2/R1sIpbDvDnvpJHdwLZrUiyjvug8jxs7Oto8TRv1u8tzgNg8Z6WD9myqM+N
HQWxvMOPJ/iSn5pelD7722eHeL/3JSwtJF30Te+H7809wPw9i9Xaeo5p3SHfLXdu
egr5xGrr5aoRHfQwkhbhAYOrX63N/FUsCqCfr2e2XcUKSpxwXLz+J9L+94Es02KX
tL+FZXDSB/sBV5qmanfVs+XGB+rZQ7VjS+PcxLc0I3EuLQr2hgJEsRd5DYNjArH1
2072S9eF1Kmq/uQE231KUSqv1UUDm3oX8Lg53Pt1f/F07go2QOFdmHjONSf5VUcb
2uAOyHS05iLnj/Uciqu1QQyvJz8YF5FCWlpCXZSsDfXqx7esEZWvztkAkwQa3E/n
VRc/UkwT31axtrYXp1KAbrx0Hg61Cqdejn5K2hnNz4JUlcNCwYRSPPbwmbKcYB/k
v8xeUKgx4DS/RzJFZUH/SIclCi1MvJo6ILiFKoVz2GU570b6R4XNWE9bREm7GvDS
TAFzoBx/OP/AICMaKbyOT0rHZmgvLbZsqo496q7dSsC3Cn6HvLG5xqvxt4afon+I
PUrwTuf/XJN2/lFEk1yTpk9ebFDDSECWDts6jtc=
=IeYl
-----END PGP MESSAGE-----

Inside a unit test, be able to decrypt with hard-coded private key

test("decrypt works") {
  val input = "foobarfoobarfoobar"
  val encryptedInput: String = ??? //omitted
  val privateKeyString: String = ??? //omitted
  implicit val logger: Logger[IO] = Slf4jLogger.getLogger

  for {
    resultString <- PGPKeyAlg[IO].readPrivateKey(privateKeyString).attempt.flatMap {
      case Right(k) if k.getKeyID > 0 =>
        (for {
          crypto <- Stream.resource(CryptoAlg[IO])
          output <- Stream
            .emits(encryptedInput.getBytes())
            .through(crypto.decrypt(k))
            .through(utf8.decode)
            .attempt
        } yield output).compile.foldMonoid
      case Right(_) => new Throwable("shouldn't happen!").asLeft[String].pure[IO]
      case Left(e) => e.asLeft[String].pure[IO]
    }
  } yield {
    resultString match {
      case Right(s) => assertEquals(s, input)
      case Left(e) => fail(s"should never happen: ${e.getMessage}")
    }
  }
}

What is happening when I try this right now is this:
should never happen: Cannot decrypt message with key 0 because it requires key <key omitted>

Thanks again.

I think I was able to reproduce this with the private key that's part of the test suite of this library.
$ export GNUPGHOME="$(mktemp -d)/.gnupg"
$ mkdir -m 0700 -p "${GNUPGHOME}"
$ pbpaste | gpg --import
gpg: invalid armor header: lQVYBGDozbkBDACt63OSGFh4pVHSpVcPZXot2ZcHepkPXSJOFE+PnLOAvcMK8O9s\n
gpg: /var/folders/zl/t99c6ptn4p78vg6l6f24xwjc0000gq/T/tmp.b1L1ozoY/.gnupg/trustdb.gpg: trustdb created
gpg: key 52AFF6B5A43D6EBB: public key "key 1<EMAIL_ADDRESS>imported
gpg: key 52AFF6B5A43D6EBB: secret key imported
gpg: Total number processed: 1
gpg:               imported: 1
gpg:       secret keys read: 1
gpg:   secret keys imported: 1
$ echo "Hello World" | gpg --encrypt --armor --hidden-recipient "key 1<EMAIL_ADDRESS>gpg: 54E4844CFE7C68E1: There is no assurance this key belongs to the named user

sub  rsa3072/54E4844CFE7C68E1 2021-07-09 key 1<EMAIL_ADDRESS> Primary key fingerprint: 7EEE F61D E397 A6B1 350B  6F93 52AF F6B5 A43D 6EBB
      Subkey fingerprint: C4BD 9D01 85E9 B333 4D8D  D55D 54E4 844C FE7C 68E1

It is NOT certain that the key belongs to the person named
in the user ID.  If you *really* know what you are doing,
you may answer the next question with yes.

Use this key anyway? (y/N) y
-----BEGIN PGP MESSAGE-----

hQGMAwAAAAAAAAAAAQv/QQ8RnRGF6jaPTUpuBoPollIBvPIzqokTGzuTaVD4bKsg
GGt4ooPpcTkxn0MRLs3rNJfZjaULSkWtUxc4NsSbqmrl8g3smnwJWk/UIR097zlC
s30/o3WlmSodAGbEuP5Y+mbAErwGbCs1e7cn1LqQO3BrSZ3m7djif9fiWRdb3AZ4
YPX5dmmOZLZoNQO5zLNu3iolrTXyimQLcS7VoFQ+Nbj9hOS+vDzcg6Kycaky7U+M
arfyyaqWan8hVygDthMT+n3Au0l7lBzN99aZmC13OP2fhuBBXvrGF+njFS+RkEOs
LToMlpFVYWlEFSnYlIQjsxKBzMKThNudKM7r4Kc1yw88DQ9C/rWZxmMxTyLAA4C7
QZKdO+zYfzSCYq3bO+YdN8vUGZPS63YN8Pp6qWvIXOZ3oecxmidqjGsItLpxJ0KK
zJ0IWVsQj1Zc/2zSojw8edcMh86PFbQsC4aPpMK54KiU4YKXcUnaDeQ48BGv27Po
Qx9PqZi+1ROo+anCVWrn0kcB/+g0TzSpG+nwMI4gxNTTAuybzEscK2ifkA76Df45
cSypFoj4OIRtTZ8iSGhfgt0fCn1qUrEs7Vw+iNYSqpl9/ue3u1icCQ==
=kHjl
-----END PGP MESSAGE-----

Then I added a test to CryptoAlgSpec:
test("CryptoAlg should decrypt a fixed value encrypted with our test key") {
  val crypto = resource()

  val message =
    """-----BEGIN PGP MESSAGE-----
      |
      |hQGMAwAAAAAAAAAAAQv/QQ8RnRGF6jaPTUpuBoPollIBvPIzqokTGzuTaVD4bKsg
      |GGt4ooPpcTkxn0MRLs3rNJfZjaULSkWtUxc4NsSbqmrl8g3smnwJWk/UIR097zlC
      |s30/o3WlmSodAGbEuP5Y+mbAErwGbCs1e7cn1LqQO3BrSZ3m7djif9fiWRdb3AZ4
      |YPX5dmmOZLZoNQO5zLNu3iolrTXyimQLcS7VoFQ+Nbj9hOS+vDzcg6Kycaky7U+M
      |arfyyaqWan8hVygDthMT+n3Au0l7lBzN99aZmC13OP2fhuBBXvrGF+njFS+RkEOs
      |LToMlpFVYWlEFSnYlIQjsxKBzMKThNudKM7r4Kc1yw88DQ9C/rWZxmMxTyLAA4C7
      |QZKdO+zYfzSCYq3bO+YdN8vUGZPS63YN8Pp6qWvIXOZ3oecxmidqjGsItLpxJ0KK
      |zJ0IWVsQj1Zc/2zSojw8edcMh86PFbQsC4aPpMK54KiU4YKXcUnaDeQ48BGv27Po
      |Qx9PqZi+1ROo+anCVWrn0kcB/+g0TzSpG+nwMI4gxNTTAuybzEscK2ifkA76Df45
      |cSypFoj4OIRtTZ8iSGhfgt0fCn1qUrEs7Vw+iNYSqpl9/ue3u1icCQ==
      |=kHjl
      |-----END PGP MESSAGE-----
      |""".stripMargin

  for {
    key <- PGPKeyAlg[IO].readSecretKeyCollection(TestKey())
    text <- Stream
      .emit(message)
      .through(text.utf8.encode)
      .through(crypto.decrypt(key))
      .through(text.utf8.decode)
      .compile
      .lastOrError
  } yield {
    assertEquals(text, "Hello World")
  }
}

which fails with

com.dwolla.security.crypto.KeyRingMissingKeyException: Cannot decrypt message with the passed keyring because it requires key 0, but the ring does not contain that key

If I change it to use PGPKeyAlg[IO].readPrivateKey(TestKey()) instead of readSecretKeyCollection, it still fails, but with

com.dwolla.security.crypto.KeyMismatchException: Cannot decrypt message with key 0 because it requires key<PHONE_NUMBER>039458491

Does that seem like a correct reproduction, @CJSmith-0141?

@CJSmith-0141 could you try the code in the hidden-recipients branch (what's in #77) and let me know if it works for you? If so, we should be able to merge it and cut a new release.

hello @bpholt sorry for the delay. I was able to build this branch, publishLocal and switch my project to use the snapshot version.
I have a unit test that is set up to fail in the case where this feature is implemented, and it failed. Which means the feature works!
test("FUTURE FEATURE: decrypt does not work with gpg encrypted message, anonymous recipient") {
    val input = "foobarfoobarfoobar\n"
    val encryptedInput = ??? //omitted for brevity

    (for {
      resultString <- PgpService.decryptString[IO](unitTestOnlyPrivateKeyString, encryptedInput)
    } yield resultString).unsafeRunSync() match {
        case Right(s) =>
          fail(
            s"Decryption with anonymous recipient worked, unexpectedly.\n" +
              s"Result String: ${s}\n" +
              s"input: ${input}"
          )
        case Left(e) =>
          assert(
            e.getMessage.contains(
              "Cannot decrypt message with the passed keyring because it requires key 0"
            )
          )
    }
  }

and the result:
[info] - FUTURE FEATURE: decrypt does not work with gpg encrypted message, anonymous recipient *** FAILED ***
[info]   Decryption with anonymous recipient worked, unexpectedly.
[info]   Result String: foobarfoobarfoobar
[info]
[info]   input: foobarfoobarfoobar (PgpServiceSpec.scala:560)

Thank you for implementing this!

Excellent! I'll get the PR merged and cut a release!


App Installed but it's not displayed in my home screen

I installed the app but i can't open it

@MrConqueror Could you tell me what device are you using with what version of Android? Also can you send me a tutorial on how you do it to install the app, I will follow the same method?
Can you check into the Settings > Apps > See All Apps, if the app is well installed and you can open it.

@MrConqueror Could you tell me what device are you using with what version of Android? Also can you send me a tutorial on how you do it to install the app, I will follow the same method?
Can you check into the Settings > Apps > See All Apps, if the app is well installed and you can open it.

Poco X3 GT and i think this is Android 12. I just install the app like normal person LOL

The app is only compatible on Android TV, on devices such as Chromecast with Google TV, Amazon Fire TV Stick, or smart TVs.
It's not supported on Android smartphone.
If you know how to use Android Studio, you could replace true by false on this line:
https://github.com/stantanasi/sflix/blob/e4bf1b0906137b36b2c02dfc18724a5f31f7c343/app/src/main/AndroidManifest.xml#L12
By setting required="false", you will be able launch the app on your Android smartphone.
But I have to warn you that the app is not optimized for small touchscreens, so you may have some difficulty navigating through movies and TV shows.


Workbook_Standalone

Change(s):
Added three Workbook
Reason for Change(s):
New workbook
Version updated:
No
Testing Completed:
Yes

Hello @InspiraEnterprise, You can close on this PR. We have raised a new PR with content mentioned in this PR
#11310
Please close on this PR for the same.


Prefix for imported secrets

I'm pulling secrets from Vault from multiple secret paths.  Unfortunately, some of those secrets uniquely named.  Could we get a new option to insert a prefix/parentPath into the secrets imported at the path?
e.g. something like:
{
    "ConnectionString": "secret value",
    "Option1": "secret value 2",
}

with code like:
config.AddVaultConfiguration(
        () => new VaultOptions(
            "htpp://localhost:8200",
            new KerberosAuthMethodInfo(),
            reloadOnChange: true,
            reloadCheckIntervalSeconds: 60),
        "azure/signalr",
        "secret", prefix: "SignalR" );

would mean the ConnectionString value would be accessible under Configuration[SignalR:ConnectionString]

@almostjulian please check the BasePath in VaultConfigurationSource. It should do what you want:
 // act
 ConfigurationBuilder builder = new ConfigurationBuilder();
 builder.AddVaultConfiguration(
     () => new VaultOptions("http://localhost:8200", "root"),
     "SignalR", // <---- this is base path, basically the prefix
     "secret", // <---- this is the mount point
     this._logger);

So, do you want to import from Vault with a prefix, or read keys with a certain prefix, I think that's what I don't get at the moment :)

Ok, I see. That is something possible. I don't have much time but can do some stuff over the weekend. Feel free to submit your PR if you can.

Sure thing, I'll try to submit something later this week before the weekend.

Apologies for the delay, I've created #53 for this

Released in 1.0.2 https://github.com/MrZoidberg/VaultSharp.Extensions.Configuration/releases/tag/1.0.2


Strongly-typed columns in query/subscription client API

This PR addresses core-java#1212.
It enables the generation of strongly-typed entity columns and message fields for queryable and subscribable types respectively.
Columns
For all messages that represent an entity state and have columns, a Column nested class will be generated which looks similar to as follows:
class Mirror
// extends GeneratedMessageV3, etc. {

// ...

  public static final class Column {
    private Column() {
    }

    public static io.spine.base.EntityColumn aggregateType() {
      return new io.spine.base.EntityColumn("aggregate_type");
    }
  }

The value obtained through calling Mirror.Column.aggregateType() can then be passed to the query filters to form a query request.
Fields
The generation of fields is similar to columns, except they expose the nested fields:
class ProjectCreated
// implements EventMessage, etc. {

  // ...

  public static final class Field {
    private Field() {
    }

    public static ProjectIdField id() {
      return new ProjectIdField(io.spine.base.Field.named("id"));
    }

    public static final class ProjectIdField extends io.spine.base.EventMessageField {
      private ProjectIdField(io.spine.base.Field field) {
        super(field);
      }

      public io.spine.base.EventMessageField value() {
        return new io.spine.base.EventMessageField(getField().nested("value"));
      }
    }
  }

The nested field "id.value" is exposed with the help of a nested class and can be obtained as follows:
ProjectCreated.Field.id().value()

The obtained EventMessageField instances can then be passed to subscription filters to form an event subscription request.
Configuration
The strongly-typed columns and fields generation is regulated by the modelCompiler extension.
While for columns there is only a generate flag which enables or disables the strongly-typed columns generation, the fields generator is more configurable.
The default configuration is as follows:

modelCompiler {

    // ...

    columns {
        generate = true
    }

    fields {
        generateFor messages().inFiles(suffix: "events.proto"), markAs("io.spine.base.EventMessageField")
        generateFor messages().inFiles(suffix: "rejections.proto"), markAs("io.spine.base.EventMessageField")
        generateFor messages().entityState(), markAs("io.spine.base.EntityStateField")
    }
}

In general, it enables field generation for the following message types:

Types that are considered to be entity states.
Types that are considered event messages.
Types that are considered rejection messages.

The core-java further expands these configurations, enabling field generation for own specific types as required by the Spine routines. See core-java#1229.
Other
The Model Compiler now also supports generation of custom nested classes for the message types which is, in general, similar to the method generation.
It is required to implement io.spine.tools.protoc.nested.NestedClassFactory and then specify the type FQN to the nestedClasses closure of modelCompiler configuration. Example:
nestedClasses {
    applyFactory "com.some.CustomNestedClassFactory", messages().inFiles(suffix: 'file_suffix.proto')
}

Version
The Spine version advances to 1.4.5.

return new io.spine.base.EntityColumn("aggregate_type");

Why do we want to create a new instance of the column each time? Why cannot we have static constants in a static class and return them?

Let's have singular for Column and Field. It would look better in the calling code.

@armiol, @dmdashenkov PTAL again.

@dmdashenkov PTAL again.


Add a DEPRECATION notice

There is now an official image: https://hub.docker.com/_/consul/ @progrium

Now that 0.7 is out, should this repo be marked as deprecated, or is someone planning to make a 0.7 build? I made a similar comment of docker hub, but looking at other unanswered comments there not sure anyone is monitoring there either.

That's their image, not the gliderlabs image. This image still works, and while we haven't made a 0.7 release, thats just due to lack of time.


test: put test_prctl and test_clearenv under test.rs

What does this PR do
Move test_prctl and test_clearenv to test.rs
I actually have no idea why they are put under their own sections, but it seems to be ok to let them live with other tests.
No actual code changes in test/sys/test_prctl.rs, I just removed
#[cfg(target_os = "linux")]
#[cfg(feature = "process")]
mod test_prctl {
}

and shifted the code
Checklist:

[x] I have read CONTRIBUTING.md
[ ] I have written necessary tests and rustdoc comments
[ ] A change log has been added if this PR modifies nix's API

The prctl stuff is in its own test program because it changes process-wide settings that might affect other tests.
https://github.com/nix-rust/nix/pull/1550#discussion_r917456288 .  clearenv also affects the process-wide environment.

The prctl stuff is in its own test program because it changes process-wide settings that might affect other tests. #1550 (comment) . clearenv also affects the process-wide environment.

Makes sense, they should be put in their own processes, close this PR


Prevent 301 Moved permanently to proxy location

Hi, I have the following setup:
nginx-proxy is started with docker-compose up -d
version: '2'

services:
    nginx-proxy:
        container_name: nginx-proxy
        image: jwilder/nginx-proxy
        restart: unless-stopped
        networks:
            - default
        ports:
            - "80:80"
        volumes:
            - "/var/run/docker.sock:/tmp/docker.sock:ro"

Then I have running Apache in a new container and serving a project with
version: '2'

services:
    my-domain:
        image: RafaelKr/apache:latest
        networks:
            - my-domain
            - nginx-proxy
        expose:
            - "3000"
        restart: unless-stopped
        environment:
            VIRTUAL_HOST: "my-domain.dev"
        volumes:
            - "./generated:/var/www:ro"

networks:
    my-domain:
    nginx-proxy:
        external:
            name: nginxproxy_default

If I make a request to http://my-domain.dev/contact/, everything is working fine, but if I use http://my-domain.dev/contact, then I get a status code 301 Moved permanently and a header Location: http://my-domain.dev:3000/contact/. It tries to redirect me to the container and fails then, because the port is only exposed to the nginx-network.
I have set a proxy_redirect in my /etc/nginx/conf.d/default.conf like this:
server {
        server_name my-domain.dev;
        listen 80 ;
        access_log /var/log/nginx/access.log vhost;
        location / {
                proxy_pass http://my-domain.dev/;
                proxy_redirect http://my-domain.dev:3000/ http://my-domain.dev/;
        }
}

and also tried some other posibilities (proxy_redirect default;, proxy_redirect off;, proxy_redirect http://my-domain.dev:3000/(.*) http://my-domain.dev/$1;, ...), but nothing worked as expected.
Do you know any possibility to change this behavior with the nginx-config? Or do I have to change the configuration of Apache? (What I would like to avoid!)
Update:
To clarify: I would like to have this redirect, but without the port.
And before somone is asking: Yes, I did a service nginx reload after changing something in the config.

Try to put this in /etc/nginx/vhost.d/my-domain.dev_location:
proxy_redirect http://my-domain.dev:3000/ http://my-domain.dev/;

Unfortunately this doesn't solve my problem. Same behaviour.

Hmm ok, so how does it behave, still redirect to http://my-domain.dev:3000/? can you do a curl -v http://my-domain.dev and paste it here? maybe with and without the config if the response differs

Yes, it still redirects. Thank you for your efforts btw.
rafael@RK-Lap ~ $ curl -Iv http://my-domain.dev/kontakt/
*   Trying <IP_ADDRESS>...
* Connected to my-domain.dev (<IP_ADDRESS>) port 80 (#0)
> HEAD /kontakt/ HTTP/1.1
> Host: my-domain.dev
> User-Agent: curl/7.47.0
> Accept: */*
>
< HTTP/1.1 200 OK
HTTP/1.1 200 OK
< Server: nginx/1.9.15
Server: nginx/1.9.15
< Date: Fri, 05 Aug 2016 06:03:11 GMT
Date: Fri, 05 Aug 2016 06:03:11 GMT
< Content-Type: text/html; charset=UTF-8
Content-Type: text/html; charset=UTF-8
< Connection: keep-alive
Connection: keep-alive

<
* Connection #0 to host my-domain.dev left intact
rafael@RK-Lap ~ $ curl -Iv http://my-domain.dev/kontakt/
*   Trying <IP_ADDRESS>...
* Connected to my-domain.dev (<IP_ADDRESS>) port 80 (#0)
> HEAD /kontakt/ HTTP/1.1
> Host: my-domain.dev
> User-Agent: curl/7.47.0
> Accept: */*
>
< HTTP/1.1 200 OK
HTTP/1.1 200 OK
< Server: nginx/1.9.15
Server: nginx/1.9.15
< Date: Fri, 05 Aug 2016 06:03:11 GMT
Date: Fri, 05 Aug 2016 06:03:11 GMT
< Content-Type: text/html; charset=UTF-8
Content-Type: text/html; charset=UTF-8
< Connection: keep-alive
Connection: keep-alive

<
* Connection #0 to host my-domain.dev left intact

rafael@RK-Lap ~ $ curl -Iv http://my-domain.dev/kontakt
*   Trying <IP_ADDRESS>...
* Connected to my-domain.dev (<IP_ADDRESS>) port 80 (#0)
> HEAD /kontakt HTTP/1.1
> Host: my-domain.dev
> User-Agent: curl/7.47.0
> Accept: */*
>
< HTTP/1.1 301 Moved Permanently
HTTP/1.1 301 Moved Permanently
< Server: nginx/1.9.15
Server: nginx/1.9.15
< Date: Fri, 05 Aug 2016 05:59:19 GMT
Date: Fri, 05 Aug 2016 05:59:19 GMT
< Content-Type: text/html; charset=iso-8859-1
Content-Type: text/html; charset=iso-8859-1
< Connection: keep-alive
Connection: keep-alive
< Location: http://my-domain.dev:3000/kontakt/
Location: http://my-domain.dev:3000/kontakt/

<
* Connection #0 to host my-domain.dev left intact

Same behaviour without including the vhost.d volume. And I'm sure it's included, because my default.conf looks as follows:
upstream my-domain.dev {
				## Can be connect with "nginxproxy_default" network
			# sassproject_my-domain_1
			server <IP_ADDRESS>:3000;
}
server {
	server_name my-domain.dev;
	listen 80 ;
	access_log /var/log/nginx/access.log vhost;
	location / {
		proxy_pass http://my-domain.dev;
                include /etc/nginx/vhost.d/my-domain.dev_location;
	}
}

I also thought it could be a permission problem and did a chown -R root:root on vhost.d (outside the container) and inside now it has also root:root, but that didn't work.

Ah good. You mean why custom config is done via host-named files?
There is a /etc/nginx/vhost.d/default_location file that is a "fallback" if there is no host specific _location config file. But then you need to somehow express the port stripping in a dynamic way... not sure if nginx 1.9 (current version used by nginx-proxy) can do it with proxy_redirect but 1.11 seems to have some stuff regex and variable stuff

Okay, I changed my nginx.tmpl, I added proxy_redirect ~http[s]*://[^/]+/(.*) $scheme://{{ $host }}/$1; to the location / block, which now looks like this:
	location / {
		proxy_pass {{ trim $proto }}://{{ trim $host }};
=>		proxy_redirect ~http[s]*://[^/]+/(.*) $scheme://{{ $host }}/$1;
		{{ if (exists (printf "/etc/nginx/htpasswd/%s" $host)) }}
		auth_basic	"Restricted {{ $host }}";
		auth_basic_user_file	{{ (printf "/etc/nginx/htpasswd/%s" $host) }};
		{{ end }}
                {{ if (exists (printf "/etc/nginx/vhost.d/%s_location" $host)) }}
                include {{ printf "/etc/nginx/vhost.d/%s_location" $host}};
                {{ else if (exists "/etc/nginx/vhost.d/default_location") }}
                include /etc/nginx/vhost.d/default_location;
                {{ end }}
	}

Now it also works, if I'm using browser-sync while developing! http://my-domain.dev/contact and http://localhost:3000/contact or http://my-domain.dev:3000/contact all working now! They get correctly redirected to /contact/.
Thank you very much.

Oh 1.9 can you regex redirect? 👍

Yes, but you can't use every variable. $scheme seems to work :+1:

Just for reference, if somebody stumbles upon this, I solved the same issue by putting the following line in vhosts.d/default_location:
proxy_redirect ~http[s]*://[^/]+/(.*) $scheme://$host/$1;
By using the $host variable, this line works for each domain, even for ones with wildcards like *.example.com


feed_seuratobject_bindingassay

One thing to consider: Cells missing from the motif_df (e.g. when the clustersize was too small), now receive NA in the Seurat assay. This way you can recognize no value was determined for those cells, since the Seurat::FeaturePlot() will show it in a color outside of the legend gradient.
We might consider making that 0. (The motif activity has values ranging from - to +)

I think that since it didnt calculate enrichment for clusters with fewer cells than the threshold, the NA is the correct vallue. If we make it 0 instead we would asume there is no motif signal there, eventhough we dont know :)

My thoughts exactly! :) good, then it should be fine like this! (I also just now discussed with Maarten, he also agrees!)


Suggestion for unique item search

I think it would simplify things greatly if we had all modifiers with numeric value range automatically selected for unique items. I mean the mods that have non constant values.

Duplicate of #172


Update python runtime for AppEngine

⚠ Not tested at all! (don't really know how to check) ⚠
Python 2.7 runtime will reach end of support on 2024-01-31 (https://cloud.google.com/appengine/docs/standard/lifecycle/support-schedule#python), meaning that running ones will be ok but no more deployment possible (https://cloud.google.com/appengine/docs/standard/lifecycle/runtime-lifecycle#end_of_support)
Migration doc: https://cloud.google.com/appengine/migration-center/standard/migrate-to-second-gen/python-differences
https://cloud.google.com/appengine/docs/standard/python3/migrate-to-python3/config-files#updating_appyaml

| handlers: login | Supported if app_engine_apis is true | If you are not using the legacy bundled services for Python 3, use Identity and Access Management (IAM) for user management. |

Meaning there may be something to do for "legacy bundled services for Python 3"
Project in GCP: https://console.cloud.google.com/appengine/services?serviceId=default&versionId=go-listing-3&project=zen-formations

@jlandure @hgwood : si vous avez moyen de valider à la main avant de merger et risquer de faire péter tous les pipelines des formations si c'est pas bon, ce serait préférable.

Je regarde

Voilà ce que j'ai fait pour tester
git clone https://github.com/Zenika-Training/training-react
cd training-react
npx --package github:Zenika/sensei sensei build
cat \<<EOT > dist/app.yml
        service: training-react
        runtime: python312
        app_engine_apis: true
        handlers:
        - url: /
          static_files: index.html
          upload: index.html
          login: required
        - url: /(.*)
          static_files: \1
          upload: (.*)
          login: required
EOT
gcloud app deploy --version python312-test-hgwood --verbosity=info ./app.yml --no-promote --project zen-formations

=> https://python312-test-hgwood-dot-training-react-dot-zen-formations.appspot.com/
Le login fonctionne correctement.

Thanks @hgwood!
I tried with app_engine_apis: false and looks like everything works fine too!

Just checked it right now and it's ok! thanks @hgwood
FYI : https://cloud.google.com/appengine/docs/standard/lifecycle/support-schedule#python

Runtime
Environment
Runtime ID
End of support
Deprecated
Decommission

Python 3.12
Ubuntu 22.04
python312
2028-10-02
2029-10-02


consider Reconcile method in Deployable interface

this seems like defining a reconcile when you define an app makes sense? maybe i’m crazy?

seems like it would work well for #6. another place it might come in handy could be to un-f*ck your installation without doing a full delete-reinstall?

Would this be useful for upgrades, or should there be an Upgradable interface for that?

Maybe install should be smart enough to Do The Right Thing, and so no need for interfaces for reconcile or update?

Closed with https://github.com/kris-nova/naml/releases/tag/1.0.0


Add basic support for spec formatters

I'm planning on building a tool to analyze natalie's spec outcomes, so I needed a way to programmatically analyze the spec's output. So I introduces basic formatter support for our specs.
You are now able to pass -f yaml to get an YAML output similar to the one mspec is generating.
Example:
---
exceptions:
- "including the nested Enumerator ERROR\nuninitialized constant Tempfile\n[\"/home/richard/repos/natalie-spec-runner/natalie/test/support/spec.rb:195:in `eq'\", \"/home/richard/repos/natalie-spec-runner/natalie/test/support/spec.rb:188:in `=='\", \"../natalie-spec-runner/natalie/spec/core/enumerator/inspect_spec.rb:14:in `block in block in block in block'\", \"/home/richard/repos/natalie-spec-runner/natalie/test/support/spec.rb:781:in `call'\", \"/home/richard/repos/natalie-spec-runner/natalie/test/support/spec.rb:781:in `block in run_specs'\", \"/home/richard/repos/natalie-spec-runner/natalie/test/support/spec.rb:761:in `each'\", \"/home/richard/repos/natalie-spec-runner/natalie/test/support/spec.rb:761:in `run_specs'\", \"/home/richard/repos/natalie-spec-runner/natalie/test/support/spec.rb:811:in `block in block'\", \"../natalie-spec-runner/natalie/spec/core/enumerator/inspect_spec.rb:3:in `<main>'\"]"
- "including receiver and method FAILED\n\"#<Enumerator:0x557726c61920>\" should be == to \"#<Enumerator: 1..3:each>\"\n[\"/home/richard/repos/natalie-spec-runner/natalie/test/support/spec.rb:202:in `raise'\", \"/home/richard/repos/natalie-spec-runner/natalie/test/support/spec.rb:202:in `eq'\", \"/home/richard/repos/natalie-spec-runner/natalie/test/support/spec.rb:188:in `=='\", \"../natalie-spec-runner/natalie/spec/core/enumerator/inspect_spec.rb:6:in `block in block in block in block'\", \"/home/richard/repos/natalie-spec-runner/natalie/test/support/spec.rb:781:in `call'\", \"/home/richard/repos/natalie-spec-runner/natalie/test/support/spec.rb:781:in `block in run_specs'\", \"/home/richard/repos/natalie-spec-runner/natalie/test/support/spec.rb:761:in `each'\", \"/home/richard/repos/natalie-spec-runner/natalie/test/support/spec.rb:761:in `run_specs'\", \"/home/richard/repos/natalie-spec-runner/natalie/test/support/spec.rb:811:in `block in block'\", \"../natalie-spec-runner/natalie/spec/core/enumerator/inspect_spec.rb:3:in `<main>'\"]"
- "including receiver and method and arguments FAILED\n\"#<Enumerator:0x557726cc45a0>\" should be == to \"#<Enumerator: 1..3:each_slice(2)>\"\n[\"/home/richard/repos/natalie-spec-runner/natalie/test/support/spec.rb:202:in `raise'\", \"/home/richard/repos/natalie-spec-runner/natalie/test/support/spec.rb:202:in `eq'\", \"/home/richard/repos/natalie-spec-runner/natalie/test/support/spec.rb:188:in `=='\", \"../natalie-spec-runner/natalie/spec/core/enumerator/inspect_spec.rb:10:in `block in block in block in block'\", \"/home/richard/repos/natalie-spec-runner/natalie/test/support/spec.rb:781:in `call'\", \"/home/richard/repos/natalie-spec-runner/natalie/test/support/spec.rb:781:in `block in run_specs'\", \"/home/richard/repos/natalie-spec-runner/natalie/test/support/spec.rb:761:in `each'\", \"/home/richard/repos/natalie-spec-runner/natalie/test/support/spec.rb:761:in `run_specs'\", \"/home/richard/repos/natalie-spec-runner/natalie/test/support/spec.rb:811:in `block in block'\", \"../natalie-spec-runner/natalie/spec/core/enumerator/inspect_spec.rb:3:in `<main>'\"]"
examples: 3
failures: 2
errors: 1

By default the DefaultFormatter is being used, which produces the same output one would expect from running a spec in the master branch right now.
Obviously this is only a first small step for formatter support. There is no 'real' architecture behind it.  When extending it with more formatters we can built on top of this foundation (adding a base class, registering of formatters, argument parsing for the spec command, etc.).
Another nice thing included in this PR: Exceptions raised in after- and before-hooks are getting rescued now, so that specs are not crashing when exceptions happen there!

fyi: I'll be on vacation in the next week, so do not wonder why there are no commits or answers to anything in my PRs 😅

This is great! 😍

if this started emitting execution-time we'd be able to use it when improving the performances and we could even consider drops in performances as regressions :) We could even use it to compare against other implementations such MRI. So many possibilities!


Trouble getting width and height of bounding box

Currently im trying to call the get width and height methods of the bounding box for but its saying that method doesn't exist, this is from the detectnet-camera example. Also, what directory do the imports point to?
import jetson.inference as ji
import jetson.utils as ju

net = ji.detectNet("ssd-mobilenet-v2", threshold=0.5)
camera = ju.gstCamera(1280, 720, "0")
display = ju.glDisplay()

bbXCoord = 0
bbYCoord = 0

while display.IsOpen():

	img, width, height = camera.CaptureRGBA()
	detections = net.Detect(img, width, height)
	display.SetBackgroundColor(0.1, 0.1, 0.1, 1.0)
	display.RenderOnce(img, width, height)
	display.SetTitle("Person finder | Network {:.0f} FPS".format(net.GetNetworkFPS()))

	bbXCoord = ju.glTexture.GetWidth()
	bbYCoord = ju.glTexture.GetHeight()

	print(bbXCoord)
	print(bbYCoord)

The bounding box coordinates come from the detections list:
for detection in detections:
    print(detection.Left)
    print(detection.Top)
    print(detection.Width)
    print(detection.Height)

Thanks so much its working now!


Add a hint for browserify transforms

I added browserify transforms in every call of bundle() and got increasing build times while running.
Transformations have to be added once in the beginning as discussed in this question here: https://github.com/substack/watchify/issues/187#issuecomment-89687576

Not sure we need to link to that thread, just
// add transformations here
// i.e. b.transform(coffeeify);

This will be fine, of course.


Do not prefix timestamps from runit

Connects to https://github.com/mapzen/chef-mapzen_tapalcatl/pull/2

I tried running the kitchen tests and it failed (I think unrelated to this PR), but the log lines still seem to have the double timestamp in them:
2017-03-07_17:08:49.13819 2017/03/07 17:08:49.138178 {"category":"config","hostname":"default-ubuntu-1404","message":"S3 storage missing bucket configuration","type":"error"}

Yea, I was optimistic when creating this pr, and when I tried it on the server it is also logging two timestamps. I'll continue to dig into how this can be done with runit.

Great! That seems to have fixed it.

Ok, with that latest change it worked on the server for a new instance, but not running setup on an existing one.

Is there something that isn't getting SIGHUPped that needs to be?

sv exit followed by sv start worked. The svlogd process needed to be restarted.


Support mounting certs on fluentd

The helm chart needs to expose a way for users to mount a volume with certificates for some outputs.
Example:
Splunk asks for paths to the certificate files.  The certificates must exist in the Fluentd filesystem.  The helm chart creates all of logging CRs where fluentd is configured, users need an option to mount a volume on the Fluentd containers.

This is going to require the upstream chart adding support for fluend mounting volumes.

Filed an issue upstream: https://github.com/banzaicloud/logging-operator/issues/608

Confirmed that the upstream issue being resolved solves this. Logging Operator 3.8.3 (our current version) includes this change.

Marking as Done since Logging Operator 3.8.3 contains the fix.


Events called twice if app was in background (Android)

🐛 Bug Report

The Events OnNotificationReceived and OnNotificationOpened are called twice, if app was in foreground and then goto background.
Testet with Android API 28.
Expected behavior
Event should only excecuted once.
Reproduction steps

Publish App on device/emulator
Open App and send notification.
Bring App to background
Send notification again and open notification
OnNotificationOpened is called twice (Monitor it with console.write for example)
Now App is in foreground. Send notifictaion again.
OnNotificationReceived  is now called twice

Configuration
Android Emulator with API 28
Version: 3.4.25
Platform:

[ ] :iphone: iOS
[X] :robot: Android
[ ] :checkered_flag: WPF
[ ] :earth_americas: UWP
[ ] :apple: MacOS
[ ] :tv: tvOS
[X] :monkey: Xamarin.Forms

Some additional info.
The problem is, that the events OnNotificationReceived, OnNotificationOpened are stored in a static variable. If the app is in background and a notifcation is opend a new Android Activity is created. OnCreate is called again and also a new XF-App is created. Which results in a multiple registered events. A workaround is to make the events static and unregister, bevor register:
protected override void OnStart()
{
            CrossFirebasePushNotification.Current.OnNotificationReceived -= Current_OnNotificationReceived;
            CrossFirebasePushNotification.Current.OnNotificationReceived += Current_OnNotificationReceived;
            CrossFirebasePushNotification.Current.OnNotificationOpened -= Current_OnNotificationOpened;
            CrossFirebasePushNotification.Current.OnNotificationOpened += Current_OnNotificationOpened;
}
private static void Current_OnNotificationOpened(object source, FirebasePushNotificationResponseEventArgs e)
{
            Console.WriteLine("OnNotificationOpened Xamarin Forms");
}

private static void Current_OnNotificationReceived(object source, FirebasePushNotificationDataEventArgs e)
{
}

Adding
LaunchMode = LaunchMode.SingleTop
to activity prevents creating a new activity.


Investigate the new release process to Red Hat's Certified Operators Catalog

Investigate and identify the new process to publish RCO (and OLO) v1.0 to Red Hat's Certified Operators Catalog

Identified the new process. Next, try the certification pipeline.


Upgrade plugin-scaffold, change minutes to seconds

Few small tweaks:

Upgrade to latest plugin-scaffold (types)
Change the "upload every X minutes" to seconds. It's probably Best to flush the buffer as often as possible from our side. Keeping 10MB of events for 60 minutes before flushing seems way too long. Now the max is 10 minutes, with 30sec being the default.

merging to get this in and :gottagofast:


[💡 FEATURE] - Personnalize Dark Mode

Is your feature request related to a problem? Please describe.
When displaying a document (gsheet, gdoc ...), give the user the ability to chose between white and dark mode for the background of the page.
So, it will be possible to keep the page background in white and the UI in dark mode.

Yes, you can change it. On the menubar, go to view -> Toggle Dark Mode. You can also use CTRL+T (Windows, Linux). If on windows, you can also go to C:\Users\YOU\AppData\Roaming\G Desktop Suite and open config.json in Notepad. Then set theme to dark or light


updating deprecated option

Running hh_client check --help will tell you that the --from-vim option is deprecated and suggests you the equivalent:
--from-vim               (deprecated) equivalent to --from vim --retries 0 --retry-if-init false

I'm not sure when this was deprecated so ideally this should only get merged after at least 2 minor versions so people using older versions of hack would still have vim-hack working.

Thanks for doing this! It's been deprecated for quite a long time now (several months at least, probably more), but no one got around to actually updating the callers.

Can you rebase over some merged changes?  Then I'll merge this in.

@mxw done, thank you!


[FEATURE]: BPCl stock analysis using lstm

🛠 Related Issue

Closes #824

📝 Description

Is your feature request related to a problem? Please describe.
The art of forecasting stock prices has been a difficult task for many of the researchers and analysts. Investors eagerly seek effective stock price prediction systems to guide successful investments and understand future market trends.
Describe the solution you'd like
I would like to Add the ML Models which i am gonna build like using LSTM, SVM and K-Nearest Neighbors (KNN) using historical stock price data and relevant financial indicators, preprocess the data, performing EDA, and check the prices, and compare the model's accuracy.
Describe alternatives you've considered
Exploring additional models like ARIMA, XGBoost, or ensemble methods for potential improvement in forecasting accuracy.
🔍 Type of PR

[ ] 🐛 Bug fix
[ ] ✨ Feature enhancement
[ ] 📚 Documentation update
[ ] 🛑 Other (specify): _______________

📸 Screenshots / 🎥 Videos (if applicable)

[Attach screenshots or videos]
✅ Checklist

[ ] I have performed a self-review of my code.
[ ] I have read and followed the Contribution Guidelines.
[ ] I have tested the changes thoroughly before submitting this pull request.
[ ] I have provided relevant issue numbers, screenshots, and videos after making the changes.
[ ] I have commented my code, particularly in hard-to-understand areas.

ℹ Additional Context

[Include any additional context or information that might assist reviewers in understanding the changes]

@Akshat111111 please review and merge this pull request

@Akshat111111 fixed it

@Akshat111111 please review and merge this pull request i have made the changes requested


expose more AbstractEntityPersister operations to HR

Hibernate Reactive needs access to these two methods.

I've added an additional commit, that's not absolutely critical, to expose some stuff in a more convenient form, and clean up the ORM code a little.

thanks @gavinking , I'll merge and apply to 5.4

Thanks Sanne ... hay, would you do me a favor and also take a look at #3733?

Merged as https://hibernate.atlassian.net/browse/HHH-14464


fix dashboard crash when using the channel selector in product view

I want to merge this change because it fixes the dashboard crash when using the channel selector search field in product view
Pull Request Checklist

[ ] This code contains UI changes
[ ] All visible strings are translated with proper context including data-formatting
[ ] Attributes [data-test-id] are added for new elements
[ ] Changes are mentioned in the changelog
[ ] The changes are tested in different browsers and in light/dark mode

Test environment config

API_URI=https://master.staging.saleor.cloud/graphql/

Task linked: SALEOR-4278 Search at Manage channels in products causes an error.


fix: :scope selector

Very simple fix to add the element as the context for css-select calls which fixes all issues related to using :scope selector.
Closes #75

P.S. also please write a test for :scope otherwise who knows if this solved anything or not and, if it does, who knows if somebody decides it's a good idea to not pass context anymore in the future, thank you!

@blake-regalia OK, this MR was breaking tests because when context is used both matches and closest ignore looking at the element itself, which is annoying ... my change made :scope arbitrary and added a test to keep code-coverage 100%.
Thanks for the hint though, I hope latest patch is good enough, even if not perfect. P.S. combined selectors with :scope will switch to context mode and results might be different from the real Web/browser one ... watch out!


glob multiple file type like  .js and .coffee

Hello,
I've tried :
--glob .js" ".coffee"
--glob "{.js , .coffee}"
--glob "{".js ", ".coffee"}"
--glob ".js", ".coffee"
any idea ?
Thanks

pfff sorry , it was so simple
--glob "*.{js,coffee}"
sorry for that ;-)


Error list while installing the package

Hello i am having problem when i used the command composer require pvtl/voyager-frontend i received the following error list

Any ideas on how to solve this issue ?

Hey @yasser4ever1,
The composer "conclusion" states that you should not be using Laravel 5.6, instead use Laravel 5.5 (as this is what is currently supported).

@Jean-PierreGassin i already have laravel 5.6

@yasser4ever1 Please read the above comment, I stated that you should not be using Laravel 5.6 - instead swap to Laravel 5.5

@Jean-PierreGassin aha sorry i didn't focus .. could you please let me know how to swap to another version and is it flexible to swap between versions because i am afraid to cause problems from this step

Hey @yasser4ever1,
We've just recently updated the package and others to support Voyager 1.1 and Laravel 5.6 - try updating/re-installing them and post back with your results.


Bug: On deleting the External helm app, getting internal Server error

📜 Description
When navigated on the any external app, and then deleting that external app by using the GUI delete option or the doing the same by cli, we are gettig internal server error
👟 Reproduction steps
install any app using helm cli on any cluster
Navigate to any external app from helm app dashboard
Select the delete option from Gui or delete the same app using cli
Stay for 30 seconds there, internal server errror will appear .
👍 Expected behavior
It shoud give something like the App not found or resource not found 404
👎 Actual Behavior
showing internal Server Error
☸ Kubernetes version
all cluster
Cloud provider

all

🌍 Browser
Chrome
🧱 Your Environment
No response
✅ Proposed Solution
TO fix this, i used the previous handling state of the same like internal app state.
👀 Have you spent some time to check if this issue has been raised before?

[X] I checked and didn't find any similar issue

🏢 Have you read the Code of Conduct?

[X] I have read the Code of Conduct

https://github.com/devtron-labs/devtron/pull/5791


can one brush draw two selections

now I have a demand，In a brush area, draw two selections, as conditions to filter data,how can I do?

Please see http://bl.ocks.org/ludwigschubert/0236fa8594c4b02711b2606a8f95f605


After using yabai, all tiled windows seem to be on top by default, causing small pop-ups like Chrome bookmarks, WeChat emojis, and similar windows to be covered. How can I solve this issue?

Macbook pro M1
version：v13.2.1

Same issue since the last update in May. I uninstalled, not worth the trouble anymore.

Also having this issue after a recent Yabai upgrade (not sure which version jump specifically). I notice this most on Chrome with bookmark folders in the bookmark toolbar but also observe the behavior with slack notifications. Slack notifications now (almost) always appear behind windows. Hovering or clicking a book mark folder will not display the dropdown menu. Clicking on the settings panel in the top right corner of Chrome does not open the drop down menu either. Interestingly, if you restart Chrome the issue goes away until you visit a few pages and do some scrolling. Then the issue returns.
I have also tried to disable window boarders, transparency, and boarder blur. Nothing seems to make a difference. You can see my yabairc here.
I absolutely love Yabai and cannot exist without it so this is very very annoying. I want to make sure I'm sending the maintainers some love an appreciation though. If anyone has a thread to pull on, I would love to help get it resolved. For now, I just wanted to chime in here to make sure we knew that its an issue for more people.

Happened to me as well with yabai version of yabai-v5.0.6 on Mac Mac14,10 OS: macOS 13.4.1 22F82 arm64. I resolved the issue with stopping yabai service and restart my Mac.

Try disabling topmost on your config file.
# floating windows are always on top (default: off)
yabai -m config window_topmost off

It currently does not work well with some programs like Chrome, if your having problem just disable it. For some people this seems to work, but I could not get it to work right.
Hope it helps!

@gldtn You're my personal hero right now. Thanks to you're comment I am no longer considering turning my MacBook into a $2K frisbee. This worked for me, I hope it works for others!

Fixed in v6.0.0, #1887


audacity: use gtk version passed through wxwidgets

Make possible to build against gtk3, which is useful for HiDPI displays.

Motivation for this change
audacity looks pretty bad with HiDPI scaling on gtk2. This change removes hard dependency on gtk2, which should prevent build failure when wxWidgets is overridden to build against gtk3.
* The option to use gtk3 is not very obvious. Maybe we should use an alternative approach, such as a withGtk3 option that overrides the gtk version in wxWidgets?
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)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Notify maintainers
cc @

forgotten to cc @the-kenny

Hello and welcome around here @wakira ; thanks for your first contribution to nixpkgs :)
Related work in #73145
but that doesn't block this PR.


Design and implementation of "built-in" functions

Currently, there is no notion of built-in functions. The first-party function images in gcr.io/kpt-fn have no special meaning or treatment and are released and versioned independently from the kpt CLI. This is by design and has many benefits:

We want kpt CLI to be a small, stable, core that provides extension points. In contrast, there will be an ever growing catalog of functions with a higher release cadence.
We don't want the complexity of having separate mechanisms for "core" vs "custom" functions (Lessons learned from k8s api machinery).

One disadvantage of this approach (See https://github.com/GoogleContainerTools/kpt/issues/1838#issuecomment-831907230) is that the user is exposed to, and needs to think about, version management for even basic functions. To address this, we can provide a porcelain on top of the existing functionality without creating fundamentally different mechanisms under the hood.
Strawman:
In addition to supporting fully specified function images e.g.:
gcr.io/kpt-fn/set-labels:v1
We can support a notation for functions in the gcr.io/kpt-fn registry, e.g.:
set-labels
This will resolve to a container image with a fully specified semver, e.g.:
gcr.io/kpt-fn/set-labels:v1.2.3
This resolution is done by lookin up manifest of functions baked into the CLI, e.g.:
"set-labels": "v1.2.3"
"apply-setters": "v2.3.4"

This manifest is is cut with the release of the CLI and contains the latest stable version of each function in kpt-fn registry at the time.
Caveats:

The version of the "built-in" function using this notation is tied to the CLI version. Updating to a new version of the CLI will in general be backwards incompatible if the major version of a function has changed. If this is not desired, then the user should provide the version explicitly.
This doesn't prevent mixing explicit (e.g. gcr.io/kpt-fn/set-labels:v1.2.3) and built-in (e.g. set-labels) in the same package hierarchy. If the user wants to prevent the former (at the risk of incompatibility with off-the-shelf packages), there needs to be an orthogonal mechanism. See #1904

Related idea: Multiple functions (e.g., set namespace, name, labels, annotations) could be bundled into the same container, though I'm sure it would affect the UX some.

In addition to setters, common kustomize-style transforms (names, namespaces, labels, annotations), and common validation functions, the Starlark runtime is a prime candidate as a built-in function also.

To address this, we can provide a porcelain on top of the existing functionality without creating fundamentally different mechanisms under the hood.

I actually think that having a special in-process mechanism for running Starlark functions would be advantageous.
I know it used to be in-process and was moved to a container like all the other functions, but the current strategy of having all functions be in a container has some negative consequences:

makes kpt slow (docker pull, docker run)
requires docker (which now costs money for large business to use on Mac & Windows)
makes function authoring more costly than it needs to be (build, version, publish, etc).

If we make Starlark functions a special type of function that run in-process it would have the following benefits:

Faster end to end execution for kpt fn render and kpt fn eval
Pull Starlark KRM Functions from your own K8s cluster!
Share Starlark KRM Functions with other tools, like webhooks (Policy Controller) and controllers (Config Sync)
Pull Starlark KRM Functions from a URL (like github, or a local nginx), instead of just a container registry. Pulling from the internet might be a security risk, but from a local nginx with a directory full of functions would make it trivial for an org to make their own function library managed by GitOps.
"built-in" functions could just be a local directory full of Starlark KRM or a container of Starlark KRM, independently updateble from kpt itself. OR we could just bundle them into kpt itself as files in the binary, with something like https://github.com/go-bindata/go-bindata. That way the published functions and built-in functions can use the same exact source code.

We could even integrate with Cloud Code so that syntax highlighting and IDE features work when writing Starlark in KRM.
In this world, functions would be pretty trivial to write, could be used both client-side and server-side, and would even be usable for validating and mutating webhooks. You could use the same validation functions in kpt, Config Sync, and Policy Controller. This would really unify the Anthos Config Management story around a single ecosystem of functions for both config and policy.

I think after being in the market for a year and getting feedback and comparison to existing tools like kustomize I would advise the team to build the basic functions in.  Here are some thoughts for why building them in makes sense:

Docker licensing has changed
Docker is much slower than in-binary execution.
The churn in basic transformers has probably slowed down a bunch.

Here are my candidates for built in (this is a subset of kustomize):

Annotations
Labels
Namespace
Prefix
Suffix
Imagetag
ReplicaCount

I think these are generally useful and the behavior is well understood.

@mikebz Yes, it's a good idea to have some common functions built into Kpt and totally agree with those 3 reasons you listed. I saw you've called it out several times and here's more detailed reasons why it's not planned:

We are more focusing on the WYSIWYG, which prioritizes the Porch UI experience over kpt CLI. On the porch UI side, we already have some functions builtin (starlark, set-namespace and replacement) and get the benefit.
Most of the functions you listed are not quite mature yet, especially prefix/suffix. Other functions needs to add more features (e.g. https://github.com/GoogleContainerTools/kpt/issues/3444) and need better first-class identifier transformer support.
I prioritize the function and SDK work according to our WYSIWYG UI critical paths. And the function execution time hasn't been a big blocker yet. While maintaining a up-to-date builtin function list is a big overhead. And we've spend many effort on it in May. It seems not to be a good timing to add the support in Kpt CLI.


Environment for full-stack-data-science

Use mamba - conda is super slow.
capture_validation_error Jupyter lab throws this error that needs to be fixed.

thanks @savingoyal !


fix(b2b-nextjs): changes for V2 and switch to Personal Access Token

[x] Terminate session on logout
[x] Edit Profile -> Should redirect to the users profile in their org (eg, a customer org); no additional account selection
[x] Navi: Link to console should link to the issuer console
[x] Timestamp on browser calls for debugging

@peintnermax please have a look at

[ ] Edit Profile -> Should redirect to the users profile in their org (eg, a customer org)
[ ] Navi: Link to console should link to the issuer console

@peintnermax the logout button does not seem to terminate the session on zitadel. I can login without a typing in my password.

[ ] Terminate session on logout

I think the current state is broken (by me). Might be some issue with renaming API to ZITADEL_API. Need to check this out later.

@fforootd for your reference. This is the update demo with docs for v2

I've changed links to console and user, called endsession endpoint, and added the timestamps.
Changes in README are a prefix for ZITADEL_ISSUER such that the variable can be called from clientside and adding the localhost:3000 as post redirect as its required for end_session endpoint 👍


Update readme with docs for client options

@herom This is a follow-up patch to https://github.com/vpulim/node-soap/pull/660
Can we get a release after this?

Thanks a lot :+1:
For the release I want to wait until the end of this week so that we'll maybe able to merge #651, #649 and #661 which I think would make a great pack of features for a 0.10.0 release :smiley_cat:


DBZ-916 Support for tables without primary key

https://issues.jboss.org/browse/DBZ-916

@gunnarmorling This decision simplifies things a lot, so I am closing this PR in favour of https://github.com/debezium/debezium/pull/972

@jpechane, one question about the general approach: IIUC, you use all value columns for the key. That's different from what we do for MySQL or Postgres, where we use the first unique key (MySQL only) or null (Postgres and I reckon MySQL, too, if there's no unique key either).
As we don't have awareness of unique constraints for SQL Server, I think the strategy should be the same as for PG, i.e. use null. Btw. can you double check on the PG docs: there we speak about unique constraints, too, but IIRC, that's not correct and rather a copy-and-paste glitch from the MySQL docs.
So bottom line, here's what I think should be the strategy across all the (relational) connectors:

Use the PK
If there's none, use the first UK, if we know about it (MySQL and probably Oracle)
Use null

Does that sound about right?

@gunnarmorling I've created a follow up issue on this discussion - https://issues.jboss.org/browse/DBZ-1401


Make a website

considering domains:

[ ] www.allegroflare.org
[ ] www.allegroplanet.com

I can do that but I use python with django. Will that suffice?

@MarkOates what about a GitHub Page instead ? It should largely suffice.

@aviallon That's a fantastic idea.
I looked into it, and I ended up creating a GitHub organization, and on it created the GitHub page https://allegroflare.github.io with the repo (https://github.com/allegroflare/allegroflare.github.io).
I had to create the organization first, because the subdomain of the GitHub page has to match the username or organization name (otherwise it would have been MarkOates.github.io and that would have been annoying).
That's fantastic.  As far as what's on the actual site so far, it's not much, but it's honest work. ;)

Some updates on this.
I bought the domain www.allegroflare.org and it's now coordinated with GitHub pages to show it's hosting of the https://github.com/allegroflare/allegroflare.github.io repo.
Also, I've moved the allegro_flare repository into the allegroflare organization.  @aviallon You may need to update your remote with something like:
git remote set-url origin git@github.com:allegroflare/allegro_flare.git

The repository will redirect anyway, but GitHub recommends updating it to avoid confusion.

Thanks :+1:
Will look into it as soon as I have time :)
If you wanna now, I'm preparing Raytraced Global Illumination for AllegroFlare :D
That'll be nice :)

I'm closing this now.  The infrastructure for the website has been decided.
We'll be using:

GitHub pages
Sourced form the repo https://github.com/allegroflare/allegroflare.github.io
The domain www.allegroflare.org is now owned and attached to it
Will essentially be a location for basic tutorials and class reference
More elaborate functionality (search, etc) can be explored in the future
Actual documentation, pages, and tutorials are still to be written (That can be handled in a separate issue)

Thanks everybody!


Content update: Support landing page

User story
As a ReportStream prospective/current user, I want the website content to be up-to-date, accurate and timely so I can  trust the information to inform my decisions in my relationship with ReportStream.
Background & context
After completing basic outlines for key pages and IDing the new site structure, we need to create the actual content that will go in the wireframes.
Open questions
N/A
Working links

  Draft

Acceptance criteria

[x] Drafted finalized and reviewed with content owner and/or SME
[ ] Final draft presented to designer for next steps
[ ] Capture questions that come up during the content and design work in the Website redesign research plan

Content approved. Closing
Note: new service request and interest form are in progress but will be done before site is live


Support ollama

Theres already some issues it seems possible in theory, but this would really may Clio a great tool.

#17 is already in just poorly named


[mgmt] datafactory release

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

breaking caused by https://github.com/Azure/azure-rest-api-specs/pull/29791

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