[🐞] Tracking DOM Element reference causes QWIK WARN Serializing dirty task

Which component is affected?
Qwik Runtime
Describe the bug

Get a signal of DOM element ref
track() the signal.value in useTask$()
A server warning occurs: QWIK WARN Serializing dirty task. Looks like an internal error.
Doesn't execute the useTask$ when the reference signal gets changed

Reproduction
https://stackblitz.com/edit/qwik-starter-f1bgnu?file=src%2Froutes%2Findex.tsx,package.json
Steps to reproduce
No response
System Info
System:
    OS: Linux 5.0 undefined
    CPU: (8) x64 Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz
    Memory: 0 Bytes / 0 Bytes
    Shell: 1.0 - /bin/jsh
  Binaries:
    Node: 16.20.0 - /usr/local/bin/node
    Yarn: 1.22.19 - /usr/local/bin/yarn
    npm: 9.4.2 - /usr/local/bin/npm
    pnpm: 8.6.10 - /usr/local/bin/pnpm
  npmPackages:
    @builder.io/qwik: ^1.2.10 => 1.2.10
    @builder.io/qwik-city: ^1.2.10 => 1.2.10
    undici: 5.22.1 => 5.22.1
    vite: 4.4.7 => 4.4.7

Additional Information
If you change the initial value of const shown to false (const shown = useSignal(false)) everything works ok.

Simpler reproduction:
import { component$, useSignal, useTask$ } from<EMAIL_ADDRESS>
export default component$(() => {
  const ref = useSignal<HTMLElement>();

  useTask$(({ track }) => {
    track(() => ref.value);
    console.log("H1 tracked", ref.value);
  });
  return (
    <>

TEST

    </>
  );
});

OK here is what is happening.

The useTask$ tracks ref.
The task runs before JSX and sets up a subscription on ref
The component is rendered, and the ref is updated with MockElement (since SSR). This update marks the task as dirty.
During serialization the QWIK WARN Serializing dirty task. Looks like an internal error. is shown because we are serializing a task that is dirty (Task needs to re-run) But during SSR we don't re-run tasks.

Solution
It is not clear to me what the right solution is. Here are the options:

Suppress error, but that is kind of wrong since the task is dirty and needs to re-run. For example, during CSR you would expect the task to run twice. Once with ref of null and once when ref gets set. But in the case of SSR the second execution of the task is swallowed by the serializer. One can't eagerly execute the tasks on the client as this is not a useVisibleTask$
Logically one would expect that the task runs twice. Once during initialization as part of SSR and then eagerly on the client once the ref is set to the actual DOM references. So is this another way to run code eagerly??? I don't like that idea since in wast number of cases we are only interested when ref changes not when it is deserialized.

🤔
Workaround

Ignore the error....
Use useVisibleTask$ when you want to track if the element changes and want to be eagerly notified about the change.

OK here is what is happening.

The useTask$ tracks ref.
The task runs before JSX and sets up a subscription on ref
The component is rendered, and the ref is updated with MockElement (since SSR). This update marks the task as dirty.
During serialization the QWIK WARN Serializing dirty task. Looks like an internal error. is shown because we are serializing a task that is dirty (Task needs to re-run) But during SSR we don't re-run tasks.

Solution
It is not clear to me what the right solution is. Here are the options:

Suppress error, but that is kind of wrong since the task is dirty and needs to re-run. For example, during CSR you would expect the task to run twice. Once with ref of null and once when ref gets set. But in the case of SSR the second execution of the task is swallowed by the serializer. One can't eagerly execute the tasks on the client as this is not a useVisibleTask$
Logically one would expect that the task runs twice. Once during initialization as part of SSR and then eagerly on the client once the ref is set to the actual DOM references. So is this another way to run code eagerly??? I don't like that idea since in wast number of cases we are only interested when ref changes not when it is deserialized.

🤔
Workaround

Ignore the error....
Use useVisibleTask$ when you want to track if the element changes and want to be eagerly notified about the change.

As additional information, if instead of doing "track(() => ref.value);" you do "track((() => ref);" the error disappears and everything runs normally (apparently).

I appreciate your explanation, @mhevery, but none of the workarounds seem sufficient.
1. Ignore the error.... - I can't ignore it because it never again executes the useTask$ block despite the fact that ref.value is tracked. I think this is a bug.
2. Use useVisibleTask$ - Isn't delaying client-side code execution the main goal of QwikJS? In my example, I don't immediately need the correct reference, but once the button is pressed.

I appreciate your explanation, @mhevery, but none of the workarounds seem sufficient.

Yes, I agree with you this is a bug. A workaround is something you can do until a proper solution is found. Sorry if none of the workarounds fit your needs.

1. Ignore the error.... - I can't ignore it because it never again executes the useTask$ block despite the fact that ref.value is tracked. I think this is a bug.
I agree, it is a bug... I just don't have a good solution...

2. Use useVisibleTask$ - Isn't delaying client-side code execution the main goal of QwikJS? In my example, I don't immediately need the correct reference, but once the button is pressed.

Can you track the button pressing rather than the ref?

Thank you, @mhevery. I just wanted to confirm that this is a bug.

using useComputed$ also gives this error in a similar way, like in this following code:
    const swiper = useSignal<Element & { swiper: SwiperClass }>();
    const active = useComputed$(() => swiper.value ? swiper.value!.swiper.activeIndex : 0)

yes, it is the same issue. useCompute and useTask are essentially the same under the hood.

can I take this issue and try to solve it  @mhevery ?

Yep @damianpumar let's go for it. thanks 💪

can I take this issue and try to solve it @mhevery ?

Yes, but let's discuss the solution first. I don't think there is an easy fix, so I don't want you to spend time on a solution that will not be mergeable into a repo.

Since this is a special and desired case, would it not be ok to suppress the error if the task is dirty only because of MockElement signals?
The task does run on the client once the ref is populated, right? So this is useful to run server setup and client setup in one hook?
@devcaeg your workaround doesn't actually set up a listener, so the task isn't dirty.

Also, the error would better be "Task needs rerunning due to tracked signals. This is impossible during SSR and should not be allowed to happen."

yeah, it is not clear to me what the "correct" solution is...

Hi team! I was thinking how to tackle this issue, and after a lot of tests I have one idea:

Put a warning before the actual one just to inform the developer to use the "useVisibleTask$" only for element ref.

I don't know how to re-run the dirty task for refs... in case that you don't agree with this solution, I'd like to do a pair programming with anyone of you to review other solution.
Many thanks!

@mhevery how about populating refs during SSR using untrackedValue? Then tasks won't rerun but the serializer still works

@mhevery how about populating refs during SSR using untrackedValue? Then tasks won't rerun but the serializer still work

This is not about the warning, but rather what should happen if the value changes after it has been rendered? In this case the ref changes after the value renders. So if you are tracking it than the code does not re-run neither on server nor on client. We  lose one transition....

@mhevery but for refs specifically, we know that they can only be useful in the client, and they are connected at the end of the SSR? So it doesn't make sense to react on them?

@mhevery but for refs specifically, we know that they can only be useful in the client, and they are connected at the end of the SSR? So it doesn't make sense to react on them?

I think it does make sense to react to them, but on the client only???

I'm confused :) so in the particular case of refs being assigned to signals during SSR, they don't have to cause tasks to rerun, right?
So in that particular case, they shouldn't mark listening tasks as dirty during SSR?

@mhevery sorry forgot to tag you above

Well depends on how you look at it. When you have a unified execution model then a setting of a ref should cause useTask to rerun. The question is where? At the server or at the client? Arguments can be made for both.

On the server is impossible when the element was already emitted...

Any update?
For now the alternative is to use "useVisibleTask$" or use "useTask$" with "eagerness" in "load" or "visible".

I think we don't have any update about this issue. I have time to review it, but I need some help from you guys, so I don't know if you @wmertens have time to review as a pair programming, maybe together we can fix it.
Thanks!

I think this is fixed by #5741

Simpler reproduction:
import { component$, useSignal, useTask$ } from<EMAIL_ADDRESS>
export default component$(() => {
  const ref = useSignal<HTMLElement>();

  useTask$(({ track }) => {
    track(() => ref.value);
  });
  return
TEST
;
});

I tested this example in the playground and Qwik 1.4.4 solves it.
So I'm closing this issue for now, feel free to re-open it if it's still an issue for you. Thanks.


AH should not have “Discard Amendment” option if staff started it (and vice versa)

Only the category of user that started the amendment (AH/Staff) should be able to discard the amendment.
I thought I had discarded this amendment (RAN099914) started by staff but apparently not. At any rate I didn’t expect to see this amend option.

@micheal-w-wells @calebissharp Not sure who this should be assigned to or if it should be on the discard amendment button but just thought I’d make a new issue to be sure it got captured.

I didn't realize the status went back to staff draft after staff submits it. We're showing the button just based on status and the type of amendment right now, but we may have to add a column that explicitly tracks if the amendment is staff initiated or not. I don't see a clever way out of this one. @micheal-w-wells, thoughts?

I still kind of feel like we are making things hairy not introducing dedicated statuses for amendment drafts/works in progress but i could be out to lunch.  If it were up to me we'd have new statuses for staff created amendments and AH ones and it would make troubleshooting and looking at history easier and save us from reworking the plan status history component and adding extra logic to the status / header code.
If we are sticking with recycling statuses, I think we could at the very least double the amendment types to include staff and AH ones.  That might be our happy medium.
Other option (I'm less a fan of) add another column to plan_status_history and plan_snapshot_summary to say what role put it in that status, it could be a computed one.  In that scenario though now the status component (or someone troubleshooting a plans history and current state) has to take into account:

the current plans status
the role of the user
whether or not its an amendment
what kind of amendment
whether or not the role of the user matches the role of the person who made the amendment

I'm not even sure we'd have to double the amendment types. If we just add a couple of statuses for "Mandatory Amendment in Progress - Staff" and "Mandatory Amendment in Progress - AH", we can use those before the amendment is submitted instead of "Staff Draft" and "Created". That would fix the discard button showing up for the wrong user at least. The new statuses would have the same submission options as their non-amendment counterparts.

now you're speakin' my language.

I did try adding a new column to plan, just for use in determining if the user is able to discard the amendment, but I agree that's less flexible than the statuses.

I have to say, I like where this is going.


Empty body of tracing context blows up

This causes an exception:
model = LanguageModel("gpt2", dispatch=True)
with model.trace() as tracer:
    pass

Exception:
{
	"name": "TypeError",
	"message": "Value after * must be an iterable, not NoneType",
	"stack": "---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
Cell In[43], line 1
----> 1 with model.trace() as tracer:
      2     pass

File ~/miniconda3/lib/python3.11/site-packages/nnsight/contexts/Runner.py:49, in Runner.__exit__(self, exc_type, exc_val, exc_tb)
     47     self._graph = None
     48 else:
---> 49     super().__exit__(exc_type, exc_val, exc_tb)

File ~/miniconda3/lib/python3.11/site-packages/nnsight/contexts/Tracer.py:69, in Tracer.__exit__(self, exc_type, exc_val, exc_tb)
     66 if isinstance(exc_val, BaseException):
     67     raise exc_val
---> 69 output = self._model.interleave(
     70     self._model._execute,
     71     self._graph,
     72     *self._batched_input,
     73     **self._kwargs,
     74 )
     76 self._graph.tracing = False
     77 self._graph = None

TypeError: Value after * must be an iterable, not NoneType"
}

Sorry for the stupid request.

@arjunguha Fixed in latest version


Tidy and package for Nuget v1.0.0

This project needs to be packaged ready for v1.0.0

[ ] Use git filter-branch to remove all unwanted dll files
[ ] Remove all other projects
[ ] Rewrite README
[ ] Create Nuspec file
[ ] Remove unwanted files in Common and util
[ ] Rewrite AssemblyInfo.cs
[ ] Bump version number in solution and project files
[ ] Ensure documentation is built
[ ] Replace .gitignore
[ ] Rename Solution file and test project

Also need to ensure that documentation is packaged along with it.


from_h5ad_unless_exists() needs a ctx argument

@aaronwolen from_h5ad also doesn't have a ctx argument -- what we've been doing is putting the ctx into the SOMA constructor e.g.
soma = tiledb.SOMA(uri, ctx=ctx)
tiledbsc.io.from_h5ad(soma, '/path/to/file.h5ad')
# or
tiledbsc.io.from_h5ad_unless_exists(soma, '/path/to/file.h5ad')

Perhaps we should add an optional ctx argument to all of the tiledbsc.io.from_...., which, if provided, would supersede the ctx (if any) from the SOMA constructor -- ?

I think what we need is https://github.com/single-cell-data/TileDB-SingleCell/pull/230

Oh yeah, I like that approach.

@mdylan2 https://github.com/single-cell-data/TileDB-SingleCell/releases/tag/0.1.4


AL/VScode maintain duplicates (search results, definition errors) of files that are renamed to a different case

Describe the bug
It seems that somewhere between AL and VScode, the situation where a file is renamed only to change the case of one or more letters in its name is not properly handled: it seems VScode ends up maintaining 2 internal references, to before and after names.
This can mean that you see search results for 'both' files or, worse, that it thinks 2 files declare the same AL object and won't build.
To Reproduce

Create a file named Foo.Table.al defining table 50100 Foo
Rename it to foo.Table.al
Search in VScode and see that results from both old and new file name are returned
In some, but not all cases, we get errors that 'both' files declare the same AL objects.

The latter is sporadic but extremely disruptive because it prevents building after fixing a simple case typo. I haven't found a sure-fire fix, other than renaming the file to something else and back, and/or restarting VScode, often having to repeat until it 'works'. I also don't have an example handy or know of a reliable way to repro that yet... but it has happened enough to be a real problem. That stands to reason: if VScode can't even realise that it only has one copy of the file, of course AL will think it's got 2 definitions.
Testing just there, doing "Close All" and searching again seemed to fix it, but I don't think it is always that simple!
Expected behavior
The file was renamed, so VScode should know that, and we should only see search results for the new name, and no object errors. We should not have to 'trick' it into working right.
Screenshots
The file mentioned above after renaming:

Duplicates in search:

5. Versions:

AL Language: 5.0.312966

Business Central: 16.0.11240.12076

Can confirm, also encountered this today.. was just going to make an issue : )
I could not get it fix with renaming to something else and back, I ended up with other name/object id just to be able to get it out my 'problems' list..
The app does compile/publish with these errors..

@waldo1001 Have you seen similar reports from other users using the CRS extension?
Not sure how others are dealing with this, but I'm getting crazy on these errors ...

Would love to have a use case on this.. .  As I don't get this.


Graph API updates

do we need add rest api to get these meta data ?

Yes, but I'll just leave it in a next PR


[Feature]: How to get real-time compilation progress and send it to the client?

What problem does this feature solve?
https://rspack.dev/zh/plugins/webpack/internal-plugins#progressplugin
The documentation mentions it, but the function does not take effect when passed in!
There is an option to enable progress in webpack-dev-server:
https://github.com/webpack/webpack-dev-server/blob/530db07435fd5c826aa105b2825324e10f2aea18/lib/Server.js#L1686
What does the proposed API of configuration look like?
Refer to the functional API of webpack.
https://github.com/webpack/webpack-dev-server/blob/530db07435fd5c826aa105b2825324e10f2aea18/lib/Server.js#L1686

Passing compilation progress from rust side to js frequently seriously regresses the performance. I think this feature will not be implemented before a efficient way is found.


adding decryption

Closes #36

Codecov Report

Merging #43 into master will decrease coverage by 0.91%.
The diff coverage is 46.15%.

@@            Coverage Diff             @@
##           master      #43      +/-   ##
==========================================
- Coverage   45.88%   44.96%   -0.92%
==========================================
  Files           5        5
  Lines         255      278      +23
==========================================
+ Hits          117      125       +8
- Misses        135      148      +13
- Partials        3        5       +2

Impacted Files
Coverage Δ

main.go
6.89% <0%> (-0.35%)
:arrow_down:

metrics.go
100% <100%> (ø)
:arrow_up:

primaryHandler.go
82.35% <42.85%> (-6.78%)
:arrow_down:

deviceStatus.go
86.36% <57.14%> (-5.31%)
:arrow_down:

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 ef53c83...de0c162. Read the comment docs.


expo: command not found

Environment:
OS: macOS Mojave 10.14
Node: 10.8.0
Yarn: 1.9.4
npm: 6.2.0
Watchman: 4.9.0
Xcode: Xcode 9.4.1 Build version 9F2000
Android Studio: 3.0 AI-171.4443003

Description
hello, i have a problem when i run the command anoa init project_name , and i select Expo Boilerplate as shown in the attached screenshot

Thank you @tabahsetyoaji, it should be fixed now.


UE5.3 records just "you"

The setup for Runtime audio importer and speech recognizer just always recognizes "you"
Tested on UE5.3 blank project freshly activated plugins. Used mic to capture audio.
Worked with same setup on UE5.1

Yes problem was that UE5.3 changes the input device detection and therefore you have to set your input device manually in the BP

Yes problem was that UE5.3 changes the input device detection and therefore you have to set your input device manually in the BP.


Workaround for VisualAspect default color bug

This is a workaround for https://github.com/dartsim/dart/issues/739 pending an upstream fix.

This change is

Coverage decreased (-0.06%) to 88.051% when pulling e8bdd855839bcaa9f52973632815541dd4fee007 on bugfix/VisualAspectColor into 407a63412ced386e99497320ed94da99771473ac on master.

@mkoval: what were your thoughts on https://github.com/dartsim/dart/issues/739#issuecomment-229189512

Coverage remained the same at 86.288% when pulling 974f5935b2da56759c70c5cb549dc96861d2a176 on bugfix/VisualAspectColor into 67747e1f3cf40791c63ec98a7899160a47ab1608 on master.

I will merge this workaround for now, since most of our visual meshes (e.g. HERB) are textured. We can revisit the topic in the future to come up with a more convincing fix.

Coverage remained the same at 86.288% when pulling 13c11111eb3b6b8096e75c9e3e897c2900c287b1 on bugfix/VisualAspectColor into 3942ff77f03a48767091fda60afe6386f20b62b2 on master.


feat: add SwitchProps

[x] Added SwitchProps to standardize props for the Switch component

There are many kinds of switches, SPST, SPDT, DPDT etc. so we want to be forward looking in our API design. I've added some suggestions that I believe should cover the future cases

SPST is currently important as mentioned in the issue!!

@abhijitxy can you try to get the formatting pass to check?


fix(.circleci): add context: infinitered-npm-package

Please verify the following:

[x] yarn test jest tests pass with new tests, if relevant
[x] README.md has been updated with your changes, if relevant

Describe your PR
Add context: infinitered-npm-package to circleci package to source NPM_TOKEN and GITHUB_TOKEN env keys

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


get_extra_audio_track() not working

:exclamation:  DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE :exclamation:
lack of information will lead to closure of the issue

Describe the bug
Filtering Dubbed Streams :
get_extra_audio_track() give no results.

from pytubefix import YouTube

yt = YouTube('https://www.youtube.com/watch?v=g_VxOIlg7q8')

for s in yt.streams.get_extra_audio_track():
    print(f"{s.itag} {s.includes_multiple_audio_tracks} {s.audio_track_name}")

...

from pytubefix import YouTube

yt = YouTube('https://www.youtube.com/watch?v=uRw2Tbik_k8')

at=yt.streams.filter(type="audio",audio_track_name="German").desc().first()

Expected behavior
139 True German
139 True Spanish
140 True German
140 True Spanish
249 True German
249 True Spanish
250 True German
250 True Spanish
251 True German
251 True Spanish
599 True German
599 True Spanish
600 True German
600 True Spanish

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

OS: Windows 11
Python Version [actual stable]
Pytubefix Version [latest]

Additional context
Add any other context about the problem here.

YouTube is changing the format of its clients frequently, try using the IOS or WEB_EMBED client.

Oh, thx..  works ..
but with WEB_EMBED a lot of video unavaible...


chore: release 0.10.0

:robot: I have created a release *beep* *boop*
0.10.0 (2021-06-29)
Features

Add From* methods to set oneOf data models (#45) (4bc1140)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/contiamo/openapi-generator-go/releases/tag/v0.10.0 :sunflower:


404 not found

curl "https://castor.jolicode.com/install" | bash
there is a 404 not found when we install the project through this command.

We are currently fixing it. Thanks for your issue :)
Closing as duplicate of #518


volmods

Moto is cool! Added changes to show attached volumes on an instance (handling ghost volume as well), search volumes/snapshots by their IDs and show placement and start/create times based on API usage.

This is great! I just had one comment/question and then happy to get this merged.

Thanks!


generate different content type inputs as overloads

Currently, our logic for generating different content type requests in an operation is very convoluted and the output isn't the easiest for users to use.
The logic for this content type code was very convoluted because we were actively undoing what m4 gave us, then rebuilding our own mapping. Now that @timotheeguerin has greatly improved what m4 is giving us, we should take this opportunity to clean up this code a lot.
Additionally, to become closer to what m4 is giving us (basically an overload for each individual m4 request), and to make our outputted operation easier for end users, we should create overloads for each different content type request.
For example, what we used to generate as
def analyze_body(self, input: Optional[Union[IO, JSONType]], *, content_type: Optional[str] = "application/json"):
  ...
  if content_type.split(";")[0] in ["application/json"]:
      if input is not None:
          _json = input
  elif content_type.split(";")[0] in ["application/pdf", "image/jpeg", "image/png", "image/tiff"]:
      _content = input
  else:
      raise ValueError(
          "The content_type '{}' is not one of the allowed values: "
          "['application/pdf', 'image/jpeg', 'image/png', 'image/tiff', 'application/json']".format(content_type)
      )
  ...

We should now generate as
@overload
def analyze_body(self, input: JSONType, *, content_type: Optional[str] = "application/json"):
  ...
@overload
def analyze_body(self, input: IO, *, content_type: Optional[str] = "application/octet-stream"):
  ...
def analyze_body(self, input: Optional[Union[IO, JSONType]], *, content_type: Optional[str] = None):
  ...
  if isinstance(input, IO):
    # we should think of a better way to determine if something is an IO input
    content_type = content_type or "application/octet-stream"
    _content = input
  else:
    content_type = content_type or "application/json"
    _json = input
  ...

Make sure the docs are clear that instead of using content type to determine how to deal with the body, we inspect the body, and give a content type (if the user didn't input it)

fixed!


Throw uncontrolled error when simulating by steps

I'm trying to simulate the attached network, getting results step by step (runH-nextH), and I receive this error:
"Invalid function pointer 10 called with signature 'iiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this). Build with ASSERTIONS=2 for more info."
If I use runProject it works perfect and simulating step by step in other networks works fine too.
Some idea? Thanks in advance.
network.zip

I tested the issue again and the problem is related with the pump and the demand next to it. If I change the pump by a pipe or remove the demand in the junction (Id="2") it works fine.
I mention it in case it can help locate the problem.

@neslerel apologies I completely missed this issue.
I believe this is being caused by #17, the best workaround is doing a try catch and ignoring if its just a warning. I need to revisit and fix this bug

Thank @lbutler for your response.
For the moment I have chosen to do the complete simulation and read the results from the binary file.
If it is caused by https://github.com/modelcreate/epanet-js/issues/17, I close this issue.


If any of the m50 files have a formatting error, they fail to compile, but they don't output an error message in the UI

Migrated from GitLab: https://gitlab.com/meltano/meltano/-/issues/1528
Originally created by @emilie on 2020-01-06 02:32:13

What is the current bug behavior?
My m5o files in the UI weren't updating and I couldn't figure out why. I checked the logs to find an error message. Given the workflow went fine, I'd expect an error message somewhere in the UI.
What is the expected correct behavior?
As a user, I would expect to see an error modal in the UI if there was a problem given that I set up my pipeline using the UI.
Steps to reproduce
Create a new .table.m50 file that is missing a columns{} section.
This means it has to have a timeframes{} and an aggregates{} section.
Relevant logs and/or screenshots
(meltano) 21:17:21 ~/reading-analysis (master *%) $ meltano ui
[MainThread][INFO][2020-01-05 21:17:38,764] Context impl SQLiteImpl.
[MainThread][INFO][2020-01-05 21:17:38,765] Will assume non-transactional DDL.
System database up-to-date.
[MainThread][INFO][2020-01-05 21:17:39,095] Auto-compiling models in '/Users/emilieburke/reading-analysis/model'
[  Thread-3][INFO][2020-01-05 21:17:39,145] Auto-generating dbt docs for in '/Users/emilieburke/reading-analysis/transform' for target-postgres
[MainThread][INFO][2020-01-05 21:17:39,147] All workers started.
[2020-01-05 21:17:39 -0500] [78381] [INFO] Starting gunicorn 19.9.0
[2020-01-05 21:17:39 -0500] [78381] [INFO] Listening at: http://<IP_ADDRESS>:5000 (78381)
[2020-01-05 21:17:39 -0500] [78381] [INFO] Using worker: sync
[2020-01-05 21:17:39 -0500] [78385] [INFO] Booting worker with pid: 78385
[2020-01-05 21:17:39 -0500] [78392] [INFO] Booting worker with pid: 78392
[2020-01-05 21:17:39 -0500] [78396] [INFO] Booting worker with pid: 78396
[2020-01-05 21:17:39 -0500] [78400] [INFO] Booting worker with pid: 78400
WARNING:root:The following variables are insecure and should be regenerated:
	- 'SERVER_NAME': variable is unset.
	- 'SECRET_KEY': variable has test value.
	- 'SECURITY_PASSWORD_SALT': variable has test value.

Use `meltano ui setup` command to generate new secrets.
WARNING:root:The following variables are insecure and should be regenerated:
	- 'SERVER_NAME': variable is unset.
	- 'SECRET_KEY': variable has test value.
	- 'SECURITY_PASSWORD_SALT': variable has test value.

Use `meltano ui setup` command to generate new secrets.
WARNING:root:Failed to compile topics: reading_progress.table.m5o: Missing field in table: "columns"
WARNING:root:Failed to compile topics: reading_progress.table.m5o: Missing field in table: "columns"
WARNING:root:The following variables are insecure and should be regenerated:
	- 'SERVER_NAME': variable is unset.
	- 'SECRET_KEY': variable has test value.
	- 'SECURITY_PASSWORD_SALT': variable has test value.

Use `meltano ui setup` command to generate new secrets.
WARNING:root:The following variables are insecure and should be regenerated:
	- 'SERVER_NAME': variable is unset.
	- 'SECRET_KEY': variable has test value.
	- 'SECURITY_PASSWORD_SALT': variable has test value.

Use `meltano ui setup` command to generate new secrets.
WARNING:root:Failed to compile topics: reading_progress.table.m5o: Missing field in table: "columns"
WARNING:root:Failed to compile topics: reading_progress.table.m5o: Missing field in table: "columns"
WARNING:root:Failed to compile topics: reading_progress.table.m5o: Missing field in table: "columns"
WARNING:root:Failed to compile topics: reading_progress.table.m5o: Missing field in table: "columns"
WARNING:root:Failed to compile topics: reading_progress.table.m5o: Missing field in table: "columns"
WARNING:root:Failed to compile topics: reading_progress.table.m5o: Missing field in table: "columns"
Running with dbt=0.14.4
Found 4 models, 0 tests, 0 snapshots, 0 analyses, 243 macros, 0 operations, 0 seed files, 0 sources

21:17:48 | Concurrency: 2 threads (target='postgres')
21:17:48 |
21:17:48 | Done.
21:17:49 | Building catalog
21:17:50 | Catalog written to /Users/emilieburke/reading-analysis/.meltano/transformers/dbt/target/catalog.json
[  Thread-3][INFO][2020-01-05 21:17:50,743] Awaiting task

Possible fixes
Present the error in the UI :smile:
Further regression test
Ensure we automatically catch similar issues in the future

[ ] Write additional adequate test cases and submit test results
[ ] Test results should be reviewed by a person from the team

View 3 previous comments from the original issue on GitLab


[Good First Issue]: chatglm3 fails with jsonl input

Context
when I try to run chatglm3 it fails.
command used:

error:
[ ERROR ] An exception occurred
[ INFO ] Traceback (most recent call last):
File "C:\Users\Local_Admin\openvino.genai\llm_bench\python\benchmark.py", line 547, in main
iter_data_list, pretrain_time = CASE_TO_BENCH[model_args['use_case']](model_path, framework, args.device, model_args, args.num_iters)
File "C:\Users\Local_Admin\openvino.genai\llm_bench\python\benchmark.py", line 210, in run_text_generation_benchmark
run_text_generation(input_text, num, model, tokenizer, args, iter_data_list, warmup_md5, prompt_idx, bench_hook, model_precision, proc_id)
File "C:\Users\Local_Admin\openvino.genai\llm_bench\python\benchmark.py", line 107, in run_text_generation
result = model.generate(**input_data, max_new_tokens=int(max_gen_tokens), num_beams=args['num_beams'], use_cache=True, eos_token_id=None)
File "C:\Users\Local_Admin\openvino.genai\llm_bench\python\python-env\lib\site-packages\torch\utils_contextlib.py", line 115, in decorate_context
return func(*args, **kwargs)
File "C:\Users\Local_Admin\openvino.genai\llm_bench\python\python-env\lib\site-packages\optimum\intel\openvino\modeling_decoder.py", line 642, in generate
result = super().generate(
File "C:\Users\Local_Admin\openvino.genai\llm_bench\python\python-env\lib\site-packages\torch\utils_contextlib.py", line 115, in decorate_context
return func(*args, **kwargs)
File "C:\Users\Local_Admin\openvino.genai\llm_bench\python\python-env\lib\site-packages\transformers\generation\utils.py", line 1576, in generate
result = self._greedy_search(
File "C:\Users\Local_Admin\openvino.genai\llm_bench\python\utils\hook_greedy_search.py", line 234, in new_greedy_search
model_inputs = self.prepare_inputs_for_generation(input_ids, **model_kwargs)
File "C:\Users\Local_Admin\openvino.genai\llm_bench\python\utils\ov_model_classes.py", line 311, in prepare_inputs_for_generation
mask_positions.append(seq.index(tmp_mask_token))
ValueError: 130000 is not in list
What needs to be done?
not sure
Example Pull Requests
No response
Resources

Contribution guide - start here!
Intel DevHub Discord channel - engage in discussions, ask questions and talk to OpenVINO developers
How to link your Pull Request to an issue

Contact points
NA
Ticket
No response

chatGLM. error.txt

Issue is seen with simple prompts as well  (-p) cli

@avinashbhat09  If this is same as CVS-136766?

@peterchen-intel : Yes, it looks to be same issue

@avinashbhat09 Can you please provide one details
openvino.genai commit id
hugging face model commit ID or how you get the IR model?
conversion command line

@avinashbhat09
genai commit id: 5562025d83 (master)
openvino: 4fcfaf24b30
chatglm3 can run successfully on both CPU and dGPU
chatglm3_run_on_dGPU.txt
chatglm3_run_on_CPU.txt

@avinashbhat09 We can't reproduce it. Can you try with updated openvino.genai?

Hi, we can close this ticket.


typescript format not working

Update - after removing trailing comma after formatOnSave, it seems to be working now.
Format with ctrl-alt-l and format on save does not seem to work at all, it's not doing anything.
I have the following tsconfig.json.  Am I missing something?
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"moduleResolution": "node",
"sourceMap": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"removeComments": true,
"noImplicitAny": true,
"suppressImplicitAnyIndexErrors": true
},
"exclude": [
"node_modules",
"typings/main",
"typings/main.d.ts"
],
"formatCodeOptions": {
"indentSize": 4,
"tabSize": 4,
"newLineCharacter": "\r\n",
"convertTabsToSpaces": true,
"insertSpaceAfterCommaDelimiter": true,
"insertSpaceAfterSemicolonInForStatements": true,
"insertSpaceBeforeAndAfterBinaryOperators": true,
"insertSpaceAfterKeywordsInControlFlowStatements": true,
"insertSpaceAfterFunctionKeywordForAnonymousFunctions": false,
"insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis": false,
"placeOpenBraceOnNewLineForFunctions": false,
"placeOpenBraceOnNewLineForControlBlocks": false
},
"atom": {
"formatOnSave": true,
}
}

Update - after removing trailing comma after formatOnSave, it seems to be working now.

Yup. Invalid json => invalid tsconfig => no typescript support :rose: FWIW you should have seen an error in the error panel :rose:


Include intelli-shell

It doesn't have many stars yet as it is pretty new, but as this list have been very useful for me, I hope I can contribute back with it.

Upvoting it, it's pretty awesome


yast link

Hi,
very nice new landing page. I am just not sure if we should point for yast to https://en.opensuse.org/Portal:YaST which is a bit old, but still contain the most information or to newer but not complete http://yast.github.io/
Josef

Why not incorporate this as part of the main theme and the openSUSE infrastructure?

Thank you for reporting this issue. In fact, we had both links ..one in the image and another in the actual link.. Bad Bad.. now it is fixed :+1:


More Detailed Simulation

At each timestep show the following

v2v links
vehicle ID

Vehicle ID's and Building ID's now have option to printed, but buggy. VIDs still print outside map and BID print works only for smartJunction.


Issues with the parser

Lack of comment support RIP
Some node types never occur:

AssemblyStackAssignment
LabelDefinition
ThrowStatement

undefined, null and empty arrays are used interchangably
AssemblyAssignment

.names is Identifier[] | AssemblyMemberAccess[] but should be (YulIdentifier | YulPath)[]
should be renamed to YulAssignment

AssemblyBlock

should be renamed to YulBlock

AssemblyCall

(CRITICAL) mistakenly used for identifiers. No way to differentiate between foo and foo() in yul.
should be renamed to YulFunctionCall

AssemblyCase

could be integrated into switch as it doesn't have it's own node in the documentation

AssemblyFor

should be renamed to YulForStatement
.pre is AssemblyBlock | AssemblyExpression but should be YulBlock
.post is AssemblyBlock | AssemblyExpression but should be YulBlock

AssemblyFunctionDefinition

should be renamed to YulFunctionDefinition
.name is string but should be YulIdentifier

AssemblyIf

should be renamed to YulIfStatement

AssemblyLocalDefinition

should be renamed to YulVariableDeclaration
.names is Identifier[] | AssemblyMemberAccess[] but should be (YulIdentifier | YulPath)[]

AssemblyMemberAccess

should be renamed to YulPath

AssemblySwitch

should be renamed to YulSwitchStatement
I would chage the signature completely: { expression, caseValues[], caseBlocks[], defaultBlock? }

Missing YulBoolean
(CRITICAL) Missing YulLeaveStatement (unnamed in docs)
BinaryOperation

better name: BinaryExpression (unnamed in docs)

Block

.statements is BaseASTNode[] should be ASTNode[]

Break

better name: YulBreakStatement (unnamed in docs)

CatchClause

.kind is string but should be Identifier
.parameters is VariableDeclaration[] | null but should be ParameterList | null

Missing ParameterList
Continue

better name: YulContinueStatement (unnamed in docs)

Conditional

better name: TernaryExpression (unnamed in docs)

ContractDefinition

should be split into ContractDefinition, InterfaceDefinition, LibraryDefinition
.kind should be replaced with .isAbstract
.subnodes is BaseASTNode[] but should be ASTNode[]

CustomErrorDefinition

should be renamed to ErrorDefinition
.name is string but should be Identifier
.parameters is VariableDeclaration[] but should be ErrorParameter[]

Missing ErrorParameter
DecimalNumber

should be renamed to YulDecimalNumber

ElementaryTypeName

.stateMutability should be replaced with .isPayable

EnumDefinition

.name is string but should be Indentifier
.members is EnumValue[] but should be Identifier[]

EnumValue

should be removed

EventDefinition

.name is string but should be Indentifier
.parameters is VariableDeclaration[] but should be EventParameter[]

Missing EventParameter
FileLevelConstant

should be renamed to ConstantVariableDeclaration
.name is string but should be Indentifier

ForStatement

.conditionExpression is Expression but should be ExpressionStatement
.loopExpression is ExpressionStatement but should be Expression

FunctionCall

better name: CallExpression (unnamed in docs)
.arguments is Expression[] but should be CallArgumentList

(CRITICAL) Missing CallArgumentList and support for named arguments
FunctionDefinition

.name is string but should be Indentifier
.parameters is VariableDeclaration[] but should be ParameterList[]
.override is UserDefinedTypeName[] but should be OverrideSpecifier
.returnParameters is VariableDeclaration[] but should be ParameterList[]

Missing OverrideSpecifier
HexLiteral

should be renamed to HexStringLiteral

HexNumber

should be renamed to YulHexNumber

Identifier

should be split into Identifier and YulIdentifier

IndexAccess

better name: IndexExpression (unnamed in docs)

IndexRangeAccess

better name: IndexRangeExpression (unnamed in docs)
.indexStart is Expression? but should be Expression | null
.indexEnd is Expression? but should be Expression | null

InheritanceSpecifier

.baseName is UserDefinedType but should be IdentifierPath
.arguments is Expression[] but should be CallArgumentList | null

InlineAssemblyStatement

should be renamed to AssemblyStatement
.flags is string[] but should be string[] | null - () vs nothing

Mapping

should be renamed to MappingType
.keyType is UserDefinedTypeName | ElementaryTypeName but should be ElementaryTypeName | IdentifierPath

MemberAccess

better name: MemberExpression (unnamed in docs)
.memberName is string but should be Identifier

ModifierDefinition

.name is string but should be Indentifier
.parameters is VariableDeclaration[] but should be ParameterList[]
.override is UserDefinedTypeName[] but should be OverrideSpecifier

ModifierInvocation

.name is string but should be IdentifierPath
.arguments is Expression[] | null but should be CallArgumentList | null

NameValueList

should be removed and merged into NameValueExpression

PragmaDirective

.node and .value should be replaced with .tokens: string[]

RevertStatement

seems to be parsed incorrectly and use TupleExpression
I would chage the signature completely: { expression: Expression | null, arguments: CallArgumentList }

StateVariableDeclaration

.variables is unnecessary, there is always a single variable!

StateVariableDeclarationVariable

should be removed and merged into StateVariableDeclaration
impossible to differentiate from VariableDeclaration in a type safe way

StringLiteral

should be split into StringLiteral and YulStringLiteral
(CRITICAL) .isUnicode is set even if no unicode tag is present in source.

StructDefinition

.name is string but should be Identifier
.members is VariableDeclaration[] but should be StructMember[]

Missing StructMember
TryStatement

.returnParameters is VariableDeclaration[] | null but should be ParameterList[] | null

TupleExpression

.components is BaseASTNode but should be Expression

TypeDefinition

should be renamed to UserDefinedValueTypeDefinition
.name is string but should be Identifier

UnaryOperation

better name: UnaryExpression (unnamed in docs)

UserDefinedTypeName

I think it was supposed to be IdentifierPath

UsingForDeclaration

should be renamed to UsingDirective
.libraryname is string but should be IdentifierPath
.function is string[] but should be IdentifierPath[]

VariableDeclaration

quite a complex beast compared to docs. I'd like to see how much functionality remains here after other changes.

VariableDeclarationStatement

(CRITICAL) No way to distinguish between bool a =  and (bool a) = . To solve this VariableDeclarationTuple should be introduced.

6.1 has been fixed, the rest of these concerns are going to be addresed as second deserializer. The first one is going to keep compatibility with solidity-parser while the second one is going to return a sane result.


fix error when it is not in json format

When response is not json, it throws error that looks like bug in the code: an example here: https://github.com/Azure/azure-iot-explorer/issues/138
Added a try catch with a bit of generic hep text

Some tests start to fail possibly due to the deprecation warnings start to become errors. Fixed in second commit.

Is it always because the connection string is wrong?

Is it always because the connection string is wrong? The error message seems to be more specific than generic.

Agree... I changed the wording to be slightly loose. Most of time, if the response from the API doesn't contain any json body (which is the case we are seeing error with no messages) are the case we will show this 'generic error', which mostly due to invalid connection string.

Is it always because the connection string is wrong? The error message seems to be more specific than generic.

Agree... I changed the wording to be slightly loose. Most of time, if the response from the API doesn't contain any json body (which is the case we are seeing error with no messages) here, are the case we will show this 'generic error', which mostly due to invalid connection string.

Ideally we would have a regex check on the connection string and report specifically what is invalid about the connection string. Otherwise without a response from the server we don't really know what's going on.

Is it always because the connection string is wrong? The error message seems to be more specific than generic.

Agree... I changed the wording to be slightly loose. Most of time, if the response from the API doesn't contain any json body (which is the case we are seeing error with no messages) here, are the case we will show this 'generic error', which mostly due to invalid connection string.

Ideally we would have a regex check on the connection string and report specifically what is invalid about the connection string. Otherwise without a response from the server we don't really know what's going on.

I've updated the helper to check if it contains the repo id. But even with the regex check, we don't know if it is wrong or not. A example is, if a connection string is deleted from the portal, then user would not get any reponse back (which belongs to the cases I am handling here).

Is it always because the connection string is wrong? The error message seems to be more specific than generic.

Agree... I changed the wording to be slightly loose. Most of time, if the response from the API doesn't contain any json body (which is the case we are seeing error with no messages) here, are the case we will show this 'generic error', which mostly due to invalid connection string.

Ideally we would have a regex check on the connection string and report specifically what is invalid about the connection string. Otherwise without a response from the server we don't really know what's going on.

I've updated the helper to check if it contains the repo id. But even with the regex check, we don't know if it is wrong or not. A example is, if a connection string is deleted from the portal, then user would not get any reponse back (which belongs to the cases I am handling here).
Also, those cases, they won't even fail at the api step, as it would fail the connection string text field validation.
It is the cases that it cannot be pre-validated, and still the api has no response body, is where we want to show users of this error.

I guess what I'm saying is we only really know as much as what the API response is telling us. For the same reason you referenced above, we can't distinguish between the connection string being wrong, the connection string keys being removed, the hub being deleted, or any number of scenarios. So what I'm saying is it seems like we're trying to infer something specific from no information since the response body is empty which is think could be problematic. The information we do have is the connection string and the regex which we can easily validate. Which is why I prefer the new wording because if it turns out not to be a connection string problem we weren't determining with certainty that this was the issue.


Unfortunately, your request to provision "Microsoft 365 learning pathways"  template failed.

Here is the exception that occurred:
In order to provision the template you need to have an App Catalog in your tenant. Please, create one (for instructions you can read this document: https://go.microsoft.com/fwlink/?linkid=2087251), wait up to 30 minutes, and try again.
PnP Correlation ID: eeb2ed46-cec2-4e02-80e8-f4cc7d8c2e4e

Hi, Thanks for your feedback. I'm closing this item because it is now outdated.


use of unstable library feature 'error_in_core'

Description

Steps to Reproduce

git clone https://github.com/SeaQL/sea-orm
cd sea-orm/examples/basic
cargo run

Expected Behavior
program should be compiled successfully and run
Actual Behavior
compile with error: error[E0658]: use of unstable library feature 'error_in_core'

even when I create a hello world project ,and add sea-orm to cargo.toml, the project also report this error.
My rust version info:
cargo 1.78.0 (54d8815d0 2024-03-26)
rustc 1.78.0 (9b00956e5 2024-04-29)
Reproduces How Often

Workarounds

Reproducible Example

Versions

oh, it's the MSRV of the idna crate, which I don't maintain. you can try updating your rustc to at least 1.80

I had 1.80.0 and the error still persisted:
$ rustc --version
rustc 1.80.0 (051478957 2024-07-21)

After updating to 1.83 using rustup update, the issue was fixed.
rustc 1.83.0 (90b35a623 2024-11-26)

I would close the issue.

I can confirm that the MSRV is 1.81

Sad news.
sea-orm 1.1.1 - is the last version that can be compiled by rustc 1.75.
rustc 1.75 - is the last version with prebuilt toolchain binaries that can be running on Windows 7.
I post this comment to help others find out last version of sqlx to compile under Windows 7.


Add a core module

This PR is a test for adding a core module containing core functionality for working with the Earth Engine Python API. It will greatly simplifies the geemap module, making it easier for the Earth Engine team to maintain it. The community will maintain the extended features in other modules.

Superseded by #1544


Release Nov 17, 2023

The following packages will be released:

<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>

Thank you for contributing to Terra.
@cerner/terra

Closing for https://github.com/cerner/terra-framework/pull/1905


Expressing L5 and M5 timing and how this affects averaging across days

L5 and M5 timing in part 5 are converted timing in hours relative to previous midnight. When averaging across days this makes sense for variables relating to the timing of sleep, but not necessarily for the timing of L5 and M5.
For example, 13 (1pm) and 35 (11am), will average to become 24 (midnight), which is not informative because the real average is noon.
If we change the numeric timing to be the hour in the day, like we do in part 2 we will have a different problem: For example, 11pm and 1am will result in an average timing of noon, because (23+1)/2=12, while it should be midnight.
So, either way averaging the timing of an event across individuals is tricky if we do this based on numeric timestamps. Would be good to see how other packages solve this issue.

It seems there is no solution for this, except that we may need to update documentation to warn about this.

Closing this issue now, I have updated the part 5 output variable documentation in the vignette now. To warn user about this.


Question: How to remove backend prefix to docker containers?

When I create the label:
traefik.backend: aoh in my docker-compose file, traefik adds backend_aoh instead of aoh, how can I remove that? If I manually set the rules in the toml file, I can get the backend to be named aoh by using [backends.aoh]

Hello @JemiloII , thanks for your interest in the project!
This naming is internal, and depends on dynamic generation from Docker.
You don't need to change this since it is not related to any configuration.
If you have any question, do not hesitate to use the slack channel: https://slack.traefik.io/ .


Standalone routing does not work

my english is very bad,Please accept my full apologies.
standalone can use in v2?
like http://localhost:5000/?url=http://xxx.xxx/xxx.json

@swederik do you have an example URL for custom JSON you can provide?
@kongzhonglei, I believe it's supported; but the documentation on it is sparse.

http://dcm.shuaiyimedical.cn/3006/20190712/54006/54006.json

Hmm looks like there is a bug with the URL query string parsing.
Here is the code: https://github.com/OHIF/Viewers/blob/f7ba7621efb284980c0cf0b86767002cad18dd86/src/routes/StandaloneRouting.js#L13
The idea is that something like this should work: http://viewer.ohif.org/viewer?url=https://s3.eu-central-1.amazonaws.com/ohif-viewer/JSON/PTCTStudy.json (but right now it doesn't)

if can,please tell me the full url. thank you

Just fixed this. This URL should work soon: http://viewer.ohif.org/viewer?url=https://s3.eu-central-1.amazonaws.com/ohif-viewer/JSON/PTCTStudy.json
You have to wait for the tests etc to run on master first though, maybe wait 10-15 minutes before testing this.


chore(internal): Fix bug where note is not properly deleted via writeNote

Bug
When engine.writeNote is called and the id is different, the intended behavior is to delete the old note with the old id and create a new note with the new id. Currently there is a out-of-sync issue where the engine retains the old note b/c we forgot to filter out the delete entries from changeEntries.

Wow nice catch! I've encountered this a lot after refactor hierarchy; the note graph would render both old and new notes, and also subsequent renames on the new note would fail unless I reload VSCode first.


security.allowedUNCHosts does not appear to work

I'm not sure what I'm supposed to do here, according to the documentation this should(?) work:

Is the note in the penultimate paragraph of https://code.visualstudio.com/docs/setup/windows#_working-with-unc-paths (about remote workspaces) relevant to you?

Did you restart?

I thought I restarted, but maybe I didn't. It works today 🤔


After clicking the lobby creation button and entering username, the creator can click on a button to configure the lobby

9837a893917a5cc046be06e3b3ab4f9b15e10005


Arch mod

Thanks for sharing the implementation!  These are just a few small changes to achieve numerical consistency with the TF version by:

Modifying the padding algorithm to match Tensorflow "SAME" for Unit3Dpy and MaxPool3dTFPadding.
Updating the batch norm hyperparams.

Tested on PyTorch 0.4.1.  Running the i3d_pt_demo.py produces:
Top 5 classes and associated probabilities:
[playing cricket]: 9.999968E-01
[playing kickball]: 1.335340E-06
[catching or throwing baseball]: 4.553116E-07
[shooting goal (soccer)]: 3.143419E-07
[catching or throwing softball]: 1.924329E-07
Top 5 classes and associated probabilities:
[playing cricket]: 9.477569E-01
[hurling (sport)]: 4.068211E-02
[playing tennis]: 4.154132E-03
[playing squash or racquetball]: 2.474060E-03
[hitting baseball]: 1.380014E-03
===== Final predictions ====
logits proba class
4.181368e+01 1.000000e+00 playing cricket
2.149398e+01 1.497148e-09 hurling (sport)
2.013410e+01 3.843058e-10 catching or throwing baseball
1.922558e+01 1.549212e-10 catching or throwing softball
1.891534e+01 1.135999e-10 hitting baseball

@albanie I stopped closely following this repo a long while ago and it looks like I missed this pull request, although it appears super useful and also looks related to a recently raised issue !
It is said that better late than never :) (and on our time-scales one and a half year is arguably close to never !)
Have a great day !
Best,
Yana


Reordering of Shortcuts

currently users can't reorder the Shortcuts in the eXtension - they are ordered depending on their creation date which can't be changed.
Options for ordering could be:

alphabetical
custom (drag & drop)
creation date
...?

solved in 0.4


New role "economist"

For viewing grants in specified calls. For uploading documents to calls.

No, this was based on a misunderstanding of the need.


bug: autobuyer don't listed automatically the won items

Prerequisites

[X] I have searched for existing issues that already report this problem, without success.

Script Version
4.13
Platform
Webapp
Current Behavior
Hello,
Yesterday, all the features of the autobuyer were working well. Today, when it buys a player, it doesn't list him automatically. When I try to list him myself, it tells me that it can't perform the action because of an error.
What should I do?
I tried to restart the application, restart the PC, ... nothing works...
Expected Behavior
I don't know unfortunately...
Steps to Reproduce
I can't explain how duplicate this issue cause the autobuyer works "alone" lol
Additional Information
No response

The same thing happens to me, nor does it offer me for sale to the players, I only store them in transferable and do not let them sell them by hand because of an error. Some days it works for me, others do not. It would be interesting to discover why, because in previous versions It happened now it happens very frequently

Also experienced this today.
Disabling the script allows me to relist manually like before, but as soon as I activate the script it just spits out "This item cannot be transfer listed because there was an error".

Please tell me how to download the like whole thing to my web app I'm so bad at using tech but want the sniper for Fifa please tell me how to do it or if you have a video that is also very helpful


Refactoring Menu.js

Its my first PR to this good project.
Refactor menu list like sublime/atom
Need more testing. I testing only on Win764b.
Any suggest?

Wow, very cool! I'm excited to try test it out - I'll look at it soon. Thank you for making this contribution, @catsAND !

Just tried it out... most excellent! I liked the commands to insert the date/time and filename. This is really cool and definitely fits in with the 'ease learning curve' goal.
I want to pursue adding the shortcuts/commands in the menu as hint-text, to show the user how they can do this via keyboard, but that can come later.
The only one that didn't quite work as I expected was 'indent' and 'unindent' - I wonder if they should be >> and << instead? I'll go ahead and bring this in, though - we can tackle that as a next step.
Thanks again for putting this together @catsAND !

Thanks for merge.

in the menu as hint-text

I tried find how do this in electron documentation, but only found sublabel.

I wonder if they should be >> and << instead?

Maybe. I'm noob in vim. Most command i found on vim wikia.

This is awesome. One thing to consider adding is to show what will be executed, similar to what other apps show what the short cut is, but here, how to do that in vim.

This is awesome. One thing to consider adding is to show what will be executed, similar to what other apps show what the short cut is, but here, how to do that in vim.

I had a similar idea when I wrote the first (lame) attempt at a menu.  Unfortunately, Electron forces all shortcuts to be in ALL CAPS, which is dangerously misleading when we're talking about Vim commands.  If anyone can find a way to trick Electron into showing shortcuts exactly as we define them then I completely agree we should show the equivalent Vim command.


What is your feedback for HLW8110

Hello friend, are you actively using the hlw8110/8112 in a project? What is your feedback about the IC, is it reliable?
I'm prototyping a smart energy meter and I'm wondering if it is a good choice to go with?
Thanks in advance.

Hello friend, are you actively using the hlw8110/8112 in a project? What is your feedback about the IC, is it reliable? I'm prototyping a smart energy meter and I'm wondering if it is a good choice to go with? Thanks in advance.

Hello
Unfortunately, I am not a good reference to answer your question at this time.
We have other projects in progress that we are busy with, and we have not yet reached a definitive conclusion about HLW811x. On the other hand, this chip has very bad documents in English, which has slowed down our work.
This repository has not been completed yet for the same reasons.


Add changelog for release v0.14.5

Adding changelog for release v0.14.5.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/approve


Support alternative remote storage for plugins

Welcome!

[X] Yes, I've searched similar issues on GitHub and didn't find any.
[X] Yes, I've searched similar issues on the Traefik community forum and didn't find any.

What did you expect to see?
So here is the scenario:
I'm testing traefik in a network area which is unable to talk to the internet directly. I have access to an Artifactory instance that can mirror and cache arbitrary URLs so that:
https://artifactory.local/public/download/github.com/wiltonsr/ldapAuth/v0.0.22
translates to:
https://plugins.traefik.io/public/download/github.com/wiltonsr/ldapAuth/v0.0.22
From what I can see, making this variable configurable would get me a long way?
https://github.com/traefik/traefik/blob/master/pkg/plugins/client.go#L35
My first thought would be to enable reading it from the static configuration per plugin, but I do not know how the plugin client is actually implemented :sweat: :angel:
[experimental.plugins.block]
pluginhost = "https://artifactory.local/"
modulename = "github.com/traefik/plugin-blockpath"
version = "v0.2.0"

PS:
Using local-plugins as a workaround, but this would be sweet to have!

Hello,
the plugins are not using a real Go proxy, it's a specific service, so even if you can change the URL you will not be able to use a Go proxy like artifactory.

Hi @ldez, i figured that much :D
The thing is, instead of using the go proxy, it seems like you can use the "generic remote" I'm Artifactory, the which maps AF urls from itself to URL on the internet :) From what it seems everything is hosted under plugins.traefik.com, which means a new base should work?
Can try and see what happens if i override the base url and compile my own binary, but need to wait till tomorrow to check 🙏


Energy Management Dashboard - Inverter Power Needs to be kWh as a unit of measurement

I've been able to implement my inverter within my HA instance and am getting data, however when trying to use the HA energy management dashboard I can only see the following:

Inverter Daily Energy Consumption
Inverter Daily Energy Import
Inverter Energy Monthly
Inverter Energy Today

I'm expecting to see a Inverter Power which I believe to be a live measurement of the power being produced by my solar inverter. I've been looking around and it appears as this sensor's unit of measurement is a "W" watt... it won't be picked up via the energy management dashboard.
Are you able to review the above and change the unit of measurement from W to kWh and device_class to energy I believe this should resolve the issue.
Happy to discuss further or test as a beta if needed.
Cheers

This is my setup in HA
For Grid consumption I'm using "Inverter Daily Energy Import"
For Return to Grid I have my own sensor setup (see code in configuration.yaml below)
For Solar Production I'm using "Inverter Energy Today"
template:       sensor:         - name: grid_exported_today         unit_of_measurement: kWh         device_class: energy         state_class: total_increasing         state: >           {{ (state_attr('sensor.inverter_energy_today', 'daily_power_yield')|float - state_attr('sensor.inverter_energy_today', 'daily_energy_consumption')|float) / 1000 }}         availability: >           {{ states('sensor.inverter_energy_today')|lower not in ['unavailable','unknown','none'] }}

Thank you, that's great information.
On Tue, 18 Jan, 2022 at 8:52 AM, bdog720 @.***> wrote:
To: tenysmart/modbustcp2mqtt
Cc: @.; @.
This is my setup in HA
For Grid consumption I'm using "Inverter Daily Energy Import"
For Return to Grid I have my own sensor setup (see code in configuration.yaml below)
For Solar Production I'm using "Inverter Energy Today"
template: sensor: - name: grid_exported_today unit_of_measurement: kWh device_class: energy state_class: total_increasing state: > {{ (state_attr('sensor.inverter_energy_today', 'daily_power_yield')|float - state_attr('sensor.inverter_energy_today', 'daily_energy_consumption')|float) / 1000 }} availability: > {{ states('sensor.inverter_energy_today')|lower not in ['unavailable','unknown','none'] }}
—
Reply to this email directly, view it on GitHubhttps://github.com/TenySmart/ModbusTCP2MQTT/issues/17#issuecomment-1014936597, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AHH77GHGLVYMWKNIUMR5CHTUWSMSFANCNFSM5L24EGEA.
Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign=notification-email&utm_medium=email&utm_source=github.
You are receiving this because you authored the thread.[https://github.com/notifications/beacon/AHH77GHN2CDOT46SJGBHOXDUWSMSFA5CNFSM5L24EGEKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOHR7LIFI.gif]Message ID: @.***>

To add some additional info for the developer: After the improvement of the measurement units (W to kWh / kWh to W) in version <IP_ADDRESS> the following still needs to be improved/corrected (for reference, my inverter is SG5K - this is most likely the same for all Sungrow inverters):
(1) For one of the items the /1000 division is not necessary as the original value is already in kWh. See picture below:

--> Can you change this so the value of that sensor is displayed correctly?
(2) HA energy monitoring expects a sensor for the consumption from the grid:

Currently only these sensor can be seen by HA Energy Monitoring:

--> Can you create a sensor that can be seen by HA Energy Monitoring from this value:

(3) HA energy monitoring also expects a sensor for the Return to the grid:

but currently there is no such value.
--> Is it possible that you create a sensor that is calculated as:
 minus

In this example the result should be 20.3 kWh (32.1 kWh minus 11.8 kWh = 20.3 kWh)

To add some additional info for the developer: After the improvement of the measurement units (W to kWh / kWh to W) in version <IP_ADDRESS> the following still needs to be improved/corrected (for reference, my inverter is SG5K - this is most likely the same for all Sungrow inverters):
(1) For one of the items the /1000 division is not necessary as the original value is already in kWh. See picture below:  --> Can you change this so the value of that sensor is displayed correctly?
(2) HA energy monitoring expects a sensor for the consumption from the grid:  Currently only these 4 sensors can be seen by HA Energy Monitoring:  --> Can you create a sensor that can be seen by HA Energy Monitoring based on this value:
(3) HA energy monitoring also expects a sensor for the power returned to the grid:  but currently there is no such value. --> Is it possible that you create a sensor that is calculated as:  minus  In this example the result should be 20.3 kWh (32.1 kWh minus 11.8 kWh = 20.3 kWh)

To add some additional info for the developer: After the improvement of the measurement units (W to kWh / kWh to W) in version <IP_ADDRESS> the following still needs to be improved/corrected (for reference, my inverter is SG5K - this is most likely the same for all Sungrow inverters):
(1) For one of the items the /1000 division is not necessary as the original value is already in kWh. See picture below:  --> Can you change this so the value of that sensor is displayed correctly?
(2) HA energy monitoring expects a sensor for the consumption from the grid:  Currently only these 4 sensors can be seen by HA Energy Monitoring:  --> Can you create a sensor that can be seen by HA Energy Monitoring based on this value:
(3) HA energy monitoring also expects a sensor for the power returned to the grid:  but currently there is no such value. --> Is it possible that you create a sensor that is calculated as:  minus  In this example the result should be 20.3 kWh (32.1 kWh minus 11.8 kWh = 20.3 kWh)

I have the same issue

I only see inverter daily consumption as an option.
I'd like to see the solar production, grid consumption and return to grid. Here is a link to the energy documentation:
https://www.home-assistant.io/docs/energy/
I believe the energy unit is not being set properly.

It also looks like the dev_class needs to change from "power" to "energy"
https://www.home-assistant.io/integrations/integration/#energy


New variable - root object

I use coldbox as a backend.  It's extremely fast, portable and used by NASA, among other large government agencies and corporations.  Its response object includes pagination support, error messaging and other information in addition to the root data return.  As such, the root node for the data itself is called "data" as in , response.data.data   Because of this, it would be useful to define another variable during setup that defines the "data" node within a return object.
More info here:  https://www.screencast.com/t/Zxg8eRgO

If I understand it correctly, check https://github.com/stefanvanherwijnen/quasar-app-extension-http-authentication/issues/16

It's close, but this is actually a case of what the server itself is
returning.  The login action is looking for a data block in response.data,
but the server is returning response.data.data.
On Mon, Nov 16, 2020 at 2:16 AM Stefan van Herwijnen <
<EMAIL_ADDRESS>wrote:

If I understand it correctly, check #16
https://github.com/stefanvanherwijnen/quasar-app-extension-http-authentication/issues/16
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/stefanvanherwijnen/quasar-app-extension-http-authentication/issues/25#issuecomment-727881291,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AC7Y5YLO5LSIV5MDJRIOAWDSQD3WVANCNFSM4TWTIY5Q
.

Hmm, so this line causes the problem?
https://github.com/stefanvanherwijnen/quasar-app-extension-http-authentication/blob/90ae7b2d073c8b1d40473681234bf60a3148f51c/src/components/store/actions.js#L24
You're right that it shouldn't be hardcoded. I'll fix it in the next major update.

Correct.  Also this line:
https://github.com/stefanvanherwijnen/quasar-app-extension-http-authentication/blob/90ae7b2d073c8b1d40473681234bf60a3148f51c/src/components/store/actions.js#L32
If you prompt for the root data node in a server response during
installation then stored that in RESPONSE_DATA_NODE you could do the
following:
const responseData = ( RESPONSE_DATA_NODE === '' ) ? response.data :
response.data[RESPONSE_DATA_NODE];  Then state.commit('setUser',
responseData.user.data),  const token = responseData.token would do it.
On Mon, Nov 16, 2020 at 5:32 AM Stefan van Herwijnen <
<EMAIL_ADDRESS>wrote:

Hmm, so this line causes the problem?
https://github.com/stefanvanherwijnen/quasar-app-extension-http-authentication/blob/90ae7b2d073c8b1d40473681234bf60a3148f51c/src/components/store/actions.js#L24
You're right that it shouldn't be hardcoded. I'll fix it in the next major
update.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/stefanvanherwijnen/quasar-app-extension-http-authentication/issues/25#issuecomment-728019578,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AC7Y5YJGJFN4ANVPHO4ALXTSQESW7ANCNFSM4TWTIY5Q
.

Should be fixed or no longer applicable in v2.


pool size?

I was asking about pool_size setting in config here:
https://elixirforum.com/t/ecto-pool-size/4120, Do you have any recommendation?
Thanks

It will depend on your server hardware- I think default production setting in ecto is 20, but with a powerful server- something larger than ec2 medium instance, you could move that size up.  the db pool size is rarely the limiting factor in application code unless a ton of concurrent users are all writing to the db, in which case you will need a powerful server anyway.

yep, thank you


Unreachable code

https://github.com/ZeruLight/Erupe/blob/2ca72180763da10ce5ec7109adac480418b38989/server/channelserver/handlers_guild_alliance.go#L153

It is indeed unreachable, but there shouldn't be any unhandled operate joints as of right now

This is definitely NOT unreachable. The only known Alliance/Joint opcode IDs are 1, 3 and 9. Every other opcode may not exist in MHFZZ but may exist in older versions. This code will not be removed for the case in the future where Erupe is forked to become an emulator for older versions where these opcodes may exist.

For future reference, these opcodes are defined here;
https://github.com/ZeruLight/Erupe/blob/main/network/mhfpacket/msg_mhf_operate_joint.go#L14-L16

@Tsugami is correct, the code is literally just unreachable because of the panic lol

This is definitely NOT unreachable. The only known Alliance/Joint opcode IDs are 1, 3 and 9. Every other opcode may not exist in MHFZZ but may exist in older versions. This code will not be removed for the case in the future where Erupe is forked to become an emulator for older versions where these opcodes may exist.

the thing is that the code panics before doing the ack simple succeed


Feature Request: React Hooks

Hi,
first of all, I really like the simplicity of your component. It is super easy to use and make streaming music on an app really easy.
As the state of react progresses and classes become obsolete, I would very much appreciate the introduction of hooks for react-player.
As my whole app is written with hooks I feel more comfortable integrating the react-player module with useState and useEffect.
Thank you for your help.
Kind regards,
Jakob

I recently attempted to rewrite the entire library using hooks, but it didn't go very well. There is still a need for a player instance that methods can been called on, and there is a huge reliance on third party scripts that require refs to DOM elements, which can't be done with functional components.

As my whole app is written with hooks I feel more comfortable integrating the react-player module with useState and useEffect.

You are able to use useState and useEffect in your app regardless of ReactPlayer's internals. Feels like you are needlessly limiting yourself if you insist on only using libraries written using hooks.

As the state of react progresses and classes become obsolete

This is not true, according to the hooks docs:

There are no plans to remove classes from React.
...
We will keep supporting class components for the foreseeable future. At Facebook, we have tens of thousands of components written as classes, and we have absolutely no plans to rewrite them.

That said, I plan to completely rewrite the demo app using hooks at some point in the future.

I still plan on rewriting the library using hooks. However, the logic you describe is simple enough to not need to reverse engineer the demo. Here's a rough example with a play/pause button and a next button:
const VIDEOS = [
  'https://www.youtube.com/watch?v=C0DPdy98e4c',
  'https://www.youtube.com/watch?v=Mxesac55Puo'
]

const Player = () => {
  const [index, setIndex] = React.useState(0)
  const [playing, setPlaying] = React.useState(false)

  return (

      <ReactPlayer
        url={VIDEOS[index]}
        playing={playing}
        controls
        onPlay={() => setPlaying(true)}
        onPause={() => setPlaying(false)}
        onEnded={this.nextVideo}
        />
      <button onClick={() => setPlaying(playing => !playing)}>
        {playing ? 'Pause' : 'Play'}
      </button>
      <button onClick={() => setIndex(index => index + 1)}>
        Next
      </button>

  )
}

https://jsfiddle.net/kx12hq5s/

Hi and thanks for that example !
But I get an error (not on your demo page), it returns
`TypeError: Cannot read property 'nextVideo' of undefined
`
Have you got an idea of what it could be ?
Thanks !

PS I found out using a Ref !
export const Player = () => {
	const [index, setIndex] = React.useState(0)
  const [playing, setPlaying] = React.useState(false)
  const playerComponent = React.createRef();

  const handleOnEnded = state => {
    playerComponent.current.nextVideo();
  }

  return (

      <ReactPlayer
        ref={playerComponent}
        url={VIDEOS[index]}
        playing={playing}
        controls
        onPlay={() => setPlaying(true)}
        onPause={() => setPlaying(false)}
        onEnded={handleOnEnded}
        />
      <button onClick={() => setPlaying(playing => !playing)}>{playing ? 'Pause' : 'Play'}</button>
      <button onClick={() => setIndex(index => index + 1)}>Next</button>

  )
}


[Question] Is there a way to test sequential interactions?

Thank you for esmock. I was led here after I was unable to mock ESM modules using Sinon. I'm finding esmock very helpful.
I'm writing a module that spawns a CLI tool to make network requests. I want to write a test which ensures that my module gracefully handles errors by retrying the request.
I'm coming from the sinon world where I'm used to being able to write stubs that behave differently every time they are called. For example
stub.onFirstCall();
stub.onSecondCall();
stub.onThirdCall();

Is there any way to achieve something like this in esmock, where each call to the mocked module/function returns a different value? I'm imagining this stub could be the function which makes the request, and onFirstCall(), it returns an error message. Then onSecondCall(), it returns a success message.

I have done this using the nodejs-provided mock/stub tools. Will take a look here to see if I can find it and if so, paste something here...

The important part reqAuthServiceTokensPOST.mock.calls.length === 0 The mock in this test returns a 403 the first time it is called, then a 200 for subsequent calls
import test, { mock } from 'node:test'
import assert from 'node:assert/strict'
import { setTimeout } from 'node:timers/promises'
import nock from 'nock'
import esmock from 'esmock'

import mockLogger from '../helpers/mockLogger.js'
import mockToken from '../helpers/mockToken.js'

const TESTSERV_CLIENT_ID = 'thisserv-FUyetvDEVL1ykFEb64brg'
const TESTSERV_SECRET = 'd8edICt3mS6OJ18oYAkdG'

const env = {
  ...process.env,
  AUTH_SERVICE_HOST: 'http://auth-prod-service.ns-auth-prod',
  ISSUERS_WHITELIST: [mockToken.DEF_CLIENT_ISS],
  CLIENTS_WHITELIST: [],
  CLIENTS_VERIFY_ISHARD: false,
  CLIENT_AUTH_DETAILS: {
    client_id: TESTSERV_CLIENT_ID,
    client_secret: TESTSERV_SECRET
  }
}

test.beforeEach(nock.disableNetConnect)

test('envSessTokensFresh retries', async () => {
  const returnedToken = await mockToken()
  const reqAuthServiceTokensPOST = mock.fn(() =>
    reqAuthServiceTokensPOST.mock.calls.length === 0 ? ({
      status: 403
    }) : ({
      status: 200,
      body: {
        expires_in: mockToken.DEF_EXPIRESMS,
        access_token: returnedToken
      }
    })
  )

  const {
    envSessTokensFresh
  } = await esmock('../../src/env/envSess.js', {
    '../../src/env/envLogger.js': mockLogger(),
    '../../src/req.js': { reqAuthServiceTokensPOST },
    '../../src/env/env.js': {
      ...env,
      AUTH_SERVICE_TOKEN_TRIESMS: 100
    }
  })

  const start = Date.now()
  const tokens = await envSessTokensFresh()

  // at least ~4 second delay between first and second try
  assert.ok(Date.now() - start >= 100)
  assert.deepEqual(tokens, {
    ...tokens,
    access_token: returnedToken
  })

  // clear timeout to free process
  envSessTokensFresh(false)
})

thanks for the star and message :) feel free to re-open for any reason


Ensure all notification status reasons are being captured

Value Statement
As business line customer
I want to know all the possible statuses for my notifications
So thatI understand what is happening with my notifications
Acceptance Criteria
GIVEN a request to send a notification
WHEN we are unable to send the notification due to one of the reasons from the table below
THEN notification is updated with status permanent failure and status reason uniquely identifying that reason
GIVEN notification request with VA Identifier
WHEN VANotify queries MPI
AND MPI returns Correlation Does Not Exist error
THEN notification status is set to permanent-failure
AND status_reason is set with a value that clearly indicates the root cause (Correlation Does Not Exist)
Checklist

[ ]  Review MPI/VA Profile - Contact Information to ensure that failures are enumerated across all of the integrations and identify the corresponding notification status and status reason

[ ] VA Profile - Contact Preferences path to ensure that failures are enumerated across all of the integrations and identify the corresponding notification status and status reason

[ ] Build a table based on the below identified reasons and corresponding notification statuses and status reason

Cross Functional Checklist
Testing:

[ ] integration for API
[ ] Cypress (e2e) for UI

Monitoring:

[ ] statsd and datadog

Security:

[ ] auth permissions
[ ] JsonSchema

Transform requests to business models in our API

[ ] Marshmallow model serialization / deserialization

Documentation:

[ ] Readmes
[ ] Project specific
[ ] Support
[ ] Openapi
[ ] ADR
[ ] Tech Debt wall

Mountebank

[ ] UI - create mocks for any API calls
[ ] API - create mocks for any external services calls

Accessibility

[ ] E2E & Testrail

Postman

[ ] Update collection whenever we change our API

Assumptions

The status and status reason is propagated to the database in the notifications table
Status reason already exists, we need to make sure it is being set in all of the places it is being set

MPI
No such identifier *note: currently technical failure should be a permanent failure with a descriptor on why it is happening
Multiple VA Profile IDs *note: we stop processing as we can't determine which one to use
Deceased Person
No correlated VA Profile ID
VA Profile
No VA Profile account with ID
No Communication bio for that VA Profile account
No email address
No phone number
Preference False
No Preference Set
No Preference Set / No Default Send *Note: don't currently have default send
Additional Info/Resources
-https://app.zenhub.com/workspaces/vanotify-5ea0ae59b51ccc3c83a8b65b/issues/department-of-veterans-affairs/notification-api/558
Out of Scope

Open Questions

MPI and VAProfile test accounts that we used to verify intended behavior re: failure reasons / notification status updating
https://docs.google.com/spreadsheets/d/1KdjgA-8ZvoUQyQtBZfk8HEzSkvMNX7-rJ5zQMr6RiUE/edit#gid=0

All the AC's for this story have been identified. There were scenarios identified where the failures were marked as permanent failures however failure reasons where not being set correctly. These failure reasons were fixed, tested and reviewed  during frequent cross pairing (dev/test) sessions with the developers . ( Failure reasons for all MPI and VAProfile test account scenarios resulting in permanent failures outlined in the spreadsheet attached above were verified).
No separate documentation was deemed necessary for the notification status failure reasons as it was discussed that this type of information is primarily  necessary for operations support reasons and the support engineer would rather have the failure reason reason clearly available in the code where it will be kept current (with the code) at all times.


Allow GAC user to list/watch namespaces

How to categorize this PR?

/area control-plane
/kind regression
What this PR does / why we need it:
Due to a change to the Namespace Deletion admission in #3774, the Gardener-Admission-Controller now needs permissions to list and watch Namespaces.
Special notes for your reviewer:
/cc @rfranzke
Release note:

NONE

/lgtm
Sorry, I missed this 😢

No worries, that's the common permission pitfall I talked about the other day 😄


[BUG] Nest multiple schemas using $ref

Describe the bug
In an attempt to maximize the reuse of my JSON schemas, I have opted to utilize the $ref feature to establish connections and relationships within my payloads. However, I have encountered some challenges when attempting to construct a chain of multiple schemas that reference themselves (like Grandpa -> Parent -> Child).
To Reproduce
Starting with a simple example, if I have the following schemas:
PS: I decided to keep my schemas as simple as possible, for the sake of the example.

src/serverless/schemas/Child.json

{
  "title": "Child",
  "type": "object",
  "properties": {
    "child_property": {
      "type": "string"
    }
  }
}

src/serverless/schemas/Parent.json

{
  "title": "Parent",
  "type": "object",
  "properties": {
    "parent_property": {
      "type": "string"
    },
    "child_reference": {
      "$ref": "src/serverless/schemas/Child.json"
    }
  }
}

Note: By providing a $ref that points to the full path of the child schema (src/serverless/schemas/Child.json), I was able to successfully implement the solution. However, I encountered an issue where, according to the specification, I should be able to utilize a relative path instead, as demonstrated below:
"child_reference": {
      "$ref": "Child.json"
}

Reference:

Relative References in URLs | OpenAPI Specification

Relative references used in $ref are processed as per JSON Reference, using the URL of the current document as the base URI. See also the Reference Object.

I bring this up because I believe it may be connected to the issues I am about to describe. If we choose to proceed with utilizing full paths, we will likely encounter another problem as we introduce an additional level in the inheritance tree, such as adding the Grandpa schema above the Parent schema:
{
  "title": "Grandpa",
  "type": "object",
  "properties": {
    "grandpa_property": {
      "type": "string"
    },
    "parent_reference": {
      "$ref": "src/features/songs/serverless/schemas/Parent.json"
    }
  }
}

I end up with the following error message caused by some bad built-up of the pathname:
Error:
ServerlessError: ResolverError: Error opening file "/home/user/project/src/serverless/schemas/src/serverless/schemas/Child.json"
ENOENT: no such file or directory, open '/home/user/project/src/serverless/schemas/src/serverless/schemas/Child.json'

You can see how it messed up the path by duplicating the src/serverless/schemas/, the part that I added in the first place because it doesn't resolve properly the relative path. So I believe that I don't construct it the correct way.
And here, you can see some really odd behavior if you start playing with the pathnames:

providing relative path results in an attempt to reference the file from the root

"parent_reference": {
      "$ref": "./Parent.json"
 }

ServerlessError: ResolverError: Error opening file "/home/user/project/Parent.json"
ENOENT: no such file or directory, open '/home/user/project/Parent.json'

but if we provide a full path, but with a typo (intentionally changed schemas to schema so it points to not valid path) it does resolve it correctly (compare it back to the initial example where we provide the correct path, but it duplicated it for some reason):

"parent_reference": {
      "$ref": "src/serverless/schema/Parent.json"
 }

ServerlessError: ResolverError: Error opening file "/home/user/project/src/serverless/schema/Parent.json"
ENOENT: no such file or directory, open '/home/user/project/src/serverless/schema/Parent.json'

I'm aware of a similar issue that is currently active, but I decided to create a separate issue, so we don't mix up both things:

https://github.com/JaredCE/serverless-openapi-documenter/issues/97

Expected behavior
My expectations were that I can build up a tree deeper than one level (using references to other schemas).
Desktop (please complete the following information):

Serverless version: 3.0.0
serverless-openapi-documenter version 0.0.49

To address the issue at hand, I implemented a temporary workaround by utilizing a custom reference resolver. According to the documentation, it's possible to customize the behavior of the @apidevtools/json-schema-ref-parser dependency by overriding its default configuration for resolving file paths. Following your instructions, I created a custom ref-parser and attempted to configure it in a manner that would work for our specific use case, even though it may seem like a somewhat hacky approach.

options/ref-parser.js

'use strict'
const path = require('path')
const fse = require('fs-extra')

// options from: https://apitools.dev/json-schema-ref-parser/docs/options.html
module.exports = {
    parse: {
        json: true,
    },
    resolve: {
        file: {
            order: 1,
            canRead(file) {
                try {
                    path.resolve(file.url)
                    return true
                } catch (e) {
                    return false
                }
            },
            read(file) {
                const fileName = path.relative(process.cwd(), path.resolve(file.url))
                const currentDir = file.url.replace(fileName, 'src/')
                const filePath = findFileRecursively(fileName, currentDir)

                return fse.readFile(filePath, 'utf8')
            },
        },
    },
    dereference: {
        circular: true,
    },
}

function findFileRecursively(filename, directory) {
    const files = fse.readdirSync(directory)

    for (const file of files) {
        const filePath = path.join(directory, file)
        const stats = fse.statSync(filePath)

        if (stats.isDirectory()) {
            const result = findFileRecursively(filename, filePath)
            if (result) {
                return result
            }
        } else if (file === filename) {
            return filePath
        }
    }

    return null
}

By implementing a simple script to configure our own resolver, we are now able to perform a custom search within the project source code when the documentation generation encounters a $ref. As a result, we can easily find and resolve the proper JSON schema. With this approach, we can simply use a relative path to reference the desired schemas in our JSON files, eliminating any issues related to path build-up which was initially reported here.

src/serverless/schemas/Child.json

{
  "title": "Child",
  "type": "object",
  "properties": {
    "child_property": {
      "type": "string"
    }
  }
}

src/serverless/schemas/Parent.json

{
  "title": "Parent",
  "type": "object",
  "properties": {
    "parent_property": {
      "type": "string"
    },
    "child_reference": {
      "$ref": "Child.json"
    }
  }
}

src/serverless/schemas/Grandpa.json

{
  "title": "Grandpa",
  "type": "object",
  "properties": {
    "grandpa_property": {
      "type": "string"
    },
    "parent_reference": {
      "$ref": "Parent.json"
    }
  }
}

Here's what the output of the above configuration looks like after running the command to generate the documentation:
"Grandpa": {
  "title": "Grandpa",
  "type": "object",
  "properties": {
    "grandpa_property": {
      "type": "string"
    },
    "parent_reference": {
      "title": "Parent",
      "type": "object",
      "properties": {
        "parent_property": {
          "type": "string"
        },
        "child_reference": {
          "title": "Child",
          "type": "object",
          "properties": {
            "child_property": {
              "type": "string"
            }
          }
        }
      }
    }
  }
}

Even though we were able to come up with a temporary solution for our current situation, I'll keep the issue open just in case the library author decides to implement a proper fix. I think that the problem we faced is actually a fairly common scenario, given that reusability of JSON schemas is such a handy and widely used feature.

Hey @valkirilov, apologies for not getting back to you in a timely manner.
I've just pushed out 0.0.60 which contains a huge rewrite of the schema handling.  I have also tried to recreate your example issue in a new serverles example file: https://github.com/JaredCE/serverless-openapi-documenter/blob/main/test/serverless-tests/schemas/serverless.yml
You'll note from there I have created a model GetResponse:
- name: GetResponse
        description: The Get Response
        contentType: application/json
        schema: ${file(resources/schemas/Parent.json)}

It uses serverless yaml parser to pull in the JSON file Parent.json which will resolve to: https://github.com/JaredCE/serverless-openapi-documenter/blob/main/test/serverless-tests/schemas/resources/schemas/Parent.json
Within that file, you'll see i'm creating a reference to Child.json:
"child_reference": {
        "$ref": "./resources/schemas/Child.json"
}

When you run the generator: npx serverless openapi generate -o openapi.json -f json -a 3.0.3 it'll start generating from the working directory serverless-openapi-documenter/test/serverless-tests/schemas and we're storing our schema files in serverless-openapi-documenter/test/serverless-tests/schemas/resources/schemas/.  So using a $ref like: "$ref": "./resources/schemas/Child.json" means @apidevtools/json-schema-ref-parser look through the folder resources/schemas for the referenced file, this is without any extra configuration.
This generates a schema in the components like:
"GetResponse": {
        "title": "Parent",
        "type": "object",
        "properties": {
          "parent_property": {
            "type": "string"
          },
          "child_reference": {
            "title": "Child",
            "type": "object",
            "properties": {
              "child_property": {
                "type": "string"
              }
            }
          }
        }
      },

I hope this helps, please let me know if it doesn't or if you come accross any issues.  Referencing in JSON is still a bit of a pain and i haven't solved for everything, but the more bugs i hear about the better I can try and fix them.

Thank you @JaredCE for your time and effort! I have pulled your latest version and tried to see how it goes with my example. It was okay with schemas nested only on one level, as you provided with your example (Parent -> Child). Still, unfortunately, it seems to fail again when we have deeper relationships like Granpa -> Parent -> Child and so on.
This time I've prepared an example repository where you can see my setup and let me know if I built it wrong:

Example Repository

You can find the JSON schemas and how they're defined:

Child.json
Parent.json
Grandpa.json
GrandChild.json

Here is how the generated schemas look like:
"GrandChild": {
  "title": "GrandChild",
  "type": "object",
  "properties": {
    "grandChild_property": {
      "type": "string"
    }
  }
},
"Child": {
  "title": "Child",
  "type": "object",
  "properties": {
    "child_property": {
      "type": "string"
    },
    "grandChild_reference": {
      "title": "GrandChild",
      "type": "object",
      "properties": {
        "grandChild_property": {
          "type": "string"
        }
      }
    }
  }
},
"Parent": {
  "title": "Parent",
  "type": "object",
  "properties": {
    "parent_property": {
      "type": "string"
    },
    "child_reference": {
      "$ref": "./src/features/echoHelloWorld/serverless/schemas/Child.json"
    }
  }
},
"Grandpa": {
  "title": "Grandpa",
  "type": "object",
  "properties": {
    "grandpa_property": {
      "type": "string"
    },
    "parent_reference": {
      "$ref": "./src/features/echoHelloWorld/serverless/schemas/Parent.json"
    }
  }
},

You can see that the first two schemas (GrandChild and Child) are okay, but then the paths aren't resolved properly once we try to reference them from the Parent or GrandParent schemas.
You can give it a try on your own as well:
npm run generate:open-api-docs

Ok this is very odd
I was messing about with the path in your example repo and outputting the error.
So you're right, Child and GrandChild are fine, but once you get to Parent it seems to break.  So messing about a little, I changed Child.json to be:
{
  "title": "Child",
  "type": "object",
  "properties": {
    "child_property": {
      "type": "string"
    },
    "grandChild_reference": {
      "$ref": "./GrandChild.json"
    }
  }
}

Now by doing this, it breaks the de-referenced Child.json in the final openAPI doc, but fixes Parent.json to include Child and GrandChild properties 🧐🤷🏻.
I don't think this is a bug I can fix, I think it's a bug with the now kinda out of maintenance https://github.com/APIDevTools/json-schema-ref-parser library.  I suspect the best solution to this is the one you've already come up with using the ref-parser.js options file to augment the reading of files.
i've only had a play with your example for about 30 minutes, i'll find some time to have a longer play and debug, but at the moment it's very much looking like the ref-parser library is messing up.

I appreciate the time you've spent on my report. I also think that the problem is connected to the path resolution, which is managed by the external dependency. Therefore, I will continue using the current workaround I discovered using a custom "ref-parser," but I will keep looking at the discussion for any future upadtes. Thank you!

The other thing you can do, now that 0.0.60 is out is change your references so that they read as:
"grandChild_reference": {
     "$ref": "#/components/schemas/GrandChild"
}

Swagger, or whatever tool you're then using to display the openAPI spec, should be able to piece together how it should look. You can try here: https://editor.swagger.io/ (if you make those changes to your example repo, then generate the openAPI file and paste it into there, it outputs pretty nicely)
This does require all your  referenced schema files to be listed in models, whether you're using them directly (like in a requestBody) or not, so if you had a schema Cousin.json but weren't using it directly anywhere, you'd need to list it under models, but update any model requireing it to read:
"cousin_reference": {
     "$ref": "#/components/schemas/Cousin"
}

if that makes sense.

I think this is as resolved as it can be for now.  Please re-open or open a new issue if you're having any more difficulty or have questions about schemas/models and openAPI generation.
Thanks


CLI documentation

NeoGPT uses several CLI commands allowing users to customise its behaviour.
Make a .md file providing a brief documentation of the CLI and how to run and expected behaviour of NeoGPT. Making it easier for others to customise the project based on their needs.

@neokd could i be assigned to this task please?

@Ethaaan11 assigned

@Ethaaan11 any updates on the issue?


Support return type of abstract algorithms

The recent draft version of ECMA-262 supports return types as follows:
Number::unaryMinus (
  _x_: a Number,
): a Number

The recent update of ECMA-262 with return types (https://github.com/tc39/ecma262/commit/7575f745f26e9f66b2be481144f37ac4a8a9f1c4) is significant. It is related to the pull request (https://github.com/tc39/ecma262/pull/2547). Please consider the update the version of ECMA-262 after the stable support of the previous versions of ECMA-262.

Now, the Extractor supports the extraction of type annotations for both parameters and returns. In addition, the TypeAnalyzer utilizes it for the type analysis on the mechanized specification extracted from ECMA-262.


Do you support trim audio and preview wave

Why there is no way to trim leading constraint by start time and trailing by end time ?