Disabling TLS in the collector keeps tls=true option

As reported by @kenfinnigan, setting the option reporter.grpc.tls.enabled to false on a CR that has it set to true (like in a CR on OpenShift), will cause the option to be set at both true and false.

@jkandasa could you add this to the OpenShift tests?

FYI, it also happens with collector.grpc.tls.enabled

I have the same issue.
I'm manually injecting a sidecar agent (auto-injection not possible due to #1317) but now facing the issue that regardless of what I do to disable tls, the operator either instantly overwrites changes to its yaml config or does this:

Since I'm new to jaeger/openshift I don't know what else I can do..the sidecar agent is not able to connect to the collector, since the TLS certs are missing (and idk how I can get the certs and provide those) and tls can't be disabled

The operator shouldn't touch your deployment if you don't have the auto-inject annotation in your deployment. In any case, could you provide the version of the operator you are using, and any other details that can help us reproduce and eventually fix this?

Actually, I see that the PR with the fix hasn't been merged yet, so, if this is the same problem, we know how to reproduce it already.

I'm using operator version 1.20.4, as already mentioned in #1317
And yes it seems to be the same problem, just wanted to bump this as I wasn't sure whether or not it was still being looked into.
For now since I don't know where to get the "correct" cert for the agent sidecar, I discovered weird behavior in OpenShift (not sure if this is intentional..) that I'm abusing for now..
Basically re-activating auto-injection (and as expected getting injected by the wrong operator), then the volume mounts for the ca certs of the wrong operator are there, when I switch config back to manual injection without any other changes, pod gets restared and agent injected with my manual config, but volume mounts from the wrong operator are still there so it can connect to my own collector.
Not very pretty but getting my application to work for PoC is a quite time-sensitive matter right now.


'Contact Me'  php file not working

Hi All! I am using the startbootstrap-freelancer template for a project. I have made all of my necessary changes, so I am ready to deploy the site. However, when I tested the site in a live browser, I noticed that the 'Contact Us' section of the site is not sending data to the designated email address.
I have not touched any of the code in the 'contact me' php file, or the 'contact me' js file.
Can anyone lend a hand for troubleshooting/debugging this issue?
Thank you!

No. I don't believe so. I will google how to do that.
When I was searching Stack Overflow, there was probably an issue with php.
Thank you for the headstart!

Hey @camckin10  have you resolved the problem?
Also, you need to edit the 19th line in the contact_me.php script. You need to replace<EMAIL_ADDRESS>with the email ID where you want the emails to be sent once somebody fills up the form.

hi conact form is not sending any email i already replace line 19?
ccess to XMLHttpRequest at 'file:///C:/Users/fer06/Desktop/portfolio12/startbootstrap-freelancer/mail/contact_me.php' from origin 'null' has been blocked by CORS policy: Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https.
send @ jquery.min.js:2
thats the error i never used php before do i have to install php in my computer in order for php to send the email? or it shpuld work any ways ?

Hi, i change line 19 in php to my email, however it is still not working. Any suggestions?

Hello, I am also having the issue of the form not working even after changing the contact_me.php page. I have tried the JQuery cdn, I have tried the jquery node module with window. I have checked the file reference structure, and everything seems to be modularized correctly. Any suggestions?

hi conact form is not sending any email i already replace line 19?
ccess to XMLHttpRequest at 'file:///C:/Users/fer06/Desktop/portfolio12/startbootstrap-freelancer/mail/contact_me.php' from origin 'null' has been blocked by CORS policy: Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https.
send @ jquery.min.js:2
thats the error i never used php before do i have to install php in my computer in order for php to send the email? or it shpuld work any ways ?

No, you need to run this on some kind of local server installation or upload it to a remote server to send E-Mail. It also seems you just pulled the HTML into a browser, the AJAX-request won't work without w working PHP file connected to it..


Reset stickyBacklog when pollForDecisionTask call failed

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


Update hooks.go

spelling fix

thanks for this PR! The CI is failing due to the attached documentation being out of alignment with the code comment, could you run 'make generate-swagger' and commit the result?

saw your message after my 2nd commit, let me try make generate-swagger, coz all I did was modify the spelling on github.com itself

Updated the title. You should put descriptive PR titles in the future. And also please don't raise pull requests from your main branch. Create topic branches for each PR.

@bilogic The CI lint still fails. I guess it really needs to run make generate-swagger to re-generate the swagger JSON.

Tried to fix this branch but did not work out for some reason, I assume it was because source branch was main and github has special rules around that branch. One should never open a PR from main.
I opened https://github.com/go-gitea/gitea/pull/24310 which contains the commits and the regenration.


Add a checklist for release tasks

Increment version number everywhere appropriate. Currently this is in README.md and in setup.py.
pylint
tox

Incrementing the version numbers can be a pain, there's packages such as bumpversion (https://github.com/peritus/bumpversion/) that aim to help with automating this. Sadly bumpversion doesn't appear to be actively maintained now, perhaps a fork of that project would be useful if newer functionality is needed?

So just regarding bumpversion. This can probably be re-evaluated later, since for now there's just two places where it needs to be changed.

It's not a big deal with only 2 places, it gets to be a pain when there's a multitude of locations that need to keep the version in sync.


Add an example 'showcasing' using multiple windows

Objective

The multiple windows example which was viciously murdered in #3175.
cart asked me to

Solution

Rework the example to work on pipelined-rendering, based on the work from #2898

I had it in my head that we'd need some code changes to make this work. Glad to be proven wrong!

bors r+


Font Size

Can I increase the font size of place names on the map?
The place name is too small to see on the tablet.

since those are openstreetmap tile images, you can't just increase that font size easily. on chrome you can zoom the full page with ctrl and +. there should be a way to do that on a tablet browser aswell


Hello Rails React: Project Implementation

Work Done

Created a new Rails app called 'hello-rails-react'.

Used the command rails new -j webpack my_new_rails_app .

Verified that the jsbundling-rails gem is added to Gemfile.
Postgres database set up.
Created a table for storing messages and created 5 different greetings.
Created an API endpoint that selects a random greeting from the table (controller with an action and Rails route).
Created a static view that will be the root of the app.

Created the App component with react-router and rendered it in static view.
Created the Greeting component that displays a greeting. Set it up as a route in the App component.
Created a store, an action, and a reducer that connects to API endpoint to get the random greeting.
Displayed the random greeting in the Greeting component.

Work Done

Increased randomization to five


3090 and out of memory

RuntimeError: CUDA out of memory. Tried to allocate 128.00 MiB (GPU 0; 23.68 GiB total capacity; 20.57 GiB already allocated; 94.44 MiB free; 20.74 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation.  See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF
Fu**king it! Can you help me?

Well, My DRAM is 48GB, which is not a baby carrot.

Have you solved the problem now？I had the same problem

For my experience, you need at least >=30 VRAM.. I had the same issue even though I changed all batch size or grad size into the minimum, so I switched to A6000 and it consumes more than 30 VRAM.

how to use mutil-gpu, I have 8 A10 which has 24G VRAM. Thanks a lot.


Is it normal to get a "None of the pools have an opened connection" error?

No, you can see from the error message it is unable to connect to your database. Verify your database is correctly configured and started and that you are using the correct connection details in the configuration.


Fix a problem with the styleguide not rendering properly

This fixes a problem with the styleguide rendering a blank page. The problem occurs if you install ember-cli-tailwind inside a project which has the template-only-glimmer-components feature enabled. This changes the way the template is handled. {{namedArgument}} is undefined, unless you use the {{@namedArgument}} syntax.
Should fix #63

It seems I misunderstood the problem. etw/module-section isn't a template only glimmer component, it's a regular component without a .js file 😁. Because our application has the optional template-only-glimmer-components enabled, this behaves different in our app.
rwjblue recommends adding a .js file for the component instead.

Added a .js file for the component instead.

Easy peasy! Thanks for the PR :)


Decimals acting strangely when saving bigger precision numbers

Environment

Elixir version (elixir -v): Erlang/OTP 19 [erts-8.2] Elixir 1.4.2
Database and version: Postgres (PostgreSQL) 9.6.1, Mysql Ver 14.14 Distrib 5.7.17, for macos10.12 (x86_64)
Ecto version (mix deps): 2.1.2 or 2.1.3
Database adapter and version (mix deps): postgrex 0.13.0, mariaex 0.8.1
Operating system: macOS Sierra 10.12.3

Current behavior
I've created a repo for you to check out (tests): https://github.com/kelostrada/ecto_decimal_bug
You can go check out travis there too, it's simpler to look at what I mean.
Just to explain simply - suppose you have a User with a decimal field balance. You want to create a new user and input data like this:
user = Repo.insert!(%User{username: "test", balance: Decimal.new("1.00123")})
Repo.get(User, user.id)

You would expect that the balance saved to database would be 1.00123. But it saves as 1.00000.
By the way I also increased precision for numerics and it seems it got saved as 1.000000123.
Also the issue seems to be with Ecto, because I checked on postgres and mysql and the issue is the same.
PS. I noticed strange behaviour with NativeDateTime (you can check in tests that date which is saved to MySQL differs from the date which is received from database later - although I expect it's not really a bug, just a problem with saving microseconds in mysql?).

I have fixed the decimal bug on the postgres. Please try master. :)

Btw, thanks for the app reproducing the issue. It makes my life so much easier.

The other issues are also in the Mariaex adapter but I don't have enough knowledge of the codebase to fix them. I will recommend opening an issue there. :) Let me know if the Postgrex fix is good for you so we can ship a new version.

I've updated postgres to the newest version from master and it seems it is now fixed :) Tests for postgrex pass. As you suggested I will open an issue on mariaex. Actually I don't really use MariaDB,  but I wanted to check if this was the issue with postgrex or mariaex. Looking at the behaviour it seemed that it was the issue with Ecto because it acted the same for both database types, but now it is clear ;)
Btw, no problem for the app, I'm glad it helps you fix stuff faster!
I'm waiting for the new version of Postgrex then!
Regards

A new Postgrex is out!


Automated cherry pick of #324: 限制 client_body_timeout 时长，预防慢攻击

Cherry pick of #324 on release/3.5.
#324: 限制 client_body_timeout 时长，预防慢攻击

/lgtm
/approve


Dino catalog

:+1:

Nice first iteration.  Make sure to separate your classes into different files.  Also, avoid hard-to-read acronyms.  They may be shorter to write, but they're harder to read.  Your code should be your documentation.
Think about where responsibilities should lie.  Should your Dinodex be responsible for comparing Dinos, or should that responsibility lie with Dino?
Some sort of UI would be useful too.  Don't go overboard, though.  A CLI works fine for this project.
Please make changes where needed and resubmit when ready.  Let me know if you have any questions.


lang: add Unreachable and void procedures

Summary

add the Unreachable expression
add the VoidTy type expressions
support procedures with a void return type

Details
Unreachable is intended to mark control-flow paths as dead. Future
progress on the language might render it obsolete again, but for now,
it fills a hole in the language and, in the absence of a raise-like
construct, makes void-return procedures (and thus void call
expressions) possible.

Notes For Reviewers

depends on #34

Future progress on the language might render it obsolete again,

What I mean by this is that the introduction of a expression raise or a built-in terminate/quit procedure could allow for implementing Unreachable as a procedure in library code, much like it's done for the unreachable procedure from vm/utils.nim.
Unreachable does express something that the aforementioned implementation wouldn't, namely that some point in the program is not ever reached, so maybe it should stay, I'm not entirely sure yet.


[v9 optional] Bank Aliases for Certain Denoms

Background
The current ibc denoms are non human readable. For example, we want to be able to call uatom instead of ibc/27394FB092D2ECCD56123C74F36E4C1F926001CEADA9CA97EA622B25F41E5EB2. If state breaking, we can do this in another upgrade.
Acceptance Criteria

ensure all ibc denoms have a corresponding human readable denom

This is totally possible by doing a few changes to x/bank, but I think for optimization, we'd need to add an additional index, so this would be state-breaking. In fact, we would also need to add a global uniqueness constraint on aliases which would also be state-breaking anyway, so yeah 👍
I can take this too


VLAN Assignment

VLAN Assignment in iPSK Manager to assign it dynamically in ISE based on Device Group in iPSK Manager

Are you looking to be able to enter a VLAN when defining a Device Group and have that VLAN be returned in the FetchGroups stored procedure ISE calls?

Are you looking to be able to enter a VLAN when defining a Device Group and have that VLAN be returned in the FetchGroups stored procedure ISE calls?

Yes, so with this solution i have then dynamic VLAN assignment possible, and i dont need to set up for each a separate policy result

This is a interesting request after thinking about it.  If iPSK Manager would define VLAN and even dACL values it could be used in a similar way for wired ports with authentication, ignoring the iPSK value.   I'm thinking this may be better placed within the Authorization Template as optional elements.  I'll add it to the list :)

This enhancement will be pulled into the master branch shortly.  If you'd like to test before, its in the nov24 branch.


GH-2298 - File used percentage slightly off

Update percentage on chart and in retention to match the percentage
displayed by lustre.
Signed-off-by: johnsonw<EMAIL_ADDRESS>

This change is

In the process of testing this.

Note, I have two filesystems here.
[root@oss1 fs]# lfs df -h
UUID                       bytes        Used   Available Use% Mounted on
fs-MDT0000_UUID             2.8G        2.4M        2.5G   1% /mnt/fs[MDT:0]
fs-MDT0001_UUID             2.8G        2.4M        2.5G   1% /mnt/fs[MDT:1]
fs-OST0000_UUID             4.6G        2.0M        4.3G   1% /mnt/fs[OST:0]
fs-OST0001_UUID             4.6G        2.8G        1.5G  66% /mnt/fs[OST:1]
fs-OST0002_UUID             4.6G      129.9M        4.2G   3% /mnt/fs[OST:2]
fs-OST0003_UUID             4.6G        1.0G        3.3G  24% /mnt/fs[OST:3]
fs-OST0004_UUID             4.6G        2.0M        4.3G   1% /mnt/fs[OST:4]
fs-OST0005_UUID             4.6G        1.0G        3.3G  24% /mnt/fs[OST:5]
fs-OST0006_UUID             4.6G        1.0G        3.3G  24% /mnt/fs[OST:6]
fs-OST0007_UUID             4.6G        2.0M        4.3G   1% /mnt/fs[OST:7]
fs-OST0008_UUID             4.6G        1.0G        3.3G  24% /mnt/fs[OST:8]
fs-OST0009_UUID             4.6G        2.0M        4.3G   1% /mnt/fs[OST:9]

filesystem_summary:        45.8G        7.0G       36.1G  17% /mnt/fs

Also wanted to show that the files chart is still working as well:

Does CLI have the same issue?

@ip1981, I could be missing something but I think it's ok:
[root@adm report]# iml filesystem show fs
+-------------------+---------------------------------------+
| Name              | fs                                    |
+-------------------+---------------------------------------+
| Space Used/Avail  | 7 GiB / 36 GiB                        |
+-------------------+---------------------------------------+
| Inodes Used/Avail | 1M / 3M                               |
+-------------------+---------------------------------------+
| State             | available                             |
+-------------------+---------------------------------------+
| Management Server | mds1.local                            |
+-------------------+---------------------------------------+
| MDTs              | fs-MDT0000                            |
|                   | fs-MDT0001                            |
+-------------------+---------------------------------------+
| OSTs              | fs-OST0000                            |
|                   | fs-OST0004                            |
|                   | fs-OST0002                            |
|                   | fs-OST0003                            |
|                   | fs-OST0001                            |
|                   | fs-OST0008                            |
|                   | fs-OST0007                            |
|                   | fs-OST0009                            |
|                   | fs-OST0006                            |
|                   | fs-OST0005                            |
+-------------------+---------------------------------------+
| Clients           | 1                                     |
+-------------------+---------------------------------------+
| Mount Path        | <IP_ADDRESS>@tcp0:<IP_ADDRESS>@tcp0:/fs |
+-------------------+---------------------------------------+

Let me know if there is a different command you are referring to.


Track post views when showing prerendered search results

These post IDs need to be hunted down in a slightly different way than
the other paths.
[#142637629]

@rynbyjn I'm purposely not handling the user search path - think I have that done in such a way that it won't bomb out there, but could probably use some :eyes: to double check.

          1 Warning

:warning:
Please provide a linked tracker story for this PR in the description

  Generated by :no_entry_sign: danger


Timing info

Need timing info that separates IO and sampling times.
Example with Neal:

The total_pre_processing_time field should include problem conversion and schedule initialization steps. It could potentially include more granular timings such as variable declaration times.
The "sampling_time" (TBD) field should be timed by either wrapping the call to C code, or by wrapping the C loop; it should complement the specification of "preprocessing_time".
The total_post_processing_time field should include the construction of a sampleset and the population of the info dict.

We likely want these fields to match the QPU/HSS ones, no? So

total_post_processing_time rather than post_processing_time (link)
total_pre_processing_time to match?
run_time to match HSS (link)

I agree with 1 and 2 (updated). For 3, I think the counterpart for individual samplers (e.g. Neal and Greedy) would be DWaveSampler's qpu_access_time as opposed to run_time.

Naming something (total)preprocessing and (total)postprocessing might get a bit awkward, if all we can measure is the part that is in the wrapper (python) and not the part that is wrapped (C). I think its hard to cleanly divide sampling time and preprocessing time. For example, does state initialization count as preprocessing or sampling, I guess sampling - but it happens in the wrapper sometimes rather than the wrapped code. Sometimes the initial states are provided by the user, in which case does copying them in count as sampling time?

I like sampling_time. It's not easy to sensibly 1:1 match to QPU time naming, you might get less accurate names (is the time before sampling really preprocessing rather than a setup_time for example?) and those fields have changed previously, so like @jackraymond I don't love the prefix total, and if it's not a 1:1 match, I'd weigh more toward accurate naming.

Would we also want run_time to include everything? Regardless of what we decide for the specific steps. Also, if I was to specify a time_limit, would I expect that to apply globally or just to the sampling_time?

I think, for neal and similar samplers that involved wrapped C-code, separating the wrapped from unwrapped time components is going to be sufficient. The inner loop can typically be considered a pure sampling mode, and if this isn't true, it is pretty hopeless to think we can also make a clean subdivision into sampling, pre and post processing. Such a distinction also works well in the context of composite samplers, where at each layer there is a similar division (even if there is not a clean division between sampling, pre/post processing time).

Those are important considerations and, for these particular examples, I agree the initialization times should be considered as part of sampling time. I like to think of 1) preprocessing as all procedures that are not inherent to sampling, but makes for easier implementation. For example, changing variable types. 2) sampling time as all essential code that are inherent to sampling, e.g., initialization of arrays, the main loop, etc.. And 3) postprocessing as all procedures that make for more convenient processing of data, e.g., changing variables, calculating energies, constructing a SampleSet and so on. With that said, I think timings around wrapped C-code pretty accurately reflect the above idea. I am dubious that we can clearly define a one-size-fits-all timing definition, especially across all classical samplers, so I think what's more important is that we explicitly document what's included in each timing for each sampler.

Also, if I was to specify a time_limit, would I expect that to apply globally or just to the sampling_time?
If we want to be consistent with how QPU runtime limit is defined, it would make sense to use sampling time only.

Ok, as an experiment I implemented a version of this in https://github.com/dwavesystems/dwave-samplers/pull/24.
I used preprocessing_time, sampling_time, and postprocessing_time. I also only counted the sampling_time towards the time_limit.

Re time naming conventions:   I expect that  the code's loop structure is going to dictate where the timers are placed,  and it may not always be possible to insert timers that strictly match whatever naming convention you choose.   For example, you might have part of the initialization inside code that is iterated for each sampling step,  to initialize a particular solution but you shouldn't be trying to separate out that little bit of code,   it won't work.   So instead of worrying about matching the timing to the name,  it might be easier to consider anything that happens once per input,  before sampling''  to be associated with init_time,   and anything that happens once per output solution''   the sample_time.     If you have code that happens ``once per input''  after ampling is done,  call it something else, like wrapup_time.

@kevinchern raised an interesting point about nesting. See https://github.com/dwavesystems/dwave-samplers/pull/24/files#r902858512

Bringing together the feedback from https://github.com/dwavesystems/dwave-samplers/pull/24, I think the current idea would be to used nested dict (suggested by @kevinchern )
info = dict(
    timing=(
        preprocessing=...,
        sampling=...,
        postprocessing=...,
    )
)

where the times are represented using datetime.timedelta (suggested by @randomir ) which has microsecond resolution. IMO microseconds is plenty good, but wanted to get consensus here.

A few more thoughts about datetime.timedelta:

Pro: unambiguous in terms of units
Neutral: resolution of microseconds is good enough I think
Con: not naturally json serializaable, so BMT etc would need to cast before storing results
Con: inconsistent with the timing info returned by the QPU and the HSS

I could go either way on this one.

Inconsistent with QPU and HSS in what sense?  Would it be impossible to plot a graph showing runtime comparisons between these different platforms?  Would the comparison not make sense in an apples-to-apples way?

Sorry, no, not in terms of value. I mean the QPU and HSS return the time in seconds as s float. Here we would be using a different type. The information is the same either way.

Ah.  Are you saying these are reported in seconds  for QPU and HSS vs microseconds for classical solver, or just microsecond resolution ?

The QPU and the HSS report in seconds represented as a float. We're proposing using a more complex object,datetime.timedelta, which allows for the user to access time via various units. It uses an int for mircoseconds under the hood.
So for the information content, it's essentially the same. But the user would access it in a different way.

I think having a greater resolution (e.g., perf_counter) is more important than convenience.
Instead we can either be explicit in naming fields (e.g., preprocessing_ms; I don't like this), or decide on a unit and use it consistently. I prefer consistency of timing units and format (with QPU).

I mistaken above, the QPU returned the time in microseconds, whereas the HSS returns time in seconds. This kind of thing is a pretty compelling reason to use something like timedelta. Or a similar object with a higher resolution if that's the concern.

Little late, but here are some thoughts I have about timing samplers.

As much as it would be nice to split everything into only three buckets (for benchmarking purposes), I'm not sure the split will be obvious (or possible) for all samplers we have and plan to have.
Matching timing fields of QPU/HSS (remote and opaque) to local (open-sourced) samplers probably forces us to use low granularity, like the three buckets proposed, or less.
Supporting higher granularity of timed sections would be useful for local development also, not just high-level sampler benchmarking.
We should use events (see a cloud-client example) or performance timers (of Win32+ fame) for notifying external/user code of a specific phase being reached. For example: sample_call, args_parsing, energy_calc, sampling...
With (4) it's easy to implement a "timing capturing layer" either in library (dwave-samplers, Ocean, etc), or in user's code. It allows a lot more flexibility.
We could keep all "performance timers" on sampler instance, like we do in dwave-hybrid on Runnables.
We should get rid of SampleSet.info, and not add more "info" to it. At least not more non-ephemeral info. Using it for only very short-lived info returned about the sampleset might be fine, but trying to generalize it, "hierarchy-ify" it, or unify it across all samplers and composites is madness.

Some thoughts

As much as it would be nice to split everything into only three buckets (for benchmarking purposes), I'm not sure the split will be obvious (or possible) for all samplers we have and plan to have.

I am persuaded by @kevinchern's comment above I am dubious that we can clearly define a one-size-fits-all timing definition, especially across all classical samplers, so I think what's more important is that we explicitly document what's included in each timing for each sampler.
I do think that three categories of setup, hard stuff, wrap up are pretty universal and as long as we're clear about what's in and out, I think having those three would still be useful for many users, even if it's not perfect.
Of course, as you allude to, we can have more granularity for specific solvers/frameworks and then have three general buckets that are more universal and derived from that tighter granularity.

We should use events (see a cloud-client example) or performance timers (of Win32+ fame) for notifying external/user code of a specific phase being reached. For example: sample_call, args_parsing, energy_calc, sampling...

I love this conceptually though I see three issues:
a) It doesn't really help with 1-3, because such a framework still needs to be opinionated
b) Performance. Adding a python function call into a C loop would probably hurt a lot of samplers. We might be able to mitigate this with some sort of C++ library wrapped with Cython.
c) Simplicity. The desire for timing is pretty universal. Do we have another use case for this sort of event structure in the context of these solvers? If no, it may be a bit overkill

We could keep all "performance timers" on sampler instance, like we do in dwave-hybrid on Runnables.

If we were doing Ocean from scratch, I don't think we would make our samplers the way we have. But right now the samplers are all stateless from a problem perspective (the only exception I can think of is the TrackingComposite). Most of them are essentially just a sample function rather than a true object.
Adding timing info on the instance would break that pattern.
Cannot emphasize enough that I don't think we have the "right" pattern, but while we do have it I think mixing statefull and stateless might be confusing.

We should get rid of SampleSet.info, and not add more "info" to it. At least not more non-ephemeral info. Using it for only very short-lived info returned about the sampleset might be fine, but trying to generalize it, "hierarchy-ify" it, or unify it across all samplers and composites is madness.

Cannot agree more.

As a user of these timing utilities: 1. Agree that it is worth trying to regularize as much as possible, but don't expect to get perfect agreement of timing components across diversely structured solvers.   I like the concept of the 3 categories as something to aim for consistency-wise.

Sometimes I want these solvers to run as fast as possible, and want to be able to claim that timing overhead is not substantially inflating  total runtime:  I want to be able to claim that a good-faith effort was made to make these codes as efficient as possible.  In this case simple start and finish times are needed.   Other times I want to
analyze what's going on in the code -- in that scenario I would prefer a fine-grained view as possible.  Even in this case, though, it doesn't make sense to put timers inside any iteration loop that can be counted, just put the timers before and after the loop, and report both the total time and the number of iterations.    I worry that even with the three-part timing convention, in some edge cases the code components will be too fast to be properly reported.  I would suggest being conservative about how finely you dice this code, without assurance that the results aren't nonsense.

Which makes me wonder if this framework needs a user-set parameter for benchmark'' runtimes with no artificial slowdowns, andanalysis'' runtimes that provide details and perhaps even status info.   I wouldn't feel right publishing runtime statistics that I knew to be inflated or dominated by timer calls.  In my own code development I would often include a compile time switch for this  purpose (not pythonic, I know)

@arcondello, with some kind of performance counters we could support fine granularity, and let each user slice it anyway they prefer. Documenting each counter is crucial, of course. Furthermore, timing info in samplers wouldn't have to be opinionated (although I agree we could default to your three uncontroversial buckets), but we could aggregate section timings on a separate layer. Maybe even provide several choices of cuts.
Re: performance - Performance counters are a kernel thing, so taking inspiration from there, we can keep ours in C land.
@CatherineCMcGeoch, obviously we do not want to bias timings with measurement code, so what ever we decide to do, you don't have to worry about that.

@kevinchern, motivation for this pattern is minimizing instrumentation impact on main code performance. Logging simple records like (timestamp, phase), or (counter, increment) is super fast, and decoupled from later analysis. But all that is just an implementation detail, not relevant to discussion on how to return timing info.
Re: return format, I like the approach we use in dwave-cloud-client -- solver.sample() returns a Future that resolves to results dict, but also has (blocking) properties to access metadata from the response (like timing data, but also samples, energies, sampleset, etc). This seems backwards incompatible, but we might be able to overlay SampleSet interface over the Future returned, at least during transition period. Another option to consider is async interface (and fully async Ocean), in which case Futures wouldn't quite work.

Oooh I see, thanks for the explanation!

Re: return format,  ...

I like this solution and the temporary overlay idea for the transitional period. Would it also solve some of the issues present in the composite pattern?
Should we open a separate issue for more discussion on return formats? I think bucket timings would go into the current sampleset.info['BUCKET_time'] (e.g., "preprocessing_time"). Where sampleset.info should be moved to is a separate problem(?)

Reviving this discussion

I think there's a consensus for:

Return timing info as a nested dict with 3 buckets:

info = dict(
    timing=(
        preprocessing=...,
        sampling=...,  # The bulk of computation
        postprocessing=...,
    )
)

Use datetime.timedelta

microseconds resolution
pros: unambiguous units
cons: inconsistent with QPU results from HSS
neutral: no C Python API

Any other items we should resolve?


Connect signals to editable children in the editor

Godot version: 3.1
Feature request:
The request is to be able to connect signals to "Editable children" -nodes in the editor. Currently any instanced scenes will only display their (greyed) root node, but no editable children - although the "Editable children" option is enabled for the node. Pic 1: Available signal targets Pic 2: Actual scene tree
Note that NodePath export variable does support referencing nodes inside an instanced scene with "Editable children" enabled - but signals do not.
Background / why:
I'm trying to build a generalized system for creating NPC's etc. I'm using some "template scenes" as the basis for this, these templates include some scripts and some basic node structure (as if containers), into which further nodes can be inserted in the editor to create specific behaviours etc. (Inspired by this video.)
In this system, it would be very convenient to connect signals (in the editor) from a node within an instanced scene to other nodes within another instanced scene (both part of the same edited scene). However, when trying to connect a signal in the editor, the available options do not include any "editable children" -nodes - only the nodes who are owned by the main edited scene.
Criqitue:
I'm also thinking that maybe I'm using Godot in an inappropriate way. Because, eg. when the original scene is modified, there is often the danger of all the Editable children (of instances of that scene) and their properties being erased all throughout the project without any kind of undo / fallback.
.. On the other hand, having a "pre-established" structure with unremovable nodes is otherwise very convenient and also visually clarifies the scene tree nicely (--> grey text implies pre-established structure).
Workarounds:

I think you can make the connections via script (at least when the game is run).
For now, I've in some cases connected the signal to a local node, which in turn has a sort of mini-API that will in turn make the call to the desired action node. (However, the action node might be right next to the signal sender - would be nice to just connect to it straight away, and define the params in the signal.)
You can also attach an additional (specific) script to the node and connect it to itself and do whatever with the signal. However, the only purpose of each of these ad-hoc scripts would be to workaround this limitation of the editor, which doesn't sound good. Also, the logic of "what happens" would be "hidden" inside the script - whereas otherwise everything is clear by simply looking at the scene tree and checking where some specific signals are connected to, eg. this trigger triggers this action, etc.)
You could also work around this by making a general script with a NodePath export variable (which does support going into Editable children), and attach it to the signal sender node. Then instead of using signals, the script would call the node at the NodePath. .. To define custom params, would use an export array (instead of defining the params in the signal)... Maybe this is the best workaround for now.

Ah this is exactly what I was looking for.
In my case, I want to connect the picked_up signal from the Stick item to a Quest which is a child of the QuestLog but I can't reach the Quest.
I feel it would be intuitive to be able to connect a signal to anything you can see in the scene tree.

Feature and improvement proposals for the Godot Engine are now being discussed and reviewed in a dedicated Godot Improvement Proposals (GIP) (godotengine/godot-proposals) issue tracker. The GIP tracker has a detailed issue template designed so that proposals include all the relevant information to start a productive discussion and help the community assess the validity of the proposal for the engine.
The main (godotengine/godot) tracker is now solely dedicated to bug reports and Pull Requests, enabling contributors to have a better focus on bug fixing work. Therefore, we are now closing all older feature proposals on the main issue tracker.
If you are interested in this feature proposal, please open a new proposal on the GIP tracker following the given issue template (after checking that it doesn't exist already). Be sure to reference this closed issue if it includes any relevant discussion (which you are also encouraged to summarize in the new proposal). Thanks in advance!


Add protoc-gen-dart's parent folder to PATH before run protobuf compiler.

@temeddix Do you think it is necessary?

Commit c9766d1536ab383af62f503f0ceec351d279ab97 fixed this :)


Running dispatch locally

@kevgliss I'm trying to run the dispatch project locally (without Docker)
I did the following :
git clone git@github.com:Netflix/dispatch.git

cd dispatch

pip3 install .

May I know how I could run the dispatch server ?

The command is dispatch server develop.
See: https://hawkins.gitbook.io/dispatch/administration-guide/cli

Getting the following error message when I run  dispatch server develop. I also checked in the .env file for the necessary keys.
No JWT secret specified, this is required if you are using basic authentication. No JWT secret specified, this is required if you are using basic authentication. Traceback (most recent call last):   File "/Users/Library/Python/3.8/bin/dispatch", line 5, in <module>     from dispatch.cli import entrypoint   File "/Users/Library/Python/3.8/lib/python/site-packages/dispatch/cli.py", line 14, in <module>     from dispatch import __version__, config   File "/Users/Library/Python/3.8/lib/python/site-packages/dispatch/config.py", line 164, in <module>     DATABASE_HOSTNAME = config("DATABASE_HOSTNAME")   File "/Users/Library/Python/3.8/lib/python/site-packages/starlette/config.py", line 64, in __call__     return self.get(key, cast, default)   File "/UsersLibrary/Python/3.8/lib/python/site-packages/starlette/config.py", line 77, in get     raise KeyError(f"Config '{key}' is missing, and has no default.") KeyError: "Config 'DATABASE_HOSTNAME' is missing, and has no default."

By default, dispatch will look for its variables in your shell's envvars or in a file is named .env in your current working directory. When you run any dispatch command one of those must be available.

Thanks !


Webapp not loading. Errors in console

polyfills.8ac47b1b34705312c109.bundle.js:5 ORIGINAL STACKTRACE:t.handleError @ polyfills.8ac47b1b34705312c109.bundle.js:5
polyfills.8ac47b1b34705312c109.bundle.js:5 TypeError: Invalid event target
    at Function.e.setupSubscription (main.dda060a7a5f5e821a156.bundle.js:7)
    at e._subscribe (main.dda060a7a5f5e821a156.bundle.js:7)
    at e.t.subscribe (polyfills.8ac47b1b34705312c109.bundle.js:1)
    at t.call (main.dda060a7a5f5e821a156.bundle.js:9)
    at t.subscribe (polyfills.8ac47b1b34705312c109.bundle.js:1)
    at t.call (thirdparty.c457ec9d14808cfb9795.bundle.js:5)
    at t.subscribe (polyfills.8ac47b1b34705312c109.bundle.js:1)
    at t.call (thirdparty.c457ec9d14808cfb9795.bundle.js:2)
    at t.subscribe (polyfills.8ac47b1b34705312c109.bundle.js:1)
    at t.attachEvent (main.dda060a7a5f5e821a156.bundle.js:2)t.handleError @ polyfills.8ac47b1b34705312c109.bundle.js:5
polyfills.8ac47b1b34705312c109.bundle.js:8 TypeError: Invalid event target(…)o @ polyfills.8ac47b1b34705312c109.bundle.js:8
chrome-extension://enhhojjnijigcajfphajepfemndkmdlo/cast_sender.js Failed to load resource: net::ERR_FAILED
chrome-extension://fmfcbgogabcbclcofgocippekhfcmgfj/cast_sender.js Failed to load resource: net::ERR_FAILED
chrome-extension://fjhoaacokmgbjemoflkofnenfaiekifl/cast_sender.js Failed to load resource: net::ERR_FAILED ```

hi @Ajeey
what browser are you using?

Browser - Chrome Version 49.0.2623.87 (64-bit)
OS - Linux 12.04.1 LTS

Please update chrome to latest, clear cache and reload.
On Mon, Mar 27, 2017, 07:56 Ajey Charantimath<EMAIL_ADDRESS>wrote:

Browser - Chrome Version 49.0.2623.87 (64-bit)
OS - Linux 12.04.1 LTS
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/orizens/echoes-ng2/issues/42#issuecomment-289353948,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA1oRK80dLoihZu9lFQAzXBhQaM8mma3ks5rp0GBgaJpZM4MmgJS
.

--
Oren Farhi
CEO at Orizens.com
Senior Front End Engineer & Consultant
http://www.orizens.com

please try the new ng4 version


identifiers.org

Thank you for MAXO.
I have made a request to identifiers.org to map your ids.
They require that the CURIE prefix is lower case, so I requested "maxo", with "mi" as the provider.
I made it clear that I am a user of MAXO and not affiliated with you.
I hope that is OK. If you can give me an email address, I will forward it to identifiers.org when I hear from them.

@chrishmorris I would suggest checking out the Bioregistry project as a drop-in replacement for Identifiers.org that has a more community-oriented curation workflow for new prefixes
https://bioregistry.io / https://github.com/biopragmatics/bioregistry

any comments?  @jmcmurry @mellybelly @pnrobinson @matentzn

Looks well done.

and in the interim, @chrishmorris my contact is available in the README  https://github.com/monarch-initiative/MAxO/blob/master/README.md

I'd recommend getting prefix registered both places


blsd: init at unstable-2017-07-27

Motivation for this change
Things done

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

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

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

Are you still using blsd? (I know that you have posted this just 5 days ago.)

It's a utility you don't need often, so tbh I've mostly tested it as opposed to used.
I do think it's a useful thing to have, assuming that's why you're asking.
Not super important either.

Yeah, it's for fzf. I fixed your concerns.
If it really turns out a pain to maintain, I might drop it in the future, so if that's a reason not to merge, I understand.

@GrahamcOfBorg eval


[release-1.12] Cherry-pick Fix coredns network policies.

How to categorize this PR?

/area neworking
/kind bug
/priority normal
What this PR does / why we need it:
Now they allow traffic from the Pod network. This is needed because traffic might come from the calico tunnel IP which is part of the Pod network.
Before this, Pods with hostNetwork: true and dnsPolicy: ClusterFirstWithHostNet could not talk to coredns if they are running on a different Node than CoreDNS.
Which issue(s) this PR fixes:
n/a
Special notes for your reviewer:
Cherry-pick of https://github.com/gardener/gardener/pull/3162
Release note:

Fixed NetworkPolicy `gardener.cloud--allow-dns` to allow traffic from Pods with `hostNetwork: true` and `dnsPolicy: ClusterFirstWithHostNet`.

/assign @schrodit


minimize-regs pass is probably broken for uses of registers in conditions of if and while

The minimize regs pass doesn't rewrite the conditions of if and while loops. This means that if a register is used in the condition that was rewritten to something else, the program will no longer be correct because the register won't be updated in the way that is expected.
We should

add a test case that checks for this (and verify that this is actually a problem)
fix minimize regs to rewrite conds
maybe implement a more general cell rewriting helper into the builder that does this automatically because this will be a problem for all passes that want to rewrite components

verified the bug. here's a program that breaks (and causes the compiler to crash)
// -p minimize-regs -p dead-cell-removal
import "primitives/std.lib";
component main() -> () {
  cells {
    x = std_reg(1);
    y = std_reg(1);
  }

  wires {
    group wr_x {
      x.in = 1'd1;
      x.write_en = 1'd1;
      wr_x[done] = x.done;
    }

    group cond {
      y.in = 1'd1;
      y.write_en = 1'd1;
      cond[done] = y.done;
    }

    group some_math {
      y.in = 1'd0;
      y.write_en = 1'd1;
      some_math[done] = y.done;
    }
  }

  control {
    seq {
      wr_x;
      if y.out with cond {
        some_math;
      }
    }
  }
}

Good find! And nice work concocting a test case.


"Wrong" behaviour when using padding, cytoscape-expand-collapse, and compoundPadding

Context
This is in reference to an issue @ugurdogrusoz had about the "pathways-search" app.
If I understand his concerns correctly, the "bad results" are related to node overlap.
Here is the original issue that Ugur posted on the pathway-commons dev group:
- why does cose-bilkent layout yield such bad layouts
(trust me I know the weaknesses of our algorithms but it doesn’t produce such layouts).
please point us to the related repository if you’d like us to take a look.
maybe something incorrect is getting done during collapse of complexes prior to display.

- consider using cytoscape.js-expand-collapse extension for expand-collapse of complexes (and compartments in my opinion)

Here is an example of a "bad layout" that I think Ugur is talking about, the cut-corner rectangle nodes are the ones that I frequently see overlapping, and those are the collapsed nodes:

I want to reiterate:
I am using  the cytoscape-expand-collapse extension.
I am using the following that I think are contributing factors to the problem:

cytoscape-expand-collapse
padding for nodes ( padding behaviour specified for cytoscape.js 3.x )

Settings I use:
I use these settings:
	cy.layout({
		name: 'cose-bilkent',
		paddingCompound: 50,
		fit: true,
		nodeRepulsion: 4500,
		idealEdgeLength: 50,
		edgeElasticity: 0.45,
		nestingFactor: 0.1,
		gravity: 0.25,
		numIter: 2500,
		tile: false,
		animationEasing: 'cubic-bezier(0.19, 1, 0.22, 1)',
		animate: 'end',
		animationDuration: 1000,
		randomize: true,
		tilingPaddingVertical: 20,
		tilingPaddingHorizontal: 20,
		gravityRangeCompound: 1.5,
		gravityCompound: 1.0,
		gravityRange: 3.8,
	}).run();

Which are mostly the same settings that you use for Newt, with the exception of tiling set to false.  Either way, with tiling set to true/false it still produces the same result.
Solutions I have tried
Increasing paddingCompound

This doesn't seem to work on collapsed nodes. (I suspect that collapsed nodes are considered simple nodes when it's children are removed and therefore the option might not be applying)

Here is an example with paddingCompound set to different values:
paddingCompound: 50

paddingCompound: 150

paddingCompound: 500

As you can see, compoundPadding is not applying to the collapsed complex nodes, only the actual compartment compounds

@d2fong Are you running the expand-collapse extension before or after the layout?  Maybe it conflicts if the layout hasn't finished yet.

I am running the layout after I collapse all of the complex nodes.

Posting some other findings I had in the google groups thread related to padding and node width / height.
padding: 0;  complex node width/height: 45
Here is cose-bilkent run on a graph with:
collapsed complex nodes
dangling nodes filtered (compartment child nodes that do not have any edges between them)

padding: 22px;  complex node width/height: 45
Here is cose-bilkent run on signalling by bmp with:
collapsed complex nodes
dangling nodes filtered (compartment child nodes that do not have any edges between them)
I notice in this version that there is a little bit of node overlap when I introduce a non zero padding value.

padding: 22px;  complex node width/height: 10
Here is cose-bilkent run on signalling by bmp with: (this is the configuration used for the search app)
collapsed complex nodes
dangling nodes filtered (compartment child nodes that do not have any edges between them)

In this one, there is a noticeable amount of overlap in the plasma_membrane compartment and some overlap in the early_endosome_membrane.
Based on these images it would seem that padding on collapsed nodes seems to cause some issues, but I can't really know for sure I am not familiar with the cose-bilkent code base.
The reason why I need to use the last configuration is because:

padding is required for my stylesheet to work
I don't want nodes collapsed nodes to be very big like the second picture

So that is why I need collapsed complex nodes to have a smaller height/width (10) while having a larger padding size (22px) so they fit in visually with the other nodes as well as enable me to put svg images onto them when they are expanded.

I am experiencing similar behaviour in Newt when I change the width and height of complex nodes to 10, and then set the padding to be 22px.
Collapsed complex nodes seem to exhibit more node overlap using these settings.

Here is another example in Newt.
collapsed complexes with no changes to padding and then running cose-bilkent:

collapsed complexs, set padding to 22px, set height/width to 10, then running cose-bilkent:

Steps to reproduce in Newt:

Download this file, and load it into Newt:
signalling2.sbgn.txt

collapse all complex nodes using the ui / expand collapse extension in the console

in the console, enter this line and run it:

cy.nodes('[class="complex"]').style({'height': 10, 'width': 10, 'padding': 22})

run the cose-bilkent layout

@d2fong Here are some remarks:

a collapsed complex should be a simple node, not a compound node; I don't understand why they get affected by "padding" changes
any particular reason you're passing layout settings with default values (e.g. nodeRepulsion=4500)? sometimes we fine tune these defaults and you don't want to be using old defaults
any particular reason you're setting tiling to false? if tiling is false, how come the complex members are getting tiled upon expand? Could it be that incremental layout invoked during expand is actually computing a layout for the inside of the complexes and you're overriding these locations by tiling members yourselves?
it's a holiday most of the week here but we'll investigate this issue asap.

@ugurdogrusoz

Yes I know a collapsed node is a simple node.  I was trying compoundPadding because it came up in a search for "padding" in the issue.  You can take a look at all of the pictures that I posted and see for yourself that adding padding to a node produces node overlap.  Whether it is related to collapse-expand I don't know.

I just copied the settings that I found in Newt right here:  https://github.com/iVis-at-Bilkent/newt/blob/1b07c2659be51f6cb50453292faaab3a35fc5889/app/js/app-utilities.js#L10
According to git they are 5 months old.  If they are stale I will ask you again, where can I find the most up to date recommended settings?

I set tile to false a while ago because it was throwing an error that has probably since been fixed.  I just never changed it.  I will say again that setting it to true / false still produces this behaviour.

Run cose-bilkent with the default settings as of 1.6.10.  Still node overlap

After some investigation, I suggest you try the following:

call layout using:
cy.layout({
name: 'cose-bilkent',
paddingCompound: 50,
animationEasing: 'cubic-bezier(0.19, 1, 0.22, 1)',
animationDuration: 1000,
tilingPaddingVertical: 20,
tilingPaddingHorizontal: 20,
}).run();
paddingCompound should be a value no more than the actual padding used for your compartments (if lower values result in no overlaps, feel free to use lower values to save space since this padding applies to complexes as well)
we use default tiling here, which is true. this is crucial for expand-collapse to work properly

set regular node paddings (simple node paddings) to 0 (zero). this is the most important reason you're getting overlaps since the nodes are drawn with the paddings but layout sees them without paddings

make sure you pass cose-bilkent to expand-collapse extension to ensure incremental layout used during expand and collapse operations using cose-bilkent

please let us know when the pathways search app is ready with these configurations so we can test.

Okay.
I have some recommendations too.

I recommend always putting the most up to date recommended settings in the readme.
Until the padding issue is fixed I recommend documenting it as an incompatibility.

I am unable to set padding to 0 for any simple node because padding is required for my stylesheet to work.
What is incremental layout in expand-collapse supposed to do?

Thanks very much.

most up to date recommended settings are in the Readme as defaults. you shouldn't specify an option's value unless you're unhappy with that default. let me know if there is any setting you're unhappy with and perhaps I can recommend a value.

Just curious, what do you use paddings for? maybe we can take padding as an option and consider/respect it as well in cose-bilkent. currently they aren't.

when you expand or collapse a compound node, if layoutBy is not null (should be cose-bilkent in your case), an incremental layout (one that respects current node positions) is applied after the operation so that the map is tidied up during expand/collapse. for instance, during expand, if you don't apply an incremental layout expanding of a complex will often result in expanded larger complex overlapping with neighboring nodes.

Sorry padding wouldn't be an option since it can be set per node. It's already there but not currently considered. It should be considered.

Okay I will defer to the setting values on the readme.
I use padding to place multiple svg images to make nodes look like this:

I believe discussions with Max a few months ago led me to use padding + svg image placement style properties to get this result.  So right now, the nodes in that image consist of a base node shape + multiple svg images set as a style property.
It might be possible to alter this approach to use no padding.  But in my opinion it would be more productive and useful to make the layout compatible with paddings as it is a documented public style property in cytoscape.js.
Is there a particular reason / design decision as to why padding is not considered?  I can't make any promises that I will be able to fix it as I am unfamiliar with the cose-bilkent layout code but I could try to take a look and see if I can come up with something.

It should be rather straightforward for us to consider padding. I guess we never used nor noticed that paddings were there for simple nodes! It's a defficiency of our extension. We should be able to fix it soon.

Okay, thanks for your support Ugur.  I'll try some of those things you suggested with the expand collapse extension.

Some tips

You can use node.layoutDimensions() to get the size of the node: http://js.cytoscape.org/#node.layoutDimensions

This already takes into account padding.
This gives you the option of including labels in the box in the layout options for free.  This is useful where you want big labels to give you more space.

If you have a layout option that should have a value per element, then the option should be a function so custom values can be used, like someVal: ele => node.data('someVal')

Ah it would be useful to add the includeLabelDimensions option to CoSE-Bilkent.  Let me try to use layoutDimensions instead

It would be nice to have, but it depends on whether CoSE needs to use the padding values manually.
If it does need the padding manually, then including the label in the w/h might give weird results. But if it's a small change, it's probably worth trying anyway.  It might work well enough.


Cherry pick font size fix from nordic-rse.org

This fixed an issue with <ul> items having a larger font size on
my browsers that block some sort of javascript thing, or otherwise
limit stuff.

Thanks to @bast in nordic-rse.org (are licenses compatible)?

Review: if anyone can tell if this is correct...

hopefully fixing font-size problem with ul

Licenses: since we are the co-owners of both, I declare that this change can be relicensed for CR :-) Thanks!


Hypertrack Notification and Stop Running Location Sharing

Hi Hypertrack Team
I am using hypertrack sdk in my app for location sharing. I want to know how we can customize notification icon which is show in app notification bar.
I want to also know, suppose if i am sharing my location to other people and when i stop sharing from other user end so how i can know status of running sharing. on the basis of i have to disable/remove notification icon.
Please suggest me solution for this
Thanks
Gaurav

Hey @dgaurav-163

Notification that shows up in the notification bar is completely customizable. Follow this link for customization https://docs.hypertrack.com/sdks/android/troubleshoot.html#customizing-notification-advanced

I didn't understand your second question properly. Can you please tell us in a bit more detail?

Hi Aman Thanks for your respond.
Now I am able to set custom icon and message but it's showing in light gray color. How Can I make it black color or change color?
For Point 2 - Let us suppose I am sharing my location with two users. At the location sharing time I show notification message in notification bar.
My Question is how we can recognise location sharing is running or it's stop from all user end?
(New Points)
Point3 - Can we share location as time based? Suppose I have to share my location for 2 hours.
Thanks
Gaurav

You can't the change background color of notification. But you can set a view to the notification in which you can make do any customization.

As of now, when the app is in the background there is no way to determine that other people have stopped sharing his location. You need to maintain this state on your server and communicate to the app using FCM.

You can set up an alarm to stop sharing location, currently, SDK doesn't have this as an inbuilt feature.

Thanks Aman for your response!


Testing delete function on Collection Event search card

Trying to figure out how to test the delete function - clicking the trash can icon on the Edit search card takes user to the "Add" - so is the instruction to only use the pencil icon for editing which also allows deleting?

Deleting a resource is done by editing a resurce and then using the Manage -> Delete Resource buttons on the top left corner of the screen:


Add triage label

Add 'area: triage' label to unlabelled PRs and issues
Uses https://github.com/marketplace/actions/simple-issue-labeler for simple issue labeling for unlabelled issues and PRs
Fix #3281

Tested in https://github.com/swarajsaaj/jh-lite-sampleapp/issues


Removal of muscle artifacts

Hello,
I have a very simple question, but I just can't find a clear answer for it.
I am exercising to cleanse the muscle signal with the function annotate_muscle_zscore() .
As I understand, the function creates an annotation with which we can then mark the found muscle artifacts as "bad". And then, when we write the annotation to the raw data using the
raw.set_annotations (annot_muscle) function,
these tagged muscle artifact data segments will be automatically deleted when epochs are created. I understand correctly?
I was guided by this fragment (from the description of the function to mne.Annotations)

And what time interval of data will be cut when removing muscle artifacts? I did not really understand this point from the description of the function.:(
Thank you in advance :)

Hello @Mirrabella!

these tagged muscle artifact data segments will be automatically deleted when epochs are created. I understand correctly?

Yes, segments annotated with bad_* will be excluded when creating epochs.

And what time interval of data will be cut when removing muscle artifacts?

I've never worked with this code myself, but after setting the annotations via raw.set_annotations(), you can visually inspect the data via raw.plot(); you will be able to see the annotated segments.

usage questions are generally more appropriate on our forum (https://mne.discourse.group).  If there are any follow-up questions, please post them there.


Link invalid in the Test Installation

Describing the issue

The link https://uwmadison.box.com/v/MetaMorpheusPublic in the tutorial of Test Installation can not be opened.
Reproducing the error

Protein database

Mass spectrometry file types

Settings

Example datafiles

Expected behavior for GUI

Screenshots

Desktop information

prose.txt
Additional context

I am installing MetaMorpheus in my virtual Machine. Because of the invalid link I used my own test data and database, but the input of parameter -t can not be found.

Thanks for reporting this. I don't have a copy of these files. @trishorts @rmillikin @rmmiller22, do you have a copy of it to restore/change this link?

try this: https://uwmadison.box.com/s/woh246eq30vtckxsfbae5pw0ltoznlca

That link works for me. Thanks @trishorts!

I am installing MetaMorpheus in my virtual Machine. Because of the invalid link I used my own test data and database, but the input of parameter -t can not be found.

@yzhou08 Regarding this issue, it looks like your syntax is valid, but the toml file isn't in your current directory, since the error notes the file doesn't exist. Is it located in a subdirectory? Please check that the path pointing to each toml file is valid.

Closing this issue for now; please use the link Michael shared above and double check the location of the file.
Let us know if there is anything more we can help with!

Thanks for the response :) The link works for me as well and I have found an example .toml files in another issue and some more in the new link. So I can change them regarding to my situation.


WIP debug prow mesh expansion test.

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: incfly
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: nmittler
If they are not already assigned, you can assign the PR to them by writing /assign @nmittler in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

tests/OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: incfly
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: utka
If they are not already assigned, you can assign the PR to them by writing /assign @utka in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

prow/OWNERS
tests/OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@incfly: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
5b0c46adce11275e16ce6aa2a172dd0fb333a4c9
link
/test istio-unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@incfly: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
5b0c46adce11275e16ce6aa2a172dd0fb333a4c9
link
/test istio-unit-tests

prow/e2e-bookInfoTests-v1alpha3.sh
5b0c46adce11275e16ce6aa2a172dd0fb333a4c9
link
/test e2e-bookInfoTests-envoyv2-v1alpha3

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@incfly: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
5b0c46adce11275e16ce6aa2a172dd0fb333a4c9
link
/test istio-unit-tests

prow/e2e-bookInfoTests-v1alpha3.sh
5b0c46adce11275e16ce6aa2a172dd0fb333a4c9
link
/test e2e-bookInfoTests-envoyv2-v1alpha3

prow/istio-pilot-multicluster-e2e.sh
5b0c46adce11275e16ce6aa2a172dd0fb333a4c9
link
/test istio-pilot-multicluster-e2e

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@incfly: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
5b0c46adce11275e16ce6aa2a172dd0fb333a4c9
link
/test istio-unit-tests

prow/e2e-bookInfoTests-v1alpha3.sh
5b0c46adce11275e16ce6aa2a172dd0fb333a4c9
link
/test e2e-bookInfoTests-envoyv2-v1alpha3

prow/istio-pilot-multicluster-e2e.sh
5b0c46adce11275e16ce6aa2a172dd0fb333a4c9
link
/test istio-pilot-multicluster-e2e

prow/istio-integ-k8s-tests.sh
5b0c46adce11275e16ce6aa2a172dd0fb333a4c9
link
/test istio-integ-k8s-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

Closing.

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: incfly
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: linsun
If they are not already assigned, you can assign the PR to them by writing /assign @linsun in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS
prow/OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@incfly: PR needs rebase.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: incfly
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: linsun
If they are not already assigned, you can assign the PR to them by writing /assign @linsun in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS
prow/OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@incfly: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-bookInfoTests-v1alpha3.sh
5b0c46adce11275e16ce6aa2a172dd0fb333a4c9
link
/test e2e-bookInfoTests-envoyv2-v1alpha3

prow/istio-pilot-multicluster-e2e.sh
5b0c46adce11275e16ce6aa2a172dd0fb333a4c9
link
/test istio-pilot-multicluster-e2e

prow/istio-integ-k8s-tests.sh
5b0c46adce11275e16ce6aa2a172dd0fb333a4c9
link
/test istio-integ-k8s-tests

prow/istio-unit-tests.sh
807dead6674cf0e0e6a88ae9825f9a8d8b6ca803
link
/test istio-unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@incfly: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-bookInfoTests-v1alpha3.sh
5b0c46adce11275e16ce6aa2a172dd0fb333a4c9
link
/test e2e-bookInfoTests-envoyv2-v1alpha3

prow/istio-pilot-multicluster-e2e.sh
5b0c46adce11275e16ce6aa2a172dd0fb333a4c9
link
/test istio-pilot-multicluster-e2e

prow/istio-integ-k8s-tests.sh
5b0c46adce11275e16ce6aa2a172dd0fb333a4c9
link
/test istio-integ-k8s-tests

prow/istio-unit-tests.sh
807dead6674cf0e0e6a88ae9825f9a8d8b6ca803
link
/test istio-unit-tests

prow/istio-integ-local-tests.sh
807dead6674cf0e0e6a88ae9825f9a8d8b6ca803
link
/test istio-integ-local-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@incfly: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-bookInfoTests-v1alpha3.sh
5b0c46adce11275e16ce6aa2a172dd0fb333a4c9
link
/test e2e-bookInfoTests-envoyv2-v1alpha3

prow/istio-pilot-multicluster-e2e.sh
5b0c46adce11275e16ce6aa2a172dd0fb333a4c9
link
/test istio-pilot-multicluster-e2e

prow/istio-integ-k8s-tests.sh
5b0c46adce11275e16ce6aa2a172dd0fb333a4c9
link
/test istio-integ-k8s-tests

prow/istio-unit-tests.sh
807dead6674cf0e0e6a88ae9825f9a8d8b6ca803
link
/test istio-unit-tests

prow/istio-integ-local-tests.sh
807dead6674cf0e0e6a88ae9825f9a8d8b6ca803
link
/test istio-integ-local-tests

prow/istio-presubmit.sh
807dead6674cf0e0e6a88ae9825f9a8d8b6ca803
link
/test istio-presubmit

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@incfly: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-bookInfoTests-v1alpha3.sh
5b0c46adce11275e16ce6aa2a172dd0fb333a4c9
link
/test e2e-bookInfoTests-envoyv2-v1alpha3

prow/istio-pilot-multicluster-e2e.sh
5b0c46adce11275e16ce6aa2a172dd0fb333a4c9
link
/test istio-pilot-multicluster-e2e

prow/istio-integ-k8s-tests.sh
5b0c46adce11275e16ce6aa2a172dd0fb333a4c9
link
/test istio-integ-k8s-tests

prow/istio-integ-local-tests.sh
807dead6674cf0e0e6a88ae9825f9a8d8b6ca803
link
/test istio-integ-local-tests

prow/istio-presubmit.sh
807dead6674cf0e0e6a88ae9825f9a8d8b6ca803
link
/test istio-presubmit

prow/istio-unit-tests.sh
022cb8dc4e46a335bca42b2d209ce33261de6bec
link
/test istio-unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@incfly: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-bookInfoTests-v1alpha3.sh
5b0c46adce11275e16ce6aa2a172dd0fb333a4c9
link
/test e2e-bookInfoTests-envoyv2-v1alpha3

prow/istio-pilot-multicluster-e2e.sh
5b0c46adce11275e16ce6aa2a172dd0fb333a4c9
link
/test istio-pilot-multicluster-e2e

prow/istio-integ-k8s-tests.sh
5b0c46adce11275e16ce6aa2a172dd0fb333a4c9
link
/test istio-integ-k8s-tests

prow/istio-presubmit.sh
807dead6674cf0e0e6a88ae9825f9a8d8b6ca803
link
/test istio-presubmit

prow/istio-unit-tests.sh
022cb8dc4e46a335bca42b2d209ce33261de6bec
link
/test istio-unit-tests

prow/istio-integ-local-tests.sh
022cb8dc4e46a335bca42b2d209ce33261de6bec
link
/test istio-integ-local-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@incfly: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-bookInfoTests-v1alpha3.sh
5b0c46adce11275e16ce6aa2a172dd0fb333a4c9
link
/test e2e-bookInfoTests-envoyv2-v1alpha3

prow/istio-pilot-multicluster-e2e.sh
5b0c46adce11275e16ce6aa2a172dd0fb333a4c9
link
/test istio-pilot-multicluster-e2e

prow/istio-integ-k8s-tests.sh
5b0c46adce11275e16ce6aa2a172dd0fb333a4c9
link
/test istio-integ-k8s-tests

prow/istio-unit-tests.sh
022cb8dc4e46a335bca42b2d209ce33261de6bec
link
/test istio-unit-tests

prow/istio-integ-local-tests.sh
022cb8dc4e46a335bca42b2d209ce33261de6bec
link
/test istio-integ-local-tests

prow/istio-presubmit.sh
022cb8dc4e46a335bca42b2d209ce33261de6bec
link
/test istio-presubmit

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@incfly: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-bookInfoTests-v1alpha3.sh
5b0c46adce11275e16ce6aa2a172dd0fb333a4c9
link
/test e2e-bookInfoTests-envoyv2-v1alpha3

prow/istio-integ-k8s-tests.sh
5b0c46adce11275e16ce6aa2a172dd0fb333a4c9
link
/test istio-integ-k8s-tests

prow/istio-pilot-multicluster-e2e.sh
d214505be71307506c1f6c141ae4f5e351e332c1
link
/test istio-pilot-multicluster-e2e

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@incfly: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-integ-k8s-tests.sh
5b0c46adce11275e16ce6aa2a172dd0fb333a4c9
link
/test istio-integ-k8s-tests

prow/istio-pilot-multicluster-e2e.sh
d214505be71307506c1f6c141ae4f5e351e332c1
link
/test istio-pilot-multicluster-e2e

prow/e2e-bookInfoTests-v1alpha3.sh
d214505be71307506c1f6c141ae4f5e351e332c1
link
/test e2e-bookInfoTests-envoyv2-v1alpha3

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@incfly: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-multicluster-e2e.sh
d214505be71307506c1f6c141ae4f5e351e332c1
link
/test istio-pilot-multicluster-e2e

prow/e2e-bookInfoTests-v1alpha3.sh
d214505be71307506c1f6c141ae4f5e351e332c1
link
/test e2e-bookInfoTests-envoyv2-v1alpha3

prow/istio-integ-k8s-tests.sh
d214505be71307506c1f6c141ae4f5e351e332c1
link
/test istio-integ-k8s-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@incfly: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-multicluster-e2e.sh
d214505be71307506c1f6c141ae4f5e351e332c1
link
/test istio-pilot-multicluster-e2e

prow/istio-integ-k8s-tests.sh
d214505be71307506c1f6c141ae4f5e351e332c1
link
/test istio-integ-k8s-tests

prow/e2e-bookInfoTests-v1alpha3.sh
d214505be71307506c1f6c141ae4f5e351e332c1
link
/test e2e-bookInfoTests-envoyv2-v1alpha3

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@incfly: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-bookInfoTests-v1alpha3.sh
d214505be71307506c1f6c141ae4f5e351e332c1
link
/test e2e-bookInfoTests-envoyv2-v1alpha3

prow/istio-integ-k8s-tests.sh
a28407485b2a9d9f49e8112d1ee0e034a71b959f
link
/test istio-integ-k8s-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

We can now close the PR since we understand where the failure is. We should not use root to do gcloud compute ssh to the GCE instance, which is disallowed. Using user Prow will work.


Revert "Taker checks balance before taking an offer"

Reverts itchysats/itchysats#2129

Unfortunately this can have very weird side effects on the taker side.
I am not totally sure why we run into the problems, but it seems that the way GetBalance is implemented does not pick up the balance from mempool. (This is my guess based on the behaviour we saw...)
This can result to a balance being displayed in the UI, but when opening a position we get an Insufficient funds error in the UI.
This can likely be solved, but for now it's easier to revert this to have more stable master.

Things we may want to look into:

Ah, what a shame! At least we tried.

I'm planning to give this another go. I think our wallet is not acting sane. But that requires some more investigation

bors r+


version of Keras and Tensorflow

What version of Keras and Tensorflow did you use? Tensorflow=2.10 is mentioned in the environment file, but Keras is not.
With Keras 3 you have to save the model as .keras file instead as .h5, but doing so raises errors in loading the model later on. "Layer 'dense' was never built and thus it doesn't have any variables. However the weights file lists 2 variables for this layer.
In most cases, this error indicates that either:

The layer is owned by a parent layer that implements a build() method, but calling the parent's build() method did NOT create the state of the child layer 'dense'. A build() method must create ALL state for the layer, including the state of any children layers.

You need to implement the def build_from_config(self, config) method on layer 'dense', to specify how to rebuild it during loading. In this case, you might also want to implement the method that generates the build config at saving time, def get_build_config(self). The method build_from_config() is meant to create the state of the layer (i.e. its variables) upon deserialization."

Probably the code was written using an older version of Keras, is that right? And what version should I use to avoid this error?

Yes that's correct the code was written using Keras v2.10. In order to load the model, you have to specify the custom_objects as is done here.
For example:
from keras.models import load_model as load_keras_model
from nfp import (EdgeUpdate, GlobalUpdate, NodeUpdate,
                 masked_mean_absolute_error)

custom_objects_dict = {
    "GlobalUpdate": GlobalUpdate,
    "EdgeUpdate": EdgeUpdate,
    "NodeUpdate": NodeUpdate,
    "masked_mean_absolute_error": masked_mean_absolute_error,
}
model_fname = "example.h5"
model = load_keras_model(model_fname, custom_objects=custom_objects_dict)

I'll make a note to implement the build_from_config() for Keras 3 (pull requests also welcome :) ).

I've installed the aformementioned versions and now it works :-)


Cypress v12.8.1 - Remade all Cypress test for visualizations charts

Description
[Describe what this change achieves]
Removed Cypress testing for visuals we don't have.
Created Cypress testing for all existing visualization options in explorer.

Issues Resolved
[List any issues this PR will resolve]
Check List

[ ] New functionality includes testing.

[ ] All tests pass, including unit test, integration test and doctest

[ ] New functionality has been documented.

[ ] New functionality has javadoc added
[ ] New functionality has user manual doc added

[ ] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.


fix: router typegen variable naming

Fixes #924

I'm getting 404s with this... something must be off with generated createPage calls. Updated PR to draft while I look into it.

This PR works fine on my cloudflare project... looking into the 404s in my aws lambda project... might be unrelated.

OK. My 404 on AWS was due to test code I had for the unstable_honoEnhancer config feature. I just didn't see that before because of this fs router bug. I think this PR is good to merge.
I'm having a lot of trouble testing the latest main due trouble linking the @swc/core dependency. It would be helpful to get a beta build of waku on npm. Thank you!

@rmarscher Can you summarize what path issues in specific you were seeing as wrong and what the key changes were?
From looking at the code changed, it looks like just most of the code for the file path collection was changed. I'm not opposed to changing it at all, but it's hard to see what the precise bug and solution is for what you were seeing.
Also, filePaths was a poorly named variable. From looking back at the code, it is supposed to be /${fileNameWithExtension} in it's current form. Changing to just .endsWith is then a bit of a hack to solve for file names that are potentially incorrect to start.
Referring back to your log of filePaths in the reported issue though, those look correct I think, so i think pagesDir was actually the variable that was not correctly collected for you. I am open to some of the refactoring you did here, but I think it would be better to fix the pagesDir not getting set in response to your issue, then follow up with more changes after if we want.
apologies for this being so long 😅

OK. I'll create a reproduction.

There are two main issues that this PR addresses:

the paths are not the full relative path from the pagesDir. They are just the file name. I think you have to use path or parentPath depending on the node version - https://nodejs.org/docs/latest-v20.x/api/fs.html#direntparentpath. Since the recursive option doesn't seem very stable, I updated to a recursive function that builds the relative path as it walks the pagesDir.
multiple characters in a path that are not valid for javascript variable names are not replaced. you are only doing .replace which only replaces the first match. I updated to a global regex that will replace all.

Reproducing is pretty easy. Delete the entries.tsx and main.tsx from examples/10_fs-route and run waku dev.
For me, that causes this error:
Error: ENOENT: no such file or directory, open '/waku/examples/25_auto-fs-router/src/pages/[name].tsx'
    at Object.openSync (node:fs:562:18)
    at readFileSync (node:fs:446:35)
    at fileExportsGetConfig (file:///waku/packages/waku/dist/lib/plugins/vite-plugin-fs-router-typegen.js:68:30)
    at generateFile (file:///waku/packages/waku/dist/lib/plugins/vite-plugin-fs-router-typegen.js:76:42)
    at updateGeneratedFile (file:///waku/packages/waku/dist/lib/plugins/vite-plugin-fs-router-typegen.js:127:51) {
  errno: -2,
  code: 'ENOENT',
  syscall: 'open',
  path: '/waku/examples/25_auto-fs-router/src/pages/[name].tsx'
}

I added some debug statements to updateGeneratedFile:
      const updateGeneratedFile = async () => {
        if (!pagesDir || !outputFile) return;
        const files = await collectFiles(pagesDir);
        console.log('collected files', files);
        const formatted = await formatter(generateFile(files));
        console.log('entries.gen.tsx', formatted);
        await writeFile(outputFile, formatted, 'utf-8');
      };

which outputs:
collected files [
  '/_layout.tsx',
  '/bar.tsx',
  '/index.tsx',
  '/[name].tsx',
  '/index.tsx'
]

before the error.
The error happens when calling const hasGetConfig = fileExportsGetConfig(filePath); with a filePath that doesn't exist.
I can temporarily get past the error by changing that line to const hasGetConfig = false;
Here is the entries.gen.tsx that it's trying to make:
import { createPages } from 'waku';
import type { PathsForPages } from 'waku/router';

import _Layout from './pages/_layout';
import Bar from './pages/bar';
import Index from './pages/index';
import SlugName from './pages/[name]';
import Index from './pages/index';

const _pages = createPages(async (pagesFns) => [
  pagesFns.createLayout({ path: '/', component: _Layout, render: 'static' }),
  pagesFns.createPage({ path: '/bar', component: Bar, render: 'dynamic' }),
  pagesFns.createPage({ path: '/', component: Index, render: 'dynamic' }),
  pagesFns.createPage({
    path: '/[name]',
    component: SlugName,
    render: 'dynamic',
  }),
  pagesFns.createPage({ path: '/', component: Index, render: 'dynamic' }),
]);

declare module 'waku/router' {
  interface RouteConfig {
    paths: PathsForPages<typeof _pages>;
  }
}

export default _pages;

If you rename src/pages/bar.tsx to src/pages/bar-one-two.tsx, then you will see the generated variable names can be invalid too. I get an error like this when running waku dev:
SyntaxError: '=' expected. (5:15)
  3 |
  4 | import _Layout from './pages/_layout';
> 5 | import Bar_one-two from './pages/bar-one-two';
    |               ^
  6 | import Index from './pages/index';
  7 | import SlugName from './pages/[name]';
  8 | import Index from './pages/index';
    at Q4 (file:///Users/robmarscher/Code/open-source/waku/node_modules/.pnpm/prettier@3.3.3/node_modules/prettier/plugins/typescript.mjs:17:76108)

I think it hits that error running the formatter before it saves the entries.gen.tsx.
When using the code from this PR, all is good. It looks like this:
import Layout from './pages/_layout';
import Baronetwo from './pages/bar-one-two';
import FootestIndex from './pages/foo-test/index';
import Index from './pages/index';
import NestedName from './pages/nested/[name]';

I guess technically someone could still do something to mess it up. A file named route-one.tsx and another named routeone.tsx would collide. If we replaced - with _ instead of empty string, then route-one.tsx and route_one.tsx would collide. There are probably various other things that could break it that hopefully no one would have a reason to do in practice. And if someone has that use case, then they can just make their own custom entries file.

Unit tests for some of these vite-plugin-fs-router-typegen.ts functions might be useful.

Also, filePaths was a poorly named variable. From looking back at the code, it is supposed to be /${fileNameWithExtension} in it's current form. Changing to just .endsWith is then a bit of a hack to solve for file names that are potentially incorrect to start.
Referring back to your log of filePaths in the reported issue though, those look correct I think

That doesn't make sense to me. I might be missing something. Going off the 10 fs router example, create a pages/foo/_layout.tsx file and create a pages/foo/two-levels/index.tsx file. For me, that creates an entries.gen.tsx with the following imports:
import _Layout from './pages/_layout';
import Bar from './pages/bar';
import Index from './pages/index';
import SlugName from './pages/[name]';
import _Layout from './pages/_layout';
import Index from './pages/index';
import Index from './pages/index';

Several of those paths two not resolve and there are duplicate names. After the changes in this PR, those become:
import Layout from './pages/_layout';
import Bar from './pages/bar';
import FooLayout from './pages/foo/_layout';
import FooIndex from './pages/foo/index';
import FooTwolevelsIndex from './pages/foo/two-levels/index';
import Index from './pages/index';
import NestedName from './pages/nested/[name]';

import Layout from './pages/_layout';
import Bar from './pages/bar';
import FooLayout from './pages/foo/_layout';
import FooIndex from './pages/foo/index';
import FooTwolevelsIndex from './pages/foo/two-levels/index';
import Index from './pages/index';
import NestedName from './pages/nested/[name]';

This is what I initially was aiming for, so thanks for the fix.

Unit tests for some of these vite-plugin-fs-router-typegen.ts functions might be useful.

agreed, would you mind adding some given that you've run into a few of the things we should test for here?

Unit tests for some of these vite-plugin-fs-router-typegen.ts functions might be useful.

agreed, would you mind adding some given that you've run into a few of the things we should test for here?

We could create a fixture for an e2e test with various pages and layout paths and names to test.

Unit tests for some of these vite-plugin-fs-router-typegen.ts functions might be useful.

I'm not following all the details, but it feels like unit tests are more appropriate than e2e tests. I mean unit tests for more coverage and e2e tests for some typical use cases would be good.

Unit tests for some of these vite-plugin-fs-router-typegen.ts functions might be useful.

I'm not following all the details, but it feels like unit tests are more appropriate than e2e tests. I mean unit tests for more coverage and e2e tests for some typical use cases would be good.
General idea: e2e tests are very good and necessary to tests React/RSC framework capabilities, but having more e2e tests slows down our CI, which results in bad DX. So, we prefer unit tests if possible and we are adding more (but not enough) unit tests lately.

Great. That sounds good.
I think there are two issues - needing to use the relative fs route path when creating a list of entries and needing to convert that path into a valid javascript identifier to use as a variable name in the generated file. Tests for those two functions would be helpful. I will add vitest tests.
I think there are two issues - needing to use the relative fs route path when creating a list of entries and needing to convert that path into a valid javascript identifier to use as a variable name in the generated file.

OK @tylersayshi and @dai-shi. I think I have resolved the feedback from the code reviews. Let me know if there is anything else needed to merge it.

OK @tylersayshi and @dai-shi. I think I have resolved the feedback from the code reviews. Let me know if there is anything else needed to merge it.

looks like the CI tests broke with the changes and are generating undefined as the "identifier"

@rmarscher wanna make sure you saw this: https://github.com/dai-shi/waku/pull/925#issuecomment-2387546502
It would probably be good to add a check for undefined in the unit tests for the identifiers as well

@rmarscher wanna make sure you saw this: #925 (comment)
It would probably be good to add a check for undefined in the unit tests for the identifiers as well

I'm almost there with a new test that can catch this issue.

Looks great to me! thanks again :)

Thanks team!! 🙌  🙌


Nissan Leaf Integration (Carwings / NissanConnect EV)

Description:
Adds support for monitoring and controlling the Nissan Leaf remote control platform.
Currently introduces two switches (climate control and charging, charging can only be turned on as per the API limitation), 3 sensors (battery charge and range with and without AC on), a binary sensor for if the car is currently plugged in, device tracker for the car location (if the car is capable).
I'm based in the UK with a 2016 30kWh leaf so assistance from others is very useful.
Example entry for configuration.yaml:
nissan_leaf:
  username: "username"
  password: "password"
  region: 'NE'     # Indicates Europe, must be changed for other regions
  nissan_connect: true  # Set to false for early Leafs 24kWh that don't report location
  update_interval:
    hours: 1
  update_interval_charging:
    minutes: 15
  update_interval_climate:
    minutes: 5
  force_miles: true

Checklist:

[X] The code change is tested and works locally.
[ ] Local tests pass with tox. Your PR cannot be merged unless tests pass
[x] There is no commented out code in this PR.

If user exposed functionality or configuration variables are added/changed:

[x] Documentation added/updated in home-assistant.io

If the code communicates with devices, web services, or third-party tools:

[X] New dependencies have been added to the REQUIREMENTS variable (example).
[X] New dependencies are only imported inside functions that use them (example).
[X] New or updated dependencies have been added to requirements_all.txt by running script/gen_requirements_all.py.
[X] New files were added to .coveragerc.

If the code does not interact with devices:

[ ] Tests have been added to verify that the new code works.

https://github.com/home-assistant/home-assistant.io/pull/8073

Hi @dgomes,

You should have a look at #19948 and make the proper changes.

I think I've made the changes necessary to meet #19948 in commit https://github.com/filcole/home-assistant/commit/676c9ef2c483d4ad3d18c42a6e6220d7b2ff6325

Release 0.88 or 0.89?

Thank you so much @filcole !!!!

@klaasnicolaas This has been marked for 0.88.

No, this will go out in 0.89.

Please open a new PR where we can address the comments.
Generally I think there is too much logging and the update logic seems complicated.
Consider use of async vs sync api. Don't do I/O in event loop.
I'm looking forward to the next PR.

@MartinHjelmare  Thank you for the review, and also to @fabaff  and @dgomes. I will submit another pull request when I've tried to address the issues raised.  I hope you don't mind if I comment against the conversation points raised as I'm attempting to resolve them.

When you say too much logging, do you mean logging using info or in general?
Part of the reason for so much logging is that Nissan break their API on a semi-regular basis, and sometimes only for certain people (like how they only broke battery charge for older cars that report in bars). They have basically no sense of DevOps for API versioning/maintenance so the logging is needed at least on trace to debug issues that only occur for certain people.

Both. Generally we don't want to log on info level in components. If it's not a warning or error, we should use debug.
There some more places where the debug logs only seem to be used to verify our own logic. That's not how we should use logging. If we need to verify our own logic, we should use tests.
It's ok to log the result of an api but we should probably not log that we called the api, and definitely not log internal component variable changes. Sounds good?

For more discussion I would prefer to have that in the new PR. It's ok to open that before it's completely ready.


[6.5.x] RHBPMS-4553 - jBPM process designer is not using the language chosen …

…in workbench settings

@hasys @manstis Hi guys, with @jlindop out for a while I need help to review this PR. Thanks!

@tsurdilo @triceo https://issues.jboss.org/browse/RHBPMS-4553 needs QE ACK+ before this can be merged.

@manstis i think we are good not on acks in  https://issues.jboss.org/browse/RHBPMS-4553


Remove jshint/jscsrc leftovers

Remove config files and jshint switches in
the sources.

What's up with this?

We should merge this, I would say. :)

yup


Error on Godot 2.1.2-stable

Hi,
I've tried to install in Godot 2.1.2-stable but when I change to "active" status, they throw me an error:
Unable to load addon script from path: 'res://addons/./Plugin.gd' Base Type is not EditorPlugin.
What could be wrong?

Check if addon files are not added right into addons dir instead of enclosing everything in add_primitives

├── addons
│   └── add_primitives
│       ├── LICENSE.md
│       ├── plugin.cfg
│       ├── Plugin.gd
│       ├── README.md
│       └── src

Thanks @stawek, it's exactly what happened, the files are ind addons root instead of add_primitives subfolder.


Fixes #1296: limit the frequency of legacy TCP window updates

@kgiusti I am guessing you tested this with flimflam with many tcp senders and saw somewhat slight improvement in performance, or at least no drop in performance ?

@kgiusti I am guessing you tested this with flimflam with many tcp senders and saw somewhat slight improvement in performance, or at least no drop in performance ? Other this PR LGTM.

@ganeshmurthy Yes I used flimflam with iperf3 and two flows. In that case there was an increase in throughput and decrease in CPU utilization on the egress node: on my laptop throughput baseline was 16Gb/sec (best case) and increased to 19Gb/sec (best case). On the egress router total CPU utilization decreased from 191% to 171% (with --cpu-limit=3).
The decrease in window updates did not appear to affect the window close counts - they remained roughly the same between baseline and this patch.