Video in WSA is washed out and blacks are gray

Steps to reproduce

Open any video up on any app installed on WSA
Compare with the same video on Windows 11
Darks/blacks are grayed out heavily and there are no true blacks (compared to video playback on Windows 11)

✔ Expected Behavior
Expected behaviour: Video playback on WSA would look the same as video playback on Windows 11
❌ Actual Behavior
However, actual behavior was that the WSA video playback was washed out and gray with no true blacks. The UI of the apps are pure black still but anywhere the video is will be gray

Issue sent behalf of someone else
This issue is not a duplicate of the previous issue (https://github.com/microsoft/WSA/issues/171), pertaining to Nvidia GPUs
System Specifications:

CPU: Intel® Core™ i9 13900k,
GPU: AMD RX 7900 XTX,
RAM: 124 GB DDR5,
OS: Windows 11 22H2 (OS Build 22621.1555)

Source of WSA
Microsoft Store
Feedback Hub Report:
Sent with the title: "Video in WSA is washed out and blacks are gray" (same as this issue.)
Submitted 08:21 UTC
However since a Microsoft account was not signed into at the time, they cannot provide a link.
Images of the issue:

Additional Information:

Issue occurs with HDR on or off

Please specify the version of Windows Subsystem for Android
2303.40000.5.0

This is the same issue. #171 is not specific to Nvidia, though those GPUs more commonly reproduce this issue.

This is the same issue. #171 is not specific to Nvidia, though those GPUs more commonly reproduce this issue.

Ah, I see, thanks a lot for the clarification

They are clueless about this issue they closed and ignored countless threads no point in reporting it anymore. #171 was closed and marked as fixed when in reality it's not.

They are clueless about this issue they closed and ignored countless threads no point in reporting it anymore. #171 was closed and marked as fixed when in reality it's not.

We fixed a class issue causing washed out color in video playback but that's doesn't mean there aren't still other similar bugs. Feel free to file a new issue with specifics about how you are able to repro (what app, gpu, scenario, etc.) and we're happy to take a look.


Update tmr-meeting-recording-change.md

Adjusted description to make it more clear (tenant member vs group member)

@JohanFreelancer9 Copy editing is needed for this PR. Thanks.

@cichur PR has been copyedited and is ready for final review, could you please check and merge? Thanks!


DataTable recommended to use Caption for column name first, then use columname

https://gitee.com/dotnetchina/MiniExcel/issues/I3NQ5A

v 0.13.4 support this


Ensime server won't start with reference to write is ambiguous

Sorry if this is my fault, but I cannot get ensime server started having the following SBT stacktrace:

[info] Loading global plugins from /home/jvazquez/.sbt/0.13/plugins
[info] Loading project definition from /home/jvazquez/.atom/packages/Ensime/ensime_update_/project
/home/jvazquez/.atom/packages/Ensime/ensime_update_/build.sbt:38: error: reference to write is ambiguous; it is imported twice in the same scope by import IO._ and import _root_.org.jetbrains.sbt.StructurePlugin._ write(out, (unmanaged ++ managed).mkString(File.pathSeparator)) ^
[error] Type error in expression
Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore?

Environment:
Atom 1.0.19
SBT 0.13.9
jvazquez:~$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 14.04.3 LTS
Release:	14.04
Codename:	trusty

jvazquez:~$ uname -a
Linux HP011 3.13.0-66-generic #108-Ubuntu SMP Wed Oct 7 15:20:27 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

Thanks in advance.

Thanks for reporting! Yeah, the fix should be easy. I guess you have a jetbrains plugin defined in your user space that clashes with our import from IO._. I can fix it.

@fommil I guess this could be updated in ensime-emacs as well? Maybe. Don't know.

@juanjovazquez Please try 0.27

Working like a charm on version 0.29. Thanks!.


Need simple MUX2 descriptions in device resources

Many fabrics have simple 2-input 1-select line muxes located in the SLICE site.  These appear in 7-series (MUXF7, MUXF8), US+ (MUXF7, MUXF8, MUXF9) and in QuickLogic EOS S3 (mux controlled by QDS and FS).  While there should be cell elements to be explicitly placed at those BEL locations, there are some cases where having meta-data on these simple selector muxes are important.  For 7-series and US+, this is needed to handle unbalanced MUX tree cases (see https://github.com/daveshah1/nextpnr-xilinx/blob/d40ffba7b34d0bd6ae7d62d1bf849f8ec4d1da78/xilinx/pack.cc#L257-L294) and in QuickLogic EOS S3 to configure the QDS line to choose either the output of the LUT3/MUX8x3 BEL or the QDI line implicitly.
This work is not critical for 7-series or US+, but is likely fairly important for QuickLogic EOS S3 support.

One idea of solving the issue is extending the concept of route-through BELs. Such a BEL should have its pins marked as eg. "route input", "route output" and "others". The "others" wouldn't be subjected to route-through at all but instead they would have annotations saying "if the input pin A is to be routed to the output pin B then route me to VCC/GND".


cursor / Mousepointer wrong.

If you look at the kitchen sink example within http://textalk.github.io/angular-schema-form/examples/bootstrap-example.html and hover the mouse pointer over the angular-schema-form-datepicker field the no-drop cursor is shown.

Something is causing it to get a readonly attribute on the input, not sure what that is, can't see it in the schema/form or even the template for the datepicker, will investigate more when i get the time.

Yeah, noticed the same problem

It seems to be a problem with pickdate, the best course of action is to add the following css.
https://github.com/amsul/pickadate.js/issues/474
.picker__input[readonly],
.picker__input:hover {
background: #fff;
cursor: text;
}

I guess this is something to report upstream if it is to be fixed properly


UserCacheConfig.java:101: implement getProfileByUniqueId...

The puzzle 1-75b7e788 from #1 has to be resolved:
https://github.com/shiruka/shiruka/blob/6b0739939cb6cc2afb9b8a48439e33121b30016d/src/main/java/net/shiruka/shiruka/config/UserCacheConfig.java#L101-L101
The puzzle was created by @portlek on 30-Jan-21.
Estimate: 5 minutes,  role: DEV.
If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.

The puzzle 1-75b7e788 has disappeared from the source code, that's why I closed this issue.


feat: retrieve all product categories

Description
Create an API endpoint that allows a user retrieve all product categories present in the database.
The changes include:

Endpoint Addition: Added GET /api/v1/products/categories for getting all product categories
Error Handling: Implemented checks for unauthorized access.
Testing: Added pytest cases to ensure functionality and edge cases are covered.

Related Issue (Link to issue ticket)
Issue Ticket
Motivation and Context
This feature is essential to enable users retrieve all product categories currently in the database.
How Has This Been Tested?

Unit Tests:

Added tests to validate the retrieval of categories from the database.
Also tests to validate authentication failures.

Test Environment: Tests were run using a mocked database instance to avoid interference with the production environment.

Tests include:

Retrieving all categories from the database successfully.
Handling unauthenticated access.

Screenshots:
Successful Request

Unauthenticated Request

Types of changes

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

Checklist:

[x]  My code follows the code style of this project.
[x]  My change requires a change to the documentation.
[x]  I have updated the documentation accordingly.
[x]  I have read the CONTRIBUTING document.
[x]  I have added tests to cover my changes.
[x]  All new and existing tests passed.

@Goketech @joboy-dev

@Goketech @joboy-dev

@SundayMba @CodewithSegNet

Merge conflict

fix conflicts

Merge conflicts resolved @joboy-dev @Takinnuoye5 @Goketech


Any way to delay the countdown to a certain step in the song?

Describe your problem here.
I'm trying to make the countdown not appear at the start of the song, and then make it appear later at a certain step in the song with modcharts (For context, you can see steps in the chart editor), however I failed. Is it even possible?
Are you modding a build from source or with Lua?
Lua
What is your build target?
Windows x64
Did you edit anything in this build? If so, mention or summarize your changes.
Yes, no changes lua related from what I know.

If it is possible to destroy any sprite that isn't a lua sprite, then the 3, 2, 1, go can be removed from the start. To delay 3, 2, 1, go, you'll have to reconstruct it.


Add logging ability in mappings

Do you want to request a feature or report a bug?
feature
What is the current behavior?
No ability to print or log stuff inside a mapping.
What is the expected behavior?
Something like console.log(msg) that users can use to log strings or objects out and view them in graph-node's output.

This has been resolved with the log API.


Vulkan validation error: "VkFence is simultaneously used in thread A and thread B"

According to the spec, VkFence is an externally synchronized object and therefore cannot be accessed by more than one thread. Initially this struck me as odd, but Mike Stroyen (ex-google, now retired) provides a reasonable explanation here:
https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers/issues/519
To get around this maybe our Vulkan backend should spin up a new thread just for vkQueueSubmit and vkWaitForFences.  However queues also need to be externally synchronized so we might run into a domino effect of moving things into this tertiary thread.
Another possibility is to simply poll all fences of interest from the same thread that we already submit the queue on, aka the driver thread.  However polling at beginThread is too infrequent and would give bad timing results to the FrameInfoManager.  (It would be nice to be able to override the behavior in CommandBufferQueue::waitForCommands...)
Vulkan provides timing queries, so maybe we should expose those instead of fences.  However the OpenGL ES core spec does not support these, so it seems weird to expose it at the DriverAPI level.

After discussing with @pixelflinger we are leaning towards using Vulkan timing queries instead of fences.  For GL perhaps we can use GL_EXT_disjoint_timer_query since Adreno and Mali both seem to support it.
https://opengles.gpuinfo.org/listreports.php?extension=GL_EXT_disjoint_timer_query
https://www.khronos.org/registry/OpenGL/extensions/EXT/EXT_disjoint_timer_query.txt
https://www.khronos.org/registry/vulkan/specs/1.1/html/chap16.html#queries-timestamps

The first sentence in the bug description isn't very precise; it is legal to use the fence from multiple threads, but we would need to guarantee correct ordering ... and that might be more hassle than it's worth.  Moreover Vulkan fences are not a good a way to measure frame time.  Ergo, we should look into timing queries.

We've also been told to consider the VK_GOOGLE_display_timing extension.


Dropdown Field using Accessor as Label breaks BREAD

Laravel Version: 5.4
Voyager Version: 0.11
PHP Version: 7.0
Database Driver & Version: MySQL

Description:
When using an accessor as a "label" value for a relationship, BREAD fails to load after adding a record to the database.
Here's the relationship json:
{
    "relationship": {
        "key": "id",
        "label": "fullname_id"
    }
}

fullname_id is an accessor created in the model:
        public function getFullnameIdAttribute($value)
        {
                return $this->id . ' - ' .ucfirst($this->first_name) . ' ' . ucfirst($this->last_name);
        }

Steps To Reproduce:
Create the dropdown with the relationship json as shown above.
Add a record to the database using the dropdown field
Attempt to load the BREAD page to view the table.

Labels: possible bug


Update Composer dependencies (2021-05-27-00-09)

Visual regression test passed!
View the visual regression test report


[REVIEW] Prioritize getitem tasks in shuffle

This PR implements custom task prioritization of getitem() tasks in shuffle operations. See https://github.com/dask/dask/pull/6051 for a detailed discussion of the performance benefits.

    @staticmethod
    def __dask_distributed_annotations_unpack__(
        annotations: MutableMapping[str, Any],
        new_annotations: Optional[Mapping[str, Any]],
        keys: Iterable[Hashable],
    ) -> None:
        """Implement custom task prioritization of `getitem()` tasks.

        The scheduling policies of Dask is depth-first generally speaking, which works
        great in most cases. However, in case of shuffle, it increases the memory usage
        significantly. This is because depth-first delays the freeing of the result of
        `shuffle_group()` until the end of the shuffling.

        We address this by forcing a breadth-first scheduling of the `getitem()` tasks
        that follows the `shuffle_group()` task. This way all the `getitem()` tasks
        finish immediately and the output of shuffle_group()` can be freed before
        continuing to the next phase of the operation.

        See https://github.com/dask/dask/pull/6051 for a detailed discussion
        """

[ ] Closes #6051
[ ] Tests added / passed
[x] Passes black dask / flake8 dask / isort dask

Is there something we can do here that would be a good test?  The implementation here with "split-" seems somewhat brittle to me (future devs could change that name and this functionality would stop without us knowing).
Maybe we look at the Scheduler.transition_log and see that some set of tasks occurs before some other set of tasks?

Also, I think that doing this in unpack is fine, but I'm also curious if it would make sense to put these annotations on the Layer itself and then trust the general machinery to move those annotations up to the scheduler.  This feels somewhat less efficient, but also somewhat more general.

Is there something we can do here that would be a good test? The implementation here with "split-" seems somewhat brittle to me (future devs could change that name and this functionality would stop without us knowing).
Maybe we look at the Scheduler.transition_log and see that some set of tasks occurs before some other set of tasks?

I have been thinking of a more general solution but that will require some API redesign, I think.
One idea is to make order() understand annotations and prioritizes  fast-tasks such as getitem(). But I think it makes sense to start with this specialized approach and get some experience before redesigning the task ordering API.

Also, I think that doing this in unpack is fine, but I'm also curious if it would make sense to put these annotations on the Layer itself and then trust the general machinery to move those annotations up to the scheduler. This feels somewhat less efficient, but also somewhat more general.

Notice, before layer unpack we don't know the task keys. We could do this in __dask_distributed_unpack__ instead of __dask_distributed_annotations_unpack__ but I like to keep annotation specializations to the annotation method.

There is a middle ground.  We can put annotations on the layer instance.  This would be equivalent to what happens when we call
with dask.annotate(priority=...):
    ... create some layers ...

We can just populate the layer instance with an annotations = {"priority": ...} dict.  Again, this isn't as efficient (we have to pack and unpack annotations) but it does reduce the number of code paths that we use for this sort of thing.  While layers and packing are in flux it might be wise to stick to client-side / blessed API for a while.

We can just populate the layer instance with an annotations = {"priority": ...} dict. Again, this isn't as efficient (we have to pack and unpack annotations) but it does reduce the number of code paths that we use for this sort of thing. While layers and packing are in flux it might be wise to stick to client-side / blessed API for a while.

We only want to prioritize getitem() tasks, the rest of the shuffle tasks should keep there original priority. Basically, it is the Shuffle.Layer that tells the scheduler that some of it tasks needs priority.

We only want to prioritize getitem() tasks, the rest of the shuffle tasks should keep there original priority. Basically, it is the Shuffle.Layer that tells the scheduler that some of it tasks needs priority.

Agreed.  I believe that you can put the information you placed in the unpack method directly on the Layer and that the Client will send that information up.

Agreed. I believe that you can put the information you placed in the unpack method directly on the Layer and that the Client will send that information up.

I am not sure I follow, do you suggest that we sets annotations when creating SimpleShuffleLayer and ShuffleLayer like here: https://github.com/dask/dask/blob/main/dask/dataframe/shuffle.py#L602 ?
In that case we need to use a callable annotation in order to avoid graph materialization, which could also work.

Yes there, or even within the layer's constructor

In that case we need to use a callable annotation in order to avoid graph materialization, which could also work.

My hope is that we could figure out the relevant keys without generating the entire graph.
What is in this PR is fine too.  I just think that if we can keep this logic on the client side then it's less likely to need maintenance going forward.

My hope is that we could figure out the relevant keys without generating the entire graph.

I will have to think about this :)

@rjzamora I'm not sure if @madsbk mentioned this to you or not, but if it was easy to generate a set of keys for shuffle layers without generating the full graph then that would make it easier for us to specify nicer priorities at the layer level to shuffles.  I would love to get this PR in, one way or another, by next release.
My hope is that you understand the shuffle system well enough to be able to quickly generate a def keys(self) method.  I think that if we add that then we can move the callable here directly onto the Layer instance, rather than push it into the unpack method.
If we can't do that this week then let's punt and find a way to merge this in.

My hope is that you understand the shuffle system well enough to be able to quickly generate a def keys(self) method.

Makes sense - I’ll look through this PR and give you my thoughts tomorrow.  There is no doubt that we can generate a set of keys without “materializing” the graph, but the algorithm will have the same complexity as _construct_graph.

Oh interesting.  I would have expected it to be fairly cheap to generate just the keys.

Oh interesting. I would have expected it to be fairly cheap to generate just the keys.

I should say may have - I'll need to think about it :).

Also, we only need to generate the keys that need to have a set priority here.


response.js: use statusCodes short cut instead of http.STATUS_CODES

At the top of the file there is a short cut for http.STATUS_CODES:
var statusCodes = http.STATUS_CODES;
A couple of places in the module still referenced http.STATUS_CODES
directly. Replace those references with the short cut, statusCodes.

Coverage remained the same at 99.61% when pulling 5f0e39c827ac5f651d4568a7279b5c2581c5d4e0 on tcort:statusCodes into bbcc1e1f52cb3706660d88bc2884057d71ae1f92 on strongloop:master.

Thanks!


Emphasize that HttpClientFactory depends on M.E.DI

Summary
And a note to emphasize that HttpClientFactory is tied to Microsoft.Extensions.DependencyInjection
Fixes https://github.com/dotnet/docs/issues/13850

Feel free to squash and merge when you're ready


Add functional testing with Selenium

Should probably read this "some time"™:  https://www.obeythetestinggoat.com/book/chapter_01.html
Should be runable with a single command, ideally without installing a bunch of npm modules local to the developer's machine, outside of a container.

Later, not necessary for the MVP.


Split Player/Skills/Base further based on states

We have concrete needs to help guide code design decisions:

Trying to stand by the single responsibility principle. Each node should have a precise role. Currently, the Base Skill handles several states by itself and might end up getting bigger if we're not careful
We need to be able to remove and add skills to have that unlockable nature
Separating each behavior or state the character can be in into a separate file makes it easier to test (debugger), to record videos, and potentially reuse the code

Note I'll be working on the code tomorrow morning, I'm live for 4 hours, and I may have to mess with it.

After playing around with the code I'd say that we shouldn't force states and skills to be in 1 to 1 correspondence. This would just end up as a glorified State Machine which isn't what we really need. I can imagine skills themselves having to deal with multiple states.
For example the Air/Ground movement I'd say should stay in one place, a basic movement skill.
You can imagine how this could get a bit funny: what's an Idle skill be (1 to 1 with the "idle" state)? :)
I'd say we should have these skills at most:

Move (both "ground" & "air" states)
Ledge ("ledge" state)
Dash (as the extra example skill with "dash" state)

I didn't talk about separating move into different skills, but splitting it up into several files. It is already a state machine. And having it all as one file will cause the issues I outlined above. What is move? It's the combination of 3 states: it's a state machine. It could have 3 child nodes.

Base is like a basic skill, I should have named it Basic perhaps. It's mean to take care the simple aka basic motion

I got it, but to me, it has several responsibilities: handle idle, ground movement, air movement, hook reaction. It contains several states/behaviors. Now with #39 it will likely get an extra state: hook.
The idea of having Abilities (I find this word more descriptive than skill) as an aggregate is really good. But the basic one needs to be split up at least imo

Thinking more about this as I work on the project: how about if we add stagger, death, respawn, etc. states? And adding animations. I'm starting to think a (hierarchical?) state machine will just be easier to handle for the player's movement. Especially as I can get everything working within 1 hour. I've got a working, tested state machine already.
For unlockable states or abilities, we could just have fallback states built into the transitions if some node in the state machine isn't active/hasn't been unlocked by the player.


Feature request: Please add support for older "Grundig Sonoclock 940A"

As noted in the YCast Project, the Grundig has some special issues when querying the vTuner API:

IDs truncated at 32 characters
empty XML tags not allowed
a reduced set of tags allowed when browsing
a full set of tags required when searching for ID
the "last station played" always searches for the ID instead of using the provided URL
xml entity encoding other than "&" not supported in station name and description, just normal UTF-8
uppercase characters in URLs and parameter names (lazy programming against *.asp pages)

To identify the device, the URLs called usually look this way:
/setupapp/grundig/asp/BrowseXML/Search.asp?sSearchtype=3&Search=xxxxxxxxxxxxxxx&mac=yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy&dlang=eng&fver=1&ven=grn6
Note the /grundig in the URL as well as the parameters &fver=1&ven=grn6. Maybe the sSearchtype. This URL does a station lookup by ID (full set of result values needed, in the usual structure):
<?xml
version="1.0" encoding="UTF-8" standalone="yes" ?>
<ListOfItems>
    <ItemCount>1</ItemCount>
    <Item>
        <ItemType>Station</ItemType>
        <StationId>xxxxxxxxxxxxxxx</StationId>
        <StationName>ORF Ö1</StationName>
        <StationUrl>http://orf-live.ors-shoutcast.at/oe1-q2a</StationUrl>
        <StationDesc>Classic</StationDesc>
        <Logo>http://.../...</Logo>
        <StationFormat>Classic</StationFormat>
        <StationLocation>XX</StationLocation>
        <StationBandWidth>128</StationBandWidth>
        <StationMime>mp3</StationMime>
        <Relia>3</Relia>
        <Bookmark>http://orf-live.ors-shoutcast.at/oe1-q2a</Bookmark>
    </Item>
</ListOfItems>

I tried with the current released version 1.1.2 on Ubuntu 22.04
Does come quite far, but the final "play" does not work. Not from RS list, not from "My Stations"
The device does not directly call the provided URL in the station list, but does another search "for all details" first:
http://grundig.radiosetup.com/setupapp/grundig/asp/BrowseXML/Search.asp?sSearchtype=3&Search=MS_997030798BDB&mac=89fdc1234567890530ed8ce92a4c6de5&dlang=eng&fver=1&ven=grn6
The call is from picking the pre-configured "my stations" sample which translate to ID MS_997030798BDB:
4U Classic Rock: https://str4uice.streamakaci.com/4uclassicrock.mp3|https://cdn.onlineradiobox.com/img/l/4/15394.v1.png
The call however does result in
<?xml version="1.0" encoding="utf-8"?>
<ListOfItems>
  <ItemCount>1</ItemCount>
  <Item>
    <ItemType>Display</ItemType>
    <Display>No station(s) found</Display>
  </Item>
</ListOfItems>

A blind try searching for Classic returns a value which does not seem to be totally correct either. It lists a count of 625 items, but returns a single value. So I think the argument is just passed as "name search" to RB (or it's cache) whereas the device assumes an ID lookup.
<?xml version="1.0" encoding="utf-8"?>
<ListOfItems>
  <ItemCount>625</ItemCount>
  <Item>
    <ItemType>Station</ItemType>
    <StationId>RB_7AFAE7E38D06</StationId>
    <StationName>RdMix Classic Rock 70s 80s 90s</StationName>
    <StationUrl>http://cast1.torontocast.com:4610/stream</StationUrl>
    <StationDesc>RdMix Classic Rock 70s 80s 90s : https://radiodimensionemix.torontocast.stream/</StationDesc>
    <Logo>http://<IP_ADDRESS>/ytuner/icon?id=RB_7AFAE7E38D06</Logo>
    <StationFormat></StationFormat>
    <StationLocation>Canada</StationLocation>
    <StationBandWidth>128</StationBandWidth>
    <StationMime>MP3</StationMime>
    <Relia>3</Relia>
    <Bookmark>http://<IP_ADDRESS>/setupapp/favxml.asp?id=RB_7AFAE7E38D06&fav=add</Bookmark>
  </Item>
</ListOfItems>


[Bug] didUnmount() event console.log() fired too late on page change

Describe the bug
Install the router listener example and add a didUnmount() with console.log() to every component, like there is already for the didMount():
didUnmount() {
  console.log('[HomePage] didUnmount')
}

Run the app, click on About then Blog 219. You will see the console output in this order:
07:52:14.738 [HomePage] constructor
07:52:14.741 [HomePage] didMount
-> Click About

07:52:17.285 [AboutPage] constructor
07:52:17.285 [AboutPage] didMount
07:52:17.285 [HomePage] didUnmount
-> Click Blog 219

07:52:19.238 [BlogPage] constructor
07:52:19.238 [BlogPage] didMount
07:52:19.239 [AboutPage] didUnmount

Have a question?
This might not be a big issue but this is very confusing. I spent hours testing with jest why components on my adapter unmount for no reason. Finally when I reproduced with router listener example, I recognized this is default behaviour.
It would be great if we can fix this issue, since it might confuse people when debugging. If this is and should be default behaviour this should be written as notice in the docs.

This is the normal behavior. didMount() will only be called once the node has been detached from the DOM.
Yes, maybe we should add a notice to the documentation.


Add "Options" button to macOS notification

Hovering over the notification should expose an "Options" button that opens the GUI.

Copied to https://github.palantir.build/bcheng/GPGTapNotifier/issues/8


Get error "You must set MODELDIR environment variable" from CLI call to predictoor/main.py

To reproduce: do predictoor setup like in its README. Up to doing this CLI call:
python pdr_backend/predictoor/main.py

What this call should have done is give guidance on using approach 1 or 2.
Instead, it raised an error:  "You must set MODELDIR environment variable". That's an approach2 specific thing.
Also: the CLI should give better hints about what to do, depending what you give it.

Yep, I know.
I've fixed it in this PR, will merge soon.
https://github.com/oceanprotocol/pdr-backend/pull/100
I also cleaned up the CLI a bit in general


Helm make targets not compatible with Helm 3

Expected Behavior
Helm make targets should succeed when running with helm 3 (as soon as it is officially released).
Current Behavior
My distro (openSUSE Tumbleweed) is providing helm 3 packages. When running the NSM examples that require invoking helm make targets, they fail due to significant changes to the helm CLI.
Failure Information (for bugs)

Steps to Reproduce

Install helm 3
Begin following the steps set out in https://github.com/networkservicemesh/examples/blob/master/README.md#run-the-examples .
On the second step you will invoke 'SPIRE_ENABLED=false INSECURE=true make helm-init helm-install-nsm' . This fails with the following output:

make[1]: Entering directory '/home/ryan/workspace/go/src/networkservicemesh'
helm init --wait && ./scripts/helm-patch-tiller.sh
Error: unknown flag: --wait
make[1]: *** [.mk/helm.mk:23: helm-init] Error 1
make[1]: Leaving directory '/home/ryan/workspace/go/src/networkservicemesh'
make: *** [Makefile:53: helm-init] Error 2

Because 'helm init' has been removed in v3 and won't be needed, I thought I would just work around this by invoking the  'helm-install-nsm' target. That fails too with the following output:

make[1]: Entering directory '/home/ryan/workspace/go/src/networkservicemesh'
# We specifically set admission-webhook variables here as it is a subchart
# there might be a way to set these as global and refer to them with .Values.global.org
# but that seems more intrusive than this hack. Consider changing to global if the charts
# get even more complicated
helm install --name=nsm \
--atomic --timeout 300 \
--set org="networkservicemesh",tag="master" \
--set forwardingPlane="vpp" \
--set insecure="true" \
--set global.JaegerTracing="true" \
--set spire.enabled="false",spire.org="networkservicemesh",spire.tag="master" \
--set admission-webhook.org="networkservicemesh",admission-webhook.tag="master" \
--set prefix-service.org="networkservicemesh",prefix-service.tag="master" \
--namespace="nsm-system" \
deployments/helm/nsm
Error: unknown flag: --name
make[1]: *** [.mk/helm.mk:28: helm-install-nsm] Error 1
make[1]: Leaving directory '/home/ryan/workspace/go/src/networkservicemesh'
make: *** [Makefile:53: helm-install-nsm] Error 2

After consulting the helm help that the --name flag has been removed, and the --atomic and --set flags may have been removed also. Anything that interfaces with helm will eventually need to be compatible with both helm 2 and 3.
Context

Kubernetes Version: v1.16
NSM master branch
Any system with helm 3 installed

This is a minor issue in my opinion. This will eventually become a bit of a hassle once helm 3 gets out into the wild. This mostly is a blocker for people trying to experiment with the examples, but anything like CI that relies on helm could be affected. Helm v3 appears to still be in beta, so not too many people are going to hit this right now. Reverting back to helm 2 fixed the issue for me and I was able to experiment with the examples.
Failure Logs

> make helm-init helm-install-nsm
make[1]: Entering directory '/home/ryan/workspace/go/src/networkservicemesh'
helm init --wait && ./scripts/helm-patch-tiller.sh
Error: unknown flag: --wait
make[1]: *** [.mk/helm.mk:23: helm-init] Error 1
make[1]: Leaving directory '/home/ryan/workspace/go/src/networkservicemesh'
make: *** [Makefile:53: helm-init] Error 2

> make helm-install-nsm
make[1]: Entering directory '/home/ryan/workspace/go/src/networkservicemesh'
# We specifically set admission-webhook variables here as it is a subchart
# there might be a way to set these as global and refer to them with .Values.global.org
# but that seems more intrusive than this hack. Consider changing to global if the charts
# get even more complicated
helm install --name=nsm \
--atomic --timeout 300 \
--set org="networkservicemesh",tag="master" \
--set forwardingPlane="vpp" \
--set insecure="true" \
--set global.JaegerTracing="true" \
--set spire.enabled="false",spire.org="networkservicemesh",spire.tag="master" \
--set admission-webhook.org="networkservicemesh",admission-webhook.tag="master" \
--set prefix-service.org="networkservicemesh",prefix-service.tag="master" \
--namespace="nsm-system" \
deployments/helm/nsm
Error: unknown flag: --name
make[1]: *** [.mk/helm.mk:28: helm-install-nsm] Error 1
make[1]: Leaving directory '/home/ryan/workspace/go/src/networkservicemesh'
make: *** [Makefile:53: helm-install-nsm] Error 2

@rktidwell thanks for sharing your experience here. Indeed, helm2 and helm3 command lines seem to be incompatible and there won't be a simple way forward to support them both.That said, Helm3 was officially released before KubeCon NA: https://helm.sh/blog/helm-3-released/ and Helm2 is in a "maintain it for another year" mode now. We are considering Helm3 and will move to it soon.
PRs are welcome as always :)

I'm working on a PR to get myself over the hump, will post when I have it.


refactor: remove Penalty

Proposed changes
Issue Number: close #xxx

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

(From new machine)TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 46.06 seconds
stream load tsv:          538 seconds loaded<PHONE_NUMBER>9 Bytes, about 132 MB/s
stream load json:         21 seconds loaded<PHONE_NUMBER> Bytes, about 107 MB/s
stream load orc:          65 seconds loaded<PHONE_NUMBER> Bytes, about 16 MB/s
stream load parquet:          32 seconds loaded 861443392 Bytes, about 25 MB/s
insert into select:          29.3 seconds inserted 10000000 Rows, about 341K ops/s
storage size:<PHONE_NUMBER>5 Bytes


How to fix this error?

Command:
F:\twitch download\bin>youtube-dl.exe --ffmpeg-location C:\Users\anonimous\Deskt op\ffmpeg\ffmpeg-20180404-2accdd3-win64-static\ffmpeg-20180404-2accdd3-win64-sta tic\bin --hls-prefer-native https://www.youtube.com/watch?v=JLJqUipWRWk
gives:
[youtube] JLJqUipWRWk: Downloading webpage

[youtube] JLJqUipWRWk: Downloading video info webpage

[youtube] JLJqUipWRWk: Extracting video information
WARNING: Unknown codec av01.0.05M.08
WARNING: Unknown codec av01.0.05M.08
WARNING: Unknown codec av01.0.05M.08
WARNING: Unknown codec av01.0.05M.08
WARNING: Unknown codec av01.0.05M.08
WARNING: Requested formats are incompatible for merge and will be merged into mk
v.

[download] Destination: 'Instant Relief From Anxiety & Stress' Peaceful Meditati
on Music, Deep Relaxing & Healing Music-JLJqUipWRWk.f247.webm

[download] 100% of 41.73MiB in 29:56

[download] Destination: 'Instant Relief From Anxiety & Stress' Peaceful Meditati
on Music, Deep Relaxing & Healing Music-JLJqUipWRWk.f398.mp4

[download] 100% of 56.85MiB in 30:01

[ffmpeg] Merging formats into "'Instant Relief From Anxiety & Stress' Peaceful M
editation Music, Deep Relaxing & Healing Music-JLJqUipWRWk.mkv"

ERROR: To ignore this, add a trailing '?' to the map.

Update ffmpeg.


Fix website publishing workflow

Pointed workflows to https://github.com/ProjectPythia/cookbook-actions and removed local copies as changes I suggested and needed here have been merged.
Fixed indentation error in website/environment.yml...geez that was the whole issue! Build works now. 😝
We should add some Linting to this repo! #90

@jerrylin96 these fixes make the publishing workflow succeed. Can you confirm that the current website displays what you expected?

Ah ok I think the action runs, but does not actually deploy from a branch. Let me merge this and give it another go.


(feat teaming): send accept and decline invitation

Signed-off-by: Sanjay Nathani<EMAIL_ADDRESS>
Proposed changes
This PR contains following changes in the API layer-

User will be able to send invitation to another user

User will be able to accept invitation from another user

User will be able to decline invitation from other users

Get all users at once (will not contain project related details of any user)

Summarize your changes here to communicate with the maintainers and make sure to put the link of that issue
Types of changes
What types of changes does your code introduce to Litmus? Put an x in the boxes that apply

[ ] New feature (non-breaking change which adds functionality)
[ ] Bugfix (non-breaking change which fixes an issue)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation Update (if none of the other choices applies)

Checklist
Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code.

[ ] I have read the CONTRIBUTING doc
[ ] I have signed the commit for DCO to be passed.
[ ] Lint and unit tests pass locally with my changes
[ ] I have added tests that prove my fix is effective or that my feature works (if appropriate)
[ ] I have added necessary documentation (if appropriate)

Dependency

Please add the links to the dependent PR need to be merged before this (if any).

Special notes for your reviewer:

@rajdas98 this PR has schema change, should be merged after the auth PR


Unexpected error

Describe the bug
shut down with error error: PANIC: reflect: reflect.Value.Set using value obtained using unexported field" func=github.com/emissary-ingress/emissary/v3/pkg/busy.Main file="/go/pkg/busy/busy.go:87
It just happen with no apparent reason, was working without issues for 8 days.
Versions (please complete the following information):

Emissary-ingress: 8.6.0
GKE: 1.26.2.gke.1000

Additional context
emissary-ingress-74d796f6f-zk9mf.log

@MichaelGrobman, is it possible you have a deprecated mapping or annotation?  That would be odd since you note it has been working for you, but there's a similar error here when v1 annotations are still in use somewhere in your deployment.

@cindymullins-dw Yes, we do have "apiVersion: ambassador/v1" defined in the yaml's,
for example:
  apiVersion: ambassador/v1
      kind: Mapping
      name: noname
      prefix: /
      rewrite: ""
      service: service:3000
      host: x.com
      timeout_ms: 5000
      connect_timeout_ms: 5000

as we are migrating to a new cluster (from GKE 1.21 to 1.26) this system was last updated 3 years ago, which is also using a VERY old ambassador ingress version (0.86) iirc,
I am wondering if it is possible to update to the new API "getambassador.io/v3alpha1" and keep the same format as the example above.

Hi @MichaelGrobman , for now I believe you can still use annotations but we recommend updating your resources to CRDs.  I'd suggest reading the notes on Major changes with 2.x and with 3.x  because there are some significant changes compared to the earlier versions.  We recommend upgrading to 2.5 first (that's the big jump) and then to 3.6, and we have migration matrix for that.

Closing this issue - please let us know if any other questions.


Rewrite templating

To fulfill semver we will first remove old implementation : https://github.com/metarhia/impress/issues/1036

Not relevant for v2.x


add support for both "phone_number" and "email" as username attribute

This is a severe restriction. Of the 11 user pools I looked at, 8 used both "phone_number" and "email" as username attribute, so using this code will not work.
We're attempting to create a DR solution by duplicating the environment in us-east-1 to us-west-2 without months of setup. This template showed promise, until we hit on this limitation.
Are there any plans to look into this option in the future?

Hi @joseantoniosouzadias, there are no near-term feature releases planned for this solution. I can take your request and add it to the roadmap for evaluation, but unfortunately I cannot give a timeline yet.

Hi @joseantoniosouzadias ,
Cognito User Profiles Export Reference Architecture will no longer be supported starting on March 1, 2025 and will not receive any additional features.
Thanks.


[WIP] fix: avx512 not support under powdr's stable channel of rust

Use the branch in powdr: https://github.com/powdr-labs/powdr/tree/avx


It'd be nice if there was an extension method on IAsyncEnumerable to get non-stream result

In this example, I've shown how it'd be nice to get the final result without having to create the final object myself.

Since this is what the alternative looks like...

I thought on something similar to this when I did the Streaming brainstorm, but that would be a overkill at the time.
Basically, the connectors services could provide a method builder where they could use the streaming input to create the non-streaming content.


Update GettingStarted with note on M1 Macs

Running the wrong version of Python will result in the build failing a long way into the process, and giving an unrelated error. This note can save new contributors several hours of frustrating troubleshooting.
Contains only documentation additions.

@swift-ci Please smoke test


MTLS authentication added to HTTP client.

Purpose

Implements feature mentioned in https://github.com/wso2-enterprise/asgardeo-product/issues/16354

Goals

Describe the solutions that this feature/fix will introduce to resolve the problems described above

Approach

Describe how you are implementing the solutions. Include an animated GIF or screenshot if the change affects the UI (email<EMAIL_ADDRESS>to review all UI text). Include a link to a Markdown file or Google doc if the feature write-up is too long to paste here.

User stories

Summary of user stories addressed by this change>

Release note

Brief description of the new feature or bug fix as it will appear in the release notes

Documentation

Link(s) to product documentation that addresses the changes of this PR. If no doc impact, enter “N/A” plus brief explanation of why there’s no doc impact

Training

Link to the PR for changes to the training content in https://github.com/wso2/WSO2-Training, if applicable

Certification

Type “Sent” when you have provided new/updated certification questions, plus four answers for each question (correct answer highlighted in bold), based on this change. Certification questions/answers should be sent to<EMAIL_ADDRESS>and NOT pasted in this PR. If there is no impact on certification exams, type “N/A” and explain why.

Marketing

Link to drafts of marketing content that will describe and promote this feature, including product page changes, technical articles, blog posts, videos, etc., if applicable

Automation tests

Unit tests

Code coverage information

Integration tests

Details about the test cases and coverage

Security checks

Followed secure coding standards in http://wso2.com/technical-reports/wso2-secure-engineering-guidelines? yes/no
Ran FindSecurityBugs plugin and verified report? yes/no
Confirmed that this PR doesn't commit any keys, passwords, tokens, usernames, or other secrets? yes/no

Samples

Provide high-level details about the samples related to this feature

Related PRs

List any other related PRs

Migrations (if applicable)

Describe migration steps and platforms on which migration has been tested

Test environment

List all JDK versions, operating systems, databases, and browser/versions on which this feature/fix was tested

Learning

Describe the research phase and any blog posts, patterns, libraries, or add-ons you used to solve the problem.

Done via https://github.com/wso2-extensions/identity-outbound-adapters/pull/26


Use NonNull<[u8]> and PhantomData<[u8]> instead of &'static [u8].

This is how it is done in standard containers such as Box or Vec.

I do not have much time right now, sorry. Will take a closer look on the weekend.

This is how it is done in standard containers such as Box or Vec.

Do you know why? I do not see the benefit right now. This patch adds more lines of code and more unsafe blocks.
Also, is this Send and Sync? When the compiler infers this automatically, I do not really have to think about it. Now I wonder about it (especially Sync)....

Do you know why? I do not see the benefit right now. This patch adds more lines of code and more unsafe blocks.

I think because it is more idiomatic. References (&'a T) are used to represent borrows. We do not have a borrow here, CSlice actually owns the slice and it is doing its own memory management.
Using a reference with a 'static lifetime does not feel right because the reference won't be valid after the CSlice is dropped. I also think that it is better to have an unsafe block to access a raw pointer than to have a fake 'static reference.
I believe a Rust developer could give a better reasoning about this.

Also, is this Send and Sync? When the compiler infers this automatically, I do not really have to think about it. Now I wonder about it (especially Sync)....

Because NonNull is not Send nor Sync (whereas &[u8] was), so the whole struct will not unless explicitly marked.
The object is Send and Sync because, once created, it is completely immutable until dropped, so it can be safely accessed from different threads at the same time. You can check that Vec<T> is also Send if T is Send and Sync if T is Sync.

I think this is more correct because the pointer doesn't actually live forever, which is what &'static implies. I think more unsafe is good because what you are doing is actually unsafe, and it is good to be reminded of that.
I don't have a computer near me, but I don't think the PhantomData is needed. For Box and Vec, it is needed because you need to use the type parameter somehow, and that's what PhantomData is for. But here you don't have a type parameter so I think you can leave it.

The object is Send and Sync because,

Can you add a small comment in the code saying so? I know I am bad documenting my unsafe blocks, but I think they are mostly "local". However, this one makes an assumption about basically the whole module it appears in.

I think this is more correct because the pointer doesn't actually live forever, which is what &'static implies.

This is nitpicking, but 'static does not mean "forever": https://www.reddit.com/r/rust/comments/8rhmj8/how_does_static_lifetime_work/
(I am not actually sure if 'static is right/wrong for CSlice, but I understand it as "this does not borrow any other object". Per the example from the link: A String does not live forever, but is 'static.)
Also, I agree on the PhantomData being most likely unnecessary. Can you remove it?

I think if it compiles without the PhantomData, you can do without it.
On 20 February 2020 06:51:18 GMT-05:00, "Eduardo Sánchez Muñoz"<EMAIL_ADDRESS>wrote:

I have created a topic at the Rust Programming Language Forum regarding
the PhantomData:
https://users.rust-lang.org/t/is-phantomdata-needed-without-generics/38460
--
You are receiving this because you commented.
Reply to this email directly or view it on GitHub:
https://github.com/psychon/x11rb/pull/205#issuecomment-588982073

I think if it compiles without the PhantomData, you can do without it.

I would not say something like that so lightly.
After reading https://doc.rust-lang.org/nomicon/dropck.html, it seems that PhantomData is needed when there is a risk of having a self-referential struct (or a field that refers to another field), which could allow to access and already-dropped during the drop of another field. In this case, u8 does not have a drop function, nor it has references, so I believe that the PhantomData can be removed.

I have removed the PhantomData, added a comment regarding Send and Sync and rebased.

I stand corrected. I'm now not sure if PhantomData is actually not
needed. It seems like you can have an issue when CSlice is used in a
self-referential struct and the other reference in the struct references
into the CSlice.

I stand corrected. I'm now not sure if PhantomData is actually not needed. It seems like you can have an issue when CSlice is used in a self-referential struct and the other reference in the struct references into the CSlice.

The issue can appear if the CSlice, instead of u8, had some other type that could have references to a CSlice. Without the PhantomData, the compiler would allow to have self-references, causing the following issue when a CSlice is dropped.
Let's say you have a CSlice of Element instead of u8, and those hypothetical Element contains a reference to such CSlice.

CSlice::drop is called.
The first element of the slice is dropped and Element::drop is called.
The second element is dropped and Element::drop is called. During that call, the drop function
could access the whole CSlice (thanks to the self reference), whose first element as already dropped.

With the PhantomData, the compiler will prevent those self-references from happening at all.
However, in this particular case, CSlice contains u8 instead of the hypothetical Element, there is not any possibility of self-reference, because u8 does not contain references at all.
So, I also stand corrected, as PhantomData is not needed in this particular case (and I had not completely understood why it was needed until now).

I now agree with you.

Merging this as "reviewed by @dalcde ". Thank you both for your input.

I placed the PhantomData it based on https://doc.rust-lang.org/beta/nomicon/phantom-data.html, https://github.com/rust-lang/rfcs/blob/master/text/0769-sound-generic-drop.md#phantom-data and https://github.com/rust-lang/rfcs/blob/master/text/0738-variance.md#phantom-data.

I do not think any of these apply, since there is no T involved. You seem to have come to the same conclusion.

I think you are mistaking references lifetimes (&'static T) with lifetime bounds (T: 'static).

Well... yes... no... yes... uhm... I invented the concept "a reference that owns the data it references". This concept makes no sense.

Slightly related to the discussion that took place here: https://github.com/pretzelhammer/rust-blog/blob/master/posts/common-rust-lifetime-misconceptions.md
(and by leaving this link here, I can find it again if I ever need it :-) )


Enrich MRT parser with more BGP support

Add support for parsing BGP notification messages.
2.Add abstractions for parsing errors.
3.Add support for generating BGP messages (used in Mirage-BGP).

Awesome, thanks!


Clean the ssh code

Hello, what is it? :)
https://github.com/gogits/gogs/blob/master/modules/ssh/ssh.go#L109

Thanks your feedback!
But this is duplicated to https://github.com/gogits/gogs/issues/1540


Expose all AssertJ global configuration through ConfigurationProvider

Summary
Follow the same approach for global Representation configuration  with ConfigurationProvider for:

accessing or not private fields
lenient date parsing
registering custom DateFormat
the maximum elements that would be printed from one iterable/array/map
the maximum length for an iterable/array to be displayed on one line

Thanks for creating this @joel-costigliola. Just my 2 cents about this.
Not everything needs to have an SPI. Maybe for some of the properties a single SettingsProvider or whatever the name would be enough as then people can override that and provide their own changes. In any case I think everything you mentioned into this fits into a single SPI (in my opinion)

This issue should likely be split, one important configuration to support is related to https://github.com/joel-costigliola/assertj-core/pull/1360#issuecomment-470299508

Here's what users will see if they registered their configuration:
-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running org.assertj.configuration.example.CustomConfigurationTest

AssertJ has found and applied the following registered configuration: org.assertj.configuration.example.MyConfiguration
- representation .................................. = BinaryRepresentation
- comparingPrivateFieldsEnabled ................... = false
- extractingPrivateFieldsEnabled .................. = false
- bareNamePropertyExtractionEnabled ............... = false
- lenientDateParsingEnabled ....................... = true
- additionnal date formats ........................ = [yyyy_MM_dd, yyyy|MM|dd]
- maxLengthForSingleLineDescription ............... = 81
- maxElementsForPrinting .......................... = 1001
- removeAssertJRelatedElementsFromStackTraceEnabled = false

Tests run: 2, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0.305 sec


build: Migrate to Svelte 5

This isn't a simple decision although it helps that it's a small codebase, so what's the worst that could happen?
Pros

Automated maintenance bot can come and will be satisfied we're using the latest Svelte
Possibly easier to extend chat streaming UI now thanks to Snippets in 5

Cons
I've spent a lot of dev hours this week watching, supporting and sharing with other Svelte devs who've had a rough migration from Svelte 4 to 5. The new way of hydrating the DOM with comment nodes seems to be playing up havoc in some edge cases. But the odds we'll land into the edge cases are small, and the amount of JS functionality we're binding to the DOM is not that big.

Done!
Svelte 5 migration: 1caca6a


jslint: Arrow function used ambiguously with a conditional expression

Since npm run lint is one of the commands of this boilerplate, it would be a good idea to deal with all jslint errors. I'm having issues resolving this:
/app/components/MainSection.js
  73:41  error  Arrow function used ambiguously with a conditional expression  no-confusing-arrow

The relevant code is:
const completedCount = todos.reduce((count, todo) =>
      todo.completed ? count + 1 : count,
      0
    );

It seems as though jslint doesn't like arrow functions with a conditional expression. I've tried other ways, such as a traditional function, but these resulted in other jslint errors.

Hey Tom, thank you for report! It looks related to this, it enabled no-confusing-arrow, and it released by<EMAIL_ADDRESS>I'll fix these with:
(count, todo) => (todo.completed ? count + 1 : count)


SetColor Methods

Hi , just wanted to mention that setColors methods is not working and I had to do something Like this :
make circleBorderColor (or whatever you want) and mPaintPageStroke public variables and
CircleCheckBox checkBox = (CircleCheckBox)findViewById(R.id.fast_checkbox);
checkBox.circleBorderColor = Color.argb(255, 255, 255, 255);
and call this method on my own :
checkBox.mPaintPageStroke.setColor(finalHolder.checkBox.circleBorderColor)
or just call mPaintPageStroke.setColor() for what ever color you need
but anyway just nice Animations and so .. thank you

HI @Mahan3340 I'll fix this after the holidays thanks :)


Deep equal is not the == operator in JavaScript

The == in ReScript is not equivalent to the == in JavaScript after compilation
In other words, Caml_obj.caml_equal is not equal to == in js

Running into this today with my team.
Its possible to do shallow and deep equality between polymorphic variants, for example, where the js representation is variable, and referential control is not clear, desired, (or possible), causing #Y(3) === #Y(3) to be false.
I have made some noise before but it strikes me that strict equality should be removed as an operator and moved to a Js specific location that clearly explains whats going on and prevents its use broadly in the language?

see also #503


[Release Radar Request]<EMAIL_ADDRESS>

Open Source Project name
simple-data-analysis
What is your project?
I created simple-data-analysis because, as a computational journalist, I needed an easy-to-use JavaScript library for my data analysis. My projects are published on our website, and I wanted to do as much as possible with one language instead of switching between Python, R, and JavaScript all the time. But all of the great data analysis libraries were in different languages, like Pandas with Python and the Tidyverse with R. So I created this library about a year and a half ago and haven't stopped using it since!
Version
2.0
Date
November 30, 2023
Description of breaking changes
To increase the library's performance, I had to rewrite it completely. Under the hood, it now uses DuckDB. And it worked! In my tests, which you can see in the repo, the library now runs six times faster than before. Also, I took the time to document each class and related methods with examples.
GitHub Repo
https://github.com/nshiab/simple-data-analysis
Website
https://nshiab.github.io/simple-data-analysis/
Link to changelog
https://github.com/nshiab/simple-data-analysis
Social media
https://twitter.com/NaelShiab/status/1730327428059250884
Anything else to add?
Thanks! :)

Congrats on being featured in the December 2023 Release Radar 🥳

Read the blog here
Check out our GitHub Tweet
Feel free to retweet Mish's tweet featuring you

Thanks @mishmanners !


Match jax.grad/ jax.value_and_grad

Hello, I wonder if the transformed function signature can be unchanged to match jax counterpart and act as a drop-in replacement without having to change the loss function?

Hi, I thought about doing this but decided against it as a deliberate design choice. For one, the gradient that is returned is actually a single scalar value, whereas the jax counterparts will return a pytree of gradients. Hence, it can't be used as a drop-in replacement so I gave it a different name. Hope that helps!

Noted, thanks
btw I think there is a minor typo in  the readme (=->+)

def fn(params, x):
    y = x @ params['w'] = params['b']
    return (y**2).mean()

Good catch, thanks!


[FEATURE] Login with Google

OpenAI has more than one type of login options. One of them is Google SSO.
A feature to automate the whole process from clicking button to completing SSO.
Previously mentioned https://github.com/ugorsahin/ChatGPT_Automation/issues/15

This feature will not be implemented.


stack resource template summary error messages instead of cycling them

When there are issues loading profiles into sinopia, stack the error messages instead of cycling through them. Errors /issues loading into sinopia cycle currently, only showing the last message generated.
message box in question:

List all errors that occurred while uploading so problematic templates can be found.
browser: firefox

This is on the resource template list page and are the errors from retrieving the resource templates to generate summaries.

the error shown is due to propertytemplate issue, not summaries. on stage it seems we are stacking the messages. are we not?

When uploading this profile to stage or dev, subsequent error messages replace one another rather than stacking. Unless someone is monitoring the upload, there's no way of seeing what the issue was or where it occurred.


Justgar review

Text and context edits to make lab read more smoothly. I have not yet done code-review.

Got half-way through Big Data tool...need to come back to it.

Merging given time constaints; no conflicts with other edits.

Retroactively took a look - these changes look good to me @justgar 👍


Building on i686

Category

[X] fzf binary
[ ] fzf-tmux script
[ ] Key bindings
[ ] Completion
[ ] Vim
[ ] Neovim
[ ] Etc.

OS

[X] Linux
[ ] Mac OS X
[ ] Windows
[ ] Etc.

Shell

[X] bash
[ ] zsh
[ ] fish

I'd like to see the Makefile improved to support i686. On my Gentoo system, I get an error:
# emerge app-misc/fzf
...
make -j2 install
Makefile:11: *** "Build on  is not supported, yet.".  Stop.
 * ERROR: app-misc/fzf-0.12.0-r2::andjscott failed (compile phase):
 *   emake failed

I'm not sure about my machine type. It's a remote VPS (by RapidVPS), running on OpenVZ, as far as I know.
uname -m returns i686, but from /proc/cpuinfo: model name : Intel(R) Xeon(R) CPU E5530 @ 2.40GHz
I googled Xeon E5530 and it's a 64-bit CPU. But maybe that is IA64, not x86-64? Either way, when I build the source manually, both executables have identical description and look like 32-bit:
fzf-linux_386:   ELF 32-bit LSB executable, Intel 80386, ...
fzf-linux_amd64: ELF 32-bit LSB executable, Intel 80386, ...

Both of them run fine. Btw in my case each file is a whopping 3.1 Mb, strip-ping them reduces size to 2.1 Mb - still big, but better. Does it make sense to strip in the Makefile?

Thanks to @andjscott, the fzf ebuild for Gentoo Linux now builds the Go version, works on both 32-bit and 64-bit machine.

As I mentioned earlier, the Makefile is for building official binaries, 32-bit and 64-bit with ncurses statically linked. It's not necessary if you simply want to build a binary for your system.

executables have identical description and look like 32-bit

You can install 32-bit OS on 64-bit machine, but not the other way around. Cross compilation in Go is done by setting GOARCH env variable. If you look at the Makefile, you'll notice GOARCH=386 in fzf/$(BINARY32) target, but no GOARCH is set for fzf/$(BINARY64), which is so because we know that we're on a 64-bit OS (ifneq ($(shell uname -m),x86_64) ...), and that's why you ended up with two 32-bit binaries. Add GOARCH=amd64 to 64-bit binary target and see if you can properly build both binaries. If it works, we can remove the precondition. But if it doesn't we can still consider slightly modifying the Makefile so that it builds 32-binary only a 32-bit OS.
Go binaries are known to be big. This simple program makes a 2MB binary.
package main

import (
	"fmt"
)

func main() {
	fmt.Println("Hello, playground")
}

We can cut down the size of the binary with -ldflags '-s -w'. I just haven't paid attention to the size as a few megabytes doesn't matter in most modern system. I'll consider that in the future releases. I remember there were some issues with stripping Go binary in the past, but it's probably fixed by now.

How about changing the Makefile to build bin/fzf for the native architecture by default and making the cross compiling target a separate task?

I don't want to change it too much. Looks like all you need is make install, so how about this?
diff --git a/src/Makefile b/src/Makefile
index 5d5779b..e15c446 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -7,11 +7,6 @@ else ifeq ($(UNAME_S),Linux)
 endif
 endif

-UNAME_M := $(shell uname -m)
-ifneq ($(UNAME_M),x86_64)
-$(error "Build on $(UNAME_M) is not supported, yet.")
-endif
-
 SOURCES     := $(wildcard *.go */*.go)
 ROOTDIR     := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
 BINDIR      := $(shell dirname $(ROOTDIR))/bin
@@ -27,6 +22,15 @@ RELEASE64   := fzf-$(VERSION)-$(GOOS)_amd64
 RELEASEARM7 := fzf-$(VERSION)-$(GOOS)_arm7
 export GOPATH

+UNAME_M := $(shell uname -m)
+ifeq ($(UNAME_M),x86_64)
+	BINARY := $(BINARY64)
+else ifeq ($(UNAME_M),i686)
+	BINARY := $(BINARY32)
+else
+	$(error "Build on $(UNAME_M) is not supported, yet.")
+endif
+
 all: release

 release: test build
@@ -55,7 +59,7 @@ test: deps
 install: $(BINDIR)/fzf

 uninstall:
-	rm -f $(BINDIR)/fzf $(BINDIR)/$(BINARY64)
+	rm -f $(BINDIR)/fzf $(BINDIR)/$(BINARY)

 clean:
 	cd fzf && rm -f fzf-*
@@ -66,9 +70,9 @@ fzf/$(BINARY32): deps
 fzf/$(BINARY64): deps
 	cd fzf && go build -a -tags "$(TAGS)" -o $(BINARY64)

-$(BINDIR)/fzf: fzf/$(BINARY64) | $(BINDIR)
-	cp -f fzf/$(BINARY64) $(BINDIR)
-	cd $(BINDIR) && ln -sf $(BINARY64) fzf
+$(BINDIR)/fzf: fzf/$(BINARY) | $(BINDIR)
+	cp -f fzf/$(BINARY) $(BINDIR)
+	cd $(BINDIR) && ln -sf $(BINARY) fzf

 $(BINDIR):
 	mkdir -p $@

Building only one version, appropriate for ARCH, sounds reasonable to me.
I didn't succeed building with GOARCH=amd64.
Try 1:
cd fzf && GOARCH=amd64 go build -a -ldflags '-w' -tags "" -o fzf-linux_amd64
# github.com/junegunn/fzf/src/algo
../../gopath/src/github.com/junegunn/fzf/src/algo/algo.go:264: undefined: util.TrimRight
go build github.com/junegunn/fzf/src/curses: no buildable Go source files in /root/fzf/gopath/src/github.com/junegunn/fzf/src/curses

Try 2 (CGO_ENABLED=1, I have no idea what I'm doing):
cd fzf && GOARCH=amd64 CGO_ENABLED=1 go build -a -ldflags '-w' -tags "" -o fzf-linux_amd64
# runtime/cgo
cc1: error: CPU you selected does not support x86-64 instruction set

I think you're right and my VPS hosting provider runs 32-bit OS on a system with 64-bit-capable CPUs. So I give up on trying to build a 64-bit executable :)
The ldflags '-w' option result in 2.3 Mb binary vs 3.1 Mb without ldflags. Either version is 2.1 Mb after strip. Is compiling static binaries are common feature of Go compiler? It hardly makes sense if building a binary for your own system, is it trivial to add an option to go so it will compile a dynamically linked binary?

Stripping Go binary seems to have issues;

https://github.com/golang/go/issues/11622#issuecomment-119263915
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=717172

Not sure if it's fixed or not, but I don't think it's worth the trouble.
The official linux binaries I make via make linux are "partially static", only ncurses is statically linked. Static linking of ncurses is enabled only when you explicitly pass TAGS=static (see Makefile and curses.go). So what you built on your system with make or make install is a dynamic binary. And no, it's not possible to make Go binary smaller than that as far as I know.
I'm going to apply the patch I mentioned above and be done with this for now. I'll consider applying -ldflags "-w" for the next releases.

All right JG, thanks for your work, and sorry to take so much of your time! Kamsahamida!


[SPARK-19334][SQL]Fix the code injection vulnerability related to Generator functions.

What changes were proposed in this pull request?
Similar to SPARK-15165, codegen is in danger of arbitrary code injection. The root cause is how variable names are created by codegen.
In GenerateExec#codeGenAccessor, a variable name is created like as follows.
val value = ctx.freshName(name)

The variable value is named based on the value of the variable name and the value of name is from schema given by user so an attacker can attack with queries like as follows.
SELECT inline(array(cast(struct(1) AS struct<`=new Object() { {f();} public void f() {throw new RuntimeException("This exception is injected.");} public int x;}.x`:int>)))

In the example above, a RuntimeException is thrown but attacker can replace it with arbitrary code.
How was this patch tested?
Added a new test case.

Test build #71857 has started for PR 16681 at commit 2ae7efc.

Test build #71859 has started for PR 16681 at commit c01e077.

Test build #71857 has finished for PR 16681 at commit 2ae7efc.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/71857/
Test PASSed.

Test build #71859 has finished for PR 16681 at commit c01e077.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/71859/
Test PASSed.

Test build #71883 has started for PR 16681 at commit 081d4ef.

Test build #71883 has finished for PR 16681 at commit 081d4ef.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/71883/
Test PASSed.

LGTM. Merging to master. Thanks!


[FEATURE] Add length normalized metrics for machine translation tasks

Description

Add length normalized loss metric for machine translation task.
Test cases are included for the new metrics.
Remove Gluonnlp EvalMetric class

Fixes #1094
Checklist
Essentials

[x] PR's title starts with a category (e.g. [BUGFIX], [MODEL], [TUTORIAL], [FEATURE], [DOC], etc)
[x] Changes are complete (i.e. I finished coding on this PR)
[x] All changes have test coverage
[x] Code is well-documented

Please merge master due to https://github.com/dmlc/gluon-nlp/pull/1096

Job PR-1095/4 is complete.
Docs are uploaded to http://gluon-nlp-staging.s3-accelerate.dualstack.amazonaws.com/PR-1095/4/index.html

Job PR-1095/5 is complete.
Docs are uploaded to http://gluon-nlp-staging.s3-accelerate.dualstack.amazonaws.com/PR-1095/5/index.html

Job PR-1095/6 is complete.
Docs are uploaded to http://gluon-nlp-staging.s3-accelerate.dualstack.amazonaws.com/PR-1095/6/index.html


LDSSA Partnerships - Should we consider having hackathons with companies real world data?

Hey everyone,
I would like to discuss the possibility of having companies real data on some hackathons (similar to kaggle challenges) nearing the end of the course. I am currently working on the value proposition for our partners and I would like to have your thoughts on this.
The format would be the following:

1 day / weekend hackathon with a business problem and data provided by one partner. They give us a problem they are trying to solve and students will have to get their hands dirty on the raw data using everything they have learned from the course. The hackathon finishes with a business presentation with the solution. Can be an unsupervised or supervised learning problem although the unsupervised one would be harder to evaluate.

Potential pros I have identified:

Expose students to real world data and problems;
Enhance our value propositions for partners;
Chance to get everyone together for one day/weekend

Potential cons I have identified:

One day/weekend might not be enough;
Might interfere with all the curriculum and learning path the academy is developing;
Some people might not be available to be present physically.
It could make some people associate the academy with the company.

Let me read your thoughts on this.

@ivopbernardo , really glad that we're working towards making us closer to the companies. It's something we didn't have much time to work on before, so now it feels that we're growing up!
My thought on this are the following. Let's call these hackathons, partnership hackathons.
If we want to open a partnership hacakthon to the students of the current batch of the Starters Academy, then such hackathon should:

be integrated in the curriculum. We would need to evaluate if the company's data was suitable to be used in one of the hacakthons in our curriculum, and if yes, this would actually be one of the hackathons of the Starters Academy,
only allow the participation of the students of the current batch of the Starters Academy.

This is because:

the Starters Academy program is very intense, so they'll have their hands full already with the things we're giving them to learn,
if we integrate a partnership hacakthon in the Starters Academy program, then we cannot have "outsiders" teaming up with the students.

Another option would be to open the partnership hackathon to anyone in the Lisbon Data Science Academy community (previous students, instructors, outsiders if they are teaming up with people from the Academy, for instance):

it would also be good to enhance the Academy's value propositions for partners (not just the Starters Academy)
it would be a good opportunity to bring the community together for a day /weekend
current students of the Starters Academy would be allowed to participate, but we should clearly communicate that they should prioritise the Starters Academy over the hacakthon

To sum up: if we could integrate the partnership hacakthon in the Starters Academy curriculum, that would be ideal. Otherwise, an hackathon open to all the community also sounds like a fun option :)

thank you @dominguezmaria, I am looking forward to help on that chapter and create a network of partners with the same mindset and values as the Academy!
.. and thank for your comments, that was the kind of input I was looking for 👍
You referred a really great point with the possibility of giving an option to a possible partner. In the value proposition what might be interesting to approach and communicate to the companies could be something like:
- Hackathons with partners done with one of two options:

If the data and problem fits our current curriculum (TBD with all the team involved in curriculum development) we might think of an hackathon integrated in the Starters Academy;

Hackathon with everyone involved in the community with the objective of solving a real business problem and get everyone together.

Our own little portuguese kaggle!
What would have to be determined to make this happen would be:

Specific set of rules in which we decide what might fit Starters Academy curriculum (although I know that these might be more than a bunch of if-then set of rules and it might have some qualitative analysis of the problem involved).

Great initiative @ivopbernardo!
@dominguezmaria's comments are spot on so I'll just add a few more specific comments:

When we prepare a particular dataset, we have a set of criteria for it that are very specific. It includes the number of categorical / numerical features, how big it should be, the kind of predictions, etc. so we always must find a dataset that fits the criteria so that it fits in with the course.
Now that I think about it, it could potentially be difficult to find someone that has a dataset that fits all of the criteria AND is something that they need solved themselves at the moment.

However, what might not be too hard is getting a dataset from a company that has used it for an interview or something else like that. Then, from the students perspective, they have a real live dataset from a real live company that they can use. It's a bit less useful for the company themselves in terms of getting actual solutions that they might be able to use themselves, though it would be an excellent thing for recruiting. They would essentially be testing ~50 people in one day on something that is relevant to their business. I understand that this would significantly change the value prop but it might be an easier sale to land.
What do you think?

@hershaw thank you mr!
Well, I think that we actually should try that and pinpoint in the value prop the criteria of the possible datasets. When I speak with companies I should use that argument and "sell" them the opportunity of testing a recruiting methodology on the starters academy adding value to the learning process.
Otherwise, I really like the ideia of partnership hackathons that @dominguezmaria referred. It can be an excellent escape route if the company does not have a current dataset that fits the constraints.
This second option would not be integrated in the Starters Academy and could consist of teams with current and former students and maybe even some team from the instructors side. I think that this would be a great opportunity to get everyone together, have a great time and integrate partners in the community.

How you feeling about this issue @ivopbernardo ? Should we keep it open? Remember that even if we close it, we can still find it and bring it back :)

For me, case closed @hershaw! We kinda got it solved by thinking about a final year hackathon. If any other event idea (outside the academy) comes up in the meantime we will open this again.


app.relaunch() does not work properly with dev server

Describe the bug
When calling app.relaunch(), the electron app restarts but the dev server is gone, so it ends up with a white screen.
Electron-Vite Version
<EMAIL_ADDRESS>Electron Version
<EMAIL_ADDRESS>Vite Version
<EMAIL_ADDRESS>Validations

[X] Follow the Code of Conduct.
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.

Yeah, it's not restart electron-vite command, electron-vite is hard to intercept. It is recommended to use electron-vite preview command to test in production mode when you need to test this method.


d3_queue Uncaught Error

Hi, i had a working setup with d3 queue. For some reason it does not work any more and i have no clue after two days. I updated to the latest version. Exactly the same behaviour. To some extent i believe it has nothing to do with d3_queue itself. It just happens to it.
The code bails on first use of defer. Nothing is done by defer, it seems to fail immediately. If i am going in the browser console and instantiate a new instance it works.
(http://uhvauerr.de/ --> login with defaults --> select any marker --> error)
var lade = function(rahmen, cback){
        var url = "/api/v2/datad3?rahmen=" + rahmen + "&geraet=" + geraet;

        d3.json(url).header('X-Access-Token', token).header('X-Key', user).get(function (error, data) {
            cback(error, data);
        });
    };

    var taskqueue = d3_queue.queue(2);
    var frameurl = "/api/v2/frames?geraet=" + geraet;

    d3.json(frameurl).header('X-Access-Token', token).header('X-Key', user).get(function(error, data){
        $.each(data, function (index, frame) {
            console.log(frame.rahmen);
            taskqueue.defer(lade, frame.rahmen); //<<<<<<<<<<<<<<<<<<<<<<<<ERROR HERE
        });
    });

    taskqueue.awaitAll(function(error, results) {

        //console.log(results);
        var data = [];

        results.forEach(function (c, i, a) {
            console.log(c);
            //c.knoten_id;
            c.datensaetze.forEach(function (d, j, a) {
                d.key = "" + (c.knoten_id) + "_" + d.key; // WORKAROUND Rahmen id sollte vom json file kommen
                data.push(d);
            });
        });

        console.log(data);

        if(data.length != 0) {
            makeGraph(data);
        }
    });

Uncaught Error
c.defer @ d3-queue.min.js:1
(anonymous function) @ VM484:135
n.extend.each @ jquery-2.2.0.min.js:2
(anonymous function) @ VM484:133
(anonymous function) @ d3.js:1899
event @ d3.js:434
respond @ d3.js:1852

The issue is that you’ve set your awaitAll callback before deferring your tasks. Specifically, you’re calling taskqueue.defer in your d3.json callback, which happens after you (synchronously) called taskqueue.awaitAll.
You must call queue.await or queue.awaitAll after any calls to queue.defer. This is so that you get one (and exactly one) notification of when your queue of tasks has finished.
In this case, I’d move the construction of the queue into after your d3.json callback.
d3.json(frameurl).header('X-Access-Token', token).header('X-Key', user).get(function(error, data){
  if (error) throw error; // If the initial request fails…
  var taskqueue = d3_queue.queue(2);
  $.each(data, function (index, frame) {
    taskqueue.defer(lade, frame.rahmen)
  });
  taskqueue.awaitAll(function(error, results) {
    if (error) throw error; // If a queued request fails…
    console.log(results);
  });
});

(In older versions of d3-queue, this was not enforced, and you probably were receiving multiple await callbacks: once at the beginning with no results, and then repeatedly each time a task finished.)

Bullseye. Thanks for instant reply.
2016-01-28 21:27 GMT+01:00 Mike Bostock<EMAIL_ADDRESS>
(In older versions of d3-queue, this was not enforced, and you probably
were receiving multiple await callbacks: once at the beginning with no
results, and then repeatedly each time a task finished.)
—
Reply to this email directly or view it on GitHub
https://github.com/d3/d3-queue/issues/54#issuecomment-176396707.


The = conditional expression execution returns the result of the LIKE expression

What version of Genji are you using?

$ genji version
Genji v0.14.1
Genji CLI v0.14.2

What did you do?
The following TABLE is created.
CREATE SEQUENCE IF NOT EXISTS seq_cizu;
CREATE TABLE IF NOT EXISTS cizu (
  id INTEGER NOT NULL DEFAULT (NEXT VALUE FOR seq_cizu),
  ci TEXT NOT NULL,
  explanation TEXT NOT NULL,
  PRIMARY KEY (id)
);
CREATE INDEX IF NOT EXISTS IDX_CI ON cizu(ci);

The following SQL was executed
SELECT * from cizu where ci ='飞云';

What did you expect to see?
Expect to return an empty result set because there are no eligible records.
What did you see instead?
The = conditional expression execution returns the result of the LIKE expression
genji> SELECT * from cizu where ci ='飞云';
{
  "ci": "飞云丹",
  "explanation": "1.粉名。",
  "id": 62619
}
{
  "ci": "飞云履",
  "explanation": "1.相传为唐白居易居庐山草堂时自制鞋的名称。",
  "id": 62621
}
{
  "ci": "飞云掣电",
  "explanation": "1.形容非常迅速。",
  "id": 62618
}
{
  "ci": "飞云殿",
  "explanation": "1.指高耸入云的城楼。",
  "id": 62620
}

Thanks @startan! I can confirm that this issue no longer exists on the dev branch, the release will be published soon.


Add zone outage scenarios

Description
This commit adds support to create zone outage in AWS by denying both
ingress and egress traffic to the instances belonging to a particular
subnet belonging to the zone by tweaking the network acl. This creates
an outage of all the nodes in the zone - both master and workers.

PR LGTM, have not tested.

Ran this scenario and it LGTM! Two small comments


Python 3 support for Riak cache backend

Improvements:

support for python 3.x
upgraded dependencies
documentation improvements
faster object write operations
request time out same as for http request

Hi @olt, i found problem. Riak crashed due too low open files limit. Now it's ready for merge.

Sorry for the belated response. Your changes are merged and tests are now running on Python 3 as well :+1: Thanks!


FACT-1552 fixing fact frontend dependancies (attempt 2)

JIRA link
https://tools.hmcts.net/jira/browse/FACT-1552
Change description
reattempting to fix master branch
Does this PR introduce a breaking change? (check one with "x")
[ ] Yes
[ ] No

Will be fixed under different PR.


Socket hang up when sending metrics

Describe the bug
When node send metrics to the edge server the socket hangs up.
Steps to reproduce the bug
No response
Expected behavior
No response
Logs, error output, etc.
ECONNRESET
Error: socket hang up
    at Socket.socketOnEnd (node:_http_client:535:25)
    at Socket.emit (node:events:531:35)
    at Socket.emit (node:domain:488:12)
    at endReadableNT (node:internal/streams/readable:1696:12)
    at process.processTicksAndRejections (node:internal/process/task_queues:82:21)

http.error_message
"socket hang up"

http.error_name
"Error"

http.method
"POST"

http.target
"/api/client/metrics"

http.url
"http://unleash-edge.unleash-edge/api/client/metrics"

No errors in unleash

### Screenshots

_No response_

### Additional context

_No response_

### Unleash version

Unleash edge version v19.4.1

### Subscription type

Pro

### Hosting type

Hosted by Unleash

### SDK information (language and version)

node unleash-client v6.1.1

Sorry. I need more information to help you here.
I can't reproduce using the 19.4.1 docker image and the current node client connected to demo. The client seems to post metrics fine.
Checklist:

The endpoint looks correct (/api/client/metrics) so I'm assuming you've instantiated with unleashUrl set to ${EDGE_URL}/api
Does your client actually receive the features?
Judging from the domain, you're running in kubernetes, have you verified that your traffic rules allows POST from where you're running your SDK to the Edge namespace?

[x] 1. The endpoint is indeed set to {HOSTNAME}/api
[x] 2. Our application does indeed receives features and most metrics are propagated to the edge and back to hosted unleash ~600.000 in the last 48h.
[x] 3. Since we are the application can receive features and post most metric I would imagine that there are no errors in our configuration.

The error seems very intermittent, since we are receiving features and posting a large portion of the metrics. It could perhaps be an intermittent error with kube-proxy.

Hmm. Good, at least you're getting metrics, but intermittent socket hangups in a server side application doesn't sound optimal.
Some curiosity to make sure our data sizes aren't harming us.
This issue might be more suited on the unleash-client-node repository. There might be something in how make-fetch-happen (the http client in use) interacts with cluster services. This is more likely to be a client side problem or in infrastructure than an Edge problem.
Are you seeing anything on the Edge side when you're seeing these connection resets? Also, having a look at kube-proxy logs to dig further might be a good idea.

Closing due to staleness. Feel free to reopen if you have new information.


Flow dreams

DO NOT MERGE: This is for demo purposes only.
Fix flow errors by adding a ton of annotations.

Thanks for your investigation help, @nmn!


Create a FAQ Section

Changes are to be made in index.html, styles.html and index.js files.
FAQ Section should contain:

What is GS Asansol: GirlScript Asansol is a non-profit student run community registered under the GirlScript Foundation on 23rd April, 2022. We aim to empower people and especially underrepresented groups in the field of technology. GirlScript Asansol's mission is to create opportunity, learning, growth and diversity in technology academia and industry.
How to join the community: Link to the discord
Benifits of joining the community:
►  GUIDE & SUPPORT
►  HELP EVERYONE TO LEARN & GROW
►  WORKSHOPS AND MEETING SESSIONS
►  HACKATHONS & INTERNSHIP OPPORTUNITY

Design
Inspo: (You can refer to it and can make your own interpretations too, Creativity is welcomed.)

Please join the Discord to discuss design of the components.

I would like to work on this, please assign me this issue


Implement a "directories" API

Used by plugins to know where things go:

Downloaded file caches?
Logs?
Other things?

Closing:

Minimal implementation merged from #15.


Fixes #104: Compile with HAVE_USLEEP flag

Relates to https://github.com/xerial/sqlite-jdbc/issues/104


Distribution file

[Current coverage][cc-pull] is 100%

Merging [#81][cc-pull] into [master][cc-base-branch] will not change coverage

@@           master   #81   diff @@
===================================
  Files           0     0
  Lines           0     0
  Methods         0     0
  Messages        0     0
  Branches        0     0
===================================
  Hits            0     0
  Misses          0     0
  Partials        0     0

Powered by Codecov. Last updated by [0b243cd...89b9654][cc-compare]
[cc-base-branch]: https://codecov.io/gh/HighSchoolHacking/GLS/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/HighSchoolHacking/GLS/compare/0b243cd9d60d5bc7156d3cb1af353fc07bc717c9...89b9654ce3c3b3bfddc6c0619908b1a021a29121
[cc-pull]: https://codecov.io/gh/HighSchoolHacking/GLS/pull/81?src=pr


Small naming and tooltip tweaks

Added end periods to some tooltips, and capitalized both instances of "root", namely, the root node.

@akien-mga "Root" renamed back to "root".

Thanks!


Enhanced the wishlist page and added 'Move to cart' button

Description
I have enhanced the wishlist page by updating the UI and removing the checkout page. The main feature added is a "Move to Cart" button for each item in the wishlist. When this button is clicked, the item is added to the cart with the specified quantity. Additionally, the "Move to Cart" button changes to "Item Moved to Cart," and the product is removed from the wishlist page after a 2-second delay.
Motivation and Context
These changes improve the user experience by simplifying the transition of items from the wishlist to the cart. The removal of the checkout page streamlines the process, making it quicker and more intuitive for users to purchase items they have previously saved to their wishlist.
How Has This Been Tested?
I tested these changes in various scenarios, including:
Adding different items to the cart from the wishlist.
Ensuring the "Move to Cart" button updates correctly and the item is removed after 2 seconds.
Verifying that items are correctly transferred to the cart with the specified quantity.
Checking that other wishlist functionalities remain unaffected by these changes.
Screenshots (if appropriate):

Screenshot of the updated wishlist page with the new "Move to Cart" button.
Checklist:
My code follows the code style of this project.
My change requires a change to the documentation.
I have updated the documentation accordingly.
fixes #215

@shreya1510ss great work don't forget to give a 🌟

Thanks. sure.


Closing connection throws error Quit inactivity timeout

Hello, for the purpose of my application I need to create an one-off connection do a query and then close.
Everything works fine except the closing part. As you can see in the debug output it sends a ComQuitPacket (i think that is enough) but the connection is never closed until it times out from the db itself.
I dont understand if I am closing the connection in a wrong way or there is something I am missing. Is it because it is closed within the callback?
For a moment I thought its an issue similar to https://github.com/felixge/node-mysql/issues/1236 but no luck.
Node 5.5.0 && 4.2.6 && 4.2.1 (I use nvm to handle the versions)
Node-mysql 2.10.0
MysqlDB 5.5.40
Database Hosted on Heroku (ClearDB MySQL :: Database) Havent tested with other db.
  var connection = mysql.createConnection({
    debug: true,
    host: mysql.host,
    user: mysql.username,
    password: mysql.password,
    database: mysql.database
  })

  connection.query(enhancedWidgetModel.query, function (err, rows, fields) {
    connection.end(function (err) {
      console.log(err) // this is caught
    })
    if (err) {
      console.log(err)
      callback({
        data: null,
        msg: 'error',
        code: 'error'
      })
    } else if (rows) {
      callback({
        data: rows,
        msg: 'acknowledged',
        code: 'success'
      })
    }
  })

Debug output
<-- RowDataPacket
RowDataPacket { month: 'April', value: 13 }

<-- EofPacket
EofPacket {
  fieldCount: 254,
  warningCount: 0,
  serverStatus: 34,
  protocol41: true }

--> ComQuitPacket
ComQuitPacket { command: 1 }

{ [Error: Quit inactivity timeout]
  code: 'PROTOCOL_SEQUENCE_TIMEOUT',
  fatal: true,
  timeout: 30000 }

:+1:

Any updates on this?

@drakoumel, no I have not had any time to investigate. Please feel free to investigate and provide updates into your investigation and feel free to propose fixes!

@dougwilson I setup a mysql database on a self hosted server (not heroku) and the connection closed gracefully.
I will contact them in order to see what type of firewall or connection management configurations they have that cause this issue.
I will close this issue after the reply of heroku so we can keep the info anyone else has the same issue.

I was facing the same error (Quit inactivity timeout) with the mysql module (version 2.10.2) and MySQL server on Cleardb. I tried various node versions including 4.2.2 where some people had reported to be running fine, but that did not solve the issue for me. Here is what I did: I used a connection pool instead of using single connections. The nice thing about using a connection pool is that the Mysql server both removes the connection after its default timeout has reached and creates new connections and puts them into the pool whenever needed. Here is the general idea as to how the pool should be used:
`var mysql = require('mysql');
var pool  = mysql.createPool({
connectionLimit : 5,
host            : 'the_host',
user            : 'username',
password        : 'pass'
});
pool.getConnection(function(err, connection) {
// Use the connection
connection.query( 'SELECT columnX FROM tableX', function(err, rows) {
// Always release the connection back to the pool after the (last) query.
connection.release();
// Don't use the connection here, it has been returned to the pool.

});
});
`
However, if you already have several connection.query(...) calls in your code, as I did, you might want to use Adam Yost's wrapper posted on:
https://stackoverflow.com/questions/17015590/node-js-mysql-needing-persistent-connection/30914967#30914967?newreg=df8cfe8f06a04593acac50a200c6fd71
. Adma's code creates and uses the connection pool while no changes are needed to be made to the code that already exists. I used it myself and was quite pleased about it!

Response from Cleardb:

Hello,
We have noted some issues with nodeJs in this respect. Unfortunately we have no recommended fix except to make sure you're using the most recent version of the package. I'm sorry I can't be more helpful.
Michael Landis
Manager of Global Operations for ClearDB

Any update on this? I use Node 6.0.2 but still got this problem.

Hi @YOnoda, I don't have a ClearDB account, so I can't look into this issue myself. If anyone can debug it and provide insights or a fix, that would probably be the only way to move this forward. From the initial post, it shows the issue is that this module is sending the Quit packet to the server, but the server does not follow that up with one of the following actions within 30 seconds:

ClearDB needs to respond with a Ok packet, or
ClearDB needs to close down the TCP connection

Just a general comment - I started using postgres and sequelize and stopped having productions issues after pushing via heroku. I know it's not a fix, but it avoids these random problems introduced by ClearDB.

+1 Still having issues with this while using connection pooling as @armin-github described above. I am making 3 async db calls 1 returning 8.5k rows and the other 2 returning 600 rows each. Lowering the amount of data that is being returned seems to fix the issue.
On other occasions, using a small amount of data. New Relic found that 98.99% of the time was being spent in poolCluster.getConnection(). The subsequent db query requests run quickly as normal.
I made my  db calls synchronous and it seems to have relieved the error, but of course makes the total response time of the call much slower. This isnt a solution, just an observation.

I'm going to close this, since no one has provided the additional information I need to look into it, so I'm not going to just leave it open forever. The best bet to move this forward is to provide a PR that fixes the issue :) !

I'm fairly sure this is a non-standard thing ClearDB does.. Have experienced it a few times, sofar unfortunately my solution has been to switch to another hosted DB provider... :(

ClearDB still doing this. Moving to the JawsDB Maria (on Heroku) corrected the issue for me.

Hi , @drakoumel
I am getting the following error log in aws lambda function with node js v6.10. Please help.
2018-06-13T12:39:36.571Z	b78f9f6c-6f06-11e8-a8e9-93158eab55b9	Error: Quit inactivity timeout
at Quit. (/var/task/node_modules/mysql/lib/protocol/Protocol.js:164:17)
at emitNone (events.js:86:13)
at Quit.emit (events.js:185:7)
at Quit._onTimeout (/var/task/node_modules/mysql/lib/protocol/sequences/Sequence.js:129:8)
at ontimeout (timers.js:386:14)
at tryOnTimeout (timers.js:250:5)
at Timer.listOnTimeout (timers.js:214:5)


CDH5 upgrade

Upgrades to the CDH5 version of uniform and adds some fixes for local testing of Hive.

:+1:

:+1:


Project copyright?

Hello, I'm using this package in my project and am curious if there is a copyright notice I should reference for it for attribution. The license file does not have a specific copyright notice.

I dont believe there is anything beyond the license. Closing.


New version on clojars?

Hi! I would like to test some things on master, but I don't see any recent version update on clojars.
Any chances to upload a SNAPSHOT version to clojars?

oh sorry for the misunderstanding, I was trying to test some changes from Nightlight master repo, not my fork. I ended up installing a local version of Nightlight into my maven repo.
Feel free to close this. :)

Ah I see. Well 2.1.4 is on clojars and it should have the latest changes in it. But yeah you can always run boot local to install it locally.


Further rework of the Android module

In my opinion, we should separate the recognition process and the audio recording process.
Motivation
There are already a bunch of Flutter plugins for recording from a microphone(https://pub.dev/packages?q=microphone) and it would be strange to reinvent/reimplement them in the vosk-flutter plugin. Additionally, it would be great to unite the logic for all platforms instead of having the MethodChannel implementation for Android and the FFI implementation for other platforms.
Plan
The plan is to remove the dependency to vosk-android in the Android module and replace the MethodChannel with FFI.
Details:

we should put Android binaries somewhere, maybe add them to the Releases of the vosk-api repo
we should rewrite SpeechService from the vosk-android in Dart and it should just recieve a stream of data instead of the microphone recording

@nshmyrev what do you think about this?

I like the idea of unified approach, thank you!

vosk-android-0.3.45.zip
@nshmyrev could you, please, add this archive with Android binaries to the v0.3.45 Release?

@sergsavchuk done

@sergsavchuk done

Thank you :hugs:

I think a good approach would be to use the record Flutter package to get that audio stream. It's supported across all major platforms. Then this package only would need to implement the individual platform's Vosk-related code, leaving the microphone streaming handling to be done by the record package.


Set log.Default's output to io.Discard

Description of your changes

Fixes #471
This PR sets a default io.Discard logger for the controller-runtime if debug logging is not enabled. If debug logging is enabled, then the controller-runtime uses a debug mode zap logger as usual.
It also sets the log.Default's output to io.Discard. According to our experiments with a Topic.pubsub & ServiceAccount.cloudplatform, this prevents the noisy logs from the underlying Terraform provider. We still need to check for direct log messages via the fmt variants, such as fmt.Println.
In a further iteration, we will also consider making the underlying provider's logs available in a structured format.
I have:

[x] Run make reviewable test to ensure this PR is ready for review.

How has this code been tested

Tested manually with the Topic.pubsub & ServiceAccount.cloudplatform example manifests.

/test-examples="examples/pubsub/topic.yaml"


ER Diagram : cannot see structure for MySQL

I have a problem using the ER Diagram functionality in DBeaver : it works for certain tables / relations but for most of the tables in our database it cannot map table relations (foreign keys etc.).
Therefore when it successfully maps some relations for some tables, I cannot be sure the mapping is complete.
So my question is : why ?
To give an example :

vs

This isa case of incomplete mapping in the case of the first screenshot vs the second. But for most tables in DB there are no mapped relations (even though these relations exist).

Just anwsered my question using SHOW CREATE TABLE : no foreign keys declared on most tables.

Ok, closing