fix(sqlsmith): test execution time for pre-generated queries + increase coverage

I hereby agree to the terms of the RisingWave Labs, Inc. Contributor License Agreement.
What's changed and what's your intention?
This is due to the observation that the runtime of pre-generated queries tests in deterministic-e2e-test suite increased significantly causing timeout.
Without any testing on runtime in place, it makes our main pipeline unstable. Since pre-generated queries could silently increase the runtime whenever a new snapshot is generated.
Hence we add this cap back inside deterministic-e2e-test.sh (7m), so that it is clear if deterministic test of pre-generated queries triggered timeout.
Before a new snapshot is registered, we also test its execution time, it should be under 6m, such that when pre-generated e2e test run, it would run at most 7min (assuming 1 min variance).
Some further tweaks for better coverage:

Increase weights of testing joins. Additionally the point of recursion occurs in gen_table_factor. So we can leave can_recurse check out here.
Increase weights of testing aggregations.
Further decrease gen_with. Previously at 0.4 too many with statements were generated.
Further, we add decay to our recursion. At p=0.3 without decay, it seems like some corner queries may be extremely complex, and take too long to run. Now we just decay it like so: x_next = x_prev * 0.9. With any values < 0.5 rounded to p=0.0 to stop recursion entirely.
Increase total mv-on-mv per set: 10 -> 20.
Set timeout per query set to 5m.
Set timeout per query to 5s when generating, 12s for normal fuzzing.
Set timeout for entire snapshot: 15m while generating (includes sqlsmith tests).
Set timeout for e2e test: 7m (excludes sqlsmith tests, pretty much half the queries we run while generating).
Setting timeout at various levels allow us to understand what's going wrong with different timeouts.

If query timing out -> too complex, should reduce number of query.
If entire query set timing out -> perhaps too many queries generated, OR too many complex queries (>3s execution time) generated.
If snapshot set timing is running out -> again too many queries generated, perhaps some query forms need to be throttled.

Increase p of updates from 0.1 * 0.5 = 0.05 -> 0.2. (x4)

Here are some tweaks to ensure no TLE:

Decrease total queries per set: 100 -> 30. This means 30 batch and 30 stream queries generated per set.

This decrease is fine, partially mitigated by https://github.com/risingwavelabs/risingwave/pull/10444, since we run sqlsmith per PR now.

Increase p of generating limit (0.2 -> 0.5).
Decrease p of generating cross join in batch query (0.5 -> 0.1).

Depends on https://github.com/risingwavelabs/risingwave/pull/10424. We treat queries taking too long as an error. We should not generate queries which exceed some time bound. We can limit query complexity adjusting weights or even adding a hard cap if needed.
Closes https://github.com/risingwavelabs/risingwave/issues/10360
Some other issues that won't be resolved here:

Seems like recovery can take a while. This means we don't test any query when cluster is under recovery... but it also makes our runtime much longer because we need for recovery to complete.

Checklist

[x] I have written necessary rustdoc comments
[x] I have added necessary unit tests and integration tests
[x] I have added fuzzing tests or opened an issue to track them. (Optional, recommended for new SQL features #7934).
[ ] My PR contains breaking changes. (If it deprecates some features, please create a tracking issue to remove them in the future).
[x] All checks passed in ./risedev check (or alias, ./risedev c)
[ ] My PR changes performance-critical code. (Please run macro/micro-benchmarks and show the results.)

Documentation

[ ] My PR contains user-facing changes.

Click here for Documentation
Types of user-facing changes
Please keep the types that apply to your changes, and remove the others.

Installation and deployment
Connector (sources & sinks)
SQL commands, functions, and operators
RisingWave cluster configuration changes
Other (please specify in the release note below)

Release note

Timeout is actually due to natural joins in batch query + window table function... Maybe if I add a limit clause...?

This PR seems very effective. I have found 4 new bugs as a result:

https://github.com/risingwavelabs/risingwave/issues/10496
https://github.com/risingwavelabs/risingwave/issues/10495
https://github.com/risingwavelabs/risingwave/issues/10494
https://github.com/risingwavelabs/risingwave/issues/10493


[Sprint: 51][1.2 GA] XD-3115 Support Reactor Processors that have an inheritance hierarchy

Navigate the class hierarchy for finding the parameterized Processor interface
Ensure that the Processor interface is identified correctly for extracting type arguments
Correct behaviour if a raw type processor is used
Ensure that Message instances are passed directly if and only if the Processor defines a Message type argument

Rebased after https://github.com/spring-projects/spring-xd/commit/87e6d3f7adf7c1357f6d962c4e675a7644d965be

tidy up formatting and merged as 60280d21b81e79d7caf350ffc63c69d551a04e6c


[LIGHTNODE] As a user on the Buy More Page, I want my Paloma Address to be clickable to copy the entire address

As a user on the Buy More Page, I want my Paloma Address to be clickable to copy the entire address so that I can copy and paste my address as needed.
Acceptance Criteria

Add Click to Copy action on the Paloma Address on the lightnode page.
Give a test alert Paloma address copied

Fixed with https://github.com/palomachain/website/pull/179


add api methods to read the docs

I've added the .. autoclass:: to all the API methods that could ben called by the user in order to explain the methods used to interact with Azkaban.
I also took the liberty to chose a different theme for the documentation. sphinx.ext.githubpages

I've decided to display each method of the Azkaban class 'manually' by calling:
.. autoclass:: azkaban_cli.azkaban.Azkaban.methood
That way I could put a title in each one of them to make it easy to find it on the sidebar.
This approach creates the needing to add all the new methods, 'manually'.
I could been used:
.. autoclass:: azkaban_cli.azkaban.Azkaban
 :members:

To load all the methods automatically and avoid the downsizing of the approach described above but I've prioritized documentation readability and navigation.

Hey, @Perkles ! Thank you for contributing, it looks awesome!
I'm new to sphinx, can i run the docs locally? may you add a command to Makefile to help me and others with this?
And how could I upload this to the original docs?

Hi @ggalves.
Can i run the docs locally?
Yes, you can. To run locally first you need to have sphinx installed. Hit pip install sphynx within your vitualenv and you are ready to start. To build the project run make html inside the docs folder, it should generate a _build folder.
Open the index.html inside  _build to access your local doc.
May you add a command to Makefile to help me and others with this?
I've never done it before, but I can search if that's possible.
And how could I upload this to the original docs?
First ReadTheDocs finds if our repo has changed:

The primary method that Read the Docs uses to detect changes to your documentation and versions is through the use of webhooks. Webhooks are configured with your repository provider, such as GitHub, Bitbucket or GitLab, and with each commit, merge, or other change to your repository, Read the Docs is notified.

... then it makes a fresh build of our sphynx doc:

The first step of the build process is that we check out your code from the repository you have given us. If the code is already checked out, we update the copy to the branch that you have specified in your project’s configuration

Once ReadTheDocs is already configured to listen to this repo, and it is a thing that i can reach, the build process may happen simply by updating the repo. I may be wrong. If i am please let me know.
bye

@ggalves i couldn't find anything useful to add at Makefile.
Is my approach the the wrong one ?

hey @Perkles
That's fine. It would be better if this tasks could be easier to do, but your docs looks awesome. I got busy this week so I can't give more attention to it by now, but later I will search for options to improve the process. By now, it's fine :)
I would just ask you to add sphinx, sphinx_rtd_theme and any other libs required to run make html command to a requirements.txt file inside docs folder.
Thank you again!

You may also add these instructions you gave me to some README.md inside docs folder

@ggalves Goog to go?

yes @aguimaraesduarte. Thank you @Perkles


Avoid raising PT012 for simple with statements

Summary

Close #6054
Test Plan

A new test case.

https://github.com/apache/airflow/blob/f2108892e89085f695f8a3f52e076b39288497c6/tests/utils/test_task_group.py#L1091
def test_decorator_unknown_args():
    """Test that unknown args passed to the decorator cause an error at parse time"""
    with pytest.raises(TypeError):

        @task_group_decorator(b=2)
        def tg():
            ...

Should a function be allowed?

@charliermarsh wdyt?


looking for maintainer

Hey @Argmaster let's discuss here if you're interested

Well, I can't promise very active development, but I'd try squishing basic repository maintainance and some bugfixing / extending somewhere into my schedule, along with other project I am currently handling, as my interests lie somewhere around GLSL and graphics APIs. It's just about keeping this project floating and at least giving the community chance to extend it. I never adopted a project before, so I'm not sure how to approach it.

What is currently problematic with this project? I have local changes to update the dependencies and fix the ripgrep, but wonder if there another urgent fix to add before I push another release

No, not necessarily, I think It will be enough just to notify the world that this repo is alive. In general I was bothering you because I have noticed that this repository seemed dead while it is a great project. I figured the sooner I try to reach you the higher chance you'll respond and there will be a better chance that future work done to extend this project won't be wasted.
For my purposes I'd love to have GLSL support at some point and I have noticed there is some PR about it, but haven't reviewed it deeper than just by scrolling it top down and there is no reason to force diving into this topic right now.

I'll look at #62 and #67 then


new x/tools dep to work with newer go1.23.0

As per issue https://github.com/uber-go/nilaway/issues/269 this PR updates go.mod/go.sum to work with go 1.23.0

I experience the same problem and this fixes it for me as well.

Signed.  (I had signed it at the time but I put in a different email that I thought was associated to the account but wasn't; just now I signed it with an email that was associated to the account).

The failing test looks like it succeeded but then failed to connect back to api.github.com with the results.  403.  a

Thanks @jayalane!


The SHA-1 Message Digest in the Archive Comment Appears to Be Incorrect

Since I can't find a known good copy that is accessible to Maven, elected to download the project from here. When I opened the archive, my copy of WinZip displayed the comment, which contains "2ce0fb70492af785545082d0190fadd5daf4db9f" - obviously a SHA-1 message digest.  However, when I compute SHA-1 digest of the downloaded file, I get "2ce0fb70492af785545082d0190fadd5daf4db9f" - clearly different.
This situation makes me reluctant to trust the integrity of the archive, and calls into question the trustworthiness of the entire OAuth project. Please advise at your earliest convenience.
Thank you!

I eventually found my way to the correct Maven repository artifact, thanks to information that I found further down the main project page. That doesn't negate in any way my concern about the incorrect SHA-1 hash embedded in the comment of the generated ZIP archive.

Thanks for the heads up.


Add explicit dependency to commons-cli-1.3 to gobblin-api to override…

… picking up an older version (1.2)

LGTM.


Use a client/server architecture

Exact implementation details definitely need to be discussed. But I recommend a dead-simple implementation using python 3.5's async features, which #1 allows.

I'd like to separate this as far as possible, so that you could write a generic client in, say, golang. This means sending texture data over the wire, and minimizing client-side processing in general. Clients should render, and send controls.

Do you intend to make it python3 only? If so, I might clean up some legacy parts.

Yeah, that's the intent. I don't see a clean way to do networking otherwise.

If you decide not to, let me know what legacy parts stand out.
Thanks for the help either way.

If you decide not to, let me know what legacy parts stand out.
Thanks for the help either way.

Our core datatype is a key value store, so something like
http://symas.com/mdb/
might let as do reasonable multi-server gameworlds.


add fix-hotkeys flag, feedback for missing hotkeys

adds fix-hotkeys flag
no longer writes to hotkeys config every time Superfile is ran
adds feedback to users for missing hotkey entries for Superfile
adds directions on how to fix hotkey file using --fix-hotkeys flag

https://github.com/yorukot/superfile/issues/325

https://github.com/yorukot/superfile/issues/299

wow thanks a lot!


Cleanup Synchronization Structures

Hi! Great tutorial!
I just finished chapter 1 and got errors that

the synchronization structures were still in use.
the synchronization structures weren't destructed.

I'd suggest to add this cleanup code at the end of chapter 1:
vkDeviceWaitIdle(_device);

vkDestroySemaphore(_device, _renderSemaphore, nullptr);
vkDestroySemaphore(_device, _presentSemaphore, nullptr);
vkDestroyFence(_device, _renderFence, nullptr);

Other than that great, thank you for putting this together!

All chapters now use vkDeviceWaitIdle in the code, and ill update the text part soon. Should help with all that

All chapters now use vkDeviceWaitIdle in the code, and ill update the text part soon. Should help with all that


Add 'synchronized' to 'get_info' call in daemon rpc guide

Added with https://github.com/monero-project/monero/pull/7030

Note that this only got added to master. We should wait to include this until it is included in a release.

We should wait to include this until it is included in a release.

https://github.com/monero-project/monero/pull/7161


Contrastive learning with graph neural network

🚀 Feature
It would be awesome if the framework provides an example of contrastive learning with GNN.
For example, an implementation similar to SimCLR would be great.

@smith-co thanks for your interest to our library and for your suggestion! We are always happy to implement more SOTA GNN models for NLP tasks. Can you share more context (e.g., any relevant paper on contrastive learning with GNN for NLP) to help us understand why you think this will be a great example to include in the library?

This issue will be closed. Feel free to reopen it if needed.


Fix errors in Spanish translation

Questions
Answers

Description?
Please be specific when describing the PR.  Every detail helps: versions, browser/server configuration, specific module/theme, etc. Feel free to add more information below this table.

Type?
improvement

BC breaks?
no

Fixed ticket?
Fixes PrestaShop/Prestashop#{issue number here}.

How to test?
Please indicate how to best verify that this PR is correct.

I suggested those terms because they are the ones by the official EU site cited above:

los derechos del interesado en materia de protección de datos (por ejemplo, acceso, rectificación, supresión, limitación, oposición, portabilidad, etc.)

These are probably legal terms, otherwise I wouldn't care about using one or the other as long as they are used consistently.

Modificación is like rectificación.
And eliminación/ borrado is like supresión

I know, I'm a native Spanish speaker as well. But I'd prefer we stick to the "official" terms.

Ok, I think the official terms are confusing in Spanish, but ok. then approve the pr

Thanks for the contribution @alfonsolr09

when will it be implemented?


Error when accessing a route with a before filter

Hi,
I found the error when I have the following codes:
//routes.php
Route::api(['version' => 'v2', 'protected' => true], function () {
    Route::group(['prefix'=>'foo','before'=>'admin_only'],function(){
        Route::get('/bar',function(){
           var_dump('foo bar');
        });
    });
});

//filters.php
Route::filter('admin_only',function(){
	if(API::user()->user_type_id != 1){
		throw new AccessDeniedHttpException('Access denied.');
	}
});

Then I expect the API to return 401 when I try to access it without access token. However, I got the error, Trying to get property of non-object, that is caused by there is no user yet in the API::user().
So my assumption is the before filter got called before the API filter.
Am I doing anything in the wrong way?
Please suggest.
Thank you.

Because authentication is done via a filter it's probably called after your filter. I can have a look about prepending the filters so that the authentication is done first.

Cheers @jasonlewis

Hi again @jasonlewis ,
I think I'm still facing the same error.

@prapats Any more details you can provide? Authentication should be run first but really it shouldn't matter too much. Unless, of course, you're using middlewares. Then it might be a bit fiddly.


Add note that the application is also Cloud Foundry-compatible

Hello. I've just successfully deployed heroku-buildpack-rust and heroku-rust-cargo-hello on Cloud Foundry. Possibly this could be noted. Thanks!

Thank you for verifying this!


Why php-feed-writer is a "project" composer type

Hello Lukas!
I believe this library should be a "library" type in your composer.json file, and not a "project type. Because of this wrong type, I get the following error on composer v2 since it is not a library.

Could not find a matching version of package lukaswhitephp-feed-writer.

Finally, on packages.org, it shows composer create-project  as you mentioned "type": "project" in your composer.json file.

As soon as you change from "type": "project", to "type": "library",, packages.org will display composer require on your library packagist page.

FYI, I created a PR to do so. https://github.com/lukaswhite/php-feed-writer/pull/6

Let me know when you can check out the PR, @lukaswhite 😃

Let me know when you can check out the PR, @lukaswhite 😃

👋 @lukaswhite 🙂

Is this project still maintained? I was looking at it as something I might be able to use

@sudofox Well, it doesn't look to be maintained anymore... as my PR and this issue didn't get any replies from its author @lukaswhite, and the last update was made two years ago.

@sudofox You could still create a fork from this one though, and build from there...

Yes, it's still maintained. I hadn't seen this issue, it's been a tumultuous couple of years. I've been using it for a while with no problems, so there hasn't seemed much need to do anything on it - though a PHP8.1 version might be a good idea.
@pH-7 I'll get that PR merged this week.
@sudofox Any specific issues, or just checking?

@lukaswhite I was just checking -- been thinking about adding RSS/Atom feed functionality to a small website of mine.


Run the upgrade job only on devel

This job doesn't work on any branch other than devel: it always downloads the latest release, and tries to "upgrade" from there, whereas on non-devel branches it would have to download the last release from the branch preceding the target branch (e.g. the last 0.13.x on the release-0.14 branch).
Signed-off-by: Stephen Kitt<EMAIL_ADDRESS>

What if we always test upgrade from latest built to current PR, shouldn't that be good enough?
We could use eg https://github.com/submariner-io/shipyard/pull/1088 and basically still have upgrade tests which should also work properly for stable branches.

What if we always test upgrade from latest built to current PR, shouldn't that be good enough?
We could use eg submariner-io/shipyard#1088 and basically still have upgrade tests which should also work properly for stable branches.

Not really, using the base branch release would only test across one PR (from the latest commit on the target branch to the PR). Ideally we want this:

on devel, test from the latest release to the current PR
on release branches, test from the latest release on the branch to the current PR

Perhaps our definition of subctl-release-foo is wrong, and we shouldn’t bump it on every successful merge but only on actual releases.

Not really, using the base branch release would only test across one PR (from the latest commit on the target branch to the PR).

So my line of thought is that for the regular PR CI this is quite fine, as cumulatively we would've tested that we get from point A (last known release) to point B (this PR) by going over all the points along the way.
As the saying goes "don't let perfect be the enemy of good enough" :)
I think for the latest released version to the latest branch-tip could be a timed job, and/or a job on releases (same as we test combined E2E on each release).
This should also allow us to test stable to stable also.

Not really, using the base branch release would only test across one PR (from the latest commit on the target branch to the PR).

So my line of thought is that for the regular PR CI this is quite fine, as cumulatively we would've tested that we get from point A (last known release) to point B (this PR) by going over all the points along the way.

I disagree, we really do want to test upgrades from the last release to the PR being checked in one go, not the result of applying all PRs in the interim.

As the saying goes "don't let perfect be the enemy of good enough" :)

That’s exactly the thinking behind this PR: we have a good test on devel, it’s broken and misleading on other branches, so let’s keep the devel test and disable upgrade tests on the other branches. We can set up proper upgrade tests on release branches as another PR.

I think for the latest released version to the latest branch-tip could be a timed job, and/or a job on releases (same as we test combined E2E on each release). This should also allow us to test stable to stable also.

I much prefer PR checks when possible, the errors they catch have a much better chance of being addressed.


Should we display tags in the "templates list" UX?

cc @itowlson

My inclination is not, at least by default.  The description is meant to be the human-readable indicator; displaying tags feels like recapitulating that information in less readable form.
We could put them in --verbose but that would push us ever closer to the terminal width, beyond which point I'm pretty sure the table implementation would go berserk.  And there might be value in including them in the JSON format for programmatic consumers, but I'd guess most programmatic consumers would use list --tag rather than doing their own filtering.

I'm in agreement with that. I'm not  convinced that displaying tags is all that beneficial relative to the uncomfortable tradeoffs to be made to the UX. CLOSING.


Updated the README with instructions on launching the DOA CF stack

The README now includes instructions on how a user can provision the DOA cloud formation stack via both the CLI and the AWS Console as per the request of this issue

Thanks @MrIanHell LGTM!


Use my old signature #include block for debug stuff...

#ifdef DEBUG
#
#  include <sfw/util/debug.hpp>
#
#endif

Well, the #include could just be there invariantly (the header itself checking for #DEBUG), but how sexy is that? It's not.
OK, so it's pretty f* stupid for DEBUG, so don't do it, but maybe it could still be applicable for some other cases... :)

Hehe, I did find one case, indeed, Widget.cpp! :)
#ifdef DEBUG
#
#  include <SFML/Graphics.hpp>
#
#endif


Can @Implies work across the type-use/declaration boundary? [working decision: yes]

I would think that most people would want to just convert their existing annotations to be type annotations. But might doing so turn out to be trickier than we'd like? For example: A project might build with -source 7. Or the project may want to support other tools that recognize only declaration annotations. And coincidentally, I just tried to merge https://github.com/google/truth/pull/704, and I ran into a bug in a tool's handling of type annotations :)
I notice that currently Spring's @Nullable is a declaration annotation. @sdeleuze did say in today's meeting that they are interested in using type annotations, so maybe they would change theirs (but see above)? Alternatively, they could use our annotations for type-annotation positions (like type arguments) while continuing to use theirs for declaration-annotation positions. But then it's unfortunate that they'd be using two different annotations that are both named @Nullable :\ Maybe they'd end up defining their own @NullableType as an alias for our @Nullable?
I'm not sure if there's a huge downside to just allowing users to have declaration annotations as aliases, but I see a couple mildly unfortunate effects:

Declaration annotations and type annotations have different meanings when put in the same source location on arrays. In an ideal world, we'd eliminate that ambiguity for the specific case of JSpecify-recognized annotations. (This might also simplify our implementations.) [edit: Note also that CF users may have different expectations depending on whether they're familiar with CF @NullableDecl or with other declaration annotations, as the two are treated differently (see "If the declaration annotation is in an org.checkerframework package...).]
It seems somewhat unlikely that declaration annotations will be 100% sufficient for most users. However, we have heard from NullAway that they've found it practical to write a lot of code while avoiding the need for type arguments (notably by using Optional), so it can be done if you work at it.

Another notable user of declaration annotations: bytecode generated by the Kotlin compiler, which uses JetBrains's @Nullable and @NotNull. Roman pointed out today that JetBrains might want to make them aliases for JSpecify annotations.
(Since they're declaration annotations, they cannot contain full Kotlin nullness information. So we'll eventually want to discuss further whether the Kotlin compiler can someday output JSpecify annotations. The Kotlin team had concerns over bytecode size, but we should quantify the size impact, especially since our "in the club" annotation saves us from annotating most type.)

Sorry, I am wrong: The JetBrains @Nullable and @NotNull can be used in type-use locations, too.
Still, the Kotlin compiler doesn't write them in those locations at the moment. In fact, I'm pretty sure that it doesn't even write them on the "top-level" types of return types, parameter types, etc.: Instead, it writes them in the METHOD, PARAMETER, etc. declaration positions. So, from our perspective, they're still declaration annotations.

Possibly related: We might want to declare @InTheClub not to be applicable to MODULE yet still recognize aliases of it that appear on modules. That would mean that our rule is not as simple as "An alias for an annotation is recognized only on the locations that the original annotation is applicable to."
I think that's fine: This current issue is about something more complicated than that, in which we would conceptually "move" annotations from declarations to types. I just wanted to note the other case here so that we don't inadvertently write a restriction that's stronger than we need -- and then find that it's too strong.

Possibly related: We might want to declare @InTheClub not to be applicable to MODULE yet still recognize aliases of it that appear on modules. That would mean that our rule is not as simple as "An alias for an annotation is recognized only on the locations that the original annotation is applicable to."
I think that's fine: This current issue is about something more complicated than that, in which we would conceptually "move" annotations from declarations to types. I just wanted to note the other case here so that we don't inadvertently write a restriction that's stronger than we need -- and then find that it's too strong.

Cross-reference to another thread that discusses a bit of the tradeoffs between hardcoding the applicable locations in tools vs. deriving it from @Target: https://github.com/jspecify/jspecify/issues/34#issuecomment-771034486
What I discussed just above is actually a hybrid of the two: We'd still have @Target, but we'd also say that tools should recognize our annotation at one particular location that is not listed in @Target.

New attempt at overview, but this is less than a "proposal".
Suppose @Implies(That.class) public @interface This {}.
We can put target types into three groups

TYPE_USE
Can colocate with TYPE_USE: FIELD, METHOD, CONSTRUCTOR, PARAMETER, RECORD_COMPONENT
Disjoint usage with TYPE_USE: MODULE, PACKAGE -- and let's also include the following, which are places where we don't intend to support type-use annotations: TYPE, ANNOTATION_TYPE, TYPE_PARAMETER, LOCAL_VARIABLE

Temporarily pretend TYPE_USE annotations don't exist. So for now we can handle buckets 2 and 3 together.

@Implies's specification should explain that whenever @This appears somewhere @That could not have legally gone, then @Implies has no effect in that case.
So, when compiling This, if it and That have no target type in common at all, that should be an "error" already (handwave).
Conversely, the fact that there may be places @That can go but @This can't; but this is not necessarily a problem.
(@This having wider retention than @That may also be warn-worthy.)

Now to bring type-use into the picture...
Digression on the relationship between TYPE_USE and, say, METHOD: It can be confusing. But I'm starting to think it's fruitful to see the two as nearly the same thing. METHOD simply (1) restricts the applicability down to only methods, (2) slightly expands it to include void methods, and (3) is friendlier to legacy code. Main point: you can't really get away with making one annotation mean something different if used as a METHOD annotation vs. if used as a TYPE_USE. I think, maybe, which subset of the two target types gets included for an annotation should probably (?) boil down to those three factors.
It is possible that there is nothing that wrong or weird about having @Implies links between any combination of these things. @Implies simply does its job wherever the intersection between them is. I think I'm hoping this works out.

... and METHOD also (4) does the wrong thing for array or inner types

Closing yes, but questions will come up as I actually try to specify this.

One thing that would be weird is:
@Target(TYPE_USE)
@Implies(NullMarked.class)
@interface Foo {}

String @Foo [] s(); // method is now null-marked!

That is: I can understand having a declaration annotation imply a type-use annotation (so that you can annotate a method to annotate its "top-level" return type). But having a type-use annotation imply a declaration annotation feels weird. (Plus, as I'll be getting into in #295 shortly, it expands the blast radius of any type-use annotations that aren't on the classpath.)

Decision: This is related to a feature that will not be part of 1.0. It can remain open.


Implement repo sync command + fix cookie redaction

Implement command for repo sync
Prevent cookie redaction from truncating curl command output with --debug-curl flag

Formatted - I normally use soft tabs in Vim, so I didn't see the difference in my code (and didn't look closely enough at the diff in the PR).  Whoops!


Add the general view of the application tree via a table

Description
Not super visually appealing, and not collapsible, as discussed in #230 , but showing everything that should be there. It can be accessed by clicking in the header of the app tree, in the controller overview page.
https://github.com/user-attachments/assets/09dd5de4-b91d-48ce-b6dc-a9f85f56e7eb
Fixes #230
Type of change

[ ] Documentation (non-breaking change that adds or improves the documentation)
[x] New feature (non-breaking change which adds functionality)
[ ] Optimization (non-breaking, back-end change that speeds up the code)
[ ] Bug fix (non-breaking change which fixes an issue)
[ ] Breaking change (whatever its nature)

Key checklist

[x] All tests pass (eg. python -m pytest)
[ ] The documentation builds and looks OK (eg. python -m sphinx -b html docs docs/build)
[x] Pre-commit hooks run successfully (eg. pre-commit run --all-files)

Further checks

[x] Code is commented, particularly in hard-to-understand areas
[x] Tests added or an issue has been opened to tackle that in the future. (Indicate issue here: # (issue))

Codecov Report
Attention: Patch coverage is 95.65217% with 1 line in your changes missing coverage. Please review.

Project coverage is 85.84%. Comparing base (19b3c5f) to head (432589d).

Files with missing lines
Patch %
Lines

controller/views/pages.py
66.66%
1 Missing :warning:

Additional details and impacted files
@@             Coverage Diff              @@
##           app-tree     #232      +/-   ##
============================================
+ Coverage     85.46%   85.84%   +0.37%
============================================
  Files            36       36
  Lines           523      544      +21
============================================
+ Hits            447      467      +20
- Misses           76       77       +1

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


Standardise local ICOS files

What is your issue?
Currently when you use standardise_surface with source_format="ICOS" it assumes a filename of the form mhd.ch4.hourly.g2401.15m.dat. This is deprecated - now all the files have names like "ICOS_ATC_L2_L2-2024.1_RGL_90.0_CTS.CH4". So a few tweaks are needed...

Closed by PR #1140


wg-netns: init at 2.3.4

Description of changes
wg-netns: WireGuard with Linux Network Namespaces
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Unsure why job  OfBorg / wg-netns.passthru.tests on aarch64-darwin  is pending, since platforms is Linux only.

Unsure why job OfBorg / wg-netns.passthru.tests on aarch64-darwin is pending, since platforms is Linux only.

It is pending until it is "run", which will immediately mark it as skipped.


Improving code coverage

Created unit tests for PullRequestDecorator

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+1.5%) to 62.469%

Totals

Change from base Build<PHONE_NUMBER>:
1.5%

Covered Lines:
511

Relevant Lines:
818

💛  - Coveralls


Wall of ERROR

Shortly after I was able to run my bot I was introduced to this dreaded wall of text

after I got this I stopped the bot and started again, receiving a different wall of text.

You might want to setup your bot properly, e.g. your API key in settings.json.

Thanks really helped! :D


Allow pattern matching on key

This PR makes it possible to create rules that does pattern matching on the key of an object.
For example, for the key of a path you can create the following rule:

   {
       "name":"path-item-lowercased-hyphens",
       "object": "paths",
       "enabled": true,
       "description": "path items must be lowercase and separated with hyphens",
       "pattern": { "property": "$key", "split": "/", "value": "^{[^}]*}$|^([a-z-\/]*)$" }
   }

This relates to #214

Unsure what I can do about the breaking builds. Seems circleci related.

@pderaaij I think you're right. Also patch LGTM for the approach.


bump juno to v0.12.2

Thanks, is this just cause? Or is there some dependency in the core that requires this bump

Thanks, is this just cause? Or is there some dependency in the core that requires this bump

I was hoping this would have a cascading effect that fixes the sourcegraph issues, but starknet.go is not compatible with this version anyways.

Updated to the latest starknet.go version, but now this forces us to upgrade geth, so we're blocked on https://github.com/smartcontractkit/chainlink/pull/11809.

Why was this closed? Please re-open @chray-zhang

@jmank88
I accidentally erased some of chainlink-starknet's origin history. Do you have a local branch you can force push up? If not I created a new PR with your commit: https://github.com/smartcontractkit/chainlink-starknet/pull/555
Can you let me know if that's the change?

@jmank88
I accidentally erased some of chainlink-starknet's origin history. Do you have a local branch you can force push up? If not I created a new PR with your commit: #555
Can you let me know if that's the change?

That is probably good enough :+1:


Try reading from wfg submodules

There are some issues:

The wishbone interconnect only sets the read data after an ack. This means the data arrives too late.


StevenBlack:hosts fraud/phishing/scam website rule

Domain dobre-programy.pl is a fraud/scam/phishing website. Blocked as dangerous in ESET.
VALID and very good portal is dobreprogramy.pl (without minus in name).
@StevenBlack
More: http://www.dobreprogramy.pl/Niebezpieczna-podrobka-naszego-portalu-ponownie-przestrzegamy,News,33194.html

Perfect!  Thank you Tomasz @FadeMind


istio-cni: consider dropping host netns mount path

Describe the feature request
Right now in istio-cni we host-mount 2 different system dirs into the cni node agent pod to find the network namespaces of pods on the node.

/var/run/netns, since the CNI plugin gives us the netns path (CNI is responsible for creating this path in the first place and has full context) - we get this for all new pods.

/proc walking, for when we need to enroll pods that have already started, and have no CNI event to pull the netns path from.

If we change the istio-cni plugin so that instead of passing the string path to the pod's netns path on the host to the CNI, we pass the actual netns FD to the CNI over the plugin UDS socket, we can drop the netns mount from the CNI agent itself.
This would be good for 2 reasons:

1 fewer host mount for a privileged pod (istio-cni)
netns bind mounts do not have a standard path, and can be different depending on your container runtime/cluster:

For an example: installing a minikube cluster via minikube start --cni=kindnet --driver=docker creates

/var/run/docker/netns

and populates it with container netns entries, but leaves

/var/run/netns empty/unpopulated.

See also: https://github.com/istio/istio/pull/47444
Describe alternatives you've considered
Affected product area (please put an X in all that apply)
[ ] Ambient
[ ] Docs
[ ] Dual Stack
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Extensions and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
Affected features (please put an X in all that apply)
[ ] Multi Cluster
[ ] Virtual Machine
[ ] Multi Control Plane
Additional context

I still think this might be desirable but it's not a high priority ATM.


User search - Unexpected end of JSON input

When you enter a username, that doesn't exist, an error message appears that states "Unexpected end of JSON input". Is this expected? Could we add a more user friendly message?
Username = sdgfdsge45

Currently it is expected, and we definitely SHOULD add a better UX xD
I'll take a look at this

Also, w/ @VincentLeighton 's new spinner in place, it looks like really large screen resolutions treat the modal weird -

I'll see if I can address that w/ this ticket as well

How's this look? @Roughnick and @VincentLeighton ?


Use must_use

We have a TODO that hints at using must_use.
Use attribute must_use to warn users if they do not use the return value of this function.

This has been open for almost a year now, closing.

This has been open for almost a year now, closing.


Testrun should run validations

run checkstyle method from core

This user story can't be done due to a bug in backend #352.


Fixes #286

Fixes #286. It seems that with no connection there should be no changes.

Either I'm missing something or behavior is the same as before. When there is no network connection it changes the URL but does not show a new page.

we disabled section selection

we disabled section selection

When?
I still can click a section when network is not available. Check the deployment for this PR. It changes the URL and does not change the content:


PayPal logging issue

I'm hitting an issue with logging in to Paypal:
import { Selector } from 'testcafe';

fixture('This is a demo to test multi-windows').page('www.change.org');

test.only('Log in to Paypal', async t => {
  await t
    .navigateTo('/p/the-world-send-matt-damon-to-mars-to-recover-opportunity/sponsors/new')
    .expect(Selector(`a[href*="/psf/share?source_location="]`))
    .ok()
    .typeText(Selector('input[name=amount]'), '123', { replace: true, speed: 0.3 });

  const emailAddressInput = Selector('[data-testid="input_email"]').filterVisible();
  const confirmationEmailInput = Selector('[data-testid="input_confirmation_email"]').filterVisible();
  await t
    .click(Selector(`[data-testid="payment-option-button-paypal"]`))
    .expect(Selector('.iframe-form-element').exists)
    .notOk()
    .typeText(emailAddressInput<EMAIL_ADDRESS>    .typeText(confirmationEmailInput<EMAIL_ADDRESS>    .typeText(Selector('[data-testid="input_first_name"]'), 'Some')
    .typeText(Selector('[data-testid="input_last_name"]'), 'User');

  const payWithPaypalButton = Selector('[data-funding-source="paypal"]');
  await t
    .switchToIframe(Selector('[data-testid="paypal-button"] iframe'))
    .expect(payWithPaypalButton.with({ visibilityCheck: true }).exists)
    .ok()
    .hover(payWithPaypalButton)
    .click(payWithPaypalButton)
    .switchToMainWindow()
    .expect(Selector('.form-error').find('p').visible)
    .notOk();

  // PayPal Login Window
  await t
    .typeText(Selector('#email'<EMAIL_ADDRESS>    .click(Selector('#btnNext'))
    .typeText(Selector('#password'), 'password')
    .click(Selector('#btnLogin'));
});

Resulting in:
This is a demo to test multi-windows
 ✖ Log in to Paypal (screenshots: /**/screenshots/test-1/_errors/1.png)

   1) The element that matches the specified selector is not visible.

      Browser: Chrome 81.0.4044.129 / macOS 10.15.4
      Screenshot: /**/screenshots/test-1/_errors/1.png

         31 |    .expect(Selector('.form-error').find('p').visible)
         32 |    .notOk();
         33 |
         34 |  // PayPal Login Window
         35 |  await t
       > 36 |    .typeText(Selector('#email'<EMAIL_ADDRESS>         37 |    .click(Selector('#btnNext'))
         38 |    .typeText(Selector('#password'), 'password')
         39 |    .click(Selector('#btnLogin'));
         40 |});
         41 |

         at <anonymous> (/**/tests/demo/test.js:36:6)

 1/1 failed (42s)

Screenshot:

UPDATE:
If I log out the current URL, it returns the URL for our Sponsor page... however when running our Facebook share tests, the Facebook URL is correctly logged out. My assumption is (and going with the screenshot provided), that the PayPal window is still loading... but never actually completes (despite waiting x mins).
Originally posted by @rob4629 in https://github.com/DevExpress/testcafe/issues/912#issuecomment-621516177

Is there any documentation for this new option (--allow-multiple-windows)?  I am trying to open a few/several windows and bouncing between them.  Then closing those windows to end the testing correctly.

@ambeecher It's still in Alpha phase, so I imagine documentation will be updated with the release of v1.8.5.
In the meantime, you can check #912 for further information

Hi Rob,
Thank you for your response.
I have seen #912.  There are tests in the ticket but what I’m trying to do is a bit more detailed.
I need to be able to open 5 to 9 windows and change focus from one window to another.
I have tried to use browser keystrokes tried to change browser windows/tabs.
I use ‘ctrl+1’ or 2,3,4,5,6,7,8 and 9 depending which screen I need to be on.
The t.pressKey(‘ctrl+5’) command doesn’t work…which I’m trying to figure out why it fails.
Also, I want to be able to delete/exit a window when I’m done with the window… ‘ctrl+w’ actually works by hand but not when sent from t.pressKey() command.
Any insight in to how I can get many windows up and bounce from one window to another window would be appreciated?
Thank you,
Alex Beecher
From: Rob Cooper<EMAIL_ADDRESS>Sent: Wednesday, May 13, 2020 8:49 AM
To: DevExpress/testcafe<EMAIL_ADDRESS>Cc: Beecher (US), Alex<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [DevExpress/testcafe] PayPal logging issue (#5033)
@ambeecherhttps://github.com/ambeecher It's still in Alpha phase, so I imagine documentation will be updated with the release of v1.8.5.
In the meantime, you can check #912https://github.com/DevExpress/testcafe/issues/912 for further information
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/DevExpress/testcafe/issues/5033#issuecomment-628040919, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AJPG4N22QFYO4WGLZ25S6TDRRKXL5ANCNFSM4MVJIVVA.

I'm not sure if what you're asking for is currently available... however you might want to follow #5034 or create a new issue for t.pressKey() commands not working as expected.

Could this PayPal window issue be related to #5325 ?

Hi @rob4629
We cannot say something definitely because we don't know the cause of the problem. We will update this thread once we have any results.

It looks like the WindowId isn't being set for the child window:

I have some time to investigate this issue... could you point me towards the code responsible for setting the code responsible for setting this, please?

Hello @rob4629 ,
Thank you for your help.
Here is the code where we process window opening and set the child window ID: https://github.com/DevExpress/testcafe-hammerhead/blob/master/src/client/sandbox/child-window/index.ts
Since we don't know for sure how PayPal opens the login window, you will need to check each of the possible approaches:

click on a link with the targt=blank attribute
call the window.open method
submit a form to a new window

Here are links to corresponding methods for each approach:

handleClickOnLinkOrArea
handleWindowOpen
_handleFormSubmitting

Hey @AlexKamaev, I see you've self assigned this. I've created a simple project to test the PayPal issue, and I'm going through the codebase. If I can help you with it, then please let me know.
I'll continue investigating it in the meantime

@rob4629 Thank you for your sample. I'm working on this issue, but it turned out to be more complex than I expected, so I cannot give any estimate at the moment. I will let you know if I need any additional information. Thank you for your input.

@rob4629
I created a draft version of the PR with the fix for the described issue. Please check it: https://github.com/DevExpress/testcafe/pull/5710
The cause of the issue is that the Paypal button is in the iframe element, so a new child window with the login form is opened as a child of iframe. I could reproduce the issue in a local example, however, my local example cannot cover all possible scenarios, so additional testing on your side will be really appreciated.
Testing on my side does not work every time. It looks like that for some reason Paypal's iframe is not loaded sometimes. Moreover, in some cases, Paypal requires a captcha to continue the test.
Please share your results with us.

That's great news! I'll check the PR out now, and get back to you. I have a couple of different scenarios I can test, so hopefully that will give us a good idea of whether the solution works.

Using your PR, my test scenarios are now working. I'm going to spend some time running through additional tests to verify though. Do you also want me to review the PR?

@rob4629 I'm happy to hear that in most cases the PR solves the issue. I need some additional time to make final changes and test it one more time. We will really appreciate it if you can test it too. Thank you.
If you want to review the PR, you are welcome to do so.

Hello, having the same issue here, trying to access a window opened by an iframe.
How can I test #5710 locally to see if my problem resolves with that PR?
Thanks in advance!

Steps I took:
> git clone git@github.com:AlexKamaev/testcafe.git
> cd testcafe
> npm install
> npx gulp build
> npm link
> cd <your test directory>
> npm link testcafe
> testcafe chrome <args>

Alternatively, if you have issues with com:AlexKamaev/testcafe, just checkout the latest testcafe code and manually copy the code changes over, then continue from step 3

Yes, thanks @rob4629, with this PR #5710 the window opened by iframe gets focus.
My application has another complexity that is out of the scope of this PR.
It open a new window with window.open, and then tries to keep track or any URL changes from that opened window to run some code. This does not seem to be working, will see how and can solve that.

👋🏻 Hey, I know this has been closed, but I'm having an issue running our tests using either 1.10.0-rc2 or 1.10.0-rc.4. Any test that interacts with PayPal, hangs once the test has finished (and doesn't move on to the next test).
Any suggestions on what the issue might be?


Updates to slack-adapter

Fixes #1548
There have been some some updates to the DotNet slack-adapter, and this PR includes most of those changes.

I noticed in my tests that channel_id of a ConversationReference object (which is always "slack") is not the same as the channel ID that chat.delete API requires.
Therefore, I believe in line 137 of slack_adapter.py in this PR, channel=reference.channel_id should be replaced by channel=reference.conversation.id
Moreover, since the current code of slack_helper.py does not set the timestamp property of activities, exception on line 134 of slack_adapter.py in this PR is always raised. There is a fix for this in PR #1605 (a conversion from datetime to epoch is required if using that PR) or ts=context.activity.timestamp in line 137 of slack_adapter.py in this PR can be replaced by ts=reference.activity_id since we already set activity_id to be the timestamp.

@omid-jf Thanks!  I'll take a look and apply the fixes.


Documentation Request: Lua in vimrc

Language server
Not applicable
Requested feature
Document in the README how to write the vimrc given that the examples given (I think?) are written in lua (as opposed to vanilla vimrc).
Other clients which have this feature
Not applicable

just copy the lua code into the lua <<EOF  code EOF block in your vimrc


Update all components that shows a message when not configured properly

If the below components are not configured correctly, instead on displaying the current message as if, highlight the component in error and display the error/alert message on a tooltip.

Button Group
Text: When using the content property {{firstName}}
Image Annotation
Markdown
Reference List Status
Status Tag
Entity Picker
DataTable (full)
DataTable Context
DataTable
Data List
Table Pager
Quick Search
Table view selector
DataSource
Drawer

URL with the above components: https://function-adminportal-test.shesha.dev/shesha/forms-designer?id=ccc17a1c-964b-4307-b792-8a2b847e861d

Hi @nthangeniphumudzo please see some mockups below.
I have used a similar look and feel to the existing components but shrunk them down to a smaller size. The idea here is that the blue indicates something with a friendly tone that a component needs configuration and in yellow when there is a configuration but with an error such as an invalid value.
When hovering over the component it immediately shows a tooltip to give some further explanation on configuration or errors.
I have also omitted the 'X' button to dismiss them as I don't see how we can remove these error messages without creating an issue where there is an invisible component.
Lastly, I have also included a Figma prototype so you can use it to get a feel for how it works. Please open the link and hover over different components in the newly created area.
https://www.figma.com/proto/OPgxeZhTU3hYIJfe03rLcm/Github-Issues?node-id=23-549&t=2OYTUGt10TxbCMYa-1

hi @nthangeniphumudzo
There is a new KanbanComponent added to the main branch
Please review validations in the component after merge new validations feature to the main branch


Since last update (I updated on 13.12.23) -> "fhempy/fhempy_venv/bin/activate: No such file or directory"

Good morning ;-)
After the update I made this morning, I receive this error in the fhempy log:
Activating virtual environment...FHEM/bindings/python/bin/fhempy: line 34: .fhempy/fhempy_venv/bin/activate: No such file or directory OK No Python virtual environment available. Exit.
First there was also the info: "python3-venv" was missing.
Added this to my fhem container setup.
Now only the info above is given.
EQ3BT Control is working nevertheless.
Only the fhempy in the container is not working/starting/or visible correct (<IP_ADDRESS>:15733 fhempy) and (Pythonbinding_0 fhempyServer 0)

Versions Peer: 0.1.684

Any idea? :-)
Thanks!

Hi,
can you please try to do a
python3 -m venv .fhempy/fhempy_venv
in the $HOME directory of the FHEM user (e.g. /opt/fhem). It seems that the command is not working in your environment.

Could it be that you are running FHEM within docker? If so, please see #218

That is exactly the case.
Checking it.

Changeging to #218


How to fix on mobile ?

I really love this jquery plugin and i used it for my website. But, when i test on mobile, it is wrong way up. When i swipe down, it scrolls up => screen scroll left. Beside, if when swipe right, can it scroll right ?

@ryantran You need to be more specific, and if possible, provide with a snippet.

@ryantran Don't forget to set the viewport on mobile " " otherwise the body tag will be bigger than you screen

@pixxelfactory @JimmyBillan, is it possible to disable the scroll down and implement a swipe right type functionality? This way the user could swipe left or right instead of having to scroll down?

I tried what @JimmyBillan suggested to set the viewport on mobile and also the below meta tag. I still am able to scroll horizontally however.
 <meta name="viewport" content="width=device-width; initial-scale = 1.0; maximum-scale=1.0; user-scalable=no" />

Trying to implement invertscroll, but I'm running into this issue. Since it utilizes an up-and-down scroll to go sideways, it does the same on mobile. On mobile you have to swipe up and down to go left and right. Is it possible to fix this.

Hmmm.. one possibility would be to implement a routine that detects if the user is on a mobile device (or differ between click and touchstart when scrolling) and write a function or whatever that does not set the full height, but the width and update the positions of the elements when scrolling to left / right..
Not a simple thing to do, but i'll look into that.

Thank you, I'll certainly toy around with it as well

Wondering if anyone ever came up with solutions here?

there is an error in the jquery file
   // do the position calculation for each element $.each(elements, function (i, el) {                  var pos = Math.floor((el.width - winWidth) * scrollPercent) * -1;                  el.el.css('left', pos);             });
here scrollPercent should be increased more than 1.


Updated Microsoft.OpenJDK.17 to 17.0.7

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?
[x] This PR only modifies one (1) manifest
[x] Have you validated your manifest locally with winget validate --manifest <path>?

[x] Does your manifest conform to the 1.4 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

@stephengillie do you know why the license/cla pipeline has not run yet for this PR? I believe this policy should pass since I am a Microsoft employee. It also looks like it has not run/passed on my other PR as well: https://github.com/microsoft/winget-pkgs/pull/102969

@microsoft-github-policy-service agree company="Microsoft"

@denelon

@jmjaffe37 can you try without: company="Microsoft"
I'll ping the OSS team to see if this is a bug.

@jmjaffe37 can you try without: company="Microsoft"
I'll ping the OSS team to see if this is a bug.

I tried both versions in my other PR (https://github.com/microsoft/winget-pkgs/pull/102969) and it still hasn't passed. I can try again here though

@microsoft-github-policy-service agree

@jmjaffe37 can you ping me on Teams?

Same feedback as https://github.com/microsoft/winget-pkgs/pull/102969#issuecomment-1521278981

@jmjaffe37 Same issue as pointed in https://github.com/microsoft/winget-pkgs/pull/102969#issuecomment-1521278981


Shoulder joint

Hello,
Im having a hard time finding out which keypoint is the shoulder for my model and was hoping someone knows.
`import os
import math
import numpy as np
import pandas as pd
from easy_ViTPose import VitInference
import cv2
from tqdm import tqdm
from math import atan2, degrees
print("Initializing model...")
model_path = './vitpose-25-s.pth'
yolo_path = './yolov5s.onnx'
model = VitInference(model_path, yolo_path, model_name='s', yolo_size=320, is_video=False, device=None)
`

Hello, you can find the skeletons for your model here: easy_ViTPose/easy_ViTPose/vit_utils/visualization.py

yeah Iv been looking in that I think for my model its 6, and 7 but I'm trying to verify and I'm getting this line drawn for it.

Please provide the code you used for this result and the image, you should also convert the image to RGB before inference or back to BGR if you are using cv2 for showing it.
img = cv2.imread('img.jpg')
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
model.inference(img)

img = model.draw(show_yolo=True, show_raw_yolo=True, confidence_threshold=0.2)  # Returns RGB image with drawings
cv2.imshow('image', cv2.cvtColor(img, cv2.COLOR_RGB2BGR))
cv2.waitKey(0)

hey thank you so much for the help, yeah I realized the way I'm showing is messed up but Iv just been trying to figure out the joints so been ignoring it.
the code is very short I'll put it here. all I'm trying to do is create a line from one shoulder to the other.
`import os
import math
import numpy as np
import pandas as pd
from easy_ViTPose import VitInference
import cv2
from tqdm import tqdm
from math import atan2, degrees
Initialize the model
print("Initializing model...")
model_path = './vitpose-25-s.pth'
yolo_path = './yolov5s.onnx'
model = VitInference(model_path, yolo_path, model_name='s', yolo_size=320, is_video=False, device=None)
Constants
frames_root_directory = 'testFrames'
robot_coords = np.array([355, 287])
sink_coords = np.array([234, 275])
radius_sink = 200
radius_robot = 200
near_sink_or_robot_dict = {}
df_data = []
def draw_line(frame, point1, point2, color, thickness):
cv2.line(frame, tuple(point1.astype(int)), tuple(point2.astype(int)), color, thickness)
def is_facing_robot(frame, keypoints, angle_tolerance=10):
left_shoulder_person = keypoints[5, :2]
right_shoulder_person = keypoints[6, :2]

# Calculate slope for person's shoulder line
dy_person = left_shoulder_person[1] - right_shoulder_person[1]
dx_person = left_shoulder_person[0] - right_shoulder_person[0]
slope_person = atan2(dy_person, dx_person)

# Constants for robot's shoulder keypoints
left_shoulder_robot = np.array([339, 188])
right_shoulder_robot = np.array([362, 188])

# Calculate slope for robot's shoulder line
dy_robot = left_shoulder_robot[1] - right_shoulder_robot[1]
dx_robot = left_shoulder_robot[0] - right_shoulder_robot[0]
slope_robot = atan2(dy_robot, dx_robot)

# Calculate angle difference
angle_diff = abs(degrees(slope_person) - degrees(slope_robot))

# Draw lines for visualization
draw_line(frame, left_shoulder_person, right_shoulder_person, (0, 255, 0), 2)  # Green line for person
draw_line(frame, left_shoulder_robot, right_shoulder_robot, (0, 0, 255), 2)    # Red line for robot

return angle_diff < angle_tolerance

Frame processing
if not os.path.exists(frames_root_directory):
print("Frames directory does not exist. Please check.")
exit()
print("Starting frame processing...")
for video_dir in tqdm(os.listdir(frames_root_directory), desc="Processing directories"):
video_dir_path = os.path.join(frames_root_directory, video_dir)
for frame_file in tqdm(os.listdir(video_dir_path), desc=f"Processing frames in {video_dir}"):
    frame_path = os.path.join(video_dir_path, frame_file)
    frame = cv2.imread(frame_path)

    keypoints = model.inference(frame)
    if keypoints:
        latest_person_id = max(keypoints.keys())
        latest_keypoints = keypoints[latest_person_id]

        facing_robot = is_facing_robot(frame, latest_keypoints)

        img = model.draw(show_yolo=True)
        cv2.imshow('image', cv2.cvtColor(img, cv2.COLOR_RGB2BGR))
        cv2.waitKey(0)
        cv2.destroyAllWindows()

`

One note, if you add 3 backticks   (and 3 to close  ) the code block will appear correctly
example

Your code is fine but has a few errors, the model returns coordinates for keypoints in format (y, x, score) while you are using opencv draw line which requires points to be in (x, y, score) format.
Also you are not drawing on the output image. Here's the last corrected part.
print("Starting frame processing...")
for video_dir in tqdm(os.listdir(frames_root_directory), desc="Processing directories"):
    video_dir_path = os.path.join(frames_root_directory, video_dir)

    for frame_file in tqdm(os.listdir(video_dir_path), desc=f"Processing frames in {video_dir}"):
        frame_path = os.path.join(video_dir_path, frame_file)
        frame = cv2.imread(frame_path)

        frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
        keypoints = model.inference(frame)
        if keypoints:
            latest_person_id = max(keypoints.keys())
            latest_keypoints = keypoints[latest_person_id]

            # Switch from (y, x, score) -> (x, y, score)
            latest_keypoints = latest_keypoints[:, [1, 0, 2]]
            # Draw on the frame, as contiguous is required by cv2 here, or copy the image
            img = np.ascontiguousarray(model.draw(show_yolo=True), dtype=np.uint8)
            facing_robot = is_facing_robot(img, latest_keypoints)

            cv2.imshow('image', cv2.cvtColor(img, cv2.COLOR_RGB2BGR))
            cv2.waitKey(0)
            cv2.destroyAllWindows()

got it, thank you so much for the help, and thank you for maintaining this package as well.


Enhancement: Module Manager Interface

It would be great if there is module manager GUI interface out of the box. I have created one from my understanding with its screenshots as well as code.

The Crud.docx should be renamed to Crud.zip cause GH didn't allow me to upload zip file.
Crud.docx

Very sweet job, great to see handy ui stuff.


404 not found when using IP address

Tried this on both a local IP (192.168...) and a Digital Ocean droplet, same thing. Simply returs "404 page not found". Set up the following settings as per the README:
DRUPAL_SITE_HOST=192-168-5-20.traefik.me
Changed all the dots into hyphens as per the README in docker-compose.env.yml
Ran "make" and "docker-compose up -d". When running with default settings (localhost), it works.

Any update on this?  I'm seeing the same issue, though I haven't managed to confirm it works with localhost settings instead of an IP address as it's running on a VM without a GUI.

The way this is set up by default means the Drupal front end will be accessible on this domain if you have entered that IP address:
https://islandora-isle-dc-192-168-5-20.traefik.me/ not simply the domain https://192-168-5-20.traefik.me
That server appears to be off at the moment, or has network settings which block my access. Does that help?

I'm not interested in that address, this was someone else's issue I jumped on since it didn't seem to have been answered.  The issue is a 404 page not found.  You can see the same behavior with a real FQDN at https://islandora8-test.acg.maine.edu using demo mode.

@noahwsmith That URL also gives a 404 not found. Both local and remote (DigitalOcean). Maybe there's something missing in the README that makes the IP address variant work?

Run docker-compose logs -f to see a log trace. Can you please post the output? You can also shell into the container (docker-compose exec drupal bash) and look around at the web root to see if it is all there correctly.
A 404 typically means that the "web" directory hasn't been compiled by Composer, or that your Drupal root bind mount is not pointed at a valid location. My guess is that something interrupted your Demo install (which happens behind the scenes in the first 10 minutes the server is turned on the first time) or you never ran one of the commands that run Drupal's site-install if you're doing a Local mode. (trying to post info that is relevant to both people commenting on this ticket)

Okay, finally did it. But I don't know which of these two things helped:
Instead of make and docker-compose up -d I ran them with sudo. So
sudo make

and
sudo docker-compose up -d

Also, after running "sudo make" I waited for a while before running "sudo docker-compose up -d" (even after everything was pulled). Maybe this is what @noahwsmith you meant by "which happens behind the scenes in the first 10 minutes the server is turned on the first time".
Also, once I could access (https://islandora-isle-dc-192-168-5-20.traefik.me/) the site was in maintenance mode, so I had to
sudo docker-compose exec drupal bash

go to web/sites/default and
drush state:set system.maintenance_mode 0

And now it's up and running. Regarding this, I have two-three recommendations for README:

Add a notice to wait after running the make command
Maybe add a notice for sudo docker?
Definitely add a notice for the correct IP address URL: https://islandora-isle-dc-IP-WITH-DASHES.traefik.me/ since the documentation makes it seem like it's located at https://IP-WITH-DASHES.traefik.me/
Add instructions to get out of maintenance mode or disable it automatically

The need for sudo indicates some funky file or Docker permissioning- I don't think we want that to be the default. If others replicate this issue, we should solve it at the root so sudo isn't needed (cc @nigelgbanks ). I'll say that I recently spun up a new ISLE8 and didn't need to do any sudoing.
I'm not sure about the maintenance mode- I can't replicate that either.
I agree the docs should update regarding the access URL. Will you issue a PR to fix @jmvezic ? Thanks in advance...

Made a PR for README update. I will check later today or tomorrow if the same thing (sudo, maintenence mode) will repeat on DigitalOcean with a Debian 10 droplet, and make note of every command I run (and packages installed).

Might be one or more issues with sudo.
If the user is not a member of the docker group, check with groups command.
$ groups
nbanks adm cdrom sudo dip plugdev lpadmin lxd sambashare libvirt docker

If a user is not in the docker group then they are not allowed to use docker, docker-compose hence the need for sudo.
https://docs.docker.com/engine/install/linux-postinstall/
Additionally the need from sudo may also arises from files being created from inside of the Drupal container on a folder mounted on the host. Wherein the user inside of the container (either nginx uid:101 or root uid:0) writes files to the host mounted folder and the user on the host doesn't have permission to modify those files. Host mounted folders are generally problematic for this reason. There isn't a real work around for this that per say its just a property of using host mounted folders. You'll need to make sure the files in the host mounted folders can be read by the nginx user uid:101 but if you want to modify them as well you can change permissions like chmod -R a+rw folder_name  which would allow you on the host to modify those files directly.

I bumped into that head on when I recently set up a new laptop. Things don't work right if you're not part of the docker group. One of many gotchas. We may want to link out to the postinstall docs from the README.

Tried doing the same thing on DigitalOcean and now it didn't work. Neither did adding the user to docker group. I always get 404 page not found. It's really baffling and seems random. Order of actions on a fresh Ubuntu 20 droplet:

Made a user with sudo privileges
Installed git, docker, docker-compose, make, php, composer (sudo apt-get install...)
Stopped Apache since it seems to clash with some other service later (Drupal probaby) - maybe this needs to be added to the documentation as well
Ran git clone https://github.com/Islandora-Devops/isle-dc.git in the user home directory
Ran cd isle-dc
Ran make
Changed DRUPAL_SITE_HOST to X-X-X-X.traefik.me in .env
Changed dots to dashes in docker-compose.env.yml as per README
Ran make
Ran docker-compose up -d
Services up and running, no errors (seems some tomcat stuff takes a while to start up, waited for it)
Accessed https://islandora-isle-dc-x-x-x-x.traefik.me/ which gives 404 page not found
When this didn't work, tried docker-compose stop and then sudo make then sudo docker-compose up -d, same thing, 404 page not found

@noahwsmith by default they will run as the root user. There is an exception in that drush has a wrapper script here which forces it to run as the nginx user. composer doesn't force the user but also has a wrapper script here it could be made to run as nginx as well.

Well, we don't want the web directory owned by root, but maybe we're cleaning that up elsewhere?

@noahwsmith I did do a full logout/login, forgot to mention that in the list of steps, right after adding the user to docker group (after installing docker).

And now I tried the exact same procedure as described and it's working. I'll try to see what exactly is the problem over the weekend - is it possible that it's some sort of a timing issue on a faster system? Maybe docker finishes up some components before running others?

You ever figure out what was up @jmvezic ?

I haven't been able to reproduce it again, so it seems I do finally have a workflow that definitely works (I hope so):

Made a user with sudo privileges
Installed git, docker, docker-compose, make, php (sudo apt-get install...)
Stopped Apache since it seems to clash with some other service later (Drupal probaby)
Installed composer as described here https://getcomposer.org/download/ (no sudo)
Added user to docker group with sudo usermod -aG docker user
Restarted the user session to pick up the change
Ran git clone https://github.com/Islandora-Devops/isle-dc.git in the user home directory
Ran cd isle-dc
Ran make
Changed DRUPAL_SITE_HOST to X-X-X-X.traefik.me in .env
Changed dots to dashes in docker-compose.env.yml as per README
Ran make
Ran docker-compose up -d
Services up and running, no errors
Wait for everything to install - tomcat and drush take a while
Accessed https://islandora-isle-dc-x-x-x-x.traefik.me/
Login with admin and password

I also got a 404 last night, but I don't know what to make of the above discussion and the documentation for
DRUPAL_SITE_HOST=traefik.me
in .env and IP address in docker-compose.demo.yml
My home world has Windows 10 with IP address of <IP_ADDRESS> and the VirtualBox/Ubuntu for which I'm trying to do ISLE using https://github.com/Islandora-Devops/isle-dc has IP address <IP_ADDRESS>.
What is your suggestion on how to configure .env and docker-compose.demo.yml?
And then having done that, what is the URL to reach Drupal /Islandora from Ubuntu?
Or is it just broken?
Thanks

Sorry to hear you're having such a tough time with it @DanRoller.  It is functional, but still farily new, especially Windows support. The community is currently sprinting on ISLE, and hope to improve both isle-dc and its documentation within the next two weeks. If we could resolve whatever you're running into during that process, it would be great.
The traefik.me deal is to get around having to play with your hosts file.  It gives you a domain but resolves to <IP_ADDRESS> and comes with certs for https. Part of our sprint is to simplify the urls (the subdomains are a bit crazy), but for now, http://islandora-isle-dc.traefik.me will bring you to Drupal and your Islandora instance.
If you can manage to get it running using wsl2 on windows, that URL should work out of the box.  Since you're using an ubuntu vm, you'll need add an entry for islandora-isle-dc.traefik.me in your hosts file and point it at your vm.  There's a more arcane way to point traefik.me at an IP detailed in the README, but it can be a bit error prone.  Usually it's easier to just edit your hosts file.
BTW, any feedback you could provide on the current instructions for windows would be greatly appreciated: https://islandora.github.io/documentation/installation/docker-compose/

I have been following lots of paths and getting stopped at each.
I disabled WSL and when to VirtualBox/Ubuntu when ISLE was version 7 and it used port 80.
Port 80 mucked with my family/development ISS that also demanded port 80. I spent more time starting and stopping various environments that looking at Islandora.
I'd go back to the WSL world (trashing VirtualBox/Ubuntu that is an incompatible VM)  if I thought that the traefik.me deal, didn't demand port 80.
Can you confirm that?  Otherwise I have to just hang out with the Islandora videos for a few more weeks.
Thanks.

Restarted, went biking, used suggestion http://islandora-isle-dc.traefik.me
and I'm in with admin/password
I'm confused but I getting use to it!
Thanks

@DanRoller Glad to hear you got it working.  If you've got it working I wouldn't touch it, but just FYI when you're running make, part of what it's doing is generating a docker-compose.yml file.  At any point in time, if you wanna play with things like changing ports, you can edit that file.  And if you mess things up, you can just regenerate it with make docker-compose.yml to get back to a working state.


use unique when changed validation for service order

use uniqueness_when_changed for service order to reduce queries (1 to 0) performed when an unchanged record is saved.
see #20520 (thanks KB) which got merged tuesday morning of soon to be almost four weeks ago
@miq-bot add_label performance
@miq-bot assign @kbrock

thnx


Update _config.yml

I believe you wanted to raise the pull request against your fork and not the main moonwalk repo. Hence, closing this PR.


feat: rust bindings for sample+proof gen+verification

add rust bindings for the following C functions:

get_samples_and_proofs
verify_sample_proof

Thank you.
Sent from Yahoo Mail for iPhone
On Thursday, August 1, 2024, 11:57 AM, Justin Traglia @.***> wrote:
Closed #3.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.Message ID: @.***>


Rewrite theme.js to remove jQuery

jQuery quite frankly is a burdensome and weighty library in today's ES6 world. This file is one of the only files in bootscore that still depends on jQuery to function.

This file is one of the only files in bootscore that still depends on jQuery to function.

That's actually not completely true, there is also woocommerce/js/woocommerce.js and the insides of woocommerce/inc/ajax-add-to-cart.php. So these changes will not completely remove jQuery as dependency, at least not when using woocommerce.

I had this on my list as well. It's good that already someone want to do this. Tested it and found 2 issues. Readded the jQuery again to show how this snippets should work:

First snippet // Handle offcanvas links click event. does not work. Check https://bootscore.me/theme/scrollspy-onepager/, shrink browser to mobile view and click the links in menu. Offcanvas closes if one of the onepager-links is clicked. Snippet can be deleted if https://github.com/twbs/bootstrap/pull/38514 is merged.
Fourth snippet // Hide collapse-search when clicking outside of it. Does not work as well. Click on the same page the search-toggler in the navbar. Click 1px right next to the input-group search button - collapse stays open. Click somewhere else on the whitespace - collapse closes.

About the other 2 files @justinkruit mentioned. I'm a huge friend to have a standard and Vanilla JS there would be nice as well. But both files gets only enqueued if WooCommerce plugin is installed and entire WooCommerce' JS is jQuery. It will not make a huge different if we change them to Vanilla JS too. So, in this case I'm fine using Vanilla in theme.js and jQuery in WC scripts.
So users who haven't installed WooCommerce have a theme without jQuery dependency when this is merged.
Just for info:

I'm not entirely comfortable rewriting those files to remove jquery as we cannot test it

Simply setup a testing site, install WooCommerce and you can test them well. But as I wrote above, I think this is not important for now.
And while we are here, Internet Explorer warning seems to be outdated and many other browsers are not supported by Bootstrap 5 as well. Think we can delete this in a further update.
If we get those 2 issues fixed, I'm in. Let me know what you think.

And when all is done and fixed, please request both me and @crftwrk as reviewer (if you're able to, not entirely sure if you can as PR author so please test it).
I'd like to fully test this when the bugs mentioned above are fixed.

Set this to draft to avoid accidentally merging.

Nearly ;-)

I miss the comments and have to read the code first to understand what each snippet does.
Self closing offcanvas by click on  does still not work
NOT tested IE warning, because my old machine has gone. But as mentioned above, think we should remove this snippet in a separate PR.
All other snippets works fine
All snippets are wrapped in function initializeScripts() {. Why?

Changed some code and everything (IE warning not tested but not important) works fine. Is already live on bootscore.me.
/*--------------------------------------------------------------
Theme JS
--------------------------------------------------------------*/

// Close offcanvas on click a, keep .dropdown-menu open
// See https://github.com/bootscore/bootscore/discussions/347
document.addEventListener('DOMContentLoaded', function () { // Fire after bootstrap.bundle.min.js is loaded
  const offcanvasLinks = document.querySelectorAll('.offcanvas a:not(.dropdown-toggle):not(.remove_from_cart_button)');
  const offcanvas = new bootstrap.Offcanvas(document.querySelector('.offcanvas'));

  offcanvasLinks.forEach(function (link) {
    link.addEventListener('click', function () {
      offcanvas.hide();
    });
  });
});

// Remove search collapse button hide if widget is empty
// Deprecated v<IP_ADDRESS>, done by php if (is_active_sidebar('top-nav-search')) in header.php
// Remove in v6
const collapseSearch = document.getElementById('collapse-search');
if (collapseSearch && collapseSearch.children.length === 0) {
  document.querySelectorAll('.top-nav-search-md, .top-nav-search-lg').forEach((element) => element.remove());
}

// Focus searchform on click search-toggler
document.querySelector('#collapse-search').addEventListener('shown.bs.collapse', function () {
  document.querySelector('.top-nav-search input:first-of-type').focus();
});

// Close search collapse if click outside the searchform
document.addEventListener('click', function (event) {
  const target = event.target;
  const collapseSearch = document.querySelector('#collapse-search');
  const collapseButton = document.querySelector('[data-bs-target="#collapse-search"]');

  if (!collapseSearch.contains(target) && collapseSearch.classList.contains('show')) {
    collapseButton.click(); // Simulate a click on the collapse button to hide the collapse
  }
});

// To-top button
const topButton = document.querySelector('.top-button');
if (topButton) {
  window.addEventListener('scroll', function () {
    topButton.classList.toggle('visible', window.scrollY >= 500);
  });
}

// Height classes, add class to your content
['height-50', 'height-75', 'height-85', 'height-100'].forEach((cls) => {
  const factor = parseFloat(cls.split('-')[1]) / 100;
  document.querySelectorAll(`.${cls}`).forEach((element) => {
    element.style.height = `${window.innerHeight * factor}px`;
  });
});

// IE warning
if (window.document.documentMode && typeof bootscore !== 'undefined') {
  const IEWarningDiv = document.createElement('div');
  IEWarningDiv.className = 'position-fixed top-0 end-0 bottom-0 start-0 d-flex justify-content-center align-items-center';
  IEWarningDiv.style.backgroundColor = 'white';
  IEWarningDiv.style.zIndex = 1999;
  IEWarningDiv.innerHTML = `

${bootscore.ie_title}

${bootscore.ie_limited_functionality}

${bootscore.ie_modern_browsers_1}${bootscore.ie_modern_browsers_2}${bootscore.ie_modern_browsers_3}${bootscore.ie_modern_browsers_4}${bootscore.ie_modern_browsers_5}

`;
  document.body.appendChild(IEWarningDiv);
}

How to test

Go to https://bootscore.me/theme/scrollspy-onepager/. Each section should have 100% window height.
Shrink browser on the same page to mobile view, open offcanvas and click a nav-link. Offcanvas closes.
Click the search-toggler in the navbar. Searchform gets focused.
Click 1px left or right next to the searchform. Searchform loses focus but collapse stays open.
Click somewhere else on the page. Searchform collapse closes.
Add an outdated header.php to your child. Now go in backend to widgets and remove the searchform in top-nav-search area. Search toggler should be removed in frontend.

If you want to change this, I'm in 👍

The thing is that each snippet has a reason why it's there and has a job to do. If one of this is not working, it may create issues on existing installations. I recommend to setup a test environment instead doing changes on your live site.
Agree that we can skip to test the IE warning, but all other snippets have to work properly. Comments are mandatory as well to help other contributors to understand what each snippet does.
Added in https://github.com/bootscore/bootscore/pull/565#issuecomment-1772451969 a working script for the self-closing offcanvas.
Set this to draft again to avoid accidentally merging. If we can fix that, I'm in 👍

@androidacy-user FYI, IE warning has been removed https://github.com/bootscore/bootscore/pull/620. You can skip this snippet.


KAFKA-10756; Add missing unit test for UnattachedState

Accidentally find that there is no unit test for UnattachedState, We should add missing unit tests, code is similar to ResignedStateTest and VotedStateTest.

@hachikuji @guozhangwang ,Hi, PTAL.


v2 Cell::map, use sample_lazy and hold_lazy instead of sample and hold

fixed along with added loop_switch_s_test


feat: add dropdown for "folder to create canvas"

Preview:

Also fixed an npm dependency issue, it's used in lib/canvas/canvas.test.ts

(!) Plugin typescript: @rollup/plugin-typescript TS2307: Cannot find module '@jest/globals' or its corresponding type declarations.

I totally forgot this and no longer use this plugin, so I guess I shall close this 🥲


dbt cli stopped working after upgrading to 1.8.0

Describe the bug
Once I upgrade to dbt-databricks 1.8.0 none of the dbt cli command work anymore and all fail with the same error message. For instance, if I run dbt -h or dbt deps I get this error:
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "C:\Users\Thijs.Nijhuis\OneDrive - Shell\Documents\git\Template-EDP-DBT-Reference-Pipeline\.venv\Scripts\dbt.exe\__main__.py", line 4, in <module>
  File "C:\Users\Thijs.Nijhuis\OneDrive - Shell\Documents\git\Template-EDP-DBT-Reference-Pipeline\.venv\Lib\site-packages\dbt\cli\__init__.py", line 1, in <module>
    from .main import cli as dbt_cli  # noqa
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Thijs.Nijhuis\OneDrive - Shell\Documents\git\Template-EDP-DBT-Reference-Pipeline\.venv\Lib\site-packages\dbt\cli\main.py", line 14, in <module>
    from dbt.cli import requires, params as p
  File "C:\Users\Thijs.Nijhuis\OneDrive - Shell\Documents\git\Template-EDP-DBT-Reference-Pipeline\.venv\Lib\site-packages\dbt\cli\requires.py", line 10, in <module>
    from dbt.adapters.factory import adapter_management, register_adapter, get_adapter

Once I install dbt-databricks 1.7.16, the problem is solved.
Steps To Reproduce
Simply pip install 1.8.0 and run any cli command.
Expected behavior
The dbt cli to still work after install dbt-databricks
Screenshots and log output
See bug description
System information
The output of dbt --version:
I cannot run this command as that gives me the same error. When I run pip freeze I see theis (among other packages)
databricks-sdk==0.17.0
databricks-sql-connector==3.1.2
dbt-adapters==1.1.1
dbt-common==1.1.0
dbt-core==1.8.1
dbt-databricks==1.8.0
dbt-extractor==0.5.1
dbt-semantic-interfaces==0.5.1
dbt-spark==1.8.0

The operating system you're using:
'Windows 11 enterprise' but I get the exact same error when running from a GitHub action on ubuntu.
The output of python --version:
Python 3.11.4
Additional context
n.a.

In addition, I also pip installed the 'prep_for_1.8.1b1' branch locally but that gave me the same error.

What's the actual error?  You start at the stack trace, but what is the exception?  Also, can you share full pip freeze?

Thanks for pointing me tot that thread @benc-db . Think that is indeed the exact same problem.
So what I understand from it, is that this only happens when upgrading between a dbt-core pre 1.8.0 version to dbt-core 1.8.0 or later. The reason seems to be that the dbt-adapters package is now a standalone package but still resided in the dbt-core folder will which pip can't (always) handle.
For me, running this command, which I got from that thread, solved the issue (although it does throw an error):
pip install --force-reinstall dbt-adapters

Another way, would be to complete uninstall dbt-databricks and dbt-core and than clean install 1.8.0 or higher.
Closing this thread as this has nothing to with dbt-databricks but is a dbt-core issue.


The-Catalyst-School - GitHub Organization Set-Up

The-Catalyst-School GitHub Organization Set-Up
The-Catalyst-School GitHub Organization Set-Up was setup on the 6th July 2021 by @stephen-rowan.
GitHub Organization Ownership is shared between [] and @stephen-rowan and will need to be passed onto a trustee role who will not be a GitHub repository maintainer.

[ ] Pass GitHub Organization ownership to a trustee role who will not be a GitHub repository maintainer.

@stephen-rowan were you able to pass on github ownership yet? Maybe to Victor?


(core) - Add built-in gql tag function

Summary
No RFC, since this is a rather small change that naturally emerged after #1186
We can merge the functionality of graphql-tag into a leaner function in @urql/core. Our implementation does not check fragment names globally, so that it works well with @urql/exchange-graphcache but mostly checks them in the document that's currently generated.
The output is still compatible with graphql-tag and works similarly. There's potential for more optimisations, but the most important optimisation is that the function reuses the key-cache of request.ts in the same file.
The size increase is negligible and could be gained back with more refactors potentially (0.1kB gzip)

We tried replacing graphql-tag with this built-in tag, but as far as I can tell this doesn't do fragment de-duplication, which we rely on.
Do you still recommend using graphql-tag when de-duplication is needed, or is there another approach using the built-in tag?

@zachasme Just so I don't miss the point here; I suppose we may have forgotten to handle duplicate identical fragments? I'll look into that! That's a good point :+1:

Yes exactly, duplicate identical fragments. I was wondering if it was intentionally left out :)

@zachasme well, I hope that with the patch this is going to work just fine now ✌ I hope that didn't waste any time on your part and will work as expected

Wow that was fast, and it appears to be working--thanks a bunch, @kitten! :+1:
No time wasted, I only did a quick search+replace on our develop branch last week to try it out, and wrote the comment to figure out what was happening.


CPU usage displayed as a percentage

What would you like to be added:

Why is this needed:
By displaying the number of cores, it is difficult to detect how the CPU is being used, making it easy to overlook the issue.

Hello @youngledo

Thank you for reaching out!
We will be sure to update our development team about your request.
Regards,
Oleksandr from Lens

Expecting...


Open git status

Add a shortcut to open the git status of the repository, instead of showing a file list.
Discussed in https://github.com/cljoly/telescope-repo.nvim/discussions/18

Originally posted by molleweide January 12, 2022
i saw that you were working on entering git status directly. Are you doing this with neogit?

It might be better to simply offer a generic customization mechanism.

It will be easier to define mappings to various actions in the global settings introduced in #41


In Graph mode, how to create a lookup table that is updated by the output of one node?

With below example, how to create a lookup table in memory or redis that can be updated by demo source or humidityFilter node?
{
  "id": "rule1",
  "name": "Test Condition",
  "graph": {
    "nodes": {
      "demo": {
        "type": "source",
        "nodeType": "mqtt",
        "props": {
          "datasource": "devices/+/messages"
        }
      },
      "humidityFilter": {
        "type": "operator",
        "nodeType": "filter",
        "props": {
          "expr": "humidity > 30"
        }
      },
      "mqttout": {
        "type": "sink",
        "nodeType": "mqtt",
        "props": {
          "server": "tcp://${mqtt_srv}:1883",
          "topic": "devices/result"
        }
      }
    },
    "topo": {
      "sources": ["demo"],
      "edges": {
        "demo": ["humidityFilter"],
        "humidityFilter": ["mqttout"]
      }
    }
  }
}

Should I create a memory or redis sink first like this:
"alertStream": {
 "type": "sink",
 "nodeType": "memory",
 "props": {
  "topic": "alertStream"
 }
}

 "edges": {
        "demo": ["humidityFilter", "alertStream"]
}

and then use it to update a lookup table like this:
"alertTable": {
  "type": "source",
  "nodeType": "memory",
  "props": {
   "datasource": "alertStream",
   "kind": "lookup",
   "type": "memory",
  },
}

Your input is appreciated!

This should work by SQL. In Graph API, the table support is incomplete, I am not sure if it works now.


Automatic Brightness

I'm having difficulty with the automatic brightness setting. I believe the feature should operate in this way. When the room is dark, the panel will dim to prevent eye strain. When the room is bright, the panel with increase brightness to be easier seen. With the settings I've experimented with, I'm experiencing the opposite effect. When the room is dark, the panel brightens.
I've tried many settings for min and max values. I've even tried swapping the values. If set too low for the min value, the panel will turn off all together.
I'm using version 1.4.1. For hardware I'm using the Trinity board. Below is a screenshot of my current settings. Any help would be greatly appreciated.

Hello! Yes, the way of work is what is described, when the room is dark the display bright decreases.  Just to make sure :)
I think the problem is the parameters min/max you set.
Please, use the link "Read Pin" to read the value of the LDR. Click in "Read Pin" when the room is dark and bright, this will be a guide for you min and max value. In my case, the LDR give me zero in the dark and ~800 when I turn the lights on. So, Min = 0 and Max = 800 was a good fit.

Hi. As described, the panel does react to a light and dark room. Just not in the way I would expect. So the LDR is connected.
I didn't see the "Read Pin" link. That should be helpful. I'll try that and report back. Thank you for the suggestion and the fast response.

0 min and 2000 max values worked for me. At 300 min and 2000 max, the panel would just turn off in a dark room. This must be because these are full on/off thresholds. When the LDR value drops below the min value, the panel brightness is full off. On the other end, the max value defines when the panel brightness is full on. Is this correct?

Great to hear it worked. About the display turning off, a user suggested it and I liked the idea, turnoff the display when the LDR is below the min value. So, it's expected.
The full brightness is still limited by "Display Bright" parameter.
https://github.com/jnthas/clockwise/wiki/Connecting-the-LDR


Some changes

Added Focus FW (could only get the Engine FW, will try again another time)
Pass lane curvature to can commands
Comment out one of the create_steer_commands... since you can't have both with the same name

If you want to fix the fordcan.py stuff a different way I can just make this PR for the Focus fingerprint :slightly_smiling_face:


Enhancement idea: use Fonts which are easy for the eyes

From<EMAIL_ADDRESS>on 2010-08-11T07:40:51Z
The default font is a monotype console font with serifs.
This is tiresome for the eyes.
I changed this to "Consolas".
Verdana is also nice but not available in QT.
Also, there may be an option to change the fonts for all docks equally. Currently there are 4 settings for chnaging the font.
Original issue: http://code.google.com/p/spyderlib/issues/detail?id=281

From<EMAIL_ADDRESS>on 2010-08-19T05:07:06Z
I suppose the above will default to 'Monospace', not 'Consolas', and this seems to be what happens (on windows).
Suggestion:
MONOSPACE = ['Consolas' 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', ...

From pierre.raybaut on 2010-08-17T10:27:22Z
Could you be more specific:
* on what OS are you experiencing this problem? (I suppose that's Windows considering the fact that you are using the "Consolas" font)
* what is the name of the default font you are referring to?
With this... (spyderlib.config, line 64)
MONOSPACE = ['Monospace', 'DejaVu Sans Mono', 'Consolas', 'Courier New',
'Bitstream Vera Sans Mono', 'Andale Mono', 'Liberation Mono',
'Monaco', 'Courier', 'monospace', 'Fixed', 'Terminal']
...the default font should be 'Consolas' on Windows platforms and 'Monospace' on GNU/Linux (which is an alias for the default system monospace font).

From pierre.raybaut on 2010-08-19T06:22:31Z
Anyway, as 'consolas' does not exit on other platforms than Windows, I suppose I could put it in first position but for XP users (w/o Office 2007) 'consolas' does not exist, so this mysterious 'monospace' font could cause troubles again, and I prefer to understand what goes wrong before changing code.

From pierre.raybaut on 2010-08-19T06:18:17Z
My point was that 'Monospace' and 'Deja Vu Sans Mono' do not exist on Windows..... So it should be 'Consolas' and that's the behavior I've always experienced until now.
In other words, to be crystal clear this time, what is this 'Monospace' font on Windows that I've never heard about? (I suspect it comes from a third party software)

From<EMAIL_ADDRESS>on 2010-08-23T01:15:03Z
Sorry, by monospace I was referring to a mono-spaced font like Lucida Console. These often have serifs which are not meant for on-screen work.

From pierre.raybaut on 2010-08-23T01:21:09Z
Well then could you please try to reset spyder settings: with the configuration script cited above, the default editor font should be 'consolas' on Windows platforms if available?
(python spyder.py --reset)

From pierre.raybaut on 2010-08-24T03:01:31Z
Status: Done

From<EMAIL_ADDRESS>on 2010-08-24T02:32:20Z
The default is net to "DejaVu Sans Mono" after reset but I think it uses Consolas on MS Windows anyway.
We may close this.


Collaborating on UDS enums

Hi, my automotive_diag crate implements all UDS and other enums that you may want to collaborate on - this way we have one common definition of all constants that all implementations can reuse.  Would you be interested in reusing it / joining our efforts? Thx!

Hey, cool. I created this library as part of my masters thesis and used it in one currently unpublished project. I currently do not have time to continue to work on my project, but I will sure redirect anyone looking to work on it to look at your implementation. Take care and good luck!