feat: replace hardcoded sequencer address with inherent data submission

Feature Request
Right now we have a hardcoded value for the block header's sequencer address. The idea is to investigate pallet-authorship and inherent transactions to find a good way to include the StarkNet sequencer address of the block author in the Substrate block.
Acceptance criteria
We have a reliable way to replace the hardcoded value.

WIP branch https://github.com/lana-shanghai/madara/commits/li/feat/remove_hardcoded_sequencer_addr
Command to set sequencer address in the local offchain storage:
curl -sS -H "Content-Type: application/json" -d '{"id":1, "jsonrpc":"2.0", "method": "offchain_localStorageSet", "params": {"kind": "PERSISTENT", "key": "0x737461726b6e65743a3a7365715f61646472", "value": "0x0000000000000000000000000000000000000000000000000000000000000020"}}' http://localhost:9944/
The address is picked up by the client which propagates an inherent transactions to the pallet storage.


AWS errors when you haven't configured it

When I start Wash and haven't used AWS before, I get a warning
WARN aws failed to load: could not load any profiles: the /home/casey/.aws/credentials file does not exist

It's not clear what I should do to address that warning. Since I've never used AWS, it's weird that I'd get the warning in the first place.
GCP does the same thing.
Originally seen in #432.

Other option: if a plugin errors, ask whether they want to disable the plugin (and if they say yes, put that in config).


Include project name in project URL and not only UUID

A project URL looks like this http://<IP_ADDRESS>:8080/project/eb1e3de0-073d-4be7-8f5e-e99165ddea1f/
It would be great to include the project name in the and not only UUID, possibly with a fragment such as http://<IP_ADDRESS>:8080/project/eb1e3de0-073d-4be7-8f5e-e99165ddea1f#project Foo Bar  so something similar that provides some idea of the project id.

Using URL anchor for this purpose is generally a bad idea as it conflicts with the page's internal navigation (and tab system for example).
The proper way would be to use the slug system for project-related URLs.

Implemented in https://github.com/nexB/scancode.io/commit/a507af1a7fa3b2e93396ebaf071aea367153f70f
URLs are now using the Project slug in place of the UUID.


Allow omitted default excludes in proposed search API

In PWA we want to be able to use vscode's search to look through compiled files and find sourcemaps. However, users usually exclude built files from search, and we've no way to ask vscode to drop its exclusions while still applying some of our own--@roblourens:

if you set exclude  to null, it won’t use any excludes. If you set some excludes, they will always be merged with the defaults. Needs better solution

The simplest solution would be some useDefaultExcludes?: boolean flag, which defaults to true and we could set to false in PWA.

I think js-debug should really be using findFiles since the majority of files matched by the glob will be proper matches and we have to read all the matches later anyway. But what I would like to do is get the proposed api findTextInFiles right then introduce a findFiles2 that matches it with new options so I'll do this in findTextInFiles.

Verified since this works in js-debug


Box in BoxZoom not shown

debug/map/markers.html
Try box zooming (shift + click)
No box visible. :disappointed:
It's seems forget up zIndex for zoom-box here https://github.com/Leaflet/Leaflet/blob/master/dist/leaflet.css#L66
There are also old zIndex for controls (https://github.com/Leaflet/Leaflet/blob/master/dist/leaflet.css#L99), may be it's affects something else...

Yep, forgot to update this one. Fixed, thanks!


Mccalluc/metadata

I believe this should support numeric metadata files. This felt kind-of spaghetti-ish, but I'm not sure that there's anything obvious in this commit that should have been done differently. I think some time on cypress testing would useful, as the number of options in the UI expands.

Fix #137; towards #140.


Add sparse file support

Add support for sparse files using old gnu format
This is the current default for gnu tar generated tar files, including extended headers.
Also supports raw mode, which will read the sparse file map and only emit chunks actually containing data corresponding to the sparse map. This is useful to save memory while streaming a sparse file.

@aethernet I know this is a bit late, but feel free to use this in https://github.com/balena-io-modules/etcher-sdk

Ok, I also had an idea.
I know you haven't actually written a tar creator, but when I worked at Balena, we would use ext2fs compiled to webassembly to detect holes in file systems (only works on ext2fs, which is what most Linux distros use), and etcher would only write to blocks that contained data. This is what made Etcher so fast and popular, and people would always ask how it was faster than just using dd.
So, I'm thinking if you did create a tar creator, I could make it where it could detect holes in disk images, and we could make extremely small tar balls for disk images with ext2fs partitions.
Also, if writing those images to a USB, you could stream it directly without having to download it first using Etcher (although this functionality would have to be added).
I'm not really sure why I'm saying all this, as I don't even really work at Balena, just thought it was an interesting concept and curious if you had plans to create a tar creator as well as extractor?


PR: Move updates workers to workers module

Description of Changes

[x] Wrote at least one-line docstrings (for any new functions)
[x] Added unit test(s) covering the changes (if testable)

Unify the worker usage using the worker manager
Reorganize and simplify code
Added new tests for worker manager
Updated tests for spyder update checking utils

Issue(s) Resolved

Fixes #9025
Affirmation
By submitting this Pull Request or typing my (user)name below,
I affirm the Developer Certificate of Origin
with respect to all commits and content included in this PR,
and understand I am releasing the same under Spyder's MIT (Expat) license.

I certify the above statement is true and correct: @goanpeca

Hello @goanpeca! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file spyder/utils/tests/test_updates.py:

Line 125:61: W291 trailing whitespace

Tests are still failing on Linux. And why did remove the WorkerManager tests in your last commit?

Tests are also generating a segfault on Windows and pip (Windows/Python 3.7 is tested with pip in Azure).

I am not sure what is going on on Linux and the segfault on pip and windows seems ubrelated to this as I have seen it on other PRs.
The test for the workers seem to be causing issues so i removed to see how i can make them work.

I am not sure what is going on on Linux

You need to install a VM and see what's happening there.

the segfault on pip and windows seems ubrelated to this as I have seen it on other PRs.

Yes, but the failure here is happening after like 5 tests and it's very predictable, so it's clearly introduced by this PR.

@ccordoba12 you know why the circle ci checks are not appearing?


Origin: header is required

it used to work as normal .
But today when I am invoking  : https://crossorigin.me/https://www.google.com/
I am getting the error :
Origin: header is required
Any thing changed in there . Can you be able to help me resolving this issue . Thanks a lot for all your help.

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/39833634-origin-header-is-required?utm_campaign=plugin&utm_content=tracker%2F12536595&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F12536595&utm_medium=issues&utm_source=github).

Same here

This is a deliberate change. Since it's a CORS proxy, this ensures that the proxy can only be used for AJAX requests, and not for casual browsing.

I am trying to invoke Ajax request from my javascript  and seems the
crossorigin is not responding .so I tried it from browser and both of them
not working .do you suggest me how I can use this proxy again to be
successful.
Thanks again.
On Dec 8, 2016 5:51 AM, "Tim (blob8108)"<EMAIL_ADDRESS>wrote:

This is a deliberate change. Since it's a CORS proxy, this ensures that
the proxy can only be used for AJAX requests, and not for casual browsing.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/technoboy10/crossorigin.me/issues/71#issuecomment-265722678,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AWi1HypS2HzYhjf5IpJH5B_Wm6kyL_UVks5rF-9TgaJpZM4LHNpM
.

Same here

We are having the same issue via mobile apps using Ionic.

..It works for me?
fetch('https://crossorigin.me/https://scratch.mit.edu/discuss/m/topic/4464')
  .then(r => r.text())

  // fluff
  .then(t => (new DOMParser()).parseFromString(t, 'text/html'))
  .then(d => Array.from(d.querySelectorAll('.post-content')))
  .then(ps => ps.map(p => p.innerText))
  .then(ps => ps.forEach(p => console.log(p)))

Just use fetch (polyfill if you insist) to make your life easier, it works out of the box w/ crossorigin, zero config.

I am still seeing this:
XMLHttpRequest cannot load https://crossorigin.me/http://mydomain/api. The 'Access-Control-Allow-Origin' header contains multiple values '*, https://creator.ionic.io', but only one is allowed. Origin 'https://creator.ionic.io' is therefore not allowed access.
Did something change regarding the header?  It was working fine before and I have confirmed nothing has changed on the Ionic Creator side of things.

@nvisionative crossorigin possibly has a bug when accessing an API with an existing ACAO header? Regardless, that is unrelated and you should raise it as a separate issue. :)

Thanks @tjvr - I thought it was related.  I'll create a separate issue.

@technoboy10 I suggest not changing this behaviour (we do want to avoid using crossorigin as a proxy for casual browsing!), but rewriting the "Origin header required" page to document the issue more clearly.
Anyone want to send a PR which updates this page to explain what "Origin required" means, and how to fix it? :-)

@liam4 works fine, if no query exist in the request url.

Same here....... tried it in the browser as well as from codepen, doesn't work.
http://codepen.io/gutterboy/pen/xRXbXy

URL not working for me either:
http://CrossOrigin.me/http://api.Zoopla.co.uk/api/v1/property_listings.xml?postcode=ip12&api_key=bmm77zppverakbnfnmtyuky3
Here's the program:
http://p5ide.HerokuApp.com/editor#?sketch=5873a448c6a3ab040078c16d

@GoToLoop If you actually read the HTTP response, you'll see it says
Developer Inactive
. That's nothing to do with crossorigin; in fact you'll get the exact same response if you fetch your URL using curl!
In general, please try to check the problem is actually with crossorigin, before commenting on an unrelated issue.

Sorry, I'm still very noob regarding servers. But the link w/o http://CrossOrigin.me is currently active:
http://api.Zoopla.co.uk/api/v1/property_listings.xml?postcode=ip12&api_key=bmm77zppverakbnfnmtyuky3

@GoToLoop

in fact you'll get the exact same response if you fetch your URL using curl!

Whoops, I just checked again and this isn't true—I forgot to quote the URL.
It's possible it's doing something wrong regarding encoding; open a separate issue and @technoboy10 might have a look once he gets the chance. :)

@technoboy10 I suggest closing this issue as wontfix. Should definitely update the docs; open a new issue for that!

BtW, fixed the issue by changing to another CORS proxy:
http://CodePen.io/GoSubRoutine/pen/Qdjmrm/top/?editors=0012

This is intentional. Need to write documentation though.


More funds were locked, than the channel itself after force close.

I did force close but still can not figure out some logic.
https://mempool.space/address/bc1qnj29s89v67pa4cepffcalx8kcy5kzgrdhnpqvrryh895a42gefts5d87cm
Did chart for better visualization

have 3 question for advanced developers, because I can not figure it out 2 days already.

Why was touched my sats (...ccl3 address), which was not attached to this channel at all? now because of 20k sats i get locked 500k for 2 weeks...
Why lock time 539184385 point on 1987 year?
How I can claim later sats from ...mptr address?

Please help me figure out if it okay or some potential bug with LND.

You can read about anchor output channels here: https://bitcoinops.org/en/topics/anchor-outputs/
The reason more funds were added was to pay the fees for getting the force-close transaction confirmed. That's what the 330 sat output is for, it's called an anchor. So the ...ccl3 output was added to pay the fees for it.
But those funds will not be locked for two weeks, only until the two transactions are confirmed.

Why lock time 539184385 point on 1987 year?

That's actually an interesting question. I guess it doesn't matter much as long as the lock time is in the past (otherwise the transaction couldn't be accepted into the mempool). But no idea where that value comes from. Did you open the channel or was it opened to your node? My guess would be that it was opened by the other party that uses different values than lnd.

How I can claim later sats from ...mptr address?

You don't need to do anything other than letting the node run, it will do it automatically after the time lock (CSV) has expired.

You can read about anchor output channels here: https://bitcoinops.org/en/topics/anchor-outputs/
The reason more funds were added was to pay the fees for getting the force-close transaction confirmed. That's what the 330 sat output is for, it's called an anchor. So the ...ccl3 output was added to pay the fees for it. But those funds will not be locked for two weeks, only until the two transactions are confirmed.

Why lock time 539184385 point on 1987 year?

That's actually an interesting question. I guess it doesn't matter much as long as the lock time is in the past (otherwise the transaction couldn't be accepted into the mempool). But no idea where that value comes from. Did you open the channel or was it opened to your node? My guess would be that it was opened by the other party that uses different values than lnd.

How I can claim later sats from ...mptr address?

You don't need to do anything other than letting the node run, it will do it automatically after the time lock (CSV) has expired.

I read bitcoinops article before, it said nothing about locking additional sats.
but thanks for answer anyway)


[Containers] how to use docker and fly to deploy a graphQL server

Proposed title of article
How to use docker and fly to deploy a graphQL server
Proposed article introduction
Express GraphQL is a library that allows you to create production-ready GraphQL HTTP middleware. Despite the emphasis on Express in the repo name, any HTTP web framework that provides connect styled middleware can be used to develop a GraphQL HTTP server. Connect, Express, and Restify are all part of this.
Docker is a collection of tools that leverage operating system-level virtualization to deliver software in isolated packages known as containers. Containers provide with their own set of applications, libraries, and configuration files. Fly is a platform for running full-stack apps and databases on a global scale. Docker containers of any size can be launched, and popular databases such as Postgres can be hosted.
Key takeaways

By the end of this article a learner is expected to grip the following :

Create a Node project with a GraphQL Express server
Create a container image
Run the Docker container with docker run and execute test query
Docker Compose file
Publish to GitHub Container Registry
Deploy to Fly

Article quality
This article will be one of a kind as it will try to simplify how one can use docker and fly to deploy a graphQL server. The code snippets and the explanation of the content will be easy and straight forward and it will therefore a good fit for beginners, intermediate and also experts. In contrast with the articles that may somehow be similar with this one they are a bit tough and most of them rely on what is already covered in  the documentation of which this article will try to go past that to ensure the betterment of the community.
References
N/A

Make sure your article goes into enough detail to be unique. Topic approved.

Closing due to inactivity


Can dat be integrated into our unittests?

Install dat as part of Travis boot
Init dat in pre script parts
Include dat in our test settings files

Dat repo: https://github.com/maxogden/dat

:+1: I'm not familiar with dat, so it's scary making changes and worrying about whether I broke something.

This is low priority, but it's a tool @palewire and I have been watching for some time. We just want to get this data in as many places as possible.

Consolidated in #1185


[Compile Time Constant Extraction] Add extraction of single statement returns for computed properties

Add extract single statement computed literal properties.
For computed properties in which the first statement is a ReturnStmt, emit literal output if available.

@swift-ci test


Issue correctly using CEREAL_REGISTER_DYNAMIC_INIT

I've moved to using a lib file and wanted to make use of CEREAL_REGISTER_DYNAMIC_INIT properly. I don't know if I need to use this, but I noticed an issue with one of my cerealization types not being picked up properly in a separate DLL and thought this might help.
in accountActions.h I have the following at the end of the file:
CEREAL_FORCE_DYNAMIC_INIT(mv_clientactions);

In accountActions.cpp I have the following near the top of the file:
#include "clientActions.h"

#include "cereal/cereal.hpp"
#include "cereal/types/base_class.hpp"
#include "cereal/types/polymorphic.hpp"
#include "cereal/archives/adapters.hpp"

#include "cereal/archives/portable_binary.hpp"
#include "cereal/archives/json.hpp"

CEREAL_REGISTER_TYPE(CreatePlayer);
CEREAL_REGISTER_TYPE(LoginRequest);
CEREAL_REGISTER_TYPE(FindMatchRequest);
CEREAL_REGISTER_TYPE(ExpectedPlayersNoted);
CEREAL_REGISTER_DYNAMIC_INIT(mv_accountactions);

Assume mv_accountactions is just a completely made up string. I don't have any library or dll named that, but figured it is used to link these two units together? Documentation is sparse and I may be using this incorrectly.
The error I'm getting is this:
1>  c:\git\bindstone\source\game\networklayer\accountactions.cpp(13): error C2084: function 'void cereal::detail::dynamic_init_dummy_mv_accountactions(void)' already has a body
1>  c:\git\bindstone\source\game\networklayer\accountactions.h(127): note: see previous definition of 'dynamic_init_dummy_mv_accountactions'
I've double checked and am not using mv_accountactions anywhere else... I don't know what might cause this or how to resolve it. I'm wondering if I even need the CEREAL_REGISTER_DYNAMIC_INIT, or if there's a safe way to use it in case I do move to a DLL and I'm just misusing it.
Advice would be greatly appreciated.

I seem to have been able to fix this by defining the CEREAL_FORCE_DYNAMIC_INIT with the previously missing CEREAL_DLL_EXPORT
Before (not working in VS 2017):
//! Forces dynamic initialization of polymorphic support in a
//! previously registered source file
/*! @sa CEREAL_REGISTER_DYNAMIC_INIT

    See CEREAL_REGISTER_DYNAMIC_INIT for detailed explanation
    of how this macro should be used.  The name used should
    match that for CEREAL_REGISTER_DYNAMIC_INIT. */
#define CEREAL_FORCE_DYNAMIC_INIT(LibName)              \
  namespace cereal {                                    \
  namespace detail {                                    \
    void dynamic_init_dummy_##LibName();                \
  } /* end detail */                                    \
  namespace {                                           \
    void dynamic_init_##LibName()                       \
    {                                                   \
      ::cereal::detail::dynamic_init_dummy_##LibName(); \
    }                                                   \
  } } /* end namespaces */

After (Fixed):
//! Forces dynamic initialization of polymorphic support in a
//! previously registered source file
/*! @sa CEREAL_REGISTER_DYNAMIC_INIT

    See CEREAL_REGISTER_DYNAMIC_INIT for detailed explanation
    of how this macro should be used.  The name used should
    match that for CEREAL_REGISTER_DYNAMIC_INIT. */
#define CEREAL_FORCE_DYNAMIC_INIT(LibName)              \
  namespace cereal {                                    \
  namespace detail {                                    \
    void CEREAL_DLL_EXPORT dynamic_init_dummy_##LibName();                \
  } /* end detail */                                    \
  namespace {                                           \
    void dynamic_init_##LibName()                       \
    {                                                   \
      ::cereal::detail::dynamic_init_dummy_##LibName(); \
    }                                                   \
  } } /* end namespaces */


RGB to Grayscale

See #1333 #1353 #1226
This PR is responsible for RGB to Grayscale Conversion of image(s).

@bhack @gabrieldemarmiesse @seanpmorgan @WindQAQ Please provide a review.

I agree with @WindQAQ , there is not enough added value here compared to what tensorflow offers, we can use directly tf.image.rgb_to_grayscale  . I think we need to edit https://github.com/tensorflow/addons/issues/1353#issue-585039702 . I can understand why someone might think that we need to copy the function here. I'll correct the message.
Thank you @ghosalsattam for the pull request, and sorry for not looking too much into the issue. I'll check the box for rgb to grayscale.

I agree cause in our cause just for this single line call we need +137 lines of diff (overhead, tests etc.) also if the original wrapper was just 5 lines.


Add filter support for events

Support for filters was added in #995.  We should instrument the events service to support filtering.

#dibs

@stevvooe this has been implemented correct?

@crosbymichael No, I'm working on porting over @ehazlett's patch to the refactored events system.

@stevvooe considered fixed by #1271?


Features - Adding physicals interfaces description

@mouton42 Thanks for submitting the work.  There are a lot of commits here, and I don't want to merge this many all at once. Please break them up into smaller pull requests. I feel that is a much better way to track the changes, and potentially avoid errors.
Thanks!

Hello,
I'm sorry, I make a new application.
Regards,
Alex.


Mobile rendering issue

Hi,
Diagram is perfectly working in my angular app. Even responsive version tested in browser. But on real device,diagram is not rendered properly, as you can see custom component used for nodes is stucked in top left corner while technicaly is still there and I can move it around. Any ideas why this happens and how to fix it?https://github.com/bumbeishvili/org-chart/assets/152598181/9d9394e7-7c4d-443b-bc41-464247246e95

Hi, this is most probably related to Safari browser
The fix is not to overflow content out of defined width and height and not to use absolute positions, but utilize negative margins instead for the same effect
https://github.com/bumbeishvili/org-chart/issues?q=safari

@bumbeishvili  thanks for the answer. I didn't use safari, but yes problem is there also on ios and chrome.  On android I have no problem. I am not using absolute positioning, but I have overflow: hidden on parent div since I use dynamic width. I will try to find solution from link you provided

but yes problem is there also on ios and chrome

Chrome on ios is just a safari wrapper


Support Laravel 10

We're using this package in @filamentphp, which is currently blocked by this.
Could you have a look, @canvural? 🙂

Closing in favor of https://github.com/canvural/phpstan-blade-rule/pull/19.


Bad performance

Search and replace functionality lock process for a long time.
Order of the algorithm cannot be improved, so these processes need to be split small pieces, and to be async functions.

Now split async functions implemented.
Then, I should implement progress bar on UI.
-> Progress bar #13
This issue was successfully closed.


allow html in stock demos

@BSd3v I couldn't figure out how to get this working with value(Formatter|Getter)Function. This makes these stock demos work again but perhaps you can help me figure it out without dangerously_allow_html?

@alexcjohnson, I adjusted the function in https://github.com/plotly/dash-ag-grid/pull/8 to follow this pattern for value parsing:
"valueGetter": {"function":"Round(data.price * data.quantity)"},
"valueFormatter": {"function":"toFixed(value)"},

The assets folder will also need to contain the js file


Account login?

where to enter login details?

see the readme as this is all done in the web browser not the app.

Closing.  You configure through the device preferences.


[Docs] No documentation is available for AWS Simple Queue Service (SQS) trigger

No documentation is available for AWS Simple Queue Service (SQS) trigger in the wiki.

Hi @zach-dunton-sf, looks like you've contributed this scaler. Would you mind taking this up or don't have the bandwidth?

Yes, I'll block out an hour this week to add some.

Awesome, thank you!

Was just looking for docs on this. Would also be good to know if the scaler can use iam profiles instead of env variables from the container. I believe the aws library checks for this by default, but keda throws an error when the env doesn't exist.
Is this possible? Or should I raise an issue for this?

I'm not sure but I doubt that this works, can you confirm this @zach-dunton-sf 	?

It tries to use the default provider chain first, then looks for environment variables. IF you set a role for the keda deployment it should work. I have some work in progress such that you can define the role to be assumed in the CRD.

I have some work in progress such that you can define the role to be assumed in the CRD.

Can you elaborate on this, please?
Keep in mind that the ScaledObject spec is subject to change (#294) which might impact you or you'd want to provide feedback on it

In the AWS SQS Scaler configuration.
https://github.com/kedacore/keda/blob/master/examples/awssqsqueue_scaledobject.yaml#L42

Currently it doesn't work as it throws an error if the environment variables aren't found in the deployment.
I use kube2iam to apply instance profiles to containers, so an option for it to use the iam policy found when running on the keda container would be awesome. That way I can give the keda deployment a read only iam policy for sqs.

Can you open a seperate issue please?
Tom Kerkhove
Azure Architect at Codit, Microsoft Azure MVP

From: Joseph Ralph<EMAIL_ADDRESS>Sent: Thursday, August 1, 2019 6:45:34 PM
To: kedacore/keda<EMAIL_ADDRESS>Cc: Tom Kerkhove<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [kedacore/keda] [Docs] No documentation is available for AWS Simple Queue Service (SQS) trigger (#302)
Currently it doesn't work as it throws an error if the environment variables aren't found in the deployment.
I use kube2iam to apply instance profiles to containers, so an option for it to use the iam policy found when running on the keda container would be awesome. That way I can give the keda deployment a read only iam policy for sqs.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/kedacore/keda/issues/302?email_source=notifications&email_token=ABBE6P563AMMFQ35LLLKTWLQCMHK5A5CNFSM4IFHUYHKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD3LGQGY#issuecomment-517367835, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ABBE6PZ3OBSD65TQNGGZ4GTQCMHK5ANCNFSM4IFHUYHA.

Done, see #316

Docs are available here - https://keda.sh/scalers/aws-sqs/


Page Layouts: Divide up Entertainment Template

Feature Description
Divide the Entertainment template into pages to be individually used as page layouts
Alternatives Considered

Additional Context

Do not alter or remove anything below. The following sections will be managed by moderators only.
Acceptance Criteria

Select the Entertainment section in the page layouts library
Each page of the Entertainment template should be an individual layout

Implementation Brief

This is automatically handled with how we are importing the template. It is no longer a manual process.

This is automatically handled with how we are importing the template. It is no longer a manual process.


Modernize Python 2 code to get ready for Python 3

print() is a function in Python 3.
Make the minimal, safe changes to make the codebase syntax compatible with both Python 2 and Python 3. Being syntax compatible does not mean that the port to Python 3 is complete.

futurize --stage1 -w . # http://python-future.org/futurize_cheatsheet.html

Thanks @cclauss  ! you do what I want to do. Although some files have not been updated yet, will merge and update by myself.


Cyclic references because of VNode serialization

Description
When you're in dev mode, whenever you declare items that contain JSX outside of getItems and you only return it from the function, you get a cyclic object value exception. That's because we use JSON.stringify on items in invariant calls (like here).
VNodes are mutable and can contain circular references, making them not natively serializable. For example, a Preact VNode seems to persist its DOM in its __e property (once it has rendered once). When we instantiate it inside getItems, we have a new VNode every time, to __e is always null. When we do it outside, the VNode stays in memory, and mutates with circular references, which raises an exception when we reach JSON.stringify calls.
Reproduction
This demo features a static source which is declared outside of the Autocomplete instance, and is returned in getItems. The source contains VNodes (icons).
Preview →
Steps

Load the demo
Type "t" in the search box, this should work normally
Type "w" in the search box, it should raise an exception
Check the console: for each keystroke, the VNodes were logged. You can inspect them: the first pair contains no circular references, but the second does.

Expected behavior
We shouldn't have such exceptions, especially coming from invariant calls. They're stripped in production but this hurts the development process and might. Users might think the library doesn't work properly, as this isn't an easy issue to pinpoint.
Workarounds
For now, users can work around the issue by always declaring their items within getItems if they use JSX in them.
If they use data structures with circular references right off the bat, it won't work, but this is an more unlikely situation in a front-end codebase.
Potential solutions
There are several ways we can fix it:

Get rid of JSON.stringify on items and sources. This is less nice in terms of DX, but the easiest solution, and we can replace it with the sourceId.
Add a custom serializer that handles circular references and strip it away in production. It could very well omit the node or provide a "simple" representation to avoid huge logs.

Environment

OS: macOS
Browser: Firefox
Autocomplete version: 1.1.0

It would make sense to have a special serializer that gets rid of cyclic references to keep providing a good DX.

https://stackoverflow.com/a/9382383/3185307 can be an interesting option on how to serialise cyclic structures


feat: Support anchor outputs on ln channels

fixes #1596
Adds anchor outputs to the commitment transaction see below an example of a commitment transaction with anchor outputs.
{
    "addresses": [
        "bc1q2zfkaerpl0xe2n0wnkkcxqnj9xx6dac8qnft7kndyxlu8hjpu62qusa7ga",
        "bc1q0jf0ncmpa70frgdkjnkx9khap24yrwgdtjnwx6m4096w7mh2wyns2azzc7",
        "bc1qwgkl04thfchyqctndvvr7w9wc4tdw80078dzdy2cnsnvjdmmrmusapmcl7",
        "bc1q64hyx7qexkzvwa6spwlwek33hwsxy42sty2yeq9vtr5jhkyg68tsyzm68d"
    ],
    "block_height": -1,
    "block_index": -1,
    "confirmations": 0,
    "double_spend": false,
    "fees": 0,
    "hash": "3b94c7ff64af9bbe0821df7e397565a903ae7824e8817ae4b47ef2c878074724",
    "inputs": [
        {
            "age": 0,
            "output_index": 0,
            "prev_hash": "84151c91fd82eee06a0b0b0bf0fb0f0bfdae9915ec5c87b28f86f504f7b49c79",
            "script_type": "empty",
            "sequence":<PHONE_NUMBER>
        }
    ],
    "lock_time": 548510010,
    "opt_in_rbf": true,
    "outputs": [
        {
            "addresses": [
                "bc1q2zfkaerpl0xe2n0wnkkcxqnj9xx6dac8qnft7kndyxlu8hjpu62qusa7ga"
            ],
            "script": "002050936ee461fbcd954dee9dad830272298da6f70704d2bf5a6d21bfc3de41e694",
            "script_type": "pay-to-witness-script-hash",
            "value": 330
        },
        {
            "addresses": [
                "bc1q0jf0ncmpa70frgdkjnkx9khap24yrwgdtjnwx6m4096w7mh2wyns2azzc7"
            ],
            "script": "00207c92f9e361ef9e91a1b694ec62dafd0aaa41b90d5ca6e36b757974ef6eea7127",
            "script_type": "pay-to-witness-script-hash",
            "value": 330
        },
        {
            "addresses": [
                "bc1qwgkl04thfchyqctndvvr7w9wc4tdw80078dzdy2cnsnvjdmmrmusapmcl7"
            ],
            "script": "0020722df7d5774e2e4061736b183f38aec556d71deff1da2691589c26c9377b1ef9",
            "script_type": "pay-to-witness-script-hash",
            "value": 90000
        },
        {
            "addresses": [
                "bc1q64hyx7qexkzvwa6spwlwek33hwsxy42sty2yeq9vtr5jhkyg68tsyzm68d"
            ],
            "script": "0020d56e4378193584c777500bbeecda31bba062555059144c80ac58e92bd888d1d7",
            "script_type": "pay-to-witness-script-hash",
            "value": 109056
        }
    ],
    "preference": "low",
    "received": "2023-11-17T07:54:21.743033463Z",
    "relayed_by": "<IP_ADDRESS>",
    "size": 443,
    "total": 199716,
    "ver": 2,
    "vin_sz": 1,
    "vout_sz": 4,
    "vsize": 278
}

Judging from the rust-lightning release notes regarding anchor nodes (copied below). It looks like though it would make sense to upgrade as soon as possible at least to v0.0.117.
v0.0.118

Anchor outputs are now properly considered when calculating the amount
available to send in HTLCs. This can prevent force-closes in anchor channels
when sending payments which overflow the available balance (#2674).

v0.0.117

Anchor channels which were closed by a counterparty broadcasting its
commitment transaction (i.e. force-closing) would previously not generate a
SpendableOutputs event for our to_remote (i.e. non-HTLC-encumbered)
balance. Those with such balances available should fetch the missing
SpendableOutputDescriptors using the new
ChannelMonitor::get_spendable_outputs method (#2605).

Anchor channels may result in spurious or missing Balance entries for HTLC
balances (#2610).

Security
0.0.117 fixes several loss-of-funds vulnerabilities in anchor output channels,
support for which was added in 0.0.116, in reorg handling, and when accepting
channel(s) from counterparties which are miners.

When a counterparty broadcasts their latest commitment transaction for a
channel with anchor outputs, we'd previously fail to build claiming
transactions against any HTLC outputs in that transaction. This could lead
to loss of funds if the counterparty is able to eventually claim the HTLC
after a timeout (#2606).

Anchor channels HTLC claims on-chain previously spent the entire value of any
HTLCs as fee, which has now been fixed (#2587).

Did you look at how ldk-node, ldk-sample and mutiny handle these events when anchor outputs are enabled? Looking at those projects is helpful for me when I upgrade or change the config.

I just had a look

ldk-node and mutiny do not use anchor channels
ldk-sample uses it, but does not check anything on Event::OpenChannelRequest

Given the bugs in 116 in regards to anchor channels, I don't think we should go with that change before we've upgraded to 117.

Closing this PR for now as it is depending on the 117 upgrade.


update sysinfo and grpc to support build on arm64

What have you changed?
Update dependency version for sysinfo and grpcio to support build on arm64 machine

current version sysinfo's dependency cache-size does not support aarch64 processor, this commit by @kennytm has fixed this problem.
https://github.com/tikv/grpc-rs/pull/430 this pr enable pre-generated binding for grpc, thus make it possible to build grpcio without llvm6+. this is done in #7103
only check elf binary on Linux to avoid build failure on darwin.

Don't assume reviewers understand the original issue.
What is the type of the changes?

Engineering (engineering change which doesn't change any feature or fix any issue)

How is the PR tested?

Unit test
Integration test
Manual test
I have successfully built tikv on centos7 with aarch64 processor with these changes.
No code

Does this PR affect documentation (docs) or should it be mentioned in the release notes?

Does this PR affect tidb-ansible?

Refer to a related PR or issue link (optional)
Benchmark result if necessary (optional)
Any examples? (optional)

@BusyJay @kennytm PTAL

Please resolve the conflict.

@BusyJay PTAL again, thx~


Create main.tf

Create main terraform file for creating S3 bucket and Redshift in AWS

Create main file.


Icons not showing on the right

Solution

Goto [about:addons](about:addons) in Firefox
Go to Preferences for Tree Style Tab an set  Style of contents for the sidebar to Right Side

Attached the solution above


$state.is() is not working as expected from v0.4.0

$state.is() when provided with the correct state and the params parameter it will wrongly return true as long as the last param matches even if the others are different.
This test should work but it fails:
it('should return false when the current state is passed with non matching parameters', inject(function ($state, $q) {
  $state.transitionTo(D, {x: 'foo', y: 'qux'});
  $q.flush();

  expect($state.is(D, {x: 'bar', y: 'qux'})).toBe(false);
}));

Thanks for the broken test!
I'll take a look and release 0.4.3 when it's fixed.

Any update on when this will get patched?

My team also ran into this issue, so I created a PR: https://github.com/angular-ui/ui-router/pull/3530

@christopherthielen


Common Crypt4GH functionality

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

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

Totals

Change from base Build<PHONE_NUMBER>:
0.7%

Covered Lines:
735

Relevant Lines:
814

💛  - Coveralls


About asynchronous methods in RMapCache

Hello, Ask a question:
We want to control the data through redis in a high concurrency scenario, but now we have a problem. After reading the methods inside, all of them are asynchronous. It seems that the data retrieval is not correct. Please ask me how to solve this problem. It is my object. Is it wrong?

You need to chain async method invocations.

@mrniko
I looked at the method inside, did not find the relevant API, or can the link address be sent? Thank you.

https://stackoverflow.com/questions/37265253/completablefuture-chaining-results

@mrniko
It may be that I didn't make it clear that this scenario is in the case of multi-threading. If the method is asynchronous, will it cause data insecurity, or am I understanding it wrong?


GTK+ white instead of black background in fullscreen mode

The background respectively the border around the game screen is white instead of black in GTK+ fullscreen mode.

Yes, this is a GTK default. Same white as the menubar background. I'll change it to black.


Remove unreliable waiting for split files during split process.

Currently, to ensure files are all split before split the shard, we wait for 2 seconds before issue the FinishSplit command, it slows down the split time and not reliable.
To notify the leader that the follower has finished split file, the follower need to send heart beat response with split state to the leader.
Then the leader can issue FinishSplit command when most of the followers reached SplitFileDone state.
If a follower received FinishSplit command, and SplitFile work is not done, the apply process for this peer must be paused,   when SplitFile work is done, resume and execute FinishSplit and future commands.

fixed by https://github.com/ngaut/unistore/commit/e896150b39734db3fe144e296dda3c241b35afc5


What is the difference between version v18.x.x and v1.1.xxxx?

I notice there is a naming pattern change on ClickHouse version code.
I wonder whether both are compatible, and I am safe to upgrade from v1.1.xxx to v18.xx?

Sorry. The CHANGELOG.md already explains my question.

TLDR:
Versions 1 and 18 are totally compatible.


Can you simulate a delay?

Can you possibly add a delay so we can do some debugging, such as
fetch(`https://jsonplaceholder.typicode.com/users/${userID}?delay=5`)

so the above can do a 5 seconds delay?  Maybe the range can be 0 to 5 so that it doesn't stress your server out.  (such as 30 seconds delay which can be a lot of requests bottled up). Alternatively if you want to support millisecond, then maybe
fetch(`https://jsonplaceholder.typicode.com/users/${userID}?delay=3000`)

This is for example, if we want to debug / test a slow response, and the user already click on a new link or image that fetches that data faster than the earlier response, so that the earlier response should really be ignored or canceled by our app.

use _dealy
#100

Is this documented anywhere? I can't find any documentation around this even though it works

Is this documented anywhere? I can't find any documentation around this even though it works

use _dealy
#100

so I think you mean use _delay
so it will be
fetch(`https://jsonplaceholder.typicode.com/users/${userID}?_delay=5`)

P.S.
The line
fetch(`https://jsonplaceholder.typicode.com/users/${userID}?_delay=5000`)

sometimes has the delay, but sometimes not.
It needs to be 5000 to mean 5 seconds

P.S. The line
fetch(`https://jsonplaceholder.typicode.com/users/${userID}?_delay=5000`)

sometimes has the delay, but sometimes not. (so I am not even sure if it was just a random network delay)
It needs to be 5000 to mean 5 seconds

Might be they optimize to prevent some DDoS attack.
You can add randome parameter and it might works.
fetch(`https://jsonplaceholder.typicode.com/users/${userID}?_delay=5000&dummy={randomNumber()}`)

Hi,
JSONPlaceholder doesn't support _delay. So addind it does nothing actually.
You can however use the CLI locally with v0.17 json-server --delay 5000 db.json https://github.com/typicode/json-server/tree/v0.17.4
Or use Chrome's Network tab > throtling to delay requests.

You can use DummyJSON for this:
https://dummyjson.com/docs#intro-delay
fetch('https://dummyjson.com/users/1/?delay=1000');


Update minimal-apis.md

Internal Review
The text was below the code it was describing, yet used the word 'following', so I put the text above the code

@tlynch001, thanks for pointing out the issue!


When test's description/single one contains (/) it is skipped, when (/ it does not run

IMPORTANT: It's only when I use the plugin and click on the icon to run the tests. When I run them in the terminal, all is fine.

Description
Skipping
I wanted to add some extra info in the description, e.g.:
describe('foo (bar / baz)', () => ...)

When I run it, the whole suite (and tests in it) are skipped.
Not running
When if the description contains only (/ it does not run.

Reproduction
Skipping
import { describe, it, expect } from 'vitest';

describe("Anything (/)", () => {
  it("should not be skipped", () => {
    expect(1).toEqual(2); // <-- it will not fail as the whole suit is skipped
  });
});

describe("It can have more text in it (like/this)", () => {
  it("should not be skipped", () => {
    expect(1).toEqual(2); // <-- it will not fail as the whole suit is skipped
  });
});

Not running
import { describe, it, expect } from 'vitest';

describe("Anything (/", () => {
  it("should run this test", () => {
    expect(1).toEqual(2); // <-- it will not fail as the whole suit is not run
  });
});

@smolak yes, it's a bug, and I should escape ( and )  alike:  npm exec -- vitest run -t "foo \(bar / baz1\)" tests/basic.test.ts
It has been fixed on version 0.6.4, and I release it ASAP.


Move vis modal into sidebar

Moves vis modal into sidebar. This allows the user to see the chart while selecting fields, and also establishes a new pattern/space for expanding on user input.
Eventually tags, sharing query properties can be moved into this sidebar, with a sort of side-tab strip allowing the sidebar to be toggled on and off.
Note that this is going into the v6 branch so that all UI changes launch at once.
@eladeyal-intel curious what your thoughts since this kind of addresses #741

👍


HOTT-2224 Reintroducing Hyphens

Jira link
https://transformuk.atlassian.net/browse/HOTT-2224
What?
Add hyphens on the heading page to help to identify the level of the commodity.
Why?
Provide a better user experience.

Screenshots:


Value Types

A value type is a type whose value is copied when it is assigned to a variable or constant, or when it is passed to a function.

From << The Swift Programming Language>>

Structures and Enumerations are Value Types.

Classes are reference types.


Map broken when selecting Transports in Düsseldorf

From @postmechanical on August 9, 2016 18:21
Selecting any of Transport POIs shows callout on the Taxi POI.

Copied from original issue: lonelyplanet/dotcom-pois#716

This is an issue in Rizzo Next, moving...


OBS Times are always zero in the command output and the csv file even though recording occurs

tm-switcher v1.7.2
OBS Times are always zero in the command output and the csv file even though recording occurs
Command line output
? Which audience display automation would you like to enable?
? Start and stop recording for each match?  Yes

[2023-12-06T03:39:51.040Z] info: [00:00:00] Audience display changed to IN_MATCH
[2023-12-06T03:39:51.158Z] info: [00:00:00] Q 5 started on field 3 [OBS: Blue Field, ATEM: none]
[2023-12-06T03:39:59.101Z] info: [00:00:00] Q 5 ended on field 3
[2023-12-06T03:41:14.249Z] info: [00:00:00] Q 5 activated on field 2 [OBS: Green Field, ATEM: none]
[2023-12-06T03:41:15.276Z] info: [00:00:00] Audience display changed to IN_MATCH
[2023-12-06T03:41:15.397Z] info: [00:00:00] Q 5 started on field 2 [OBS: Green Field, ATEM: none]
[2023-12-06T03:41:23.298Z] info: [00:00:00] Q 5 ended on field 2

tm_switcher_2023-12-06_times.csv
TIMESTAMP,OBS_TIME,MATCH,TEAMS
2023-12-06T03:39:51.177Z,00:00:00,Q 5,2 9 21 5
2023-12-06T03:41:15.411Z,00:00:00,Q 5,2 9 21 5

OBS Recordings Directory
paul@hummingbird Movies % ls -lt | head
total 99984
-rw-r--r--  1 paul  staff    386303 Dec  5 22:41 2023-12-06T03-41-15.396Z_2_9_21_5.mp4
-rw-r--r--  1 paul  staff    393807 Dec  5 22:40 2023-12-06T03-39-51.147Z_2_9_21_5.mp4

The situation I was initial testing was only recording individual matches.  When not recording or steaming or recording individual is done, the timecode data should be omitted or a non-timestamp value is preferred.
When individual match recording, as configured in tm-switcher, It is possible for OBS recording to be enable and disabled during the tournament, i.e. the OBS operator forgot to enable recording until match 7 or reenable recording after lunch.  This should be reflected in the tm-switcher log and CSV file.


Optics weight is wrong

ECLAN SpecterDRCS DFOV14-C1
tan version weighs 0.18 kg
other versions weighs 0.45 kg

We need to check all SMA content for similar problems


Add grayskull passing version of resnet

Add resnet e2e version running on grayskull with no fallback ops.

Merged into main: e918ca323bb3cc746ca405876837d4744490ffd3. Closing


Support custom objects Manager

Hi, Django allow you to define in your class the manager you want to use as default when using objects. This can be useful for adding new methods to your manager, annotating things always in your query, etc...
When using django-types unfortunately it can't infer the type of the custom manager if you have define it in the class. Instead it's always a BaseManager of the model you are using.
This is defined here: https://github.com/sbdchd/django-types/blob/main/django-stubs/db/models/base.pyi#L27C5-L27C41
I've check that deleting that line does correctly infer the type from the custom Manager I'm using, but of course it also lose the Manager type if a class doesn't implement a custom manager objects field.
I've check how do django-stubs solve this and they use some script to transform it with the mypy plugin. I quite new with all this python types and I don't know if it supports somehow to define that the type of the fields objects will be BaseManager OR any class implementing that BaseManager that will be defined later in the class. Not sure if that is even possible because how django does it "magic" for adding the objects field.
It would be great add support to custom objects Manager though, and the only workaround I can use in my project is just use a different manager instead of objects for my custom Managers, but that means a huge refactor.

Any updates with this?:( Or at least is there any tricky way to define the type for a custom manager ("objects") using pyright? I'd really appreciate any help!

@sbdchd here's an example of custom manager: https://testdriven.io/blog/django-custom-user-model/#model-manager

hmm would something like this work?
Note the generic passed to the BaseUserManager
class CustomUserManager(BaseUserManager["User"]):
    def create_user(self, email, password, **extra_fields):
        if not email:
            raise ValueError(_("The Email must be set"))
        email = self.normalize_email(email)
        user = self.model(email=email, **extra_fields)
        user.set_password(password)
        user.save()
        return user

    def create_superuser(self, email, password, **extra_fields):
        extra_fields.setdefault("is_staff", True)
        extra_fields.setdefault("is_superuser", True)
        extra_fields.setdefault("is_active", True)

        if extra_fields.get("is_staff") is not True:
            raise ValueError(_("Superuser must have is_staff=True."))
        if extra_fields.get("is_superuser") is not True:
            raise ValueError(_("Superuser must have is_superuser=True."))
        return self.create_user(email, password, **extra_fields)

class User(models.Model):
    objects = CustomerUserManager()
    # the rest of your fields

Another example

class InviteManager(models.Manager["Invite"]):
    def create_invite(
        self, email: str, team: Team, level: str, creator: User
    ) -> Invite:
        user = User.objects.filter(email=email).first()
        if not user:
            user = User.objects.create_user(email=email)
        m = Membership.objects.create(
            user=user, team=team, level=level, is_active=False
        )
        return self.model.objects.create(membership=m, creator=creator)

class Invite(CommonInfo):
    id: int
    membership = models.OneToOneField(Membership, on_delete=models.CASCADE)
    creator = models.ForeignKey(User, on_delete=models.CASCADE)

    OPEN = "open"
    DECLINED = "declined"
    ACCEPTED = "accepted"

    INVITE_STATUS = ((OPEN, OPEN), (DECLINED, DECLINED), (ACCEPTED, ACCEPTED))

    status = models.CharField(max_length=11, choices=INVITE_STATUS, default=OPEN)

    objects = InviteManager()

The problem in both examples is when you use it. If you hover objects attribute in the model with the mouse in vscode, it will point to the correct custom manager class in each example. However, as soon as you do in next line
User.objects.create_user(...)
or
Invite.objects.create_invite(...)
the custom function from the custom manager is type "any", without knowledge of function inputs and output. Also, if you hover the objects in that line, it is not pointing to the custom manager class anymore, but to the BaseManager[User] or BaseManager[Invite] in each case.
Note that in the second example you need to be able to resolve the CommonInfo import. If you ignore it and let it undefined, it wont know it comes from models.Model and then it will work well, resolving the custom manager. But as soon it detect it inherits from models.Model, then when you use it it always changes to the base class because this definition I think.
You can see in the second example places where it's use if you clone the whole repo and that present this problem like here.

Related with this probably
https://github.com/sbdchd/django-types/issues/194


Fix Back to top container to allow clicking under the transparent surface

Fixes #1341
Please check all the weird edge cases you can think of and on different browsers/OS :)
Allowing actions under the transparent surface should be possible with this simple pointer-events: none.

Works for me on Windows Firefox/Chrome/Edge !


(WIP) Long term hashing

I can’t quite figure out the right combination to get this working.
cc @insin who probably knows how to fix this.

Currently trying to clean this up a bit in nwb, will share whatever I come up with.

I just want to make sure that

React is separate and its hash doesn't change when you change the app
Changing CSS doesn't change hashes of app scripts
Preferably, changing code split chunk shouldn't change hash of main chunk

I don't really care how to accomplish this but these seems like common sense requirements. The last one is a bonus because we don't explicitly advertise code splitting anyway yet.

It seems like this is a lot of work if you just want React to a separate chunk, unless I'm missing something. React ships a perfectly good minified bundle. Is there not some easier way to not have every app using create-react-app do the effort of splitting out an identical optimized React chunk?

I'd like to use them but this is currently at odds with how addons work AFAIK. If there is a simpler way to allow using addons via npm packages while using React dist bundles we should definitely offer that.
(Still, I'd like to get to the point where chunks are hashes correctly.)

Superseded by #227


Windows: Support building with strict compatibility

This commit adds the STRICT_APPLE_COMPATIBILITY CMake option which will force BOOL to defined as an signed char on Windows instead of an int, as having different types for BOOL on different platforms creates serialization issues.
On MSYS, the BOOL type is defined in minwindef like this:
#if !defined(__OBJC__) && !defined(__OBJC_BOOL) && !defined(__objc_INCLUDE_GNU) && !defined(_NO_BOOL_TYPEDEF)
  typedef int BOOL;
#endif

To prevent this header from defining a conflicting BOOL type, this commit also defines __OBJC_BOOL.

@davidchisnall You introduced defining BOOL  as int on Win32 in 934cd13a7a346dc0f3d8466fd180a127354a0ee5.  Can you confirm that's the right approach? GCC always uses unsigned char.

I think we made BOOL match the type of the same name in the Windows headers. Having different definitions caused problems.

Yes, I agree that's certainly a world of pain.  MSYS seems to have done a good job at consistently using WINBOOL instead of BOOL.  I don't think this would work if you compile on Windows using a native toolchain (clang or msvc) as the headers in the Windows SDK don't offer that flexibility.
Having said all that -- this PR makes it an opt-in feature, and you'd have to configure the CMake project with -DSTRICT_APPLE_COMPATIBILITY.  So we let the user decide.
So if you're good with this opt-in behavior, let me know and we can get this merged.


Correct CWA name to Corona-Warn-App in web active pages

This PR addresses issue https://github.com/corona-warn-app/cwa-website/issues/3273 "Spelling of Corona-Warn-App" and corrects the name to Corona-Warn-App on active website pages. This does not include historical blog pages which are left in the state that they were published in.

@brianebeling

Thank you for providing the PR!

No problem.


Can not format blade: "Check if temp is too complicated or not"

Template

@extends('layouts/app')

@section('content')
    @if ($x)
        asdasd
    @endif
@endsection

Context (Environment)
Can't format blade: something goes wrong. Please check if template is too complicated or not. Or simplify template might solves issue.

write your environment

try to format
update1: it happens when I set the "bladeFormatter.format.wrapAttributes" to "force-expand-multiline",
update2: after a file formatted once, all attempts to format throws this error! no matter what is the wrapAttribute value

Facing same issue.
"indent_size": 4,
"wrap_line_length": 120,
"wrap_attributes": "auto"

Only the creator can solve this issue.

Only the creator can solve this issue.


Forgot Password screen

Issue Report
Title
want to add Forgot password screen where user can enter email
[Provide a concise title for the issue]
Description
This forgot password screen can be used when user forgot there password
Steps to Reproduce the Issue

Action 1: Go to login page
Action 2: click on not remember the password button .

Expected Behavior
it should have opened a page where when i can enter my email to regenerate my password
Actual Behavior
noting is happening
Screenshots (if applicable)

@saurabhbakolia please assign me this issue


Use nox for managing project tasks

As a current good enough practice, Landlab and other CSDMS software projects have moved from using make to using nox (https://nox.thea.codes/) for project tasks. Since terrainbento is friends with these projects, it might be good to use nox here, as well.

Still need to write

test-notebooks
lint
docs

sessions.


Angular 2 version?

Hello,
is there going to be ng2 version of this?

Sorry just've seen this https://github.com/KillerCodeMonkey/ng-quill/issues/64


Fix a broken link in the json editor tutorial

In the UI section of the JSON editor tutorial there's a broken link to the now moved popup example

Thanks for the PR. I made a quick change on it to point at https://ratatui.rs/examples/apps/popup/ instead


Juma-n

Thank you for reporting this issue.
This is a standard message notifying you that this issue appears to have been opened accidentally.
If you think we're wrong in closing this issue, please request for it to be reopened and add further clarification. Thank you and happy coding.


feat: Convert generated eslintrc file from JSON to CJS

Closes #
✅ Checklist

[x] I have followed every step in the contributing guide (updated 2022-10-06).
[x] The PR title follows the convention we established conventional-commit
[x] I performed a functional test on my final commit

Changelog
Rename generated .eslintrc.json to .eslintrc.cjs and enable type-checking vis JSDoc.
💯

LGTM ;)


IconImageManager leaks InternalIcons

It looks like two equivalent InternalIcons are not considered equivalent by the IconImageManager, and therefore these leak quite badly in normal use of the class browser, etc.
To repro, execute:

Open a class browser
Evaluate InternalIcon allInstances size in a workspace
Scroll the class tree up and down so the AbstractTutorial class goes in and out of the visible area of the tree view.
Repeat from 2, and note that the instance count increases each time through.

I noticed this because I was trying to debug why a GdiplusBitmap was not being released by one of the tests, and found that I had hundreds of GdiplusBitmap instances.

The problem is specifically with the "badge" icons created by some classes, as these are built dynamically by creating a blank Gdi+ bitmap in a solid colour and then drawing the internal image onto the solid background. Each instance is then unique by its #hash and #= implementations, as these defer to the blank initializer which inherits the Object implementations (identity comparison).
Other InternalBitmaps that use the GdiplusFromBytesInitializer are fine as these use the byte array for hash/comparison purposes (although this could be inefficient for large bitmaps).
An alternate implementation of the badge form of InternalIcons would be to eschew the specific Gdi+ bitmap, and rather do the background drawing when adding to the image list. The comparison could use the bytes and the mask colour, and the intermediate bitmap would not be needed.

The badge icons were really a bit of a frivolous addition and can easily be replaced by normal InternalIcons. However, the "text tile" icons introduced around the same time (and currently only used for the BetterHelloWorld class>>icon) also have the same issue. I believe the text tile icon idea is useful and may be used more in the near future. The fix introduces a TextTileIcon class with the same protocol as Icon and InternalIcon but with its own #hash and #= implementations.


Naming inconsistency between scopes and optional_scopes

The newly announced Optional Access Scopes works absolutely beautifully, especially paired with App Bridge CDN. I have one minor annoyance with it, which is inconsistency in types in shopify.app.toml.
scopes="read_content,write_content"
optional_scopes=["read_products", "read_orders"]

scopes is a string, separated by commas
optional_scopes is an array of strings

This is also reflected in the changelog under Declaring optional scopes and official docs under Managed access scopes > Scopes

Thanks for the feedback @kinngh , i'll pass it to the responsible team

Hello @kinngh!
The scopes & optional_scopes types inconsistency is something that we are aware of, and are investigating all of the necessary details for rectifying seamlessly.
We greatly appreciate this critique. Thank you also for your kind words regarding optional scopes & App Bridge.


Fix tests post v3.14.0

Add expected values for pageCount and renderer.
The current tests expect these properties to be undefined, but after v3.14.0 the tests are returning values of 1 and v3, respectively.
Until this or a similar change is merged, no new PRs will be able to be merged as they will be unable to pass CI testing.

Thanks!


new custom pdk integration to openlane

Is it possible to make designs with a custom pdk on this platform and to do that what should be done if yes?

@msaideroglu Refer the link https://github.com/The-OpenROAD-Project/OpenLane/blob/master/docs/source/PDK_STRUCTURE.md for an expected PDK structure by OpenLane flow.


E2E Testing : Test to scaling UPF instance by vertically scaling an individual Pod

Test the config changes to the capacity requirement results in bigger pods

@denysaleksandrov - manually testing is done, this works
We need to add e2e test to exercise this.

The test should be added to our e2e as test case 008.sh.

Don't think there is a PR for 008.sh yet, will wait for it before i run the test

Ok, thanks! Would you want to take a crack at writing that? It would be very similar to what we need to do for SMF here: https://github.com/nephio-project/nephio/issues/240#issuecomment-1585284084

Sure, I can, so just to confirm is UPF deployment is working ?, from today's call looks like there are some issues with fn pipeline execution ?

Nope, not working yet. So you can't really test it. But you could have the test script written. I suspect the Porch bug described in the linked comment is going to need to be fixed, though.

Sure  , guess it the Capacity/maxUplinkThroughput: 10G , maxDownlinkThroughput: 10G, needs to be reset, but to what value ?, will have my sandbox set-up up and try , https://github.com/nephio-project/test-infra/blob/main/e2e/tests/001.sh, guss this has similar steps, and use the same kpt fn ?

You can either use a kpt fn like "search-replace" or just edit the file with something like "sed" or "yq" or something. Kpt fn are good for complex edits but there is nothing wrong with a simple edit.

Not sure what capacity will trigger a change, have task the team.

Sure,  will check the existing scripts and play around a bit, will update this thread..

@johnbelamaric , this is a skeleton script, i only tested the search-replace kpt-fn, mostly followed the 001.sh
#!/bin/bash

# Set the new value for maxUplinkThroughput as a parameter
new_capacity_value=$1

set -o pipefail
set -o errexit
set -o nounset
[[ "${DEBUG:-false}" != "true" ]] || set -o xtrace

export HOME=${HOME:-/home/ubuntu/}
export E2EDIR=${E2EDIR:-$HOME/test-infra/e2e}
export TESTDIR=${TESTDIR:-$E2EDIR/tests}
export LIBDIR=${LIBDIR:-$E2EDIR/lib}

source "${LIBDIR}/k8s.sh"

kubeconfig="$HOME/.kube/config"

upf_deployment_pkg=$(kpt alpha rpkg get --name free5gc-packages  --revision v3 -o jsonpath='{.metadata.name}')

upf_pkg_rev=$(kpt alpha rpkg clone -n default "$upf_deployment_pkg" --repository mgmt edge01 | cut -f 3 -d ' ')

kpt alpha rpkg pull -n default "upf_pkg_rev" edge01_upf_scaling

kpt fn eval --image gcr.io/kpt-fn/search-replace:v0.2.0 edge01_upf_scaling -- by-path='spec.maxUplinkThroughput' by-value=10G put-value=$new_capacity_value
kpt fn eval --image gcr.io/kpt-fn/search-replace:v0.2.0 edge01_upf_scaling -- by-path='spec.maxDownlinkThroughput' by-value=10G put-value=$new_capacity_value

kpt alpha rpkg push -n default "$upf_pkg_rev" edge01

kpt alpha rpkg propose -n default "$upf_pkg_rev"

kpt alpha rpkg approve -n default "$upf_pkg_rev"

kubectl get secret edge01-kubeconfig -o jsonpath='{.data.value}' | base64 -d > edge01-kubeconfig

k8s_wait_exists "edge01-kubeconfig" 600 "free5gc-upf" "deployment" "free5gc-upf"

k8s_wait_ready "edge01-kubeconfig" 600 "free5gc-upf" "deployment" "free5gc-upf"

Guess, this is not correct, the package needs to come from edge01 deployment repo, instead of new clone..but please comment

Nice, that's a good start. Can you create a PR with it, then we can review it line-by-line? Basically, we have two choices:

We could tweak the capacity of the entire fleet of UPFs. The problem is, since we deployed directly from free5gc-packages, this hard. To do this, we would have been better cloning the upf package from free5gc-packages into an "organizaitonal" or "team" repository, and basing our PackageVariantSet off of that. Then, we could modify the clone and it would update all the fanned-out packages.
We could tweak one instance - like edge01. I think that's what you are suggesting, and that's fine.

To do that, the main difference is instead of:
upf_deployment_pkg=$(kpt alpha rpkg get --name free5gc-packages  --revision v3 -o jsonpath='{.metadata.name}')

upf_pkg_rev=$(kpt alpha rpkg clone -n default "$upf_deployment_pkg" --repository mgmt edge01 | cut -f 3 -d ' ')

what you want to do is find the package revision name for the specific instance in the edge01 repo. I am not sure the kpt alpha rpkg commands are sufficiently expressive, you may have to just do something like:
upf_pkg_rev=$(kpt alpha rpkg get --name free5gc-upf | grep edge01 | grep latest | cut -d ' ' -f 1)

That's untested - but the idea is to pull out all the package revisions with the right package name and use grep and cut to find the package revision name.
Then, you use kpt alpha rpkg copy $upf_pkg_rev to create a new Draft on the server; then use kpt alpha rpkg pull to get that package revision.

Sure, was scoping only for one cluster for now, will push a PR and we can iterate on that.

https://github.com/nephio-project/test-infra/pull/80/files

Ok sure, see that, in the blueprint package, it is set to 10G, so thought was the threshold.
https://github.com/nephio-project/free5gc-packages/blob/main/pkg-example-upf-bp/capacity.yaml

Fixed by https://github.com/nephio-project/test-infra/pull/80


cached-property is not automatically installed when using pip install

Starting from a clean virtual environment, haralyzer is installed successfully using pip install haralyzer.
However, trying to import the package in a script:
import haralyzer

results in "ImportError: No module named cached_property". Manually installing cached_property solves the issue, so it seems it is just not getting installed by the package.

Yes, this does seem to be the case, even though it is listed in setup.py.
I am out of the country right now so I have limited internet access, but I will look into this as soon as possible. Thanks for your patience in the meantime (and of course, feel free to create a pull request if you do not want to wait).

 Thanks for the heads up, and thanks for using haralyzer!

Everything working ok for you @de-mux ?

All is well, thank you!


01 nibe prototype

Description
The main purpose of this PR is to QA the code for the first iteration of the prototype of the WhatsApp installer chatbot.
This PR introduces four Python scripts which make up our first prototype of the WhatsApp installer RAG chatbot.
These four scripts are: pdf_processor.py, create_vector_embeddings.py, heat_pump_chatbot_post_embedding.py and test_vectorstore.py.
The pdf_processor.py has all the processing functions which are needed to extract text from the PDF files (the installation manual), tokenising the text into chunks, embedding said chunks and then organising the metadata.
The create_vector_embeddings.py uses the functions from pdf_processor.py to do the processing of the installer manual and outputs it in a pandas data frame which is stored subsequently as a pickle file.
The input PDF file for this script is the NIBE F2040 installation manual and the output pickle file is stored in the /outputs/embedding directory.
The first part of theheat_pump_chatbot_post_embedding.py script is composed of reading in the vector embeddings output from create_vector_embeddings.py , initialising and upserting the embeddings to a pinecone index, combining the index and the chosen embedding model to create a vector database (the database enables us to query and scale more easily than just an index).
The second part of the heat_pump_chatbot_post_embedding.py script is composed of the generative question-answering (using OpenAIs chatgpt 3.5 and Langchain) and the integration of the chatbot with a WhatsApp interface using a combination of Flask and Twilio. To expose the local server to the relevant internet server, we need to use a tool known as ngrok, which you can download here.
The test_vectorstore.py is a testing script to try out different retrieval methods from LangChain and does not involve having to spin out the WhatsApp bot. This means we can quickly evaluate the output of the different retrieval methods.
Instructions for Reviewer
Hi @crispy-wonton, thanks for reviewing the code!
Setup

clone this repo: git clone git@github.com:nestauk/-asf_HP_installer_chatbot.git
checkout to the correct branch: git checkout 01_nibe_prototype
Run: make install;
Run: direnv allow;
Activate the conda environment using: conda activate asf_hp_installer_chatbot
You need to have an OpenAI API key and a PineCone API key (ideally saved as environment variables in your ~/.bash_profile)
You need to download ngrok to expose your local server to the internet
Download the NIBE F2040 installation manual to the inputs/data/air2water_HP_installation_guides/database_pdf/ directory
Setup a WhatsApp sandbox in Twilio, there is a quickstart guide here.

Scripts
If you could review the following scripts:

asf_hp_installer_chatbot/pipeline/pdf_processor.py
asf_hp_installer_chatbot/pipeline/create_vector_embeddings.py
asf_hp_installer_chatbot/pipeline/heat_pump_chatbot_post_embedding.py
asf_hp_installer_chatbot/pipeline/test_vectorstore.py

Instructions to run this code
The first part of the PR which you have to run is the create_vector_embeddings.py to generate the embeddings which comes in the form of a pickle file in the /outputs/embedding directory. This is a pre-requisite as the rest of the code will not run without it.
You can execute the script with the following command (this should only take a few minutes):

python create_vector_embeddings.py

The second part of the PR to run is the heat_pump_chatbot_post_embedding.py script, this is slightly more involved. You will need two terminal windows open.
In the first terminal window, execute the following command:

ngrok http 4000

You should get a terminal screen like this:

There will be a forwarding url (in this case, it's 'https://7f39-167-98-16-36.ngrok-free.app'), which you'll need to configure your Twilio WhatsApp Sandbox with like so:

Make sure to click on 'Save'.
Now in the other terminal, you'll want to execute the actual script:

python heat_pump_chatbot_post_embedding.py

and you should get a terminal that looks like:

Then we get to fun part of actually interacting with the WhatsApp chatbot, follow the instructions from Twilio:

The outputs from these conversations will be saved in a csv file /outputs/data/incoming_messages.csv.
The final part is to just execute the following command for the test script:

python test_vectorstore.py

Where the output is just three different responses using different methods (semantic search, langchain retrieval with and without sources).
Checklist:

[ ] I have refactored my code out from notebooks/
[X] I have checked the code runs
[ ] I have tested the code
[X] I have run pre-commit and addressed any issues not automatically fixed
[ ] I have merged any new changes from dev
[X] I have documented the code

[X] Major functions have docstrings
[ ] Appropriate information has been added to READMEs

[X] I have explained this PR above
[X] I have requested a code review

Hi @crispy-wonton , thank you so much for taking the time to review this quite involved PR! I have made a lot of the changes you've suggested, so that's been really useful. The most major change I've made is with regards to the file-naming of the embedding files. Let me know if you're happy with the comments/changes I've made 👍 .


Please adapt for Android 14

Please adapt for Android 14. The framework dynamically registers a broadcast that needs to be adapted to the security policies of Android 14.

I am also facing the same issue, Here's the exception :
java.lang.SecurityException : com.my.packagename : One of RECEIVER_EXPORTED or RECEIVER_NOT_EXPORTED should be specified when a receiver isn't being registered exclusively for system broadcasts

My app also depends on Fetch and requires this update to adapt to Android 14. Thanks.

I'm also facing the same issue. Please update it🙏🏽

Hey, I made it work with android 14 and upgrade all dependencies to latest version. You guys can try with #665

How to use that one man?

Try it out: new prereleases using the code of @helloimfrog from pull request #665
Please give me any feedback!
https://github.com/Kutikov/fetch2-android/releases/tag/non-androidX

@Kutikov Hello thank you for the update. I've tried to add the lib with implementation "androidx.tonyodev.fetch2:xfetch2:3.2.2" but i doesn't find it nor 3.2.1, How can i import this lib you updated to Android 14 through a dependency?

@ShayShimoni , you can use prebuild .aar on link in prevoius comment. I'm sorry to not loading them to maven, for now I don't have enough knowledge to do this for fetch project. If someone can help me, let me know!

We can use https://developer.android.com/reference/android/app/DownloadManager as an alternative. I migrated my code to it https://github.com/kesha-antonov/react-native-background-downloader/blob/3.0.0/android/src/main/java/com/eko/RNBackgroundDownloaderModule.java
And it works quite well!

@kesha-antonov Thx for commenting. Yeah i've seen this DownloadManager, it has almost the same capabilities but i didn't see if it has the option to resume a download from the last point it was stopped, and i need this feature. Correct me if i'm wrong.

@kesha-antonov Thx for commenting. Yeah i've seen this DownloadManager, it has almost the same capabilities but i didn't see if it has the option to resume a download from the last point it was stopped, and i need this feature. Correct me if i'm wrong.

It doesn't have option to pause/resume as I saw. But it depends on your use case. You enqueue download, app can be stopped and later after you reopen you continue download file not from zero bytes but where it stopped.

you can use this dependency for android 14
implementation "com.github.abbas7777:fetch2-android14:3.2.0-beta02"

@kesha-antonov Thx for commenting. Yeah i've seen this DownloadManager, it has almost the same capabilities but i didn't see if it has the option to resume a download from the last point it was stopped, and i need this feature. Correct me if i'm wrong.

It doesn't have option to pause/resume as I saw. But it depends on your use case. You enqueue download, app can be stopped and later after you reopen you continue download file not from zero bytes but where it stopped.

Thanks to see you here, as I tried to use your "@kesha-antonov/react-native-background-downloader" package and It's working fine in android 14 as well but there's no pause and resume option and I really need it so I used the old "react-native-background-downloader" package which is using Fetch library to download the contents in android and is giving the pause and resume option but that was not working in android 14 so I used this, 'implementation "com.github.abbas7777:fetch2-android14:3.2.0-beta02"' library and it fixed my problem so can you please update your library
Thanks in advance

@abbas7777 Can you share a link to the fork/repository as well please?

@Kutikov can you please upload the prebuild aar files , with the proguard customized ?

@Kutikov can you please upload the prebuild aar files , with the proguard customized ?
Problems occuring : can't see the public classes of the libraries and javadoc is removed .
Here are some rules that you can add :
-keep public class * { *; }
-keepattributes SourceFile,LineNumberTable, Annotation

@fabiendem  hello hear you are...
https://github.com/abbas7777/fetch2-android14

Yes Same for me today i update version its started gave error

com.github.abbas7777:fetch2-android14:3.2.0-beta02

java.lang.IllegalArgumentException: Unsupported class file major version 61.  getting this error when i     implementation "com.github.abbas7777:fetch2-android14:3.2.0-beta02" any solution?

com.github.abbas7777:fetch2-android14:3.2.0-beta02

java.lang.IllegalArgumentException: Unsupported class file major version 61. getting this error when i implementation "com.github.abbas7777:fetch2-android14:3.2.0-beta02" any solution?

You need to have the Java version which is compatible with your Gradle version, and configure Gradle to use exactly that version

com.github.abbas7777:fetch2-android14:3.2.0-beta07

still ai am getting same error  can you please help me if i am doing some thing wrong

com.github.abbas7777:fetch2-android14:3.2.0-beta07

 still ai am getting same error can you please help me if i am doing some thing wrong

You need to have the Java version which is compatible with your Gradle version, and configure Gradle to use exactly that version

Can you please tell me which java version we need to set? currently we  i am using 11.0.19

Can you please tell me which java version we need to set? currently we i am using 11.0.19

You must use 17 and also update gradle version to compatible with this

can you tell me gradle version ?
so you mean  it will not support java 11.0.19 if we will target android 34

using com.github.abbas7777:fetch2-android14:3.2.0-beta07 worked but it would be great to have this included in the original package

Hello guys, please, I noticed a comment somewhere (cannot find it anymore) saying there is a delay before the actual download starts on <34,..) devices . When I use "com.github.abbas7777:fetch2-android14:3.2.0-beta07" it works fine, but once lib locally
./gradlew build
using generated (debug/release) aar I also observe that 15s delay. Do you know why? I'm building branches
v3.0x and v3x-develop. Both should contain all necessary changes, but the outcome is the same 20s delay with local aar.
@abbas7777 you work contains also some additional fixes different from those branches?

Fetch 3.3.0 has been released. See Release Notes

@tonyofrancis Hello, I updated to the official latest 3.3.0 version and was curious about that delay, but it still takes like 15 seconds until the download process starts. There is nothing particular/suspicious in logcat, I also see people commenting similar issues. Any idea why is this happening? A14, target = compile = 34, minSdk = 33

Just a notice for those who ended up here hoping switch to stock DownloadManager will solve all their problems: don't.
This is last resort. It may solve some issues, it'll bring a lot more. It's a complete blackbox full of it's own legacy, not consistent across different OS versions, vendor flavors and also there are "powerusers", happened to disable it as a bloatware. Libraries like this are a blessing, better invest your time in helping fixing it.
Only viable use case for DM -- if your user is highly motivated to get a huge file for themselves (in particular your app's runtime is not dependent on it). But at this point also consider giving user a direct link and offload these shenanigans to whatever Chromium they use.

Latest version 3.4.0 has been release. Please test it out and let me know if this has resolved the issue. Thanks


feat: remove KeyboardAvoidingView compat layer

Explanation of Change

use KeyboardAvoidingView directly from react-native-keyboard-controller (without our fork)
optimize some component re-render and replace isKeyboardShown with Keyboard.isVisible().

Fixed Issues

$ https://github.com/Expensify/App/issues/52958
PROPOSAL: N/A
Tests

go through all pages in app and make sure keyboard resize transitions are animated on Android;

Offline tests
N/A
QA Steps

go through all pages in app and make sure keyboard resize transitions are animated on Android;

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I used JaimeGPT to get English > Spanish translation. I then posted it in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.ts or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] I added unit tests for any new feature or bug fix in this PR to help automatically prevent regressions in this user flow.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native
https://github.com/user-attachments/assets/65da04da-4aa7-4652-b79c-b3a7be7d6587

Android: mWeb Chrome
https://github.com/user-attachments/assets/e37a9d41-2018-4f9d-8fa3-a49d64520e70

iOS: Native
https://github.com/user-attachments/assets/c8edc8c0-e292-4eba-b7bf-49cb7cbb67e8

iOS: mWeb Safari
https://github.com/user-attachments/assets/7c3f1e2e-714c-41ac-be45-8a87b64565f8

MacOS: Chrome / Safari

MacOS: Desktop

Hi @kirillzyusko, could you please share why you replaced {isKeyboardShown} = useKeyboardState with Keyboard.isVisible() in only these 2 components: HeaderWithBackButton and ScreenWrapper?
There are still multiple other usages, and I'm trying to understand why those remain while these two were replaced.

Hello @paultsimura 👋
Yes, sure. Basically the purpose of replacement was to get rid off unnecessary re-render. In those two components (ScreenWrapper and HeaderWithBackButton) we read value of isKeyboardShown only in callbacks and it means that we don't need a reactivity (i. e. change a style if keyboard is shown or remove style if keyboard is hidden) - we just read a value when we need to do that, so state usage is not technically very correct here. So I replaced it with Keyboard.isVisible().
It would be ideally if we could re-work other places, but in other places it could be impossible (sometimes we indeed need a reactivity and in BaseModal we need to re-calculate style, for example).
There is another function called canSkipTriggerHotkeys which also can be optimized, but again, I don't want to bring too many changes in a single PR. And optimizing most frequently used components (such as ScreenWrapper and HeaderWithBackButton) can give a lot of benefits just because they are used almost on every screen 🙂
I hope I explained my motivation and it makes sense for you 😊 Let me know if you have any further questions!

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.


Fix/react app compile error

#2
#3
#4

There's still an issue when adding the RSS Feed URL (as it failed to display the latest news)

There's still an issue when adding the RSS Feed URL (as it failed to display the latest news)


CP-SAT: Parameter for symmetry finding dtime limit

What language and solver does this apply to?
All languages, CP-SAT
Describe the problem you are trying to solve.
Symmetry finding can be forced on for large problems by setting symmetry_level:3. However, it will time out after a hard-coded 1 second of deterministic time, which is identified as an error during the initial refinement. This prevents symmetry finding from actually working in large enough problems and seems to reduce the value of symmetry_level:3.
Describe the solution you'd like
Expose a parameter in sat_parameters.proto to allow configuring the deterministic time limit for symmetry finding.
Describe alternatives you've considered

Increase the hard-coded value. This doesn't seem like a good idea to me; presumably the original time limit had some justification.
Disable the time limit when symmetry_level > 2. I am not sure if this is possible, and it seems like some time limit might still be desired.
Do nothing. This would prevent large enough problems from benefit from symmetry finding even when the user has attempted to force it by setting symmetry_level to 3

Additional context
I have tried increasing the hard-coded limit locally and found that at least for my particular problem, doing so results in a substantial net decrease in solve time.
The hardcoded time limits are defined at cp_model_symmetries.cc:749 and cp_model_symmetries.cc:936.

I'll piggy back on this to ask the question regarding

// breaking during search. At level 3, we also detect symmetries for very
// large models, which can be slow. At level 4, we try to break as much

https://github.com/google/or-tools/blob/ed94162b910fa58896db99191378d3b71a5313af/ortools/sat/sat_parameters.proto#L1312C30-L1313C18
What is a "large model"?
Is it determined by this timeout or the amount of variables or something else?

https://github.com/google/or-tools/blob/stable/ortools/sat/cp_model_symmetries.cc#L671  -> size
I have pushed the new parameter.


Tool to measure performance of lookups on String Dictionary.

Tool generates a dictionary with specified number of items.
Measures performance of specified number of lookups on the
dictionary.

Current coverage is 64.40% (diff: 100%)

No coverage report found for master at 0bf391d.

Powered by Codecov. Last update 0bf391d...3ebd710


<rh-card>: when in parent flex container

Card collapses when in a parent flex container, we should investigate this and understand why and document that for other users
https://codepen.io/zeroedin/pen/poMxXmB
Thanks @zhawkins for reporting

removing the container from the host also solves this
https://codepen.io/bennyp/pen/dPbpmKR


Add app.start method - a listen promise

Hi, I've been interested in the project for quite some time. I've started using it on my new project and I had an issue with catching server errors on boot up, because app.listen() returns an http.Server that is in fact event emitter. Here is an example:
const Koa = require('koa')
async function start () {
  const app = new Koa()
  // when there is a server listening on port 3000 throws unhandled 'error' event
  await new Promise((rs, rj) => app.listen(3000, err => err ? rj(err) : rs()))
}
start().catch(err => console.error(err))

My solution was to use app.callback()
const http = require('http')
const Koa = require('koa')
async function start () {
  const app = new Koa()
  const server = http.createServer(app.callback())
  await Promise.race([
    new Promise((rs, rj) => server.once('error', rj)),
    new Promise((rs, rj) => server.listen(3000, err => err ? rj(err) : rs()))
  ])
}
start().catch(err => console.error(err))

So I thought it'd be nice to have a method on Koa application that guarantees to return a listening server.
const server = await app.start(3000)

This feels sort of opinionated, and it's a high level abstraction on top of .listen which has previously been denied expansion (argument was; keep .listen minimal, if you need more power use .callback).
What if I wanted to http2 here?
I'm (subjectively) -1.
Maybe as a separate package?

@fl0w I see your point. Didn't know that you've already had this discussion, could you provide a link please?
My reasoning was that it's not that trivial to promisify an EventEmitter and I thought it'd be nice to have out of the box.
In case of http2, I guess you'd want something like
// index.js - usage example
const http2 = require('http2')
const Koa = require('koa')
const app = new Koa({ createServer: http2.createServer })
const server = app.listen(/* http2.createServer arguments */)
// or
const server = await app.start(/* http2.createServer arguments */)

// lib/application.js - koa
class Application extends Emitter {
  constructor (options) {
    this.createServer = options.createServer || http.createServer
  }
  listen (...args) {
    debug('listen');
    const server = this.createServer(this.callback());
    return server.listen(...args);
  }
}

It should work fine since (http|https|http2).createServer and http2.createSecureServer aren't methods on a class and more like static methods.
Bonus point: it will make unit-testing listen and start functions easier.

I agree with keeping koa itself to a minimum, it's hard to get rid of a feature once it's added.
@ipotuzhnov, you've given me the motivation to finally create a generic module to get a promise from an emitter.  I published v0.1.0 to npm, will probably bump to v1.0.0 once I'm sure the API is what it should be.
https://github.com/cfware/promisify-emitter

@ipotuzhnov sure, https://github.com/koajs/koa/pull/1063#issuecomment-333333559

I know this ticket is old, just adding for future visitors that a rendition of EventEmitter promises is in nodejs nowadays, as of v11.13.0:
const { once } = require('events');

    const promise = once(http, 'listening');
    http.listen(...args);
    await promise;


fix: update snapshots

Fixes #

I pulled this branch into https://github.com/functionless/functionless/pull/533 if you are ok with merging them (the snapshots had updated with my change too)