State management

Hi Dan -
Super intrigued by this and if there was something I would get involved in it would be state management. I'm not super confident and will want to make sure I can be productive before trying to help, I can say I'm passionate about this. I have benefitted greatly from Microsoft's work in open source, and state management specifically.
One project I want to make you aware of is ReSub (by the Skype team I believe)..
https://github.com/Microsoft/ReSub
I have used this with prior iterations of Steve Sanderson's JavaScriptServices SPA templates for React. With Typescript's decorators it is a super clean experience especially when you compare it to Redux (cumbersome boilerplate code).
I will be reviewing the contribution guide and see if I can push on with some sort of paradigm similar to ReSub.. If I can't I'm sure the uber smart folks that will eventually jump in on your 'official experiment' will find some nice ways to get this done.

I would love for this project to have state management that works like MobX (https://github.com/mobxjs/mobx). What I really love about MobX is that everything "just works", MobX tracks which components accessed what data and when that data is changed re-renders them. The best developer experience I've ever had!

@SteveSandersonMS is on vacation right now but I'll answer for him based on previous discussions...
This is something we're thinking about but not planning to build immediately. Blazor as it is it independent of a state management library.
What would be great would be to see a few community members take a stab at building something, and we can all learn from that.

I was thinking state management via Microsoft Orleans.
On Sun, Mar 25, 2018, 6:53 PM Ryan Nowak<EMAIL_ADDRESS>wrote:

@SteveSandersonMS https://github.com/SteveSandersonMS is on vacation
right now but I'll answer for him based on previous discussions...
This is something we're thinking about but not planning to build
immediately. Blazor as it is it independent of a state management library.
What would be great would be to see a few community members take a stab at
building something, and we can all learn from that.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/aspnet/Blazor/issues/27#issuecomment-376013941, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAvMbAWRka1dLHe7YGAO2WxcWQ8hqL3qks5tiC4TgaJpZM4RtM2a
.

I second something akin to Mobx

.NET has INotifyPropertyChanged and INotifyCollectionChanged so you can implement your own state / change detection based on them.
I have created a very simple demo application to demonstrate it.

There is a Redux implementation available here:
https://github.com/torhovland/blazor-redux
It would be cool to also see something with automatic change tracking similar to Mobx using INotifyPropertyChanged.

I make this example inspired with MobX with using INotifyPropertyChanged.
Most of boilerplate around INotifyPropertyChanged is generate with PropertyChanged.Fody  which look great.
And observabed properties are mark like this.
@functions
{
	[Observable]
	public Passenger Passenger { get; set; }
}

Also you can use if you want observed only some properties.
[Observable(nameof(Models.Passenger.FirstName))]

@jirisykora83 That's extremely interesting! Thanks for letting us know. @danroth27 We should consider this when we come up with designs for state management.

@SteveSandersonMS If i understand correctly you are considering "Middleware for component activation and parameter passthrough" in  #1 . If you decide to implement this then could be possible to add some state management without inhering from BlazorComponent (if we get option to call re-rendering from middleware).
I think it would be nice if you can just write something like app.UseStateX(); or app.UseBlazorRedux() in startup and do not need to inherits from same base component how most of the concept currently do.

@johot @JohnLouderback @campersau @jirisykora83 @SteveSandersonMS
Guys, I've created IL-instrumentation-based MobX "clone": https://github.com/kekekeks/NObservable
Unlike INotifyPropertyChanged-based approaches it tracks observed properties automatically and isn't limited to the component itself (it can observe changes from anywhere in the application)
It doesn't support all MobX's features yet, but @observable, autorun, when and runInAction counterparts are already available.
I've also integrated it with Blazor, the app and component structure looks like this. Basically you add @implements IObserverComponent  to your component and NObservable will instrument BuildRenderTree and add it's own ShouldUpdate implementation.


Load proxy bypass list during agent configuration

This PR fixes issue #2569.

LGTM - Thanks for the contribution!


Documentation site

Describe the feature you'd like to request
www.opensource.observer/docs
Describe the solution you'd like
To start with, it might be nice to give some instructions on

Production: how to integrate new data sources into our idempotent/cached data fetcher pipeline
Consumption: how to access our API, our database, CSV dumps, etc.

Describe alternatives you've considered

Docusaurus
Build it directly in Next.js

One point of reference is the DefiLlama adapter documentation for contributing new data adapters
https://docs.llama.fi/list-your-project/submit-a-project


Add Configuration Profile admin and DSO admin/s

Description
Once the user adds a DSO, he/she can get to the “Agents” tab and begin adding each one of the people who will be using the instance to map specifications. So each one of these users will be “mappers”.
In the wireframes, we didn’t specify a screen for adding an administrator for the DSO nor the Configuration Profile. Although we are prepared to do it, because the roles are in the platform, it will be necessary to discuss and maybe to create a basic mockup for it.

I am not sure I understand the problem. Is it a problem in the sequencing of the actions?

I am not sure I understand the problem. Is it a problem in the sequencing of the actions?

@stuartasutton I will prepare a solution, probably a mockup, and come back to you.

Technical Proposal

Mockup for adding Configuration Profile Admin.
Mockup for adding DSO admin.
Implementation  for adding Configuration Profile Admin.
Implementation for adding DSO admin.

@stuartasutton @philbarker @jeannekitchens  comments?

Proposal looks good, I think we need those mock-ups first. We need to think about how a DSO Admin gets added.
I expect a DSO admin would only have edit access on tab related to their Org in the DSO Information screen, which about hiding things rather than adding new things.
In terms of prioritization, this may be something that we could live without having for the time being. Just assume cooperative Profile Admins :)

@richard0000, @philbarker & @jeannekitchens, I am actually questioning whether there is any need for a DSO administrator role. The information on the agents doing the mapping is gathered before entry into the configuration templates so there is no admin duties there. Obviously, there needs be an administrator of a DESM instance, who would have access to the configuration templates and enter the configuration data. No one else should even see the configuration option.
So, until experience tells us otherwise, I think we need not distinguish any roles for those doing the mapping for a DSO meaning that the only other person is administrator of the DESM instance who is identified as such to the system.  In sum, we don't actually need to distinguish any roles...particularly here at the outset.

@stuartasutton if your last comment is confirmed, this issue could be technically summarized for implementation as just adding a check to point out a single "Contact Agent" from the list, being the first always automatically selected.
Is this right?

 There is actually an administrative step at the completion of the DSO's mapping of an abstract class--signaling that mapping is complete. However, the solution would be the same as suggested above, with checking one of the agents of a DSO as the "Administrator/Contact" or "Lead/Contact" and then only letting that checked agent sign off when the mapping to an abstract class for the DSO is complete.

 There is actually an administrative step at the completion of the DSO's mapping of an abstract class--signaling that mapping is complete. However, the solution would be the same as suggested above, with checking one of the agents of a DSO as the "Administrator/Contact" or "Lead/Contact" and then only letting that checked agent sign off when the mapping to an abstract class for the DSO is complete.

@excelsior - This was not implemented correctly.

Regular users should be able to click "Done Domain Mapping".  But this button has been incorrectly removed.
Regular users should be able to advance to the "Alignment" screen (after domain mapping), and click "Save", but not "Done Alignment".

In summary, the only screen that should have any restrictions is the last screen.  Only "lead mappers" should be able to click "Done Alignment".  All users should be able to click "Done Domain Mapping" on the earlier screen.


TAJO-1685: Query fails when using table data which located on local file system occasionally on fully distributed mode.

I added a message for avoiding users confusion as follows.
default> \admin -cluster
Query Master
============

Live  Dead  Tasks
----- ----- -----
3     0     0

Live QueryMasters
=================

QueryMaster               Port  Query Heap       Status
------------------------- ----- ----- ---------- ----------
tajo-04:28093 28092 0     16000 MB   RUNNING
tajo-03:28093 28092 0     16000 MB   RUNNING
tajo-05:28093 28092 0     16000 MB   RUNNING

Worker
======

Live  Dead
----- -----
3     0

Live Workers
============

Worker                    Port  Tasks Mem        Disk       Heap         Status
------------------------- ----- ----- ---------- ---------- ------------ ----------
tajo-04:28091 53960 0     0/1024     0.00/2.00  427/16000 MB RUNNING
tajo-03:28091 34833 0     0/1024     0.00/2.00  418/16000 MB RUNNING
tajo-05:28091 40578 0     0/1024     0.00/2.00  412/16000 MB RUNNING

Dead Workers
============

No Dead Workers

default> \d table1;

table name: default.table1
table uri: file:/home/tajo/hadoop/data.csv
store type: text
number of rows: unknown
volume: 60 B
Options:
	'text.delimiter'='|'

schema:
id	INT4
name	TEXT
score	FLOAT4
type	TEXT

default> select * from table1;
id,  name,  score,  type
-------------------------------
1,  abc,  1.1,  a
2,  def,  2.3,  b
3,  ghi,  3.4,  c
4,  jkl,  4.5,  d
5,  mno,  5.6,  e
(5 rows, 0.029 sec, 60 B selected)

default> select count(*) from table1;
ERROR: The table data should be on all hosts to run TajoWorker or be on distributed file system. : file:/home/tajo/hadoop/data.csv

I think that replicating local data on ever worker is not a good solution. Users may suffer invalid result.

Rather than doing that, I think the query should be processed by a single machine, mostly tajo master, if we should support local file system as our storage.

Hi @jihoonson
Replicating local data to all worker don't look well. So I updated the message for exception.
And I also think that supporting local file system is a fundamental solution. But we need to put more efforts to implement it and this patch would be a temporary work before providing local file system.


Async table mockup link is dead

What version of React-Table are you using?
Your bug may already be fixed in the latest release. Run yarn upgrade react-table!
Place your version here...
What bug are you experiencing, or what feature are you proposing?
Async table mockup link in the readme.md is dead and I couldn't find the ServerSide.js file anywhere else I would've submitted a PR.
Use https://codesandbox.io/s/X6npLXPRW (by clicking the "Fork" button) to reproduce the issue.
Then paste a link to your newly forked codesandbox here...
What are the steps to reproduce the issue?
Click on "async table mockup" in the readme.md.

But the link in the sidebar to a similar example is not (it's a low priority to fix the docs).


[DO NOT MERGE] Don't disable existing loggers during alembic migrations

Python's logging.fileConfig function has a default argument disable_existing_loggers=True, which this PR changes to False. The reason this is useful for us is that this line of code ends up being called in our test suites when we call airflow.utils.db.resetdb, and since this disables all loggers any use of logging afterwards in the test suite is affected.
We discovered this trying to use pytest's caplog feature, which was unable to capture any logs when resetdb had been called before the test using caplog.
Below is an example minimal test that illustrates the problem. With this change the test will pass, without this change the test will fail.
import logging

import pytest

import airflow.utils.db as af_db

LOGGER = logging.getLogger(__name__)

@pytest.fixture(autouse=True)
def resetdb():
    af_db.resetdb()

def test_caplog(caplog):
    LOGGER.info('LINE 1')
    assert caplog.record_tuples
    assert 'LINE 1' in caplog.text

@gwax I wanted to get your thoughts on whether this is worth reporting/contributing upstream. It blocked us on using caplog in clover_pipeline tests.
FYI @jane-williams.

Created an issue with Airflow's issue tracker: https://issues.apache.org/jira/browse/AIRFLOW-2127 I'll submit a PR to them with this change next.

And the pull request: https://github.com/apache/incubator-airflow/pull/3059

This got merged into Airflow in https://github.com/apache/incubator-airflow/commit/496d0f4372a2eead616b8074db357db2b71c28eb.


Vcalyx

This PR adds the Coq development of VCalyx including the syntax and interpreter. It also includes Fud stages for invoking the vcalyx interpreter and a few Runt tests.
Not ready to merge, I need to flesh out the Runt tests, but I want to open a draft PR so I can keep track of what I need to fix.
todos

[ ] make runt tests check output memories produced by programs
[ ] fix whatever is going on with CI

Awesome! Let us know if you need help with the testing infra

Hi @hackedy! This PR is getting quite stale w.r.t. to main. Do we have a specific plan of action on how we want to move this forward? If not, I would like to close the PR.

Yes, let's close it.


evaluate test cases

Anything we can do to improve things?

#447 makes me want to find time for this.

Random note: perhaps texml's test files could serve as integration/snapshot tests.


Agk2Exe Warning: Autohotkey could not be located

When I try to compile an ahk script, I get the following warning all the time:
Warning: AutoHotkey could not be located !

This seems to be related to https://www.autohotkey.com/boards/viewtopic.php?t=78361 and only happens when I check Set Version Info.
OS: Windows 10, 64bit
Latest AHK: <IP_ADDRESS>

Yeah, had that too. I then switched back to the "normal" way of compiling. But I did prefer this solution.


how to use common  action and reducer

how i can solve this problem :
i have an app that contain books and items
i can add and delete books and also i can add and delete items
i don`t want to create actions and reducers separately for add/delete book and add/delete item , i need to build a common solution , like to build only 1 add and 1 delete action and reducer, and separate between the book and item with prefix ,
how i can do that ?

This is a bug tracker, not a support system. For usage questions, please use Stack Overflow or Reactiflux where there are a lot more people ready to help you out. Thanks!


Clean up popup.css

The new popups look very Chrome-ish, so the majority of the styles are no longer needed in my opinion. The separator lines and "Permissions" heading are also no longer needed as there are only two sections now. I removed the connection security icon as it didn't match the address bar one and doesn't exist in Chrome's page popup.

However, this is a draft pull request as there is still some work to be done:

[ ] Align the right arrow correctly with the "Connection secure" text
[ ] "Clear cookies and site data..." should have a cookie icon
[ ] "More information" (inside the arrow subsection) should have a certificate icon
[ ] "Show all downloads" (inside download popup) should have a download icon

I've got mine looking like this at the moment:

But the amount of code required to do it is insane. There's no consistency in the DOM regarding classes or IDs and it seems Mozilla are just using arbitrary text sizes, colours, and layouts all over the place.
You're probably right; brute-forcing all of this CSS takes too much time and energy so we can either massage a few elements into place or apply some kind of resetter to automatically set all panel elements to sane, consistent values and rebuild from there. The latter approach should ideally separate each panel into a new @import to avoid clutter and spaghetti code.
I'm happy to hear your opinions on this. I personally would like a nice, consistent approach to panels but Mozilla obviously isn't heading in that direction and I don't know if it's worth the effort to fight against their anarchist ways.

Well, at first I forgot which panels this actually applies to and after a few tries found out it is also the autocomplete, downloads and library panel.
Either way, the point of this PR was to remove that 300 lines of code which was specifically made for the pre-70 info panel that had those huge icons and 3 sections.
I do agree that things should be separated to files where possible, especially the autocompete and "global" popup styles. What I don't like is the buttons you use on the popups, why not use the full-width ones like Chrome now?

Made a mockup based on your style:

SearchBar Bug


Option to disable autocomplete feature

OS and language server
Linux/gopls
How you installed LSP
git

I appreciate it if you would provide an option to disable the autocomplete functionality.
Thank you.

Almost a duplicate of #574.
We could let the user blacklist some capabilities in an LSP setting and filter those out of our initialize request, saving us the effort of creating a new setting for every feature users want to disable.

There is a new disabled_capabilities setting, adding "completion" to the array in your LSP settings should stop LSP from contributing to Sublime's autocompletion UI.

Amazing work, thank you.


Cross-link to corresponding video

Recommend to cross-link to the YouTube video that corresponds to this page and links back to it.
https://youtu.be/eQanpq9N1Ps

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

ID: 070967c0-919e-30de-b3c6-9c1ea3f41be5
Version Independent ID: 070967c0-919e-30de-b3c6-9c1ea3f41be5
Content: Security Operations Guide for Defender for Office 365 - Office 365
Content Source: microsoft-365/security/office-365-security/mdo-sec-ops-guide.md
Product: m365-security
Technology: mdo
GitHub Login: @chrisda
Microsoft Alias: chrisda

I am interested to solve this issue but can not understand what I need to do......

Link added.
Thanks for the feedback.
Closing


Update nf-winuser-getrawinputdeviceinfow.md

Add info on what RIDI_PREPARSEDDATA exactly returns.

@DJm00n : Thanks for your contribution! The author(s) have been notified to review your proposed change.


Deploy Gelato

Deploy gelato to bluebell subscription
setup app insights
setup alerts
setup smoke test
setup CI-CD
run as a "production" app
fork repo after PR is approved

Currently blocked by error in springboot keyvault module. Error log attached.
2020_01_09_RD0004FFD0F304_default_docker.log
@jyotsnaravikumar @bartr

Closed by helium-java PR#14


add conditions in CR status

Conditions in the Custome Resource Status helps to provide details about a particular volume replication state (Primary, Secondary or Resync)
Signed-off-by: Santosh Pillai<EMAIL_ADDRESS>

PR not ready for review yet.

@umangachapagain PTAL


docs(plugin-docsearch): fix wrong dependency name in config example

The name @vuepress/docsearch listed in the document of the plugin itself was wrong. The name of the plugin in config.ts should be @vuepress/plugin-docsearch.
Ref: https://github.com/vuepress/vuepress-next/blob/5fc351d88f9c8e9f6c6af18674aebfd6aafd97f9/docs/.vuepress/config.ts#L155

Thanks, but it's legal usage:
https://v2.vuepress.vuejs.org/guide/plugin.html


Add ability to select payment method

Before:
The create payments endpoint assumed all methods were bacs.
After:
The create payments endpoint now requires a value for 'method' which can be 'bacs' or 'manual'. The options 'cheque' or 'card' are not supported via this endpoint.

Codecov Report

Merging #602 into develop will not change coverage.
The diff coverage is 100%.

@@           Coverage Diff           @@
##           develop    #602   +/-   ##
=======================================
  Coverage     96.5%   96.5%
=======================================
  Files          125     125
  Lines         3775    3775
  Branches       325     325
=======================================
  Hits          3643    3643
  Misses          94      94
  Partials        38      38

Impacted Files
Coverage Δ

datahub/omis/payment/serializers.py
100% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


Add SetSchema for engine

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@468154d). Click here to learn what that means.
The diff coverage is 0%.

@@            Coverage Diff            @@
##             master     #876   +/-   ##
=========================================
  Coverage          ?   53.37%
=========================================
  Files             ?       39
  Lines             ?     7474
  Branches          ?        0
=========================================
  Hits              ?     3989
  Misses            ?     2977
  Partials          ?      508

Impacted Files
Coverage Δ

engine.go
58.71% <0%> (ø)

Continue to review full report at Codecov.

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


Support disabling/overriding ConvertToCamelCase

I upgraded to the new source generator version of this and it is no longer valid to write a protobuf message for Unity engine types like Vector3.
//:namespace = UnityEngine
//:type = struct
//:external
message Vector3 {
	optional float x = 1 [default = 0];
	optional float y = 2 [default = 0];
	optional float z = 3 [default = 0];
}

Unity does not use camel case for Vector3 fields so, after upgrading, there is no way to make this work because the source generator doesn't allow ConvertToCamelCase to be disabled and I can't go and change Unity builtin types.

Would a custom NuGet package with ConvertToCamelCase set to false be an option?
Or perhaps a per message option like //:case = none?


HTTP 413 Request Too Large when doing hg push of sena-3 project

To reproduce:

Start up the local dev k8s setup
Go to the Sena-3 project
Reset the project (downloading the .zip file somewhere first)
Unzip the .zip file into a local-sena-3 folder
cd local-sena-3
hg push http://admin@localhost/hg/sena-3
Type in the admin password
Mercurial fails with HTTP 413 error

I believe the 413 is coming from the NGINX ingress controller, and https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/nginx-configuration/annotations.md#custom-max-body-size is the setting we'll need to tweak for the /hg path so that larger POSTs are allowed (hg does a single HTTP POST with the entire bundle, which in Sena-3's case is 64628034 bytes = 61.634096146 MiB.
Note that this is unlikely to happen often, but will most often happen when an admin is trying to reset the Mercurial history of a project and so is trying to push a single commit containing the entire project.

it turns out this is a Cloudflare limitation, which isn't surprising.

I know this is a very long stretch, but just throwing it out there:
I just discovered that there's a very mature and standardized protocol + implementations for resumable/chunked uploads called tus. It sounds so mature that I would have expected to find a premade proxy for large web-requests, but I can't. However, I get the impression that it wouldn't be too hard to make one. We wouldn't be using it for its resumable feature (although that's primarily how it's branded) just for it's chunking.
If we went that route we'd:

put a tus proxy in front of cloudflare for our hg domains that feeds the push to a tus server in chunks
add a .NET tus server to our cluster for receiving pushes and then ultimately pushing to the real project repo before finally telling the tus client to tell Chorus that the request is done

Yeah...I put it out there primarily, because I was positively suprised by the maturity of tus. So, the proxy wouldn't feel too much like a dirty hack.

Yeah I thought about this, it may be simpler to improve the resumable protocol, but I don't really want to put work into any of that since we're trying to get away from mercurial all together. Thoughts? Maybe it would be worth it to improve resumable.

to solve this we're going to do a couple things. We're going to tell users to use resumable if they run into this problem. For admins doing a project reset we're going to change the design of that so that we can avoid the problem of a large hg push.
depends on #327

Our Cloudflare limit appears to be 200 MiB for HTTP POST, not 100 MiB as I previously thought. So I think it's unlikely that users will run into this limit in normal usage, and the use case of admins pushing a project after a reset should be taken care of by #327.


Skipping of CATool when Sw360 project is in Closed state

Skipping of CATool when Sw360 project is in Closed state
Npm bug for not attaching the parent child relationship correctly

raise it to development branch

https://github.com/siemens/continuous-clearing/pull/190 Opened


ERROR: [plugin: externalize-deps] Failed to resolve entry for package "unplugin-vue-ce".

Hi @baiwusanyu-c!
Thanks again for supporting CE and Vue 3 community, and keep nailing it!
Latest beta look like has an issue with package.json config for import/export. I tested beta.13 and this issue doesn't occurs.

When I added the webpack test project to the project, I don’t know why the ts build error occurred, which caused the ci to fail to run normally. I manually released beta14 on my pc, but it seemed that the wrong path caused the release Package is missing some content. I'm sorry

Try beta15 to see if this problem still exists

Thanks @baiwusanyu-c. Working again as expected.
Proceed to close issue as completed.


Fix mismatched note to be a warning callout.

In #8071 I updated the Stackdriver logging docs to use the default namespace throughout, and added a callout warning that this daemon has issues on non-GKE platforms. @x13n pointed out that this callout syntax was wrong, and it still rendered properly, but as a note instead of a warning. This fixes that.

/retest

/approve


Errors compiling code with Compat on master

On 0.2, I'm able to compile, say, my spotify.nvim plugin just fine.
However, if I change the Cargo.toml line for nvim-rs in spotify.nvim to use latest master from git (nvim-rs = { git = "https://github.com/killthemule/nvim-rs", features = ["use_tokio"] }), I get these errors:
error[E0277]: the trait bound `tokio::io::Stdout: tokio::io::async_write::AsyncWrite` is not satisfied
  --> src/main.rs:51:45
   |
51 |     async fn try_init_spotify(&self, nvim: &Neovim<Compat<Stdout>>) -> Result<(), String> {
   |                                             ^^^^^^^^^^^^^^^^^^^^^^ the trait `tokio::io::async_write::AsyncWrite` is not implemented for `tokio::io::Stdout`
   |
  ::: /Users/smolck/.cargo/git/checkouts/nvim-rs-be8ec18c7fa103f5/9eeea5a/src/neovim.rs:50:6
   |
50 |   W: AsyncWrite + Send + Unpin + 'static,
   |      ---------- required by this bound in `Neovim`
   |
   = note: required because of the requirements on the impl of `futures::AsyncWrite` for `nvim_rs::compat::tokio::Compat<tokio::io::Stdout>`

error[E0277]: the trait bound `tokio::io::Stdout: tokio::io::async_write::AsyncWrite` is not satisfied
   --> src/main.rs:148:75
    |
148 |     async fn handle_notify(&self, name: String, args: Vec<Value>, neovim: Neovim<Compat<Stdout>>) {
    |                                                                           ^^^^^^^^^^^^^^^^^^^^^^ the trait `tokio::io::async_write::AsyncWrite` is not implemented for `tokio::io::Stdout`
    |
   ::: /Users/smolck/.cargo/git/checkouts/nvim-rs-be8ec18c7fa103f5/9eeea5a/src/neovim.rs:50:6
    |
50  |   W: AsyncWrite + Send + Unpin + 'static,
    |      ---------- required by this bound in `Neovim`
    |
    = note: required because of the requirements on the impl of `futures::AsyncWrite` for `nvim_rs::compat::tokio::Compat<tokio::io::Stdout>`

error[E0277]: the trait bound `tokio::io::Stdout: tokio::io::async_write::AsyncWrite` is not satisfied
   --> src/main.rs:212:17
    |
212 |         neovim: Neovim<Compat<Stdout>>,
    |                 ^^^^^^^^^^^^^^^^^^^^^^ the trait `tokio::io::async_write::AsyncWrite` is not implemented for `tokio::io::Stdout`
    |
   ::: /Users/smolck/.cargo/git/checkouts/nvim-rs-be8ec18c7fa103f5/9eeea5a/src/neovim.rs:50:6
    |
50  |   W: AsyncWrite + Send + Unpin + 'static,
    |      ---------- required by this bound in `Neovim`
    |
    = note: required because of the requirements on the impl of `futures::AsyncWrite` for `nvim_rs::compat::tokio::Compat<tokio::io::Stdout>`

For more information about this error, try `rustc --explain E0277`.
error: could not compile `spotify-nvim` due to 3 previous errors

Which is weird to me? Is this due to some change to nvim-rs, and I need to modify my code to fix it (if so, what might that look like?), or is this a bug with nvim-rs?
I think the commit which broke things was https://github.com/KillTheMule/nvim-rs/commit/3ee4328898b8c71b15903b1180a6782dd9673de2 fwiw/if that's helpful, although I could be wrong (note that the commit before that, https://github.com/KillTheMule/nvim-rs/commit/545f61ad5d9444563e89adef6d9afb9cae82e362, doesn't compile either, but with different errors so I think that commit can be ignored).

That'a a tokio version mismatch. You're depending on 0.2, which means you're using Stdout-0.2, which does not implement AsyncWrite-1.1.1, which is what nvim-rs needs, depending on tokio-1.1.1. I suggest you upgrade your plugin to use the newer tokio version, should be easy enough this early in the project :) Let me know if that works out, or if that unfeasible for some reason I can't see.

Aha, thank you very much! That works. I don't remember where I got the 0.2 version for tokio . . . that's really outdated xD


security fixes npm part

Hi maintainers! I'm vscode-kubernetes-tools and I work at Bison Trails. We're doing an internal hackathon this week.
Our team loves vscode-kubernetes-tools, but it got flagged during a recent security review. Our team voted to use our hackathon time to patch vulnerabilities in our favorite OSS tools and specifically to try to get vscode-kubernetes-tools approved for usage within our organization.
What's here:

updated package version which are free from vulnerability
dependencies forced to vulnerability-free versions when intermediate dependencies are not patched

Impact:
These changes should improve vscode-kubernetes-tools's security posture. We identified these vulnerabilities using Salus and the OSSF scorecard. The specific issues I am hoping to address here are:

advisory
package
vulnerability
severity

565
ssri
Regex DoS
mod

1179
minimist
Prototype Pollution
low

1500
yargs-parser
Prototype Pollution
low

1589
ini
Prototype Pollution
low

1654
y18n
Prototype Pollution
high

1673
lodash
Command Injectition
high

1674
underscore
Arbitrary Code execution
high

1677
hosted-git-info
Regex DoS
mod

1678
url-parse
Path traversal
high

1748
ws
Regex DoS
mod

1751
glob-parent
Regex DoS
mod

1754
css-what
DoS
high

1755
normalize-url
Regex DoS
high

Thank you so much for your work maintaining vscode-kubernetes-tools, and thank you for taking the time to look at these proposed changes!

@ivolzhevbt Thanks heaps to you and the other Bison Trails hackathon participants for helping to address these dependencies - it's a chore and we really appreciate it!

Hmm, looks like this causes npm list to find extraneous packages (included in node_modules under other dependencies such as tar) and to error.  Which is a problem because vsce calls that to build the marketplace package...

@itowlson oh
i'll need some time to investigate
at the moment though vsce is not working and it is not found on npmjs site for some reason

It's weird - and definitely not your fault.  npm list is so pernickety and so buggy and yet vsce is so insistent on trusting it.
It probably confuses things yet further that we have webpack in the mix as well.  Which really ought to be doing the tree shaking so vsce doesn't have to care, but somehow it never seems to work that way.

It looks like a lot of the modules that NPM was flagging as having vulnerabilities are used only in the dev environment, notably by gulp.  The rest can be addressed by updating the things you identified, plus the Kubernetes client library and got.  Then npm audit --production shows no remaining vulnerabilities.
@ivolzhevbt If we make these updates, so that npm audit --production shows no vulnerabilities, but remove the npm-force-resolutions, so that vsce doesn't complain... will that meet your security needs?


Make Youtube videos easier to add by URL

Should automatically grab the canonical name from the html of whatever URL is given.
https://www.youtube.com/@hotepjesus
<link rel="canonical" href="https://www.youtube.com/channel/UCnXr-wpGU2gNx2phcDiGzAQ">

First round, working so far. ymmv
https://github.com/amckee/PodTube/commit/e1daed6b87ae23740253c6705d771a410dd640ef


Filter Life Max Value Issue

This is mostly working for me however filter life is showing "unknown" and I see this in the debug logs:
2023-08-12 00:02:49.604 WARNING (MainThread) [custom_components.winix.sensor] Reported filter life '8033' is more than max value '6480'.
The device is a Winix AM90 and the app shows the filter life at 7%.

I see now where sensor.py had "TOTAL_FILTER_LIFE" set to 9 months of hours in it whereas I was assuming 12 months.  I was able to change to 8760 and it's working now.


Could you refactory ut_metadata and bittorrent-protocol?

Hi, I am interested in your ut_metadata and bittorrent-protocol. I have been reading  the two projects for many days, but I am very confused your code. It is very difficult to understand. Could you refactory it and make it easy to understand?
I am sorry the unreasonable question.

If you have specific questions about how these packages work, you can ask me and I'll do my best to answer.

I understood how they work now, although I am still incomprehensible in the code. But It is no matter, I copy the some code to my project. :)
Thank you very much!


Not all current series are shown

Ohayo developers!
I have been checking the methods and calls of certain anime of the fall season and the episodes of all the series are not shown, one of the examples is "Kono Oto Tomare 2nd Season"
I searched anime with your methods, but the answer is empty and there are no episodes of some current series
I have been doing the tests from Windows in Google Chrome, in addition to testing with Postman, but it has not given any results
I hope you can review it, thank you very much in advance for your work
Regards

Hello @Jeluchu ,
First of all I apologize for not knowing that you had sent me a message.
Yes you are correct.
There are some series that are not showing as they should, and this is due to a problem that I have to solve in my API.
This error mostly occurs in the anime that were recently added from the jkanime page.
As for the anime that you mentioned to me, when I do a search, It personally show the data, both on the ryuanime page and in the API.
I made an API migration that I had implemented that is in the same ryuanime repository
For the jkanime repository
In the jkanime repository I will be working to make the necessary changes.

Recently I implemented a custom api from the animeflv page, which I can say is very complete.
In case you want to try and see the documentation you can access the animeflv doc

@ChrisMichaelPerezSantiago Nothing happens, I wrote the message yesterday therefore you have not taken too long to respond.
I just checked again the anime I said and now if I get it, I was testing it this Saturday and both that and others of this season were not showing me.
Thank you very much for the APIs and for your response
Anything else would tell you again
Regards!


GitHub Learning Lab

GitHub Topics

[ ] Learn how to use Issues in GitHub

@Jeffcookster what should I also learn in GitHub

Chuck Norris eats covid for breakfast

@githubstudent are there any specific issues I need to focus on?
[ ] still learning how to use issues in GitHub
[ ] how do I create a README.md file?
@githubteacher not sure how to create a README.md file?

@githunteacher not sure how to create a README.md file?

Bought these goblets for a 5th wedding anniversay


[Bug]: Nullable properties not seen as nullable by TypeReflector

Tempest Version
1.0-alpha2
PHP Version
8.3
Operating System
MacOS
Description
After updating from alpha1 to alpha2 in a basic todo app I started getting MissingValue exceptions when accessing null database values in a model where the property is nullable and had a default value of null.
final class Todo implements DatabaseModel
{
    use IsDatabaseModel;

    public function __construct(
        public string        $title,
        public ?string $description = null,
    )
    {}
}

In tracing from QueryToModelMapper > ClassReflector > TypeReflector I found that TypeReflector would only set the definition for my description field as string and not ?string or the union null|string.
I submitted #591  to confirm the issue. I have a PR to submit with a fix but Im waiting for this to get confirmed.
Steps to Reproduce

final class Todo implements DatabaseModel
{
    use IsDatabaseModel;

    public function __construct(
        public string        $title,
        public ?string $description = null,
    )
    {}
}

Todo::create(title: "test");
ll(Todo::query()->first()->description); //throws MissingValue
```php

I fixed it in https://github.com/tempestphp/tempest-framework/pull/591 :)


Updated rpi_ws281x submodule to latest commits

This includes support for newer RPI hardware versions.
It's been a while since i've had the pleasure of doing pull requests with updated submodules.
Can someone please check that this works for them too?
IMPORTANT: This repository no longer accepts new features or additions. Just bugfixes! Please commit to the repository "hyperion.ng" for new features.
1. Tell us something about your changes.
Updated hyperion-project master branch to latest version
small modifications to CMake file to support the new version
2. If this changes affect the .conf file. Please provide the changed section
nope
3. Reference a issue (optional)
All those people who needed to hack the rpihw.c file and build from source so this would work with newer RPI hardware versions (like CM, ZeroW...)

I've tested this on a pi1/512 and pi3

Hope so :)

Can you please tag a new gpg signed release? #730


Added Dockerfile

Why?

The cows deserve it.

 ___________________
< wE deSerV nOtHing >
 -------------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||


Use memoization to reduce the number of expr evaluations

GPU tests please

Codecov Report

Merging #1343 into master will increase coverage by <.01%.
The diff coverage is 67.64%.

@@            Coverage Diff             @@
##           master    #1343      +/-   ##
==========================================
+ Coverage   54.21%   54.21%   +<.01%
==========================================
  Files         266      266
  Lines       23722    23745      +23
  Branches     5300     5307       +7
==========================================
+ Hits        12860    12874      +14
- Misses      10862    10871       +9

Impacted Files
Coverage Δ

@here/harp-mapview/lib/RoadPicker.ts
8.98% <0%> (ø)
:arrow_up:

...re/harp-mapview/lib/geometry/TileGeometryLoader.ts
54.54% <100%> (ø)
:arrow_up:

...e/harp-mapview/lib/geometry/TileGeometryCreator.ts
40.7% <100%> (ø)
:arrow_up:

@here/harp-mapview/lib/DecodedTileHelpers.ts
55.3% <50%> (-0.29%)
:arrow_down:

...rp-datasource-protocol/lib/InterpolatedProperty.ts
83.45% <66.66%> (-0.52%)
:arrow_down:

@here/harp-mapview/lib/MapView.ts
60.72% <76.47%> (+0.12%)
:arrow_up:

Continue to review full report at Codecov.

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

GPU tests please


ipld: Consider removing the concept of a Share from ipld pkg

@adlerjohn are you suggesting that the NMT should use a type Share instead of raw bytes? Mind opening an issue in NMT if so? Also what is a Share in the NMT context? a pair (nid, data) where nid and data are essentially bytes and both are essentially always the of same size?

Yes to all the above

Let's close this now in favour of consolidating Namespace among the three repos (nmt, node + app)


Custom options for pip when environment_type is virtualenv

I would like to set up an asv environment using pip wheels that I built, so I would like to pass the path to the wheel repository to pip. Is there currently a way to tell asv extra options to include when calling pip?

I think most pip options have corresponding environment variables that
you can set.

@pv - ah yes, thanks, it looks like $PIP_FIND_LINKS should work. However, while it works when I just run pip, it doesn't seem to be working when asv creates environments. I tried turning on verbose mode for asv but I still don't see what's going on inside the environment creation. Is there a way to see the pip command and output?

asv -v should print the commands and stdout (it does that for me, eg.
I can see the pip install command output once the command finishes).

@pv - in my case, the issue was that I am running on a raspberry pi and the pip command was incredibly slow, and timed out (since the compilation took so long). However, I wanted to be able to see the full pip debug output, and I eventually found the solution (it needed the wheel url to be https). I've solved my issue, so I think we can close this. It would be nice if there was a way to see the pip 'live' output easily, but we're all short on developer time, and I don't think that's very high priority (my use case was quite specialized)


Deployment

https://www.youtube.com/watch?v=nLApFANtkHs
Would love to try this out, with the hot code deploys (https://daniel-azuma.com/articles/talks/elixirconf-2018).
It's a little intimidating to tackle all this:

https://github.com/bitwalker/libcluster
https://github.com/derekkraan/horde
https://github.com/derekkraan/delta_crdt_ex

But, could be fun hacking.

I'd like to take a smaller first step although I'm not sure what it is precisely yet.
This looks fairly promising though:
https://dreamconception.com/tech/phoenix-automated-build-and-deploy-made-simple/
https://github.com/danschultzer/ansible-phoenix-build
I spun up a box on my Digital Ocean but I'd like to set up the provisioning via Ansible and commit that to the repo or alongside it in a separate one.

https://github.com/vigetlabs/elixir-deploy-quickstart
This is a year old, but could be helpful.


PLAT-143562 Add Screenshot and UI tests for Input

Checklist

[X] I have read and understand the contribution guide
[ ] A CHANGELOG entry is included
[ ] At least one test case is included for this feature or bug fix
[X] Documentation was added or is not needed
[ ] This is an API breaking change

Issue Resolved / Feature Added
Add ss tests for Input size large and UI tests.
Resolution
I created ss tests for Input size large.
I created UI tests for Input.
Additional Considerations
Links
PLAT-143562
Comments

can you add size large also for RTL locale?

Closed in favor of #1170, this PR became redundant.


Fix issue with LLv6 literals in URLs

This pull request addresses issue LLv6 literals in URLs, where LLv6 literals in URLs are not properly handled by HttpClient due to a limitation in the Java standard method InetAddress.getAllByName(host). Specifically, when constructing a URL with an LLv6 literal, the % sign that prefixes the ZoneID must be quoted as %25 according to RFC 6874. However, HttpClient does not support quoted host literals.
To work around this limitation, this pull request modifies the SystemDefaultDnsResolver class to strip the IPv6 zone identifier from the host string before calling InetAddress.getAllByName(host). This allows HttpClient to handle LLv6 literals in URLs that conform to RFC 6874.

HI @ok2c
Even though I don't fully agree with putting logic in the catch block, I made the change. I believe it's better to keep it separate."
TY


Raised Cards with OnClick appears blue

Bug Report
On the docs, cards are structured as so:
<Card>
  <Card.Content>
    Card.Header, Card.Meta, Card.Description, etc
  <Card.Content>
</Card>

When a card has an onClick event and is not structured in the above format, the content turns blue (as it is rendered as an a tag).
Steps
Refer to Testcase code.
Expected Result
The cards should render as usual with no a tag formatting.
Actual Result
Default link formatting was applied to the Card content, turning it blue.
Version
0.81.1
Testcase
https://81qq1n4mvl.codesandbox.io/

In fact it's the required markup for correct display, that's why we changing the tag to a. However, you can easily override it 🔨
<Card href='#card-example-link-card'>Foo</Card>
<Card as='div' href='#card-example-link-card'>Foo</Card>

Foo

Foo


vendor: docker/docker 471fd27709777d2, remove use of pkg/signals

relates to https://github.com/moby/moby/pull/42616, https://github.com/moby/moby/pull/42641
full diff: https://github.com/docker/docker/compare/0ad2293d0e5bbf4c966a0e8b27c3ac3835265577...471fd27709777d2cce3251129887e14e8bb2e0c7

- What I did
- How I did it
- How to test it
- Description for the changelog

Actually, the stack.Dump() is so little code, I think I'll just copy it, to reduce the dependency tree a bit

@dperny PTAL 🤗


PacketLib

Where I can find PacketLib for 1.8

I need PacketLib, MCAuthLib, OpenNBT for 1.8

Find it in commit history or in my repo look at dependencies in pom.xml in the branch with the version you want.


[FP]: POI OOXML SCHEMAS Shown For Scratchpad CVE

Package URl
<EMAIL_ADDRESS>CPE
cpe:2.3:a:apache:poi:4.1.2:::::::*
CVE
CVE-2022-26336
ODC Integration
{"label"=>"CLI"}
ODC Version
7.1.1
Description
According to the description of the CVE,
If an application uses poi-scratchpad to parse TNEF files and the application allows untrusted users to supply them, then a carefully crafted file can cause an Out of Memory exception. This issue affects poi-scratchpad version 5.2.0 and prior versions. Users are recommended to upgrade to poi-scratchpad 5.2.1.
Since poi-ooxml is not a dependent on poi-scratchpad the CVE looks misleading for this package

The issue is that poi-scratchpad and the other poi libraries together are a single 'CPE' at the NVD. Such 'released as a whole' frameworks we are not micromanaging the CVE-allocation library by library. That's up to your own suppressions.


UnicodeDecodeError cause by system encoding

When I try to export to a static image, the following error occurs but I still can get the image correctly.
Exception in thread Thread-4:
Traceback (most recent call last):
  File "D:\Program Files\Python36\lib\threading.py", line 916, in _bootstrap_inner
    self.run()
  File "D:\Program Files\Python36\lib\threading.py", line 864, in run
    self._target(*self._args, **self._kwargs)
  File "D:\My Documents\GitHub\github-readme-codestats-widget\venv\lib\site-packages\kaleido\scopes\base.py", line 74, in _collect_standard_error
    val = self._proc.stderr.readline().decode('utf-8')
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb9 in position 77: invalid start byte

So I debugged the line at val = self._proc.stderr.readline().decode('utf-8') and found that it should be decode as gb2312 because this is my system encoding.
I think this line should be changed to
os_encoding = locale.getpreferredencoding()
val = self._proc.stderr.readline().decode(os_encoding)

The result images have no issues and exporting SVG format still getting the error.

Ok, great. Thanks for the info!

@WEGFan do get the same encoding from sys.stderr.encoding?  This is a pattern I've seen some other projects use:
import sys
import locale
try:
    encoding = sys.stderr.encoding
except Exception:
    encoding = locale.getpreferredencoding()

getpreferredencoding actually has side-effects by default that I don't fully understand the implications of (https://stackoverflow.com/questions/23743160/locale-getpreferredencoding-why-does-this-reset-string-letters).

Nope.
>>> import sys
>>> import locale
>>> sys.stderr.encoding
'utf-8'
>>> locale.getpreferredencoding()
'cp936'

I took a look at Python 3 open() document and it says

In text mode, if encoding is not specified the encoding used is platform dependent: locale.getpreferredencoding(False) is called to get the current locale encoding.

And locale.getpreferredencoding() on Python 2

If invoking setlocale is not necessary or desired, do_setlocale should be set to False.

So maybe using locale.getpreferredencoding(False) is safe.

Thanks, I just opened #17 which should take care of it.  It delays encoding until we actually need to display to the user, then it attemps to decode using sys.stderr.encoding and locale.getpreferredencoding(False), with exception handling.


Testlibs: various changes

Avoids the duplcation in the many run* functions
Ensures that when we have a failure we always have the final budget and logs available and printed.
Remove the X vs XCatch distinction. In practice, producing a different output for a golden file is going to fail the test, so the non-catch variants provided only a small safeguard against not noticing that a golden file has become a failure, which didn't seem worth the duplication.
Simplify our golden file extensions. There were a lot of things in there that were not really that useful. Now it's either: source (with language extension), output of evaluation, or size.

Going to have miserable conflicts, but I'll deal with them until we can decide if  we prefer this.

I'm going to merge this, it's progress.


Fixed the web support by checking for web platform before using dart:io

Calling the dart:io function Platform.isWindows before checking for web results in a crash, because dart:io is not supported on the web.
See: https://api.flutter.dev/flutter/dart-io/dart-io-library.html

Important: Browser-based applications can't use this library. Only servers, command-line scripts, and Flutter mobile apps can import and use dart:io.

Alternatively, you could revert commit d932473c09ed6cce16a38cce59a92843d83e0e4d that dropped path dependency.

Thank you very much!

I just changed the structure of the repository. Could you please rebase this commit?

See #224 for details.


Update Composer dependencies (2022-04-27-00-04)

Visual regression test passed!
View the visual regression test report


The released date don't have the correct format

Sorry to bother you again, I have updated the integration, and I set the timezone in my config
trakt_tv:
timezone: America/Phoenix # Prefered timezone
language: en
sensors:
upcoming:
show:
days_to_fetch: 30
max_medias: 10
movie:
days_to_fetch: 45
max_medias: 5
recommendation:
show:
max_medias: 3
movie:
max_medias: 3
But before I even updated the Time Zone I was seeing the following on the Upcoming Media Card:

I know that America/Phoenix is a valid time zone
I am not sure how to format the code here, but the indentation is correct on my config
Originally posted by @Mattssn in https://github.com/dylandoamaral/trakt-integration/issues/39#issuecomment-1229422542

Fixed in 0.4.1

It is ok thank you for your issues they helped to improve the project !


Improve default constructor for positioned components

Since position and size is most important property of PositionComponent,
so the default constructor is very important. We should be able to write:
  SpriteComponent(position: Vector2(x, y));

Normally? user define a component like
class SomeComponent extends SpriteComponent {
  Future<void> onLoad() async {
    // load image, set size, ...
  }
}

Add some instances to Game like:
game.add(SomeComponent(position: ...));

It's reasonable to split sync initial and async load in different routine.
In library(flame), it is better to keep same style.
This PR also changed all derived components and never break old code.

@pedia I am not against this in broad lines, but I am trying to understand why this would be the case?

better performance than SomeComponent()..x=3 ..y=4

For me:
  SpriteComponent(position: Vector2(10, 20))

and
  SpriteComponent()..position = Vector2(10, 20)

are pretty much the same. I guess that is the reason we didn't add these kinds of constructors

Before, we had a bunch of constructors, and that was quite confusing and hard to manage

I agree we should only merge something that does not change the number of constructors we have. I would be ok with adding extra optional parameters to all constructors if there is a benefit (which I am trying to understand). we should strive to not go back to constructor hell with half a dozen overloads per class

I would be ok with adding extra optional parameters

The problem with that is that all child classes of PositionComponent would need to call super on that, otherwise we would have some inconsistencies. And since those parameters are all optional already, it is way more manageable to let then be set by the cascading operator IMO

Cascading operator vs Constructor
Without optional argument, we can't create instance with only constructor.
Fully optional constructor will reduce other factories.
Performance is very very little but they are different.
Create with constructor is more dart/flutter stylish.

Without optional argument, we can't create instance with only constructor.

True, but there enters cascading operator, which solves that easily

Fully optional arguments constructor will reduce other factories

True, but it creates more complicated constructors for us to maintain

Performance is very very little but they are different.

I still think the perfomance, even if it is better, it would never me noticed. But again, if you have any benchmark to share about this, that would be cool

Create with constructor is more dart/flutter stylish.

Not sure I fully agree with you on that one. If we were talking about Widgets then I would 100% agree, but components are not Widgets. Initialization of optional properties is even used as example on the dart guide
This is a major change in our API regarding components, so this need to be carefully thought, I still prefer that we keep the use of cascading operator for initializing optional props because that will make this part of the API easy to maintain.
Changing to an optional parameter approach, means that we will start to replicating these parameters on all available factories, of all of our components (for example, on your PR,  you didn't changed the SpriteAnimationComponent.fromFrameData).
Since this is a major a change in our API I think we need to get on a common decision as a team, what do you think @spydon @luanpotter @renancaraujo @wolfenrain ?

Without optional argument, we can't create instance with only constructor.

True, but there enters cascading operator, which solves that easily

Fully optional arguments constructor will reduce other factories

True, but it creates more complicated constructors for us to maintain

Performance is very very little but they are different.

I still think the perfomance, even if it is better, it would never me noticed. But again, if you have any benchmark to share about this, that would be cool

Create with constructor is more dart/flutter stylish.

Not sure I fully agree with you on that one. If we were talking about Widgets then I would 100% agree, but components are not Widgets. Initialization of optional properties is even used as example on the dart guide
This is a major change in our API regarding components, so this need to be carefully thought, I still prefer that we keep the use of cascading operator for initializing optional props because that will make this part of the API easy to maintain.
Changing to an optional parameter approach, means that we will start to replicating these parameters on all available factories, of all of our components (for example, on your PR, you didn't changed the SpriteAnimationComponent.fromFrameData).
Since this is a major a change in our API I think we need to get on a common decision as a team, what do you think @spydon @luanpotter @renancaraujo @wolfenrain ?

I see benefits with both. For these values that are almost always needed I'd find it easier as a user to find them if they were optional arguments, but then we need to have a strict definition of what should be optional arguments and what should be assigned with the cascading operator to keep our code base consistent. So if it is not easy to make such a definition it is easier to go with the cascading operator.
I don't think that it would be that hard to maintain the super calls from subclasses, if the number of optional arguments is low, like here.

I write a simple benchmark
It seems that constructor is bit litter faster than assign after construct.
@erickzanardo

In C++, construct and later assignment are much different and significant. That makes sense too in Dart. It’s a little bit weird to assign after construct.
Maybe the library should not prevent the optional arguments in the constructor.

I'm really over the fence, but I don't think the harm in adding these is that big (should be fairly simple to maintain the chain an pass everything along AS LONG AS the number of constructors we offer do not change), so I think I would lean towards giving two options to the user.

I'm really over the fence, but I don't think the harm in adding these is that big (should be fairly simple to maintain the chain an pass everything along AS LONG AS the number of constructors we offer do not change), so I think I would lean towards giving two options to the user.

I agree with Luan's vision of this. The only pitfall I can see is that we can lose sight of maintaining either of these options, which can result in a sloppy API feeling.

@pedia we need to rebase/merge master into this so it gets the new build script. Lmk if you want I can do that for you :)

@luanpotter Thanks, Please.

@erickzanardo Rollback PositionComponent abstract now.

@erickzanardo can I merge and fix these two details on a followup?

@erickzanardo can I merge and fix these two details on a followup?

Ok, I will remove my change request


'property' is missing props validation, false positive when passing props to function declared on stateless component

eslint version: 2.1.0
eslint-plugin-react version: 5.2.2
I am running into an issue linting stateless functional components. I get a false positive for the prop-types rule when I pass the props object to a function declared on the functional component that returns a node.
For example:
import React from 'react';

import OtherComponent from 'other-component';

const TestComponent = (props) => {
  return (
    <OtherComponent
      detail={ TestComponent.config.getDetail(props) }
    />
  );
};

TestComponent.propTypes = {
  propOne: React.PropTypes.number.isRequired,
  propTwo: React.PropTypes.number.isRequired
};

TestComponent.config = {
  getDetail({ propOne, propTwo }) {
    return
{ propOne + propTwo }
;
  }
};

export default TestComponent;

What's bizarre is, if TestComponent.config.getDetail doesn't return a div, and instead just returns some operation on the props, I do not get the prop-types lint, ie:
getDetail({ propOne, propTwo }) {
  return propOne + propTwo;
}

Not sure what is happening here, and I can get around it if I do the above and wrap the result of the function in a div within the component, like so:
const TestComponent = (props) => {
  return (
    <OtherComponent
      detail={
{ TestComponent.config.getDetail(props) }
 }
    />
  );
};

A function that returns jsx is treated as a component. In this case, getDetail should be an SFC, not just a jsx-returning function.
I'm also not sure why you're sticking those functions directly on the TestComponent as opposed to just referencing them lexically in the closure?

Ah ok, that makes sense, thanks.  We put functions like that on the TestComponent for configurability, so it seems like that function should just be returning just the content, and not the element thats wrapping it.  Thanks again!


Request: Add CSB Card ID to Card page in backend

I don't see the internal card ID anywhere on the card page. It would be mildly useful to access it from there for the purpose of quickly processing variant aliases when I've replaced one card with another.

The id is in position A, in the URL.
Would you like to see it near B too?


Array class

It seems there is widespread agreement that, in the longer term, Node is eventually to be replaced by or supplemented with some sort of "I can't believe it's not an array!" class Tensor that is less stateful. Users would then by default interact with Tensor rather than with Node directly.
In the shorter term, to motivate adoption by existing physicist practitioners who will primarily interact with the library via ncon, we need something now that behaves more or less like an array, but which nevertheless shields the user from the backend. Originally, I had thought this might be done by modifying the interface to Node to include a subset of NumPy functions, but I now see this might be complicated, due to the need to account for the various possible Edge states in order to do e.g. reshape or transpose.
I therefore propose that we instead directly provide an array class (I suggest we call it Array), which in essence would just be a wrapper around the backend array. Node.tensor would then be an instance of Array instead of the backend array directly.
We provide a subset of NumPy-like functions to act on Array. Contractions can be handled using either ncon or by building Nodes and Edges around Arrays; users who only want to use Node would just instantiate them from backend arrays. I think this would simplify e.g. PEPS a lot; it would also lay much of the groundwork for Tensor, which would differ from Array at the interface level more or less only via the contraction API.
Thoughts?

I have a rough (incomplete) example of what I have in mind in the array branch of my fork of the library.

In tensornetwork/linalg.array.py, oops

I took a look, I'm not sure I see the value in this. In what situations does this array class help?


Disable extension uploading to S3

Problem
We're going to reset S3 buckets (https://github.com/neondatabase/aws/pull/413), and as soon as we're going to change the format we store extensions on S3 let's stop uploading extensions in the old format.
Summary of changes

Disable aws s3 cp step for extensions

Checklist before requesting a review

[x] I have performed a self-review of my code.
[ ] If it is a core feature, I have added thorough tests.
[ ] Do we need to implement analytics? if so did you add the relevant metrics to the dashboard?
[ ] If this PR requires public announcement, mark it with /release-notes label and add several sentences in this section.

Checklist before merging

[ ] Do not forget to reformat commit message to not include the above checklist

Could we upload these files for testing purposes:
https://github.com/neondatabase/neon/tree/alek_targz/test_runner/regress/data/extension_test

Could we upload these files for testing purposes:
https://github.com/neondatabase/neon/tree/alek_targz/test_runner/regress/data/extension_test

Isn't ext_index.json should include paths to extension also?

The structure that I assume in infra is like this:
v14/
	extensions/
				public_extension1.tar.gz
				ketteq_extension1.tar.gz
	ext_index.json
		specifies:
		everyone has access to public_extension1
		tenant id 12345421 has access to ketteq_extension1

let me  know if this is a bad layout


HYPERZSH: A zsh prompt for HyperTerm

I'm not sure how this would fall into the fold here, but I configured a prompt especially for HyperTerm, so I figured that I'd at least give it a shot. Here's the repository: https://github.com/tylerreckart/hyperzsh
Thoughts?

Apologies for the tardy response - been crazy busy for Node Summit.
Since you can't install it by adding it to the plugins list in Hyperterm, I'd say it's a resource. Really awesome though - definitely worth adding!

@bnb Awesome! I'll create a PR and get it sent off to you

Closed for merged PR


Crash on startup in 1.21.4

I am not using any mods except Fabric API and Sword Blocking.
Crash Report: https://mclo.gs/o2Q7zwY

I can confirm that this issue has been fixed with version 2.2.1


Clang Linker failed when building on Mac in Clion

Hi guys,
Below is an error I got when trying to CMAKE on Mac OS 10.10 in Clion IDE. Prior to this I got error of _error: non-type template argument evaluates to<PHONE_NUMBER>, which cannot be narrowed to type 'int' [-Wc++11-narrowing]
class DMatrixPage : public DMatrixPageBase<0xffffab02> _, which is fixed by using -Wno-c++11-narrowing option. Any help would be appreciated!
/Applications/CLion.app/Contents/bin/cmake/bin/cmake --build /Users/Weilong/Library/Caches/clion10/cmake/generated/8722b792/8722b792/Debug --target src -- -j 4
[ 20%] [ 40%] [ 60%] [ 80%] Building CXX object CMakeFiles/src.dir/io/dmlc_simple.cpp.o
Building CXX object CMakeFiles/src.dir/io/io.cpp.o
Building CXX object CMakeFiles/src.dir/gbm/gbm.cpp.o
Building CXX object CMakeFiles/src.dir/tree/updater.cpp.o
In file included from /Users/Weilong/Codes/xgboost/src/gbm/gbm.cpp:7:
In file included from /Users/Weilong/Codes/xgboost/src/gbm/./gbtree-inl.hpp:15:
/Users/Weilong/Codes/xgboost/src/gbm/../utils/omp.h:15:9: warning: Warning: OpenMP is not available,xgboost will be compiled into single-thread code.Use OpenMP-enabled compiler to get benefit of multi-threading [-W#pragma-messages]
#pragma message("Warning: OpenMP is not available,"
^
In file included from /Users/Weilong/Codes/xgboost/src/io/io.cpp:9:
In file included from /Users/Weilong/Codes/xgboost/src/io/simple_dmatrix-inl.hpp:22:
In file included from /Users/Weilong/Codes/xgboost/src/io/./simple_fmatrix-inl.hpp:16:
/Users/Weilong/Codes/xgboost/src/io/../utils/omp.h:15:9: warning: Warning: OpenMP is not available,xgboost will be compiled into single-thread code.Use OpenMP-enabled compiler to get benefit of multi-threading [-W#pragma-messages]
#pragma message("Warning: OpenMP is not available,"
^
[100%] Building CXX object CMakeFiles/src.dir/xgboost_main.cpp.o
In file included from /Users/Weilong/Codes/xgboost/src/tree/updater.cpp:8:
In file included from /Users/Weilong/Codes/xgboost/src/tree/./updater_refresh-inl.hpp:15:
/Users/Weilong/Codes/xgboost/src/tree/../utils/omp.h:15:9: warning: Warning: OpenMP is not available,xgboost will be compiled into single-thread code.Use OpenMP-enabled compiler to get benefit of multi-threading [-W#pragma-messages]
#pragma message("Warning: OpenMP is not available,"
^
In file included from /Users/Weilong/Codes/xgboost/src/xgboost_main.cpp:13:
In file included from /Users/Weilong/Codes/xgboost/src/./learner/learner-inl.hpp:17:
In file included from /Users/Weilong/Codes/xgboost/src/./io/../learner/./objective.h:67:
In file included from /Users/Weilong/Codes/xgboost/src/./io/../learner/objective-inl.hpp:19:
/Users/Weilong/Codes/xgboost/src/./io/../learner/../utils/omp.h:15:9: warning: Warning: OpenMP is not available,xgboost will be compiled into single-thread code.Use OpenMP-enabled compiler to get benefit of multi-threading [-W#pragma-messages]
#pragma message("Warning: OpenMP is not available,"
^
1 warning generated.
1 warning generated.
1 warning generated.
1 warning generated.
Linking CXX executable src
Undefined symbols for architecture x86_64:
"rabit::engine::Allreduce_(void*, unsigned long, unsigned long, void ()(void const, void*, int, MPI::Datatype const&), rabit::engine::mpi::DataType, rabit::engine::mpi::OpType, void ()(void), void*)", referenced from:
void rabit::Allreduce<rabit::op::BitOR, unsigned int>(unsigned int*, unsigned long, void ()(void), void*) in updater.cpp.o
void rabit::Allreduce<rabit::op::Max, float>(float*, unsigned long, void ()(void), void*) in updater.cpp.o
void rabit::Allreduce<rabit::op::Sum, float>(float*, unsigned long, void ()(void), void*) in xgboost_main.cpp.o
void rabit::Allreduce<rabit::op::Max, unsigned int>(unsigned int*, unsigned long, void ()(void), void*) in xgboost_main.cpp.o
"rabit::engine::ReduceHandle::Init(void ()(void const, void*, int, MPI::Datatype const&), unsigned long)", referenced from:
rabit::Reducer<xgboost::tree::SplitEntry, &(xgboost::tree::SplitEntry::Reduce(xgboost::tree::SplitEntry&, xgboost::tree::SplitEntry const&))>::Reducer() in updater.cpp.o
rabit::SerializeReducer<xgboost::utils::QuantileSketchTemplate<float, float, xgboost::utils::WXQSummary<float, float> >::SummaryContainer>::SerializeReducer() in updater.cpp.o
rabit::Reducer<xgboost::tree::SketchMaker::SKStats, &(xgboost::tree::SketchMaker::SKStats::Reduce(xgboost::tree::SketchMaker::SKStats&, xgboost::tree::SketchMaker::SKStats const&))>::Reducer() in updater.cpp.o
rabit::Reducer<xgboost::tree::GradStats, &(xgboost::tree::GradStats::Reduce(xgboost::tree::GradStats&, xgboost::tree::GradStats const&))>::Reducer() in updater.cpp.o
"rabit::engine::ReduceHandle::TypeSize(MPI::Datatype const&)", referenced from:
void rabit::SerializeReducerFunc_<xgboost::utils::QuantileSketchTemplate<float, float, xgboost::utils::WXQSummary<float, float> >::SummaryContainer>(void const*, void*, int, MPI::Datatype const&) in updater.cpp.o
"rabit::engine::ReduceHandle::Allreduce(void*, unsigned long, unsigned long, void ()(void), void*)", referenced from:
rabit::Reducer<xgboost::tree::SplitEntry, &(xgboost::tree::SplitEntry::Reduce(xgboost::tree::SplitEntry&, xgboost::tree::SplitEntry const&))>::Allreduce(xgboost::tree::SplitEntry*, unsigned long, void ()(void), void*) in updater.cpp.o
rabit::Reducer<xgboost::tree::SketchMaker::SKStats, &(xgboost::tree::SketchMaker::SKStats::Reduce(xgboost::tree::SketchMaker::SKStats&, xgboost::tree::SketchMaker::SKStats const&))>::Allreduce(xgboost::tree::SketchMaker::SKStats*, unsigned long, void ()(void), void*) in updater.cpp.o
rabit::SerializeReducer<xgboost::utils::QuantileSketchTemplate<float, float, xgboost::utils::WXQSummary<float, float> >::SummaryContainer>::Allreduce(xgboost::utils::QuantileSketchTemplate<float, float, xgboost::utils::WXQSummary<float, float> >::SummaryContainer*, unsigned long, unsigned long, void ()(void), void*) in updater.cpp.o
rabit::Reducer<xgboost::tree::GradStats, &(xgboost::tree::GradStats::Reduce(xgboost::tree::GradStats&, xgboost::tree::GradStats const&))>::Allreduce(xgboost::tree::GradStats*, unsigned long, void ()(void), void*) in updater.cpp.o
"rabit::engine::ReduceHandle::ReduceHandle()", referenced from:
rabit::Reducer<xgboost::tree::SplitEntry, &(xgboost::tree::SplitEntry::Reduce(xgboost::tree::SplitEntry&, xgboost::tree::SplitEntry const&))>::Reducer() in updater.cpp.o
rabit::SerializeReducer<xgboost::utils::QuantileSketchTemplate<float, float, xgboost::utils::WXQSummary<float, float> >::SummaryContainer>::SerializeReducer() in updater.cpp.o
rabit::Reducer<xgboost::tree::SketchMaker::SKStats, &(xgboost::tree::SketchMaker::SKStats::Reduce(xgboost::tree::SketchMaker::SKStats&, xgboost::tree::SketchMaker::SKStats const&))>::Reducer() in updater.cpp.o
rabit::Reducer<xgboost::tree::GradStats, &(xgboost::tree::GradStats::Reduce(xgboost::tree::GradStats&, xgboost::tree::GradStats const&))>::Reducer() in updater.cpp.o
"rabit::engine::ReduceHandle::~ReduceHandle()", referenced from:
rabit::Reducer<xgboost::tree::SplitEntry, &(xgboost::tree::SplitEntry::Reduce(xgboost::tree::SplitEntry&, xgboost::tree::SplitEntry const&))>::~Reducer() in updater.cpp.o
rabit::Reducer<xgboost::tree::SplitEntry, &(xgboost::tree::SplitEntry::Reduce(xgboost::tree::SplitEntry&, xgboost::tree::SplitEntry const&))>::Reducer() in updater.cpp.o
rabit::SerializeReducer<xgboost::utils::QuantileSketchTemplate<float, float, xgboost::utils::WXQSummary<float, float> >::SummaryContainer>::~SerializeReducer() in updater.cpp.o
rabit::Reducer<xgboost::tree::SketchMaker::SKStats, &(xgboost::tree::SketchMaker::SKStats::Reduce(xgboost::tree::SketchMaker::SKStats&, xgboost::tree::SketchMaker::SKStats const&))>::~Reducer() in updater.cpp.o
rabit::SerializeReducer<xgboost::utils::QuantileSketchTemplate<float, float, xgboost::utils::WXQSummary<float, float> >::SummaryContainer>::SerializeReducer() in updater.cpp.o
rabit::Reducer<xgboost::tree::SketchMaker::SKStats, &(xgboost::tree::SketchMaker::SKStats::Reduce(xgboost::tree::SketchMaker::SKStats&, xgboost::tree::SketchMaker::SKStats const&))>::Reducer() in updater.cpp.o
rabit::Reducer<xgboost::tree::GradStats, &(xgboost::tree::GradStats::Reduce(xgboost::tree::GradStats&, xgboost::tree::GradStats const&))>::~Reducer() in updater.cpp.o
...
"rabit::engine::Init(int, char**)", referenced from:
rabit::Init(int, char**) in xgboost_main.cpp.o
"rabit::engine::Finalize()", referenced from:
rabit::Finalize() in xgboost_main.cpp.o
"rabit::engine::GetEngine()", referenced from:
rabit::GetRank() in io.cpp.o
rabit::GetWorldSize() in io.cpp.o
rabit::GetWorldSize() in updater.cpp.o
rabit::GetRank() in updater.cpp.o
rabit::Broadcast(void*, unsigned long, int) in updater.cpp.o
rabit::TrackerPrint(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&) in updater.cpp.o
rabit::IsDistributed() in xgboost_main.cpp.o
...
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[3]: *** [src] Error 1
make[2]: *** [CMakeFiles/src.dir/all] Error 2
make[1]: *** [CMakeFiles/src.dir/rule] Error 2
make: *** [src] Error 2

looks like your clang doesn't support openMP (no, mac clang doesn't support it). So, you might want to turn on no_omp=1 for cmake as in the build.sh using make.

Thanks for your help @phunterlau! That solves the above problem, however, another has emerged, which I couldn't find the answer to on google. ## "/Users/Weilong/Codes/xgboost/subtree/rabit/src/engine_mpi.cc:12:10: fatal error: 'mpi.h' file not found
#include <mpi.h>"

@Dlng xgboost doesn't have an official CMakeLists.txt for supporting cmake as I remember, so I am afraid there are some deeper problems of using it, for example, including mpi location. Do we have any future plans of supporting cmake?


extract strings and add Arabic Language

I don't know how to commit to my existing pull request so I create new one,

You just need to commit on your fork and push the commits, then it automatically show in the pull request you made

ok thanks

Great work, @rashedswen !

thanks @vitorpamplona


Unable to open settings in the tester

please help me out in setting up the environment
i'm not getting what i have to do

Even me too I failed to open the environment


LEGO: Pull request from lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20230122164538349 to main

LEGO: Pull request from lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20230122164538349 to main with localized lcls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.01%) to 42.035%

Totals

Change from base Build<PHONE_NUMBER>:
0.01%

Covered Lines:
28605

Relevant Lines:
63211

💛  - Coveralls


Enable Consistent Data Push on Ingestion Jobs for REFRESH use case

Consistent data push protocol APIs are available via controller REST APIs such as startReplaceSegments, endReplaceSegments, and revertReplaceSegments. However, previously, ingestion jobs are not wired to use this feature.
Introduce a new boolean consistentDataPush  in TableConfig->ingestionConfig->batchIngestionConfig that when enabled, supports batch ingestion in REFRESH mode to run in consistent data push mode.
Consistent push goal: supports atomic switching (on broker level) between data snapshots and eliminate the time period where the query is getting computed from inconsistent data mixed from existing and new data. Moreover, we aim to provide an easy way to rollback to the previous data in case of the bad data push.
See https://github.com/apache/pinot/issues/7813 for more details.
Some tasks breakdown associated with this issue:

Improve test coverage for pinot-batch-ingestion-standalone jobs to cover SegmentMetadataPushJobRunner,
SegmentTarPushJobRunner and SegmentUriPushJobRunner.
Refactor the common logics out of all pushJobRunner(s) into a new abstract class BaseSegmentPushJobRunner.
Main change on enabling consistent data push on ingestion jobs.

One challenge to solve here is the segment name conflict. Currently the reason why batch replace cannot be enabled for REFRESH mode is because the segment will have the same name, thus directly replace the existing segment. cc @snleee

Support for consistent push in ingestion jobs on standalone executor has been merged with #9295.
Opening a new issue for Hadoop and Spark support.


Reduce number of allocations for planar data

The LRF search and ActivityMask were allocating planar data as Vec<Vec<_>>.
Allocate as Vec<_> and use computed indices instead, e.g.:
foo[x * w + y] or foo.chunks_exact(w).

No significant impact to speed other than a 1.3% speed-up when running memory-profiler.


Error createKycPage and createKycPageFromFile returning

Hello, I'm trying to create a KYC Page with the nodejs SDK, I get  as a unique response.
i tried the  TestKycPageFile image with createKycPageFromFile but it still show
`
var filePath = path.resolve(__dirname, "./TestKycPageFile.png");
 console.log(filePath);
 const page = await api.Users.createKycPageFromFile(
   req.params.id,
   req.params.document_id,
   filePath
 );
res.status(201).send({ msg: messages.successfully_created, page });

`
KYCPageFileStringNew its the base64 that u are using in the test file
`
const page = await api.Users.createKycPage(
  req.params.id,
  req.params.document_id,
  { File: KYCPageFileStringNew }
);
 console.log(page);
res.status(201).send({ msg: messages.successfully_created, page });

`

Hello @rahou0,
Did you double check in the MANGOPAY dashboard that your kyc page has been created?

@fredericdelordm
i dont think we can see if the KYC page is create the only think that i can see is the KYC document is created.
if its possible can u show me how?

Hello @fredericdelordm,
I think that you need update your doc in node sdk.

It mentions that createKycPage return a KycDocumentData but actually the response is empty. To update the doc, we need to put the id and status manually to change the status to "VALIDATION_ASKED".

Hello @fredericdelordm,
I think that you need update your doc in node sdk.
It mentions that createKycPage return a KycDocumentData but actually the response is empty. To update the doc, we need to put the id and status manually to change the status to "VALIDATION_ASKED".

same here


<EMAIL_ADDRESS>

@skirby1996 looks like one of our dependency updates breaks the ui-framework tests. @bsteinbk mind taking a look when you have a chance?
I'm hitting the same issue in #2475


Remove safe navigation macro

Only code change here is data?.index.sure(); to (data?.index).sure(); to make index non-nullable because of compiler error. Wonder if this is save nav flaw
https://github.com/RealyUniqueName/Safety/blob/8b0fb7e098ee64176a9e0d3697a91f472183a3ba/src/Safety.hx#L26

Output seems ok (better than before in some cases, even), main differences being it's now checking for != null, and avoiding tmp variables when not needed.

thanks!


refactor: use virtual environment to be consistent

Following the work on #543, it seems that there was a need for two things:

better handling of unexpected behavior when working with VMs, see https://github.com/ansys/actions/issues/559
better coherence in how we deal with poetry and pip build backends.

This PR aims at tackling those two points by enforcing the use of a virtual environment, even when working with poetry.
On top of those changes, the modified actions are now "more compatible" with poetry. Before, the default behavior was to use python -m pip install . while now we detect the build backend and use poetry if appropriate.
Note: I didn't push the use of poetry with requirements file but that might be an idea (e.g. for the action check vulnerabilities dependencies). I was assuming that this might lead to unexpected behavior if a library was in the dependency file and also in the poetry.lock file so I didn't do anything. However, that might echo the discussion of yesterday with the fact of having credentials for both pip and poetry when on wants to use a private pypi.

This worked as expected for:

https://github.com/ansys/pyansys-sound/actions/runs/10937085524
https://github.com/ansys/pyconceptev/actions/runs/10936996838?pr=122
currently running for https://github.com/ansys-internal/pyaedt-examples/actions/runs/10917092741?pr=230

You sure had some fun in this PR @SMoraisAnsys 😄

The changes look good to me. Thanks!

I need to double check with some testing though :) Thanks again for the feedback !

Test closing this PR due to workflow problem


Name steps

Applied mkpr on .github/workflows/ci.yml
sed -f,name.sed

:tada: This issue has been resolved in version 6.11.29 :tada:
The release is available on:

npm package (@latest dist-tag)
v6.11.29
GitHub release

Your semantic-release bot :package::rocket:


Add screenshots on F-Droid

Screenshots are missing on F-Droid.
As I see, fastlane directory is missing in the repo. should I make it?

I'm not familiar with fastlane. Can you give more details?

https://f-droid.org/en/docs/All_About_Descriptions_Graphics_and_Screenshots/
https://gitlab.com/snippets/1895688

I would prefer to have the screenshots directly in the F-Droid repo.
I'll create a MR for this later.

As long as it shares screenshots, what ever you do is good :)
در تاریخ چهارشنبه ۲۰ مهٔ ۲۰۲۰، ۱۲:۴۰ Adrian Cotfas <
<EMAIL_ADDRESS>نوشت:

I would prefer to have the screenshots directly in the F-Droid repo.
I'll create a MR for this later.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/adrcotfas/Goodtime/issues/194#issuecomment-631313104,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACVYOY7X7MLPB7SFJM5CPLTRSOF7BANCNFSM4NFETB5A
.

Any updates?


Dev Env

This adds a development environment to allow us to work on this project without putting it into a dummy Django project.
All one needs is Docker and Compose. Once those requirements are satisfied, they can begin developing with a single command.
Also did a few housekeeping things with the requirements files.
All in all:

Add Tox config
Add Travis CI config
Add Dockerfile
Add Compose config
Adds a test project
Update the README with development information.

ping @somexpert @ldko

:thumbsup:

Damon Kelley should be added to the Acknowledgements section of README

Damon Kelley added to the Acknowledgements section

:+1:


Fat-milestone-endpoint

Naming Rules
Name your PR like this: ISSUENUMBER-TITLE-YOURNAME
Description
Write a summary of your change. Explain why you have made it.
Related to
Make sure you include the issue number with a hash sign # so Github can link this PR to the right issue, like this:
Fixes #1
Checklist:

[ ] My code follows the style guidelines of this project
[ ] I have carefully reviewed my own code
[ ] I have commented my code
[ ] I have updated any documentation

This is again the wrong base. It is increasingly concerning that, despite having been informed that you've done the wrong thing several times, you've apparently checked neither before nor after opening this PR whether it was going to the wrong place. You must be aware when opening a PR that this is something that has proved troublesome in the past, but don't seem to have taken any corrective action. For example, you could:

write or record yourself a guide to follow, and update it whenever you discover a problem;
get a fellow team member who has successfully opened PRs to jump on a call and pair with you; or, at the very least
check after opening the PR that it appears in the right place, and do something about it if not.


Replace logical objectfifo produce/consume with core in/out DMA operands

Remove the partially redundant produce/consume ops as they have been largely replaced already with the logicalobjectfifo.access ops. The main use for them is to provide information on which cores are using which DMAs which can be handled by adding input and output DMA operands to the amdaie.core ops.

n00b question: does !amdaie.logicalobjectfifo (the type) actually do anything on top of memref? in aie there's the same thing and all it does is it forces you to do objfifoT.getElement().getType().


Feature request: Add IP localization to dashboard

Proposal
I would like to request a new feature that adds country flags behind IP addresses in the dashboard for better analysis.
One of the key benefits of this feature would be the ability to quickly and easily identify the geographical location of each IP address. This information can be useful for a variety of purposes, such as analyzing traffic patterns, identifying potential security threats, and optimizing performance.
In addition, displaying this information directly in the dashboard would provide a more visual and intuitive way of understanding the data, making it easier to analyze and draw insights from the IP address information.
In the future, this feature could be extended to include region-level data and charts for even more granular analysis.
I believe this feature would be valuable for many users and hope it can be implemented in a future update.
Solution
I have done some initial research and believe that this feature can be implemented relatively easily.

It is not feasible to utilize an API service for this project due to prohibitive licensing terms or costs
After researching various options, I have found that https://lite.ip2location.com/ is a good solution for this use case
This solution does not utilize an API. Instead, it offers regularly updated IP databases which can be downloaded locally. The downloaded database in a bin format can be accessed and searched through a provided package for searching. To ensure the data remains current, it is recommended to download the database BIN file on a monthly basis. The lite version of this solution is sufficient for our needs and the paid version is not required. It should be noted that a disclaimer must be included in the dashboard indicating that the data is sourced from ip2location.com for IP address lookup purposes.

Example
Download the database under https://download.ip2location.com/lite/
(direct link: https://download.ip2location.com/lite/IP2LOCATION-LITE-DB1.BIN.ZIP)
This should be done once a month.
Go code to research the country of the IP:
package main

import (
	"fmt"
	"github.com/ip2location/ip2location-go/v9"
)

func main() {
	db, err := ip2location.OpenDB("./IP2LOCATION-LITE-DB1.BIN")

	if err != nil {
		fmt.Print(err)
		return
	}
	ip := "<IP_ADDRESS>" //replace with desired ip
	results, err := db.Get_all(ip)

	if err != nil {
		fmt.Print(err)
		return
	}

	fmt.Printf("country_short: %s\n", results.Country_short)
	fmt.Printf("country_long: %s\n", results.Country_long)

	db.Close()
}

Output:
country_short: US
country_long: United States of America

This for now is out of the scope for v1.
It adds very little to the project, while having too many cons:

it will increase the binary size with ~2-3mb
it requires regular updates of the prebuilt executables and I don't want to force the user to download a newer version (we don't have automatic updates yet)
it could slow down log writes (or will have to implement some post-processing mechanism)
it requires attribution (and I'm not sure whether this attribution could be only in the PocketBase doc/site or will need to be place inside the dashboard so that its available with each distribution)


Enhance authentication

Current authentication implementation in the API Gateway is not very concise, and only supports Keycloak via Vert.x OAuth 2. So it's necessary to enhance the implementation of authentication. Maybe an individual authentication component is needed.

Hi,
if you change the auth maybe you can consider that it could be possible that a microservice is reachable without the API Gateway.
For decoupling the services and prevent problems with the api gateway (single point of failure), it could be possible that the clients goes directly to some microservices with the same token/session id.
From my point of view the usage of vertx JWT is a good idea too.
Thanks
Marcel

yes JWT would be a better choice if you go with clean clean micro services design for service to service API trust


Add datatype for objects of type int, decimal, double and boolean when serializing to a string

Adds a datatype for objects of type int, decimal, double and boolean when serializing to a string.

Thanks for the PR @erikap . Although this is technically a bug fix, I will bump the major version to be on the safe side as this changes the output and publish on npm.


P514 Missing highlight

On the first snippet, the onLoad function itself (with its closing }) needs to be highlighted.

Fixed, thanks


Add non-reversible parallel tempering

Presentation of the new sampler
Parallel tempering, known also as replica exchange MCMC, maintains $K$ Markov chains at different temperatures, ranging from $\pi_0$ (the reference distribution, for example the prior) to the target distribution $\pi =: \pi_{K-1}$.
Apart from local exploration kernels, targeting each distribution individually, it includes swap kernels, trying to switch states from different chains, hence targeting the distribution
$$(x_0, \dotsc, x_{K-1})\mapsto \prod_{i=0}^{K-1} \pi_i(x_i),$$
defined on the spaces $\mathcal X^K = \mathcal X\times \cdots \times \mathcal X$. By retaining the samples from only the last coordinate, it allows one to sample from $\pi = \pi_{K-1}$.
Similarly to sequential Monte Carlo (SMC) samplers, this strategy can be highly efficient to sample from multimodal posteriors. Modern variant of parallel tempering, called non-reversible parallel tempering (NRPT), achieves the state-of-the-art performance in sampling from complex high-dimensional distributions. NRPT works with both discrete and continuous spaces, and allows one to leverage preliminary runs to tune the tempering schedule.
Resources

NRPT was introduced in S. Syed et al., Non-Reversible Parallel Tempering: a Scalable Highly Parallel MCMC Scheme. There is also an excellent lecture available on this topic.
In Julia, NRPT is implemented in Pigeons.jl (see e.g., the documentation or the repository).
An excellent blog post from S. Carstens introducing parallel tempering.
I wrote a blog post with a prototype of JAX implementation, explaining the intuition behind the algorithm.

How does it compare to other algorithms in blackjax?
Compared with a single-chain MCMC sampler:

It requires maintaining $K$ chains. Hence, it can generally require more evaluations for the same number of samples collected.
However, it can lead to much faster mixing (especially for complex geometries or multimodal posteriors), resulting in a high effective sample size.
Computations for different chains can be parallelized.
Similarly to single-chain MCMC methods, warm-up samples have to be discarded.

Compared with a tempered SMC sampler:

It maintains $K$ chains (each at its own temperature) over $T$ timesteps. SMC samplers keep all particles at the same temperature and then use a resampling step to move particles to the new temperature.
Similarly to SMC samplers, it works with arbitrary spaces (whether continuous or discrete), if efficient local exploration kernels (targeting the tempered distributions $\pi_i$) are available.
Similarly to some variants of tempered SMC samplers, non-reversible parallel tempering allows one to tune the tempering schedule basing on previous runs.
NRPT requires discarding the warm-up samples.

Where does it fit in blackjax
BlackJAX offers a large collection of MCMC kernels. They can be leveraged to build non-reversible parallel tempering MCMC samplers, exploring different temperatures simultaneously, which leads to faster mixing and allows one to sample from multimodal posteriors. NRPT ac
Are you willing to open a PR?
Yes. I have a prototype implemented in a blog post, which I would be willing to refactor and contribute.
I am however unsure about two design choices:

Non-reversible parallel tempering requires application of local kernels, $K_i$, to individual coordinate chains $x_i \in \mathcal X$ (corresponding to tempered distributions $\pi_i$). What would be the best practice of storing and applying different kernels? For example, one may be willing to use HMC with a large step size for sampling from $\pi_0$ (or even sample from the prior directly, if e.g., using a probabilistic programming language) and HMC with a small step size to sample from $\pi=\pi_{K-1}$. In my prototype I employ kernels from the same family to use jax.vmap, rather than a for loop. I guess this problem is less apparent in tempered SMC samplers, where at temperature $T$ all particles are moved by the same kernel $K_T$. (Even though kernels $K_T$ may differ for different temperatures.)
How to parallelize the computation? Pigeons.jl uses MPI communication between different machines to study very high-dimensional problems. Should a BlackJAX version use some version of sharding or could I keep it simple and rely on built-in parallelism?

Thank you for the detailed write-up, much appreciated. And yes, a contribution will be very welcome!
Regarding the design choice, jax.vmap would be the answer to both of your question.
I have not read in detail of your blog post, but just wondering if you have compared your implementation with TFP, which i am a bit more familiar with.

BTW, I am a huge fan of parallel tempering - very excited about this! Looking forward to your PR!

Same here, I had planned to do it at some point but I've not been able to commit the time to :D very happy someone is doing it!
Design choice wise, I actually do not think it would be a good idea to vmap everything at the lower level, in particular in sight of being able to do proper sharding.
IMO there are two components to the method: 1) swap kernel, 2) reversible vs non-reversible application (this can probably be vmapped as it's onlt a chain on the indices conditionally on the log likelihood values).
Once that's done, the choice of parallelism for the state chains is very much user driven and it's hard to enforce a coherent interface supporting all JAX models.

IIUC, swapping kernel is basically swapping parameter (eg. step size), which means you update the input parameter with some advance indexing. The base kernel would remain the same like step = jax.vmap(kernel.step)

I think for simplicity, let's start with building the functionality assuming we are using the same base kernel (e.g., HMC) with different parameter (e.g., step_size)


New action request: Swatinem/rust-cache

Action name
uses: Swatinem/rust-cache
Reasons
Swatinem/rust-cache

Intended usage
Swatinem/rust-cache

I have checked the internal marketplace for similar actions and couldn't find one that works for us.

[X] I have checked the internal marketplace first

:robot: Found these results:

Check
Results
Links

CodeQL on the forked repo
:x:
CodeQL run

Security scan:

Check
Result

No Dependabot configuration found
⛔

No CodeQL Init found
⛔

No CodeQL Analyze found
⛔

:robot: Check completed with result: ⚠
Found 6 Dependabot security vulnerabilities:
1 where high and 5 where moderate.
Use this link to verify the alerts.

:robot: Check completed with result: ⚠
Found 6 Dependabot security vulnerabilities:
1 where high and 5 where moderate.
Use this link to verify the alerts.

:robot: Found these results:

Check
Results
Links

CodeQL on the forked repo
:x:
CodeQL run

Security scan:

Check
Result

No Dependabot configuration found
⛔

No CodeQL Init found
⛔

No CodeQL Analyze found
⛔

:robot: Check completed with result: ⚠
Found 5 Dependabot security vulnerabilities:
1 where high and 4 where moderate.
Use this link to verify the alerts.