Should avoid using unstable commits for repositories

FYI @adeeb10abbas from Drake Slack post, I saw following:
https://github.com/Zhourobotics/outdoor_slam_ros2/blob/74706d4d37566ebe03847ce54a9aebf66fdd6012/WORKSPACE#L75-L78
This will hurt reproducibility as users who did not fetch the given sha256 at that time will get cache miss errors from Bazel fetching.
I strongly recommend using full git SHA1's or version tags.
$ git diff -U1
diff --git a/WORKSPACE b/WORKSPACE
index 115be6c..07bde80 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -76,4 +76,4 @@ add_default_workspace()
 ## Adding Bazel_ROS2_Rules for drake-ros stuff to work ##
-DRAKE_ROS_commit = "main"
-DRAKE_ROS_sha256 = "b819c470da68e525201585524479bd42bd79daacfaa2729cb2f32757fc62052c"
+DRAKE_ROS_commit = "9171963955936ed2fbc853f1f2ae8ede1836e92d"
+DRAKE_ROS_sha256 = "08b08027afb06a55e9f1b3aa14186e9e48f24fb58332d8b7b8018eeeb2db70e6"

If it helps, here's how I fetch:
https://github.com/EricCousineau-TRI/repro/blob/50c3f52c6b745f686bef9567568437dc609a7f91/bazel/bazel_hash_and_cache.py
(be sure to also use fake_bazel_workspace)
$ cd drake-ros
$ git rev-parse HEAD
9171963955936ed2fbc853f1f2ae8ede1836e92d
$ bazel_hash_and_cache.py RobotLocomotion/drake-ros@9171963955936ed2fbc853f1f2ae8ede1836e92d
...
sha256: 08b08027afb06a55e9f1b3aa14186e9e48f24fb58332d8b7b8018eeeb2db70e6

Thanks a lot, @EricCousineau-TRI That script is very helpful :D!


Fix patch sorting in SegmentVesselsUsingNeuralNetworks

When creating patches, non-center-line vessel pixels are not distinguished from background, and are thus classified as negative (non-vessel) examples.
This fixes that issue, and adds new configuration options to allow control of the proportions of different types of positives and negatives, as well as the (approximate) total number of patches generated per original input image.

Okay, these commits should implement the desired changes. Proportionality is kept between different patch types in the event the desired number can't be met, and the number of patches to generate is specified directly for the positives. Negatives are specified by a ratio to the positives.

LGTM!


[folly, fizz, wangle, proxygen, mvfst, fbthrift, cachelib] update to 2024.04.22

[x] Changes comply with the maintainer guide.
[x] SHA512s are updated for each updated download.
[x] The "supports" clause reflects platforms that may be fixed by this new version.
[x] Any fixed CI baseline entries are removed from that file.
[x] Any patches that are no longer applied are deleted from the port's directory.
[x] The version database is fixed by rerunning ./vcpkg x-add-version --all and committing the result.
[x] Only one version is added to each modified port's versions file.

@JonLiu1993 Gentle ping ~

Tested features zstd,zlib,snappy,lzma,lz4,libsodium,bzip2 successfully in the following triplet:

x86-windows
x64-windows
x64-windows-static


Using ForeignKeyAttribute to control the name of a FK property unexpectedly swaps principal and dependent sides and sets cardinality to 1:1

I introduced [ForeignKey("UserId")] in a model like the one below with the sole purpose of affecting the name of the foreign key for Post.Author.
Instead EF Core went off to find that "UserId" matched the name of the principal key on User, and so decided to create a 1:1 identifying relationship between Post.PostId and User.UserId.
    public class Post
    {
        public int PostId { get; set; }
        public string Body { get; set; }
        [ForeignKey("UserId")]
        public User Author { get; set; }
    }

    public class User
    {
        public int UserId { get; set; }
        public string Name { get; set; }
    }

    public class BloggingContext : DbContext
    {
        public DbSet<Post> Posts { get; set; }

        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            optionsBuilder.UseInMemoryDatabase();
        }
    }

This is probably by design right now but I believe it is very confusing. In fact I find it strange that using ForeignKeyAttribute on a reference navigation property would turn a relationship around and make the reference point from principal to dependent.
I only realized that something was wrong when the navigation property started to be populated with completely arbitrary entities.
Additional repro code:
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using Microsoft.EntityFrameworkCore;
using Xunit;

namespace ForeignKeyName
{
    public class Tests
    {
        [Fact]
        private static void ForeignKeyAtribute_should_rename_fk_for_reference()
        {
            using (var context = new BloggingContext())
            {
                var postForeignKeys = context.Model.FindEntityType(typeof (Post)).GetForeignKeys();
                Assert.True(
                    postForeignKeys
                        .Any(fk=>fk.Properties
                            .Any(p=>p.Name=="UserId")));
            }
        }
        [Fact]
        private static void ForeignKeyAtribute_should_not_swap_principal_side()
        {
            using (var context = new BloggingContext())
            {
                var userForeignKeys = context.Model.FindEntityType(typeof(User)).GetForeignKeys();
                Assert.False(
                    userForeignKeys
                        .Any(fk => fk.PrincipalKey.Properties
                            .Any(p => p.Name == "PostId")));
            }
        }
    }

I'm wondering if the data annotations shouldn't have exactly the same semantics that they did in EF6? Isn't this inherit to their nature as independent from any given technology? If ForeginKey doesn't have a single set of semantics, then how do other technologies that want to consume the annotation decide what it means?

@ajcvickers Are you saying the current behavior is the desired one or not?
In EF6 the FKA configured the properties iff the dependent side was configured.

Actually for this particular scenario in EF6 you would get the following exception:
`An unhandled exception of type 'System.InvalidOperationException' occurred in EntityFramework.dll
Additional information: The ForeignKeyAttribute on property 'Author' on type 'ConsoleApplication43.Post' is not valid. The foreign key name 'UserId' was not found on the dependent type 'ConsoleApplication43.Post'. The Name value should be a comma separated list of foreign key property names.`
Note that FKs in shadow state were not supported.
Regardless I do agree with @ajcvickers that backwards compatibility (or maintaining consistent semantics of how data annotations are interpreted) is important. Although I believe if there is a case in which the old behavior was very broken we should seriously consider changing it in the new stack. In particular I don't believe there are many things out there that try to reason about ForeignKeyAttribute.

In particular I don't believe there are many things out there that try to reason about  ForeignKeyAttribute .

Actually there might be things out there (other than EF6) that do reason about ForeignKeyAttribute. I would be surprise if they ever conclude that the name specified for an FK on a reference can be referring on the FK on the other side of the relationship.

@AndriySvyryd It was more a general comment. There have been a few issues filed recently about the way data annotations work and I was saying maybe in general we should be making sure we don't change the semantics.
@divega If you make the relationship explicitly 1:1 (add another nav property) does it still throw with the old stack?

If you add the navigation property on the other side you get this:
"An unhandled exception of type 'System.InvalidOperationException' occurred in EntityFramework.dll
Additional information: Unable to determine the principal end of an association between the types 'ConsoleApplication43.User' and 'ConsoleApplication43.Post'. The principal end of this association must be explicitly configured using either the relationship fluent API or data annotations."
If you configure the relationship explicit I believe the ForeignKeyAttribute is ignored, so I don't think it is relevant, but I might be missing something.


Flask controller

Part of #44

@NoB0 Is this ready for review?

I moved the functions to get SQL cursor (get_cursor), load user data (load_user_data), and delete the history (delete_history) to Controller.
Based on the comments, the creation of message has been harmonised to use methods from http_formatter only. Some functions have been renamed or removed for more clarity and better understanding.


[PE-D][Tester C] Unfinished sections in DG and UG

Some unfinished sections in curly braces in the UG and DG that shouldn't be there.
User Guide:

Developer Guide:

Labels: severity.VeryLow type.DocumentationBug
original: audipras/ped#10

Nathan I am just gonna delete this part okay .

For discount links, i wrote 1 line explaining about the links being links to an external site to buy gits at discounted prices


The callback of ActionSheet on Android receives a string index

react-native, react and native-base version

React Native: 0.49.3.
React: 16.0.0-beta.5.
Native Base: 2.3.3.

Expected behaviour
Type of index should be number, like iOS.
Actual behaviour
Is string.
Steps to reproduce (code snippet or screenshot)
ActionSheet.show({
    options: [
        // ...
    ]
}, (index) => {
    console.log(typeof index); // => 'string'
});

Is the bug present in both ios and android or in any one of them?
On Android.

Made a PR #1370 for this issue

#1370

Fixed with NativeBase 2.3.5


Hotfix ami owners eks

This address the problem you found in eu-south region

Hi @angelbarrera92
seems it works, thank you!


Adding eslint, prettier, husky linting to project

Added our own standard into ESLint transfer, all good now.


IllegalStateException Can't access the Fragment View's LifecycleOwner

In multiple fragments, we are facing the same issue.
Fatal Exception: java.lang.IllegalStateException: Can't access the Fragment View's LifecycleOwner for c0{7609394} (cc0421c4-bee5-4696-b899-4d95ab41c37b id=0x7f0a01d8) when getView() is null i.e., before onCreateView() or after onDestroyView()
we are declaring and initialising the binding as follows
 private val binding by viewBinding(FragmentXBinding::bind)
Any hint or help would be highly appreciated
PS: we are using latest version 1.4.0

Hi @nazirsalman.
Could you share some lines of code to reproduce the issue easily?
IMO, you have accessed the binding before onCreateView() or after onDestroyView 🙏


Use the first user metric in the learner as default metric in feature_importance function

It's a breaking change since before the default metric was accuracy metric

I'll be able to take a look at this later today/tommorow, thanks!

@muellerzr ¿Any thoughts?


JAVA-1848: Add logs to DefaultRetryPolicy

For JAVA-1848

Just noticed a few problems I need to fix up, will do

fixed a couple of issues i needed to clean up 👍


Warn user if task option clashes w/ built-in one

In #9166, we added support for --rerun as a built-in task option.
If a task defines its own -rerun option, the built-in is disabled.
This change aims to tell the user of a task that has an option
clashing with a built-in one (and that the built-in is now unavailable).

Fixes #9166
Context

The design for #20895 received clear feedback that some sort of warning was required to let users know a custom option clashed with a built-in one. The initial implementation did not address that, this change set aims to address that gap.
Regarding implementation choices, OptionReader was considered too low level to be a proper place to produce any warnings. That is why we expose the clashing status for an option descriptor so a client like CommandLineTaskConfigurer can decide what to do with clashing options itself, produce more meaningful messages for the context in hand etc.
Manual testing
~/.gradle/gradle-install/bin/gradle  hello  --message hey -w
Built-in option 'rerun' in  in task :app:hello was disabled for clashing with another option of same name
hello from GreetingTask hey

Gradle Core Team Checklist

[ ] Verify design and implementation (see #20895)
[ ] Verify test coverage and CI build status (see #20895)
[ ] Verify documentation (see #20978)

@bot-gradle test this

OK, I've already triggered the following builds for you:

PullRequestFeedback build

@bot-gradle test this

OK, I've already triggered the following builds for you:

PullRequestFeedback build

OK, I've already triggered the following builds for you:

PullRequestFeedback build

@bot-gradle help

Currently, the following commands are supported:
@bot-gradle test <BuildTrigger1> <BuildTrigger2> ... <BuildTriggerN>

A trigger is a special build for this PR on TeamCity, common triggers are:

SanityCheck/CompileAll/QuickFeedbackLinux/QuickFeedback/PullRequestFeedback/ReadyForNightly/ReadyForRelease
Shortcuts: SC/CA/QFL/QF/PRF/RFN/RFR
Specific builds:

BD: BuildDistributions/BuildDocs so that you can preview the generated docs/distribution.
PT: PerformanceTest, all performance tests for Ready For Nightly stage.
APT: AllPerformanceTest, all performance tests, including slow performance tests.
AST: AllSmokeTestsPullRequestFeedback
AFT: AllFunctionalTestsPullRequestFeedback
ASB: AllSpecificBuildsPullRequestFeedback
ACC: AllConfigCacheTestsPullRequestFeedback
ACT: AllCrossVersionTestsReadyForNightly
AFTN: AllFunctionalTestsReadyForNightly
ACTR: AllCrossVersionTestsReadyForRelease
AFTR: AllFunctionalTestsReadyForRelease

@bot-gradle test and merge

queues this PR for testing and merges if all tests pass by:

Creating a merge commit from your PR branch HEAD and the target branch
Running a ReadyForNightly build against the merge commit
When it passes, fast-forward the target branch to this merge commit (i.e. merge the PR)

The merge commit is called a pre-tested commit, which means that it fully tests the integration
of your branch HEAD and latest master, instead of only testing your branch HEAD.
@bot-gradle cancel

cancel a running pre-tested commit build or remove it from queue

@bot-gradle clean

clear the conversation history

@bot-gradle help

display this message

To run a command, simply submit a comment.  For detailed instructions see here.

@bot-gradle test BuildDocs

OK, I've already triggered the following builds for you:

BuildDistributions build

@bot-gradle test this

OK, I've already triggered the following builds for you:

PullRequestFeedback build

@bot-gradle test and merge

Your PR is queued. See the queue page for details.

OK, I've already triggered a build for you.


Update nl.coffee

Coverage remained the same at 55.967% when pulling cbd303750c808bafc2f0c6330a2247a66a0ecc7d on Justinschut:patch-5 into b2268ebb23688a21140d52d5c21fef8cb18f76e1 on codecombat:master.

Awesome, @Justinschut! Thank you 👍


Gateway attached Policy stays enforced after Gateway deletion

Description
With a GW RLP defining defaults and a child route inheriting this RLP, After Gateway that had the RLP attached gets deleted the RLP keeps being listed as Enforced: True and HTTPRoute says it's being affected by this policy.

Same problem with AuthPolicy, changed the name to be more general.

Being digging around in this a bit. The problem seems not to be related to defaults and overrides, as I believe the dns policy would have being affected by the same issue. Current work to solve the issue by removing the Enforced status block if the Accepted block is false.


#18 - Asset, Config  and PagePredicate models now leverage the modelC…

…ache so they are not reinitialized for every component on the page that uses them.
@godanny86 would be good to have an extra sanity check that the sample content works and i didn't miss testing any of the components.

@godanny86 should be fixed


solved-javascript-easy-sum

Description

solved the sum issue in javascript easy
Additional Context

Merged

This is an automated message from Fork, Commit, Merge [BOT].

Thank you for your contribution! Your pull request has been merged. The files have been reset for the next contributor.
What's next?
If you're looking for more ways to contribute, I invite you to check out my other projects. Just click here to find more. These projects contain real issues that you can help resolve. You can also check out the Influences section in the README to find more projects similar to this one.
Also please leave a star to this project if you feel it helped you, i would really appreciate it.
I look forward to seeing your contributions!


Not possible to disable tip of the day popup.

System information:

Ubuntu 19.04
DBeaver version 6.0.4

Describe the problem you're observing:
Checkbox in tip of the day popup does not work.
And there is no checkbox in preferences in General tab. Was it moved somewhere?

It should work in popup itself (at least it works in Windows version).
Once you disabled this popup you can re-enable it in Help->Tip of the day (enable the same checkbox and press Ok).

I didn't catch the behavior first time. Check box is working, but the problem is, that it is not colored, when is selected. Please  take a look on the video

Looks like Eclipse bug (something in GTK).
Could you try to run GTK_IM_MODULE=ibus before running DBeaver? This helps if you have another IM settings.

Hi @serge-rider
Just wanted to point out that this is still an issue in 6.1.4 (running on an up-to-date Ubuntu 18.04).

@gustavocipriani if this still an issue please write a bit more details. There are several different issues mentioned in this ticket.

Issue isn't reproducible anymore (6.2.5). Ticket closed.
If issue still reproducible, feel free to reopen the ticket


@AutoValue.Builder generates objects with all fields

@eamonnmcmanus  I am having an issue on Builder method, it generates the json with all the fields instead of  the values we set on builder method.
these are my dependencies
const val autoValue = "com.google.auto.value:auto-value:1.10"
const val autoParcel = "com.ryanharter.auto.value:auto-value-parcel:0.2.9"
const val autoGson = "com.ryanharter.auto.value:auto-value-gson:1.3.1"

here is my data class

@AutoValue
public abstract class CreateBuyerBody implements Parcelable{

    @SerializedName("first_name")
    @Nullable
    public abstract  String firstName();

    @SerializedName("last_name")
    @Nullable
    public abstract  String lastName();

    @SerializedName("phone_numbers")
    @Nullable
    public abstract
    List<PhoneNumber> phoneNumbers();

    @SerializedName("email_addresses")
    @Nullable
    public abstract  List<EmailAddress> emailAddresses();

    public static @NonNull TypeAdapter<CreateBuyerBody> typeAdapter(@NonNull Gson gson) {
        return new $AutoValue_CreateBuyerBody.GsonTypeAdapter(gson);
    }

    public static Builder builder() {
        return new $$AutoValue_CreateBuyerBody.Builder();
    }

    @AutoValue.Builder
    public static abstract class Builder {

        public abstract Builder firstName(@Nullable String firstName);
        public abstract Builder lastName(@Nullable String lastName);
        public abstract Builder phoneNumbers(@Nullable List<PhoneNumber> phoneNumbers);
        public abstract Builder emailAddresses(@Nullable List<EmailAddress> emailAddresses);
         public abstract CreateBuyerBody build();
    }
}

while accessing the builder method
CreateBuyerBody.Builder builder = CreateBuyerBody.builder();
builder.firstName("John");

it generates this
{"first_name":"John","last_name":null,"phone_numbers":null,"email_addresses":null}
instead of this
{"first_name":"John"}
Can you help me where i get wrong on this ? thanks in advance.

I think this is a question for the project owner, @rharter. As I mentioned in the earlier discussion, auto-value-gson should possibly respect Gson.serializeNulls(), only serializing null properties if it is true. But that would potentially be an incompatible change.

Thanks for the report. As @eamonnmcmanus mentioned, respecting GSON's serializeNulls() setting is most appropriate, and it looks like that would require querying for that value here and only emitting the null value if it's true.
As this project has been dormant for quite a number of years, I don't have availability to work on this, but PRs are welcome.


Build pipeline base image

The php-base image no longer has php installed, so we need to specify a versioned (non-on-build) image until gen-dockerfile is updated to detect eh php version and pick the correct base image.
Also adds a test that we install the correct php version as we're using the php71 image in the builder pipeline.
Additionally, we will have to publish the php versioned images in gcr.io/google-appengine namespace.

LGTM
My only concern is since there are many deployments happening, so if we run our test cases simultaneously (like for PR and for push, or on circle and on our jenkins), it will fail. Let's have it as it is now, but eventually it's better to have tests only for the builder part.

Makes sense. Additionally, we can have leftover services running if a test fails as all the parallel processes are terminated if one fails (the app deletion never happens).


Sequence cleanup

Remove old pipe.js code.

"Ioana sequence cleanup" :)  is this personal?

I applied your suggestions (left the commits in place without squashing for you to see the logical changes).
re: test. I added a test that checks the first part of what you suggest above. the second part, I'm not sure I understand. code is not a member of SequenceExec anymore, so how would it make it to the db?


Changing size of tags

I expect this is a general html/css question so please feel free to give general pointers.
Ideally I want to make the tags smaller but starting with color changing.  I have this in my .vue file but nothing changes in the <smart-tagz> in the template:
<style scoped>
.smart-tagz {
  color: green;
  background-color: orange;
}
</style>

What am I missing?

I see now in docs how to change color via theme.  How about the size?

It i probably via custom class names. If anyone has an example of how to use this it would be appreciated. I can share what I have so far that doesn't work.

@john- did you try using the class names?

I have not been able to figure out how to use custom class names.  If someone has a handy example of how to use them in a Vue application that would be great.   In any case I will close the ticket in a day or so.

Thanks for confirming how to change the size.  As this is now a Vue related item this ticket is being closed.


Suggestions for refactoring

looking for tests, i would expect a main folder tests and then inside it the test folders for each module, rather than the other way around. but probably is just a a matter of taste.
also, i would move the source of the module in src folder, so to better structure the repository
for the client, we have a full client in python (https://github.com/smartsdk/ngsi-sdk-python), so it was not needed to develop one just for the purpose of the tests... use your own dog food.
it looks also weird that the folder is named client, when it is an orion client and not the quantum leap one.
it looks quite weird as well to have certain files in the root:
conftest.py
run.sh (this run the tests right? the name does not point to that)
i also suggest to have a Docker folder that include the Dockerfile, but also a default example composition. more complex one can be in the recipe repository.

also the benchmark part should not be in functional part of the code, a separate folder would help in navigating the code.

Totally agree with all the comments. This need for a refactoring has been a known.
Moreover, this repo was initially supposed to host only API controllers (whose development is on hold until we have at least a couple of iterations on the prototype and better understanding of the whole). Instead, this is hosting a bit of all the pieces we've put together so far.
The tests files location is a matter of taste AFAIK. To me it's easier this way because otherwise, to keep things controllable, you need to replicate the modules tree structure in src, leading to possible missplacings. I may be missing some benefits of the separate test folder though.
For the records of this task, another thing to be done is to split the requiremets.txt into test-only and prod dependencies. This goes in the line of making docker image smaller.
The benchmark we can move for sure. Which files and at which level would you move it? Note it's in the "functional part" to keep it as "reproduceable" as possible. The benchmark functions are part of the test suite and the plots are generated out of it.

The tests files location is a matter of taste AFAIK. To me it's easier this way because otherwise, to keep things controllable, you need to replicate the modules tree structure in src, leading to possible missplacings. I may be missing some benefits of the separate test folder though.

Code readability :) separating tests seems to be also a python coding recommendation: http://docs.python-guide.org/en/latest/writing/structure/


Export snapshot as variable (workaround to ring-mqtt)

Is your feature request related to a problem? Please describe.
TL;DR not really a problem, more how ring-mqtt works, but this addon could help with these problems.
As per the discussions in my recent issue ring-mqtt doesn't present cameras quite how this addon would prefer. The video is an rtsp but the entity_image, and snapshot images, are not real time. They are periodic images taken by the ring platform and not linked to real time viewing or motion events. This means that streaming support in this addon doesn't work with ring-mqtt. Ce la vie.
However it also means that you can't attach a snapshot from the analysed video in any notifications.  The only place that has that video is this plugin and the file it reads from (ie it isn't in any HA entity)
Describe the solution you'd like
To return one of the analysed frames (first probably) optionally in the response variable or another variable
Describe alternatives you've considered
Otherwise I need to find a way to take a frame from the mp4 video file itself, but I can't easily see how in an HA supportable way
Additional context
This is of course all due to ring-mqtt and ring itself, and how it works, as it's not a streaming cctv service and doesn't function like Frigate etc. Might be worth a note on this in the docs as it's not immediately obvious (and also you need to know that streaming support doesn't take a streaming video it takes snapshots from entity_image which also isn't immediately obvious)

TL;DR Possible solution for root cause attached below (thread), blueprint inputs need to be reworked.
I agree. Judging by people on the forum it is too complicated. The two modes on the blueprint have different methods of showing the preview which is not ideal.
Probably the best way to fix is this is to store the most recent preview for each camera entity in the www folder. This limits the number of images stored to the amount of cameras.
The downside of course is that only the most recent snapshot for each camera will be available. (For notifications I'm not entirely sure but it's possible that the image is cached on the phone once the notification is received. This way even older notifications could have a preview...)
This would only show a static snapshot, but I guess that's better than no snapshot at all.
Unfortunately even this way the two modes of the blueprint would still need different methods as previewing frigate's event from the notification is very useful.
I also agree that it would be better if stream_analyzer directly tapped into the rtsp feed. This is another compatibility problem as the rtsp address for most camera entities is not exposed. The entity_picture attribute is present on all camera entities (at least to my knowledge) but may not update as frequently.
Btw: I found this thread about configuring a generic camera for live view of ring-mqtt. Maybe you've already seen that, but in case not: https://community.home-assistant.io/t/configuring-generic-camera-for-live-view-of-ring-mqtt/730270/2
In case the solution in the thread actually works, this would actually solve this problem. The blueprint will still need to be simplified.

Thanks. I've got real time working on generic camera already (that way) but as per original post the real time and snapshots are not linked for ring based implementations. Snapshots are every x minutes (configurable >=1 from memory) regardless of activity.
There is no way to extract a frame from live video rtsp I have found hence it not being possible to get snapshots to use in notifications. All the snapshots (saved using actions or from entity_picture or from still frame (all the same image) are from the periodic capture

I think I finally understand the problem. So correct me if I'm wrong but your camera (the generic camera) works and you get a preview in the notification (but it's the live view) and you'd prefer the snapshot of the actual event. Correct me if that's not the case.

Yes spot on. Logic was that as you are extracting frames anyway, could you return one of those extracted frames for use as a variable.
There is a wider sense to this in that the AI request only relates to a few images from a stream. Therefore as context it's useful to see what the AI engine has seen.  The variable response could even include all the images sent (maybe in a debug mode). That would have been useful as while ago I could have kept them and rerun the prompt with the same images a few times to tune it rather than different images every time.

Ah great to hear that it's at least working somewhat!
The latest version added a fairly complex function to decide which images are important and which are not (based on how much the image changed to a baseline).
Still I understand you want the images. What could be added is an addional key in the response variable which holds a list of base64 encoded images. The problem with this approach is probably decoding them into an image.
What do you think of  a 'debug mode' that stores the analyzed frames in a folder?

It's working perfectly in terms of taking the saved video clip and sending that for analysis. So, in so far as the addon purpose, it's working perfectly 😀
I think that writing images to a folder would be fine actually. Probably best have an option to choose whether it always appends date-time or not (I would have it overwrite the same files each time - otherwise that will get big fast - others may prefer to be able to look back)

Also happy to write some text for the docs to explain how ring_mqtt works and how to use the addon with it, if that's helpful, which can call out this debug feature too?

Some explainer how to get ring cameras working with this integration would be greatly appreciated!
I will add a boolean parameter expose_images to the action call for all analyzers. In the blueprint there will be a dropdown to choose between 'Live Preview' and 'Snapshot' (this will only apply to camera mode).
When 'Snapshot' is selected it would then set 'expose_images' in the action call and return the first image from the series.

I think that's perfect.
If I put a write up of Ring on the HA community thread is that easiest or shall I PM it to you?

(I assume you mean by camera mode it's in video analyser or stream analyser mode?)

If I put a write up of Ring on the HA community thread is that easiest or shall I PM it to you?

The HA community thread would be great! That way more people see it. I'd also put this in the docs if that's ok with you.
Thanks for contributing!

(I assume you mean by camera mode it's in video analyser or stream analyser mode?)

When the blueprint is in Camera mode then video_analyzer will be called, Frigate mode uses stream_analyzer

Got you. Not that it affects me but would people want to see an example image in frigate mode maybe to work out what is causing the prompt to respond as it is?
(Re ring noted, Of course copy my text into the docs, not a problem)

Thank you for writing such an elaborate guide. Given the popularity of ring I'm sure a lot of people will find this useful.
v1.3 is almost ready I just need to fix a few small things. If you have some time and want to test the beta, feedback would be very welcome.

Thank you 😃
Very happy to test the beta

Beta installed...however I am away from home so I need a postman or courier to walk past it to trigger (otherwise the image is always the same and I can't see if I'm getting a frame from the video or an old artefact!)

This might be a me problem but when I run the automation step there is an error that:

Stopped because an error was encountered at 29 October 2024 at 19:35:44 (runtime: 11.03 seconds)

No image input provided

I write my video file to /share/front-camera-clip.mp4 (and I can load that file and play it myself and it works), and it was working fine until recently.
I don't use the blueprint so not sure if that's an issue. Also I think this is actually an issue from the last version as I have been away and haven't been using it much but did see a trace from before I changed to 1.3 beta (I just ignored it thinking it was an anomaly then ... ring is fickle) with the same issue I think (and now I can't look back as there seems to be nothing in logs about this)

Thanks for the feedback!
Not sure about your folder structure but can you try /config/share/front-camera-clip.mp4?
I have some test images in /www/tmp but it only works when I add the path as /config/www/tmp

I will do, but access to folders like share are permitted via configuration.yaml entries (see my ring guide for link). That shouldn't be an issue and it wasn't in 1.x versions of the addon where it worked perfectly

Ah I see... Do you have any images in the www folder so you could test if that works?
iirc there have been no changes to the way local files are handled.

I suppose I could put any image in there it doesn't matter for the test purposes so yes I'll give that a go
I can view the video on the share so it shouldn't be permissions

It works in image mode if I point it at an image in /share
It fails in video mode if I point it at a video in /share

That's pretty strange but thanks a lot for testing. I will look into it!

Sorry I should have posted the logs. When I said earlier there are none I meant none except the one the automation tells me (as per above) but the log does give line numbers etc

Logger: homeassistant.components.automation.gemini_video_analyse
Source: components/automation/__init__.py:763
integration: Automation (documentation, issues)
First occurred: 20:53:58 (1 occurrences)
Last logged: 20:53:58

Error while executing automation automation.gemini_video_analyse: No image input provided

I can't explain why, (running 1.3beta), but in between multiple failed executions all with same error there's one which worked and ran fully and found the file. I have absolutely no idea as nothing changed and there's five events either side that failed! Just thought I'd mention it!
I'm going to try to roll back to 1.1x and see if that works again

Thank you for your thorough testing!
Are you saving the files in the same automation? Maybe adding a timeout (delay) between saving and analyzing could help. Just a wild guess though.

Back on 1.1.3 release and it seems to be working fine...

Are you saving the files in the same automation? Maybe adding a timeout (delay) between saving and analyzing could help. Just a wild guess though.

Yes I am saving (camera.record action), changing a switch (to stop live streaming), and then running the Llm vision step.
The fact it worked once is odd, but the file is always there, so it's not like it's not synced and is missing, if that were the case the last clip would be processed instead. I can't see why any locks would exist...

I've looked at the difference of 1.1.3 and 1.3-beta.2 (https://github.com/valentinfrlch/ha-llmvision/compare/v1.1.3...v1.3-beta.2). The only noteworthy change is the new ssim function that compares the difference of two images. Maybe there is some blocking call there that I missed but if that was the case then you'd see that in your logs. So I actually have pretty much no idea what could cause this error...
Have you tried the call with a video from another folder? The fact that it worked once means it probably not the folder but still...

Now I'm home and it's being triggered by motion it's working 100% of the time on 1.1.3....so strange

Now on 1.1.3, same issue returns. Have tried using /config/www/llmvision for the files, and have tried adding a 10s timer after the file is written, all to no avail
It's not something about the context of files and folders that you run the new image analysis stuff in the addon container is it that it's not /config/www, it's /www or something silly?
Shall I move this to a new bug to let this feature be closed off?

Just checked again, all paths are /config/www/llmvision. I assume a call isn't awaited properly or a blocking call. That might explain why I can't replicate this issue.
Yes, please move this to a new issue.
Thanks for your testing though!


Remove node_modules package folder

Remove all node_module packages as it is not supposed to be pushed on github due to its large size

Remove all node_module packages as it is not supposed to be pushed on github due to its large size

@tanay13 After removing packages will it work ? or we have to install it in every run ?

You just have to run  npm install in the command line then automatically all the dependencies will get install .

@tanay13 Okay then send a PR for that


Start outline

This PR is the start of an outline, at this point a few section headings. This was partly an opportunity for me to learn RST.

Looks good. Either in Design Principles, or a separate section, we should discuss the features of validate_drp that are good (and that we will integrate into SV-distiller) as well as the things we felt were lacking.


Fix tooltip example caretHeight to caretSize

Thanks @HuwSy

Coverage remained the same at 71.94% when pulling 719581e2e0789487ee5340fa618b3d557ad76a57 on HuwSy:patch-1 into 08004655d3ab6f53d15023d43d39131754a40608 on nnnick:master.


Electricity Cost Calculator Added.

Fixes Issue🛠
Closes #355
Description👨💻
Electricity Cost Calculator to accurately calculate electricity costs based on user-supplied units, time, and cost parameters.
Type of change📄

[x] New feature (non-breaking change which adds functionality)

How this has been tested✅
Completely Tested in Local Environment.
Checklist✅

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have added demonstration in the form of GIF/video file
[x] I am an Open Source Contributor

Screenshots/GIF📷

Resolve the conflicts pls @Tholkappiar
Rename your folder to Electricity-Bill-Calculator` and make the necessary changes @Tholkappiar


fix(logger): update to capture original url

:tada: This PR is included in version 2.1.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Fix deprovisioning of suspended trial runtimes

Description
If a deprovision is triggered after suspension (so without having the runtime unsuspended first), KEB doesn't clean up the instance from DB properly. As a consequence the subsequent provisioning requests always fail with The Trial Kyma was created for the global account, but there is only one allowed error message.
Related issue(s)
https://github.tools.sap/kyma/backlog/issues/1301

Abandon in favor of https://github.com/kyma-project/control-plane/pull/595


ng serve produces error randomly

Bug Report or Feature Request (mark with an x)
- [x] bug report -> please search issues before submitting
- [ ] feature request

Versions.

@angular/cli: 1.0.0
node: 6.10.1
os: linux x64
@angular/animations: 4.0.0
@angular/cli: 1.0.0
@angular/common: 4.0.0
@angular/compiler: 4.0.0
@angular/compiler-cli: 4.0.0
@angular/core: 4.0.0
@angular/forms: 4.0.0
@angular/http: 4.0.0
@angular/platform-browser: 4.0.0
@angular/platform-browser-dynamic: 4.0.0
@angular/platform-server: 4.0.0
@angular/router: 4.0.0
@ngtools/webpack: 1.3.0

Repro steps.

    ng serve

The log given by the failure.

Module build failed: Error
    at WebpackCompilerHost.populateWebpackResolver (/home/bunyamin/WebstormProjects/c3dp/node_modules/@ngtools/webpack/src/compiler_host.js:135:51)
    at _donePromise.Promise.resolve.then.then.then.then.then (/home/bunyamin/WebstormProjects/c3dp/node_modules/@ngtools/webpack/src/plugin.js:366:32)
    at process._tickCallback (internal/process/next_tick.js:109:7)
 @ ./src/app/patient/patient-care-plan/index.ts 2:0-105
 @ ./src/app/patient/patient.module.ts
 @ ./src async
 @ ./~/<EMAIL_ADDRESS> @ ./src/main.ts
 @ multi webpack-dev-server/client?http://localhost:4200 ./src/main.ts

Desired functionality.

The project does not contain any error and works well. However, it gives the error above when it recompiled at some random moments.
Mention any other details that might be useful.

The most obvious example of this bug: I was working on my project (there were no errors) and I added just a comment like // some comment and it gave the error when recompiled. Then, I stopped and re-run the ng serve command and there were no error this time.

@filipesilva that is the problem actually. It is the expected behaviour to not give error on comment. I don't think it is because of the comment, I just give it as an example to point how strange it gives error sometimes. I faced this errors sometimes even when I added just a space and saved. I thought something is wrong with versions of packages, but I couldn't fix it. I had to exit ng serve with CTRL + C signal and re-run the command several times yesterday. The error may disappear when recompiled or I might have to recompile it several times until the error disappears.

I'm getting the same error.  It only happens for me when I save a file that's in a lazy loaded module.  If I then save the app.component.ts file, the build succeeds (without needing to kill the process and restart).  I haven't been able to reproduce with a demo app though.

Fore more information, I don't get the error with new projects created after updates. However, even if I updated all related packages (@angular/..., webpack, zone.js, etc.), I get the error with the old project that is started to be implemented with Angular v2.

@isaacplmann Increasing the watchers as mentioned in this comment seems fixed the problem for me. Can you try it and confirm if it works?

I tried that comment, but it appears it only applies to linux.  I'm using a mac.  I tried what might be equivalent instructions: https://facebook.github.io/watchman/docs/install.html#max-os-file-descriptor-limits
But that didn't help either.  (That link does say only applicable on OS X 10.6 and lower, and I'm on 10.11)

You can try to exclude node_modules in tsconfig.json. This prevents webpack to watch changes in the files of node_modules. See this comment

No luck. I excluded node_modules in both the root tsconfig.json and tsconfig.app.json.  I also tried running ulimit -S -n 20480 from here.

@isaacplmann any luck with this one? I'm also experiencing the same behaviour as you and I'm on the Mac also.

@metodribic I'm just living with it right now.  It's kind of annoying, but I am able to get the app to compile as long as I remember to save a non-lazy-loaded file after I make a change to a lazy-loaded one.

Hi any news on that ?
Just updated to @angular/cli: 1.1.1 and still have the same issue
I'm on Mac
node_modules is excluded
My config :
kern.maxfiles: 10485760
kern.maxfilesperproc: 1048576
ulimit unlimited

I came up with a hacky workaround today, since this has become annoying enough that I wanted to do something about it.  Go to<EMAIL_ADDRESS>and comment out lines 133-135.  This will obviously need to be repeated any time you reinstall node modules and will rapidly become obsolete as the cli gets updated - but it makes so that I don't have to keep remembering to save some unrelated file when I'm working.

I have tried to comment out this piece of code before.
But it might be used by webpack to refresh its file caching.
I say that because If I modify a file, webpack compilation restart and serve me with the file without my modification.
You don't have this issue ?

@jolafrite I've been using my hack for a day now without any problems.  If I run into issues, I'll report them back here.

I've noticed that this occure every time I rename some files/directories. So lets say I renamed direcotry name and all of the components files inside it + name of the component in component.ts, module.ts and index.ts. All of this while server is running of course.
Can anybody test this scenario if it raise this error, because if it does we have a reproduction steps.

@metodribic I am also using Webstorm. However, I didn't get this error after I excluded the node_modules from tsconfig.json and increased the watchers even if I did refactoring/renaming many times.

I looked into this problem and I believe it is a race condition between the invalidating & read files for the host compilation. As a project grows bigger the chance of the race condition increase. I tried to make a reproduction using a fresh app and tried with 10 components, but that wasn't enough to reproduce the issue.
The issue is that there is a race condition invalidating a file:
Files will get invalidate here from a watch conidition:
https://github.com/angular/angular-cli/blob/master/packages/%40ngtools/webpack/src/plugin.ts#L273
They will get re-read here from the ngloader:
https://github.com/angular/angular-cli/blob/master/packages/%40ngtools/webpack/src/loader.ts#L454
However, if in between these two points the populateWebpackResolver is called it fail because the invalidate command removes the file from the cache.
https://github.com/angular/angular-cli/blob/master/packages/%40ngtools/webpack/src/compiler_host.ts#L149
I created a pull request that works for me locally with my app. It makes the change that when a file changes instead of removing it from the cache and waiting for the loader to re-load the file it will immediately re-read the changes and populate the cache.
https://github.com/angular/angular-cli/pull/6920

@hansl can you have a look at @scott-phillips-sp comment and PR?

bump

Bump bump

bump

This doesn't happen for me in just karma.  Mainly if I change anything in a lazy-loaded module, I have to add/remove whitespace so that I can re-save and sometimes takes up to 10 times to build properly.

Same issue here. I'm on OSX and it seems to be related to lazy loading modules.

Thanks for reporting this issue. This issue is now obsolete due to changes in the recent releases. Please update to the most recent Angular CLI version.
If the problem persists after upgrading, please open a new issue, provide a simple repository reproducing the problem, and describe the difference between the expected and current behavior.


Duplicate line in Facebook connector

there is a if (!message.sender_action) {...} else {...} before if (message.sender_action) {...}
https://github.com/howdyai/botkit/blob/0259be829e262f4a6d98aff3927a946e558ebfdc/lib/Facebook.js#L68

Good catch, care to submit a pr?

Thanks @adantoscano


[MUGEN] Fix exception handling for invalid position ids

Stack from ghstack:

-> #316
#311
#315
#314

Summary:

Adjust the exception condition
Print out the exact invalid position ids
Move Args from class docstring to be under methods

Test Plan:
python -m pytest test/modules/layers/test_poisition_embedding.py

test/modules/layers/test_position_embedding.py::TestBroadcastedPositionEmbedding::test_init_sets_embedding PASSED [ 20%]
test/modules/layers/test_position_embedding.py::TestBroadcastedPositionEmbedding::test_init_bad_embedding_dim PASSED [ 40%]
test/modules/layers/test_position_embedding.py::TestBroadcastedPositionEmbedding::test_broadcast PASSED          [ 60%]
test/modules/layers/test_position_embedding.py::TestBroadcastedPositionEmbedding::test_forward PASSED            [ 80%]
test/modules/layers/test_position_embedding.py::TestBroadcastedPositionEmbedding::test_forward_invalid_input PASSED [100%]

======================================================== PASSES ========================================================
================================================== 5 passed in 1.43s ======================

@langong347 has imported this pull request.  If you are a Meta employee, you can view this diff on Phabricator.

Codecov Report

:exclamation: No coverage uploaded for pull request base (gh/langong347/51/base@fab5b6a). Click here to learn what that means.
Patch coverage: 100.00% of modified lines in pull request are covered.

Additional details and impacted files
@@                   Coverage Diff                    @@
##             gh/langong347/51/base     #316   +/-   ##
========================================================
  Coverage                         ?   93.63%
========================================================
  Files                            ?       54
  Lines                            ?     3237
  Branches                         ?        0
========================================================
  Hits                             ?     3031
  Misses                           ?      206
  Partials                         ?        0

Impacted Files
Coverage Δ

...rchmultimodal/modules/layers/position_embedding.py
100.00% <100.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

@langong347 has imported this pull request.  If you are a Meta employee, you can view this diff on Phabricator.

@langong347 has imported this pull request.  If you are a Meta employee, you can view this diff on Phabricator.


Add context menu

Microsoft requires Power BI custom visuals to have a context menu as per custom visuals guideline.
Please implement the context mmenu into the Mapbox custom visual. Related Microsoft documentation can be found here.

Context menu was implemented in 1.6.0.


_even, _odd modifiers not working

Description
When I use _even (or _odd) modifier I expect CSS classes to apply the style I specified, but my style is not applied
Link to Reproduction
https://stackblitz.com/edit/nextjs-ykgrug?file=package.json,styles%2Fglobals.css,pages%2Findex.js,pages%2F_app.js
Steps to reproduce

Go to the reproduction link
Click on pages/index.js
The grid items should be displayed as followed :

First is pink        ✅
Last is purple     ✅
Odd are green   ❌
Even are yellow ❌

JS Framework
NextJs
Panda CSS Version
0.5.1
Browser
Chrome
Operating System

[X] macOS
[ ] Windows
[ ] Linux

Additional Information
No response

Good catch @quentingrchr.
I just pushed a fix for this. We'll release an update shortly.
If the issue persists after upgrading, I'll re-open it.


content/ja/docs/concepts/overview/working-with-objects/names.md is outdated

This is a Feature Request

What would you like to be added
Update content/ja/docs/concepts/overview/working-with-objects/names.md to follow the en updates.
Why is this needed
content/ja/docs/concepts/overview/working-with-objects/names.md is outdated.
Comments
/language ja
/assign

diff is as below.
https://gist.github.com/oke-py/332450fdfa459079184d4cfb1b1bd371

/close


Add password reset link to settings page (4468)

Issue
Fixes #4468 Add password reset link to settings page

Use same password reset link as from the sign in page. If a user doesn't remember the old one, they can't change it if they are already logged in.

Screenshot

I think instead of using this component inside of the "Account Password" card. It should redirect to a new page /$/password/reset. If it uses this same component, it should redirect properly after a successful reset if a redirect param is passed in the url.

Attempt 2
See commit messages for the walk through.
I couldn't figure out the redirect thing, so I left it out.  But I think we probably shouldn't redirect back after the reset, otherwise there's no point in displaying the following advisory (they might miss it).  The password-reset in the main Sign In page also does not redirect or move away from this page.

Rebasing to solve conflict:


Convert sprite-tiling to TypeScript

Description of change

Ok so slight complication with this one and not sure the best way round it.
The TilingSprite.from method isnt compatible with Sprite.from as Sprite.from takes a texture and some options whereas TilingSprite.from takes a texture, width, height.
The solution i have committed here is:
static from(source: TextureSource, options: ISize): TilingSprite
If anyone has better ideas let me know!
Pre-Merge Checklist

[ ] Tests and/or benchmarks are included
[ ] Documentation is changed or added
[ ] Lint process passed (npm run lint)
[ ] Tests passed (npm run test)

Codecov Report

Merging #6398 into dev will increase coverage by 1.1%.
The diff coverage is n/a.

@@            Coverage Diff            @@
##              dev    #6398     +/-   ##
=========================================
+ Coverage   76.76%   77.86%   +1.1%
=========================================
  Files          70       68      -2
  Lines        4028     3885    -143
=========================================
- Hits         3092     3025     -67
+ Misses        936      860     -76

Continue to review full report at Codecov.

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


Add local dev docs, make it possible to run both servers locally

Fixes #1001
Release Note

NONE

/assign @jeremyfaller


Gist.io for documents in a full repository?

Is there any way or an alternative website which can be used to display markdown files within a repository in the same way gist.io does?

+1

@idan ✔ Issue can be closed.
If anything, this should be a question on StackOverflow


Get drawterm to harvey working

The standard way in to Plan 9 is drawterm. We're close.

I'm working on this. After a few check I realized that the current problem is that exportfs is missing.
Working on it.

With exportfs and the incoming devssl and devcap, currently cpu -R exits (making drawterm crashing on the other side) on remoteside() at line 404, being unable to mount "/mnt/term".
Turns out that the problem arise somehow in bindmount (sysfile.c:1262), but I not yet able to say why. arg1 is "/mnt/term".
I double-checked that both client and server had that folder writable.

A further test show that given
(gdb) b sysfile.c:1262 if (fd@entry == 5 && arg1 && arg1[1] == 'm')
(gdb) b sysfile.c:1263 if (fd@entry == 5 && arg1 && arg1[1] == 'm')

actually breaks on sysfile.c:1262 but never reach sysfile.c:1263.
In Harvey I do
echo -n giacomo > '#c/hostowner'
srv tcp!<IP_ADDRESS>!5640 k
mount -a /srv/k /
bind -b /amd64/bin /bin
auth/factotum
echo 'key proto=p9sk1 dom=harvey user=giacomo !password=asd'    >/mnt/factotum/ctl
aux/listen1 -t tcp!*!17010 /bin/cpu -R &

In linux I do
drawterm -c <IP_ADDRESS> -a <IP_ADDRESS> -u giacomo

And then type "asd" when drawterm ask for a password.
As far as I can see in gdb, the kernel does something weird on validaddr, on UINT2PTR(addr).
However UINT2PTR in amd64pvseems quite innocuous:
#define UINT2PTR(i)	((void*)(i))

It's simply applied to arg1, that is a char *.
However something subtle is happening here, but I can't get it.
Any ideas?
@keedon @aki5

It's most likely going to be a 32 bit int being converted into a 64 bit
void , though if the input is a char, I'm not sure how exactly
On 14 August 2015 at 11:47, Giacomo Tesio<EMAIL_ADDRESS>wrote:

A further test show that given
(gdb) b sysfile.c:1262 if (fd@entry == 5 && arg1 && arg1[1] == 'm')
(gdb) b sysfile.c:1263 if (fd@entry == 5 && arg1 && arg1[1] == 'm')
actually breaks on sysfile.c:1262 but never reach sysfile.c:1263.
In Harvey I do
echo -n giacomo > '#c/hostowner'
srv tcp!<IP_ADDRESS>!5640 k
mount -a /srv/k /
bind -b /amd64/bin /bin
auth/factotum
echo 'key proto=p9sk1 dom=harvey user=giacomo !password=asd'    >/mnt/factotum/ctl
aux/listen1 -t tcp!*!17010 /bin/cpu -R &
In linux I do
drawterm -c <IP_ADDRESS> -a <IP_ADDRESS> -u giacomo
And then type "asd" when drawterm ask for a password.
As far as I can see in gdb, the kernel does something weird on validaddr,
on UINT2PTR(addr)
https://github.com/Harvey-OS/harvey/blob/master/sys/src/9/port/fault.c#L434
.
However UINT2PTR in amd64pvseems quite innocuous
https://github.com/Harvey-OS/harvey/blob/master/sys/src/9/amd64pv/fns.h#L213
:
#define UINT2PTR(i) ((void*)(i))
It's simply applied to arg1, that is a char *.
However something subtle is happening here, but I can't get it.
Any ideas?
@keedon https://github.com/keedon @aki5 https://github.com/aki5
—
Reply to this email directly or view it on GitHub
https://github.com/Harvey-OS/harvey/issues/5#issuecomment-131070519.

I've put logging into cpu.c and the error is in the function:
mount(fd, -1, "/mnt/term", MCREATE|MREPL, "")
it's returning with this error message:
failed to mount /mnt/term message='/mnt/term' file does not exist
I've tried creating /mnt/term using
aux/stub -d /mnt/term
before starting cpu, but I still get the same message

Stepped through the mount request & it's failing at chan.c:1360 when walk returns < 0, it dies on nexterror() on line 1365


Create attachment_docusign_qr_code_pdf_no_logo.yml

/update-test-rules

I haven't seen this fire at all since putting it in test-rules


static lib (.a) and long ints for handling large data counts

This patch adds a facility to compile a static lib (which is nice in some contexts) and also use 64-bit unsigned integers for tracking progress, which is important when we have many billions of items to process.

Aaah, these look like great changes. Sorry for not seeing them sooner!

Sweet :)
On Thu, Jan 8, 2015 at 10:10 AM, Trevor Fountain<EMAIL_ADDRESS>wrote:

Merged #2 https://github.com/doches/progressbar/pull/2.
—
Reply to this email directly or view it on GitHub
https://github.com/doches/progressbar/pull/2#event-215809411.


Dockerize MrGeo

I may have already done this, depending on the acceptance criteria.

Do you have a Dockerfile you can share?

In what context would this be in? I am working on something with Docker as well. In particular, tying it into integration tests with Jenkins and Amazon AWS.

Docker image for MrGeo is on hub.  You can get it via pull mrgeo/pseudo-dist.  It has Cloudera, GDAL, and the maven dependencies preinstalled.  Suitable as a build machine or for running unit and integration tests.


Is this project maintained?

I can see tens of issues without answers and PRs which have been waiting for months, so I was wondering if someone is maintaining this project

It's being "maintained" (very slowly) by me. :) My day (and night?) job is running a nonprofit, which keeps me pretty busy, so I generally only have time to devote to this during holidays -- such as today!
I'll be working through the PR's first, then triaging issues (some are for feature requests that I'd welcome community contributions on, while others are more critical bugfixes, some of which will likely already have been addressed by the PRs).


CLOCKS_PER_SEC is not POSIX compliant

NuttX defines CLOCKS_PER_SEC as:
#ifdef CONFIG_USEC_PER_TICK
# define CLK_TCK           (1000000/CONFIG_USEC_PER_TICK)
# define CLOCKS_PER_SEC    (1000000/CONFIG_USEC_PER_TICK)
#else
# define CLK_TCK           (100)
# define CLOCKS_PER_SEC    (100)
#endif

But the POSIX standard defines it as always one million.
https://pubs.opengroup.org/onlinepubs/9699919799/functions/clock.html

@patacongo do you have any thoughts on this one?

@patacongo do you have any thoughts on this one?

This implies that OpenGroup.org expects the system timer to ALWAYS have a resolution of 1 MSec.  Just changing the the setting to a million would break all architectures.  And, if all system timer APIs were modified to report / accept the time in "ticks" at a resolution of 1 MSec, then there were would be loss of functionality that is very important to an embedded system.

You are not the only one confused:  https://stackoverflow.com/questions/10455905/why-is-clocks-per-sec-not-the-actual-number-of-clocks-per-second

From the thread:
The only thing the C99 N1256 standard draft says about CLOCKS_PER_SEC is that:
CLOCKS_PER_SEC which expands to an expression with type clock_t (described below) that is the number per second of the value returned by the clock function

And the quote from opengroup:
The functionality described on this reference page is aligned with the ISO C standard. Any conflict between the requirements described here and the ISO C standard is unintentional. This volume of POSIX.1-2017 defers to the ISO C standard.

The value different from 1000000 is acceptable.

Ah yes I see that the N1256 says nothing about this needing to be 1000000.  Unfortunate that the open posix test suite asserts this value.

Ah yes I see that the N1256 says nothing about this needing to be 1000000. Unfortunate that the open posix test suite asserts this value.

Then it must also be a POSIX error that the return value of clock() is incorrect:  https://pubs.opengroup.org/onlinepubs/9699919799/functions/clock.html

I see you closed this.  Is that what we should do?  It appears to be a real POSIX non-conformance problem.

My reading of the opengroup page is that it is OK if CLOCKS_PER_SEC is not 1M, as it is suppose to be the definition of C N1256 standard, it just usually is 1M.  What is important is that clock() / CLOCKS_PER_SEC is gives to process duration. Because we are using clock_systime_ticks this is not correct.
My understanding is that we should to make clock() return the process ticks.  It would be nice if we made CLOCKS_PER_SEC be 1M, but it would be ideal to just hide this in the clock() interfaces and use a real CLOCKS_PER_SEC in the OS internals.  This second bit I don't think is technically required.


Replace webpack with esbuild, remove gradle

Close #65

Replace webpack with esbuild
Remove gradle build
Use package.json scripts and Makefile to build extension
Automatically build extension in launch configuration
Update README.md

@joaquimgamero I'm gonna go ahead and merge, but feel free to make suggestions if you have any


fix: settings design QA [LEA-1536] [LEA-1530] [LEA-1444]

Update screen title of wallets and hidden accounts pages
Unfix footer on wallets screen and wallet config screen
Enable feature waitlist on wallet config advanced options

https://github.com/user-attachments/assets/c4c40410-e795-4fe4-a17f-cf045ff0b848
https://github.com/user-attachments/assets/1b87df95-ce96-4f0c-8289-bebb701b2a30

Great work @edgarkhanzadian 👏


chosen("destroy") doesn't work

chosen("destroy") throw the error "TypeError: chosen is undefined".
jQuery.Deferred exception: chosen is undefined getSelectedOptions@http://localhost:8080/test/scripts/image-select/ImageSelect.jquery.js:82:13
chosen/</<@http://localhost:8080/test/scripts/image-select/ImageSelect.jquery.js:123:41

Probably after calling of chosen's method
 var ret = fn_chosen.apply(this, arguments)
need check
 if (params === 'destroy') {         return      }

Just pushed few changes which should fix this.
Will close but please re-open if not. Thanks


README.md update

Update wepback.config.js examples with webpack loaders configuration according to the official docs.

Codecov Report

Merging #198 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #198   +/-   ##
=======================================
  Coverage   94.53%   94.53%
=======================================
  Files          25       25
  Lines         713      713
=======================================
  Hits          674      674
  Misses         39       39

Continue to review full report at Codecov.

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

thanks man


ci: moved package copy step to separate action

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Initial Value Not Being Set

I have an rzSlider with some range N..M and an initial value X. When the slider first renders, the value X is correctly displayed above the thumb/pointer. However, the thumb is displayed at the far left (when X is in the middle of N..M), and the endpoint values are not displayed. As soon as I drag the thumb, then the endpoints are displayed, and the thumb position is correct. Also, setting the value via the $scope does not work initially, but does once you have dragged the thumb at least once. And broadcasting 'rzSliderForceRender' has no effect. What am I doing wrong? Thanks in advance!

You should try broadcasting therzSliderForceRender message inside a $timeout call. This is certainly a timing issue.

OK, figured it out. I have the slider in a tabset. If the slider value is set when that tab is not selected/visible, the slider will not update. Broadcasting 'rzSliderForceRender' when the tab becomes selected resolves the issue. By the way, I've tried five different angular sliders, and this one is by the best!

Actually there is an example of sliders inside tabs on the example page.

Ya, I see that now, missed it before. Incidentally, it works fine if I broadcast the event on ng-click of the tab, don't even need the $timeout. Thanks!

If you use the ui-bootstrap tabs, there is even a special callback select called when tab is activated.


Undefined behavior in safe code: &self -> &mut T methods permit aliasing

With this crate it is possible to invoke undefined behavior in safe code:
extern crate numpy;
extern crate pyo3;
use numpy::{PyArray1};
use pyo3::prelude::{ObjectProtocol, PyResult, Python};
use pyo3::types::PyDict;

fn main() -> Result<(), ()> {
    let gil = Python::acquire_gil();
    show_ub(gil.python()).map_err(|e| {
        eprintln!("error! :{:?}", e);
        // we can't display python error type via ::std::fmt::Display
        // so print error here manually
        e.print_and_set_sys_last_vars(gil.python());
    })
}

// a function that behaves differently in dev and release builds
fn show_ub(py: Python<'_>) -> PyResult<()> {
    let np = py.import("numpy")?;
    let dict = PyDict::new(py);
    dict.set_item("np", np)?;

    let pyarray: &PyArray1<i32> = py
        .eval("np.absolute(np.array([-1, -2, -3], dtype='int32'))", Some(&dict), None)?
        .extract()?;

    let slice = pyarray.as_slice();
    let mut_slice = pyarray.as_slice_mut();
    lol(&slice[0], &mut mut_slice[0]);
    assert_eq!(slice, &[1, 2, 3]);

    Ok(())
}

#[inline(never)]
fn lol(x: &i32, y: &mut i32) {
    let original_x = *x;
    *y = *x - 1;
    assert_eq!(*x, original_x);
}

Debug result:
thread 'main' panicked at 'assertion failed: `(left == right)`
  left: `0`,
 right: `1`', src/main.rs:39:5

Release result:
thread 'main' panicked at 'assertion failed: `(left == right)`
  left: `[0, 2, 3]`,
 right: `[1, 2, 3]`', src/main.rs:30:5

Yeah but I'm not sure we can fix this...

It does seem difficult.  Even if something like a RwLock was somehow embedded in there (e.g. by somehow letting the interpreter manage it, if that's even possible!), it's still trivial to get multiple &PyArrays that point to the same array (or even different arrays that point to the same data!).
My thoughts:

Might pyo3 contain any examples of how to solve this problem?
Perhaps the most that can be done is to return a *mut T or mark the functions unsafe...

I think this an instance of https://github.com/PyO3/pyo3/issues/342

Yikes!  That is certainly not the first soundness problem I've seen in the functionality added by pyo3, which is why I've always stuck with rust_cpython. They seem to pay much more careful attention to these issues; for instance, here's what they provide in the way of rendering PyBuffer as a slice:
/// Gets the buffer memory as a slice.
///
/// This function succeeds if:
/// * the buffer format is compatible with `T`
/// * alignment and size of buffer elements is matching the expectations for type `T`
/// * the buffer is C-style contiguous
///
/// The returned slice uses type `Cell<T>` because it's theoretically possible for any call into the Python runtime
/// to modify the values in the slice.
pub fn as_slice<'a, T: Element>(
    &'a self,
    _py: Python<'a>,
) -> Option<&'a [ReadOnlyCell<T>]>;

/// Gets the buffer memory as a slice.
///
/// This function succeeds if:
/// * the buffer is not read-only
/// * the buffer format is compatible with `T`
/// * alignment and size of buffer elements is matching the expectations for type `T`
/// * the buffer is C-style contiguous
///
/// The returned slice uses type `Cell<T>` because it's theoretically possible for any call into the Python runtime
/// to modify the values in the slice.
pub fn as_mut_slice<'a, T: Element>(
    &'a self,
    _py: Python<'a>,
) -> Option<&'a [cell::Cell<T>]>


Reaction in Conversation

Hello. How can I make a reaction to an event in Conversation and is it possible? Sorry for my English

You can send "Is typing..." Action with (type()) or (typeAndWait(3)) which placed under Botter instance through $this->botter.
For example:
class SignupConversation extends Conversation {
     public function start()
     {
          $this->botter->typeAndWait(2); // Type and Wait for 2 seconds
          $this->say("What's your name?");
     }
}

For other actions (like send photo, send video or..) You should use the custom request builder to send a custom request to sendChatAction.
For example:
class SignupConversation extends Conversation {
     public function start()
     {
         $botter->buildRequest("sendChatAction")
                 ->chat_id($this->botter->getUserId()) // $this->botter->getUserId() returns current user chat_id
                 ->action('upload_photo')
                 ->send();
          $this->say("What's your name?");
     }
}


[docs] Update API docs & Write Tests

Once #29 has been taken care of, please make sure to update Swagger UI's Documentation and write test as @rsqwerty has done

Duplicate of #472


default point lights seems wrong after exposure

Bevy version
Main after https://github.com/bevyengine/bevy/pull/11347
What went wrong
Looking at examples, most point lights are set to 150000 lumens, which is more than direct sunlight. Some are even up to 1000000 lumens, which seems an absurd value to set.
The default value of a point light is 800 lumens, which is now useless.
Bevy default values should make sense, and examples should not use values that don't make sense.

Is the issue that the numbers are too big (i.e. you'd prefer a different scale/unit) or that they are not outputting the correct amount of light?

most point lights are set to 150000 lumens, which is more than direct sunlight

Bit of a nitpick but that sounds like you're comparing lumens and lux which you can't do without a distance for reference. The sun outputs 36 octillion lumens...

try adding a point light, stick to the default
see no change
read the doc, it's lumens, check the defaults, 800 lumens, should be a 60W non-halogen incandescent bulb, sounds ok
crank it up a bit, still no changes
check the examples... 150000 lumens
what kind of light bulb is that? where can I buy it??

We should use lux and lumens, and I don't know if the output is correct. My issue is that the defaults and the examples don't make sense

Maybe good to note that in the 3d_scene for example we are trying to light the cube from almost 10m away, so that would require a powerful light. But yeah still not sure about the output either

In layman's terms, lumens is the input energy, the others lux,candela etc is how much light reaches a particular surface.
If it helps I found the GLTF spec quite handy for under standing whats what for light intensities https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Khronos/KHR_lights_punctual/README.md

Would it be worth having something similar to from_visibility for setting up the light ?

Did some digging. Blender's default light is 1000 watts, their exporter exports this as 54,351 candelas (682,994 lumens). Blender's only exposure that I'm aware of / could find is the Color Management exposure value, which is calculated using input_color * 2^exposure. Note that this is the same formula Bevy uses for its Color Grading exposure. Both Blender and Bevy default these exposure values to 0.0.
This also means that #11347 added a second exposure applied before the Color Grading exposure. This was not mentioned explicitly in that PR from what I've seen, and it does feel a bit strange to have two in two separate places. We should discuss / defend the existence of two exposure properties that exist in two different components that are functionally very similar in terms of what they do to output colors.
I exported a scene from Blender to GLTF and tried to align everything I could:

Blender defaults to Agx tonemapping, so I switched to that in Bevy
Blender defaults to 0.0 exposure, so I set ColorGrading::exposure to 0.0 (this is our default as well)
Blender, to my knowledge, has no other exposure settings. Therefore I hard coded ExposureSettings::exposure() to return 1.0, which makes it have no effect
I removed ambient lighting on both sides (no light == pure black)
Gamma is also 1.0 on both sides

Blender is on the left, Bevy is on the right:

Bevy is significantly brighter / fully washed out. Something isn't being accounted for. Some ideas:

Maybe Blender actually has an additional hidden "camera exposure" that is darkening things (similar to our hard coded exposure prior to #11347). We would then just need to calibrate accordingly (aka we do need a second exposure as introduced in #11347). This does make sense conceptually / is consistent with Filament and our previous hard-coded exposure.
It is possible that the watts to candelas conversion done by blender is wrong (or their units are wrong somewhere else). Note that they used to write watts directly to the gltf without conversion and then they corrected for that here: https://github.com/KhronosGroup/glTF-Blender-IO/issues/564. But I've seen a lot of conflicting conversations about converting Blender's watts to lumens (ex: multiply by 683.
Maybe our lighting calculations are just very out of sync / don't agree on how a light of a particular power behaves.

Something that does feel a bit strange: if I do write the watts value directly to the Bevy point light (1000 as the "intensity in lumens") with no other changes to the settings above, things line up pretty nicely:

(blender left, bevy right)
Lines up quite well in terms of brightness!
Likewise if I hard code Bevy's ColorGrading::exposure to `(-7.0f32).exp2() and set Blender's exposure to -7 (note the minus), we get this:

They line up pretty much exactly! Maybe just coincidence. But it is interesting. If we plug our ears and pretend Watts == Lumens and that we don't need ev100 exposure settings, then are roughly in sync with blender and we get lumen values that line up with expectations from the real world (~1000 lumens for an indoor lamp). Weird.
Another comparison: if we take the first case (using the exported Watts->candelas->lumens), but also set our new ExposureSettings::ev100 to 10.0 (more than the new default of 7.0, less than the old hard-coded default of ~12), we get this:

Essentially identical!
And here is the current default ev100 (7.0):

Note that Bevy's lighting is oversaturated relative to Blender's.
My current bet is:

The Blender GLTF exporter is probably correct about its watts -> candelas conversion
Eevee does have some sort of internal exposure setting that is close to ev100 10.0 (which is a very reasonable number)
For some reason inherent to the approach both we (and blender) are using, we need exorbitantly high / non-real-world lumens (on the order of hundreds of thousands) to emulate an indoor lamp (which should be closer to 1,000)

In that case, we should just calibrate our default ev100 to 10.0, accept the crazy numbers required, and call it a day. It would be reassuring if we could reproduce these results in at least one other engine (blender, unity, unreal, etc) with aligned settings.
My "long shot" conspiracy theory bet (based on the weird agreement in the second test above) is that Eevee and Bevy are using roughly the same algorithms internally, they agree on lumens as units (and blender is just wrong about it being watts), blender doesn't have a hidden exposure roughly 10.0 ev100 (and therefore we should remove ours / default it to something that produces 1.0 as the factor), and we can therefore use "real world" lumen values.

This also means that https://github.com/bevyengine/bevy/pull/11347 added a second exposure applied before the Color Grading exposure. This was not mentioned explicitly in that PR from what I've seen, and it does feel a bit strange to have two in two separate places. We should discuss / defend the existence of two exposure properties that exist in two different components that are functionally very similar in terms of what they do to output colors.

There was a bit of discussion about that in the original PR: https://github.com/bevyengine/bevy/pull/8407#issuecomment-1871653253

Please also see https://github.com/bevyengine/bevy/pull/8407#issuecomment-1858639312:
I think the reason both Blender and Bevy need seemingly huge values for light brightness is because CGI scenes use fewer lights and often place them further away from the objects they are lighting:

Look around the space you're currently in. Is there only a single light bulb, or are there many lightbulbs? Remember that lumen is additive: 10x 800 lumen bulbs = 8000 lumens.
Secondly, the inverse square falloff can be deceptively strong. The difference between a light 2 meters away and one 10 meters away is a factor of 25x!

There's also the lack of indirect light from point lights in scenes without walls (Blender) or any scene (Bevy), which I don't know how to quantify off-hand, but probably is a pretty significant impact

Thanks for the links! I definitely missed the conversation that happened in #8407. Accidentally retread some ground :smile:
I do agree that those points are relevant / play a role. But I find it pretty hard to believe that the scene above (a 2 meter cube with a light 2 meters away) requires 682,994 lumens (341 times the power of my "lights up the whole room at night" 2000 lumen led bulb) to be reasonably lit from 2 meters away.

There's also the lack of indirect light from point lights in scenes without walls (Blender) or any scene (Bevy), which I don't know how to quantify off-hand, but probably is a pretty significant impact

Hmmm yeah light bounces probably play a significant role here.
That being said, I think "agreement with Blender" is our highest priority. For 0.13 it probably makes sense to dial in the default ev100 to whatever gives us parity, which is essentially why @GitGhillie chose ev100 = 7 in 8407. Weirdly that value was very out of sync for me (see my above experiments). @GitGhillie, did you switch to AgX as your default tonemapper?

I'll run some more tests

Yeah I forgot about tonemapping back then but judging from the pictures I did remove the ambient light. Since I don't have the test setup from back then I made a new one (based on PR 11581 but should be the same) and interestingly I'm now also landing on an ev100 between 9 and 10 to match the lighting:

Yup 10 seems like the sweet spot to me with the default 1000w light:

Our reds desaturate way faster than Blender's for some reason. But everything else is pretty in sync.

9.5 ev100 for reference (maybe slightly closer):

10w light, 9.5 ev100 (we end up being "too bright" in some cases)

10w light, 10 ev100 (better, but green still shows "too much" relative to blender)

10w light, 10.5 ev100 (we start seriously losing the white cube and blue sphere relative to blender, green is still slightly too visible)

My take is 10 ev100 is the best for point lights

Directional light 1 W/m^2, ev100 10:

Blender is slightly brighter across the board

Directional light 1 W/m^2, ev100 9.5:

Now we're slightly brighter than blender. 9.5 seems closer than 10, sweet spot at this brightness is probably 9.7 or something.

Directional light 0.05 W/m^2, ev100 9.5

We are significantly darker. ev100 9.2 seems like the sweet spot:

10 W/m^2, ev100 9.2

We are slightly brighter (and significantly more desaturated).
ev100 10.0

We are slightly darker.
ev100 9.5 feels close to the sweet spot

I'm going to guess that the real value is log2(1000 / 1.2) = 9.703.

My takeaway is that there isn't a perfect value to achieve parity, but that the ideal constraint solve is in fact approximately 9.7 :)

For 0.13, I think we set the default to 9.7 (with a link to this issue in the docs for posterity), then adjust brightness of the lights in the examples accordingly with their end-of-series DragonballZ-tier power levels.

@doonv how do you feel about changing the default in #11581 again? 😅
Otherwise I can also make a PR to your PR tomorrow (I'm on EU time, need to go now)

@doonv how do you feel about changing the default in #11581 again? 😅 Otherwise I can also make a PR to your PR tomorrow (I'm on EU time, need to go now)

I'd rather not, I already went through the examples multiple times and I don't wanna do that again.

Understandable! I'm willing to do it but first I want to see a go/no-go decision on your PR before I also start going back and forth on the examples

Blender seems to be assuming 1 W = 1 lumen and applying exposure by default (errors which cancel each other out if the true exposure is ev100=9.7). Perhaps the thing to do is to add a constant of BLENDER_DEFAULT = 9.7 and not even pretend it is physically based?

Given that the purpose of the constant is to sync with blender, I'm cool with that (although it seems premature to say if / how blender is getting things wrong). 9.7 seems like a pretty reasonable "middle of the road" exposure value.

(but for the record, it certainly seems like we're missing something here either on the Blender side or the Bevy side)

Strategy-wise, lets finish reviewing and merging #11581 and then add EV100_BLENDER to the constants, use it as default, and in the same PR re-calibrate the examples

Is that going to work with Blender exported GLTFs? Or does EV100_BLENDER actually need to be 9.7 + log2(683) = 19.118?

It's also worth noting that blender uses a different version of AgX than bevy does. Bevy added AgX before blender did. Bevy uses the original AgX getting it's LUT in a easier format from https://github.com/MrLixm/AgXc. Note on AgXc github about blender's version.
Subjectively, they look a bit different, it's been a while since I compared so I don't remember what the differences were.
Blender uses https://github.com/EaryChow/AgX
Blender AgX release notes:
https://wiki.blender.org/wiki/Reference/Release_Notes/4.0/Color_Management
Blender PR that added AgX
https://projects.blender.org/blender/blender/pulls/106355
It would probably be good to get blender's version in bevy at some point. Idk about the licensing, AgX, AgXc and Eary's AgX all don't have any license documents of any kind.
If you turn off tonemapping or use blender filmic in both they should match a bit more closely.

Is that going to work with Blender exported GLTFs? Or does EV100_BLENDER actually need to be 9.7 + log2(683) = 19.118?

EV100_BLENDER would be 9.7 because thats what I set ExposureSettings::ev100 to when I was calibrating.

(and yes that calibration was done with Blender-exported gltfs)

It's also worth noting that blender uses a different version of AgX than bevy does. Bevy added AgX before blender did. Bevy uses the original AgX getting it's LUT in a easier format from https://github.com/MrLixm/AgXc. Note on AgXc github about blender's version.

Ahhh gotcha that would explain it

Blender Filmic, ev100 9.7, directional light 10 W/m^2

(basically identical)
directional light 0.03 W/m^2

(basically identical)
point light 10w

(big divergence)
point light 500w

(basically identical)
Consensus: basically identical with the exception of low-light point lights.

The big "DragonBallZ" units are actually probably correct.

Just kicked off a merge of #11581. I'm doing the follow up work we discussed above now.

Reopening this because it isn't resolved yet


Tutorial KCB update, SEH

Description
PR includes Sprite Event Handler Tutorial, and  minor tag change to KCB markdown
Fixes # (issue)
Type of change

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as
expected)
[x] Documentation (update or new)

How Has This Been Tested?
Markdown was viewed on VS Code, running ruby unavailable, so website needs to be tested
Testing Checklist:

[ ] Tested in latest Chrome
[ ] Tested in latest Safari
[ ] Tested in latest Firefox

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have requested a review from ... on the Pull Request

 Sprite Event Handler - Tutorial


Vectors are not Points!!!

https://github.com/RealConrad/42miniRT/blob/2b9519f3baf04fa1e92b0659bcd46579888d7a18/src/render/viewport.c#L45-L46
If you want a point result - like the center of a pixel. You need to add a vector to the point! if you subtract a point from a vector you are gonna get a translated vector from the provided point to the same vector's end!
Change subtract into add.

Added the fix 👍