nextText and previousText don't allow elements

Instead of the simple text "Next", Griddle used to have "Next >" by using Next <i class='glyphicon glyphicon-chevron-right'></i>.  Using the nextText and previousText variables, I am not able to include elements, and I don't think it is possible with CSS.   Is the expected way of accomplishing this to use customPagerComponent as described here: http://dynamictyped.github.io/Griddle/customization.html#custom-paging-component

I just saw there is a nextIconComponent but this is not working for me.  Looking into it.

Got it working, had been declaring my component using React.createClass like you do for a Loading component, but instead needed to use var NextArrow = React.createElement("i", {className: "glyphicon glyphicon-chevron-right"}, null);
I'll leave this open as you might want to give this example in the docs.

Closing this for now -- we're taking another big pass at the docs soon.


Change default branch name

Given that this project is being developed in public domain.
Change the default branch from:
master
To:
main
Steps to implement have been documented at https://www.hanselman.com/blog/EasilyRenameYourGitDefaultBranchFromMasterToMain.aspx

Done.


Issue: Pause Timer Functionality Not Implemented

Description
The pause timer functionality in Ticker is currently not working because it has not yet been implemented. This feature is essential for users to pause and resume the stopwatch without resetting the current time.
Steps to Reproduce

Start the stopwatch.
Attempt to pause the timer using the designated pause button.
Observe that the stopwatch pauses.
But the timer doesn remains running on page reload as if it was never paused

Expected Behavior
When the user presses the pause button, the timer should stop incrementing across devices and page reloads until it is resumed.
Actual Behavior
The stopwatch continues running in the backend even when the pause button is pressed, even though the incrementing stops in the client side.
Proposed Solution
Implement the logic to pause the stopwatch at its current time.
Ensure the timer can be resumed from the same point when unpaused.
Update the UI to reflect the paused state (e.g., change button text to "Resume").
Priority
High — This is a core feature of the stopwatch functionality.
Environment
Version: v0.03
Platform: Web

@AbhishekNavgan95 the issue description has been updated accordingly. Let me know when you have any update on this.


feat(ValidationControllerFactory): add Validator parameter to createForCurrentScope

feat(ValidationControllerFactory): add Validator parameter to createForCurrentScope
It is not currently possible to provide a Validater to a specific
instance of ValidationController, at least, not without using injection.
ValidationControllerFactory.createForCurrentScope has been provided to enable
us to instantiate ValidationController without the use of injection, but
provides no means of supplying a Validator for the controller instance.
I have a use case where the ValidationController needs to be
instantiated without the use of injection because the code is in a base
class where, due to javascript/typescript limitations, injection cannot
be used.
Note: I'm not altering the documentation because it ties into:

documentation about configuring the plugin, which I believe is
missing altogether
other means of assigning a Validator to a controller (through
injection) that I understand are being added but may yet have been
documented.

Thus I think someone with more broad knowledge of all of this should
undertake the task of documenting the whole thing together.

@dkent600 - thanks for the PR. Would you mind setting up your scenario in the aurelia gist? I'd like to get a better understanding of the use-case.
https://gist.run/?id=7542e061bc940cde506b

@jdanyow The gist doesn't seem to be able to import aurelia-validation, or I'm missing something (I've got very little experiences with gists).
I created this, but it doesn't compile:  https://gist.run/?id=97fd42a19550349695945a5253075ec6
In my own application I haven't yet gotten to the point of needing this use case.  It is still possible, but hasn't happened yet -- I'm still in the middle of developing the validation development and figuring out exactly how all the parts of aurelia-validation are going to fit in.

@jdanyow FYI I just updated the gist to use a custom validator, which is a key to the use case....

@jdanyow atm on can only set a CustomValidator officially with AureliaValidationConfiguration.customValidator(aValidatorClass) globally. The use case is that one might want to use a re-usuable json-schema-validator for some some forms only. the proposed PR would easily enable setting a CustomValidator on a Controller-basis

@doktordir, forgive me for not being that clear in my PR.  That is exactly the use case that I have in my own application.  For now I've worked-around it by not actually using a Validator, rather hacking something else in.  But with this PR I'd be able to use a custom validator that fits cleanly into the architecture of the aurelia-validation plugin.
@jdanyow

Thanks for the additional details guys. @dkent600, can you sign the CLA if you haven't already and resolve the item mentioned in the review ^^^, then I'll get this merged.

I have alrady signed the CLA

OK I committed the requested changes.  Please look at the additional change I had to make to the constructor for ValidationController.

Shoot- I'm going to have to roll this back. The constructor change is invalid. Why was that added?

@dkent600 indeed. the 'old' constructor should work just fine with the ControllerFactory change

@dkent609 ps: don.t worry too much. such things happen. just make another PR with the reverted constroller.
ps: if there isn't it.does add a test
  it('createForCurrentScopeWithStandardValidator', () => {
     const container = new Container();
     const childContainer = container.createChild();

     const factory = childContainer.get(ValidationControllerFactory);
  const validator = childContainer.get(Validator);

     const controller = factory.createForCurrentScope();

     expect(controller.validator).toBe(validator);
   });

@dkent600 - would you mind making the changes @doktordirk mentioned ^^^
thanks!

The constructor change was added because the injection was overriding the the value that was being passed in to the factory.
If there was an invalid change in behavior, should it have been caught by the prior existing test?
I noticed that there was in fact a change in behavior.  I should have pointed this out already.  When the prior test ran it was resulting in the injection of "Validator", which is an abstract class and seems to me to be wrong.  Now it injects a Standard validator, which seems to me to be correct.  But I'm a newbie at this...

That's why I asked for the test change- I suspected it might not have been really overriding the default but it would have been impossible to tell while using the Validator registration key.
I've opened https://github.com/aurelia/validation/issues/347 and will take a look in the next day or two.

I accidentally rolled-back the entire previous commit.  It was an accident (didn't expect the github desktop application to commit the "revert" without asking me first).  But I think those changes need to be rethought anyway, in consideration of my observations above.

@jdanyow OK, I summarrized the issues, as I see them, in #347.


Best practices for partial async implementation in DRF

I have currently a Django API project built with DRF.
I would like to use async for some endpoints to optimize long API calls.
What are the best practices in terms of performance ?
I suppose that I have to change my server for Uvicorn ?
Will the normal sync views still work correctly ?
Thanks.

Basically, the asynchronous framework is practical if

Most of your APIs are IO-bounded
You want to improve the total throughput (ex. RPS) of your server

In this case, you can improve the performance using asyncio, unicorn, and so on.

However, I think you want to optimize a single slow endpoint.
In this case, you need to find WHAT makes your API slow. before you optimize a slow API.
(1) If your slow API consists of CPU-intensive tasks, the asyncio can't help you
You need to optimize your source code. Or, you can separate your task into several sub-tasks and run these in parallel using multi-thread
(2) If your API is slow because of a single slow I/O task, the asyncio can't help you
You should optimize your I/O task (ex. Optimize your query)
(2) If your slow API consists of several I/O tasks, the asyncio can help you
Let me assume your slow API likes below.
def io_task_1():
    db.query("SELECT ...") # Takes 1 second

def io_task_2():
    db.query("SELECT ...") # Takes 2 second

def slow_api():
    io_task_1()
    io_task_2()
    # Takes 3 second

You can make your I/O tasks into asynchronous tasks.
However, it's insufficient because io_task_2() is still waiting for the end of io_task_1().
async def io_task_1():
    await db.async_query("SELECT ...")  # Takes 1 second

async def io_task_2():
    await db.async_query("SELECT ...")  # Takes 2 second

async def slow_api():
    await io_task_1()
    await io_task_2()
    # Takes 3 second

So, you can makes your I/O tasks runs concurrently using asyncio.gather()
async def io_task_1():
    await db.async_query("SELECT ...")  # Takes 1 second

async def io_task_2():
    await db.async_query("SELECT ...")  # Takes 2 second

async def slow_api():
    await asyncio.gather(io_task_1(), io_task_2())
    # Takes 2 second

Thanks for your answer.
For my case my API consists of several slow I/O tasks,but it's more like each user make one long external API call, so I can't combine them manually using asyncio.gather() directly.
But asyncio can still help improving performances for several users with a blocking I/O, right ? Or I misunderstood it.

Thanks for your answer.
For my case my API consists of several slow I/O tasks,but it's more like each user make one long external API call, so I can't combine them manually using asyncio.gather() directly.
But asyncio can still help improving performances for several users with a blocking I/O, right ? Or I misunderstood it.

In this case, you can improve the throughput of your API server under the same CPU resources if you apply async frameworks (ex. uvicorn + async view) because your APIs are I/O bound.

You would process more requests compared with multi-threading ways. (ex. uwsgi, gunicon-gthread, ...)
Note that high throughput != low response time

However, you can't reduce the response time for each slow API. You need to optimize your slow I/O task.

 Some python packages provide these features.

aiohttp, aioboto3, aiomysql, ...

After updating your I/O code blocks asynchronously, It will be required to define the API views using the async function. Django 4.1 supports this.

However, DRF doesn't support this yet.
So, you can use this package if you want to define async views in DRF.

Finally, you need to run your server behind the asgi server (ex. uvicorn) to handle requests asynchronously.


The time required for alert resolve should be customizable

Maybe we should provide a parameter that can be used to set how long the alarm is considered to be recovered?
We now have a parameter for, to set how long the alert will be firing. I think parameters like this are also necessary for resolve.
In my use, i often see some alert between firing->resolved->firing. I think that alerts should be resolved when they were evaluated as ok multiple times during a customizable period.

i agree

This has been proposed and discussed many times before, such as in #4681, and this is not a feature that is planned to be added. Closing as a dupe of #4681.


WIP: Base types

This is the foundation of https://github.com/bskinn/stdio-mgr/pull/64 , without any features in it, as the same foundation is also needed for https://github.com/bskinn/stdio-mgr/issues/75
Also it partially resolves the question of whether to requires the previous streams are TextIOBase or not, essentially deciding that we need to accept that the code needs to allow for pooly implemented fake streams.
It will fail coverage in small places.

Codecov Report

Merging #76 into master will decrease coverage by 3.54%.
The diff coverage is 92.53%.

@@            Coverage Diff             @@
##           master      #76      +/-   ##
==========================================
- Coverage     100%   96.45%   -3.55%
==========================================
  Files           3        4       +1
  Lines         101      141      +40
==========================================
+ Hits          101      136      +35
- Misses          0        5       +5

Impacted Files
Coverage Δ

src/stdio_mgr/stdio_mgr.py
100% <100%> (ø)
:arrow_up:

src/stdio_mgr/types.py
91.93% <91.93%> (ø)

Continue to review full report at Codecov.

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

I definitely like the use of inheritance to segregate/atomize the different units of functionality.
But, the scope of the different pieces of functionality is such that I'm having a hard time keeping track of it when just looking at the source file.
I feel like we should curate a diagrammatical inheritance tree of all this.  Or, maybe there's already a tool out there that could autogenerate one into the docs??? (Would have to finish standing things up on the RTD side, in #35, so that we'd always have the most recent version available.)

I was actually thinking about going to multiple source files.
It looks like this PR encompasses both the refactor to the new types.py, and perhaps also some changes?
If so, could you split this into two PRs, one for the refactor and one for the changes?

The second of the three commits (https://github.com/bskinn/stdio-mgr/pull/76/commits/1b6da37) includes a fix, but it is a fix for a bug that doesnt really exist yet, because stdio-mgr doesnt try to use the pre-existing streams yet.  However it is a fix I need for nearly all paths forward.  I'm happy to move it out to another commit as part of getting this one ready for merging.
The first and third commits should have no functional changes.

Please go ahead and rebase this onto master, if you don't think attempting a subsequent rebase of reconf (#78) will foul it.
It should make it a lot easier to put something together to "auto-update" the RTD inheritance diagram.

I think we can use doctests to monitor/report the method inheritance on each class. Hope to have a POC by tonight or tomorrow US Eastern.

@jayvdb Machinery is in place to auto-update bskinn/pr-foo branches, tracking the jayvdb/foo  branches in PRs, so that the inheritance diagrams &c in the docs are up to date with the state of the PR. It's in a run-every-minute cronjob, so updates should be fast.
Do you want me to add you to the email notifications, when the pr-foo docs branches get pushed?

I think this PR is nearing a point where it could be merged. I'm waiting until it's merged to work on anything else significant in the package internals -- if you agree it's nearly there, let's make the push to get it finalized and merged?

Sorry - been a bit busy elsewhere.  Also, do you know what is causing the CI problem atm.  I couldnt quickly spot the problem.

<nod>, oh, no prob at all -- I've been splitting my time onto other stuff too. Just wanted to update you on why I haven't moved on anything here.
And sure, I'll take a look @ CI, see what I can see.

Ah, that makes sense.  The autodoc in the Sphinx docs AFAIK can only be pointed at individual modules, and right now only stdio_mgr.py is being documented.  First thing to do is add new .. automodule:: directives to doc/source/api.rst for each of stdio_mgr.types and stdio_mgr.triple.
Will have to do this for pretty much any new module.
Once a v2.0 release is close, I'll split them out into separate docs pages as part of #35/#42/etc.

Thanks.  I'll try to get an update done over the weekend.


Add an external option file

Hi,
Is it possible to add an external option file (e.g., conopt.opt) in gams.jl by using the command set_optimizer_attribute or directly pass the options as we did in GAMS, e.g.,
$onecho > conopt.opt
lspret = false
$offecho

gmsmodel.optfile = 1;
Solve gmsmodel using [...];

Thanks!

You can pass solver options via set_optimizer_attribute, yes. For example, do
set_optimizer_attribute(model, GAMS.Solver(), "conopt")
set_optimizer_attribute(model, "lspret", 0)

Note that it is important do specify the solver first. Otherwise the option is interpreted as GAMS option which would lead to an error as this isn't a GAMS option. GAMS.jl will create an option file for you in the background.
Does this work for you?

Yes, It works now. Thanks for your help!


3.x Runtime Support

Just as a note that V3 functions currently do not have a base image in Docker to pull from as far as I can tell.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 5d505ab9-d351-6650-6d0c-bb65d2daa229
Version Independent ID: 2a1d3487-a93d-2206-7ef9-a91aa275ec4e
Content: Create Azure Functions on Linux using a custom image
Content Source: articles/azure-functions/functions-create-function-linux-custom-image.md
Service: azure-functions
GitHub Login: @ggailey777
Microsoft Alias: glenga

@tanzencoder Thank you for your feedback! For the v3 docker image, It might be better to open an issue on the functions host repo.

@tanzencoder Please use the base images listed here: https://github.com/Azure/azure-functions-docker/blob/master/README.md#v3-images
We will now proceed to close this thread. If there are further questions regarding this matter, please reopen it and we will gladly continue the discussion.


Initial commit of 'signer'.

Singer is a way that users can take existing requests, and get only the
values required to sign the request.
This is an initial commit, we will need to update some things before
this could be merged, but it's an initial step.
Ref: #1816
Please help keep the CHANGELOG up to date by providing a one sentence summary of your change:
Add Signer to output HeaderMap from a sign request.

@ethankhall , thanks for the PR. It would definitely help in many cases. I'm not a maintainer and am quite new to Rust, so feel free to ignore my comments. Here are a few things I noticed ...

Some of the style is different from the rest of the code there.
No docs or comments.
The build is failing (a pipeline problem?)

I'm happy to chip in and help to tidy up the code, if that helps.

Does anyone know if the build failure relates to #1821 or did it fail because of the problems with the code? @iliana ?


Add a fallback to electron package

Also add a warning considering electron-prebuilt will be deprecated in the end of 2016.
Note: The tests were failing before I made any changes.

Well that's confusing -- a different package for node and electron. Oh well. Can we remove the fallback logic entirely and switch over to electron (i.e. update the package.json and require('electron-prebuilt') statement)? There's no need for unnecessary fallback logic.

@twolfson If we do that, that will cause a breaking change for all the people using it.

Ahh, for some reason I thought this was google-music-electron. Let me re-read this PR under a new set of eyes

The code is sound but I have some nitpicks that I will take care of on top of your commit (no sense in making you do repetition).

This has been merged/released in 4.1.0. Thanks for the bug report and patch


Media keys functionality

For me all of my media keys can only stop/start the music in the spotify web player, even tho i mapped MediaNextTrack and MediaPrevTrack to the next/previous track option.
Maybe the input got renamed?
https://docs.microsoft.com/en-us/windows-hardware/customize/desktop/unattend/microsoft-windows-embedded-keyboardfilterservice-mediaplaypause
In this documentation they use MediaNext and MediaPrev instead of MediaNextTrack and MediaPrevTrack .

Reference to the issue
https://github.com/piroor/webextensions-lib-shortcut-customize-ui/issues/10

Uploaded new version with the MediaKeys changes. @wangenau please let me know if now works.

Thank you for your fast response!
I updated to the latest version to test it, but unfortunately  the option to change the shortcuts is now missing...

I am on firefox 61.0 and windows 7 btw.

Sorry, I removed a line I wasn't supposed to.
I've been doing some tests and seems that you can only play/pause with the MediaKeys because Firefox map MediaNext/PrevTrack to MediaPlayPause.
It can be a firefox bug or just that MediaKeys are not fully supported.
For that reason I have reverted back to the previous version.

Link to the confirmed bug https://bugzilla.mozilla.org/show_bug.cgi?id=1473393

Firefox v81 planned to be released 2020-09-22 ships with this feature enabled by default.
You can try it right now by following this article.
However, so far I can see only Play/Pause working, at least on Spotify Web. Guess it'll be a few more months before Prev/Next works...😅

Great news! I don't have any of the "media keys" but any improvement is welcomed. I'll keep the issue open until the fully implementation


https://github.com/rebar/rebar/wiki/rebar

This returns 503 error.
It just started now.
Any solution ?

https : // github.com / rebar / rebar /wiki /rebar

Github was down.

back now, thanks !!


Fix typo

Thanks @mnunezdm for your eagle-eyed catch.  I'm about to update the release notes for this week's release anyway, so I'll make the change in my own PR and will close this one.  Cheers!


Check lengths of RegularInTime arguments?

I wonder whether the RegularInTime constructor should error if the lengths of its arguments don't match:
https://github.com/JuliaGaussianProcesses/TemporalGPs.jl/blob/3c56bebabeaf9a5cf602c26c169b448c028ce7d9/src/space_time/regular_in_time.jl#L8-L13

Good catch -- that would be ideal.
This kind of check should be shoved inside another function that is marked @non_differentiable so that it doesn't hit AD performance.

Interesting... is the constructor function ever AD'd through? I would have thought that once the object has been constructed, the AD wouldn't be able to see the function that was called during constuction.

That's true -- I was envisaging the situation in which one happens to construct the RegularInTime inside the function that you're differentiating.


Rules cpan

Depends on https://github.com/bazelbuild/bazel-central-registry/pull/2631

Hello @mortenmj, modules you maintain (rules_perl) have been updated in this PR. Please review the changes.

Please take a look at the presubmit failures


View all gestures

It would be very nice if there was some way to view all the current gestures and be able to either reassign them or disable them from one screen

Indeed.  I will think about this!  It would need to be a simple dialog, I did not like the complex and sometimes redundant ways of assigning gestures in other launchers. Maybe an overview to disabling (some of) them would already help?  Reassignment would then be done as it is done now: by first selecting the app.


feat: Added alembic

Summary of Changes

Support alembic
Added the initial schema version
Bumped release version

CheckList
Make sure you have checked all steps below to ensure a timely review.

[x] PR title addresses the issue accurately and concisely. Example: "Updates the version of Flask to v1.0.2"

In case you are adding a dependency, check if the license complies with the ASF 3rd Party License Policy.

[x] PR includes a summary of changes.

could you fix the DCO ?

Thanks for review. hmmm, looks like the check still failed even though the commit was signed off. Are we fine to manually set DCO to pass? thx


Unauthorized Message

Hello Jeremy
I just wanted to test this API, but I always get the message Unauthorized. Could it be that something has changed because 2FA has now also been activated via SMS?

CKW has implemented OpenID/authentication a while ago to avoid anyone accessing anyone's data. Let me see how I can add support in the library.


Recipe Scan Page Blank for 14.2.3

The most recent version of Craft Sim from 1/23/24 (v. 14.2.3) has left the Scan Recipe window not working. It is just blank on every crafting character I pull up.
Here is the Debug info given: update prof list display

see discord for temp fix!


Align the youtube content in the center of the page.

Please, align the youtube content in the center of the page. After removing the distracting recommendations the webpage doesn't look nice. There is too much of empty space on the right of the page. Please, fix it.

Any progress?


Fixes for PYI061 and RUF020 can generate None | None

The fixes for redundant-none-literal (PYI061) and never-union (RUF020) in Ruff 0.8.0 can generate None | None, which raises an error at runtime.
PYI061 example:
$ cat pyi061.py
from typing import Literal
x: Literal[None] | None

$ ruff check --isolated --preview --select PYI061 pyi061.py --fix
Found 1 error (1 fixed, 0 remaining).

$ cat pyi061.py
from typing import Literal
x: None | None

$ python pyi061.py
Traceback (most recent call last):
  File "pyi061.py", line 2, in <module>
    x: None | None
       ~~~~~^~~~~~
TypeError: unsupported operand type(s) for |: 'NoneType' and 'NoneType'

RUF020 example:
$ cat ruf020.py
from typing import Never
x: None | Never | None

$ ruff check --isolated --select RUF020 ruf020.py --fix
Found 1 error (1 fixed, 0 remaining).

$ cat ruf020.py
from typing import Never
x: None | None

$ python ruf020.py
Traceback (most recent call last):
  File "ruf020.py", line 2, in <module>
    x: None | None
       ~~~~~^~~~~~
TypeError: unsupported operand type(s) for |: 'NoneType' and 'NoneType'

Hah, great catch (as ever). For reference, the CPython issue where it's debated whether we should change this behaviour at runtime in Python is https://github.com/python/cpython/issues/107271.
Regardless of whether we change it in a future version of CPython, however, this is clearly a bug in ruff, since the code does not raise an exception prior to the autofix but does afterwards.

CC: @sbrugman (there's no expectation that you fix the issue, I just thought that you might be interested knowing about it)

Nice catch. I'll look into it.

I'm exploring to fix this in a single go: if the parent union already contains the None literal, then we can change the edit to range_deletion instead of range_replacement.


Codemirror blur issues

What:
Codemirror configurations:

Added submlime text key mappings => undo, multi-select etc...
Added ability to run cell with shift + enter and cmd + enter
Set tabSize to 2 spaces, and a tab keypress now doesn't blur the codemirror
Struggled with focus/blur issues, no working solution
Able to have codemirror focus on mount, but this will prevent blurring the codemirror

Left in as commented out section in case further research renders this a viable strategy

Discovered firstLineNumber property for codemirrors for possible future implementation of continuous line numbers between cells

Why:

UX improvements

Next Steps:

Universally fix blur issue that forces double-click for actions outside the codemirror cell
Properly implement the codemirror to autofocus on cell creation without new blur bug
Implement continuous line numbers across cells of same language?

Looks good!


tighten merge_from_private arrival condition

Description
merge_from_privateの停止線到達判定が緩いのを修正．この修正がないと，例えば手前で"intersection"による停止が入るとmerge_from_privateで停止が完了した扱いになってしまうことがあるため
Tests performed

Not applicable.
Effects on system behavior

Not applicable.
Pre-review checklist for the PR author
The PR author must check the checkboxes below when creating the PR.

[ ] I've confirmed the contribution guidelines.
[ ] The PR follows the pull request guidelines.

In-review checklist for the PR reviewers
The PR reviewers must check the checkboxes below before approval.

[ ] The PR follows the pull request guidelines.

Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.

[ ] There are no open discussions or they are tracked via tickets.

After all checkboxes are checked, anyone who has write access can merge the PR.

0.1m、だと例えば0.3m前などに止まるとスタックしてしまうのでは...?

木村さんのコメントを受けて更新


2 sets of ir commends.

Hi, my electra AC uses a wired on/off system. there is one button for on/off. that button sends the on/off command as well as all the AC settings(temp,mod. etc). if I i will change a setting(while the AC is on) the AC will turn off. I have 2 filles one with all of the on/off comands for each setting and one for the change commands(if the AC is alrady on). I now set it up as 2 diffrent "devices" and have an automation to manage wich one to "send the command to", and I use a climate template as the real ac entity, So my feature request is to have the ability to set up 2 difrrent files(or just 1. With additional: command_bank: ["turn_on","change"]) one with all the turn on commands, and one with all the change mode commands. and smartIR will choose one based of if the ac is currently on or off.
This system is being used by the majority(if not all) of electra AC's and will allow compatibility to a wide range of AC's.
thank you in advance for maintaining this awesome project.
edit:
I saw on the original smartir repo an issue on this topic as well a someone using a fork of this repo to implementation this feature, unfortunately after some testing his implement dosent work as expected,

Hello, I do not understand your request correctly.
Are on and off commands same?
Do you need explicit on command at all, when you have combined setting command which include on command?
Please note, that current implementation do not send on command, if it is same as off command and AC unit is already assume to be in ON state.

Hey, first thank you for responding, but second My ac need a specific on command for each settings, so what I need to be happening when I send a command is this:

SmartIR will check whether or not the state of the Aircon is on or off
If off, SmartIR will choose a command from a bank of turn on commands, according to the required settings(temp mode etc)
If on, SmartIR will choose a command from a bank of change settings command, again according to the required command,
The command will be sent,

The reason: most of electa ac's use a super wired system.
Lest imagine the ac is off, and i will send a simple (cool,19,medium) command, the ac will not turn on,
The real command the needs to be sent is (on,cool,19,medium)
But if the ac is already on, an i will send (on,cool,19,medium). The ac will now turn off. One work around is to use the "on command" option,
But then lets say I want to set the ac to heat, but the on command is (on,cool,19,medium)
And then immediately send the correct setting command, but this has 2 main problems 1. It is super unhealthy to the ac, it has already booted up at cool mode and I am now changing it to heat and it now has a minute off cool-down before working.
2. I am using a tuya zigbee IR blaster with zigbee2mqtt, and it has some reliability issues when sending rapid commands.

Ok, I am afraid that then your device is not compatible with the SmartIR integration. I have no intention to support every model of the AC units not compatible with the mainstream, as it will only complicate codebase and its maintenance significantly. Please feel free to either fork or create dedicated Electra integration implementation based on the SmartIR codebase. The alternative way is to use template based climate control and use HA actions to automate whatever you want. You can see my climate template integration

Ok, I understand, PS I wish I had the knowledge and experience to create such a fork.


pythonPackages.passlib: disable native support test on darwin

Description of changes
Several instances of this test fail with error like:
AssertionError: did not expect 'darwin' platform would have native support for '...'

It looks like passlib's tests erroneously assume that some methods should not have native support on Darwin while modern systems have such support.
This gates building of a bunch of Python packages on Darwin, including Ansible.
Found while looking through errors for staging-next PR https://github.com/NixOS/nixpkgs/pull/195862

Things done

Built on platform(s)

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

[x] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.


Output stdout & stderr of postStart events to Kubernetes event

Description
https://github.com/devfile/devworkspace-operator/pull/1081 added support for multiple postStart events. Their stdout and stderr are grouped together and redirected to /tmp/poststart-stdout.txt & /tmp/poststart-stderr.txt respectively.
Additionally, if multiple postStart events are used, the postStart hook will succeed as long as the last postStart event succeeds.
However, as a side effect, if the last (or only) postStart event fails, the stdout and stderr of the postStart event will not be propagated to the Kubernetes event on the cluster. Since a postStart hook failure will cause the pod to terminate, it's impossible to SSH/exec into the workspace container and read the output of  /tmp/poststart-stdout.txt & /tmp/poststart-stderr.txt. This makes debugging failing postStart events difficult.
It'd be nice to somehow propagated the stdout & stderr of postStart events to the Kubernetes event, while also logging them into /tmp/poststart-stdout.txt & /tmp/poststart-stderr.txt .
Additional context
Downstream issue

It seems that an update that appeared in Kubernetes 1.26 now prevents the output of Kubernetes Lifecycle hooks from being displayed in the FailedPostStartHook event. This was done for security reasons to prevent any sensitive information from the postStart event from leaking.
Since this is outside of the control of DWO, I'm unfortunately going to close this issue.

Removing the v0.31.x milestone as this was closed as a WON'T FIX.


Training videos to help first-time users get started and adopt ortelius : Training Video 2

First impressions are important. We want first-time users of ortelius to have a good experience. One way to do is to provide training videos to help them see how to get started.
few ideas :-
video 1:-
Define the goal this video will accomplish.
Define what users should do first to adopt Ortelius.
Add a step by step guide to download and get started with Ortelius.
Show how to follow/act on that guide in the video.
Think about what are the key actions that will make them stick around.
Video 2:-
Troubleshooting setup ?
Hacks  and tricks to get started quickly ?

@TracyRagan I think we can we add it as lightning talk for our may visionaries summit.

That is a great Idea - don't think we have one yet tho.


Add whitelisting comment for NonEnqueuedScript

I have some PHP code with an embedded dynamic JavaScript block:
<script src="<?php echo esc_url( self::LOADER_URL ); ?>"></script>

It results in this error:
----------------------------------------------------------------------
FOUND 1 ERROR AFFECTING 1 LINE
----------------------------------------------------------------------
 130 | ERROR | Scripts must be registered/enqueued via
     |       | wp_enqueue_script
     |       | (WordPress.WP.EnqueuedResources.NonEnqueuedScript)
----------------------------------------------------------------------

I'd like to be able to whitelist that line.

Just out of curiousity: why wouldn't you use wp_enqueue_script() for that anyway ? It looks like just the url is dynamic. If that's the case and the url is not available 'early', you can still use wp_enqueue_script() and set the first argument to true to load the js file in the footer of the HTML page.

I tried that, and it didn't work. The reason is that this particular <script> tag goes inside TinyMCE's iframe (along with some other JS).

@paulschreiber Ah! Then I understand. I'm not sure if there is a way to enqueue for the TinyMCE frame.. Hmm.. good question.

@paulschreiber Would the wp_enqueue_editor hook work for you?
Related to https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards/issues/393

My code part of a larger block of JavaScript (the rest is allowed)
As I understand it, wp_enqueue_editor won't let me add scripts to enqueue.
What I needed is a parallel function to add_editor_style— add_editor_style. Filed core ticket 39423.

As PHPCS itself now offers modular ignore comments since PHPCS 3.2.0 and the WPCS native whitelist comments have been deprecated since WPCS 2.0.0, I'm going to close this issue.


Required 64 bits for Google Play

Hi there,
After creating the APK and upload it to Google Play Console (with IL2CPP and ARM64 selected), the console gives an error about the lack of 64 bits native code version.
So I've tried to follow the documentation to recompile the sources, but I found it obsolete/deprecated. As I'm not a Java / Android developer I am blocked here. Can you build a jar including 64 bits version or update de build documentation using Android Studio?
Thanks!

Hi!
This plugin has no native libraries, so has no effect on the warning you've mentioned.
However, if you have selected arm64 and still get the error, check if you have x86 selected - and uncheck it if it is.

Thanks Over17. That solved the warning.
Sorry, my fault.


TextField with pasted CRLF endings has invisible CR char

When I paste some text with CRLF endings into a TextField and click on the end of the line, cursor is placed after invisible \r char. When I press left arrow, it goes over that char to the actual text end. Now when I press right arrow, it skips to the next line like there wasn't any additional char. But that \r is still there after I click there with mouse again.
I found that it is \r by selecting it and pasting it into hex editor.
This only happens in Windows build, tried on web and it doesn't happen there. Don't know about the other platforms.

Code sample
import 'package:flutter/material.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        body: Container(
          padding: const EdgeInsets.all(8),
          child: const TextField(
            style: TextStyle(fontSize: 50),
            expands: true,
            minLines: null,
            maxLines: null,
          ),
        ),
      ),
    );
  }
}

Logs
[√] Flutter (Channel beta, 2.8.0-3.1.pre, on Microsoft Windows [Version 10.0.22000.318], locale en-GB)
    • Flutter version 2.8.0-3.1.pre at C:\Users\husar\AppData\Local\Flutter\SDK\flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 3dab555040 (7 days ago), 2021-11-12 11:50:00 -0800
    • Engine revision 09f1520e8b
    • Dart version 2.15.0 (build 2.15.0-268.8.beta)

[!] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
    • Android SDK at C:\Users\husar\AppData\Local\Android\sdk
    X cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
    X Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/windows#android-setup for more details.

[√] Chrome - develop for the web
    • Chrome at C:\Program Files (x86)\Google\Chrome\Application\chrome.exe

[√] Visual Studio - develop for Windows (Visual Studio Community 2019 16.11.0)
    • Visual Studio at C:\Program Files (x86)\Microsoft Visual Studio\2019\Community
    • Visual Studio Community 2019 version 16.11.31605.320
    • Windows 10 SDK version 10.0.19041.0

[√] Android Studio (version 4.0)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin version 47.1.2
    • Dart plugin version 193.7361
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)

[√] IntelliJ IDEA Community Edition (version 2021.2)
    • IntelliJ at C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2021.2
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
       https://plugins.jetbrains.com/plugin/6351-dart

[√] VS Code, 64-bit edition (version 1.62.2)
    • VS Code at C:\Program Files\Microsoft VS Code
    • Flutter extension version 3.28.0

[√] Connected device (3 available)
    • Windows (desktop) • windows • windows-x64    • Microsoft Windows [Version 10.0.22000.318]
    • Chrome (web)      • chrome  • web-javascript • Google Chrome 95.0.4638.69
    • Edge (web)        • edge    • web-javascript • Microsoft Edge 93.0.961.52

! Doctor found issues in 1 category.

Video:
https://user-images.githubusercontent.com/13891066/142689108-0109464f-b223-41cf-bc75-83b9f90373f0.mp4

Hi @leoshusar, Thanks for filing the issue.
I am having hard time understanding the reproducible steps, Could you please clarify it, specifically this part.

When I paste some text with CRLF endings into a TextField and click on the end of the line,

How do you paste the CRLF character in the texfield? and whats the expected vs actual results it would be great if you could update the main post.
Thank you.

Hi @maheshmnj, I have updated the main post. I hope it's more understandable now.

Thanks for the update @leoshusar, I can reproduce the same behavior as you clicking at the end of a line with a mouse the cursor is shown after a CRLF character and on pressing the left arrow key the cursor moves to the end of text and pressing the right arrow key the cursor moves to next line as if there was no character at the end. This happens on both MacOS & Windows Desktop and not on the web, This can be understood from the below video comparison on Desktop and Web.
Not sure if this is intended Keeping this issue open for further investigation from the team.

Windows Desktop
Web

flutter doctor -v


Fix gzip compression option

PR summary

Fixes: #176
Note: An existing issue is required before opening a PR.
PR Checklist
Please make sure that your PR fulfills the following requirements:

[x] The commit message follows the
Angular Commit Message Guidelines.
[x] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

PR Type

[x] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] New tests
[ ] Build/CI related changes
[ ] Documentation content changes
[ ] Other (please describe)

What is the current behavior?
Setting false in setEnableGzipCompression has no effect.

What is the new behavior?
Setting false in setEnableGzipCompression will disable gzip compression for requests.

Does this PR introduce a breaking change?

[ ] Yes
[x] No

Other information

I'm not very familiar with cloudantBaseService implementation, so bear with me - two questions:

Is baseOptions copied to instance of "our" base service? I'm not sure why it need an explicit set there after super call.

@eiri We shouldn't have to but in the core the setEnableGzipCompression applies the setting directly to the requestWrapperInstance and does not persist it into the options object.

Do we also need positive tests, i.e. for when we call setEnableGzipCompression(true), just to confirm that we actually changing the attribute value?

Given that we originally expected the setter to work, I wanted to have a sanity test to verify that setting the gzip compression flag does in fact get set on a) the request wrapper and b) the base options object.

Given that we originally expected the setter to work, I wanted to have a sanity test to verify that setting the gzip compression flag does in fact get set on a) the request wrapper and b) the base options object.

Right, I'm not arguing that we don't need the test, I'm asking if we need to add a test for setting compression to true and confirm that both attributes actually changed, if this setting is false by default then we'll miss a case when setter function is not working.


Unable to import data

This is in continuation of the issue I have reported earlier in https://github.com/pySTEPS/pysteps/issues/420. I understood from a lot of reading that I have to create a plugin for dealing with my data set. I have already created the required plugin and tested with static input file for loading data and returning the values as per mandated importer standards of PySTEPS. Now, I am stuck at loading all my datasets.
Here is the list of files I am trying to import:-
$ ls

3DIMG_18062024_0000_L1C_ASIA_MER_V01R00.h5  3DIMG_18062024_0200_L1C_ASIA_MER_V01R00.h5  3DIMG_18062024_0400_L1C_ASIA_MER_V01R00.h5  3DIMG_18062024_0700_L1C_ASIA_MER_V01R00.h5
3DIMG_18062024_0030_L1C_ASIA_MER_V01R00.h5  3DIMG_18062024_0230_L1C_ASIA_MER_V01R00.h5  3DIMG_18062024_0530_L1C_ASIA_MER_V01R00.h5  3DIMG_18062024_0730_L1C_ASIA_MER_V01R00.h5
3DIMG_18062024_0100_L1C_ASIA_MER_V01R00.h5  3DIMG_18062024_0300_L1C_ASIA_MER_V01R00.h5  3DIMG_18062024_0600_L1C_ASIA_MER_V01R00.h5  3DIMG_18062024_0800_L1C_ASIA_MER_V01R00.h5
3DIMG_18062024_0130_L1C_ASIA_MER_V01R00.h5  3DIMG_18062024_0330_L1C_ASIA_MER_V01R00.h5  3DIMG_18062024_0630_L1C_ASIA_MER_V01R00.h5  3DIMG_18062024_0830_L1C_ASIA_MER_V01R00.h5

Here is my pystepsrc.json file content with respect to loading of above data:-
"insat_imager": {
      "root_path": "/mnt/Data/myprojects/nowcast/data",
      "path_fmt": "/",
      "fn_pattern": "3DIMG_%d%m%Y_%H%M_L1C_ASIA_MER_V01R00",
      "fn_ext": "h5",
      "importer": "insat_imager",
      "timestep": 30,
      "importer_kwargs": {}
    }

Here is portion of script I am trying to load (referred from https://pysteps.readthedocs.io/en/stable/auto_examples/plot_steps_nowcast.html#sphx-glr-auto-examples-plot-steps-nowcast-py) example:-
from datetime import datetime
import pysteps
from pysteps import io, nowcasts, rcparams
import time

config_file_path = pysteps.load_config_file("pystepsrc.json", verbose=True)
date = datetime.strptime("18062024", "%d%m%Y")

# print(datetime.strptime('20240618', '%Y%m%d'))

data_source = config_file_path.data_sources["insat_imager"]
root_path = data_source["root_path"]
path_fmt = data_source["path_fmt"]
fn_pattern = data_source["fn_pattern"]
fn_ext = data_source["fn_ext"]
importer_name = data_source["importer"]
importer_kwargs = data_source["importer_kwargs"]

# Unable to load files
fns = io.archive.find_by_date(date, root_path, path_fmt, fn_pattern, fn_ext, timestep=5, num_prev_files=0)

When I execute the above code, I get the following error:-
file not found: None
Traceback (most recent call last):
  File "/mnt/Data/myprojects/nowcast/nowcast_test.py", line 43, in <module>
    fns = io.archive.find_by_date(date, root_path, path_fmt, fn_pattern, fn_ext, timestep=5, num_prev_files=0)
  File "/home/sundar/miniconda3/envs/pysteps/lib/python3.10/site-packages/pysteps/io/archive.py", line 85, in find_by_date
    raise IOError("no input data found in %s" % root_path)
OSError: no input data found in /mnt/Data/myprojects/nowcast/data

Can someone guide me in right direction to solve the issue.

hi @wxguy, it looks like there is something wrong in the parameters you're passing to the find_by_date function, which is then building the wrong path to your data. I suspect the problem is caused by "path_fmt": "/", can you try changing it to "path_fmt": "" and report back what you get?
also, why timestep=5? shouldn't be timestep=30 instead?

Closing this for now @wxguy, feel free to reopen in case you need more help!


Updated README.md

Added the Getting Started and Licensing sections in the README.md file.

@planoe-cloudera Need your review on this! Thanks in advance:)

@hmohamedansari Thanks, licensing and getting started covered in repo at moment.
Thanks for your attention.


Add spec and webextension-polyfill

Mozilla created a polyfill to add the browser namespaced promise-based API to Chrome and Opera.
It also seems like the spec should be linked here, since it is what this is all about.

Thanks! I think I'd like the polyfill a bit higher, just below mozilla/web-ext, using the name mozilla/webextension-polyfill to highlight its maintainer.

So you'd want it in the tools instead of the libraries section? Did you mean below the other promise polyfill?

I just noticed that I have two more links I'd suggest to add to examples:

https://github.com/mdn/webextensions-examples
Very comprehensive collection of extension. I guess they're also linked from MDN, but it is worth linking the repo IMO
https://github.com/Standard8/example-webextension
Does both unit testing using stubs and integration testing via webdriver.

Ah, and one more: https://github.com/rpl/create-webextension for Boilerplates

So you'd want it in the tools instead of the libraries section? Did you mean below the other promise polyfill?

Ah sorry I didn't notice they weren't in the same category. I guess it's fine there then.

https://github.com/mdn/webextensions-examples
Very comprehensive collection of extension. I guess they're also linked from MDN, but it is worth linking the repo IMO

👍

https://github.com/Standard8/example-webextension
Does both unit testing using stubs and integration testing via webdriver.

👎 mdn's examples are plenty

Ah, and one more: https://github.com/rpl/create-webextension for Boilerplates

👍


relax the log4net dependency version

I can see that the latest log4net integration package (Common.Logging.Log4Net1215) depends strictly on log4net [2.0.5].
Would it be possible to relax it to something like [2.0.5,3.0), which will allow to update to a compatible (due to semantic versioning) log4net version without the need to update Common.Logging.Log4NetNNN every time? Also future versions of this package could have similar dependency as well. On top of that, I can see that there is no package for log4net 2.0.4 yet, I'd like to create one if that's not a problem - it could already use the less strict dependency.
The reason behind this is that having a strict dependency like this forces a wave of updates across the whole codebase which happens to share any project which gets updated to a new log4net version, which in case of my job is hundreds of projects in dozens of solutions, in dozens of repositories, which is basically an impossible (=too expensive) task.
I will create a pull request if I get an approval for such a change.

Unfortunately, while you're right that making such a change would solve that specific problem, it also introduces others.  In fact, Common.Logging used to work that way re: versioning and dependencies, but we explicitly abandoned the strategy some time ago as laid out in the wiki here.
Ironically, it was actually Log4Net failing to respect SemVer that introduced cascading breaking changes that flowed to adopters of Common.Logging.Log4Net that was the genesis of our having to re-think the way that we handled such dependencies.  It may well be that Log4Net now respects SemVer, but for quite some time it (and other logging packages) didn't properly do so.  In this context, we'd no choice but to switch to a versioning/dependency scheme for Common.Logging adapters that shielded adopters from inadvertent breaking changes introduced by the loggers themselves.  This goal was seemingly best achieved by locking in the dependency for each adapter to only a single specific version of a logger, as is the case now.
The current scheme enables adopters to mix-and-match versions of Common.Logging with adapters for whatever version of the logger you choose.  Its certainly true that this flexibility comes with a certain maintenance overhead in scenarios such as yours, but we'd determined that this was a better solution than permitting NuGet to introduce a breaking change by pulling down a logger against which the Common.Logging adapter had never actually been tested.  Indeed, when Log4Net introduced their non-SemVer-respecting breaking change, we received a lot of "Common.Logging.Log4Net is broken" reports that were (of course) not the 'fault' of Common.Logging at all, but appeared that way b/c the origin of the errors was inside our (newly-incompatible) adapter for Log4Net.
That said, clearly the present approach we've adopted isn't perfect either (for the reasons you identify).  We're certainly more than willing to entertain suggestions re: how we might better be able to address both of these needs that seem to be in diametric opposition to each other -- can you perhaps suggest another approach that would be able to better satisfy both sides of this problem --?

Closing this issue as WONTFIX.


Not able to start the .net core project. Error: HotChocolate.SchemaException: The type 'System.Int32&' may not be used as a type argument.

Describe the bug
I am new to graphql and hot chocolate. Trying to do a simple implementation with graphql and hot chocolate however keep getting the following error:
Unhandled exception. HotChocolate.SchemaException: The type 'System.Int32&' may not be used as a type argument.    at HotChocolate.Configuration.TypeInitializer.Initialize(Func1 schemaResolver, IReadOnlySchemaOptions options)
at HotChocolate.SchemaBuilder.Create()
at HotChocolate.SchemaBuilder.HotChocolate.ISchemaBuilder.Create()
at ClimbStrava.GraphqlApi.Startup.ConfigureServices(IServiceCollection services) in /Users/tonyma/Desktop/ClimbStrava/ClimbStrava.GraphqlApi/Startup.cs:line 44
at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor, Boolean wrapExceptions)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at Microsoft.AspNetCore.Hosting.ConfigureServicesBuilder.InvokeCore(Object instance, IServiceCollection services)
at Microsoft.AspNetCore.Hosting.ConfigureServicesBuilder.<>c__DisplayClass9_0.g__Startup|0(IServiceCollection serviceCollection)
at Microsoft.AspNetCore.Hosting.ConfigureServicesBuilder.Invoke(Object instance, IServiceCollection services)
at Microsoft.AspNetCore.Hosting.ConfigureServicesBuilder.<>c__DisplayClass8_0.b__0(IServiceCollection services)
at Microsoft.AspNetCore.Hosting.GenericWebHostBuilder.UseStartup(Type startupType, HostBuilderContext context, IServiceCollection services, Object instance)
at Microsoft.AspNetCore.Hosting.GenericWebHostBuilder.<>c__DisplayClass13_0.b__0(HostBuilderContext context, IServiceCollection services)
at Microsoft.Extensions.Hosting.HostBuilder.CreateServiceProvider()
at Microsoft.Extensions.Hosting.HostBuilder.Build()`
Details
Project file:
<PackageReference Include="Autofac.Extensions.DependencyInjection" Version="7.0.2" />     <PackageReference Include="HotChocolate.AspNetCore" Version="10.5.3" />     <PackageReference Include="HotChocolate.AspNetCore.Playground" Version="10.5.3" />     <PackageReference Include="HotChocolate.AspNetCore.Voyager" Version="10.5.3" />     <PackageReference Include="HotChocolate.Subscriptions.InMemory" Version="10.5.3" />     <PackageReference Include="HotChocolate.Subscriptions.Redis" Version="10.5.3" />     <PackageReference Include="HotChocolate.Types.Filters" Version="10.5.3" />     <PackageReference Include="HotChocolate.Types.Selections" Version="10.5.3" />     <PackageReference Include="HotChocolate.Types.Sorting" Version="10.5.3" />     <PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="5.0.0-rc.2.20475.17" />     <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="5.0.0-rc.2.20475.6" />     <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer.NetTopologySuite" Version="5.0.0-rc.2.20475.6" />     <PackageReference Include="Microsoft.Identity.Web" Version="1.1.0" />     <PackageReference Include="Swashbuckle.AspNetCore" Version="5.5.1" />
ConfigureServices in Startup.cs:
services.AddGraphQL(                     SchemaBuilder.New()                         .AddQueryType<Query>()                         .Create(),                     new QueryExecutionOptions { ForceSerialExecution = true });
Configure in StartUp.cs
app.UseGraphQL()                 .UsePlayground()                 .UseVoyager();
Query type:
  public class Query     {         /// <summary>         /// Gets all users.         /// </summary>         public User GetUsers([Service] ClimbStravaDbContext climbStravaDbContext)         {             var a = climbStravaDbContext.Users.FirstOrDefault();             return a;         }     }
Not sure what I did wrong. Are you able to guide me through?
The project worked if I change the query to return a string text:
public string GetUsers([Service] ClimbStravaDbContext climbStravaDbContext)         {             return "hello world";         }

Just noticed the issue caused the List in the class:
Able to run the project after comment out public ICollection<Post> Posts { get; set; }
How can I do code first to build scheme from entity framework class which contain list?
Entity framework class:
`    public class Person
{
public Guid ObjectId { get; set; }
public string UserHandle { get; set; }
public string Email { get; set; }
public string Name { get; set; }
    public int NumOfPosts { get; set; }
    public ICollection<Post> Posts { get; set; }

    public int NumOfFollowers { get; set; }

    public int NumOfFollowings { get; set; }
}`

Furthermore discovered, it broke by the datatype "Point" from "NetTopologySuite":
Namespace:
using NetTopologySuite.Geometries;
property:
 public Point Location { get; set; }
Nuget package:
https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.SqlServer.NetTopologySuite

The issue that you have is due to a by ref field which does not translate to GraphQL. If you move to the version 11 previews you will have support for spatial types.

Hi @michaelstaib, Thanks for your reply.
I tried to upgrade to v11 however there are quite a bit changes. I am having difficulties to implement v11 as I couldn't find enough document. I probably will continue using v10 and migrate to v11 later once there are more samples and documents available. Thanks again.

https://github.com/ChilliCream/graphql-workshop

Hi @michaelstaib, the sample workshop code is very useful. Many thanks!

@michaelstaib  this are my error list in v11
1. Unable to infer or resolve a schema type from the type reference `Input: ICollection`. (HotChocolate.Types.InputObjectType<System.Xml.Schema.XmlSchemaObjectTable>)
2. Unable to infer or resolve a schema type from the type reference `Input: XmlNodeList`. (HotChocolate.Types.InputObjectType<System.Xml.XmlAttribute>)
3. Unable to infer or resolve a schema type from the type reference `Input: Char`.
4. Unable to infer or resolve a schema type from the type reference `Input: IXmlSchemaInfo`. (HotChocolate.Types.InputObjectType<System.Xml.XmlAttribute>)
5. Unable to infer or resolve a schema type from the type reference `Output: DictionaryEntry`.
6. Unable to infer or resolve a schema type from the type reference `Input: Type`.
7. Unable to infer or resolve a schema type from the type reference `Output: Char`.
8. Unable to infer or resolve a schema type from the type reference `Output: RuntimeTypeHandle`.
9. Unable to infer or resolve a schema type from the type reference `Input: Geometry`. (HotChocolate.Types.ObjectType<NetTopologySuite.Geometries.GeometryFactory>)
10. Unable to infer or resolve a schema type from the type reference `Input: Span<Char!>`.
11. Unable to infer or resolve a schema type from the type reference `Input: Int32&`. (HotChocolate.Types.ObjectType<NetTopologySuite.Geometries.CoordinateSequence>)
12. Unable to infer or resolve a schema type from the type reference `Output: RuntimeFieldHandle`.
13. Unable to infer or resolve a schema type from the type reference `Output: InterfaceMapping`.
14. Unable to infer or resolve a schema type from the type reference `Input: XPathExpression`. (HotChocolate.Types.ObjectType<System.Xml.XPath.XPathNavigator>)
15. Unable to infer or resolve a schema type from the type reference `Output: CustomAttributeNamedArgument`.
16. Unable to infer or resolve a schema type from the type reference `Output: CustomAttributeTypedArgument`.
17. Unable to infer or resolve a schema type from the type reference `Output: ModuleHandle`.
18. Unable to infer or resolve a schema type from the type reference `Output: RuntimeMethodHandle`.
19. Unable to infer or resolve a schema type from the type reference `Input: IAsyncResult`.
20. Unable to infer or resolve a schema type from the type reference `Output: IntPtr`.
21. Unable to infer or resolve a schema type from the type reference `Input: Calendar`.
22. Unable to infer or resolve a schema type from the type reference `Input: XmlReader`. (HotChocolate.Types.ObjectType<System.Xml.XmlDocument>)
23. Unable to infer or resolve a schema type from the type reference `Input: MethodInfo`.
24. Unable to infer or resolve a schema type from the type reference `Input: Byte*`.
25. Unable to infer or resolve a schema type from the type reference `Input: XmlSchemaObject`. (HotChocolate.Types.InputObjectType<System.Xml.Schema.XmlSchema>)
26. Unable to infer or resolve a schema type from the type reference `Input: XmlNameTable`. (HotChocolate.Types.InputObjectType<System.Xml.XmlDocument>)
27. Unable to infer or resolve a schema type from the type reference `Input: XmlNode`. (HotChocolate.Types.ObjectType<System.Xml.XmlAttributeCollection>)


[Question]: how to call api? example Postman GET/POST

Describe your problem
How would I call the API, I added the token in the chat but when I try to call the API URL I didn't find an example of a call, they could create an example postman json/ with token bearer in the documentation.

Thnks

Please refer to this.
It uses GET method instead of POST.

Hi, thanks for the feedback, now I can do get but when I send a post I get not allowed? Would you have any example in json of how I should send it?

嗨，感谢您的反馈，现在我可以得到，但是当我发送帖子时，我不被允许？你能在json中举例说明我应该如何发送它吗？

嗨，感谢您的反馈，现在我可以得到，但是当我发送帖子时，我不被允许？你能在json中举例说明我应该如何发送它吗？

嗨，感谢您的反馈，现在我可以得到，但是当我发送帖子时，我不被允许？你能在json中举例说明我应该如何发送它吗？

嗨，感谢您的反馈，现在我可以得到，但是当我发送帖子时，我不被允许？你能在json中举例说明我应该如何发送它吗？

Hi there! I was exploring the API documentation and came across something that might help with your question. The section on creating a conversation outlines how to structure the request using JSON: Create Conversation - API Documentation.
However, based on what I saw, the API seems to be designed for GET requests, and I didn’t find any reference to a POST method. I thought this might help clarify the situation a bit more, so I’m sharing it with you in case you find it useful!


Add blog post for go 2.40 release

Please add a meaningful description for your change here

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] Update CHANGES.md with noteworthy changes.
[x] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Can one of the admins verify this patch?

LGTM. No notes. I look forward to us publishing this!

LGTM, amazing work @damccorm

Should we merge this with @pabloem's Beam 2.40.0 release announcement?

Should we merge this with @pabloem's Beam 2.40.0 release announcement?

I don't think so - this is specifically highlighting that 2.40 is a big release for the Go SDK and goes beyond the scope of the typical release notes. Most of these features do appear in the release notes (with less descriptiveness), but IMO its nice to have a coherent package that we can advertise a little more easily and succinctly.

I agree with Danny that a separate post makes sense.  Honestly, a
separate post on runInference is warranted too :D
On Tue, Jun 28, 2022 at 2:09 PM Danny McCormick @.***>
wrote:

Should we merge this with @pabloem https://github.com/pabloem's Beam
2.40.0 release announcement?
I don't think so - this is specifically highlighting that 2.40 is a big
release for the Go SDK and goes beyond the scope of the typical release
notes. Most of these features do appear in the release notes (with less
descriptiveness), but IMO its nice to have a coherent package that we can
advertise a little more easily and succinctly.
—
Reply to this email directly, view it on GitHub
https://github.com/apache/beam/pull/17723#issuecomment-1169245767, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AOLR6K2CYTBWE6LFAKMJOVLVRNSXBANCNFSM5WPM635A
.
You are receiving this because you commented.Message ID:
@.***>

Fair, it does look like we have lots of precedent for separate blog posts about specific launches that come out in parallel with release announcements (including one of my own! https://beam.apache.org/blog/dataframe-api-preview-available/)


Execution fails when bundled with WebPack due to dependency on PkgInfo

I'm submitting a...

[x ] Bug report
[ ] Feature request
[ ] Question

Current behavior
I am attempting to test a new project with db-migrate, which has been bundled using webpack for deployments/execution on AWS Lambda. The current error is reported when attempting to run the migration:
START RequestId: 720ed4a8-7a75-48b4-8c03-66bf12bea426 Version: $LATEST
module initialization error: Error
at Function.module.exports../node_modules/pkginfo/lib/pkginfo.js.pkginfo.find (/var/task/index.js:8651:11)
at Function.module.exports../node_modules/pkginfo/lib/pkginfo.js.pkginfo.find (/var/task/index.js:8663:18)
at Function.module.exports../node_modules/pkginfo/lib/pkginfo.js.pkginfo.find (/var/task/index.js:8663:18)
at Function.module.exports../node_modules/pkginfo/lib/pkginfo.js.pkginfo.read (/var/task/index.js:8676:22)
at module.exports../node_modules/pkginfo/lib/pkginfo.js.module.exports (/var/task/index.js:8625:21)
at Object. (/var/task/index.js:8683:1)
at Object../node_modules/pkginfo/lib/pkginfo.js (/var/task/index.js:8688:30)
at webpack_require (/var/task/index.js:21:30)
at Object. (/var/task/index.js:7263:47)
at Object../node_modules/db-migrate/index.js (/var/task/index.js:7328:30)
END RequestId: 720ed4a8-7a75-48b4-8c03-66bf12bea426
REPORT RequestId: 720ed4a8-7a75-48b4-8c03-66bf12bea426	Duration: 247.46 ms	Billed Duration: 300 ms 	Memory Size: 128 MB	Max Memory Used: 55 MB
module initialization error
Error
I have noted others have reported similar issues with PkgInfo with webpack; the resolution has been the removal of PkgInfo dependency by component authors.
Expected behavior
DbMigrations should run 'up' as expected. This runs ok when webpack is not used (webpack is part of our organisation's standard devops process to reduce bundle sizes).
Minimal reproduction of the problem with instructions
Run db-migrate project following a build with webpack/commonjs2.
What is the motivation / use case for changing the behavior?

Environment

db-migrate version: 0.11.5
plugins with versions: X.Y.Z
db-migrate driver with versions: db-migrate-mysql": "^1.1.10"

Additional information:
- Node version: XX
- Platform:  Linux/AW Lambda

Others:

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Have the same issue. As workaround have to pack now everything with node_modules into zip archive to run on AWS-lambda

Can you be more explicit about the problem? Why is webpack failing? And why are you using webpack for a non browser environment?

I cannot provide now an error no, because we gave up trying to pack stuff with webpack and just zip now everithing together with node_modules. But when I was trying to pack I was getting a warning about the usage of require('pkginfo')(module, 'version'). And then packed version was not usable.
Why? We wanted to have single js file to be used for lambda function. This works for us pretty good in more or less all our cases. This allows us to use single JS file as lambda instead of zip artifact.
In case of AWS lambda, migrations can be stored in S3 bucket, then lambda downloads them and puts in migration folder and then executes.

Can you be more explicit about the problem? Why is webpack failing? And why are you using webpack for a non browser environment?

Use of Webpack is a standard devops process within our organisation for deploying AWS lambda functions; as a means of reducing footprint for deployments (eg 164kb in contrast to ~5GB).
Using webpack also for backend is fairly-well described as a valid methodology especially for size and consistent bundling methods (eg https://www.npmjs.com/package/webpack, https://jlongster.com/Backend-Apps-with-Webpack--Part-I).
I have been able to workaround the issue using node pack (with 5GB deployable), but it is making our builds non-standard (and will restrict us from adopting db-migrate for other projects within the org).

Well I am open for PRs though. If you want to help out on that point, you can give it a shot.
Currently pkginfo is only used to extract the version information, which could be retrieved by requiring package.json directly. So it wouldn't hurt too much to replace it with that. However, since I don't know why webpack is failing here and I will not test for any and every possible system, I ask for your help, since you're the users with that kind of problem and you have a working test setup available already. If you can figure out why webpack is failing and put out a PR that is not breaking and altering any of the current behavior, I will be happy to merge :)

hi @wzrdtales, I have raised the PR to remove pkgInfo dependency. Can you please review it? Thanks


Question regarding usage of MSI and AKS workload identity

Hi, we have a Go app currently hosted outside AKS that needs to run in AKS and requires credentials to authenticate with Azure to fetch information regarding VMs and their network interfaces. Currently, when using MSI, we fetch the credentials using azidentity.NewManagedIdentityCredential(nil) and pass that credential to the azure client as armresources.NewClient(subscriptionID, cred, nil).
I am wondering how can we achieve the same using workload identity for AKS and what configurations are necessary. Does the client app need to use a different API when it want's to leverage workload identity using k8s service accounts? Is the mechanism for obtaining auth tokens the same or is there a different workfow involved?
Thanks

First you need to configure Workload Identity on the cluster. See the AKS docs for more information on that. With that done, your application can simply call azidentity.NewWorkloadIdentityCredential instead of azidentity.NewManagedIdentityCredential. Both credential types have the same interface, so their differences are transparent to Azure SDK clients.

First you need to configure Workload Identity on the cluster. See the AKS docs for more information on that. With that done, your application can simply call azidentity.NewWorkloadIdentityCredential instead of azidentity.NewManagedIdentityCredential. Both credential types have the same interface, so their differences are transparent to Azure SDK clients.

Thanks for the quick response and clarification. Are there any other caveats to be aware of when transitioning from standard MSI to workload identity?

Not for the Azure SDK. In an application workload identity is like MSI in that configuration is simple and usually comes from the hosting environment. The work of transitioning is in configuring the cluster, which is more involved than configuring MSI on most platforms.


travis: Test ansible playbook

Add a test in travis to check ansible playbook syntax
Fixes #790
Signed-off-by: Alberto Murillo Silva<EMAIL_ADDRESS>

Coverage decreased (-0.02%) to 65.895% when pulling dde276ba5c94bd36bffe0a3a2abe86fcbd903878 on albertomurillo:travis into a3799e319997d49458399d713ceecac462e6f407 on 01org:master.


Firebase stream problem

Using mkr1010
Line 137
Error:
Call of overloaded println(long long int) is ambiguous
I'm not nearly good enough to solve this one myself but I think it has something to do with trying to print "int64Data" based on the suggestions on Google for "how to print int64" help would be much appreciated.
Edit: it seems this problem is in all of the version 1.2.0 and up

The library works fine and can compile in Arduino IDE (2.0 and older) and PlatformIO in VScode IDE for Arduino NANO 33 IoT, Arduino MKR WiFi 1010, Arduino MKR VIDOR 4000, Arduino Nano RP2040 Connect and Arduino UNO WiFi Rev.2
I already test it all.
About your compilation error, you should debug your code yourself by removing all third-party libraries from your code and in libraries folder which one of these libraries may contain the Print.h header file and cause the ambiguous function compilation error.

Thats odd I'm using arduino ide 1.8.19 with no external libraries the only change I made was adding my wifi and server info in the definitions. I suppose I'll pull all the libraries out of the folder and see if it works

I believe it was an outdated version of WIFINA library. Thank you for the help:)

I'm having another problem. I'm running the basic and stream and it keeps saying bad request. I can run one of my older versions for stream and it works fine. Sorry to bother again just been a long time since I've done this stuff

Is there a proper place to ask questions I dont wanna fill up this thread with unrelated questions I'm having a connection issues that I don't seem to have with my older versions of the "stream" that I wanna ask about

You can ask the question here.
Please remember that the WiFiNINA firmware requires server SSL certificate verification for server authentication. The certificate can be expired or revoked on server side. You need to update the SSL certificate in case server connection problem.
The firmware and certificate update, see this issue.
The only way for skipping server SSL certificate verification is firmware modification.

Ok thank you it seems that it only has issues with stream, the basic sketch works fine

Just wanted to update for anyone reading. Adding Google ssl certificate made it work. It seems I have much to learn since the last time I did this. Thank you very much for the help. I'll post in discussions in the future since it seems the issues aren't actuslly with the coding itself

Depending on the device you use, this library limits the size of payload response to store in FirebaseData object here which you can change it.
https://github.com/mobizt/Firebase-Arduino-WiFiNINA/blob/a74d6e49a662c677e8b8df12d5337c1ea4981612/src/Firebase.h#L44-L47
The large stream payload may not handle by the low memory devices then keep the data under the streaming path as small as possible.


fix: pip install encoding error

Hey, first off nice app :) but I got an encoding error installing it via pip.
(venv) C:\Users\td\Desktop\prettymapp>pip install git+https://github.com/chrieke/prettymapp.git
Collecting git+https://github.com/chrieke/prettymapp.git
  Cloning https://github.com/chrieke/prettymapp.git to c:\users\td\appdata\local\temp\pip-req-build-nc4pk_ft
  Running command git clone --filter=blob:none --quiet https://github.com/chrieke/prettymapp.git 'C:\Users\td\AppData\Local\Temp\pip-req-build-nc4pk_ft'
  Resolved https://github.com/chrieke/prettymapp.git to commit 34b75b5adce0a10a064344fbc2da449dfdcf29a3
  Preparing metadata (setup.py) ... error
  error: subprocess-exited-with-error

  × python setup.py egg_info did not run successfully.
  │ exit code: 1
  ╰─> [10 lines of output]
      Traceback (most recent call last):
        File "<string>", line 2, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "C:\Users\td\AppData\Local\Temp\pip-req-build-nc4pk_ft\setup.py", line 12, in <module>
          long_description=parent_dir.joinpath("README.md").read_text(),
        File "C:\Program Files\Python39\lib\pathlib.py", line 1267, in read_text
          return f.read()
        File "C:\Program Files\Python39\lib\encodings\cp1252.py", line 23, in decode
          return codecs.charmap_decode(input,self.errors,decoding_table)[0]
      UnicodeDecodeError: 'charmap' codec can't decode byte 0x8f in position 19: character maps to <undefined>
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.

Thanks for reporting, merged. Could you check again, I couldn't recreate it on mac.


Error "Cannot read property 'property' of undefined"

Hi, when I try to add zoom functionality for regular HTML content, I can't seem to get it to work. I'm importing the right plugins with NPM:
import * as d3 from 'd3';
import * as d3Zoom from 'd3-zoom';
import * as d3Select from 'd3-selection';
and then on load of my app I'm calling:
let zoom = d3.zoom();
let selection = d3.select('.seat-selector-content');
selection.call(d3.zoom().scaleExtent([1, 8]).on("zoom", zoom));
No errors on initial load but when i try to use my mouse wheel to zoom on the html, I get the error "Cannot read property 'property' of undefined".
If I click through the console error to the code it comes to this function:
function zoom(selection) {
    selection
        .property("__zoom", defaultTransform)
        .on("wheel.zoom", wheeled)
        .on("mousedown.zoom", mousedowned)
        .on("dblclick.zoom", dblclicked)
      .filter(touchable)
        .on("touchstart.zoom", touchstarted)
        .on("touchmove.zoom", touchmoved)
        .on("touchend.zoom touchcancel.zoom", touchended)
        .style("touch-action", "none")
        .style("-webkit-tap-highlight-color", "rgba(0,0,0,0)");
 }

This implies that you are invoking the zoom behavior with an undefined selection. I’m not sure why that would be based on your code snippet.
I also note that you’re combining the D3 default bundle (import … from "d3") together with imports from individual D3 modules (e.g., import … from "d3-selection"). You shouldn’t do this because the D3 default bundle already includes these bundles, and by importing from both, you are likely to get duplicate copies of the code, and this could be causing some of the problems you are seeing. (This is a frequent cause of d3.event being null, for example, though this will be going away in d3-selection@2. See https://github.com/d3/d3-selection/issues/191.)
Please use Stack Overflow tag d3.js to ask for help. Stack Overflow provides a better collaborative forum: thousands of D3-related questions have been asked there, and some answers may be relevant to you.
When asking for help, please include a link to demonstrate the issue, preferably as an Observable notebook. It is often impossible to debug from code snippets alone. Isolate the issue and reduce your code as much as possible before asking for help. The less code you post, the easier it is for someone to debug, and the more likely you are to get a helpful response.
If you have a question about D3’s behavior and want to discuss it with other users, also consider the d3-js Google Group or joining the d3-js Slack.
Thank you! 🤗

Edit: I see now you said the error doesn’t occur until you wheel. At any rate, you should post a reproduction of your error if you want help debugging. It’s practically impossible to guess what could be wrong from a snippet, and I would be wasting both of our time speculating. Good luck!

Edit: I see now you said the error doesn’t occur until you wheel. At any rate, you should post a reproduction of your error if you want help debugging. It’s practically impossible to guess what could be wrong from a snippet, and I would be wasting both of our time speculating. Good luck!

Sorry about that! Here's a code pen that shows the same console error with a basic setup: https://codepen.io/shofman10/pen/BXxKxJ

The problem is that you’re invoking the zoom instance on zoom:
selection.on("zoom", zoom);

You probably mean to call your zoom event handler instead?
selection.on("zoom", zoomed);

function zoomed() {
  console.log(d3.event);
}

That worked and I was able to get it zooming in/out after that :D sooooo happy thanks!


Change resource key logic for k8s

What this PR does / why we need it:
This fix will solve the problem that the cluster-scoped resource can't be deleted when we set the namespace in app.pipecd.yaml.
context: https://github.com/pipe-cd/pipecd/issues/4269#issuecomment-2104055928
livestate side

use "" for the cluster-scoped resource
use the namespace for the namespace scoped resource

When reading the manifests from git

use "" for the cluster-scoped resource
for the namespace scoped resource,
use spec.input.namespace in app.pipecd.yaml if it is set.
use the namespace on the manifest from git if it is set.
use default if  both of spec.input.namespace and the namespace are not set

Currently, we use the resource key to identify each k8s resource.
It is created by MakeResourceKey, and the rule is below.
livestate side

use default when the resource obj doesn't have the namespace.
use the namespace when the resource obj has the namespace.

When reading the manifests from git

use spec.input.namespace in app.pipecd.yaml if it is set.
use the namespace on the manifest from git if it is set.
use default when the namespace on the manifest is "".

This rule doesn't consider the cluster-scoped resource.
So for example, cluster-scoped resource don't have any namespace, but if we set the spec.input.namespace in the app.pipecd.yaml, it sets the value as the namespace to the resource key.
This causes the problem that can't prune the resource because the resource key can't identify the resource correctly.
So I fixed the the logic like below.
livestate side

use "" for the cluster-scoped resource
use the namespace for the namespace scoped resource

When reading the manifests from git

use "" for the cluster-scoped resource
for the namespace scoped resource,
use spec.input.namespace in app.pipecd.yaml if it is set.
use the namespace on the manifest from git if it is set.
use default if  both of spec.input.namespace and the namespace are not set

Which issue(s) this PR fixes:
Part of #4269

Does this PR introduce a user-facing change?:

How are users affected by this change:

Is this breaking change:

How to migrate (if breaking change):

The Overview of the fix
refine the namespace by loader.refineNamespace when reading the manifests from git repo

fixed to obtain information to determine whether each k8s resource is cluster scoped when executor, planner, plan preview, and detector start. (provider.GetIsNamespacedResources)

remove the logic to determine the namespace from MakeResourceKey

I think MakeResourceKey shouldn't determine the namespace. This is  only loader's responsibility.

@khanhtc1202 @t-kikuc
This issue is complex and my explanation may be insufficient. If you have any questions, please feel free to ask. :) 🙏

@ffjlabo some testcases are failed :eyes:

@khanhtc1202 Sorry, I fixed some of them. 🙏
There are some failings, but these are under the /pipecdv1. I want to fix it after the current implementation looks good.

/review

@ffjlabo Please rebase this PR due to pipedv1 package change 👀

The failing test is solved by this PR 🙏 https://github.com/pipe-cd/pipecd/pull/4926

I tested it using QuickSync with the scenario below, and it works well.
scenario:
tried the following operations with and without setting spec.input.namespace in app.pipecd.yaml for cluster scoped resource and namespaced resource.

create a k8s app
update manifests
fix the actual resource with kubectl edit
delete manifests

I chose and tried them with ClusterRole (cluster scoped) and Deployment (namespaced) resources.
checkpoint:

create, update, and delete the resources successfully
reflect the operations result on the application livestate (check on the Web UI)
detect OutOfSync after kubectl edit

Thank you for reviewing 🙏


connection pool id

hi,
in your code connection pool is
var id = node.port.toString(16);
but i think taht it must by a rundom number assigned the first time to each connection
like
var id = (1+Math.random()*4294967295).toString(16);
if not there is not difference between clients!
and store it in
msg._session = {type:"tcp",id:id};

Same as #3


[RFC] init nix-shell development environment

This is a nix-shell environment for building Surelog. Nix shells can be helpful for ensuring local development and CI environments match, among other benefits.
With a nix install you can simply do:
nix-shell
make
make install

There are some tweaks that are required for fully hermetic and reproducible builds (ANTLR4 is the main suspect). I am working on those fixes here, with the objective of eventual upstreaming in nixpkgs.
I'm labeling this RFC since Nix is somewhat niche, and totally get not wanting some weird package manager you don't use polluting the repo :).

Very nice!
Nix is a good way to implement dependency management and repeatable builds and I wish more people would use it, so this is a welcome addition.
In this pull request, can you add a line in INSTALL.md ? Maybe after the install line for debian-based systems, something along the lines of

In a nix environment simply type nix-shell to set up the dependencies.

@sjkelly, please add the comment above and we are good to merge.

I took the liberty of structuring the Install guide while I was there. Please be sure to review.

@sjkelly what is the state of your nixpkgs upstream effort ? Would be great to have it available there.

It got stalled out due to a job change. Some useful derivations are in here
for reference: https://github.com/RAPcores/rapcores/tree/main/nix
For what it's worth I will likely end up packaging Surelog for Julia in the
near future though.
On Mon, Sep 20, 2021, 20:57 Henner Zeller @.***> wrote:

@sjkelly https://github.com/sjkelly what is the state of your nixpkgs
upstream effort ? Would be great to have it available there.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/chipsalliance/Surelog/pull/1606#issuecomment-923490427,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAP5MDAYQKSSLMLL7LS5HVTUC7KANANCNFSM5BSCSBOQ
.


Custom server

Hello!
I'm trying to write a custom telemetry server to process data from Tesla.
Note that I'm NOT using fleet-telemetry at all.
I have few questions:

Can you please add the flatbuffers definitions (not the compile Go ones) in the repository)?
I'm not really into Go code, so I need to know the following: do we need to confirm receipt of a message via StreamAckMessage or we just receive StreamMessage and that's it?

Thanks!

I've also looked into this a little bit so will contribute what I know:
The protobuf definitions are all here (compiled pb.go and uncompiled .proto) https://github.com/teslamotors/fleet-telemetry/tree/main/protos
I dont know for sure, but I believe the vehicle is expecting messages to be ack'ed because I have seen vehicles retransmit messages to my fleet-telmetery instances.
Out of interest what language are you writing it in? I started a NodeJS version but gave up very quickly.

Thanks for your input!
Yup, I see the proto there but it seems the message receives them embedded a in a flatbuffer structure. I hope they publish this.
I'm writing them in Node.js (see at my profile and you'll get why ;)). I'm using @fastify/websocket which makes the process pretty easy.

@ShogunPanda are you able to make it work?
We are trying to build using Node/Express and hosting it using Google Cloud Run behind a load balancer.
One of our cars is connecting using Websocket and sending some messages, but we are stuck trying to convert the message to a JSON using protobufJS(https://www.npmjs.com/package/protobufjs)
We did some tests creating a custom proto file, sending a message using Websocket and decoding the message and it worked, but we are failing miserable using the proto files provided on this project.

Unfortunately not. I ended up installing the Go fleet-telemetry and getting it via the JSON stdout log

Here is what I have, this definition is successfully decoding a FlatbuffersStream message. Comments derived via LLM of this file https://github.com/teslamotors/fleet-telemetry/blob/main/messages/stream_message.go . Working fbs definition found by manually inspecting the binary protocol, comparing with the go source, and working with LLM.
namespace tesla;

// Stream message containing telemetry data
table FlatbuffersStream {
  created_at:uint32;             // timestamp
  sender_id:[ubyte] (deprecated);   // deprecated: use combination of device_type + device_id
  payload:[ubyte];               // the protobuf encoded payload
  device_type:[ubyte];          // device identity coming from the certificate derived of Issuer CN
  device_id:[ubyte];            // device identity coming from the certificate derived of Subject CN
  delivered_at_epoch_ms:uint64;  // timestamp (in milliseconds) at which the message reached the backend
}

// Acknowledgment message
table FlatbuffersStreamAck {
  // empty ack message
}

// Define the union with explicit values matching the Message enum
union Message {
  FlatbuffersStream = 4,
  FlatbuffersStreamAck = 5
}

// Main message envelope that wraps all messages
table FlatbuffersEnvelope {
  txid:[ubyte];           // unique transaction id of this message
  topic:[ubyte];          // used for routing messages to backend queues
  message:Message;        // the actual message content as a union
  message_id:[ubyte];     // unique id of the message
}

root_type FlatbuffersEnvelope;

@ShogunPanda @rafadalosto could u guys share with me what you have so far, I am also exploring having a nodejs server for that.


fix(deps): update to libsqlite3-sys v0.25

v0.25.1 the latest published version of libsqlite3-sys, and upgrades sqlite to 3.39.2:
https://github.com/rusqlite/rusqlite/blob/sys0.25.1/libsqlite3-sys/sqlite3/bindgen_bundled_version.rs#L3
Which contains the first SQLite version containing the fix to CVE-2022-35737.
More details on the vulnerability:
https://blog.trailofbits.com/2022/10/25/sqlite-vulnerability-july-2022-library-api/

(FWIW in the near future I hope to get libsqlite3-sys to a point where it no longer needs to make breaking changes. this should make this kind of thing less necessary)

We merged this update to 0.7-dev several weeks ago. It would have been released by now but our priorities changed for a bit; my goal is to get it out by the end of November. This will be the third duplicate PR I've had to close.
Starting with that release, we're considering the linkage with libsqlite3-sys to be semver-exempt so we can upgrade it as necessary, exactly for situations like this. We've historically gotten yelled at for doing that in backwards-compatible releases, so I'm not sure there's anything I can currently do, unless this is enough of an emergency that it warrants releasing 0.7.0 just for this.