[Request] Parse bootstrap files for defined Macros

Hi Barry,
Just a [Request]
Parse bootstrap files for defined Macros
Example Macro I have in Bootstrap/start.php
Html::macro('linkButton', function($url, $label, $buttonType = 'primary', $glyph = '', $size = 'md')
{
    return sprintf('<button type="button" class="btn btn-%s btn-%s"
        onclick="window.open(\'%s\',\'_self\')">
       %s
    </button>',$buttonType,$size,$url,$glyph,$label);
});

Thanks,
Chris :-)

I know this is over two years old, but has anyone been able to solve this issue? More and more things are implementing the Macroable trait and it is getting increasingly frustrating when my IDE cannot autocomplete or jump to the definition of a macro method.

@briedis I've a number of collection Macros that I'd love to get to autocomplete.
But I can't seem to get your trick to work in my IDE (phpstorm). How would I get my collection macros to autocomplete when they are currently defined in a CollectionMacroServiceProvider class?
Thanks!

@jonnywilliamson Can you show me what have you tried (like in my example)?

Sure.
So here's my CollectionServiceProvider where I register all my extra Macros I want to add. I'll reduce it to just one for ease of viewing.
<?php

namespace App\Providers;

use Illuminate\Support\Collection;
use Illuminate\Support\ServiceProvider;

class CollectionServiceProvider extends ServiceProvider
{

    public function register()
    {
        Collection::macro('toAssoc', function () {
            return $this->reduce(function ($assoc, array $keyValuePair) {
                list($key, $value) = $keyValuePair;
                $assoc[$key] = $value;

                return $assoc;
            }, new static);
        });
}

So having read your comment above where you added a fake Class Docblock, I thought this might work.
<?php

namespace App\Providers;

use Illuminate\Support\Collection;
use Illuminate\Support\ServiceProvider;

/**
 * Class CollectionServiceProvider
 *
 * @package App\Providers
 * @method Collection toAssoc(callable $callback) To Assoc description and info here.
 */
class CollectionServiceProvider extends ServiceProvider
{
    public function register()
    {
        Collection::macro('toAssoc', function () {
            return $this->reduce(function ($assoc, array $keyValuePair) {
                list($key, $value) = $keyValuePair;
                $assoc[$key] = $value;

                return $assoc;
            }, new static);
        });
}

Basically in any other class I create I want to be able to do this:
<?php
namespace App\Providers;
use Illuminate\Support\Collection;

class demo
{

    public function start()
    {
        $demo = collect([1,2,3]);
        $demo->   //At this point autocomplete should show `toAssoc` as a complete option. It does not.
    }
}

I generated a new _ide_helper, but that still didn't give me the toAssoc option.
So then I tried changing the fake docbloc class name to match the Illuminate\Support\Collection class name:
/**
 * Class \Illuminate\Support\Collection
 *
 * @package App\Providers
 * @method Collection toAssoc(callable $callback) To Assoc description and info here.
 */

But that didn't work.
So I'm open to suggestions!

@jonnywilliamson
The trick is that you need to create another decalration of Collection class that IS NOT included in the actual code.
Create a file somewhere, and add this content:

You can see, that I try to redefine Collection class. When PhpStorm encounters multiple definitions of the class, it just merges together methods and properties. This is a hack, and can result in IDE warnings about multiple class definitions.

Ahhh.
Ok, So I actually just stuck this at the top of my CollectionsServiceProviders class and it's working! Thanks!
For anyone else following this is what it looks like now:
<?php

namespace Illuminate\Support;
/**
 * @method Collection toAssoc(callable $callback) To Assoc description and info here.
 */
class Collection{};
?>

<?php

namespace App\Providers;

use Illuminate\Support\Collection;
use Illuminate\Support\ServiceProvider;

class CollectionServiceProvider extends ServiceProvider
{
    public function register()
    {
        Collection::macro('toAssoc', function () {
            return $this->reduce(function ($assoc, array $keyValuePair) {
                list($key, $value) = $keyValuePair;
                $assoc[$key] = $value;

                return $assoc;
            }, new static);
        });
}

It's ugly, but it works!
Will do nicely for a sticky plaster for a while. Thank you @briedis

Your solution will probably generate an error, because you cannot re-declare a class twice. You have to put this hack-code in a separate file, file which will be indexed by IDE, but it will never acutally be included in the running code.

@briedis Indeed it did. Thank you for the warning.
I've now done what you suggested and it is working well! Really appreciate that.

Just looking for solutions to this problem and came across this.
My issue (after creating a separate _ide_macros.php file with my definitions) is that PHP Storm now complains about "Multiple definitions exist for class XXX" in my code.  Apart from turning that inspection off, is there a solution to this?

You can disable this inspection.
Settings | Editor | Inspections | PHP | Undefined | Undefined class | Don't report multiple class declaration potential problems

Be aware that this disables the inspection everywhere and for everything. So it will also not notify you about really duplicated classes.
All other hacks/settings won't work because they prevent phpstorm from indexing the file and therefore you won't have method completion.

there's a duplicate issue https://github.com/barryvdh/laravel-ide-helper/issues/531
there was a PR merged some years ago which brought macro support, buy only within Facades => https://github.com/barryvdh/laravel-ide-helper/pull/500

I'm closing this in good faith, assuming the recent macro support fixes this => see the release https://github.com/barryvdh/laravel-ide-helper/releases/tag/v2.8.1
Since this is a very old issue, I think if anyone here experiences issues with the new feature, please open a new issue with details. Thanks!


My first pull request

@divinecharlotte ,
Hello, I am confused about how to redress my code and reach out to you without making another pull request. Could you please help me out here?


UI for loading contacts

Resolves https://github.com/uProxy/uproxy/issues/798
Before, the "no online friends" message would always flash really quickly before the roster showed up. Now, the loading contacts page will be displayed for 1.5 seconds, and if contacts are found in that time, the roster will be shown. If no contacts are found in 1.5 s, then the loading page will persist for a total of 5 s before switching to the "no online friends" message. Let me know if you disagree with these times. I tried 1 s and sometimes the "no online friends" message would still flash briefly.
Note the progress bar is "indeterminate" meaning it just scrolls rapidly, it doesn't progress once from left to right like a loading bar.
Ran grunt test.
Looks like:

:+1:


[SIP-129] POC - Real-time Dashboards powered by data streams

Please make sure you are familiar with the SIP process documented
here. The SIP will be numbered by a committer upon acceptance.
[SIP] Proposal for ...
Motivation
Today, real-time dashboards are built on repeated polling of 10 seconds interval. For Every pool, SQL queries are executed, typically the entire data needed for dashboard would be fetched.
This causes a lot of load on warehouse DB - especially when you have the lot of active users on Superset and at the same time you have a lot of real time dashboards. This thing can be skipped entirely if your dashboards have low retention periods.
Proposed Change
Like, How SQL Lab performs SQL queries and generates dataset which are required to power dashboards. An alternate pipeline powered by steams would generate/update the datasets required for dashboards. Like SQL Lab, there will be another module where user can specify how a steam needs to be consumed (functions), and how those dataset needs to be updated.

Stream as a data source
Stream consumers function for dataset population, rest everything remains same (restricting scope)

New or Changed Public Interfaces
Describe any new additions to the model, views or REST endpoints. Describe any changes to existing visualizations, dashboards and React components. Describe changes that affect the Superset CLI and how the Superset is deployed.
New dependencies
Describe any npm/PyPI packages that are required. Are they actively maintained? What are their licenses?
Migration Plan and Compatibility
Describe any database migrations that are necessary, or updates to stored URLs.
Rejected Alternatives
Describe alternative approaches that were considered and rejected.

I've always conjectured that this would be tied into the Global Async Queries feature. two main reasons:

It has a redis caching layer, so that might lighten the load on your DB in general.
If we want to do real realtime analytics, the dashboard would need a major overhaul so that (a) charts all subscribe to a websocket for updates, which would be published on query completion OR a push of subscribed streamed data, and (b) all charts should be updated so that they support transitioning/transposing on data uptates rather than just blinking a hard refresh.

Restricting scope of this SIP. Which are necessary and sufficient for this to work.

Adding Streams as alternate data source
Stream processors - "consumers function" for dataset population

One dataset populates, the rest of the flow would remain the same. Chart queries will hit in-Memory dataset where underlying data lies.

@surapuramakhil please move forward with a [DISCUSS] thread on the dev mailing list if you wish to execute on it, otherwise this will be closed as discarded fairly soon. Pleae reach out if you'd like any assistance with that process.

@rusackas, I got busy. I will work back on this.

I think this will be much more possible when the global async queries SIP is completed, which @villebro is working on. Then we'll have websockets to leverage.

This may be closed for inactivity in a short while, if it isn't carried through the SIP / ASF consensus process. Holler here or on slack if you want help with that.

This will be closed on December 9th unless it gets put through the remaining steps of a SIP (fleshed our proposal, Discussion thread on the Dev list, etc).

Can't work on this, as this issue https://github.com/apache/superset/issues/30189 has blocked my docker setup for months.
tried everything, out of options.


Added Final blog for references team

This PR contains the final blog for the references team in GSOD 2021

@Rohitesh-Kumar-Jain

@huan

@shraddhavp Thank you very much for summary the GSoD'21 participating in this final blog post!
Please feel free to follow https://github.com/wechaty/wechaty.js.org/issues/1257 and help yourself/teammate to merge PRs when you believe everything is good to go.
Cheers!


Change presentation URL structure

/{name}-{event} with each slugified.

[x] Provide redirects for old links
[x] Do not link future presentations as the name won't be set yet.
[x] Update to new URL structure

Closed by dd7319eb8a1a982a134169b540779c0c30a7cc7a and ec12f15167aa57327a0cadc05c68ebae63bb6818


[Durable Objects] Add instructions for properties of Durable Object errors

Looks like Josh's branch is in a personal repo... I couldn't find a way in the github UI to update the PR to use a different branch, so I opened a new PR here: https://github.com/cloudflare/cloudflare-docs/pull/15305

👋Hi there, we’re going to close this PR. All PRs prior to August 12 need to be reworked due to the platform migration to Astro.


Callbacks: "to, from" versus "from, to"

In some places in the docs, e.g. onNavigationChanged you say that the callback params are (to, from), and then in other places, e.g. /component/view.svelte:58, you say it's (from, to). Which one is it? When I run onNavigationChanged, it looks like (from, to) to me.

@BennyHinrichs it is fn(from, to) for onNavigationChanged, onBeforeNavigation - the documentation has been updated.

Excellent. I think it's still the old one in src/router.js:124,143.

@BennyHinrichs Good catch, all update in a5c1b6181f0d736729236c8582d7d7c6cc11c148 commit.


pymol: init at 1.8.4

Motivation for this change
Things done

[ ] Tested using sandboxing
(nix.useSandbox on NixOS,
or option build-use-sandbox in nix.conf
on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] Linux

[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Fits CONTRIBUTING.md.

Any idea on why have it failed?

@fpletz Applied buildPhytonApplication, and added license as well as a bit more detailed description as well as the website. Although I still doubt that it will build on Mac.
Note: This version of PyMol does not utilises Python megawidgets, as I could not find this package on nixpkgs. It doesn't cause any problem:

Python megawidgets (Pmw -- only required for the "external" GUI)


Log warning when tracing not enabled

problem: when people want to use tracing and forget to set closure-defines, traces don't show up and no errors or warnings are being displayed
solution: check if tracing is enabled. if not, log warning message when opening trace panel
fixes #384

Great stuff!


Does not display documents in container with large partition key

Storage Explorer Version: 1.12
Build Number: 20200116.10
Platform/OS: Windows 10
Architecture: ia32
Bug Description
Does not display documents in container with large partition key.
Steps to Reproduce

Create a container with a large partition key: https://docs.microsoft.com/en-us/azure/cosmos-db/large-partition-keys
Add documents to container using large partition keys.

Expected Experience
Selecting the container in Storage Explorer should display documents.
Actual Experience
No documents are displayed in the container with large partition keys.
Additional Context
The Bot Framework SDK for .Net creates partitions with large partition keys.

Is there any update on this one? It would be very helpful!

Unfortunately, this isn't a scenario we can currently prioritize. https://cosmos.azure.com/ is the best option for interacting with these containers.

The Cosmos team recently deprecated our integration with Azure Storage Explorer. Here is the full deprecation notice from the 1.15.1 Storage Explorer release notes:

The Azure Cosmos DB integration with Storage Explorer has been deprecated. Any existing functionality will not be removed for a minimum of one year from this release. Users should use the Azure Portal, the Azure Portal desktop app, or the standalone Cosmos Explorer instead – all of which contain many new features that aren’t currently supported in Storage Explorer. Additionally, the Azure Cosmos DB team has also open sourced the data explorer project and will be investing in their own desktop tooling at a later date. Please keep an eye on their repository for more information.

Currently, we are not prioritizing new features or bug fixes for Cosmos in Azure Storage Explorer. If you the issue you are reporting also applies to the Azure Portal or https://cosmos.azure.com, please file an issue in our open source Cosmos Explorer repo


Improved Spark error formatting

It looks weird with merge commit in your PR. You probably should avoid sending PR from you master branch :) (I suggest you close this one and open a new one)

Ahh, yes. I've done that. Hope it looks better now with
https://github.com/spotify/luigi/pull/608
Best,
Anders
On Fri, Jan 16, 2015 at 5:12 PM, Arash Rouhani<EMAIL_ADDRESS>wrote:

It looks weird with merge commit in your PR. You probably should avoid
sending PR from you master branch :) (I suggest you close this one and open
a new one)
—
Reply to this email directly or view it on GitHub
https://github.com/spotify/luigi/pull/606#issuecomment-70276765.


LocalBroadcastManager will be deprecated from v1.1

You should rework this example and codelab soon to comply with the changes done here:
https://developer.android.com/jetpack/androidx/releases/localbroadcastmanager#1.1.0-alpha01

Version 1.1.0-alpha01
December 17, 2018
androidx.localbroadcastmanager is being deprecated in version 1.1.0-alpha01.
Reason
LocalBroadcastManager is an application-wide event bus and embraces layer violations in your app; any component may listen to events from any other component.
It inherits unnecessary use-case limitations of system BroadcastManager; developers have to use Intent even though objects live in only one process and never leave it. For this same reason, it doesn’t follow feature-wise BroadcastManager .
These add up to a confusing developer experience.
Replacement
You can replace usage of LocalBroadcastManager with other implementations of the observable pattern. Depending on your use case, suitable options may be LiveData or reactive streams.

RG

I was using LBM for years as a part of downloader for Google Play Services... now I see it's not available and all I can find is the notice:

You can replace usage of LocalBroadcastManager with other implementations of the observable pattern. Depending on your use case, suitable options may be LiveData or reactive streams.

Any tip how to replace it in this exact case?

For this sample, I didn't want the added complexity of saving location data to a database. I just wanted to show how to request and get the location data.
That's a good point though on the LBM, so I will add a DataStore (replacement for SharedPreferences) and read data via a Flow when I get the chance. The Flow will emit every time a data changes (codelabs if anyone reads this and is interested).
I would go with that method if you don't mind using the alpha, although I was playing with it and it worked pretty well.
Otherwise, I usually do a full Room database and observe a LiveData instance to get the data I want. You can see that in the Room with a View codelab, but for this, it would be a little overkill.
Either way, thanks for the catch!

For this sample, I didn't want the added complexity of saving location data to a database. I just wanted to show how to request and get the location data.
That's a good point though on the LBM, so I will add a DataStore (replacement for SharedPreferences) and read data via a Flow when I get the chance. The Flow will emit every time a data changes (codelabs if anyone reads this and is interested).
I would go with that method if you don't mind using the alpha, although I was playing with it and it worked pretty well.
Otherwise, I usually do a full Room database and observe a LiveData instance to get the data I want. You can see that in the Room with a View codelab, but for this, it would be a little overkill.
Either way, thanks for the catch!

Go for Flow !!
BTW: LocationRequest().apply{} is deprecated from 18.0.0, since there are many changes in what-to-do / not-to-do concerning location you should rework this codelab. Keep it to the simplest, require location, listen to it, present it. Then you cold expand in another codelab location tracking with use of Room DB.

I've taken a shot at replacing LocalBroadcastManager with Room + Flow (using Hilt for dependency injection) here:
https://github.com/barbeau/while-in-use-location
A summary of the changes are in the README. I'd welcome any feedback from others with more experience for how this can be improved, as it's my first time working with these components! 😃

I've taken a shot at replacing LocalBroadcastManager with Room + Flow (using Hilt for dependency injection) in my fork here: https://github.com/barbeau/while-in-use-location
A summary of the changes are in the README. I'd welcome any feedback from others with more experience for how this can be improved, as it's my first time working with these components! smiley

There has not been alot of movement on your quoted fork in the last 12 months.  Is your suggested solution to "LocalBroadcastManager" deprecation workable and viable?

@Hmerman6006 AFAIK yes - I haven't heard otherwise. Here's an article I wrote on the Room + Flow implementation:
https://barbeau.medium.com/room-kotlin-flow-the-modern-android-architecture-for-location-aware-apps-9c110e12e31a
In my own app I ended up pursuing a lighter-weight approach without Room and using callbackFlow. Code for this implementation is here:
https://github.com/barbeau/while-in-use-location/tree/no-database
...and article is here:
https://barbeau.medium.com/kotlin-callbackflow-a-lightweight-architecture-for-location-aware-android-apps-f97b5e66aaa2
The 2nd approach without Room and using callbackFlow is implemented in my GPSTest app here:
https://github.com/barbeau/gpstest


cluster meet not working

I'm trying to follow the README to setup a cluster of 2 disque nodes on 2 amazon ec2 instances. When i run disque cluster meet <IP> <PORT> disque replies with OK, but it seems no clustering has been setup.
The logs on the second node do not show anything and when i do  ADDJOB queue body 0 on node1 and GETJOB FROM queue on node2 there's no job in the queue.
Am i missing something obvious here?

It seems the nodes communicate on port 17711, so after adding an appropriate firewall rule the clustering worked. Is this configurable somehow? I'd be happy to contribute to the docs if i understand properly how it's setup.

Thank you @pulse00, doc updated. The offset is fixed at baseport+10000.


Symbol for 4-pin crystal oscillator parts and some footprints

Currently we have symbols for TCXO (4 pins with one NC) and
TCXO_EN (which has 6 pins).
It seems like a the most common oscillator footprint is a 4-pin
package where pin 1 is either EN/enable or VC/voltage control,
and this is common amongst SPXO/TCXO/VCXO components.
So it seems worthwhile having a generic oscillator part.
(Also added some footprints for Seiko Epson SPXOs.)

Looks good, thanks!


RelationshipDAO  delegate is null

When relationship is being created delegate is null for Test "Relationship Test"

Fixed as of this commit https://github.com/foam-framework/foam2/commit/bcfe6d9c12c5bfb83225785bbefbc4bb4dc14716


Add registry priority to ensure registry/component display order

Signed-off-by: jingfu wang<EMAIL_ADDRESS>What type of PR is this?
/kind bug
/area devfile
What does does this PR do / why we need it:
Issue: Currently we concurrently retrieve devfile index file from different registries, which means the order of registry and components in the registry is random depends on the speed and load of each concurrent thread.
This PR implements a new algorithm/data structure to add registry priority for all registries by taking advantage of the nature of the array index so that ensure the correctness registry/component display order (the newly added registry/component has highest priority). More specifically, the PR implements:

Registry has priority (Newly added registry has the highest priority)
Display order is correct + still use concurrent mechanism for performance

Which issue(s) this PR fixes:
Fixes #3693
PR acceptance criteria:

[ ] Unit test

[ ] Integration test

How to test changes / Special notes to the reviewer:

Add new registry
Run odo registry list or odo catalog list components to verify the newly added registry/component display at the top of the table row

/assign

@GeekArthur Registry order is preserved for me now with multiple registries, but the ordering of the devfiles on odo catalog list components is in the opposite order alphabetically for each registry:
e.g:
Odo Devfile Components:
NAME                 DESCRIPTION                            REGISTRY
nodejs               Stack with NodeJS 12                   DefaultDevfileRegistry
java-springboot      Spring Boot® using Java                DefaultDevfileRegistry
java-quarkus         Upstream Quarkus with Java+GraalVM     DefaultDevfileRegistry
java-openliberty     Open Liberty microservice in Java      DefaultDevfileRegistry
java-maven           Upstream Maven and OpenJDK 11          DefaultDevfileRegistry

vs. master
Johns-MacBook-Pro-3:odo johncollier$ odo catalog list components
Odo Devfile Components:
NAME                 DESCRIPTION                            REGISTRY
java-maven           Upstream Maven and OpenJDK 11          DefaultDevfileRegistry
java-openliberty     Open Liberty microservice in Java      DefaultDevfileRegistry
java-quarkus         Upstream Quarkus with Java+GraalVM     DefaultDevfileRegistry
java-springboot      Spring Boot® using Java                DefaultDevfileRegistry
nodejs               Stack with NodeJS 12                   DefaultDevfileRegistry

@GeekArthur Registry order is preserved for me now with multiple registries, but the ordering of the devfiles on odo catalog list components is in the opposite order alphabetically for each registry:
e.g:
Your branch:
Odo Devfile Components:
NAME                 DESCRIPTION                            REGISTRY
nodejs               Stack with NodeJS 12                   DefaultDevfileRegistry
java-springboot      Spring Boot® using Java                DefaultDevfileRegistry
java-quarkus         Upstream Quarkus with Java+GraalVM     DefaultDevfileRegistry
java-openliberty     Open Liberty microservice in Java      DefaultDevfileRegistry
java-maven           Upstream Maven and OpenJDK 11          DefaultDevfileRegistry

vs. master
Johns-MacBook-Pro-3:odo johncollier$ odo catalog list components
Odo Devfile Components:
NAME                 DESCRIPTION                            REGISTRY
java-maven           Upstream Maven and OpenJDK 11          DefaultDevfileRegistry
java-openliberty     Open Liberty microservice in Java      DefaultDevfileRegistry
java-quarkus         Upstream Quarkus with Java+GraalVM     DefaultDevfileRegistry
java-springboot      Spring Boot® using Java                DefaultDevfileRegistry
nodejs               Stack with NodeJS 12                   DefaultDevfileRegistry

The latest commit should fix the internal order (component order) issue.

/approve

/retest


Github stuck on loading.

Description
Github stuck on loading when open GitHub on my Atom editor.

Steps to Reproduce

Make new directory.
Click on GitHub in Atom.
Click on "Publish on Github".

Expected behavior:
Displaying user name.

Actual behavior:
User name field is endless loading.

Reproduces how often:
Every times.

Versions

Atom    : 1.54.0

Electron: 6.1.12

Chrome  : 76.0.3809.146

Node    : 12.4.0

I have this problem too!

I have this problem too!


Cluster with apiEndpoints should allow glue security groups added to the controller nodes

Version: v0.9.6-rc.2
When using an unmanaged loadBalancer in apiEndoints as follows:
apiEndpoints:
- name: myapi
  dnsName: <NAME>
  loadBalancer:
    id: <ELB_NAME>

The API doesn't automatically get security group configuration attached that allows incoming traffic through the ELB. This means you can't reach the API through the loadBalancer.
We need something like this added to the controller:
controller:
  autoScalingGroup:
    minSize: 3
    maxSize: 3
    rollingUpdateMinInstancesInService: 2
  securityGroupIds:
  - sg-#####
  subnets:
    - name: ClusterSubnet01
    - name: ClusterSubnet02
    - name: ClusterSubnet03

Maybe other option would be to add the securityGroups to the apiEndpoint itself?? (This is accepted by kube-aws however the security group is not assigned to the controllers)
apiEndpoints:
- name: myapi
  dnsName: <NAME>
  loadBalancer:
    id: <ELB_NAME>
    securityGroupIds:
    - sg-######

@jcastillo-cb Thanks for trying kube-aws and the detailed feedback 👍
Nice timing - I'm going to add controller.securityGroupIds in #551 and apiEndpoints[].loadBalancer.securityGroupIds in #552.
Would those improvements solve your issue?

I think that would fix this issue.
One thing that wouldn't be clear to me is what would happen if the user specifies both? which one takes preference? just add the combination of the 2?? controller.securityGroupIds + apiEndpoints[].loadBalancer.securityGroupIds ?

@jcastillo-cb Thanks for the confirmation 👍
apiEndpoints[].loadBalancer.securityGroupIds is for associating existing security groups to an ELB managed by kube-aws. It can't be used in combination with apiEndpoints[].loadBalancer.id because kube-aws by design tries its best not to modify existing AWS resources.
So - I believe what you'd like to have here is controller.securityGroupIds to associate a glue SG which allows the existing ELB to access controller nodes managed by kube-aws.
Relationships among relevant AWS resources would look like:
(1) Existing ELB ---(2) Existing ELB Source SG---(3) Existing Controller SG---> (4) Controller nodes managed by kube-aws
(1) should be created by you and passed to kube-aws via apiEndpoints[].loadBalancer.id
(2) should be assigned to (1) by you
(3) should be created by you and passed to kube-aws via controller.securityGroupIds
(4) are created by kube-aws. kube-aws also associates (3) to controller nodes for you.

That makes sense.

@jcastillo-cb Thanks for your confirmation 👍
I'm closing this as controller.securityGroupIds has been already introduced to the master branch via #552.
Please feel free to reopen if necessary though!


Bundle analyzer?

Just a question: are there any plans to add a functionality to analyse the bundle and it's size to see which bundle dependencies are bigger than others? For example something like webpack-bundle-analyzer?

Well of course, but it's not a priority. We have plenty of other pressing issues to resolve ;-)
If you want I can help you implement it.

Well of course, but it's not a priority. We have plenty of other pressing issues to resolve ;-)

Sure 👍 I only wanted to know if you were totally against it or if this could be added at some point in the future.
Can this be done as a plugin for fuse-box or can this only resist in the core of it? Unfortunately I don't know how webpack-bundle-analyzer is working internally. I only know that it is analysing the generated source maps and prints everything out with D3 or so.

Yes, it can be done in a plugin, and of course should be done after it has been Quantumized
onProducerEnd(){}
https://github.com/fuse-box/fuse-box/blob/aa732ca3583206838676f5b52c3a90f3bb9af215/src/quantum/plugin/QuantumCore.ts#L35-L58
This Class knows every single detail about packages and files, and it's super easy to extract this information. You can get sizes, dependency tree, e.t.c

Ok. I will play around with it. Thank you.

I think i can be a part of Quantum. Like an option stats : true

That would be the best solution IMHO 😉

@screendriver You actually don't need the bundle analyzer tool to be integrated into your build tool. Per this tweet from Dan Abramov webpack-bundle-analyzer is somewhat inaccurate and you're better off using a tool that performs analysis off your source-maps.

source-map-explorer Doesn't have the same visual appeal, but has a reputation for being accurate.
bundle-buddy Is mored geared towards eliminating code duplication across split points, but also works under the same principle.

Both of these tools currently work with Fuse-Box, but one of these tools could even be integrated into a plugin to be even easier to use.

Any status on this ?

No status, nobody is working on it, unfortunately

@nchanged any news on this ?
Nice to think about it while making v4 so its easier to add

I will be adding an API for that in v4, but I need some help building the actual analyzer

FuseBox v4 Major Upgrade
As of today, the latest major version of FuseBox v4 is available in fuse-box@next. FuseBox has undergone a full re-write from scratch, learning from its mistakes in the previous versions.
There are a lot of improvements, speed and config wise.
Get started here
We are still working on the documentation and polishing before the major release. We are getting very close. And we need help testing.
npm install fuse-box@next

Most of the issues that I am closing have been resolved, however, if you find that your issue is still relevant in v4 don't hesitate to re-open or (better) create a new one with v4 configuration.


:seedling: Uplift BMO to release-0.6

As titled
/hold

let's add IPAM uplift also on this PR once we have the release.

/lgtm cancel

/retitle 🌱 Uplift BMO to release-0.6 and IPAM to v1.7.0

you need to uplift ipam in config/ipam/kustomization.yaml too.

/unhold

/test ?


Add DNS resolution in NetworkedMultiplayerEnet::create_client()

Closes #12512.
Tested & works locally. Now you can actually use domains for your server with enet! (Or "localhost" instead of "<IP_ADDRESS>", I guess)

@Faless Thanks, fixed. :tada:


Could we reduce the cost of the prqlc build?

What's up?
I do think building prqlc artifacts is a good idea — and it's already found one bug.
But it is more than half the CI capacity of each PR. It also causes the cache to churn a bit more (but I don't think a single run's cache is bigger than our capacity yet, which would cause pathological behavior, so not urgent like that would be). I've noticed PRs take much longer to test when it's busy — e.g. this afternoon — since the queue builds up.
A couple of ideas to reduce the cost:

Compile in debug rather than release mode for PRs?
If we do that, share the standard rust cache for that platform, which should mean compiling is almost free, which is almost all the runtime.
If we don't compile in debug mode, switch to running on test-all only, and then we can use the pr-test-all label to generate the binaries?

CC @eitsupi (but not super important or urgent, or necessarily your responsibility to solve!)

Sorry for bothering you.
Currently this job is running for all PRs.
This is the same of the test-rust job.
https://github.com/PRQL/prql/blob/d786a8b4969a2f7423cbffe4bffef2bc84b982fa/.github/workflows/pull-request.yaml#L4-L37
In my opinion, there is no need to run these jobs if the prql-compiler source code has not been modified.
How about separating test-rust and build-prqlc from this workflow and changing condition to run only if the prql-compiler code is changed in the PR?
This would reduce the number of workflows and execution time for small changes such as pre-release chores.

How about separating test-rust and build-prqlc from this workflow and changing condition to run only if the prql-compiler code is changed in the PR?
This would reduce the number of workflows and execution time for small changes such as pre-release chores.

This would be helpful on the margin, yes.
Though the majority of PRs do change some rust code, so I don't think it solves everything.
What do you think about the other ideas — e.g. compiling in debug mode & sharing a cache?

What do you think about the other ideas — e.g. compiling in debug mode & sharing a cache?

Do you think that means that the build is done by different commands in the releases and PRs?
Perhaps PR should build in debug mode and build-all and release should build in release mode?

On running only the rust test workflows on rust changes — unfortunately I don't think this is possible:

If a job is marked as "Required", it's always required, and nothing can merge without it passing.
We want to have that job be required, so we can click "Enable auto-merge"
We do some custom work at https://github.com/prql/prql/blob/d0149f720560b4045c270c7240634fe8e9ea612e/.github/workflows/pull-request.yaml#L75 to have some more jobs be Required, but that can only work with labels, not with path changes

I hope that GitHub allows specifying "All included tests are required, but not excluded tests" in the future — that would be much simpler

Do you think that means that the build is done by different commands in the releases and PRs?

We can use an input to define whether or not to include --release at https://github.com/prql/prql/blob/cbcac20055ffb5d9db046ea797f963572d789cb8/.github/actions/build-prqlc/action.yaml#L42
Here's an example of an if-like expression: https://github.com/prql/prql/blob/5db61f45ad31ff5673fdfb7890cc3699d47940f9/.github/workflows/test-rust.yaml#L75

Perhaps PR should build in debug mode and build-all and release should build in release mode?

Yes, agree on PR & release.
We can always share the cache, which means we'll only benefit from it without --release. So probably test-all makes sense without --release — we really don't care much about the runtime performance or binary size...

Closed by #2778


[fix] cms csv_import_base utf8_file?

Coverage decreased (-0.05%) to 84.626% when pulling 208084d27cf858adb275a01602221053bdf681bb on ShinjiTanimoto:import into d89912b6b11d83cd12ddc78fb771da19b22b0289 on shirasagi:master.


Thank you!

Hi,
I just want to thank you! With your library I can focus on integration tests instead of managing ES instances. This is an awesome project and you have done perfect job here.
Have a nice day,
Tomas

+1 Thanks!

:)


Is Leshan ready for production usage ?

Hi,
Our company (www.cls.fr) is very interested in using LwM2M and we would like to add instance of leshan server inside our infrastructure but I wonder if today leshan is ready to be used in industrial in production mode ?
We need to support LwM2M 1.1 with queue mode as our devices will be sleeping most of the time, will use dynamic IP addresses (devices are using cellular modems).
Then 10000+ beacons could connect at the same time, is Leshan able to cope with this ?
What would be the licensing model in use ?
Regards

You posted to the wakaama project, I think your question is for the Leshan project

Oh sorry I was in wrong github place, I will post a new request in right place ... please close this one


feat: Add Sublime Text grammar to README

I have created a syntax highlight file for the macOS text editor Sublime Text.
The grammar is also supported by the Rust library syntect which is used by software such as bat (bat is like cat but with syntax highlighting) and some other software such as documentation generators, static site generators, markdown software, etc (see Projects using Syntect).
To be able to have it on packagecontrol.io we need to put it in an own repository, for example sublime-prql.

Great — I created the repo and added you @vanillajonathan !

I looked at the repo — looks great!


No database setup on start up with docker compose

I tried to set up with docker compose, but it failed with these errors.
...
opencov_1   | 14:20:42.296 [error] Postgrex.Protocol (#PID<0.392.0>) failed to connect: ** (Postgrex.Error) FATAL 3D000 (invalid_catalog_name): database "opencov_prod" does not exist
postgres_1  | FATAL:  database "opencov_prod" does not exist
...

I think that it might cause to be lack of database set up, so please tell me it or Add it to README.

Did you run
docker-compose run opencov mix ecto.setup

as written in the README?

Thanks, the application works. Maybe, I missed run the command... :(
But it still doesn't work well, fails to create a new project with this warning.
The messages that corresponds to "the errors below" are not outputted.
Could not create the project, please check the errors below:

I inputted a public GitHub project name (redis-naming-py) and repository URL (https//github.com/msh5/redis-naming-py) as a sample.
Do you know what causes this warning ?

Sorry for the trouble, this should now be fixed. See #9.


Update project visibility flags

Make sure they're in line with zooniverse/Panoptes-Front-End#243
Closes #941

Also we'll need to add the check that only owner's can remove the lock state of a project from here.

Lock: If Lock = F, any collaborator can make changes. If Lock = T, only the project owner can make changes.

Yeah I disagree 100% with that. Owners and Collaborators should be treated the same since they are everywhere else. I'm not sure why that particular variable needs to be different.

@aliburchard any reason in particular for only allowing the owner to make changes to a live / locked project?

Silence is deafening, merging this and we'll review later.


Pytocs.Gui: Add russian translation

Add russian translation to Resources.ru.resx file.

PR merged #45


Time elapse -> time elapsed

Small grammar change I noticed when executing a wf run command.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


CmdPipelineBarrier does not take arrays of barriers

Although vkCmdPipelineBarrier takes multiple barriers in the barrier parameters, CmdPipelineBarrier only takes one per parameter.

That is similar issue as in #11, where there's still same remaining issue with ResetFences. I hope to fix it soon.


AutoFee : If Auto Fee is enabled, it should be set to on as default for new channels #100

#100

This will require a database migration which I can bundle with another change in models.py I am planning to make.
I will merge this change in after the database migration is ready as well.

will it actually require database migration? since the change works ONLY on new channels since all previous channels would either have auto_fees = False (as default) or True if enabled.
In my environment, I did not have to do a migration before testing this.

Since we overwriting the save function here it may not be an issue for our sqlite3 database. Other databases could respond differently. You can check if your updates have any migrations pending by using this command.
python manage.py makemigrations --dry-run


Additional shader filters

One idea for an additional shader is to bring white closer to grey. This might decrease effective contrast in some areas, but could work quite well for large white areas with bold black text/graphics that would be quite visible either way (e.g. b&w comics).
It may be possible to have custom filters for color-shifting as well that can be passed in as uniforms to a generic shader - colorblindness simulation is already done by other tools but it wouldn't hurt to have.

useful resource for the latter: https://www.alanzucconi.com/2015/12/16/color-blindness/


Two articles same title

Below are two documents. I am trying to determine if these documents are discussing same appliance or different appliances. After 10min I decided I should share my frustration.
One looks like a "overview" of the appliance while the other looks like the full details of the same appliance. one provides a link to download the appliance, while I don't see a link in the other so I could be completely wrong and they are different appliances.
UPDATE! It looks like one article is for agent based migration and the other is for agentless migrations.
Good grief. If that is the case, please help the title, toc and intro paragraph make that easier to determine.

TOC: Replication appliance requirements
Title: Replication appliance
Content: https://docs.microsoft.com/en-us/azure/migrate/migrate-replication-appliance
Intro paragraph:

This article describes the replication appliance used by Azure Migrate: Server Migration tool when migrating VMware VMs, physical machines, and private/public cloud VMs to Azure, using agent-based migration.

TOC: Azure Migrate appliance requirements
Title: Azure Migrate appliance
Content: https://docs.microsoft.com/en-us/azure/migrate/migrate-appliance
Intro paragraph: This article summarizes the prerequisites and support requirements for the Azure Migrate appliance.
This appliance is used to "Replicate servers without installing any agents on them."

The real reason I'm here
I'm trying to figure out the hardware requirements for the azure migrate appliance,
If it's agent based how much storage is needed in the VMware environment for the appliance?

Number of disks | Three: The OS disk, process server cache disk, and retention drive.
80GB OS? each agent migrated machine needs some amount of free disk space?

If it's agentless, how much storage is needed for the VMware appliance?
2x600GB cache, retention + 80GB OS?

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

ID: 7a4a21a9-fcda-355f-6668-21cd3adf25af
Version Independent ID: 659ad43a-882f-1510-36df-dd1d994b6a09
Content: Azure Migrate appliance - Azure Migrate
Content Source: articles/migrate/migrate-appliance.md
Service: azure-migrate
GitHub Login: @Vikram1988
Microsoft Alias: vibansa

@jonwbstr Thank you for your post. We will look into this and get back to you with an update.

@Vikram1988 To comment on it.

@jonwbstr thanks for sharing your concern. Firstly to answer your question, if you want to set up Azure Migrate appliance (to perform agentless replication, only available for VMware VMs) then you can refer to the H/w requirements here-https://docs.microsoft.com/en-us/azure/migrate/migrate-appliance#appliance---vmware
For agent-based replication, you can refer here are the H/w requirements of the replication appliance: https://docs.microsoft.com/en-us/azure/migrate/migrate-replication-appliance#appliance-requirements
As for the confusion between the 2 articles, I will work with the migration PM who owns the article on "replication appliance" to differentiate the 2 articles for better understanding. I will post here when the changes are published in the docs.

Hi @jonwbstr,
The definitions for both the appliances are as follows:
Azure Migrate appliance: Appliance used for agentless discovery and assessment of VMware VMs, Hyper-V VMs, and bare-metal servers or servers running on other clouds such as AWS, GCP etc. The appliance can also be used for agentless migration of VMware VMs only.
Replication appliance: Appliance used for agent-based migration of servers
Moreover, the articles exist under 2 different sub-sections under Concepts:
Concepts> Discover> Azure Migrate appliance requirements
Concepts>Migrate> Replication appliance requirements
Hope this resolves your query.

Are you asking me to repeat everything in the thread, because it seems like you have chosen to read the title and ignore everything else.
Either you do not think anyone else will experience the same frustration I had (spoiler, I figured it out eventually). Or you can see how other people could be confused and you want to make the title, toc and intro paragraph easier to understand.
This is not a situation where you want to explain why you shouldn't have been confused. It is a situation where you want to understand why there was confusion and then make sure nobody else is also confused for the same reasons... Or you don't.
Feel free to leave it as is until someone else reports they were also confused for all I care.

As advised by my manager @jyothisuri, closing the issues that are older than a year.
#please-close


Initial rework of simple add

This PR moves the simple-add sample to a cmake-based build system.
It also moves the sample from dpcpp to icpx on Linux and icx-cl on Windows.
Some changes were made to the README to make it coherent with the new build commands, but will need to be reworked completely just like the vector-add sample.

Added @ishaghosh27 to review README


unicode characters crash console

From<EMAIL_ADDRESS>on 2010-12-15T07:44:58Z
What steps will reproduce the problem?

paste the following string to the console "a = u'#Table 1: (1-8)1Σ+'"
execute the statement (hit return) What is the expected output? What do you see instead? Expect that variable a takes the value.
instead the interpreter quits with

WARNING:

You or a %run:ed script called sys.stdin.close() or sys.stdout.close()!
Exiting IPython!
Closing threads... Done. What version of the product are you using? On what operating system? spyder-2.0.3, OS X 10.6.4, python 2.6.1
Original issue: http://code.google.com/p/spyderlib/issues/detail?id=503

From pierre.raybaut on 2010-12-15T10:11:02Z
This issue was closed by revision 970c3cca35 .
Status: Fixed

From ccordoba12 on 2010-12-15T08:13:53Z
I can confirm this bug on Linux. It doesn't work on the Ipython spyder console but it works in a normal Ipython session initiated in a shell.
Status: Accepted


nudb Tidying

Not much to say

Obviously correct.  :+1:

As long as it builds, it must be correct. :+1:

Still good.

Oi!  Now it's not "Trivial" any more!
You can't keep adding stuff on the end of an approved code review...

:+1:

@rec Agree, that's why I updated the title

(booted travis.  do we pay them?)

Still looks ok. :+1:

I'm finding more tidying necessary with nudb for the current work I'm doing, and since I prefer to squash these sort of things down I am going to close this pull request until I am certain that there is no more tidying to be done.


[Editor] Add support for printing/saving free highlight annotations

When saving a PDF document with a free-highlight, does the generated PDF hit this work-around once opened with PDF.js? Because if so we may need to fix that properly now, since otherwise we'd be ignoring the appearance-stream that we previously generated.

The free-highlight is a Ink annotation so the workaround doesn't apply here.

/botio test

/botio makeref


Try using <IP_ADDRESS> as hostname for otlp receiver, instead of "otelcol"

As an alternative, if this fails, you can try fly-local-6pn:4317, but I think then we need to force the otel collector to specifically bind to that address (docs here)
It might also be good to make sure that the change in the PR does not publicly expose :4137 outside of the container.
I'm flying by the seat of my pants with fly networking here, going off of this guide: https://fly.io/docs/getting-started/app-services/#tl-dr

TYSM!!!


Bugs for GitHub custom hotkeys

Hi @Mottie !
Thanks for the release of version 1.1.0, optional to open in new tab, working perfectly by itself..
But other have a bug,

Then, On the any page, can not use g q to popup this dialog box.
https://github.com/........#hotkey-settings

On the github homepage, it will also cause the left sidebar to be deformed.

https://github.com/#hotkey-settings

HI @dnknn!
Hmm, it looks like the github home page does that no matter what bookmark you add to the url, e.g. https://github.com/#blah

You don't seem to understand the specific meaning.

I do understand; but there is something odd going on with that page when you add a hash. I didn't close this issue because I still need to spend time investigating why the settings popup doesn't open.

Ok. The previous version no this problem. can use the hotkey to popup, but now can only use the mouse to click to popup. That's what it means.


Improvement for k8s.io/zh/docs/concepts/policy/pod-security-policy/

This chinese version is not updated.
allowPrivilegeEscalation is not mentioned, and there are no examples for default psp
https://kubernetes.io/docs/concepts/policy/pod-security-policy/#privilege-escalation
https://kubernetes.io/zh/docs/concepts/policy/pod-security-policy/

/language zh
/kind cleanup

WIP https://github.com/k8smeetup/website-tasks/issues/3496

/assign @ydcool

@ydcool
any progress?

@tanjunchen Sorry for the long delay... finally pushed.


Sea Lion 3B

Build mlbakery image with https://huggingface.co/aisingapore/sea-lion-3b/tree/main

https://github.com/aishwaryaprabhat/goku/pkgs/container/mlbakery/295976281?tag=sea-lion-3b


About the parameter invd_depth_min_max

Excuse me, is your invd_depth_min_max fixed at (0.33, 0.0025) during the experiment? Does it need to be continuously updated through learning like self supervision?

Yes, invd_depth_min_max  is fixed during training and inference as we mainly focus on the driving scenarios where the depth range is approximately the same. It's interesting to make invd_depth_min_max  a trainable parameter especially when the scene depth range varies for different samples :)

Yes, invd_depth_min_max  is fixed during training and inference as we mainly focus on the driving scenarios where the depth range is approximately the same. It's interesting to make invd_depth_min_max  a trainable parameter especially when the scene depth range varies for different samples :)

Thank you for your reply! In fact, making invd_depth_min_max a trainable parameter is a common practice in self supervised scenarios.


Re-implement the flat format ourselves

As a Plutus Core developer, I want to have an implementation of the binary format that we control, so that I can be confident it won’t change due to upstream changes, and so that we can change it ourselves easily.
AC:

The new implementation is backwards compatible and can deserialize all old scripts.

That's a great issue... Why reimplement anything though? Can't we just literally fork the repo and be done with it?

I'd stick with the current flat implementation for as long as it remains backwards compatible, reserving a fork- option for a hypothetical situation when flat introduces a change we don't want to incorporate.


Error position in adapter listview

http://stackoverflow.com/questions/38548591/eventbus-not-working-with-position-in-list-adapter-correctly
That is my problem, please help me

You should not hold onto a specific ViewHolder. If your onEvent method is called you have no guarantee that this is the view holder of the item position you need.
Instead update your dataset, then notify the adapter: change item.isMarkedAsFavorite of the item you want to change, then call notifyItemChanged.
-ut


BPF 2122 Felix restart IPVS mode bug fix

Reference OSS PR https://github.com/projectcalico/calico/pull/7174 Jira BPF-2122
Additional check for IPVS mode if BPF not enabled then check config state update to prevent infinite Felix restart
Since we ignore kube-proxy mode in ebpf we must not restart when we see that the mode has changed otherwise we stay in an infinite loop of restarts.
NB: I'm not sure how int_dataplane.go seem to magically insert the "#" - I did not do anything here - thanks
Description

Related issues/PRs

Todos

[ ] Tests
[ ] Documentation
[ ] Release note

Release Note

TBD

Reminder for the reviewer
Make sure that this PR has the correct labels and milestone set.
Every PR needs one docs-* label.

docs-pr-required: This change requires a change to the documentation that has not been completed yet.
docs-completed: This change has all necessary documentation completed.
docs-not-required: This change has no user-facing impact and requires no docs.

Every PR needs one release-note-* label.

release-note-required: This PR has user-facing changes. Most PRs should have this label.
release-note-not-required: This PR has no user-facing changes.

Other optional labels:

cherry-pick-candidate: This PR should be cherry-picked to an earlier release. For bug fixes only.
needs-operator-pr: This PR is related to install and requires a corresponding change to the operator.

/merge-when-ready


svgrenderer text in data are not centered anymore

This occurs only for the gnome image viewer

Related to only the gnome image viewer which does not support completely the css


Foxx says fn is not a valid middleware, even though I have no variable named fn.

My Environment

ArangoDB Version:        3.3.19
Deployment Mode:       Single Server
Infrastructure:                Digital Ocean
Operating System:        Ubuntu 18.04

Problem:
My foxx gives me an error and it says
via Error: fn is not a valid middleware
However, I have no variable named fn anywhere in my code base.
Following code at main.js is giving this error.
module.context.use('/admin', require('./admin/router.js'), "admin");
It seems that this is coming from deep inside where users are not supposed to touch.

I just realized that I was forgetting to put module.exports and it fixed.
I apologize for bothering.


Don't Change Destructured Import __ to _

I'm using ts-pattern and it has an export of __. This formatter changes that import and breaks my code. Any thoughts as to why and if there's a work around.
import { __, match } from 'ts-pattern'

Changes to
import { _, match } from 'ts-pattern'

Related: https://github.com/ifiokjr/prettier-plugin-sorted/issues/23


Tagui not executing if conditions

Hello Ken,
I am facing this weird issue the code was running for more than three months now .. and suddenly it is was throwing syntactical error msg ') ' .  But when I checked the code as it was not executing if conditions and not even throwing error for them , what would be the reason behind  error?

Hi @TejasShete1196 can you share your script and the exact error message so we can take a look? Thanks!


Fix auth issue in test bot

Anyone pulling the code from GitHub should be able to get TestBot working without making any changes other than pasting AppID/Secret. SimpleProvider initialization was missing causing the bot to not work by default. Fixing it. Following the same coding pattern as the default Bot template in VSTS.

@siduppal Thanks Sid - this looks like a great addition to TestBot. I've tagged @johnataylor who wrote that piece of code to take a look.
@johnataylor This LGTM. If it makes sense to you, please approve and merge.

This branch needs to be rebased against master prior to merge.


Set PR env to staging

How this PR fixes it
Now that we are dynamically loading chain data, we should be using the staging CGW in PR environments. REACT_APP_ENV is now set to 'staging' in deploy.yml in PRs. (I also created new constant, IS_DEV and IS_STAGING).
Note: all IS_PRODUCTION based features have been modified to reflect how they would previous appear now that PRs use 'staging'. This meant using IS_DEV in a few places.
How to test it

Only staging networks should be visible in the network selector: Ethereum, Polygon, Rinkeby (and temporarily Avalanche and Optimism).
The 'Appearance' setting tab should not be visible.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.005%) to 32.355%

Totals

Change from base Build<PHONE_NUMBER>:
0.005%

Covered Lines:
3082

Relevant Lines:
8469

💛  - Coveralls


keybinds getter?

What is your question?
Is existing in lua something like getPropertyFromClass('Controls', 'left') or something? I mean keybinds getter.

They should add that.

I would use
keyJustPressed(name:String)
Get if the key name just got pressed on the current frame.

Keys: 'left', 'down', 'up', 'right', 'accept', 'back', 'pause', 'reset', 'space'

for now.


]CreateProject /some/path -alias=cider

It was requested that in such a case Cider should refuse to do that.

I am not sure about this.

There might be good reasons to do this, like forking the Cider project and using the precise name for testing purposes.
It's not up to Cider to lecture the user on this!
A warning ("Are you sure you  want to create a project with the name ?") is okay, but not more than that.

Rejected.


Deprecation in 1.13.8

I just upgraded to ember 1.13.8 and I'm seeing the following deprecation notice from emberx-select:
DEPRECATION: A property of <crawler-ui@view:-outlet::ember453> was modified inside the didInsertElement hook. You should never change properties on components, services or models during didInsertElement because it causes significant performance degradation.
        at _emberViewsViewsCore_view.default.extend.scheduleRevalidate (http://localhost:4200/crawler/assets/vendor.js:60027:34)
        at http://localhost:4200/crawler/assets/vendor.js:22220:32
        at Object.Stream.notifySubscribers (http://localhost:4200/crawler/assets/vendor.js:31572:11)
        at Object.Stream.notifyExcept (http://localhost:4200/crawler/assets/vendor.js:31512:14)
        at Object.Stream.notify (http://localhost:4200/crawler/assets/vendor.js:31506:12)
        at Object.apply (http://localhost:4200/crawler/assets/vendor.js:32915:18)
        at Object.sendEvent (http://localhost:4200/crawler/assets/vendor.js:26465:28)
        at notifyObservers (http://localhost:4200/crawler/assets/vendor.js:30002:25)
        at propertyDidChange (http://localhost:4200/crawler/assets/vendor.js:29798:5)

I'm getting one deprecation notice for each option tag in the select.  My template is:
  {{#x-select value=daysFilter action="filterByDate"}}
    {{#each daysList as |day|}}
      {{#x-option value=day.value}}{{day.text}}{{/x-option}}
    {{/each}}
    {{#x-option value='custom' class=(if isStandardDate 'is-hidden')}}Custom range{{/x-option}}
  {{/x-select}}

I'm using the head of master, as recommended. I even tried rm -rf node_modules ; npm cache clean ; npm install to verify I was REALLY getting the latest, but no luck.
My package.son has "emberx-select": "thefrontside/emberx-select",

I'm seeing the same thing

Interesting. I'll try to take a look tonight. If not first thing tomorrow

same thing

Sorry about that! We should be depreciation free now.

Awesome, thank you!


The plist instructions don't work in iPhone XR

The instructions work fine for iPhone 8 and iPad, but not XR. Can you update this for XR?

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

ID: 2aa5518d-4a85-6039-6828-f1011b7f657d
Version Independent ID: 2c62928f-5089-de93-ab11-5032015c430e
Content: Adding iOS-specific Formatting - Xamarin
Content Source: docs/xamarin-forms/platform/ios/formatting.md
Product: xamarin
Technology: xamarin-forms
GitHub Login: @davidbritch
Microsoft Alias: dabritch

Hi @johnwmcintosh
I just tried the sample, which is linked to from the doc, and the Info.plist entries described in the doc set the status bar to white in both the iPhone X and iPhone XR simulators:


Add server.GRUB to verifyOpts for verify cmd cli

Adding server.GRUB to server.verifyOpts  for verify cmd line. The intention is to align with what GAV (Google Attestation Verifier) does when doing attestation verification.

/gcbrun


Principal ls with id as filter fails

Following command is not working. Same time searching same device with name works.
n2 principal ls --filter "{"id":"mydeviceid"}"

Janne,
Try using "_id" - MongoDB actually uses an underscore for this internally.
Tim
On Mon, May 4, 2015 at 2:02 AM, Janne Koskinen<EMAIL_ADDRESS>wrote:

Following command is not working. Same time searching same device with
name works.
n2 principal ls --filter "{"id":"mydeviceid"}"
—
Reply to this email directly or view it on GitHub
https://github.com/nitrogenjs/cli/issues/19.


Web Pages Outline

Objective:
The purpose of this issue is to plan and outline the essential web pages required for our quiz platform. This will include determining the purpose and basic features of each page to ensure a comprehensive user experience for both teachers (the ones creating and hosting quizzes) and students (the ones taking part in them).
Required Pages:
I've come up with the following initial list of web pages. Give me your feedback which pages should be added, changed or deleted (this includes the features of each webpage).
Homepage

Navigation to other pages such as Quiz Creation, Host Session, Join Session
Overview of the platform features.

Browse Page

Shows list of all public and private quizzes (created by the teacher)

Quiz Creation Page

Page for creating a new quiz
Should allow:

Naming the quiz
Adding questions and answers
Specifying the correct answer

Options for settings, and quiz configurations like:

Time per question

Quiz Page

Page for viewing an already existing Quiz
Should allow to create a new quiz based on the original, if it doesn't belong to the user
If the quiz belongs to the user, it should allow editing

Lobby Page

A waiting area for students before the quiz starts.
Displays session information, including quiz title and participant list.
Allows the teacher to kick out unwanted participants (e.g. inappropriate username)
Allows the teacher to start the session

Game Page

Where the quiz takes place.
Features real-time question display, answer submission, and timers.
Shows whether the websocket connection to the server is active

Results Page

Shows the quiz results after completion.
Includes scores, correct answers, and rankings.
Top 3 students featured prominently

Discussion Points:

What specific features should each page include?
Which pages should be added, changed or deleted
Which features of the pages should be added, changed or deleted
How should navigation between pages be handled?

Outcome:
By the end of this planning phase, we aim to have a clear blueprint for the front-end structure of our quiz platform, which will guide further development and design efforts.
Next Steps:

Sketch initial wireframes based on the outlined requirements
Review and finalize the page outlines in follow-up issues

Structure:
I think that in the first stage it is important that we come up with features for the app but also should prioritize on which features should be our focus and we can always add additional features later on in our project.
Here is my suggestion for adjusting the Pages Documentation
Homepage :

Goal:

Overview of the platform features

Navigation to Leaderboard Page, Quiz List Page, Join Room Page, Create Quiz Page

Quiz Creation Page:

Goal:

Page for creating new quiz

Design:

Each Slide for each question ( user can go back and forth between slides)
Overview of all the slides so it is easier for users to navigate between questions (optional)

Slide:

Question
4 Answers Format
Other format such as True/false, more answers, etc (optional)

Configuration:

Time pro question
After the user done creating slides for the question and press save, here can the user set the Title and the Description of the Quiz

Quiz Page:

Goal:

Page for viewing an already existing Quiz

Design:

Allow user create Quiz by navigating to Quiz Creation Page
Allow users to delete, edit existing Quiz
Only allow user to perform delete, edit existing quizzes if session key matches the creator of the Quiz. Meaning they belong to the user (optional)

Lobby Page:

Goal:

A waiting area for students before the quiz starts.

Design:

Show random generated Room Code, 6 Digits for users to join
Show QR code (optional)
Displays room information, including quiz title and participant list.
Allows the teacher to start the session
Allows the teacher to kick out unwanted participants, e.g. inappropriate username (optional)
Waiting music (optional)

Game Room Page:

Goal:

Where the quiz takes place.

Design:

Features real-time question display, answer submission, and timers.
Shows whether the websocket connection to the server is active
Show ranking on top of the screen
Show score after the answer is shown to all players
Show a crown icon if the person is currently leading (optional)

Results page:

Goal:

Shows the quiz results after completion.

Design:

Includes scores, correct answers, and rankings.
Top 3 students featured prominently
Save the results to a database to have access to the results in the future

Room Join Page

Goal:

To join an existing room

Design:

The user can join an existing Room with Room code, 6 Digits
Join via QR code (optional)

Tech stack

React (recommend)
Vue js

Navigation handling:

For Frontend:

app name: frontend
Each Page would be a js component (React)
Each Page can be accessed with an url

Urls (/frontend):

Homepage: ‘’
Room Join Page: ‘/join’
Create Quiz Page: ‘/create’
Results Page: ‘/results’
Game Room Page: ‘/roomstr:roomCode’
Lobby: ‘/lobby’
Quiz Page: ‘/quiz-pasges’

Next steps:

Your opinion on what should be added, changed, deleted on this draft

Draw/ Design how each page should look like for the frontend

Learn more about whichever framework we are using (frontend/ backend)

Backend :

how does it handle the requests, api endpoints, generating random 6 digits codes for rooms (no duplicate) ?
how should it communicate with the frontend?
how can it save results to database?
how can it handle multiple game sessions?
how can we deploy it?
do we want to have the authentication, for example sign in with google? or just using session key to identify users is enough?
backend urls to handle requests?


[Feature Request] Sign-off on Commits

The ability to sign-off on commits would be very much appreciated. Fetch from .gitconfig:
[format] signOff = true

To further clarify, this is to support “Signed-off-by: User Name<EMAIL_ADDRESS>used with git commit -s ...

@OdinVex, is this a duplicate of https://github.com/Murmele/Gittyup/issues/121#issue-1185637221?


Files disappear from flash drive

Good afternoon.
I have a problem)).
I am using the example EspTinyUSB/examples/device/msc/sd_msc/
My board https://github.com/Xinyuan-LilyGO/LilyGo-esp32s2-base/blob/master/schematic/ESP32_S2(2021-1-16).pdf
I use contacts
#define SD_MISO 13
#define SD_MOSI 11
#define SD_SCK 12
#define SD_CS 10
SD card 16GB FAT 32 class 10
Arduino 1.8.16 core esp 32- 2.0.1
The problem is that the flash card is displayed and I can write files to it at a speed of 500kb.s. BUT after I disconnect the device and connect it again, the files on the flash card disappear.
Tell me what I can do wrong.
Thank you.

To be honest i dont know, i didnt see anything like that.
maybe @tobozo

https://youtu.be/rH9Ssxi9uwI
I made a video
1 first I put the card in a regular card reader and check that there are files on the card
2 I put a flash card in ESP32S2 and an empty card opens
3 I write files to a flash drive
4 turn off the microcontroller and turn it on again
5 is empty again.

hey @MihaNN52, in your video you do not seem to cleanly unmount the drive, and this may be the cause of the files disappearing.
FAT32 has two copies of its file allocation table, when restarting your ESP without unmounting only one of the copies is updated. As a security measure only the oldest considered by the OS until repaired.
You can try to repair the disk with chkdsk, if the previous errors has marked your partition as dirty it should restore the files.
More importantly: you should unmount the drive properly after every file creation/modification to prevent that from happening again.
The exact same problem can occur if your sketch writes to the SD card outside the scope of the MSC context while the SD card is mounted by windows.

https://youtu.be/0buvQBnvznE
I try different drives but they all behave the same

In search of a malfunction, I connected a separate card to the contacts that are listed in the library.
#define SD_MISO 37
#define SD_MOSI 39
#define SD_SCK 38
#define SD_CS 40
Didn't give any effect.

whelp I could reproduce the issue, here's what it looks like when the SD card becomes corrupted:

After formatting the SD Card the files/folders I create on the SD are now persisting on the filesystem ... ish.
This is after uploading a 70MB file on the SD, and umounting/remounting from the OS without power-cycling the ESP.

Main file allocation table is corrupted, pressing reset on the ESP and remounting from the OS confirms the backup is fine, however it does not point to the data blocks anymore.

I'm now quite sure something is corrupting one of the two FAT every time it is modified, so I'd suggest to limit your sketch to readonly operations until a more stable combination of esp-idf and arduino framework is produced.

I believe it is due to OSs are not modifying FAT partition during operations on files, just keep it cached. It is finalized on device being unmounted.
The MSC API works similar to PPPoS, it is only passing raw data between SD card and OS.
Maybe there is some way to handle it on esp32, but i dont know how.

I bought new cards and I do and dismantle every time I write files in windows.
But the files also disappear.
It has never happened that the halyards were preserved.
What flash cards do you use and how do you format them. What cluster size do you set?

Could you try MSC example from arduino-esp32 to confirm it is problem with library?

Installed an example of launching the USBMSC README file. When creating a new file from windows. The file is created but also disappears after I turn off and turn on the power.

@MihaNN52 the official example does not mount the SD, so the file isn't really saved and it's normal it disappears after a reset or power cycle.
@chegewara I've tried both the example from this repo and a the one from arduino sdk 2.0.2, the problem is not with your library.

Write Arduino ide version and kernel version.
What manufacturer is your memory card and how is it formatted. There are no miracles in this business.

@MihaNN52  incomplete translation? I'm not sure what you mean but I'm using the latest arduino ide along with sdk 2.0.2, and using kingston or sandisk 4GB/16GB partitions

SDK 2.0.2 error
C:\Users\Miha\Documents\Arduino\libraries\EspTinyUSB-master\src\host\common\usb_host.cpp: In member function 'bool USBhost::init(bool)':
C:\Users\Miha\Documents\Arduino\libraries\EspTinyUSB-master\src\host\common\usb_host.cpp:68:31: error: 'const usb_host_client_config_t' has no non-static data member named 'client_event_callback'
.max_num_event_msg = 5};
^
exit status 1
Ошибка компиляции для платы ESP32S2 Dev Module.

use this instead:
    const usb_host_client_config_t client_config = {
        //.is_synchronous = false,
        .max_num_event_msg = 5,
        .async = {
            .client_event_callback = _client_event_callback,
            .callback_arg = this
        }
    };

The code has compiled. Thank you.
I'm still experiencing the problem with the memory card.
The fact is that Windows allows you to format a memory card in FAT32 format in 5 options. This is 8192 4096 64 32 14k and I would like to know which one you are using.

4GB is the safe spot, but smaller is better when experimenting.
Please note that sdk 2.0.2 needs some patching to fix some problems with SD library failing to mount the sd card.


Final - New Events Page

This is the final PR for the new events feature. The individual pieces have all already been reviewed in smaller PRs, so here we're looking for any final design or usability issues before it goes to prod.
Closes #4823
Web frontend checklist

[ x ] Formatted my code with yarn format
[ x ] There are no warnings from yarn lint --fix
[ ] There are no console warnings when running the app
[ ] Added any new components to storybook
[ x ] Added tests where relevant
[ x ] All tests pass
[ x ] Clicked around my changes running locally and it works
[ x ] Checked Desktop, Mobile and Tablet screen sizes

Should we change the "communities" and "online" pills to "in-person" and "online"? That's the primary differentiator, right? I don't think we have any in-person events that wouldn't be associated with a community.

Should we change the "communities" and "online" pills to "in-person" and "online"? That's the primary differentiator, right? I don't think we have any in-person events that wouldn't be associated with a community.

I think there is a difference, because the community pill shows the events only of the communities that I belong, not just any community

I think there is a difference, because the community pill shows the events only of the communities that I belong, not just any community

In that case the pill should be "my community" and not just "community".

I think there is a difference, because the community pill shows the events only of the communities that I belong, not just any community

In that case the pill should be "my community" and not just "community".

gotcha... guess that my communities it's even better maybe? :D

not the UI guy here but

this text feels a bit small? (page wasn't zoomed out)

about the code, was something new added to review? (this is just the reviewed PRs right?)

about the code, was something new added to review? (this is just the merged of the reviewed PRs right?)

No, no new functionality! This is just where all those PRs merged into.

[suggestion here]
I was thinking about the events component in the community page... maybe makes sense to standarize these components? (make them more similar, re-using the same component...)

[suggestion here, no needed to approve the PR or something like that]
I was thinking about the events component in the community page... maybe makes sense to standarize these components? (make them more similar, re-using the same component...)

I agree! Let's do it in a separate ticket? I'd want more feedback about how the pagination should work for that and any filters, and I think this PR is big enough.

Okay y'all I think I addressed everything!

Changes 'Communities' -> 'My Communities' @jesseallhands
Made the font size for the event info a little bit bigger @bakeiro
Put the pills rendering logic in the body of the component instead of a render function @darrenvong

Is there anything else?

I'm just wondering...
how the event location search works? its by area? (2 coordinates and then search 50km around it?) if that's the case what happens when user types a country/state/region, would be the center of that region?
if that's the case we should allow only filter by city... I can create another ticket for this if it's needed

I'm just wondering...
how the event location search works? its by area? (2 coordinates and then search ~50km around it?) if that's the case what happens when user types a country/state/region, would be only the center of that region? (circle area instead of a polygon)
if that's the case we should allow only filter by city... (or smaller 'nodes') I can create another ticket for this if it's needed
let me research about this and create a proper ticket... I already faced similar issues while working on the map

BTW, this doens't block the PR, since it's already too big

I'm not quite sure how it's related... but on the prod couchers site, I noticed the "remember me" switch label doesn't render on a different line like in this branch:

One more quirk I noticed - it's unexpected to me that when you got a location filter on (by typing something in the input), then adding and removing "my communities" and "online" filters would reset it. See recording:
https://github.com/user-attachments/assets/a2f1c96c-0408-4a4e-bf9a-19edf4cae171
In the scenario shown, when I click back to filter on events based on "my communities", I would expect it to only show the event in Sydney since that's what I got in the location input still filled in.

I'm just wondering...
how the event location search works? its by area? (2 coordinates and then search ~50km around it?) if that's the case what happens when user types a country/state/region, would be only the center of that region? (circle area instead of a polygon)
if that's the case we should allow only filter by city... (or smaller 'nodes') I can create another ticket for this if it's needed
let me research about this and create a proper ticket... I already faced similar issues while working on the map

So if you look at EventSearchReq or you look at the backend function def EventSearch there's a few options for how search can work.
You can "search in rectangle", that's what I chose here. With than you give it a RectArea which is a latitude min, latitude max, longitude min and longitude max to search in. So you can calculate that by taking the exact location of the search coordinates and adding some "buffer" around them.
You can also "search in area", with that one you give a latitude, longitude and then a radius.
I don't think it's bad to also allow filter by country or state? What if you live in a tiny country like Monaco or something, haha, or a small US state. Maybe you're willing to drive a bit if you're not in a city? What's the downside or making it flexible?

I'm not quite sure how it's related... but on the prod couchers site, I noticed the "remember me" switch label doesn't render on a different line like in this branch:

Wow that was a shockingly good catch! I've removed all the changes to the Switch now. I was originally using it here, but ended up changing the design anyway so it's back to how it was before.

One more quirk I noticed - it's unexpected to me that when you got a location filter on (by typing something in the input), then adding and removing "my communities" and "online" filters would reset it. See recording:

I thiiiink I fixed this now. I believe the problem was I was clearing the search result after selecting the online only filter, but that wasn't clearing the visible search input value, so when you remove the filter it's gone but the text is still there.
For the life of me cannot find an accessible onClear function for the LocationAutocomplete component. Can't even see how that little clear x is getting there. So I just took out that invisible logic so at least what you see matches now.

I'm just wondering...
how the event location search works? its by area? (2 coordinates and then search ~50km around it?) if that's the case what happens when user types a country/state/region, would be only the center of that region? (circle area instead of a polygon)
if that's the case we should allow only filter by city... (or smaller 'nodes') I can create another ticket for this if it's needed
let me research about this and create a proper ticket... I already faced similar issues while working on the map

So if you look at EventSearchReq or you look at the backend function def EventSearch there's a few options for how search can work.
@bakeiro You can "search in rectangle", that's what I chose here. With than you give it a RectArea which is a latitude min, latitude max, longitude min and longitude max to search in. So you can calculate that by taking the exact location of the search coordinates and adding some "buffer" around them.
You can also "search in area", with that one you give a latitude, longitude and then a radius.
I don't think it's bad to also allow filter by country or state? What if you live in a tiny country like Monaco or something, haha, or a small US state. Maybe you're willing to drive a bit if you're not in a city? What's the downside or making it flexible?

The point is, I search "thailand" probably will look Bangkok and then 50Km round it, the rest of the country not, we can only solve this by using 'geometries' or polygons (or whatever are called) this polygons are available in open-street map, I was thinking about implementing then in map search (I dindn't finally)
but without that, user thinks "Oh I can search in a whole country" but we are not sending them all the results

this is what I mean, suggestion, first iteration allow only small 'nodes' (a node can be city, neighborhood, province, state, country, continent...)
later on I can create a ticket to implement polygons, I know how to do it I can give you all the info if you need it

France even shows results within the US and south Spain.. but Portugal seems works good, and Spain works "OK"... I wonder how that rectagle is calculated 🤔😅

France even shows results within the US and south Spain.. but Portugal seems works good, and Spain works "OK"... I > > wonder how that rectagle is calculated 🤔😅
I mean, it's better than don't having it? idk I can create another ticket or you can limit search nodes in this PR as you wish :)

Oooo this was a great find, I didn't have the right test data to see it!
I've fixed this now. What I did: I checked if isRegion = true. If so, I search by query using location name (i.e. "France"). If it's not a region, I use the bbox rectangle search.
I tried it for Canada, Germany, France, Portugal, Thailand, United States. All seem to be working with my test data:

@bakeiro let me know if it works for you too!


Beacon Advertising

I am attempting to transmit beacons in the background on iOS devices while in Advertisement mode and not Connected Mode.  I have a scanner that is able to pick up on various formatted beacons while they are within range.  I am able to transmit and receive ibeacons when utilizing the coreloction framework, but I am not able to detect any beacons when utilizing this project.  I do not want to establish any connections.  I strictly want to transmit ble advertisements over the three established BLE advertising channels.  Does this project allow for BLE advertising of UUID beacons while in "Advertisement Mode" and also in the background?  Does another iOS device have to be specifically looking for this beacon? If that is the case, is there a way around that so a linux machine scanning the three advertising channels would be able to detect the UUID beacon?

Crownstone said that its possible & they did it, I have also talked to ANNE VAN ROSSUM.
You can purchase the solution or else as he said the solution is in the blog, if you can figure... 👍🏼

Unfortunately it is not possible to advertise a custom BLE (or iBeacon using CoreLocation) when the app is in the background. That’s a restriction from iOS operating system most probably for protecting the user’s privacy.


Add support for conversation api

Updates to latest Dapr runtime version + support for the new Conversation API

@mikeee was working on a similar implementation at the same time using function options which I prefer, closing this in favor of the upcoming PR


Copy elision warning in ROCm 3.3 (HIP)

When compiling MIOpen on ROCm 3.3 the following warning appears:
/home/rocm-user/MIOpen/src/include/miopen/sqlite_db.hpp:252:15: warning: moving a temporary object prevents copy elision [-Wpessimizing-move]
        sql = std::move(SQLite{filename_, is_system});
              ^
/home/rocm-user/MIOpen/src/include/miopen/sqlite_db.hpp:252:15: note: remove std::move call here
        sql = std::move(SQLite{filename_, is_system});

This is addressed in #212


Added the feature to auto comment on a new issue creation

Related Issue
Fixes #714
Description
I have added auto-comment-on-issue.yml in .github/workflows directory. This file will add the feature of auto commenting when a new issue is created.
Type of PR

[ ] Bug fix
[x] Feature enhancement
[ ] Documentation update
[ ] Other (specify): _______________

Checklist:

[x] I have performed a self-review of my code
[x] I have read and followed the Contribution Guidelines.
[x] I have tested the changes thoroughly before submitting this pull request.
[x] I have provided relevant issue numbers, screenshots, and videos after making the changes.
[x] I have commented my code, particularly in hard-to-understand areas.

There have some  issue check it once .

I have checked it and I don't think there are any issues. Can you please specify what issue you faced?

Do Git pull and then commit all your code and push them. Then recreate new PR.

Do Git pull and then commit all your code and push them. Then recreate new PR.

This issue simply involves adding a file in the .github directory to add the necessary workflow. Git pull is not necessary for this issue. Could you please merge this pr and add the labels for gssoc.


OG => API list transform: Do not trust somePrototype.constructor to identify interface

Data collection needs to check thePrototype.hasOwnProperty('constructor') (via equivalent object-graph-js API).
Right now, the check for thePrototype.constructor in the Object Graph => API list transform walks the prototype chain. This is probably the wrong thing to do. We should only trust a prototype's constructor to correctly identify the interface when it is an own property.

We should only trust a prototype's constructor to correctly identify the interface when it is an own property.

What does this mean? Do you mean the fact that there can exist a Foo.constructor where new Foo() works, and a Bar that inherits from Foo that isn't constructable?

What is meant is that when we observe an object, o, in the object graph, and we should only treat it as the prototype for the Foo API when o.hasOwnProperty('constructor') && o.constructor === Foo.
function Foo() {}
Foo.prototype.bar = 'bar';
window.fooProtoExtension =Object.create(Foo.prototype, {{baz: {value: 'baz'}}});
// window.fooProtoExtension.constructor = Foo
// BUT
// Foo's API is < Foo#bar >, and not < Foo#bar, Foo#baz >


Implement Vec<String>

Is your feature request related to a problem? Please describe.
I came across this hiccup when designing my API, I think this is easy enough yet has high impact and should be implemented soon.
Describe the solution you'd like
Make wire_list_String hold a *mut *mut wire_list_uint_8 and implement the missing methods (api_fill).
Describe alternatives you've considered
I haven't tried, but a Vec<Vec<u8>> might work but not very ergonomically.
I'm a bit busy right now, so I might not make a PR right away but I will eventually come around to it.

Sounds wonderful and looking forward to the PR!
To add my two cents, maybe we can also write down a new Delegate type named ListString and manually do the things.


Make default timeout lower

From 80s to 20s (or even 15s), it is annoying to have to wait for some timeouts and in really, no test should need to take that long.

The main reason for this was that a lot of js-ipfs-api tests do take so long :Ö(

default timeout is now 5s in master


feat: vm.mineSalt cheat code

Component
Forge
Describe the feature you would like
It's common to want to deploy with vanity addresses, which can be done two ways:

Mine a private key that results in a contract with the right vanity pattern when deployed with some nonce
Mine a salt for create2 that results in a contract with the right vanity  pattern

Right now with approach 2 it's easy to mine a 4 character salt in a solidity script with a simple for loop, however you run out of gas (exceeds the u64 limit) if you try e.g. 8 characters. A cheat code for approach 1 isn't in consideration here since you'd need to fund the address mid-script and that feels clunky.
While of course you can do all the mining outside of the script, for short vanity addresses it's convenient to do this in the script, and without needing to rely on ffi or worry about the gas limit.
Proposed UX:
// Mine a salt for the given initcode hash and deployer that matches the provided
// pattern, specified as "0xXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", with the
// X's replaced by the desired pattern, (initcodeHash, deployer, pattern, caseSensitive) => (salt, contractAddress)
function mineSalt(bytes32 initcodeHash, address deployer, string calldata pattern, bool exact) external returns (bytes32 salt, address contractAddress)

Above, the user provides:

The standard initcode hash and deployer address used for create2 address computation
The pattern to match, using the syntax that profanity's --matching flag uses
A boolean to indicate if the match must be exact (case-sensitive)

And it returns the computed salt and the resulting address.
Additional context
No response

I would like to work on this one please.
Just a question, what would this command add from cast wallet vanity ?

Right now cast wallet vanity is for vanity EOAs, or for contracts deployed with CREATE (contracts created with CREATE are a function of deployer address and nonce). cast currently has no create2 helper, but it should (contracts created with CREATE2 are a function of the contract bytecode, deployer address, and a salt).
So this issue is separate from cast and would allow for mining the salt create2 contracts directly in a forge script file. I've personally wanted this for a little while, and have seen others request something similar in the foundry telegram.
To your point, we could add this directly to cast and then use ffi to access in a script, but personally I prefer a dedicated cheatcode (and eventually cast support also) because ffi can be dangerous since it executes arbitrary commands.
@onbjerg @mattsse let me know if you have any thoughts/objections here 🙂

I see your point, and didn't knew that cast wallet vanity was computing the contract address with CREATE.
Maybe we could add a cast wallet vanity2 or something, and then make the mineSalt cheatcode to avoid using ffi which is totally understandable, what do you think ?
Also, if we add the mineSalt cheatcode, maybe it should also be done for vanity with CREATE (not 2).

I think cast wallet vanity --create2 <initcodeHash> <deployer> <pattern> <exact>, and prints the salt and resulting contract address, could be a good syntax. That way it matches the cheat code, and both can use the same underlying rust method.

Just curious as to why you prefer a wrapper method that uses ffi? IMO a cheatcode is preferable for common actions like this to avoid introducing the security risks of ffi.
Assuming the wrapper method would be part of forge-std, I believe it would also be the first method in forge-std that uses ffi which i dont love for the same reason.

What about adding a feature to manually choose which directory has the right to run ffi to mitigate security issues ?

@onbjerg any idea of how to generate random U256 numbers ? It's currently generating u64 numbers. Or should I generate 4 numbers and add them ?

I have a slight preference of this being implemented in cast and then writing a simple solidity library that wraps cast with ffi instead of adding an additional cheatcode here

+1, that's the most straightforward solution

+1, that's the most straightforward solution

Happy to concede and go with that approach, but do want to understand why it's preferable given https://github.com/foundry-rs/foundry/issues/2359#issuecomment-1194767655 😅
Both the cast command and cheatcode should be able to use the same underlying method + not needing ffi seems like a big positive IMO

Another idea here if people don't like the idea of a vm.mineSalt cheatcode is vm.stopMeteringGas() and vm.resumeMeteringGas()` cheatcodes. That way you can then do gas-intensive things like mine a salt in solidity without burning through the gas limit. This would still be slower to execute than a cheatcode due to the added EVM overhead, but is another option to consider (not sure what other use cases there would be for these cheatcodes)

IMO a cheatcode is preferable for common actions like this to avoid introducing the security risks of ffi.

Strongly agree here! Would be nice to avoid having to ffi unless absolutely needed. Is there a lot of overhead involved with adding as a cheatcode if the code is already there for cast?

Another idea here if people don't like the idea of a vm.mineSalt cheatcode is vm.stopMeteringGas() and vm.resumeMeteringGas() cheatcodes

I really like this idea and I think it would be a valuable addition to Foundry for scripting. There are plenty of use cases where "slower execution, but we can keep our dev environment simple and all in Solidity" is a good tradeoff.
I will say that mining salts is an extremely common use case, so a rust-based cheat code specifically for it would be nice, as would a cast command. But I think the ability to stop/start gas metering is broadly useful as well. I guess what I'm saying is, I want both 😅

@mds1 It is a lot more complex to do vm.stopMeteringGas/vm.resumeMeteringGas especially since code inside those blocks may still affect state that affects overall gas consumption (sload/sstore etc.)

People are already doing this wiht FFI at this point FWIW e.g. https://github.com/antoncoding/grappa/blob/master/script/Deploy.sol#L70-L98
Let's do a cheatcode, the gas metering stuff seems like a big pain.

@mattsse Mind reopening this? We now have create2 support in cast, but don't actually have a forge cheatcode yet

Just curious as to why you prefer a wrapper method that uses ffi? IMO a
cheatcode is preferable for common actions like this to avoid introducing
the security risks of ffi.
Assuming the wrapper method would be part of forge-std, I believe it would
also be the first method in forge-std that uses ffi which i dont love for
the same reason.
On Mon, Jul 25, 2022 at 9:16 AM Mark Tyneway @.***>
wrote:

I have a slight preference of this being implemented in cast and then
writing a simple solidity library that wraps cast with ffi instead of
adding an additional cheatcode here
—
Reply to this email directly, view it on GitHub
https://github.com/foundry-rs/foundry/issues/2359#issuecomment-1194305284,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEC6NVFMZSUWY5TMCJDJVBTVV24V5ANCNFSM532UEIXQ
.
You are receiving this because you authored the thread.Message ID:
@.***>

I think cast wallet vanity --create2 <initcodeHash> <deployer> <pattern> <case-sensitive>, and prints the salt and resulting contract address, could be a good syntax. That way it matches the cheat code, and both can use the same underlying rust method.

This

Another script to mine salts by calling cast create2 over ffi: https://github.com/karmacoma-eth/foundry-playground/blob/main/script/MineSaltScript.sol
It feels a little odd to call cast over ffi and to parse the string output, I would much rather use a cheatcode

Another script to mine salts by calling cast create2 over ffi: https://github.com/karmacoma-eth/foundry-playground/blob/main/script/MineSaltScript.sol
It feels a little odd to call cast over ffi and to parse the string output, I would much rather use a cheatcode

When I wanted to implement the cheatcode, I was limited by a circular dependency issue. Can eventually give it another go.

Since the ticket was raised most developers use https://github.com/0age/create2crunch for finding efficient salts, often hiring a GPU cluster in the cloud. Having this be part of the running the script flow as a cheatcode seems a bit redundant to me.

Since the ticket was raised most developers use https://github.com/0age/create2crunch for finding efficient salts, often hiring a GPU cluster in the cloud. Having this be part of the running the script flow as a cheatcode seems a bit redundant to me.

using create2crunch is much more involved though. It's great when you want to mine 14 zeroes for Seaport, but sometimes all you need is a cute selector with a given prefix. Having a convenient option to do that locally is nice without having to go rent a GPU

I see - that makes sense, I was only considering the leading 0 case

When I wanted to implement the cheatcode, I was limited by a circular dependency issue. Can eventually give it another go.

Hi @iFrostizz, would you be interested in picking this ticket back up?

Hi @zerosnacks , I am not anymore, will unassign me ! Not sure about your philosophy around cheatcode, imo they should be used sparingly, only when working around it is not possible. ffi would have worked here, and it seems that mineSalt is not something that many people use. For instance, if you want to mine a lot of zeros, then I would definitely mine it out of the script. You don't want to let it compute for hours just to have a network issue at the end while not logging the private key.

Closing given the niche use case and the already available ffi options. I don't think separate cheatcode(s) + potential forge-std integration is worth it, or even preferable.