feat: add coroutine support via ENABLE_CORO cmake flag

This PR adds support for D++ asynchronous coroutines.
For this to work you must:

Use a C++20 supporting compiler (g++11 onwards etc)
build and install D++ with the DPP_CORO cmake flag
build cpp-sdk with the ENABLE_CORO flag

Building with this flag will reveal new functions in the SDK client. Each of the functions such as get_user will have a coroutine equivalent starting with co_ (this is the naming convention of D++, copied from C++ standards). The coroutine equivalent will have no callback parameter and can be awaited.
So, the basic example would become instead:
#include <topgg/topgg.h>
#include <dpp/dpp.h>
#include <iostream>

int main() {
  dpp::cluster bot{"your bot token"};
  topgg::client topgg_client{&bot, "your top.gg token"};

  const auto result = co_await topgg_client.co_get_bot(264811613708746752);
  try {
    const auto topgg_bot = result.get();
    std::cout << topgg_bot.username << std::endl;
  } catch (const std::exception& ext) {
    std::cout << "error: " << ext.what() << std::endl;
  }

  return 0;
}

This is nicer, as it avoids callback hell, and program flow reads in a nicer way. This is of course completely optional and if you don't want to use coroutines, or if you can't, the existing API calls will work exactly as before.

Thank you sooo much for this! I am not familiar with C++ coroutines hahahaha so this pull request is a huge blessing! :heart:


Fix processing of copts based -I setting

Some projects set simulate a local_includes via copts, which is like includes, but is only set for the single target, and doesn't propagate to dependent targets.
We need to special case this, as the bazel-out/ and external/ in the the copts might not resolve to the correct path from within Xcode. Thus we look for those magic prefixes (ew) and translate them to FilePaths.
Since this introduces the concept of local quote headers and includes, I also adjusted _process_search_paths() to only propagate search paths for public headers (hdrs), and not if the target only uses headers in srcs/non_arc_srcs. This makes Xcode behave more like sandboxed Bazel.
Finally, I added an external repo example to //examples/cc, to help expose these issues better in the future.

I'll also add starlark tests for the new opts processing soon.


Pass props down to Home component & Refine types

Fix: pass props down to Home component
Refactor: change staticContext.status to staticContext.statusCode
Refactor: refine types

Coverage remained the same at 100.0% when pulling abf85e9a721ff4dea338b284e6a205b889b985fa on feature/code-refactor into 4c95e2a3b9976731853ac6f46369d4be4e99fbd1 on master.


Investigate compatibility with Rancher Desktop

As an alternative to Docker Desktop on Windows and MacOS.

See https://issues.liferay.com/browse/LXC-169


[Feature Request] Taking action from another account

I have two accounts, and sometimes I encounter a post from one account that I would like to reply to / boost / bookmark from the other account. Currently, the workflow for that looks like this: copy the link > change the account > search > take action > change the account back. I lose my position in the Home timeline in the process. Is it possible to implement an option to open a post from another account to do the action, and then get back to where I was when I close the post?

@onnyyonn question, curious to know if you're performing these steps on mobile or desktop? Thanks.

I use Phanpy on mobile most of the time.

Came here to propose this same feature. It would particularly useful when the alt account is on a smaller instance with a smaller view of the fediverse.

Same here, would love to like/boost/comment from another account. That could be in a menu (two/three clicks more) or through a "default interaction account" (not that flexible) or an "active interaction account" (sengi does this well)

UI ideas:
📱 On mobile I’d suggest that a long touch on the like/boost/comment/bookmark button would trigger a choice of instance from which to perform that action (or skip it and just perform it from the other instance if one have only two). This is how it is done in Fedilab and I like it a lot.
🖥 On desktop With a mouse I’d suggest something similar with hover or a long click (maybe both, and let the user choose what they prefer?). With a keyboard maybe shift+l/f. shift+r and shift+b are already taken.

For UI ideas, my recommendation would be checking out what Moshidon does. It has a "open with other accounts" option, which is simple and effective.

I’d love to help testing this feature when it’s ready for testing 🙂


etcd cluster is unavailable or misconfigured

Hi,
I am following directions to the dot, yet after launching the cluster and connecting to any of the machines I get the following message:
sudo etcdctl ls --recursive
Error:  client: etcd cluster is unavailable or misconfigured
error #0: dial tcp <IP_ADDRESS>:2379: getsockopt: connection refused
error #1: dial tcp <IP_ADDRESS>:4001: getsockopt: connection refused

Did anything change in terms of config parameters since the readme has been updated?
Thanks.

What I see in the journal is:
Nov 20 01:49:24 localhost systemd-udevd[182]: RUN{builtin}: 'uaccess' unknown /usr/lib64/udev/rules.d/73-seat-late.rules:15

What is curious is that the current time on the machine is:
 date
Fri Nov 20 00:45:39 UTC 2015

If I tail the journal I see the following:
Nov 20 00:45:10 coreos-1 systemd[1]: Started Generate /run/coreos/motd.
Nov 20 00:46:04 coreos-1 fleetd[721]: ERROR event.go:106: etcd watcher /_coreos.com/fleet/job returned error: client: response is invalid json. The endpoint is probably not valid etcd cluster endpoint.
Nov 20 00:46:06 coreos-1 fleetd[721]: ERROR event.go:106: etcd watcher /_coreos.com/fleet/job returned error: client: response is invalid json. The endpoint is probably not valid etcd cluster endpoint.


Incomplete SP800-56Arev3 <IP_ADDRESS>.3 Owner Assurance of Public-Key Validity

It checks the public key of the peer already in EVP_PKEY_derive_set_peer_ex(). The assurance of the public key on the local side does not always need to be checked, depending on if the key is trusted or not.

EVP_PKEY_derive_set_peer_ex() symbol is present inside fips.so and inside libcrypto.so. During initialisation of the fips provider (and kas / selftests) the symbol from fips.so is used. However, during normal operation the symbol from libcrypto.so is used; which may or may not choose to validate peer.
To demonstrate this I did two builds:

openssl with one file prefix map ("-g -ffile-prefix-map=/home/build=/usr/src/openssl")
fips provider with another file prefix map ("-g -ffile-prefix-map=/home/build=/usr/src/openssl-provider-fips")
such that debug symbols & source filepaths are distinct
patch the openssl build's EVP_PKEY_derive_set_peer_ex() to set validate_peer_peer=0 such that validation is never done
build and install both builds (libcrypto from openssl build; fips.so from the provider build)
observe that kas is being executed with fips.so's EVP_PKEY_derive_set_peer_ex() and it performs peer validation during startup tests
observe that during normal operation the openssl's EVP_PKEY_derive_set_peer_ex() is used which has been patched to not perform peer validation, and FIPS module successfully completes ecdh operation without establishing owner assurance of public-key validity.
the ecdh operation in question is the demos/keyexch/ecdh app

Observe that self_kas breaks at breakpoint 1.2
(gdb) run
Starting program: /usr/src/openssl/demos/keyexch/ecdh
warning: Error disabling address space randomization: Operation not permitted
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/libthread_db.so.1".

Breakpoint 1.1, EVP_PKEY_derive_set_peer_ex (ctx=0x559d22b07c50, peer=0x559d22b0c530, validate_peer=1) at crypto/evp/exchange.c:378
378	{
(gdb) bt
#0  EVP_PKEY_derive_set_peer_ex (ctx=0x559d22b07c50, peer=0x559d22b0c530, validate_peer=1) at crypto/evp/exchange.c:378
#1  0x00007f6a11bd3fd1 in self_test_ka (t=t@entry=0x7f6a11ddde60 <st_kat_kas_tests>, st=st@entry=0x559d22aeae30, libctx=libctx@entry=0x559d22ae9e70)
    at providers/fips/self_test_kats.c:425
#2  0x00007f6a11bd478e in self_test_kas (st=0x559d22aeae30, libctx=0x559d22ae9e70) at providers/fips/self_test_kats.c:619
#3  SELF_TEST_kats (st=st@entry=0x559d22aeae30, libctx=0x559d22ae9e70) at providers/fips/self_test_kats.c:808
#4  0x00007f6a11bd22a7 in SELF_TEST_post (st=st@entry=0x559d22aea888, on_demand_test=on_demand_test@entry=0) at providers/fips/self_test.c:373
#5  0x00007f6a11bd1249 in OSSL_provider_init_int (handle=0x559d22ae5450, in=<optimized out>, out=0x7ffc0d4ebc28, provctx=<optimized out>)
    at providers/fips/fipsprov.c:822
#6  0x00007f6a121f53c2 in provider_init (prov=0x559d22ae5450) at crypto/provider_core.c:968
#7  provider_activate (prov=prov@entry=0x559d22ae5450, lock=0, lock@entry=1, upcalls=1) at crypto/provider_core.c:1177
#8  0x00007f6a121f6539 in ossl_provider_activate (prov=0x559d22ae5450, upcalls=<optimized out>, aschild=<optimized out>) at crypto/provider_core.c:1314
#9  0x00007f6a121f4835 in provider_conf_activate (libctx=0x7f6a125159c0 <default_context_int>, name=<optimized out>, value=0x559d22ae6c00 "fips_sect",
    path=0x0, soft=0, cnf=<optimized out>) at crypto/provider_conf.c:243
#10 provider_conf_load (libctx=0x7f6a125159c0 <default_context_int>, name=<optimized out>, value=0x559d22ae6c00 "fips_sect", cnf=0x559d22ae4ce0)
    at crypto/provider_conf.c:362
#11 provider_conf_init (md=<optimized out>, cnf=0x559d22ae4ce0) at crypto/provider_conf.c:418
#12 0x00007f6a12138a66 in module_init (pmod=0x559d22ae72b0, name=0x559d22ae68e0 "providers", value=0x559d22ae6930 "provider_sect", cnf=<optimized out>)
    at crypto/conf/conf_mod.c:453
#13 module_run (cnf=<optimized out>, name=0x559d22ae68e0 "providers", value=<optimized out>, flags=<optimized out>) at crypto/conf/conf_mod.c:284
#14 CONF_modules_load (cnf=cnf@entry=0x559d22ae4ce0, appname=appname@entry=0x0, flags=32, flags@entry=50) at crypto/conf/conf_mod.c:176
#15 0x00007f6a121393a3 in CONF_modules_load_file_ex (libctx=0x7f6a125159c0 <default_context_int>, filename=filename@entry=0x0, appname=appname@entry=0x0,
    flags=flags@entry=50) at crypto/conf/conf_mod.c:225
#16 0x00007f6a12139681 in ossl_config_int (settings=settings@entry=0x0) at crypto/conf/conf_sap.c:70
#17 0x00007f6a121e4aaf in ossl_init_config () at crypto/init.c:258
#18 ossl_init_config_ossl_ () at crypto/init.c:256
#19 0x00007f6a11e8fddb in __pthread_once_slow.isra.0 () from /lib/libc.so.6
#20 0x00007f6a11e8fe49 in<EMAIL_ADDRESS>() from /lib/libc.so.6
#21 0x00007f6a121f933d in CRYPTO_THREAD_run_once (once=once@entry=0x7f6a12515de0 <config>, init=init@entry=0x7f6a121e4aa0 <ossl_init_config_ossl_>)
    at crypto/threads_pthread.c:815
#22 0x00007f6a121e52ce in OPENSSL_init_crypto (opts=opts@entry=64, settings=settings@entry=0x0) at crypto/init.c:601
#23 0x00007f6a1218de3e in ossl_engine_table_select (table=table@entry=0x7f6a12515798 <pkey_meth_table>, nid=nid@entry=408,
    f=f@entry=0x7f6a123c15ac "crypto/engine/tb_pkmeth.c", l=l@entry=70) at crypto/engine/eng_table.c:209
#24 0x00007f6a1218f0be in ENGINE_get_pkey_meth_engine (nid=nid@entry=408) at crypto/engine/tb_pkmeth.c:69
#25 0x00007f6a121cc5eb in int_ctx_new (libctx=libctx@entry=0x0, pkey=pkey@entry=0x0, e=e@entry=0x0, keytype=0x7f6a123c104f "id-ecPublicKey",
    keytype@entry=0x559cf6e64026 "EC", propquery=propquery@entry=0x0, id=<optimized out>, id@entry=-1) at crypto/evp/pmeth_lib.c:223
#26 0x00007f6a121cc9d9 in EVP_PKEY_CTX_new_from_name (libctx=libctx@entry=0x0, name=name@entry=0x559cf6e64026 "EC", propquery=propquery@entry=0x0)
    at crypto/evp/pmeth_lib.c:345
#27 0x0000559cf6e6383b in create_peer (peer=peer@entry=0x7ffc0d4ec3c0, libctx=0x0) at ecdh.c:81
#28 0x0000559cf6e633c9 in main () at ecdh.c:189

And that ecdh.c demo app instead uses the same symbol outside of the fips boundary.
First break on generate_secret, to skip past self-checks that do validate peer.
Upon reaching generate_secret, break on EVP_PKEY_derive_set_peer_ex to
observe which symbol will be used then.
# gdb ./ecdh
(gdb) break generate_secret
Breakpoint 1 at 0x15f0: file ecdh.c, line 105.
(gdb) run
Starting program: /usr/src/openssl/demos/keyexch/ecdh
warning: Error disabling address space randomization: Operation not permitted
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/libthread_db.so.1".

Breakpoint 1, generate_secret (peerA=peerA@entry=0x7ffffa54f660, peerBpub=0x561b502a2fa0, libctx=0x0) at ecdh.c:105
105	static int generate_secret(PEER_DATA *peerA, EVP_PKEY *peerBpub,

(gdb) break EVP_PKEY_derive_set_peer_ex
Breakpoint 2 at 0x7f017f1c06b0: EVP_PKEY_derive_set_peer_ex. (2 locations)
(gdb) continue
Continuing.

Breakpoint 2.2, EVP_PKEY_derive_set_peer_ex (ctx=ctx@entry=0x561b502937c0, peer=peer@entry=0x561b502a2fa0, validate_peer=validate_peer@entry=1)
    at crypto/evp/exchange.c:378
378	{
(gdb) l
373	#endif
374	}
375
376	int EVP_PKEY_derive_set_peer_ex(EVP_PKEY_CTX *ctx, EVP_PKEY *peer,
377	                                int validate_peer)
378	{
379	    int ret = 0, check;
380	    void *provkey = NULL;
381	    EVP_PKEY_CTX *check_ctx = NULL;
382	    EVP_KEYMGMT *tmp_keymgmt = NULL, *tmp_keymgmt_tofree = NULL;
(gdb) l
383
384	    validate_peer=0;
385
386	    if (ctx == NULL) {
387	        ERR_raise(ERR_LIB_EVP, ERR_R_PASSED_NULL_PARAMETER);
388	        return -1;
389	    }
390
391	    if (!EVP_PKEY_CTX_IS_DERIVE_OP(ctx) || ctx->op.kex.algctx == NULL)
392	        goto legacy;
(gdb) continue
Continuing.
Shared secret (peer 1):
  0000 - f3 94 60 60 fa 2c 81 b6-af 39 0a 48 e4 ca a1 74   ..``.,...9.H...t
  0010 - d0 9e 6a ca b1 3b 0e 6c-01 d0 eb 23 32 75 6a 6a   ..j..;.l...#2ujj

Breakpoint 1, generate_secret (peerA=peerA@entry=0x7ffffa54f690, peerBpub=0x561b502a2030, libctx=0x0) at ecdh.c:105
105	static int generate_secret(PEER_DATA *peerA, EVP_PKEY *peerBpub,
(gdb) continue
Continuing.

Breakpoint 2.2, EVP_PKEY_derive_set_peer_ex (ctx=ctx@entry=0x561b50264b10, peer=peer@entry=0x561b502a2030, validate_peer=validate_peer@entry=1)
    at crypto/evp/exchange.c:378
378	{
(gdb) l
373	#endif
374	}
375
376	int EVP_PKEY_derive_set_peer_ex(EVP_PKEY_CTX *ctx, EVP_PKEY *peer,
377	                                int validate_peer)
378	{
379	    int ret = 0, check;
380	    void *provkey = NULL;
381	    EVP_PKEY_CTX *check_ctx = NULL;
382	    EVP_KEYMGMT *tmp_keymgmt = NULL, *tmp_keymgmt_tofree = NULL;
(gdb) l
383
384	    validate_peer=0;
385
386	    if (ctx == NULL) {
387	        ERR_raise(ERR_LIB_EVP, ERR_R_PASSED_NULL_PARAMETER);
388	        return -1;
389	    }
390
391	    if (!EVP_PKEY_CTX_IS_DERIVE_OP(ctx) || ctx->op.kex.algctx == NULL)
392	        goto legacy;

Note that listing source code shows the line 384 validate_peer=0 which was injected outside of the boundary, in the openssl build alone.
Separately, even if EVP_PKEY_derive_set_peer_ex is always correctly executed via provider, it still allows user to skip validation and conditions when trust should be restablished as per SP800-56Arev3 <IP_ADDRESS>.3.
I was hoping something akin to ctx->verify_message = 1 for signature context; but inside the ecdh context for FIPS module to track if peer was validated or not (i.e. ctx->validate_peer = 1), and then appropriately recheck peer internally if it was not yet verified prior to performing a key-establishment transaction. Just like similar state tracking is done for OSSL_SIGNATURE_PARAM_FIPS_VERIFY_MESSAGE.
Other designs are possible too, for example other modules seem to simply always perform such a check, in fips module's
ecdh_plain_derive() as previously proposed in an iteration of https://github.com/openssl/openssl/pull/25863 at
https://github.com/openssl/openssl/commit/ba841c35eefd80b74b8cb7ddb0cb88a3328e8e8e#diff-3907f2b4a787af5610ebedf7c8d68e7e8a492dbc401ba7d924e383819d8f08da
Lab asked to prove that owner assurance is established, and I'm only able to prove otherwise - and there is no other indicator to stating if peer was or was not validated within fips boundary.

@slontis see above that shows that key checks are performed outside of FIPS boundary; and key exchange is successful even when no checks were performed.

Where it is written that the check must be done as part of the key exchange? Of course using  EVP_PKEY_derive_set_peer_ex() with validate_peer being set to 0 would not be FIPS compliant however I do not see why this must be enforced by the FIPS provider.

Where it is written that the check must be done as part of the key exchange? Of course using  EVP_PKEY_derive_set_peer_ex() with validate_peer being set to 0 would not be FIPS compliant however I do not see why this must be enforced by the FIPS provider.

The module must ensure validity prior to performing key exchange - see the issue linked.
If the boundary is set on FIPS.so code inside FIPS.so should ensure the check has happened. Currently libcrypto.so is treated as outside the boundary, modying that is just an example to prove that FIPS.so doesn't currently ensure validity.
If the boundary is set on libcrypto+FIPS.so things are fine, but still FIPS.so needs to notice if _ex() was called with verify 0; and block key exchange. This is currently neither tracked, nor blocked.

BTW AFAIK for all relevant algorithms dh/ecx/ec we already do the partial check as part of creating the PKEY, don't we?

Yes, and I do see two instances where public key is derived from private one and compared. I wonder if some of these are redundant.
But, it does not appear to be done by code inside FIPS.so; or tracked that it has happened; nor blocked if it didn't happen.


Move EC2 instance to a VPC

Towards #62:

[ ] create VPC-based RDS instance
[ ] shut down Apache on the live EC2 instance
[ ] dump live RDS and load it into VPC-based RDS instance
[ ] create an AMI based on the live EC2 instance
[ ] make sure EC2 and RDS instances are in the same security group
[ ] launch that AMI into the VPC
[ ] reassign the live Elastic IP to the VPC-based EC2 instance
[ ] delete old EC2 instance

I think there's an easier way: enabling ClassicLink. That will allow this to be done in stages. But the catch is that linking the EC2 instance to the VPC isn't working. The option is grayed out in the EC2 config. The only apparently prerequisites are that the EC2 be running under Classic (it is), that the account also support VPC (it does), and that the two be running in the same region (they are). I tried using the AWS CLI, but setting that up became rage-inducing, and I had to stop.

Hey, funny story...it turns out that EC2 was already running in a VPC. AWS' instructions for how to tell if it's running in a VPC or not are wrong. Lesson learned.


nixos/tests/grafana/provision: fix test

Description of changes
Not sure why the tmpfile rule fails now, but I wanted to ensure that there's no breaking change that might bite us, so I quick-fixed it.

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[x] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

This doesn't seem to have been ported to current stable? Build is currently failing there, and I suspect this is why.


Set Fritzbox port

Hi, thanks for your Plugin.
Can you tell me what I set to get the images from my fritzbox?
Which port I must set? I use four cameras in four folders.
Like:
CAMS/Garten
CAMS/Haustuer
CAMS/Eingang
CAMS/Terrasse
Or can you include a option so set the ip and the folder name in fields?
Think we need also login check
See image about login data.

I do plan to add authentication, in its current state it is a VERY quick and dirty solution. The FTP port can be any value you want, as long as you configure it the same as whatever is uploading to this.
I’m not sure what you mean by being allowed to set the IP. The IP would be that of whatever device it is installed on.

My camera has the ip 48.
My Fritzbox the 01.
My Pi the 126.
The plugin tries to get the pictures from the PI.  Or am I wrong?  I cannot get access without specifying the user and password.
And I would have to tell the plugin on which device and folder the pictures are on the network.

The way I was writing the plugin, it would basically act as a proxy for the FTP traffic. Your cameras would upload the images to the server created by this.
I haven’t yet written the functionality to then either upload the images to another FTP server or save them locally, but that is my next step.

I tried to save the pictures on the pi using the camera setup.  Unfortunately does not work.  I would be dependent on the functionality of uploading to another server.  The plugin would only help me in this way.  Thanks for your work.

I plan to add that this week.
Currently the FTP server exposed by the plugin just triggers the motion alert and discards the image.

I am following it very curiously and am looking forward to this solution / extension.

FTP upload support has been added to this plugin. The information on configuration is on the main page.

Config like this:
{
            "cameras": [
                {
                    "name": "Haustür",
                    "path": "CAMS/Haustuer",
                    "server": "<IP_ADDRESS>",
                    "port": "21",
                    "username": "fromfritzlogin",
                    "password": "loginpasswort",
                    "tls": false
                },
                {
                    "name": "Eingang2"
                }
            ],
            "name": "FTP Motion",
            "ftp_port": 5000,
            "http_port": 8080,
            "platform": "ftpMotion"
        }
    ]

Looks good, as long as you configure your camera properly to upload to the server exposed by this plugin.

I can't set the
Server Address: PI of running pi (<IP_ADDRESS>)
Server Port: (21)
on my Camera FTP setting.
I get error to login:
Test......Failed.Can not connect to the server
😬

According to your config, the server is running on port 5000, not port 21.

Even if I take port 5000 the error comes.

Cam can't connection sftp://    ??

I’m sorry I’m not sure I understand your question.

I mean that the camera can't save Pictures to raspberry pi as server. After set the options in camera I get an error.
I have contact you also by email. 😉

So the issue seemed to be some minor configuration errors as well as the ü in your camera name, which seems to be a limitation of FTP.
Best way I can “fix” this is probably just some improved documentation.


Paginate projects on the user's dashboard

we currently show all projects, but we should paginate
Current display

Desired display
The project list shows 8 project cards at a time and is split into different pages that can be navigated using pagination at the bottom of the table.

Acceptance criteria

[ ] If this change touches any of the files referenced in .rubocop_todo.yml create a new ticket to address the rubocop  todo.
[ ] I can successfully use this feature with Voice Over in Safari.
[ ] I have checked this feature using one of the following browser extensions and confirmed that it does not add any level A or level AA issues:

axe dev tools
Lighthouse
Wave

[ ] Utilize datatables to paginate the results in the users dashboard.   Showing 8 items per page

Notes

Hey team! Please add your planning poker estimate with Zenhub @hectorcorrea @JaymeeH @leefaisonr


eslint-loader doesn't check if additional .eslintrc exists

eslint gives ability to overrides rules for specific folders, for example:
- app/
- app/index.js
- app/.eslintrc // (a) Overrides rules from (b)
- index.js
- .eslintrc // (b)

In my project when I use eslint by eslint-cli I don't get any errors but when I develop and use webpack + eslint-loader, then I get errors.
ERROR in ./src/components/Icons/IconSearch.js

/a/b/c/e/f/g/h/src/components/Icons/IconSearch.js
  8:1  error  Line 8 exceeds the maximum line length of 100  max-len

✖ 1 problem (1 error, 0 warnings)

 @ ./src/views/home/index.js 13:0-61
 @ ./src/app/routes.js
 @ ./src/app/index.js
 @ ./src/index.js
 @ multi app

I don't want append
/* eslint-disable max-len */

in each file that contains SVG because I have a lot of icons...
Is there any way to instrument this loader to check if additional .eslintrc files exists?

eslint-loader doesn't load the eslintrc files - it uses an instance of eslint.CLIEngine which the eslint-cli also uses and that should resolve the correct rules for each file itself. I've just tried nested .eslintrc files and it seemed to be working correctly for me.
Do you have the eslint-loader cache option enabled? If so then you may be experiencing the problem described in #124 where if you change the eslint rules the previously cached results are still being output. Try setting cache to false and if that fixes the issue you can delete node_modules/.cache/eslint-loader to reset the cache properly.

Do you have the eslint-loader cache option enabled?

Yes. If I disable cache, it doesn't change anything.
I'm using webpack 2.1.0-beta.27 with this configuration:
{
    module: {
      loaders: [
        {
          enforce: 'pre',
          test: /\.js$/,
          loader: 'eslint-loader',
          exclude: /node_modules/,
        },
      ],
    },
    plugins: [
      new webpack.LoaderOptionsPlugin({
        test: /\.js$/,
        options: {
          eslint: {
            configFile: utils.root('.eslintrc'), // this is my helper for resolving paths
            cache: false,
          }
        },
      }),
    ],
  }

I'm using also eslint-config-airbnb but this probably is not related. I will try reproduce this issue and create an example repository that shows this bug.

@wrakky https://github.com/hinok/webpack2-eslint-loader
npm install

# Run eslint by eslint-cli
npm run lint

# Run webpack2 + eslint-loader
npm start

Repository contains demo.gif added in README.md that shows recorded behaviour.
Look at additional .eslintrc inside subfolder.

If you use the -c option in the npm run lint command (eslint . --ext .js -c .eslintrc) which is the equivalent to the eslint-loader configFile option you get the same output from both eslint cli and weback.
The file passed to theconfigFile option is not extendable which is why you are having the problem. You probably want to either remove the option if possible or maybe the baseConfig option will work for you instead.
Either way this isn't an eslint-loader issue. Hope that helps!

Yep, that's it. Sorry for the confussion! When I found yesterday that removing configFile solved the problem, I was pretty sure that let's say it's the eslint's fault not eslint-loader - if we could name it as a fault.
I close this issue and maybe it's worth to update README? I could add PR if you want.

PR welcome!

Added PR https://github.com/MoOx/eslint-loader/pull/130

I am having a similar problem, can you post your actual config files which resolved your issue?
configs:

webpack
package.json

The problem can be fixed by adding the option configFile
{
  test: /\.(js|vue)$/,
  loader: 'eslint-loader',
  enforce: 'pre',
  include: [resolve('src'), resolve('test')],
  options: {
    formatter: require('eslint-friendly-formatter'),
    emitWarning: !config.dev.showEslintErrorsInOverlay,
    configFile: '.eslintrc.js'
}

@dualeoo: I still got a same issue with latest eslint-loader and eslint, even when configFile is there

@midori0507 sr but

which issue are you referring to?
which version of eslint-loader and eslint you are using?
can you give me your config file?

@dualeoo:
Issues: Eslint-loader didn't show any error when build, but when you run node_modules/.bin/eslint  it show multiple lint errors, Eslint-loader does work, just not 100%.
Version<EMAIL_ADDRESS>eslint 5.14.0
Config:
module: {
    rules: [
      {
        enforce: "pre",
        test: /\.js$/,
        exclude: /node_modules/,
        options: {
           babelPath: require.resolve('eslint'),
           configFile: path.resolve(__dirname, '../.eslintrc'),
        },
        loader: "eslint-loader"
      },
      {
        test: /\.js$/,
        exclude: /node_modules/,
        loader: "babel-loader"
      }
    ]
  }
  // ...

.eslintrc
{
"extends": "airbnb",
"env": {
"browser": true,
"mocha": true,
"node": true
},
"globals": {
"SETTINGS": true
},
"parser": "babel-eslint",
"plugins": [
"import",
"react"
],
"settings": {
"import/resolver": {
"webpack": {
"config": "./config/webpack.common.js"
}
}
},
"rules": {
"class-methods-use-this": "off",
"import/no-extraneous-dependencies": "off",
"import/order": [
"error",
{
"groups": [
"builtin",
"external",
[
"internal",
"parent",
"sibling",
"index"
]
],
"newlines-between": "always"
}
],
"import/prefer-default-export": "off",
"new-cap": [
"error",
{
"capIsNew": false,
"newIsCap": true
}
],
"no-underscore-dangle": [
"error",
{
"allow": [
"_paq"
]
}
],
"no-unused-expressions": "off",
"no-use-before-define": [
"error",
"nofunc"
],
"react/forbid-prop-types": "off",
"react/jsx-filename-extension": "off",
"react/jsx-sort-props": [
"error",
{
"ignoreCase": true
}
],
"react/no-string-refs": "off",
"react/no-unused-prop-types": [
"error",
{
"skipShapeProps": true
}
],
"react/prefer-stateless-function": "off",
"linebreak-style": 0,
"no-restricted-globals": [
"error",
"history"
],
"prefer-destructuring": "off",
"react/destructuring-assignment": "off",
"react/require-default-props": "off",
"jsx-a11y/click-events-have-key-events": "off",
"jsx-a11y/anchor-is-valid": "off",
"jsx-a11y/label-has-for": "off",
"react/no-array-index-key": "off"
}
}

@midori0507 maybe webpack doesn't include files with error in the build. Is it realy used in code?

In my case the issue was fixed by changing from the old webpack.module.rules.Rule.query key to webpack.module.rules.Rule.options.


Fixed accounts signup form.

Currently internal server error: https://djangonaut.space/accounts/signup/

@sarahboyce I confirmed that we're still running python 3.9 on the production server. The dependencies need to match that.


Cannot create Pandas Dataframe from Julia Dataframe

Affects: JuliaCall
Describe the bug
I get the error JuliaError: MethodError: no method matching iterate(::Symbol) which also happens when just iterating over the pairs iterator from python. Here the example from Python:
from juliacall import Main as jl
import pandas as pd

jl.eval("""
df = DataFrame(grp=repeat(1:2, 3), x=6:-1:1, y=4:9, z=[3:7; missing], id='a':'f')
""")
pd.DataFrame(jl.pairs(jl.eachcol(jl.df)))

raises
---------------------------------------------------------------------------
JuliaError                                Traceback (most recent call last)
Cell In[78], line 1
----> 1 pd.DataFrame(jl.pairs(jl.eachcol(jl.df2)))

File [~/Projects/Jolin.io/workshop-accelerate-Python-with-Julia/.venv/lib/python3.10/site-packages/pandas/core/frame.py:781](https://file+.vscode-resource.vscode-cdn.net/home/ssahm/Projects/fall-in-love-with-julia/~/Projects/Jolin.io/workshop-accelerate-Python-with-Julia/.venv/lib/python3.10/site-packages/pandas/core/frame.py:781), in DataFrame.__init__(self, data, index, columns, dtype, copy)
    779     if columns is not None:
    780         columns = ensure_index(columns)
--> 781     arrays, columns, index = nested_data_to_arrays(
    782         # error: Argument 3 to "nested_data_to_arrays" has incompatible
    783         # type "Optional[Collection[Any]]"; expected "Optional[Index]"
    784         data,
    785         columns,
    786         index,  # type: ignore[arg-type]
    787         dtype,
    788     )
    789     mgr = arrays_to_mgr(
    790         arrays,
    791         columns,
   (...)
    794         typ=manager,
    795     )
    796 else:

File [~/Projects/Jolin.io/workshop-accelerate-Python-with-Julia/.venv/lib/python3.10/site-packages/pandas/core/internals/construction.py:498](https://file+.vscode-resource.vscode-cdn.net/home/ssahm/Projects/fall-in-love-with-julia/~/Projects/Jolin.io/workshop-accelerate-Python-with-Julia/.venv/lib/python3.10/site-packages/pandas/core/internals/construction.py:498), in nested_data_to_arrays(data, columns, index, dtype)
    495 if is_named_tuple(data[0]) and columns is None:
    496     columns = ensure_index(data[0]._fields)
--> 498 arrays, columns = to_arrays(data, columns, dtype=dtype)
    499 columns = ensure_index(columns)
    501 if index is None:

File [~/Projects/Jolin.io/workshop-accelerate-Python-with-Julia/.venv/lib/python3.10/site-packages/pandas/core/internals/construction.py:837](https://file+.vscode-resource.vscode-cdn.net/home/ssahm/Projects/fall-in-love-with-julia/~/Projects/Jolin.io/workshop-accelerate-Python-with-Julia/.venv/lib/python3.10/site-packages/pandas/core/internals/construction.py:837), in to_arrays(data, columns, dtype)
    834     arr, columns = _list_of_series_to_arrays(data, columns)
    835 else:
    836     # last ditch effort
--> 837     data = [tuple(x) for x in data]
    838     arr = _list_to_arrays(data)
    840 content, columns = _finalize_columns_and_data(arr, columns, dtype)

File [~/Projects/Jolin.io/workshop-accelerate-Python-with-Julia/.venv/lib/python3.10/site-packages/pandas/core/internals/construction.py:837](https://file+.vscode-resource.vscode-cdn.net/home/ssahm/Projects/fall-in-love-with-julia/~/Projects/Jolin.io/workshop-accelerate-Python-with-Julia/.venv/lib/python3.10/site-packages/pandas/core/internals/construction.py:837), in (.0)
    834     arr, columns = _list_of_series_to_arrays(data, columns)
    835 else:
    836     # last ditch effort
--> 837     data = [tuple(x) for x in data]
    838     arr = _list_to_arrays(data)
    840 content, columns = _finalize_columns_and_data(arr, columns, dtype)

File [~/.julia/packages/PythonCall/dsECZ/src/jlwrap/iter.jl:37](https://file+.vscode-resource.vscode-cdn.net/home/ssahm/Projects/fall-in-love-with-julia/~/.julia/packages/PythonCall/dsECZ/src/jlwrap/iter.jl:37), in __next__(self)
     35         return self
     36     def __next__(self):
---> 37         return self._jl_callmethod($(pyjl_methodnum(pyjliter_next)))
     38 """, @__FILE__(), "exec"), jl.__dict__)
     39 pycopy!(pyjlitertype, jl.IteratorValue)

JuliaError: MethodError: no method matching iterate(::Symbol)

Closest candidates are:
  iterate(!Matched::Union{LinRange, StepRangeLen})
   @ Base range.jl:880
  iterate(!Matched::Union{LinRange, StepRangeLen}, !Matched::Integer)
   @ Base range.jl:880
  iterate(!Matched::Union{LinearAlgebra.Eigen, LinearAlgebra.GeneralizedEigen})
   @ LinearAlgebra [/nix/store/i6jayqiqfw6h8inkhqigkarv2gjar02a-julia-bin-1.9.0/share/julia/stdlib/v1.9/LinearAlgebra/src/eigen.jl:122](https://file+.vscode-resource.vscode-cdn.net/nix/store/i6jayqiqfw6h8inkhqigkarv2gjar02a-julia-bin-1.9.0/share/julia/stdlib/v1.9/LinearAlgebra/src/eigen.jl:122)
  ...

Stacktrace:
 [1] pyjliter_next(self::PythonCall.Iterator)
   @ PythonCall [~/.julia/packages/PythonCall/dsECZ/src/jlwrap/iter.jl:14](https://file+.vscode-resource.vscode-cdn.net/home/ssahm/Projects/fall-in-love-with-julia/~/.julia/packages/PythonCall/dsECZ/src/jlwrap/iter.jl:14)
 [2] _pyjl_callmethod(f::Any, self_::Ptr{PythonCall.C.PyObject}, args_::Ptr{PythonCall.C.PyObject}, nargs::Int64)
   @ PythonCall [~/.julia/packages/PythonCall/dsECZ/src/jlwrap/base.jl:57](https://file+.vscode-resource.vscode-cdn.net/home/ssahm/Projects/fall-in-love-with-julia/~/.julia/packages/PythonCall/dsECZ/src/jlwrap/base.jl:57)
 [3] _pyjl_callmethod(o::Ptr{PythonCall.C.PyObject}, args::Ptr{PythonCall.C.PyObject})
   @ PythonCall.C [~/.julia/packages/PythonCall/dsECZ/src/cpython/jlwrap.jl:47](https://file+.vscode-resource.vscode-cdn.net/home/ssahm/Projects/fall-in-love-with-julia/~/.julia/packages/PythonCall/dsECZ/src/cpython/jlwrap.jl:47)

Your system
Please provide detailed information about your system:

The operating system: Nixos
The version of Julia 1.9.0, Python 3.10.9, PythonCall, JuliaCall  0.9.13

I found the following workaround by casting two times to dict
pd.DataFrame(dict(jl.Dict(jl.pairs(jl.eachcol(jl.df2)))))

at least it is still kind of a one liner :smile:

PythonCall has a function for this: jl.pytable.

I am running into the very same problem if I want to send a Julia Dict to python
pandas works weird with JuliaDict wrapper, hence I would really like to understand what is the recommended way to transform a julia dict to a python dict. (couldn't find it so far)

pydict 🙂

that makes a lot of sense - thank you
let me summarize how I understood PythonCall/JuliaCall:

no implicit conversions happen
however standard types are wrapped into equivalent Python/Julia wrappers which work for many cases like normal Python/Julia objects
sometimes this fails, in which case you need to use explicit conversions (e.g. using pytable or pydict)

This type of failure is not easily preventable, but rather systematic. It is because, as in these cases above, the failure is due to the types being different. If no implicit conversion happens but only wrappers are used, it makes sense that the type can make problems, as the wrapper will necessarily have a different type than the default Python/Julia object.
I guess it can help people if there could be a highlighted warning about this expected set of failures and the standards on how to deal with them

That sounds about right. I'm always happy to take PRs for improvements to the docs if you think something can be clearer.


Change UKCOD to mySociety

Any partner site themes that didn't change this default text are also going to need updating accordingly. I've made a list and will work through them as and when I get a spare 10 minutes.

@abimysoc this change won't make it on to the Alaveteli demo site due to it running an older version of alavetelitheme. Should get the change running there?

Yes please, if you would.

Done


Doesn't work on Mac

Atom version: 1.3.2
Mac OS: v10.10.5 (14F1021)

Sorry, just now I realise you have to activate it after a search.


[NPM Lite] Querying L1VH + Non-L1VH Endpoints

Reason for Change:

Currently, for non-l1vh window nodes, we query for hns endpoints with state 3 (attachedSharing). However, for L1VH nodes, the hns endpoints have state 2 (attached).  NPM Lite will use both non-l1vh window nodes as well as L1VH nodes.
Issue Fixed:

This pr aims to query for both states, state 2 for npm and npm lite and state 3 if npm lite is enabled.
Requirements:

[ ] uses conventional commit messages

[ ] includes documentation
[ ] adds unit tests
[ ] relevant PR labels added

Notes:

/azp run Azure Container Networking PR

/azp run Azure Container Networking PR

/azp run Azure Container Networking PR


Challenge 14: Unnecessary element selector.

On challenge 14, the user is supposed to change the colour of the text to green.  The challenge requests that you do this with the child function.  However, #target6 has no children in the tree.  Just text.
        ...
        <button class="btn btn-default target" id="target6">#target6</button>
        ...

Pardon me, I misunderstood the issue.


Fix Core Text renderer

Fix display of some unicode composing characters
e.g. A̮︠  (U+0041 032E FE20)
present:

patched:

Fix display of 2-cells emoji
e.g. 💻 (U+1F4BB)
present: the value of &t_nd (==<C-L>: move cursor right) is appended just after emoji

patched:

This definitely fixes the bug from earlier that I found - however another interesting bug I see is that emoji seem to now be positioned slightly off, which causes a bit of cropping to the emoji:

@amadeus Please tell me unicode codepoints of those emojis.

It actually appears to effect every emoji I've seen? Another example

U+1F60E
U+1F600

In terms of the other characters, the codepoints (in order) are:
U+1F3FB, U+1F3FC, U+1F3FD, U+1F3FE, U+1F3FF


can not find the model

Hello, thank you for your excellent work. I go to the link of CF-Caffe but I can not find the model of DAF-Net. Could you please give the link of the model？

https://github.com/xw-hu/DAF-Net
Please find the model here.
CF-Caffe is the basic framework.

Sorry, I can not find the model on https://github.com/xw-hu/DAF-Net. I mean the code of your DAFNet model, that is to say,  there no code given and only the pretrained model is given?

Really on this website......
Please download the code on this website.

Ok, I find it. Thank you for your reply!


Link Failure on OS X

I am getting a link time failure on OS X:
Undefined symbols for architecture x86_64:
  "_DHparams_dup", referenced from:
      _HsOpenSSL_DHparams_dup in libHSHsOpenSSL-<IP_ADDRESS>-IwNAgR18rZ2COI1mjG0hrU.a(HsOpenSSL.o)
     (maybe you meant: _HsOpenSSL_DHparams_dup)
  "_X509_CRL_get0_by_serial", referenced from:
      _c16Cf_info in libHSHsOpenSSL-<IP_ADDRESS>-IwNAgR18rZ2COI1mjG0hrU.a(Revocation.o)
  "_X509_STORE_CTX_get0_current_crl", referenced from:
      _HsOpenSSL_X509_STORE_CTX_get0_current_crl in libHSHsOpenSSL-<IP_ADDRESS>-IwNAgR18rZ2COI1mjG0hrU.a(HsOpenSSL.o)
     (maybe you meant: _HsOpenSSL_X509_STORE_CTX_get0_current_crl)
  "_X509_STORE_CTX_get0_current_issuer", referenced from:
      _HsOpenSSL_X509_STORE_CTX_get0_current_issuer in libHSHsOpenSSL-<IP_ADDRESS>-IwNAgR18rZ2COI1mjG0hrU.a(HsOpenSSL.o)
     (maybe you meant: _HsOpenSSL_X509_STORE_CTX_get0_current_issuer)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
`gcc' failed in phase `Linker'. (Exit code: 1)

This only started happening after upgrading to GHC 8 so I am not sure if this is an issue with this library or some other GHC issue.

Hm, it seems that HsOpenSSL was compiled with OpenSSL 1.1.x but linking with pre 1.1.x OpenSSL version.
Could you attach output of linker with -v option and output of cabal install -v HsOpenSSL?

I have not had a non-stack environment working on OS X for some time. I was unable to make it work as a statically linked executable but I got it working with dynamic linking. I had to add the homebrew-openssl flag which made it work.


Application: Deeper Chain

Grant Application Checklist

[x] The application-template.md has been copied, renamed ( "project_name.md") and updated.
[x] A BTC address for the payment of the milestones is provided inside the application.
[x] The software of the project will be released under the Apache license version 2.0 as specified in the terms and conditions.
[x] The total funding amount of the project is below CHF 30k at the time of submission.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.0 out of 2 committers have signed the CLA.:x: Chao Ma:x: hliu4atomosChao Ma seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

Thanks for the application. @hliu4atomos also needs to sign the CLA.

Thanks for the application. @hliu4atomos also needs to sign the CLA.

Thanks for reminding! @hliu4atomos signed the CLA as well.

Thanks for the signature. However, the costs of the grant are currently missing, see the template

I added the total cost in BTC based on the current BTC price. Thank you!

Hi @chaosma as you explained it in the chat, could you also please define the deliverables into more depth?
As you stated it:
For this OGP application, our deliverable is the micropayment pallet as well as the client code including tutorial documents. A user can use our code base (this application) together with our software(atomos) or hardware (deeper connect). In the next phase, we will add PoC and light node discovery pallets.
Thanks!

Hi @chaosma as you explained it in the chat, could you also please define the deliverables into more depth?
As you stated it:
For this OGP application, our deliverable is the micropayment pallet as well as the client code including tutorial documents. A user can use our code base (this application) together with our software(atomos) or hardware (deeper connect). In the next phase, we will add PoC and light node discovery pallets.
Thanks!

Thanks for your feedback! I have included this in our application.

Hi Chao,
Could you take care the price issue?
Thanks,
Hui
On 12/14/20 3:37 AM, David Hawig wrote:

Any updates regarding the price. Otherwise, we will probably discuss
your general grants application again next week.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/w3f/Open-Grants-Program/pull/141#issuecomment-744382249,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGZOGCIWLKI5ZIJQSFVTOJ3SUX2H7ANCNFSM4UMCMU5Q.

Thanks for the update. However, the general grants application contained the complete project milestone 1, 2 and 3 for the same price. Is it possible to reduce the price of the open grants application accordingly?

@Noc2  The original plan for the general grant is 100k for 3 milestones. After our discussion, we switch to apply one milestone at a time. So the 30k in general grant application actually is for milestone 1. This might be confusing. But if you think it's still high. Could you give me any advice price that you think reasonable? I am happy to modify it.

@chaosma Sorry for the late reply. In this case I will close the general grants application. The current google doc of the general grants application said 10k per milestone. Given that the grants committee already had concerns about the application at this price the last time, it would really help if you could reduce the price again of the open grants application (also given the current BTC market price) and/or open source AtomOS as part of the deliveries. Once you update the application, I will share it with the rest of the committee.

@chaosma Sorry for the late reply. In this case I will close the general grants application. The current google doc of the general grants application said 10k per milestone. Given that the grants committee already had concerns about the application at this price the last time, it would really help if you could reduce the price again of the open grants application (also given the current BTC market price) and/or open source AtomOS as part of the deliveries. Once you update the application, I will share it with the rest of the committee.

@Noc2 Hi, David, yeah, the BTC price increased a lot recently. I have changed the cost from 1.65 BTC to 0.5 BTC. Based on the current BTC price, the cost is close to 10k. Let me know if you have any other concerns. Thanks!

Looks good to me, I will share it with the rest of the team.

Cool, do we have a third reviewer? Three reviewers are required. Thanks!

As I'm sure you've discussed with @jimmychu0807, teams that have been successful in the hackathon will have the grant value discounted by the amount of the hackathon prize. I've created a PR for this here, please let me know that you're OK with the change.

Hey @chaosma, care to share a quick update on your progress with the milestone? I see you're actively working on it, but it would be nice to get a quick update when you run into delays.

@chaosma, @hliu4atomos, are you still interested in working on the grant? Otherwise we would suspend it.

@chaosma @hliu4atomos @fyang1024 @lzw65 @donileongdeepernetwork @donilan
This grant is now delayed by over 6 months. If we don't hear anything from you soon, we will terminate it in the coming days. If you can't submit within the next 2 weeks, please submit and amendment to your application to include an ETA/accurate duration.


JOSS paper feedback

Hi @kwinkunks
The JOSS paper itself is nicely written, well done. Here are some minor feedback points:

Based on the checklist "Do the authors describe how this software compares to other commonly-used packages", you do provide examples of similar packages in lines 61-65, but you don't elaborate on how redflag compares to these. I would add a couple of sentences to explain differences.

Typo in line 50:

There are two kinds of scikit-learn transformer

--> There are two kinds of scikit-learn transformers:

Line 64-65, typo, and more info needed:

Finally, evidently provides on a Jupyter interface with lots of plots.

--> Finally, evidently provides ~on~ a Jupyter interface with lots of plots.
Also, "lots of plots" sounds very vague, perhaps you could provide a bit more detail about what this package provides.

Ping https://github.com/openjournals/joss-reviews/issues/6065

Thanks for the feedback. I think I addressed these in the latest draft.

Added this sentence:

In comparison, Redflag is easier to set up and use
than great_expectations and pandera, and while it is compatible with
Pandas DataFrames and Jupyter it does not depend on them.

Reworded sentence:

The scikit-learn transformers are of two kinds:

Fixed typo and clarified:

Finally,
evidently provides a graphical
dashboard for Jupyter.


Style updates

Incorporate new colors, fonts, etc. from the new branding

Preview is available here:http://developers-pr240.previews.kube001.services.stellar-ops.com

Preview is available here:http://developers-pr240.previews.kube001.services.stellar-ops.com


dropdown goes under sponsor carrousel

dropdown goes under the sponsor carrousel and needs to be fixed.

PR in for this

Can you describe how to reproduce the problem?  I'm not seeing anything obvious.

@dpoirier The comment I posted Friday didn't show up? That's odd. On pages with little page content, tike the log in page, long dropdowns, like the event dropdown, goes under the sponsor carrousel.

Fixed in #480.

Passed QA; see also #520


Pre-trained model for the ResNet-50 trained via AdvProp

Hi,
Thank you so much for your implementation!
It's exciting to see ResNet-50 trained via AdvProp reaches a similar accuracy to the vanilla ResNet-50! :)

Would you be able to share the model that achieves 77.42% (as reported in README.md)?
Do you have any statistics on the adversarial accuracy of this model?

Thank you so much!
Anh

For 1, I would try, but I think it would be hard because I have left Alan's group as an intern. The weights were in the sever and I am not sure whether could I get it. Anyway, if you have prepared ImageNet, I think it is not hard to reproduce the result.
For 2, no, I did not test it.

Thanks for letting me know! I'll try to reproduce it.


Add overview cd

What this PR does / why we need it

Towards https://github.com/giantswarm/giantswarm/issues/30831
Things to check/remember before submitting

If you made content changes

Run make dev to render and proofread content changes locally.
Bump last_review_date in the front matter header if you reviewed the entire page.

@mproffitt PTAL


fix(tests): Force pester v4

Full rework of tests needs to be done to fully adapt v5, but this should make Ci usable again for time being.
Master branch target is intended.
Pipeline failing due to bug in PSScriptAnalyzer PowerShell/PSScriptAnalyzer#1472

Recent commits in the develop branch are well tested and can be merged into the master branch I think.


The data type conversion between int32 and float32

My project require convert the data type of tensor (dtype=float32) to int32, and then I need turn the dtype back (from int32 to float32) after some operations.
The code is

y = tf.to_int32(x)
bitwiseXor = tf.bitwise.bitwise_xor(y, key)
z = tf.to_float(bitwiseXor)

But following errors appears, how to solve it?

Traceback (most recent call last):
File "/usr/local/lib/python3.4/dist-packages/tensorflow/python/framework/op_def_library.py", line 490, in apply_op
preferred_dtype=default_dtype)
File "/usr/local/lib/python3.4/dist-packages/tensorflow/python/framework/ops.py", line 675, in internal_convert_to_tensor
ret = conversion_func(value, dtype=dtype, name=name, as_ref=as_ref)
File "/usr/local/lib/python3.4/dist-packages/tensorflow/python/framework/constant_op.py", line 121, in _constant_tensor_conversion_function
return constant(v, dtype=dtype, name=name)
File "/usr/local/lib/python3.4/dist-packages/tensorflow/python/framework/constant_op.py", line 102, in constant
tensor_util.make_tensor_proto(value, dtype=dtype, shape=shape, verify_shape=verify_shape))
File "/usr/local/lib/python3.4/dist-packages/tensorflow/python/framework/tensor_util.py", line 364, in make_tensor_proto
raise ValueError("None values not supported.")
ValueError: None values not supported.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.4/dist-packages/tensorflow/python/framework/op_def_library.py", line 504, in apply_op
values, as_ref=input_arg.is_ref).dtype.name
File "/usr/local/lib/python3.4/dist-packages/tensorflow/python/framework/ops.py", line 675, in internal_convert_to_tensor
ret = conversion_func(value, dtype=dtype, name=name, as_ref=as_ref)
File "/usr/local/lib/python3.4/dist-packages/tensorflow/python/framework/constant_op.py", line 121, in _constant_tensor_conversion_function
return constant(v, dtype=dtype, name=name)
File "/usr/local/lib/python3.4/dist-packages/tensorflow/python/framework/constant_op.py", line 102, in constant
tensor_util.make_tensor_proto(value, dtype=dtype, shape=shape, verify_shape=verify_shape))
File "/usr/local/lib/python3.4/dist-packages/tensorflow/python/framework/tensor_util.py", line 364, in make_tensor_proto
raise ValueError("None values not supported.")
ValueError: None values not supported.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/win1/Ubuntu_App/RemotePython/EncNN/My_EncML.py", line 134, in
model.fit(x_train, y_train, batch_size=batch_size, epochs=epochs, verbose=1, validation_data=(x_test, y_test))
File "/usr/local/lib/python3.4/dist-packages/keras/engine/training.py", line 1458, in fit
self._make_train_function()
File "/usr/local/lib/python3.4/dist-packages/keras/engine/training.py", line 1002, in _make_train_function
self.total_loss)
File "/usr/local/lib/python3.4/dist-packages/keras/optimizers.py", line 326, in get_updates
new_a = self.rho * a + (1. - self.rho) * K.square(g)
File "/usr/local/lib/python3.4/dist-packages/keras/backend/tensorflow_backend.py", line 1225, in square
return tf.square(x)
File "/usr/local/lib/python3.4/dist-packages/tensorflow/python/ops/math_ops.py", line 428, in square
return gen_math_ops.square(x, name=name)
File "/usr/local/lib/python3.4/dist-packages/tensorflow/python/ops/gen_math_ops.py", line 2544, in square
result = _op_def_lib.apply_op("Square", x=x, name=name)
File "/usr/local/lib/python3.4/dist-packages/tensorflow/python/framework/op_def_library.py", line 508, in apply_op
(input_name, err))
ValueError: Tried to convert 'x' to a tensor and failed. Error: None values not supported.
Process finished with exit code 1

Here are some suggestions: -
(1) ValueError: Tried to convert 'x' to a tensor and failed. Error: None values not supported. which implies the value of x used in first line of your code y = tf.to_int32(x) is missing.
(2) Please review guidelines for raising an issue here. https://github.com/printdhruv/tensorflow/blob/master/ISSUE_TEMPLATE.md

This question is better asked on  StackOverflow since it is not a  bug or feature request. There is also a larger community that reads questions there. Thanks!

Answered on StackOverflow here


[Warhammer 4e Character Sheet] 1.72b fixes

[ ] The pull request title clearly contains the name of the sheet I am editing.
[x] The pull request title clearly states the type of change I am submitting (New Sheet/New Feature/Bugfix/etc.).
[x] The pull request makes changes to files in only one sub-folder.
[x] The pull request does not contain changes to any json files in the translations folder (translation.json is permitted)

Changes / Description

Fix issue with Failed Melee test not showing Dual Wield and Furious Assault text and follow up buttons. They now display irrelevant of roll outcome.
Recorrected Minor Miscast Rapture, from 1d10 to 1 bleed condition.

Character Sheet Info Roll20 Internal Use only.


Stop Sharing

I recently shared my google photos with my in-laws roku television and forgot to stop sharing when we left. Is there a way to turn off sharing from my end? Or do I have to have them do it from their television?

@dpearce8864 - Yes you can.
1.) Go here: https://myaccount.google.com/security-checkup/3
2.) Expand "Show Others" under Third-Party Apps.
3.) Revoke the PhotoView application.
This will remove access to any devices you've authorized. You can then proceed to reauthorize whichever device you'd like.


Interactive documentation for side panel

This PR adds explanatory welcome content to the side pane when there are no targets to display. Users are prompted to launch an instance of Edge and configure their launch.json file to streamline the workflow.
Here's how the "getting started" workflow looks with a project that originally has no launch.json:

Summary of the changes:

Added welcome messages and buttons
Added 2 new commands to edit and make use of launch.json
Updated existing tests and added tests for new functions

Closes #337

I think things got a little messed up from checking in the linting changes in the middle of working on this. I'm going to open a new branch and put my changes on there.

I think things got a little messed up from checking in the linting changes in the middle of working on this. I'm going to open a new branch and put my changes on there: #357

Let's close/abandon this PR if we no longer need it to avoid confusion.


Skip e2e and integration tests for codecov

These tests should not be run in codecov, as they require special setup

@howardjohn: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

unit-tests_istio
145df06359ece3779c9e0f6f46d0d8620fe4e713
link
/test unit-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@howardjohn: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

unit-tests_istio
145df06359ece3779c9e0f6f46d0d8620fe4e713
link
/test unit-tests_istio

integ-new-install-k8s-tests_istio
145df06359ece3779c9e0f6f46d0d8620fe4e713
link
/test integ-new-install-k8s-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@howardjohn: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

unit-tests_istio
145df06359ece3779c9e0f6f46d0d8620fe4e713
link
/test unit-tests_istio

integ-new-install-k8s-tests_istio
145df06359ece3779c9e0f6f46d0d8620fe4e713
link
/test integ-new-install-k8s-tests_istio

pilot-multicluster-e2e_istio
145df06359ece3779c9e0f6f46d0d8620fe4e713
link
/test pilot-multicluster-e2e_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest

@howardjohn: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

pilot-multicluster-e2e_istio
145df06359ece3779c9e0f6f46d0d8620fe4e713
link
/test pilot-multicluster-e2e_istio

integ-new-install-k8s-tests_istio
145df06359ece3779c9e0f6f46d0d8620fe4e713
link
/test integ-new-install-k8s-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@howardjohn: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

integ-new-install-k8s-tests_istio
145df06359ece3779c9e0f6f46d0d8620fe4e713
link
/test integ-new-install-k8s-tests_istio

pilot-multicluster-e2e_istio
145df06359ece3779c9e0f6f46d0d8620fe4e713
link
/test pilot-multicluster-e2e_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest


UI: Extract SecondaryButton component and standardize usage

TL;DR
Created a reusable SecondaryButton component and implemented it across date/time selector screens.
What changed?

Created a new SecondaryButton composable that encapsulates common button styling and behavior
Replaced custom button implementations in DateTimeSelectorScreen and TimeTableScreen with the new SecondaryButton component
The button maintains consistent styling with rounded corners, background color, and padding across all implementations

Screenshots
https://github.com/user-attachments/assets/563bfceb-8c10-4c7a-945c-79c3191ee9ca
Why make this change?
Reduces code duplication and ensures consistent button styling across the trip planner interface. This change improves maintainability by centralizing button styling logic and makes it easier to update the design system in the future.

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#410  👈 (View in Graphite)
#409
#408
#407
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Merge activity

Dec 2, 12:53 AM EST: A user merged this pull request with Graphite.


couple of minor fixes for windows.

Fix a path so it doesn't error when building on windows.
Fix a symbol redeclaration from including both unistd.h and stdint.h at the same time.

LLVM doesn't accept pull requests I'm afraid. See making and submitting a patch for instructions. Alternatively, you could simply upload your patch to http://reviews.llvm.org/

Can one of the admins verify this patch?

Please report it on http://reviews.llvm.org/


Items not displayed after coming back to search

Latest master
Steps:

Open Explore
Search for "rabbit"
Tap "Items"
Press back button
You are now back to the items screen, with "rabbit" still typed.

Expected: Results shown
Actually: results not shown

Appending a space and then removing it, makes the results appear.

Hello @nicolas-raoul
can i work on this issue

Hello @nicolas-raoul
i have tested the issues on my phone and i havn't faced the issue you have mentioned
device was huwaie mate 10 lite,  and latest commit " Latest commit "b7ba1f0" on master branch
if you still facing the issue would you mention your deveice model so i can emulate it

Indeed I can't reproduce it, it seems to have been solved as a side-effect of another fix.
Thanks a lot for finding out! Thanks to you we can close this bug :-)


pretrain

Hello, I'm a beginner and I didn't find a pretrained model, can you help me?
pretrain=/media/lidan/ssd2/ChangeFormer/pretrained_segformer/segformer.b2.512x512.ade.160k.pth
You write this in your code, I don't have it。

Hey @xbysq,
Thank you for pointing out this.
When we train our ChangeFormer, we initialized some parameters of the network with a model pre-trained on the RGB segmentation (ADE 160k dataset) to get faster convergence.
I forgot to update this detail in the readme file and thank you for pointing out this.
You can download the pre-trained model here.
Let me know if you need any further help.
Best,
Chaminda

Hi @xbysq
I have updated the readme file and you can find more details here

Hi @xbysq I have updated the readme file and you can find more details here.

Hi@wgcban, first of all thanks for your reply. Sorry, I want to tell you a question, I can't open your link, I guess it is dropbox, maybe I can't download it, can you put it on github?


fix type alias AutoMigrate bug

[-] Do only one thing
[-] Non breaking API changes
[-] Tested

What did this pull request do?
At some times, we need to define alias types for native data types, such as easy reuse for some common interfaces.
but, when you denfine alias types, the AutoMigrate will crash!

User Case Description

eg:

defing IDer interface.
define int64 alias type as ID.
define a Test struct contian column ID.
call AutoMigrate, and gorm return error invalid embedded struct for Test's field ID, should be struct, but got main.ID

bellow is the full demo code.
package main

import (
	"log"

	"gorm.io/driver/postgres"
	"gorm.io/gorm"
	"gorm.io/gorm/logger"
)

type IDer interface{ GetID() int64 }

// ID will add some method to implement some interface eg: GetID
type ID int64

func (z ID) GetID() int64 { return int64(z) }

type Test struct {
	ID
	Code string `gorm:"size:50"`
	Name string `gorm:"size:50"`
}

func main() {
	db, err := gorm.Open(postgres.New(postgres.Config{
		DSN:                  `dsn`,
		PreferSimpleProtocol: false,
	}), &gorm.Config{
		Logger:                 logger.Default.LogMode(logger.Info),
		SkipDefaultTransaction: true,
	})
	if err != nil {
		log.Fatal(err)
	}

	if err = db.AutoMigrate(&Test{}); err != nil {
		// invalid embedded struct for Test's field ID, should be struct, but got main.ID
		log.Fatal(err)
	}
}

Can you please create a test for this?

Can you please create a test for this?

Test case Added.
gorm/schema/field_test.go

Can you please create a test for this?

but I don't understand the error of reviewdog / runner / golangci-lint (pull_request) .
and I don't know how to resolve it.


Receiver: Use intern package when reallocating label strings

[ ] I added CHANGELOG entry for this change.
[ ] Change is not relevant to the end user.

Changes
This is an alternative to #5899 (please see that PR for rational for this change) but uses the go4org/intern instead of our homebrewed method. The advantage of this is that the go4org/intern package is capable of dropping references to unused string automatically, so we don't have to worry about cleaning up references manually (by e.g. counting usage, dropping references periodically etc.) or worry about keeping stale references, causing a memory build-up over longer time.
The downside is that the package violates safe practices when it comes to operating with pointers. However, the package takes precautions to prevent problems with the program (for full details see: https://mdlayher.com/blog/unsafe-string-interning-in-go/). Moreover, the package is written and maintained by some of the developers that are close to the upstream Go community, who ensure the quality of the code is up to Go's standards. The package is considered mature and stable as per project's description. Considering all of this, I believe it is safe to use the package in Thanos as well.
If people deem this still too risky we can consider our own safe implementation via #5899.
Verification
We (cc @PhilipGough )have run this in a synthetic load test with k6 load testing tools on a cluster of 6 receivers with replication factor 3. Overall, we could confirm some gains with this change. We clearly keep fewer objects in heap as expected (average by pod for each respective version, graph on the right). On the actual heap size and working set metrics, we could confirm improvement of at least 1-2 GB average per receiver replica (values are in GB, green is latest main, yellow ismain + PR changes):

On local benchmark levels, both label and handler benchmarks seem to remain on tolerable levels (with the exception of extremely large label number i.e. from 100000). This is expected as the gain should come from keeping fewer objects in memory for long term rather then fewer allocations.
name                                                                           old time/op    new time/op    delta
TransformWithAndWithoutCopyWithSingleLabel/ZLabelsToPromLabels-12                1.50ns ± 2%    1.53ns ± 6%      ~     (p=0.841 n=5+5)
TransformWithAndWithoutCopyWithSingleLabel/ZLabelsToPromLabelsWithRealloc-12     50.4ns ± 3%   133.2ns ± 2%  +164.21%  (p=0.008 n=5+5)
TransformWithAndWithoutCopyWith1000Labels/ZLabelsToPromLabels-12                 1.57ns ± 4%    1.52ns ± 2%      ~     (p=0.056 n=5+5)
TransformWithAndWithoutCopyWith1000Labels/ZLabelsToPromLabelsWithRealloc-12      48.5µs ± 3%   161.1µs ± 1%  +232.22%  (p=0.008 n=5+5)
TransformWithAndWithoutCopyWith100000Labels/ZLabelsToPromLabels-12               1.51ns ± 0%    1.51ns ± 1%      ~     (p=0.286 n=4+5)
TransformWithAndWithoutCopyWith100000Labels/ZLabelsToPromLabelsWithRealloc-12    5.44ms ± 3%   34.98ms ±10%  +542.99%  (p=0.008 n=5+5)

name                                                                           old alloc/op   new alloc/op   delta
TransformWithAndWithoutCopyWithSingleLabel/ZLabelsToPromLabels-12                 0.00B          0.00B           ~     (all equal)
TransformWithAndWithoutCopyWithSingleLabel/ZLabelsToPromLabelsWithRealloc-12      96.0B ± 0%     96.0B ± 0%      ~     (all equal)
TransformWithAndWithoutCopyWith1000Labels/ZLabelsToPromLabels-12                  0.00B          0.00B           ~     (all equal)
TransformWithAndWithoutCopyWith1000Labels/ZLabelsToPromLabelsWithRealloc-12      96.0kB ± 0%    96.0kB ± 0%    +0.00%  (p=0.008 n=5+5)
TransformWithAndWithoutCopyWith100000Labels/ZLabelsToPromLabels-12                0.00B          0.00B           ~     (all equal)
TransformWithAndWithoutCopyWith100000Labels/ZLabelsToPromLabelsWithRealloc-12    9.60MB ± 0%    9.67MB ± 1%    +0.69%  (p=0.008 n=5+5)

name                                                                           old allocs/op  new allocs/op  delta
TransformWithAndWithoutCopyWithSingleLabel/ZLabelsToPromLabels-12                  0.00           0.00           ~     (all equal)
TransformWithAndWithoutCopyWithSingleLabel/ZLabelsToPromLabelsWithRealloc-12       2.00 ± 0%      2.00 ± 0%      ~     (all equal)
TransformWithAndWithoutCopyWith1000Labels/ZLabelsToPromLabels-12                   0.00           0.00           ~     (all equal)
TransformWithAndWithoutCopyWith1000Labels/ZLabelsToPromLabelsWithRealloc-12       2.00k ± 0%     2.00k ± 0%      ~     (all equal)
TransformWithAndWithoutCopyWith100000Labels/ZLabelsToPromLabels-12                 0.00           0.00           ~     (all equal)
TransformWithAndWithoutCopyWith100000Labels/ZLabelsToPromLabelsWithRealloc-12      200k ± 0%      203k ± 2%    +1.65%  (p=0.008 n=5+5)

name                                                                                old time/op    new time/op    delta
HandlerReceiveHTTP/typical_labels_under_1KB,_500_of_them/OK-12                         939µs ± 6%     944µs ± 7%     ~     (p=0.548 n=5+5)
HandlerReceiveHTTP/typical_labels_under_1KB,_500_of_them/conflict_errors-12           1.12ms ± 6%    1.12ms ± 4%     ~     (p=1.000 n=5+5)
HandlerReceiveHTTP/typical_labels_under_1KB,_5000_of_them/OK-12                       9.43ms ± 5%   10.64ms ± 8%  +12.90%  (p=0.008 n=5+5)
HandlerReceiveHTTP/typical_labels_under_1KB,_5000_of_them/conflict_errors-12          11.1ms ± 7%    11.9ms ± 9%     ~     (p=0.056 n=5+5)
HandlerReceiveHTTP/typical_labels_under_1KB,_20000_of_them/OK-12                      38.0ms ± 5%    38.9ms ± 2%     ~     (p=0.310 n=5+5)
HandlerReceiveHTTP/typical_labels_under_1KB,_20000_of_them/conflict_errors-12         44.5ms ± 2%    45.7ms ± 5%     ~     (p=0.548 n=5+5)
HandlerReceiveHTTP/extremely_large_label_value_10MB,_10_of_them/OK-12                 85.0ms ±16%    86.2ms ± 1%     ~     (p=0.151 n=5+5)
HandlerReceiveHTTP/extremely_large_label_value_10MB,_10_of_them/conflict_errors-12    84.1ms ± 8%    85.6ms ± 1%     ~     (p=0.310 n=5+5)

name                                                                                old alloc/op   new alloc/op   delta
HandlerReceiveHTTP/typical_labels_under_1KB,_500_of_them/OK-12                        1.15MB ± 0%    1.15MB ± 0%     ~     (p=0.222 n=5+5)
HandlerReceiveHTTP/typical_labels_under_1KB,_500_of_them/conflict_errors-12           1.41MB ± 0%    1.41MB ± 0%     ~     (p=0.056 n=5+5)
HandlerReceiveHTTP/typical_labels_under_1KB,_5000_of_them/OK-12                       13.1MB ± 0%    13.1MB ± 0%     ~     (p=0.310 n=5+5)
HandlerReceiveHTTP/typical_labels_under_1KB,_5000_of_them/conflict_errors-12          15.5MB ± 0%    15.5MB ± 0%     ~     (p=0.056 n=5+5)
HandlerReceiveHTTP/typical_labels_under_1KB,_20000_of_them/OK-12                      53.0MB ± 0%    53.0MB ± 1%     ~     (p=0.413 n=4+5)
HandlerReceiveHTTP/typical_labels_under_1KB,_20000_of_them/conflict_errors-12         62.0MB ± 0%    62.0MB ± 0%     ~     (p=1.000 n=5+5)
HandlerReceiveHTTP/extremely_large_label_value_10MB,_10_of_them/OK-12                  110MB ± 0%     110MB ± 0%     ~     (p=0.730 n=4+5)
HandlerReceiveHTTP/extremely_large_label_value_10MB,_10_of_them/conflict_errors-12     110MB ± 0%     110MB ± 0%     ~     (p=1.000 n=5+5)

name                                                                                old allocs/op  new allocs/op  delta
HandlerReceiveHTTP/typical_labels_under_1KB,_500_of_them/OK-12                         3.10k ± 0%     3.10k ± 0%     ~     (all equal)
HandlerReceiveHTTP/typical_labels_under_1KB,_500_of_them/conflict_errors-12            6.63k ± 0%     6.63k ± 0%     ~     (p=0.333 n=4+5)
HandlerReceiveHTTP/typical_labels_under_1KB,_5000_of_them/OK-12                        30.3k ± 0%     30.3k ± 0%     ~     (p=0.571 n=5+5)
HandlerReceiveHTTP/typical_labels_under_1KB,_5000_of_them/conflict_errors-12           65.1k ± 0%     65.2k ± 0%     ~     (p=0.444 n=5+5)
HandlerReceiveHTTP/typical_labels_under_1KB,_20000_of_them/OK-12                        121k ± 0%      121k ± 0%     ~     (p=0.738 n=5+5)
HandlerReceiveHTTP/typical_labels_under_1KB,_20000_of_them/conflict_errors-12           260k ± 0%      260k ± 0%     ~     (p=1.000 n=5+5)
HandlerReceiveHTTP/extremely_large_label_value_10MB,_10_of_them/OK-12                   89.6 ± 4%      88.8 ± 1%     ~     (p=0.667 n=5+5)
HandlerReceiveHTTP/extremely_large_label_value_10MB,_10_of_them/conflict_errors-12       220 ± 1%       220 ± 1%     ~     (p=1.000 n=5+5)

This looks quite cool and also simpler than the first implementation. It's interesting that benchmarks show no real difference :)

This is awesome, @matej-g! 😮 🙇 🚀
@fpetkovski the benchmarking code manually calls the GC in between calls to the benchmarked function. I suspect this trigger a cleanup of the interned strings as their only ref goes away.

@fpetkovski @douglascamata Honestly I'm not sure, this is one thing I still did not manage to figure fully out. My assumption is that we're still allocating each label string but eventually we're keeping one copy of the string around for long time and garbage collecting the others.

@matej-g your statement seems correct to me. We keep a single copy of the interned strings. But the actual strings aren't kept forever in memory forever and will be garbage collected if they have no more references (see https://github.com/go4org/intern/blob/main/intern.go#L141). So the GC run in between benchmark iterations is likely cleaning things up.
You could confirm it by running the code being benchmarked twice for each benchmark iteration. Comparing to running twice without interning, we should be able to see the memory difference.

This looks really cool! 🌟
For the benchmarks, I don't think we manually call GC in the benchmark, but only manually call it after all the benchmark test cases here. But you'd have auto GC cycles running during benchmark anyway!
You can try running the benchmark with GODEBUG=gctrace=1 and see when the GC is working and try to set GC pacing with GOGC. I think there is some nuance to it being (forced) as well. 🙂

@saswatamcode internal code in the benchmark package is calling the GC, not our code.

@GiedriusS I'm fine with that, sorry for the delays and leaving this unfinished, if this looks good I can sanitise this PR and un-draft it

Yeah, I think let's put this under a feature flag and merge this so others could try it out as well. Thanks for your work :bow:

Looks l forgot to undraft, this should now be ready for final approvals, thanks cc @GiedriusS @douglascamata @saswatamcode


Update README.md

Coverage remained the same at 100.0% when pulling 57cd12de687840f19e2b1ed2b65a52b2ff30b2a5 on jeantimex-patch-1 into f27fb877a855a1535309a7eec9c7f4485af60bee on master.


Adding 'exclude' option

Something that might be useful for #30, since it allows explicitly exclude files or folders from being transformed. Just a draft for discussion.
browserify().transform(['reactify', {
  es6: true,
  target: 'es5',
  exclude: [
    '**/lib/**/*.js'
  ]
}])

I like that.
Can you make it precompute Minimatch object from options and then reuse it?

Makes sense. It also uses relative file name for matchers now

Looks good. Could you add tests and update README?

Hey @andreypopp, will you merge this if I write the tests and update the README myself? I'd really like to have this (and given that I wasn't the only one, I wonder why everybody just stopped talking about it?)

@SimonFrr everybody moved to babelify as reactify is going to be deprecated soon. If you want to continue using reactify I'll merge your PR.

@andreypopp ha ha alright, I guess I'll have to move on then. Thanks anyway!


Make wast parse results serializable

Fixes #1428 by liberally sprinkling derive(Serialize, Deserialize) and friends on things until it built.
Concurrently with making this PR, I found a different approach for the high-level thing I wanted this for, and therefore don't have any immediate use for it. If you therefore don't think it's worth the hit to code readability, feel free to close without reading further. I figured I'd submit it anyway since I was halfway done at that point.
Some notes:

#[serde(borrow)] needs to go on at least one field of a structure or variant of enum which uses a lifetime parameter, but it suffices to put it on any one of them in the case that there are multiple. I put it on only the first but could do something else if you want.
For enums, I've gone with the "adjacently tagged" representation, since the default "externally tagged" representation is annoying for consumers and the "internally tagged" representation doesn't work when there's a sequence type in one of the variants. I went with a consistent tag = "type", content = "val" on all the enums.
No tests. I don't think CI will even confirm that building with the new feature actually works, at the moment. Happy to add some if you tell me how you want that done - this is my first PR to a Rust project so I have no idea what the conventions are.
A couple of the types which needed to be made serializable - e.g. CoreItemRef - are generic and have a field whose type is given by the generic. That perforce means that the generic type needs to be constrained to be serializable as well, but only when the feature is enabled. I've done this, but it's a bit ugly, and if you have a better approach to suggest I'd happily take it:#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
pub struct CoreItemRef<'a,
    #[cfg(feature = "serde")] K: SerializeT,
    #[cfg(not(feature = "serde"))] K,
> {
    /// The item kind being parsed.
    pub kind: K,
    // ...
}

and it's even worse for the places which use it:fn parse_trailing_item_ref<
    #[cfg(feature = "serde")] T: SerializeT,
    #[cfg(not(feature = "serde"))] T,
>(kind: T, parser: Parser) -> Result<CoreItemRef<T>> {
  // ...
}

Thanks for this!
Does your use case require Deserialize? If possible I'd prefer to slim this down to just being Serialize if it works for you and I think that would at least solve the #[serde(borrow)] part I think.
Using an internal tag I think is fine, I think it's ok to just pick something that works. As for CI though we'll defintely want something there, otherwise this'll probably break in a few weeks. Could you add a check here?
I'll take a closer look at this in a bit and see if I have any ideas about the trait bounds, that looks a bit worrisome from a maintainability standpoint but I'll need to take a closer look.

Does your use case require Deserialize?

Unfortunately yes - the goal was to manipulate the parse result and then synthesize it back to wasm, which means I need to be able to take a JSON representation of the parse result and deserialize it so I can then call .encode. (Though as I say I did end up finding a different way to do the high-level thing I wanted.)

Could you add a check here?

Done. I added only --features serde,wasm-module because the relevant code is only exercised at all when both features are present.

Ah ok, thanks for adding the check! If you're ok though given that you've already got an alternative solution I'd at least personally prefer to not land this for now. This is a fair bit of code without a clear in-repo use-case so while we can maintain it for external users if the need isn't there just yet by you or others I'd be tempted to hold off on merging.

Yeah, that's fine, not to worry. I'll close so as not to clutter up the repo, but I'll leave the branch around.


RancherOS not persisting user volume

RancherOS Version: (ros os version)
1.1.1
Where are you running RancherOS? (docker-machine, AWS, GCE, baremetal, etc.)
Baremetal
I reported the issue initially for rke:
https://github.com/rancher/rke/issues/178
But it seems like there is some issue with the RancherOS not persisting the user volumes i.e.
$sudo ros config export
rancher:
  environment:
    EXTRA_CMDLINE: /init
  services:
    user-volumes:
      volumes:
      - /home:/home
      - /opt:/opt
      - /var/lib/kubelet:/var/lib/kubelet
      - /etc/kubernetes:/etc/kubernetes

$ ls -la /etc/kubernetes/
total 12
drwxr-xr-x    3 root     root          4096 Dec 21 23:54 .
drwxr-xr-x    1 root     root          4096 Dec 21 23:52 ..
drwxr-xr-x    2 root     root          4096 Dec 21 23:54 ssl
[rancher@kub2 ~]$
$sudo reboot
/etc/kubernetes is empty

Tried to do some tests on AWS.
Boot a vm with v1.1.1, then upgrade with v1.1.1, cannot persist /etc/kubernetes
ros os upgrade -i rancher/os:v1.1.1 --append "rancher.services.user-volumes.volumes=[/home:/home,/opt:/opt,/var/lib/kubelet:/var/lib/kubelet,/etc/kubernetes:/etc/kubernetes]"

Boot a vm with v1.1.1, then upgrade with v1.1.2-rc2, can persist /etc/kubernetes
ros os upgrade -i rancher/os:v1.1.2-rc2 --append "rancher.services.user-volumes.volumes=[/home:/home,/opt:/opt,/var/lib/kubelet:/var/lib/kubelet,/etc/kubernetes:/etc/kubernetes]"

If we need a persistent directory to take effect, the os version of upgrade must be different from the current one. This may be a bug.
We should allow users to more easily define user-volumes.

Here are the steps i did initially:

Instal 1.1.1 on bare metal
add the Ip to cluster.yml
run ./rke up & observe the host is aded to the cluster
reboot host & observe host is not in the cluster anymore (/etc/kubernetes is empty)

I added this between 3 & 4:
ros os upgrade -i rancher/os:v1.1.1 --append "rancher.services.user-volumes.volumes=[/home:/home,/opt:/opt,/var/lib/kubelet:/var/lib/kubelet,/etc/kubernetes:/etc/kubernetes]"
Step 4 produced the same result.
Just tried this:

Instal 1.1.1 on bare metal
add the Ip to cluster.yml
run ./rke up & observe the host is aded to the cluster
ros os upgrade -i rancher/os:v1.1.2-rc2 --append "rancher.services.user-volumes.volumes=[/home:/home,/opt:/opt,/var/lib/kubelet:/var/lib/kubelet,/etc/kubernetes:/etc/kubernetes]"
reboot host & observe host is not in the cluster anymore (/etc/kubernetes is empty)

i.e. /etc/kubernetes is still empty, however /var/lib/kubelet is persisted
Tried to apply rke on the v1.1.2-rc2 but it fails with:
FATA[0001] Failed to set up SSH tunneling for Worker host [<IP_ADDRESS>]: Unsupported Docker version found [17.06.2-ce], supported versions are [1.12.6 1.13.1 17.03.2]
Let me know if you need more info.

@zeppelinux Thanks your feedback.
BTW,  you can use ros console switch <other-console>. All consoles except the default (busybox) console are persistent.

FATA[0001] Failed to set up SSH tunneling for Worker host [<IP_ADDRESS>]: Unsupported Docker version found [17.06.2-ce], supported versions are [1.12.6 1.13.1 17.03.2]

Here, you can use ros engine switch <engine> to  switch to the appropriate engine.
I'll try the steps you mentioned.
I hope that when using the default console, the custom persistent directory also takes effect.

@niusmallnan I was not able to use the rke with 'centos' console:
FATA[0001] Failed to set up SSH tunneling for Worker host [<IP_ADDRESS>]: Can't retrieve Docker Info: error during connect: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.24/info: Failed to dial to Docker socket: ssh: rejected: administratively prohibited (open failed)
But It worked with 'ubuntu' and stayed in the cluster after reboot. Thanks for the workaround!

@zeppelinux
Regarding centos, I know something.
You can check these:
https://github.com/rancher/rke/issues/93
https://github.com/rancher/rke/issues/136

@niusmallnan thanks for the info.
The bug links you provided look similar to what i'm experiencing with centos console, but I'm not using 'root' user. It's a RancherOS, so only 'rancher' user is available and I'm using it.
I'm having some weird problems with DNS resolution inside of the containers running on the RancherOS host with 'ubuntu' console out of the box. Nothing external is resolved, there is some very long bug report threads related to this issue (for example: https://github.com/kubernetes/kubernetes/issues/23474)
When i revert it (the same host) to the 'default' console -  DNS works as expected. So, having default console that can persist /etc/kubernetes volume is way better option than patching ubuntu kubernetes dns configuration :)

@zeppelinux
I think I seem to find the root cause. You can use the default console to custom your persistent directory.
Here are my steps:
ros config set rancher.services.user-volumes.volumes  [/home:/home,/opt:/opt,/var/lib/kubelet:/var/lib/kubelet,/etc/kubernetes:/etc/kubernetes]

system-docker rm all-volumes

reboot

Then you can persist /etc/kubernetes volume.
I have confirmed on AWS, you can check it on your bare metal.

@niusmallnan  it works! I'm glad you nailed it. Cheers!

Tested with RancherOS v1.2.0-rc2
Use ros config set set the persistent directory, rancheros the first restart will not save the directory of data.When the second restart, will save the directory data.


elm-reactor VS elm reactor

Should I use :
elm-reactor

or :
elm reactor

Thanx.

The two should be equivalent, but might not, if your install is borked.

I'm not sure with the release you download from the website, but if you install elm from npm. You only have the option of elm-. I don't know if this helps, but I would probably just use elm-.

@ronnross Unfortunately, yours also doesn't seem to be installed properly.
Both of them work on my Arch Linux's install.
What's printed by elm reactor --version and elm-reactor --version on your machine?

@igrep I totally made a mistake both elm reactor --version and elm-reactor --version works with the version installed from npm. My mistake.

Aside:  I always go for elm-rea<tab> for auto-complete goodness.

@aestheticsdata, can you please close this issue? It seems your question was answered. If not, what additional information do you need?

I think this can be closed.


Reorganize config manager packages in agent

Resolves #1194
Signed-off-by: Pavol Loffay<EMAIL_ADDRESS>

@jpkrohling would you like to have a look?

@jpkrohling I have moved  the configmanager to a separate package. Is there anything more?

@jpkrohling I have moved the configmanager to a separate package. Is there anything more?

No, that was it. Looks great :-)


"E714" occurs when the configuration file name is "_vimrc" .

Problems summary
"E714" occurs when the configuration file name is "_vimrc" .
Expected
???
Environment Information

OS: Windows10 Pro
Vim version: VIM 7.4.1721(kaoriya)

Provide a minimal .vimrc with less than 50 lines (Required!)
scriptencoding utf-8

filetype off
set nocompatible

let s:plugin_dir = $VIM . '/vim/bundle'
let s:dein_dir = s:plugin_dir . '/repos/github.com/Shougo/dein.vim'
if !isdirectory(s:dein_dir)
  call mkdir(s:dein_dir, 'p')
  silent execute printf('!git clone %s %s', 'https://github.com/Shougo/dein.vim', s:dein_dir)
endif
execute 'set runtimepath+=' . s:dein_dir

if dein#load_state(s:plugin_dir)
  call dein#begin(s:plugin_dir)

  call dein#add('Shougo/dein.vim')

  call dein#end()
  call dein#save_state()
endif

filetype plugin indent on

The reproduce ways from Vim starting (Required!)

Download Vim (Kaoriya)(vim74-kaoriya-win64-20160409.zip).
Unzip.
Rename "vimrc" to "_vimrc".
Rewritten to a minimum of "_vimrc" above.
Start gvim.
Edit "_vimrc".
Save and exit the gvim.
Start gvim(problem occured).

Screen shot (if possible)

Upload the log messages by :redir and :message
[dein] Error occurred while loading state : Vim(let):E714: リスト型が必要です

The same as the problem "#105". Close.


Duplication glitch

Hey! First of all, love the mod, it's been really fun to play with!
I just updated the mod, and I'm having a weird issue with the Forge 1.20.1-1.0.6 update (playing on 1.20.4), where if you pick up an item that's been added as an exception, it will sometimes duplicate a huge number of that item, like completely filling the inventory (and when I use the Physics Mod, it also drops a framerate-killing number of stacks of that item, along with any other item in the inventory that's also been added as an exception, I have no idea why lol). I couldn't get it to work in the 1.0.5 version, so I assume it's being caused by a recent change
The issue happens even when it's the only mod I have in a newly-made modpack, so it's not a compatibility thing, though it may just be an issue with my system in general? If I drop like 10 of an item then stand on them to immediately pick them up, it's guaranteed to happen

Can you send your modpack to me and tell me how to reproduce?


.readthedocs: add .readthedocs.yml

Signed-off-by: Kefu Chai<EMAIL_ADDRESS>

before this change

https://docs.ceph.com/projects/teuthology/en/latest/commands/teuthology.html

after this change

https://ceph--1661.org.readthedocs.build/projects/teuthology/en/1661/commands/teuthology.html


Earn protocol WIP #21

20 of N pull requests.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Please upload report for BASE (dev@6034d72). Learn more about missing BASE report.

Additional details and impacted files
@@          Coverage Diff           @@
##             dev     #560   +/-   ##
======================================
  Coverage       ?   69.96%
======================================
  Files          ?       25
  Lines          ?      263
  Branches       ?       19
======================================
  Hits           ?      184
  Misses         ?       78
  Partials       ?        1

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Can somebody explain what this piece of code work for?

`- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event
{
UIView *hitView = [super hitTest:point withEvent:event];
// Return any UIControl instance such as buttons, segmented controls, switches, etc.
if ([hitView isKindOfClass:[UIControl class]]) {
    return hitView;
}

// Return either the contentView or customView
if ([hitView isEqual:_contentView] || [hitView isEqual:_customView]) {
    return hitView;
}

return nil;

}`
I'm using custom view, where I have a button on it.
And this button cant response because this method return nil.
Do u guys have any reasons to override this method?

This method should work well with your button @carusd


@default directive to work even when field level resolver do have create permission

Describe the feature you'd like to request
Sample Schema
 type Todo @model @auth(rules: [{allow: owner, identityClaim: "sub", operations: [read,create]}]) {
 id: ID! @primaryKey @auth(rules: [{allow: owner, identityClaim: "sub", operations: [read, create, update]}])
owner: String! @auth(rules: [{allow: owner, identityClaim: "sub", operations: [read, create]}])
 status: String @default(value: "test") @auth(rules: [{allow: owner, identityClaim: "sub", operations: [read]}])
}

Use-Case:
Users should be able to create records and the status filed should populate with default value. The restriction is that users, should not be able to pass or update the status value.
The above auth rules are failing with "Unauthorized on [status]" error.
Describe the solution you'd like
To be able to populate the default value to status filed without giving create permission
Describe alternatives you've considered
Current work around:
Override Amplify-generated resolvers to update the Mutation.createTodo.init.2.req.vtl resolver to return unauthorized if id value is passed
## [Start] Setting "status" to default value of "test". **
#if( $util.isNull($context.args.input.status))
$util.qr($context.args.input.put("status", $util.defaultIfNull($ctx.args.input.status, "test")))
#else
$util.unauthorized()
#end
## [End] Setting "status" to default value of "test". **
{}

And also adding "status" to ownerAllowedFields0 in Mutation.createClaim.auth.1.req.vtl
Additional context
Similar Github Issue: 9846
Is this something that you'd be interested in working on?

[ ] 👋 I may be able to implement this feature request

Would this feature include a breaking change?

[ ] ⚠ This feature might incur a breaking change

Hi @sushpatg, Thank you for raising this. We will categorize this as a feature request for our team to investigate and assess more thoroughly.


Webpack throws an error saying define cannot be used indirect

Dexie can't be references properly when building with webpack.
This issue was discussed here:
https://github.com/webpack/webpack/issues/138#issuecomment-105724313

Can you provide what version of webpack and what version of Dexie you are using? Have you tried using the latest beta version of webpack?

I'm using
webpack: 1.0.11
dexie: 1.1.0
I haven't tried the beta.

@filipmares I commented on a workaround I used here:
https://github.com/webpack/webpack/issues/138#issuecomment-136567503

@tonytamps thanks! ended up sound the same thing eventually.


Why is the connection timeout short?

I use the default 'session_timeout' setting (1800).
In my setup the console closed in a very short period of time. Is the '1800' second?

This question needs to be checked.


Add L1 attributes tx addresses

Reference: https://specs.optimism.io/protocol/deposits.html#l1-attributes-deposited-transaction
Added for op-mainnet and op-sepolia. For other superchain chains it should be the same, but I didn't add now because (1) I don't have nodes for all of them in order to test (2) we should add more addresses as I'm studying the op-stack specs.

@sealer3 wdyt about the names?

I prefer the style of "Optimism: L1 Attributes Contract" and "Optimism: L1 Attributes Depositor" better, since it follows the "organization name: address tag" format. It's a bit tricky since Optimism is the chain itself... otherwise I think "L1 Attributes Contract" and "L1 Attributes Depositor" would also work. I think that the contract has been predeployed can be inferred from the address.

I prefer the style of "Optimism: L1 Attributes Contract" and "Optimism: L1 Attributes Depositor" better, since it follows the "organization name: address tag" format. It's a bit tricky since Optimism is the chain itself... otherwise I think "L1 Attributes Contract" and "L1 Attributes Depositor" would also work. I think that the contract has been predeployed can be inferred from the address.

optimism sounds odd because those are system addresses that occur in any superchain, i.e., Zora has it although Zora's users don't need to know it is an optimism superchain, and even so, "optimism" seems strange, I think in this case "L1" as the prefix is more accurate.
About the predeployed thing, I was in doubt if even the word "contract" would be redundant.  but "L1: Attributes" sounded something was missing in it.

reading the specs again, I think calling them "predeploys" (as in precompiles) would make sense: https://specs.optimism.io/protocol/predeploys.html
so, I think we can call it "L1: Attributes Predeploy"

Since this set of predeployed contracts is common across Optimism networks and is not all related to the layer 1 network, maybe instead we can label them as "Predeploy: L1 Attributes", "Predeploy: L2CrossDomainMessenger", "Predeploy: GasPriceOracle", etc.
Aesthetically, we might also consider using "OP" as a prefix, as in "OP Stack", like "OP: L1 Attributes".

I prefer to not use the OP prefix, because in the superchain registry it looks like Optimism is used to refer to the "main" optimism chain, as opposed to Base, Zora, etc.
and predeploy sounds more like a secondary attribute of the contract, I think I'll stick to the L1 prefix (for now).