Typescript + Immutable: Can't create classes extending Record

Describe the bug
I'm not able to declare classes that extend Immutable.Record in applications created with create-react-app (all fine with this in other non-web applications, the problem is with babel).
Did you try recovering your dependencies?

6.12.0
Which terms did you search for in User Guide?

(Write your answer here if relevant.)
typescript immutable
Environment

npx: installed 91 in 4.148s

Environment Info:

  System:
    OS: Linux 5.0 Ubuntu 19.04 (Disco Dingo)
    CPU: (8) x64 Intel(R) Core(TM) i7-4770HQ CPU @ 2.20GHz
  Binaries:
    Node: 10.16.3 - ~/.nvm/versions/node/v10.16.3/bin/node
    Yarn: Not Found
    npm: 6.12.0 - ~/.nvm/versions/node/v10.16.3/bin/npm
  Browsers:
    Chrome: 77.0.3865.120
    Firefox: 69.0.2
  npmPackages:
    react: ^16.10.2 => 16.10.2
    react-dom: ^16.10.2 => 16.10.2
    react-scripts: 3.2.0 => 3.2.0
  npmGlobalPackages:
    create-react-app: Not Found

Steps to reproduce

(Write your steps here:)

Create a new app with create-react-app: npx create-react-app test-ts-immutable --typescript
Add immutable: npm i -S immutable
Replace App.tsx with the following:

import React from 'react';
import { Record } from 'immutable'
import logo from './logo.svg';
import './App.css';

interface PersonProps {
  firstName: string
  lastName: string
}

const defaultPersonProps: PersonProps = {
  firstName: '',
  lastName: '',
}

class Person extends Record(defaultPersonProps) implements PersonProps {
  public readonly firstName!: string
  public readonly lastName!: string

  public constructor(values?: Partial<PersonProps>) {
    values ? super(values) : super()
  }

  get fullName() {
    return `${this.firstName} ${this.lastName}`.trim()
  }
}

const App: React.FC = () => {
  const jane = new Person({ firstName: 'Jane', lastName: 'Doe' })

  console.log(`Hi, this is ${jane.fullName}!`)
  return (

          Edit src/App.tsx and save to reload.

          Learn React

  );
}

export default App;

Start the app npm start

Expected behavior

The console.log should work
Actual behavior

You get a run time error:

You can try to remove the constructor, but you will still get this error:

Reproducible demo

https://github.com/LeoIannacone/bug-report-create-react-app-ts-immutable

Thanks for the nice report!
I narrowed it down to @babel/plugin-proposal-class-properties. The constructor compiles to:
constructor(values) {
  var _temp, _temp2;

  values
    ? ((_temp = super(values)),
      (this.firstName = void 0),
      (this.lastName = void 0),
      _temp)
    : ((_temp2 = super()),
      (_temp = super(values)),
      (this.firstName = void 0),
      (this.lastName = void 0),
      _temp,
      _temp2);
}

Those void 0 setters are what's triggering the runtime error. I'm not sure about remedies at this point, or if it even needs to be remedied.
For your case, you can simplify the class definition and it'll just work. I think all that boilerplate is from an older version of typescript that couldn't do as much inference.
class Person extends Record(defaultPersonProps) {
  get fullName() {
    return `${this.firstName} ${this.lastName}`.trim();
  }
}

ohh you're right! That works now, thanks a lot!


Home screen change

How to change home screen from (tabs)/index.tsx to custom page?
Prop initialRouteName inside Stack ignores.

Adding a Custom Page
To implement a custom screen, please create a file named app/index.tsx and modify the initialRouteName to match index. This file will serve as your custom page.
Using Drawer Navigation instead of Tab Navigation
To use drawer navigation, follow these steps:

Remove the app/(tabs) directory.
Rename the app/drawer directory to app/(drawer).
Open the app/_layout.tsx file and eliminate the line containing <Stack.Screen name='(tabs)' ... />.
Replace <Stack.Screen name='drawer' ... /> with <Stack.Screen name='(drawer)' ... />.
Adjust the initialRouteName to be (drawer).

I trust this information will be helpful to you.


makefile fatal error while trying to build zephir

I have installed zephir on Windows 7, where I am uisng XAMPP as a web server. It's all working. But when I try to execute command zephir build in my project, it's giving the following error in compile_errors.log file:
makefile(23) : fatal error U1001: syntax error : illegal character '{' in macro
I am using Visual Studio Command Prompt.
What are my options here?
When I tested the zephir build command with simple Hello World tutorial, it worked perfectly and generated my .dll file.
Any help would be appreciated. Thanks in advance.

@fire-falcon Could you please provide full log/output? Please use something like http://vpaste.net for this

This is my full log from compile_errors.log file:
full log

Hmm.. I'm sorry but this is not enough. Could you provide config.w32 I'll try to sort out

@fire-falcon Could you provide PHP version?

I'm closing this issue due to the lack of any reaction. I'll open it again if the need arises


EFR32 BLEManagerImpl::SendIndication is assuming the passed-in data buffer is "small enough"

Problem
The code does:
    rsp = gecko_cmd_gatt_server_send_characteristic_notification(conId, cId, data->DataLength(), data->Start());

which is passing that third (data length) arg as a uint8_t.  What happens if it overflows?
Proposed Solution
Check for too-large data length, error out if it's too large.

@sagar-apple @vivien-apple @shana-apple

@bzbarsky-apple will be fixed by the GSDK update from 2.7 to 3.1 (in progress)

@bzbarsky-apple will be fixed by the GSDK update from 2.7 to 3.1 (in progress)

@jepenven-silabs Sounds good.  When that happens, please remove the cast to uint8_t at the callsite described above?

@jepenven-silabs Sounds good.  When that happens, please remove the cast to uint8_t at the callsite described above?


Add some new devices

Aqara Opple Switch 2 bands
Aqara Opple Switch 3 bands
Bosch Radiator Thermostat II
Tuya Smart Knob

Thanks


May Endgame

Endgame Schedule

May 29, Code freeze for the endgame
June 9, Endgame done

Monday, May 29

[x] Code freeze at 5pm PT
[x] Ensure we have a green build on all platforms
[x] All test items contain sufficiently comprehensive test descriptions by 6pm PT

Tuesday, May 30

[x] Test plan items assigned
[x] All closed feature-requests either have a verification-needed or on-testplan tag
[x] Testing
[ ] Verification needed

Wednesday, May 31

[x] Testing
[x] Remind team members to assign issues that they intend to fix to the May milestone
[x] Fixing (self-assigned, milestone assigned)
[ ] Verification

Thursday, June 1

[ ] Fixing last issues
[ ] Verification
[x] Run OSS tool after merging shrink-wrap findings endgame master

The LCA review of the ThirdPartyNotices.txt files is not needed anymore

[x] Check new OSS usage is entered into the OSS registry endgame master

Friday, June 2

Satellite modules/npm packages ready, version updated, smoke tested

[x] vscode @bpasero
[ ] yo generator @aeschli
[x] vsce @joaomoreno
[x] node debug @weinand
[ ] node debug2 @roblourens

[x] Translation input - @dbaeumer
[ ] All issues verified
[x] Fixing (only critical bugs - no string changes)
Smoketest

[x] Windows - @bpasero
[x] OS X - @weinand
[x] Linux - @aeschli

[x] New: Document how the electron version is built that we ship in the distro @gregvanl
[ ] New: Make a download of win64 available @waderyan
[x] Try the win64 bits, smoketest?

[x] @dbaeumer
[x] @alexandrudima

[x] New: Document NVDA work around for editor accessibility #26730 @gregvanl @alexandrudima
[x] New: Document tighter snippet checking @jrieken
[ ] New: Document our conclusion on the ARM build @egamma @kieferrm @seanmcbreen
[ ] All release notes updated - release notes are collected in a file named Month_Year.md in this repo directory. This includes new features and notable fixes.

[x] @alexandrudima
[x] @weinand
[x] @chrmarti
[x] @tyriar
[x] @dbaeumer
[x] @bpasero
[x] @egamma
[x] @isidorn
[x] @joaomoreno
[x] @jrieken
[ ] @kieferrm
[x] @aeschli
[x] @rebornix
[x] @ramya-rao-a
[ ] @roblourens
[x] @sandy081
[ ] @mjbvz
[ ] @michelkaporin

[ ] Acknowledge pull requests in release notes. We acknowledge PRs from outside the team. Use the thankyou tool to generate the initial contents of the section. owner

[x] vscode endgame master
[ ] vscode-node-debug @weinand
[ ] vscode-node-debug2 @roblourens
[ ] vscode-filewatcher-windows @bpasero
[x] vscode-languageserver-node @dbaeumer
[ ] language-server-protocol @dbaeumer
[ ] vscode-textmate @alexandrudima
[ ] vscode-loader @alexandrudima
[ ] vscode-generator-code @aeschli
[x] vscode-vsce @joaomoreno
[ ] vscode-docs @gregvanl
[ ] vscode-css-languageservice @aeschli
[ ] vscode-json-languageservice @aeschli
[ ] vscode-html-languageservice @aeschli
[ ] jsonc-parser @aeschli
[ ] vscode-jscs @cdias
[x] vscode-tslint @egamma
[x] vscode-eslint @dbaeumer
[ ] vscode-jshint @kieferrm
[ ] localization @dbaeumer

When done fixing/verifying and there are changes since last build at the end of day PT

[ ] Trigger new insider build and publish it manually @owner

Friday/Monday

[x] Disable continuous insider builds - endgame master
[x] Branch code to release/<x.y> and release master - endgame master
[x] Bump up the version in package.json - endgame master
[x] Announce master is open for business endgame master
[x] Polish release notes @redmond

Monday - Wednesday

[x] Polish release notes @redmond
[ ] Cherry-pick hand-picked and reviewed changes to release/<x.y> @owner
[ ] Build Insider from release/<x.y> endgame master
[ ] Manually release Insider endgame master
[ ] Documentation updated

[x] @alexandrudima
[x] @weinand
[x] @chrmarti
[x] @tyriar
[ ] @dbaeumer
[x] @bpasero
[ ] @egamma
[x] @isidorn
[x] @joaomoreno
[x] @jrieken
[ ] @kieferrm
[ ] @aeschli
[ ] @rebornix
[x] @ramya-rao-a
[ ] @roblourens
[x] @sandy081
[ ] @mjbvz

Note: The Insiders build needs to be in the wild for 24 hours before we can enter the last phase of the endgame.

Thursday/Friday

[ ] Merge translations @zurich
[ ] Build stable for all platforms endgame master
[ ] Make rpm signing request @Tyriar
[ ] Sanity check of installable bits

[ ] Windows

[ ] signed installer @owner
[ ] zip @owner

[ ] OS X - @owner
[ ] Linux

[ ] deb package 32-bit @owner
[ ] deb package 64-bit @owner
[ ] rpm package 64-bit @owner
[ ] rpm package 32-bit @owner
[ ] archives @owner

[x] Publish website @gregvanl
[ ] Publish to stable @owner
[ ] Publish deb and rpms to repositories manually @Tyriar
[x] Add version with symbols to HockeyApp @bpasero
[ ] Add a git tag to HEAD of release/<x.y> in format x.y.z endgame master
[ ] Enable scheduled insider builds endgame master
[ ] Twitter announcement @seanmcbreen

HI, when will the download of win64 version be available?
Thanks a lot.

@LiPengfei19820619 we have a zip install only (see the May plan). The May plan has several limitations like no auto update. We have therefore decided to not make it available yet. More work is needed in June.

Closing - 1.13. has been shipped


Add reference useful environment variable USE_LONGNAME

RABBITMQ_USE_LONGNAME documentation
https://github.com/rabbitmq/rabbitmq-website/blob/master/site/configure.xml#L228
mentions EC2, but there's no mention of it in the ec2.xml.   This fixes that.

Please submit the same change against the live branch, this way we can deploy it before 3.6.0 ships ;)


Create rule with input data (json)

Hi All,
I created an HTTP Endpoint with some rule conditions and it´s working.

But if I have 2 arrays in my request and added it to the rule conditions, it doesn't work.
This is my  request:
{
"partyadddata": {
"attribute": [{
"name": "servtype",
"value": "99"
}, {
"name": "authcode",
"value": "AAA"
}
]
},
"source": {
"name": "Pedro",
"lastname": "Yepes",
"age": "35"
}
}
This is my rule conditions:

Thank you very much for your help!

Thanks @elohim85. I'll take a look

Ok thanks

Hi @elohim85,
Sorry for delay for looking into this.
I've replicated your example above was able to successfully able to create the rule like so:

The issue you were facing was simply down to the syntax of your rule. For nested arrays this should look like so:
partyadddata.attribute.[0].name
partyadddata.attribute.[0].value
I hope this helps


Uninitalization considered harmful

Viktor prods me to comment on this in relation to rt 3824 https://rt.openssl.org/Ticket/Display.html?id=3824.  This is also related to #653.
Explicit finalization is dangerous (if it does anything at all anyways).
The problem that arises is this: when one calls something like C_Finalize() (from PKCS#11), but unbeknownst to the caller there are other users of the library in the same process using the same library, the result is surely undefined or similar.  Since OpenSSL is a library that is used by libraries (not just programs), and we have applications that load many libraries, this problem really does arise.
One could count initializations and finalize only when the count drops to zero.  But this would have to be thread-safe: a last finalization racing with a new initialization must not fail.
The simplest thing to do is to just not have an explicit finalizer.  Finalization on unload would be nice, but as discussed in #653, that's not really possible.  Finalization on process exit time via atexit() is much more feasible.
As to valgrind, Dr. Memory, and similar memory debuggers, perhaps OpenSSL should include a suppressions file if it must leak.  But first investigate using atexit().

FYI, the new auto deinit code already uses atexit().

What happens to the atexit() handler if the shared object providing the handler gets unloaded (or is that sufficient to ensure that it doesn't get unloaded?) Or do we need to do the trick you outline in #653 to make sure we don't get unloaded?

@mattcaswell Good.  But is there an explicit deinit function?  I believe such a thing should be documented as only safe to use from monolythic (non-layered) programs, and preferably not at all -- preferably there should be no such function!

@mattcaswell Well, a sufficiently smart C library could remove atexit() handlers when the objects providing them get unloaded.  But there's no guarantee of this.  I don't know that any C library is that smart, though we could check -- but I'm very pessimistic, and if it's just not documented, we can't rely on it anyways.
The same is much harder to do for thread-specific destructors because libdl and libpthread may be quite separate.  (This really is a mistake.  Both, libdl and libpthread should be part of the C library, either because that's how it is or because they can rendez-vous and cooperate with each other.  Solaris' and Illumos' C library integrates both.)  In any case, POSIX does not say that the two must cooperate.

I.e., I think we must do the dladdr() + dlopen() + leak the object handle.

There is an explicit deinit - OPENSSL_cleanup(). Documented here:
https://www.openssl.org/docs/manmaster/crypto/OPENSSL_init_crypto.html
The current documentation says this:
The OPENSSL_cleanup() function deinitialises OpenSSL (both libcrypto and libssl). All resources allocated by OpenSSL are freed. Typically there should be no need to call this function directly as it is initiated automatically on application exit. This is done via the standard C library atexit function. In the event that the application will close in a manner that will not call the registered atexit() handlers then the application should call OPENSSL_cleanup() directly. Developers of libraries using OpenSSL are discouraged from calling this function and should instead, typically, rely on auto-deinitialisation. This is to avoid error conditions where both an application and a library it depends on both use OpenSSL, and the library deinitialises it before the application has finished using it.

Process termination that elides atexit handlers probably shouldn't involve calling deinit functions either...  I mean, if you're calling _exit() (or kill(getpid(), <signal that will kill>)), there's probably a reason, and you might not be happy to first call functions that aren't async-signal-safe, which OPENSSL_cleanup() might not be (I've not looked).  Of course, that's up to the caller, but if one wants to valgrind a test that involves abnormal termination then the best thing to do IMO is to just suppress those leaks that are of no interest, or even to not check for leaks in that particular case.
Zero leaks on exit seems to me to be a bit of a fetish.  Don't get me wrong, I work towards zero-leaks-at-exit in projects I maintain (e.g., https://github.com/stedolan/jq, https://github.com/heimdal/heimdal), but there's a limit to how hard one ought to push that.
For something like OpenSSL, the first-order bit is to cleanup sensitive memory, but that probably should happen well before exit-time on long-running processes anyways, so it shouldn't be something that happens by calling a global deinit function.

I.e., s/should/might/ in the doc you quoted.  And whether OPENSSL_cleanup() is async-signal-safe ought to be documented.

so can we close this now?

As to valgrind, Dr. Memory, and similar memory debuggers, perhaps OpenSSL should include a suppressions file if it must leak. But first investigate using atexit().

Part of the problem is Java, .Net and similar. They load and unload the OpenSSL library multiple times, and it creates a unbounded memory leak that grows larger over time.

On Fri, Mar 11, 2016 at 03:05:17PM -0800, Jeffrey Walton wrote:

Part of the problem is Java, .Net and similar. They load and unload the OpenSSL library multiple times, and it creates a unbounded memory leak that grows larger over time.

What is leaking in that case and why?

I think that the answer is to not allow OpenSSL to be unloaded.  The only way unloading would be practical would be if OpenSSL did not establish thread-local variables with destructors.

My testing indicated that the atexit() handlers get called on unload (see https://github.com/openssl/openssl/issues/653#issuecomment-206343347). We have discouraged explicit deinit in the docs. I'm thinking this should be closed now.


Week1 Task 3

Issue: #3
Screenshot
Make sure to add all the required items as per each issue.

Duplicate of #298


Build failure: pkgsStatic.perl (Perl interpreter statically linked to Musl libc)

Steps To Reproduce
Steps to reproduce the behavior:

e.g. nix build -I nixpkgs=flake:github:NixOS/nixpkgs/23.11 nixpkgs#pkgsStatic.perl538

It still affects master as of 2024-03-12. edit: Changed title for clarity; pkgsMusl.perl is fine.
Build log

tail of build log
make -C dist/threads-shared/ PERL_CORE=1 LIBPERL=libperl.a LINKTYPE=static static
make[2]: Entering directory '/build/perl-5.38.2/dist/threads-shared'
"../../miniperl_top" "-I../../lib" "../../lib/ExtUtils/xsubpp"  -typemap '/build/perl-5.38.2/dist/threads-shared/../../lib/ExtUtils/typemap'  shared.xs > shared.xsc
mv shared.xsc shared.c
x86_64-unknown-linux-musl-gcc -c   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wall -Wno-use-after-free -fwrapv -fno-strict-aliasing   -DVERSION=\"1.68\" -DXS_VERSION=\"1.68\" -fPIC -Wno-unused-function "-I../.."   shared.c
In file included from /nix/store/5m5zr8z4m8wx4v2c6w3fwcg07igrwzjy-libxcrypt-static-x86_64-unknown-linux-musl-4.4.36/include/crypt.h:22,
                 from ../../reentr.h:124,
                 from ../../op.h:700,
                 from ../../perl.h:4542,
                 from shared.xs:131:
/nix/store/0nfn0979vnb1w48rzm5mkx9zvbrkmxpp-x86_64-unknown-linux-musl-gcc-13.2.0/x86_64-unknown-linux-musl/sys-include/sys/cdefs.h:1:2: warning: #warning usage of non-standard #include <sys/cdefs.h> is deprecated [-Wcpp]
    1 | #warning usage of non-standard #include <sys/cdefs.h> is deprecated
      |  ^~~~~~~
In file included from ../../perl.h:7816:
../../sv_inline.h:566:1: warning: 'always_inline' function might not be inlinable [-Wattributes]
  566 | Perl_SvPVXtrue(pTHX_ SV *sv)
      | ^~~~~~~~~~~~~~
../../sv_inline.h:536:1: warning: 'always_inline' function might not be inlinable [-Wattributes]
  536 | Perl_newSV_type_mortal(pTHX_ const svtype type)
      | ^~~~~~~~~~~~~~~~~~~~~~
rm -f "../../lib/auto/threads/shared/shared.a"
x86_64-unknown-linux-musl-ar cr "../../lib/auto/threads/shared/shared.a" shared.o
x86_64-unknown-linux-musl-ranlib "../../lib/auto/threads/shared/shared.a"
chmod 755 ../../lib/auto/threads/shared/shared.a
make[2]: Leaving directory '/build/perl-5.38.2/dist/threads-shared'
./miniperl_top statars B Devel::Peek Fcntl File::DosGlob File::Glob Hash::Util Hash::Util::FieldHash I18N::Langinfo Opcode POSIX PerlIO::encoding PerlIO::mmap PerlIO::scalar PerlIO::via SDBM_File Sys::Hostname XS::APItest XS::Typemap attributes mro re Compress::Raw::Bzip2 Compress::Raw::Zlib Digest::MD5 Digest::SHA Encode Filter::Util::Call IPC::SysV MIME::Base64 Math::BigInt::FastCalc List::Util Socket Sys::Syslog Time::Piece Unicode::Collate Data::Dumper Devel::PPPort IO Cwd Storable Time::HiRes Unicode::Normalize threads threads::shared > static.list
./miniperl_top extlibs B Devel::Peek Fcntl File::DosGlob File::Glob Hash::Util Hash::Util::FieldHash I18N::Langinfo Opcode POSIX PerlIO::encoding PerlIO::mmap PerlIO::scalar PerlIO::via SDBM_File Sys::Hostname XS::APItest XS::Typemap attributes mro re Compress::Raw::Bzip2 Compress::Raw::Zlib Digest::MD5 Digest::SHA Encode Filter::Util::Call IPC::SysV MIME::Base64 Math::BigInt::FastCalc List::Util Socket Sys::Syslog Time::Piece Unicode::Collate Data::Dumper Devel::PPPort IO Cwd Storable Time::HiRes Unicode::Normalize threads threads::shared > ext.libs
x86_64-unknown-linux-musl-gcc -Wl,-E -o perl perlmain.o libperl.a lib/auto/B/B.a lib/auto/Devel/Peek/Peek.a lib/auto/Fcntl/Fcntl.a lib/auto/File/DosGlob/DosGlob.a lib/auto/File/Glob/Glob.a lib/auto/Hash/Util/Util.a lib/auto/Hash/Util/FieldHash/FieldHash.a lib/auto/I18N/Langinfo/Langinfo.a lib/auto/Opcode/Opcode.a lib/auto/POSIX/POSIX.a lib/auto/PerlIO/encoding/encoding.a lib/auto/PerlIO/mmap/mmap.a lib/auto/PerlIO/scalar/scalar.a lib/auto/PerlIO/via/via.a lib/auto/SDBM_File/SDBM_File.a lib/auto/Sys/Hostname/Hostname.a lib/auto/XS/APItest/APItest.a lib/auto/XS/Typemap/Typemap.a lib/auto/attributes/attributes.a lib/auto/mro/mro.a lib/auto/re/re.a lib/auto/Compress/Raw/Bzip2/Bzip2.a lib/auto/Compress/Raw/Zlib/Zlib.a lib/auto/Digest/MD5/MD5.a lib/auto/Digest/SHA/SHA.a lib/auto/Encode/Encode.a lib/auto/Filter/Util/Call/Call.a lib/auto/IPC/SysV/SysV.a lib/auto/MIME/Base64/Base64.a lib/auto/Math/BigInt/FastCalc/FastCalc.a lib/auto/List/Util/Util.a lib/auto/Socket/Socket.a lib/auto/Sys/Syslog/Syslog.a lib/auto/Time/Piece/Piece.a lib/auto/Unicode/Collate/Collate.a lib/auto/Data/Dumper/Dumper.a lib/auto/Devel/PPPort/PPPort.a lib/auto/IO/IO.a lib/auto/Cwd/Cwd.a lib/auto/Storable/Storable.a lib/auto/Time/HiRes/HiRes.a lib/auto/Unicode/Normalize/Normalize.a lib/auto/threads/threads.a lib/auto/threads/shared/shared.a -lm -lcrypt -lpthread -ldl -lm -L/nix/store/ljqvlm46wa0v3r39kii8k2gzwk6jxybs-zlib-static-x86_64-unknown-linux-musl-1.3.1/lib -lz -lrt -lpthread
/nix/store/sqii1hjj7rr1d5c5wwxlswqrv39nispr-x86_64-unknown-linux-musl-binutils-2.41/bin/x86_64-unknown-linux-musl-ld: lib/auto/re/re.a(re_comp.o): in function `Perl_reg_add_data':
re_comp.c:(.text+0xa390): multiple definition of `Perl_reg_add_data'; libperl.a(regcomp.o):regcomp.c:(.text+0x70a0): first defined here
/nix/store/sqii1hjj7rr1d5c5wwxlswqrv39nispr-x86_64-unknown-linux-musl-binutils-2.41/bin/x86_64-unknown-linux-musl-ld: lib/auto/re/re.a(re_comp.o): in function `Perl_populate_anyof_bitmap_from_invlist':
re_comp.c:(.text+0xa8e0): multiple definition of `Perl_populate_anyof_bitmap_from_invlist'; libperl.a(regcomp.o):regcomp.c:(.text+0x7b60): first defined here
/nix/store/sqii1hjj7rr1d5c5wwxlswqrv39nispr-x86_64-unknown-linux-musl-binutils-2.41/bin/x86_64-unknown-linux-musl-ld: lib/auto/re/re.a(re_comp.o): in function `Perl_add_above_Latin1_folds':
re_comp.c:(.text+0xab10): multiple definition of `Perl_add_above_Latin1_folds'; libperl.a(regcomp.o):regcomp.c:(.text+0x7ce0): first defined here
/nix/store/sqii1hjj7rr1d5c5wwxlswqrv39nispr-x86_64-unknown-linux-musl-binutils-2.41/bin/x86_64-unknown-linux-musl-ld: lib/auto/re/re.a(re_comp.o): in function `Perl_set_ANYOF_arg':
re_comp.c:(.text+0xb020): multiple definition of `Perl_set_ANYOF_arg'; libperl.a(regcomp.o):regcomp.c:(.text+0x8160): first defined here
/nix/store/sqii1hjj7rr1d5c5wwxlswqrv39nispr-x86_64-unknown-linux-musl-binutils-2.41/bin/x86_64-unknown-linux-musl-ld: lib/auto/re/re.a(re_comp.o): in function `Perl_get_ANYOFM_contents':
re_comp.c:(.text+0xcf50): multiple definition of `Perl_get_ANYOFM_contents'; libperl.a(regcomp.o):regcomp.c:(.text+0x9d70): first defined here
/nix/store/sqii1hjj7rr1d5c5wwxlswqrv39nispr-x86_64-unknown-linux-musl-binutils-2.41/bin/x86_64-unknown-linux-musl-ld: lib/auto/re/re.a(re_comp.o): in function `Perl_get_ANYOFHbbm_contents':
re_comp.c:(.text+0xd020): multiple definition of `Perl_get_ANYOFHbbm_contents'; libperl.a(regcomp.o):regcomp.c:(.text+0x9e40): first defined here
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:154: perl] Error 1
make[1]: Leaving directory '/build/perl-5.38.2'
make: *** [Makefile:87: all] Error 2

full log
Additional context
I'm aiming for pkgsStatic.wine64Packages.minimal, which may be a fool's errand but it's worth a try.
Notify maintainers
@stigtsp @zakame @dasJ (and Eelco?)
Metadata
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 6.1.38, NixOS, 23.05 (Stoat), 23.05.1875.8df7a67abaf`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.13.3`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

Add a :+1: reaction to issues you find important.

There is an upstream issue, with a patch reported to fix it.
The commit has been already applied to Perl 5.39.2, so I'm unsure if it's better to attempt to patch 5.38 (current version), or to attempt to upgrade nixpkgs to 5.39.9 instead.

The commit has been already applied to Perl 5.39.2, so I'm unsure if it's better to attempt to patch 5.38 (current version), or to attempt to upgrade nixpkgs to 5.39.9 instead.

Nice find! I think we should conditionally patch this in nixpkgs, as 5.38 will stay around for a while.

I'm not very familiar with nix nor nixpkgs contribution process, but I'm trying it locally at this moment (and the world is being recompiled, so it's some sign of success, I guess).
If I'm able to have a successful build I'll submit a PR soon.

I'm happy to help out of course. Do you have a branch somewhere with those changes?

@stigtsp thanks for offering to help.
I've applied the patch regardless of it being a stdenv.hostPlatform.isStatic as upstream has changed for all stdlibs, but it can be checked if it would be better.

If you'd want to set up a PR I think that would be best, also we should be able to avoid mass rebuilds as mentioned here: https://github.com/NixOS/nixpkgs/commit/1cbba6d9bd08fe8c5947a1d4c2a6adcdae7a4cd4#r140306610

I'm still waiting on my Linux VM to finish compiling the world, which sounds like a good scenario.
Meanwhile I came across a chain of ~yaks~ issues on MacOS that prevents pkgsStatic.perl to cross-compile due to case-sensitiveness of the filesystem, even after enabling it. https://github.com/NixOS/nixpkgs/issues/113985#issuecomment-785024419 -> https://github.com/NixOS/nix/issues/1446 -> https://github.com/NixOS/nix/issues/9318
PS: Another ~yak~ issue appeared after being able to move nix-daemon to a TMPDIR that is case-sensitive:
       > Guessing build platform ... aarch64-apple-darwin
       > Configuring for a native build
       > Checking perl version ... perl5-5.38.2
       > Checking for cc ... aarch64-apple-darwin-clang
       > Checking for ar ... aarch64-apple-darwin-ar
       > Checking for nm ... aarch64-apple-darwin-nm
       > Checking for ranlib ... aarch64-apple-darwin-ranlib
       > Checking for readelf ... none found
       > ERROR: Cannot find readelf

I'm waiting for the Linux build to conclude in order to open a Pull Request.

I believe this is presently fixed in staging but not yet master? Thanks to those who contributed to that.

This seems fixed in staging (tested on 888bf6922bdb7faee5efffec3d1beffeaf64ef2e):
$ nom build .#pkgsStatic.perl
...
$ result/bin/perl -MConfig -E 'say $Config{archname}'
x86_64-linux-thread-multi
...
$ file result/bin/perl
result/bin/perl: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, not stripped


GitLab CI: Update to use latest Ruby

Which issue(s) this PR fixes:
None
What this PR does / why we need it:

Update Ruby versions used on GitLab CI
Fix build error on GitLab CI.

Docs Changes:
None
Release Note:
None

Result: https://gitlab.com/fluent/fluentd/-/pipelines/279890834
Now we've got almost all green.
A failed test is also occurred on GitHub Actions.


Sonic X Shadow Generations

Title: Sonic X Shadow Generations
AppID: 2513280
Configuration file(s) location:
Windows:
%APPDATA%\SEGA\SONIC_X_SHADOW_GENERATIONS\steam<user_id>\system\systemdata.sav
Linux:
/steamapps/compatdata/2513280/pfx/drive_c\users\steamuser\AppData\Roaming\SEGA\SONIC_X_SHADOW_GENERATIONS\steam<user_id>\system\systemdata.sav
Setting this file to read-only causes intermittent warnings about save data not being able to be read (while playing the game) and causes Steam to refuse to upload the data. Regardless, I am fairly certain that this systemdata.sav file contains only the configuration data for both the Sonic and Shadow halves of the game, because having it set to read-only seems to have no issues with saving game progression on a local basis.

Can you do a pull request with this?

I'm not sure what that means, I've never really used Github to be honest.


perlPackages: fix i686-linux

There are many perl packages affected by https://github.com/NixOS/nixpkgs/issues/29637 and https://github.com/NixOS/nixpkgs/pull/71377#issuecomment-544276474
The fix might have to be moved to buildPerlPackage
I have not done it only because there are some packages already fixed this way, so doing it in 2 steps (fix the rest of packages and then refactor the fix into buildPerlPackage) seems less error-prone than concurrently fix new packages and refactor old ones.
cc @rycee @stigtsp @c0bw3b

In recent PRs we've seen the issue arise on Darwin builds.
isi686 is (always) true on Darwin?

No.
You may need to alter it with stdenv.isi686 || stdenv.isDarwin for
the packages broken on darwin too (I have no darwin nor there is a
community builder, so darwin breakage (if any) is out of the scope of
this fix; anyway, the set of packages broken on darwin might be
different than on i686-linux)
On 10/22/19, Renaud<EMAIL_ADDRESS>wrote:

In recent PRs we've seen the issue arise on Darwin builds.
isi686 is (always) true on Darwin?
--
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub:
https://github.com/NixOS/nixpkgs/pull/71681#issuecomment-545016933

Ah ok.  Indeed, let's keep darwin failures as a separate issue.

When reviewing this PR on x64 linux I get :

1 package are marked as broken and were skipped:
ikiwiki
1 package failed to build:
rt
43 package were build:
abcde libguestfs libguestfs-with-appliance perl528Packages.AuthenDecHpwd perl528Packages.AuthenPassphrase perl528Packages.CSSMinifierXS perl528Packages.Catmandu perl528Packages.ClassMix perl528Packages.CryptEksblowfish perl528Packages.CryptMySQL perl528Packages.DataEntropy perl528Packages.DataUtil perl528Packages.Filelchown perl528Packages.HTMLEscape perl528Packages.JavaScriptMinifierXS perl528Packages.LinuxFD perl528Packages.MusicBrainzDiscID perl528Packages.ParamsClassify perl528Packages.Swim perl528Packages.SysVirt perl528Packages.UnicodeCaseFold perl530Packages.AuthenDecHpwd perl530Packages.AuthenPassphrase perl530Packages.CSSMinifierXS perl530Packages.Catmandu perl530Packages.ClassMix perl530Packages.CryptEksblowfish perl530Packages.CryptMySQL perl530Packages.DataEntropy perl530Packages.DataUtil perl530Packages.Filelchown perl530Packages.HTMLEscape perl530Packages.JavaScriptMinifierXS perl530Packages.LinuxFD perl530Packages.MusicBrainzDiscID perl530Packages.ParamsClassify perl530Packages.Swim perl530Packages.SysVirt perl530Packages.UnicodeCaseFold python27Packages.guestfs python37Packages.guestfs python38Packages.guestfs vagrant

rt failed to build with the following message :
Can't locate Date/Format.pm in @INC (you may need to install the Date::Format module) (@INC contains: /nix/store/04lklq7fivi9bc5lvbcsrggrg31i01sf-perl-5.30.0/lib/perl5/site_pe
rl/5.30.0/x86_64-linux-thread-multi /nix/store/04lklq7fivi9bc5lvbcsrggrg31i01sf-perl-5.30.0/lib/perl5/site_perl/5.30.0 /nix/store/04lklq7fivi9bc5lvbcsrggrg31i01sf-perl-5.30.0/
lib/perl5/site_perl /nix/store/d5sjvvnxgq72x0kqc7xsbyprx00afkpw-rt-perl-deps/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi /nix/store/d5sjvvnxgq72x0kqc7xsbyprx00afkpw-r
t-perl-deps/lib/perl5/site_perl/5.30.0 /nix/store/d5sjvvnxgq72x0kqc7xsbyprx00afkpw-rt-perl-deps/lib/perl5/site_perl /nix/store/04lklq7fivi9bc5lvbcsrggrg31i01sf-perl-5.30.0/lib
/perl5/site_perl/5.30.0/x86_64-linux-thread-multi /nix/store/04lklq7fivi9bc5lvbcsrggrg31i01sf-perl-5.30.0/lib/perl5/site_perl/5.30.0 /nix/store/04lklq7fivi9bc5lvbcsrggrg31i01s
f-perl-5.30.0/lib/perl5/site_perl /nix/store/d5sjvvnxgq72x0kqc7xsbyprx00afkpw-rt-perl-deps/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi /nix/store/d5sjvvnxgq72x0kqc7xs
byprx00afkpw-rt-perl-deps/lib/perl5/site_perl/5.30.0 /nix/store/d5sjvvnxgq72x0kqc7xsbyprx00afkpw-rt-perl-deps/lib/perl5/site_perl /nix/store/04lklq7fivi9bc5lvbcsrggrg31i01sf-p
erl-5.30.0/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi /nix/store/04lklq7fivi9bc5lvbcsrggrg31i01sf-perl-5.30.0/lib/perl5/site_perl/5.30.0 /nix/store/04lklq7fivi9bc5lv
bcsrggrg31i01sf-perl-5.30.0/lib/perl5/5.30.0/x86_64-linux-thread-multi /nix/store/04lklq7fivi9bc5lvbcsrggrg31i01sf-perl-5.30.0/lib/perl5/5.30.0) at /nix/store/d5sjvvnxgq72x0kq
c7xsbyprx00afkpw-rt-perl-deps/lib/perl5/site_perl/5.30.0/Mail/Field/Date.pm line 17.

I'm not sure this is caused by this change, but rt seems to build correctly on Hydra.

For me rt build failed much earlier, because mesa fails to build

If we are talking about nix-build -E '(import  (builtins.fetchTarball https://github.com/NixOS/nixpkgs/archive/86c8c5681aedb2aa671a5a528d338c4a3a77e882.tar.gz)  {}).rt'

Yet another package fixed with export LD=$CC: https://github.com/NixOS/nixpkgs/pull/71814


Infra: Create integration test for save-cloud

Test should start with /trigger endpoint invocation, check that test source is fetched (or should it be fetched beforehand with current architecture?), tests are discovered, containers are started, batches are distributed, containers are terminated at the end.
We have an API for that. We need some GitHub bot or ANY tool that you could suggest for our integration testing with saveourtool.com .
Other from that, it should also cover the following scenarios:

Submit execution with testing type: PUBLIC
Submit execution with testing type: PRIVATE
Submit execution with testing type: CONTEST_MODE
Submit rerun for all the above;

We have a client library for save and a task to revive it: https://github.com/saveourtool/save-cloud/issues/1061 - this is what you will need to check during this task. Because probably the best variant for us is to enhance this tool and use it for testing. Also it can be needed later for your task with SAVE GitHub integration.
I suggest to make decomposition of this task and split it to:

phase 1: [some tool, better save-api-cli] (https://github.com/saveourtool/save-cloud/tree/master/save-api-cli) using save-client connects to SAVEOURTOOL endpoints. Useful docs: https://github.com/saveourtool/save-cloud/blob/master/save-backend/Backend-API.md (please note, that this API is not updated, so there can be some gaps that you will need to cover)
1.5) Fix found issues in save-api
phase 2: create a GitHub bot (simply a scheduled action?) that runs these tests once each week (or manually to perform smoke tests after a large release)

Scheduled runs.

First successful run.
Source code: 0x6675636b796f75676974687562/save-backend-tests.
Closing.


Unable to Build

user@Project:~/dw/cso2/0.9.5$ npm run start
><EMAIL_ADDRESS>start /home/user/dw/cso2/0.9.5
> node dist/server.js
/home/user/dw/cso2/0.9.5/dist/server.js:32
throw new Error('USERSERVICE_HOST environment variable is not set.');
^
Error: USERSERVICE_HOST environment variable is not set.
at validateEnvVars (/home/user/dw/cso2/0.9.5/dist/server.js:32:15)
at Timeout.setInterval [as _onTimeout] (/home/user/dw/cso2/0.9.5/dist/server.js:105:5)
at ontimeout (timers.js:482:11)
at tryOnTimeout (timers.js:317:5)
at Timer.listOnTimeout (timers.js:277:5)
npm ERR! Linux 4.18.0-15-generic
npm ERR! argv "/usr/bin/node" "/usr/bin/npm" "run" "start"
npm ERR! node v8.10.0
npm ERR! npm  v3.5.2
npm ERR! code ELIFECYCLE
npm ERR<EMAIL_ADDRESS>start: node dist/server.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>start script 'node dist/server.js'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the cso2-master-server package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node dist/server.js
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs cso2-master-server
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls cso2-master-server
npm ERR! There is likely additional logging output above.

Sorry, I just fixed the instructions, you can see the updated README here.
You need to set the following environment variables:

USERSERVICE_HOST - the host where you're running the user service
USERSERVICE_PORT - the port the user service is listening to
INVSERVICE_HOST  - the host where you're running the user service
INVSERVICE_PORT - the port the inventory service is listening to

You can also read the instructions in cso2-master-services where you can use scripts to download and run everything for you


WIP: Converge on pets route

Describe your change in plain English.
Don't review this. Look away.
Link to the issue

Closing this because I don't think it's a good idea anymore.


Disk size is parsed using units.RAMInBytes

I was surprised that 100MB is parsed as 100MiB, as I expected the field to accept the same kind of units as Kubernetes resources (https://github.com/kubernetes/apimachinery/blob/master/pkg/api/resource/quantity.go).
Not sure if the Kubernetes package is re-usable from outside Kubernetes. If it isn't, then I think it would make more sense to parse disk sizes using units.FromHumanSize because disk sizes are customarily specified in decimal SI units.

https://go.dev/play/p/iEFcR-rkjN4
RAMInBytes("1MiB")=1048576
RAMInBytes("1MB")=1048576
FromHumanSize("1MiB")=1000000
FromHumanSize("1MB")=1000000

FromHumanSize("1MiB")=1000000 looks wrong


[Docker Image] Condition does not honour the architecture filter

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
Conditions of kind dockerimage are ignoring the architecture filter.
It leads to production deployment issues (ref. https://github.com/jenkins-infra/kubernetes-management/pull/4338) as the container images versions are published even if the target architecture is not available.
Expected Behavior
I expect conditions of kind dockerimage to fail when the provided architecture is invalid and/or does not have a corresponding manifest.
Steps To Reproduce
Any manifest with the following conditions:
conditions:
  checkDockerImagePublishedList:
    name: "Test jenkinsciinfra/wiki:<latest_version> docker image tag"
    kind: dockerimage
    sourceid: latestRelease
    spec:
      image: "jenkinsciinfra/wiki"
      architectures:
        - tttt
        - aaaa
  checkDockerImagePublishedString:
    name: "Test jenkinsciinfra/wiki:<latest_version> docker image tag"
    kind: dockerimage
    sourceid: latestRelease
    spec:
      image: "jenkinsciinfra/wiki"
      architecture: bbb

must fail as these architecture do no exist
Environment
- OS: Ubuntu, macOS
- updatecli: v0.59.0

Anything else?
This might be a broader issue (to the whole dockerimage resource 😱 )

I confirmed the bug.
I just tested the following manifest
sources:
  latestRelease:
    kind: dockerimage
    spec:
      image: "jenkinsciinfra/wiki"
      versionfilter:
        kind: semver
        pattern: '0.1.6'
      architecture: arm64

conditions:
  checkDockerImagePublishedList:
    name: "Test jenkinsciinfra/wiki:<latest_version> docker image tag"
    kind: dockerimage
    sourceid: latestRelease
    spec:
      image: "jenkinsciinfra/wiki"
      architectures:
        - arm64


[Feature Request] Local Friend and Avatar Favorites

Explain in detail what your suggested feature would be used for.
So I'm fairly new to VRC, and have noticed the limitation of only 3 Friend Favorites.
I'd like a Feature in VRCX, where you could add local Friend Favorite Lists and Avatar Favorite Lists.
Describe how it would look if it requires a UI.
The UI would look similar to the existing local World Lists.
Explain why people would want to use it.
If you want to actually group your friends by meaningful Groups, you need more than 3 Groups.
Even if it is only locally.

Local friend favorites would take a massive amount of work to add and is why it hasn't been added already.
Local avatar favorites used to be a thing but had to be removed after VRC+.

You'd be 100% correct, I can only dream it'll get put out of it's misery one day although after all I am half to blame for this monstrosity of a monolith, I can't imagine it'll be maintained after I'm done I would rewrite it but it's too far gone at this point.

Already many issues for this so I'll close this one

Easier said than done this program is a lot bigger than you'd think.


"Test: Run Test at Cursor" is too picky

VS Code Version: 1.62.3
OS Version: macOS 11.6.1

For C++ tests using the C++ TestMate extension, "Test: Run Test at Cursor" only works if the cursor is on the first line of the test case at column 0. For python tests, it works if the cursor is anywhere on the first line of the test case, up to column 0 of the next line.
This is way too restrictive; if my cursor is on the first line of the test, I can just as well click the green icon that's right next to it. The point of the "Run Test at Cursor" is that it should work when my cursor is anywhere inside the test case (with the beginning of the test case potentially scrolled out of view).
And that's how it worked in Test Explorer UI; I'm missing that behavior.
Now, you might argue that it's the extension's responsibility to set the range of the TestItem appropriately to cover the whole test case. Yes, the C++ TestMate extension sets the range to {line, 0, line, 0}, and the Python extension to {line, 0, line+1, 0}, hence the behavior described above.
However, I'd argue that this is too much of a burden for extension developers. Most underlying test frameworks only report the starting lines of test cases; actually I'm not aware of a single one that reports where a test case ends. This means that all extensions would have to implement the same heuristic to extend a TestItem's range until either the next item in the same file, or the end of the file if there's no next one. I'd argue that this should be done by the testing framework.
Long story short: I'm proposing to treat the "no-man's land" between two TestItems (or after the last item) in a file as belonging to the item before it.
Does this make sense, @connor4312?
(Cc @matepek, @karthiknadig)

Sure, we can use the closest test before the cursor if there's no exact range. I'm on vacation for a few weeks but PR's welcome.
Code pointer:
https://github.com/microsoft/vscode/blob/7dfcd74e6340a90b2681b10b33948014f8912643/src/vs/workbench/contrib/testing/browser/testExplorerActions.ts#L738-L754

I'm proposing to treat the "no-man's land" between two TestItems (or after the last item) in a file as belonging to the item before it.

Seconded

Here's a PR: #138001

/verified


Is it possible post metrics without service. prefix?

Hi. Thank you for nice product!
I've found mackerel-remora adds service. prefix to given metric names. (https://github.com/a-know/mackerel-remora/blob/master/metric/plugin.go#L14 / https://github.com/a-know/mackerel-remora/blob/master/metric/plugin.go#L48)
But we've been posting our service metrics without service. prefix, therefore I cannot keep using same service metric graphs while migrating from traditional crontab + mkr throw combinations.
Do you have any idea to solve this problem?  (Hopefully I'd like to request some feature to omit service. prefix)

Thank you for the issue!
I would like to support an option omitNamePrefix . 🤔
apibase: <apibase>
apikey: <apikey>
root: <rootdir>
plugin:
  servicemetrics:
    <servicename>:
      <settingname>:
        command: <command>
        user: <user>
        omitNamePrefix: true
        env:
          <envkey>: <envvalue>


Adding js element on toast not work

hi, i try to add click me on my toast, but doesnot work.
I use b5
thanks

@aparchitect In order to help we need a more descriptive  explanation of your problem, plus an live example. (Just follow the issue template)

Closing due to lack of response. You can comment here and we can re-open the issue.
This is an automated reply


Fix link in 2024-03-08-Episode-172.md

Fix Livebook link by escaping |
Currently, it looks like this ⬇. My guess is it's due to not escaping the |.

@Brian-M-J Thanks for the fix


Add retry to Cypress tests

Description
Adds Cypress retry config to enable flaky tests detection
Type of change

New feature (non-breaking change which adds functionality)

Can’t this make flakiness more obscured?

Hey @joshribakoff, just on it's own it does make flakiness hidden from sight but Cypress launched a way to catching those in a new tab of it's dashboard so we can properly analyze over time which tests have a flaky behaviour.
https://www.cypress.io/blog/2020/10/20/introducing-flaky-test-detection-alerts/


EINVAL in mfu_lseek() for very large files (>16TB)

Hi there!
We're trying to dsync a set of very large files (32TB) and the copy fails with the following error:
[709] [/dev/shm/mpifileutils-0.9.1/src/common/mfu_flist_copy.c:1262] ERROR: Couldn't seek in destination path `/oak/stanford/orgs/kipac/users/swmclau2/Darksky/ds14_a_1.0000' (errno=22 Invalid argument)

Both source and destination filesystems are Lustre.
The resulting copied file's size is only 16TB, so we suspect some kind of overflow in mfu_lseek().

Ah, well, it's not an overflow in mfu_lseek(), it's just that we're hitting a stripping limit on the destination filesystem.
Because the stripping information is not compatible between the two filesystems, it's not copied, and falls back to the default stripping on the destination filesystem, which is just 1 object per file.
And because the maximum size of a file on ldiskfs is 16TB, you can't have files larger than 16TB with only one stripe, hence the error.
So the fix is to pre-create the destination files and stripe them on multiple OSTs. Then the error goes away.
But that being said, the EINVAL error is a bit misleading. Would there be a way to get EFBIG (File too large) somewhere before hitting that point?

@kcgthb , I think we're just returning the error code from lseek(), which must be what lustre is handing back.  Do you know or can you test whether adding a truncate() before starting to copy the file would return EFBIG?  If so, perhaps we could try to truncate the inode to the correct size before starting the copy.

Another thing on our wishlist that would help in this case is to have options on dcp/dsync so that one can specify what the new striping params should be on destination files.  We could have something like dstripe options.

Using ftruncate() should provide a more descriptive error (eg. EFBIG):
{noformat}
lseek(0, 0, SEEK_CUR)                   = 0
open("/oak/stanford/orgs/kipac/users/swmclau2/Darksky/.sparse32T_s1", O_RDWR|O_CREAT, 0666) = 3
dup2(3, 1)                              = 1
close(3)                                = 0
ftruncate(1,<PHONE_NUMBER>8832)            = -1 EFBIG (File too large)
{noformat}
What we don't understand is why a sparse file of 16TiB is created (which matches the max object size of our ldiskfs backend) even though there is an error returned.

The normal sequence used in dsync for copying a file is to have one rank first create the inode with mknod(), and then different chunks of the file are assigned to ranks to be copied.  Each rank starts copying data with a loop of lseek() / read() / write() calls.  Finally after all ranks have copied their portion, ownership, permissions, and timestamps are set.
So here the mknod() succeeded to create the file, which would generate a 0-byte regular file.  This is also the point where the striping parameters are set in the case of Lustre.  Then during the copy phase, a rank detected an error when its lseek() failed.  Finally, dsync does not currently delete destination files that it failed to copy, so the partially written file is left in place.  Does that line up with what you see?

We could look at adding a step or an option to check and delete partial files. That's not exactly straight-forward, though.  We'd have to settle on which errors constitute a failure such that the file should be deleted.  For example, we know that copying some extended attributes are expected to fail in certain cases, so errors on some attributes should be ignored.

Taking a look at the code, we do have logic to identify and delete files that failed during the actual data copy:
https://github.com/hpc/mpifileutils/commit/f10cae3e409cc885f5d3e525ef58faf3fac6ccf5
However, I disabled it two days later and just before I merged it:
https://github.com/hpc/mpifileutils/commit/b6a597e1d635d06634e19df1e01a3b45b5da945b
Off the top of my head, I can't recall what reason I had for disabling it.  Anyway, that's something we need to look into again, especially if it's the case that we update the timestamps so that a subsequent dsync would miss retrying the file like we'd want it to.
Can you verify if it set the size and timestamps on the partial file to match those of the source file?

Another option could be to create the destination file sparse before starting to copy actual data, maybe?
After creating the file with mknod() and optionally applying the destination striping, trying to ftruncate() the destination file at its final size would likely trigger EFBIG earlier in the process, right?
Then, filesize comparison would need to rely on actually used blocks instead of apparent size, but maybe that's the case already.


Include Coronavirus flag in export

Add Coronavirus flag to XLS exported investigations file.

 (1) Include coronavirus flag in export.

functionally works fine as expected, not sure about performance impact though.

functionally works fine as expected, not sure about performance impact though.

It should not have any impact on the performance as this only adds a column from a row that's already been fetch from the database.


Enable multiple configurations

I am interested in using Elodie for my Synology NAS. But there are multiple users and probably everyone would want custom configurations.
Is there any way to have multiple configurations files for each user?

If I understand it right, this only works for changing the path of the configuration. Not to have multiple ones.
If I'm wrong, Do you have any doc of example on how to make it work for multiple users?
Thanks in advance. Awesome job in this project.

btw @jmathai I cannot reopen it, seems like I have not enough permissions.

You can do this directly on the command line or by wrapping this in a shell script. Essentially you need to set an environment variable when running a command such that it points to the appropriate folder for application directory.
export ELODIE_APPLICATION_DIRECTORY=~/.elodie/someuser
./elodie.py import /path/to/source

Oh I see, thanks!


Options are not preserved when CribbleController is dismissed

Instance of Cribble should have CribbleOptions associated with it and pass it to CribbleController upon its instantiation from storyboard.

@HiveHicks yep) I'm gonna add this feature for v1.1

Resolved https://github.com/maxsokolov/Cribble/pull/4


Fixing typo in the Packer functions description

Thanks! (CI failure should not be triggered by this PR)

Sure NP :)


Store scramble metadata into ScrambleMetaStore

ScrambleMeta gets stored into target db (default schema: verdictdbmetadata) when a scrambled table is created with 'create scramble...'
If a user query contains 'old_table' and its scrambled table exists as 'new_table', RelationStandardizer substitutes 'old_table' with 'new_table' -- there is no extra rewriting logic yet.
Added a logic so that parser parses "IF NOT EXISTS" for "CREATE SCRAMBLE TABLE" as well, but implementation has been added then removed because redshift had a problem with "CREATE TABLE IF NOT EXISTS ... COMPOUND SORTKEY" statement it currently uses for creating its scrambled tables

After this pull request is complete, I will ship a new version to the maven central.

Codecov Report

Merging #186 into master will decrease coverage by 0.06%.
The diff coverage is 87.43%.

@@            Coverage Diff             @@
##           master     #186      +/-   ##
==========================================
- Coverage   72.68%   72.62%   -0.05%
==========================================
  Files         140      141       +1
  Lines        8200     8292      +92
  Branches     1301     1310       +9
==========================================
+ Hits         5959     6021      +62
- Misses       1894     1926      +32
+ Partials      347      345       -2

Impacted Files
Coverage Δ

...in/java/org/verdictdb/commons/VerdictDBLogger.java
16.8% <0%> (+1.36%)
:arrow_up:

...ain/java/org/verdictdb/sqlsyntax/ImpalaSyntax.java
70.97% <100%> (+1.74%)
:arrow_up:

...org/verdictdb/core/scrambling/ScrambleMetaSet.java
100% <100%> (ø)
:arrow_up:

...va/org/verdictdb/core/scrambling/ScrambleMeta.java
81.7% <100%> (+1.1%)
:arrow_up:

...ctdb/core/scrambling/CreateScrambledTableNode.java
68.09% <100%> (+0.7%)
:arrow_up:

.../java/org/verdictdb/connection/JdbcConnection.java
85.26% <100%> (+0.29%)
:arrow_up:

...ava/org/verdictdb/metastore/ScrambleMetaStore.java
95.96% <100%> (+28.86%)
:arrow_up:

...a/org/verdictdb/core/sqlobject/DropTableQuery.java
100% <100%> (ø)
:arrow_up:

.../verdictdb/coordinator/SelectQueryCoordinator.java
93.43% <100%> (+0.57%)
:arrow_up:

...n/java/org/verdictdb/sqlwriter/DropTableToSql.java
100% <100%> (ø)
:arrow_up:

... and 21 more

Continue to review full report at Codecov.

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

I have added a separate ScrambleTableReplace class.


Automated Flannel version update 0.22.0

Automated changes by the cron-flannel-update GitHub action
Adds [Flannel add-on](https://kurl.sh/docs/add-ons/flannel) version 0.22.0.

There are several flannel PRs in flight, this should be regenerated after they are merged @camilamacedo86

After it pass in the testgrid we can get this one merged
I re-trigger the action to re-generated it with the changes in the main.
I think it is fine.
c/c @ricardomaraschini @laverya @rrpolanco


Display featured images on index page

Is there any easy way to display the featured image in the blog post index page? I think that could add a lot without over-cluttering things

You can customize the theme file to use an include there on your local version!


Issue with stacked DragTargets

Steps to reproduce

Have a first DragTarget,rejecting all Draggable, above a second one.
Start dragging a Draggable. The draggable is correctly handled by the first DragTarget.
The Draggable is not received by the second DragTarget

See the code sample to reproduce.
Expected results
The draggable should be received by the DragTarget visually behind, because the above DragTarget rejected the draggable
Note: In my app, I added this DragTarget rejecting all draggable to track the movements of draggables inside a region
Actual results
The DragTarget behind does not receive Draggable.
I don't understand what's trying to acheive the following bit of code but when I replace >= with ==, I have the expected result. But I guess it create other issues.
https://github.com/flutter/flutter/blob/92c7ba819129311def97a66b3f8a714b1e7590cb/packages/flutter/lib/src/widgets/drag_target.dart#L863-L877
Code sample
Code sample
import 'package:flutter/material.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
        useMaterial3: true,
      ),
      home: const MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({super.key, required this.title});
  final String title;

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        backgroundColor: Theme.of(context).colorScheme.inversePrimary,
        title: Text(widget.title),
      ),
      body: Column(
        children: [
          Padding(
            padding: const EdgeInsets.all(20.0),
            child: Row(
              mainAxisAlignment: MainAxisAlignment.center,
              children: [
                Builder(
                  builder: (context) {
                    final child = Container(
                      width: 200,
                      height: 125,
                      color: Colors.green,
                    );

                    return Draggable<String>(
                      data: "data",
                      feedback: child,
                      childWhenDragging: Opacity(opacity: 0.5, child: child),
                      child: child,
                    );
                  },
                ),
              ],
            ),
          ),
          Expanded(
            child: Stack(
              children: [
                Center(
                  child: DragTarget(
                    onWillAccept: (_) => true,
                    builder: (context, candidates, _) => Container(
                      color: Colors.yellow,
                      width: 250,
                      height: 250,
                      alignment: Alignment.center,
                      child: candidates.isNotEmpty
                          ? const Icon(Icons.check, size: 48)
                          : null,
                    ),
                  ),
                ),
                Positioned.fill(
                  child: DragTarget(
                    onWillAccept: (_) => false,
                    builder: (context, candidates, rejected) {
                      return IgnorePointer(
                        child: Container(
                          alignment: Alignment.topLeft,
                          padding: const EdgeInsets.all(10),
                          decoration: BoxDecoration(
                            border: Border.all(
                              color: rejected.isEmpty
                                  ? Colors.blue
                                  : Colors.purple,
                              width: 5,
                            ),
                          ),
                          child: Text(
                            "Entered: ${rejected.length}",
                            style: Theme.of(context).textTheme.headlineSmall,
                          ),
                        ),
                      );
                    },
                  ),
                ),
              ],
            ),
          ),
        ],
      ),
    );
  }
}

Screenshots or Video
No response
Logs
No response
Flutter Doctor output
Doctor output
[√] Flutter (Channel stable, 3.10.0, on Microsoft Windows [version 10.0.22621.3085], locale fr-FR)
    • Flutter version 3.10.0 on channel stable at C:\...
    • Upstream repository http://...
    • FLUTTER_GIT_URL = http://...
    • Framework revision 84a1e904f4 (9 months ago), 2023-05-09 07:41:44 -0700
    • Engine revision d44b5a94c9
    • Dart version 3.0.0
    • DevTools version 2.23.1
    • Pub download mirror http://...

[√] Windows Version (Installed version of Windows is version 10 or higher)

[!] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
    • Android SDK at C:\...
    • Platform android-33, build-tools 33.0.0
    • Java binary at: C:\...
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-b2043.56-9586694)
    X Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/windows#android-setup for more details.

[√] Chrome - develop for the web
    • Chrome at C:\...

[√] Visual Studio - develop for Windows (Visual Studio Community 2022 17.0.0)
    • Visual Studio at C:\...
    • Visual Studio Community 2022 version 17.0.31903.59
    • Windows 10 SDK version 10.0.19041.0

[√] Android Studio (version 2022.2)
    • Android Studio at C:\...
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
       https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-b2043.56-9586694)

[√] VS Code (version 1.85.0)
    • VS Code at C:\...
    • Flutter extension version 3.80.0

[√] Connected device (3 available)
    • Windows (desktop) • windows • windows-x64    • Microsoft Windows [version 10.0.22621.3085]
    • Chrome (web)      • chrome  • web-javascript • Google Chrome 121.0.6167.85
    • Edge (web)        • edge    • web-javascript • Microsoft Edge 119.0.2151.58

[!] Network resources
    X An HTTP error occurred while checking "https://maven.google.com/": Proxy failed to establish tunnel (403 Forbidden)
    X An HTTP error occurred while checking "https://cocoapods.org/": Proxy failed to establish tunnel (403 Forbidden)
    X An HTTP error occurred while checking "https://github.com/": Proxy failed to establish tunnel (403 Forbidden)

! Doctor found issues in 2 categories.

Thanks for the report. I was able to replicate the reported behavior, wherein, trying to drag the green box on top of yellow isn't occuring.

 stable, master flutter doctor -v
[!] Flutter (Channel stable, 3.16.9, on macOS 12.2.1 21D62 darwin-x64, locale
    en-GB)
    • Flutter version 3.16.9 on channel stable at
      /Users/dhs/documents/fluttersdk/flutter
    ! Warning: `flutter` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/flutter, which is not inside
      your current Flutter SDK checkout at
      /Users/dhs/documents/fluttersdk/flutter. Consider adding
      /Users/dhs/documents/fluttersdk/flutter/bin to the front of your path.
    ! Warning: `dart` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/dart, which is not inside your
      current Flutter SDK checkout at /Users/dhs/documents/fluttersdk/flutter.
      Consider adding /Users/dhs/documents/fluttersdk/flutter/bin to the front
      of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 41456452f2 (12 days ago), 2024-01-25 10:06:23 -0800
    • Engine revision f40e976bed
    • Dart version 3.2.6
    • DevTools version 2.28.5
    • If those were intentional, you can disregard the above warnings; however
      it is recommended to use "git" directly to perform update checks and
      upgrades.

[!] Xcode - develop for iOS and macOS (Xcode 12.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    ! Flutter recommends a minimum Xcode version of 13.
      Download the latest version or update via the Mac App Store.
    • CocoaPods version 1.11.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] VS Code (version 1.62.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.21.0

[✓] Connected device (5 available)
    • SM G975F (mobile)       • RZ8M802WY0X • android-arm64   • Android 11 (API 30)
    • Darshan's iphone (mobile)  • 21150b119064aecc249dfcfe05e259197461ce23 •
      ios            • iOS 14.4.1 18D61
    • iPhone 12 Pro Max (mobile) • A5473606-0213-4FD8-BA16-553433949729     •
      ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
    • macOS (desktop)            • macos                                    •
      darwin-x64     • Mac OS X 10.15.4 19E2269 darwin-x64
    • Chrome (web)               • chrome                                   •
      web-javascript • Google Chrome 98.0.4758.80

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.

[!] Flutter (Channel master, 3.20.0-4.0.pre.61, on macOS 12.2.1 21D62
    darwin-x64, locale en-GB)
    • Flutter version 3.20.0-4.0.pre.61 on channel master at
      /Users/dhs/documents/fluttersdk/flutter
    ! Warning: `flutter` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/flutter, which is not inside
      your current Flutter SDK checkout at
      /Users/dhs/documents/fluttersdk/flutter. Consider adding
      /Users/dhs/documents/fluttersdk/flutter/bin to the front of your path.
    ! Warning: `dart` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/dart, which is not inside your
      current Flutter SDK checkout at /Users/dhs/documents/fluttersdk/flutter.
      Consider adding /Users/dhs/documents/fluttersdk/flutter/bin to the front
      of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 88dead0168 (3 hours ago), 2024-02-08 23:17:10 -0500
    • Engine revision 377f1b0685
    • Dart version 3.4.0 (build 3.4.0-116.0.dev)
    • DevTools version 2.32.0
    • If those were intentional, you can disregard the above warnings; however
      it is recommended to use "git" directly to perform update checks and
      upgrades.

[!] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at /Users/dhs/Library/Android/sdk
    ✗ cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/macos#android-setup for
      more details.

[✓] Xcode - develop for iOS and macOS (Xcode 13.2.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 13C100
    • CocoaPods version 1.11.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] IntelliJ IDEA Ultimate Edition (version 2021.3.2)
    • IntelliJ at /Applications/IntelliJ IDEA.app
    • Flutter plugin version 65.1.4
    • Dart plugin version 213.7228

[✓] VS Code (version 1.62.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.29.0

[✓] Connected device (3 available)
    • Darshan's iphone (mobile) • 21150b119064aecc249dfcfe05e259197461ce23 • ios
      • iOS 15.3.1 19D52
    • macOS (desktop)           • macos                                    •
      darwin-x64     • macOS 12.2.1 21D62 darwin-x64
    • Chrome (web)              • chrome                                   •
      web-javascript • Google Chrome 109.0.5414.119

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 1 category.

[!] Xcode - develop for iOS and macOS (Xcode 12.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    ! Flutter recommends a minimum Xcode version of 13.
      Download the latest version or update via the Mac App Store.
    • CocoaPods version 1.11.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] VS Code (version 1.62.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.21.0

[✓] Connected device (5 available)
    • SM G975F (mobile)       • RZ8M802WY0X • android-arm64   • Android 11 (API 30)
    • Darshan's iphone (mobile)  • 21150b119064aecc249dfcfe05e259197461ce23 •
      ios            • iOS 14.4.1 18D61
    • iPhone 12 Pro Max (mobile) • A5473606-0213-4FD8-BA16-553433949729     •
      ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
    • macOS (desktop)            • macos                                    •
      darwin-x64     • Mac OS X 10.15.4 19E2269 darwin-x64
    • Chrome (web)               • chrome                                   •
      web-javascript • Google Chrome 98.0.4758.80

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.


Added Vietnamese translations

Hi there! First off, we take localization contributions on our discord, second off, your translation is incomplete, about half of the fields are untranslated.


Please support :contains and :eq Pseudo Selectors

cssToXPath("td:eq(0):contains('sometext')")

that would be so great!

This would be awesome. I'd love to be able to compile CSS selectors with :contains pseudo selectors for use in Selenium tests, etc.

my usecase is exactly the same

@pscheit I just submitted a PR for :contains(): #5
I'm not familiar with :eq() but I'm guessing it shouldn't be too difficult either.

:contains(text) not working. any update for this

@akhileshrangade I think :contains() doesn't work if the text has spaces in it :-/


Build Nuget package for ulib

Whole idea is to have ulib to be distributed, so somebody can use F* with F#
without specifying paths to ulib.dll

Not sure if this should supersede https://github.com/FStarLang/FStar/pull/2308, but I feel that it contains a lot of things which may be split and modified/createdindependently.

FStar SDK (collection of tools for running making integration easier with .NET) That's targets files. For now this is only extraction file, but maybe something more, I do not think thought that.
FStar runtime (that's actual fstar.exe + z3.exe + binary dependencies)
ULib itself

I understand that right now FStar.exe and ulib.dll is very closely tied together, but not sure that this is requirement. From what I see Ulib provide couple supplementary functions (which maybe not even used by F# extraction) and older Fstar compiler can work perfectly with newer Ulib.
I see modern F* + F# workflow like following
dotnet new -i Fstarlang
dotnet new fstar.library

which create approximately following fsproj
<Project Sdk="FStarLang.Sdk">
  <PropertyGroup>
    <TargetFramework>net6.0</TargetFramework>
  </PropertyGroup>
  <ItemGroup>
    <Compile Include="Program.fst" />
  </ItemGroup>
  <ItemGroup>
    <PackageReference Update="FStar.Ulib" Version="1.0.0" />
    <PackageReference Update="FSharp.Core" Version="4.3.4" />
  </ItemGroup>
</Project>

which hopefully just work, and you can work within Visual Studio or Visual Studio Code.
On the dotnet pack vs nuspec file. I usually prefer store all Nuget metadata in project file, since they are autoamatically applied to assembly as well, so there no need to mess with version in the Nuspec too much.
For example dotnet pack -c Release /p:VersionSuffix=2022.06.06 will produce version 1.0.0-2022.06.06 and all properties would be captured from project file which serves as substitute for nuspec.
@cc mateuszbujalski

Looks like a right way forward to me now that fstar has been migrated to sdk project and newer framework.
I think #2308 should be scrapped now, but you might want to reuse parts of it (e.g. the script to publish nugets to nuget.org - it was discussed with @tahina-pro at the time so perhaps a good base).
Regarding the fstar.exe and ulib coupling, I'm fairly sure fstar.exe won't work without ulib sources. The ulib.dll is only relevant for F#, and can be shipped separately.

see modern F* + F# workflow like following

looks great

Would be good to receive some feedback from @nikswamy or @tahina-pro

Hi  @nikswamy or @tahina-pro . Would like to nudge you to review this PR.


are product class labels switched?

Hello,
I'm looking at the new product class feature.
About the labels ... should not be the other way around?
https://github.com/mirumee/saleor/blob/master/saleor/dashboard/product/forms.py#L53-L59

You are right! Thanks :)


Mirror new exported functions from crypto/tls in Go 1.14

The annoying bit here is that due to // +build go1.14 CI isn't running the new tests. They pass locally for me with Go 1.14rc1.
We'll need to keep that build tag while we support Go 1.13 and Go 1.14, but at least once Go 1.14 is out we can have CI test this too. Once Go 1.15 hits and we move over we can merge the files together and remove the build constraint.

Codecov Report

Merging #187 into master will decrease coverage by 0.19%.
The diff coverage is 31.25%.

@@           Coverage Diff            @@
##           master    #187     +/-   ##
========================================
- Coverage   73.99%   73.8%   -0.2%
========================================
  Files          62      62
  Lines        3423    3439     +16
========================================
+ Hits         2533    2538      +5
- Misses        599     610     +11
  Partials      291     291

Flag
Coverage Δ

#go
73.68% <31.25%> (-0.32%)
:arrow_down:

#wasm
69.99% <31.25%> (-0.19%)
:arrow_down:

Impacted Files
Coverage Δ

cipher_suite.go
80% <31.25%> (-7.88%)
:arrow_down:

Continue to review full report at Codecov.

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

@at-wat Thanks for the review! I think I managed to address all of the comments.


"Trouble loading data"

After installing (v3.0.0), generating and running migrations, I get this when trying to update the data:
pry(main)> OfacSdnIndividualLoader.load_current_sdn_file
Not using mysql, will use active record to load data
Reloading OFAC sdn data
Downloading OFAC data from http://www.treas.gov/offices/enforcement/ofac/sdn
Trouble downloading file.  The url may have changed.

Any ideas or suggestions are appreciated.

I also tried reverting all of that and installing from v2.0.4 but encountered the same error.

Okay, issue is that http redirects to https and the read fails to follow the redirect.
This was fixed in https://github.com/kevintyll/ofac/commit/15ca3b82e2d4b8a93c2c713c3709e84598158d7f
Can we get a version bump / new gem release?

https://github.com/kevintyll/ofac/releases/tag/v3.0.1
Thanks!

I had merged the pull request, but apparently never pushed the gem.

Much appreciated @kevintyll, thanks for this awesome gem as well


fix(ui): display correct channel count when search or filter is applied

Description:
Currently, channel count is tied to allChannels.length which seem incorrect UX wise because the placement of that text implies that it shows a number of currently displayed channels. This PR makes it to use currentChannels instead so it respects search query and/or filters

How Has This Been Tested?
Manually

Screenshots (if appropriate):

Types of changes:

Checklist:

[x] My code follows the code style of this project.
[x] I have reviewed and updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes where needed.
[ ] All new and existing tests passed.
[x] My commits have been squashed into a concise set of changes.

Coverage remained the same at 20.097% when pulling 0656d29e454c3c8c4026aa1318b7e596f00951d9 on korhaliv:fix/channel-count into b5c1964d1a768cef1c65359be0cc5f50d7edd7c3 on LN-Zap:next.

@korhaliv I like this change. Do you think the copy should reflect what is shown as well? Instead of having Channels hardcoded it's All channels, Online channels, etc depending on the filter?

I'm torn here. From one point your suggestion adds more context, from the other it's less minimalistic because we will have 2 equal texts on the same page - one that you propose and current select filter name (which is obviously the same). I'd say leave generic one for now. But maybe we can get input from @mrfelton too and decide

I do think it would be good to include some detail about what the channel count is. It could be a little unclear since it’s not obvious when looking at the channel count what it is counting or that the count is relative to the active filter.
What about appending the name of the active filter after the channel count in the case it’s filtered?
Channels: 35
or if the pending filter is active:
Channels: 7 (pending)
or like:
Channels (pending): 7
Or:
Channels: 7 (show all)
With the ‘show all’ text acting as a link to clear the current filter and revert to showing all channels

@mrfelton i've fixed some bugs (see the latest commit) and cleaned up the PR. it's read for the re-review


[Doc]Update filemanager.md

What type of PR is this：

[ ] BugFix
[ ] Feature
[ ] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Which issues of this PR fixes ：

Fixes #
Problem Summary(Required) ：

Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] I have added user document for my new feature or new function

@mergify backport branch-2.3

run starrocks_admit_test

starrocks_be_unittest succeeded.


Combining with own tokenizer

This is a neat component. Quick question though; is there an easy way to combine this with my own custom tokenizer?

I guess it just uses whatever tokenizer you had before, right?


Move examples into their own project

This would simplify releases quite a lot. See https://github.com/finch/finch-samples

What are the benefits of moving the examples to their own repository? The examples module doesn't get published right, but it still gets compiled making sure the code is compatible with the new release.
I think it would be harder to keep the samples up-to-date (out of sight, out of mind).

As @DieBauer, I'm curious why this would be an improvement. It makes keeping the examples up-to-date harder, if things are in a different repository it is easier to forget them.
Also, how would this make releasing easier?

I think we should only move OAuth2 samples out of Finch (which is already done in #804). The rest of the samples will stay in Finch's main repository.


registerBlock has to be verified

A lot of the code assumes that TransferStates with a non-zero registerBlock had a valid on-chain registration.
Examples:
https://github.com/raiden-network/light-client/blob/0abfd9ee9d4359b150048f7018dd13fe07175086/raiden-ts/src/transfers/epics/close.ts#L49-L54
https://github.com/raiden-network/light-client/blob/0abfd9ee9d4359b150048f7018dd13fe07175086/raiden-ts/src/transfers/epics/locked.ts#L614
https://github.com/raiden-network/light-client/blob/0abfd9ee9d4359b150048f7018dd13fe07175086/raiden-ts/src/transfers/epics/expire.ts#L40-L41
https://github.com/raiden-network/light-client/blob/59e7662e643e5b0a17db8b46a44d29b471b0263d/raiden-ts/src/transfers/state.ts#L36-L40
However, that is not sufficient. Not only the secret has to be registered on-chain, but the block at which the secret was registered, must be smaller than the lock.expiration. All of the above sites and any other places that use registerBlock without comparing to the lock.expiration have to be fixed.

@hackaugusto , the registerBlock is set by the transferSecretRegister.success action, which is only emitted for a transfer if the register block was before the expiration block:
https://github.com/raiden-network/light-client/blob/0abfd9ee9d4359b150048f7018dd13fe07175086/raiden-ts/src/transfers/epics/secret.ts#L327-L333
That's why, in all these places, we assume if registerBlock is set and not zero, it happened before expiration. Is this enough?

We should add an additional check in the reducer too, to avoid a very edgy case where the registering gets detected inside the expiration period, reorged and confirmed on a block after expiration, which will make the above code not emit it, but it may get confirmed by confirmationEpic, which is the only case when the registerBlock can get set with a block after expiration.

Is this enough?

It looks like it is sufficient.
Ideally this information should somehow be encoded, maybe in the type or attribute name, I guess having an attribute successfullyRegisteredOnChain and a comment when the variable is set explaining the above would be sufficient to avoid confusion (at least for me). ATM the validation of a secret registration is split on multiple places, which makes it hard to understand if the code is correct.
I don't really understand the corner case you are talking about, maybe close this issue and open a new one with the corner case?

Let's keep this one, as the title is appropriate. I'll try to explain better this variable in the TransferState too, so it's made more obvious. The secret registration is validated  and emitted in only one place (the one I linked), and from there on, this state property is informative of the on-chain secret registration took place or not (therefore the checks out there), but we could inform it better and maybe split these kind of checks on their own standalone functions to make it centralized.


Adding an addres block on the title page

Hello,
Is it possible to add an adressblock in the lower left corner to the title page?
Also i would like to add an email adress underneath the author.
Thanks!
Johan

Please direct questions about usage to the project chat at https://asciidoctor.zulipchat.com. Thanks!


🐛 Check Content-Type request header before assuming JSON

🐛 Check Content-Type request header before assuming JSON
Related to #1018.

Edit by @tiangolo: Updated tests to include extra corner cases, and updated implementation to parse content-type headers using Python's standard library email module to cover more corner cases.

I think this needs to be thought about a bit more - there are other mime types that are JSON but which don't use the application/json minetype. application/hal+json is one such common example of this

Good point, @Mause. Based on this list of registered mimetypes, it seems safe to interpret as JSON any mimetype that ends with "json". Notably, this excludes the "json-seq" type, which is not itself a subset of JSON.

Another thing - you're also breaking content-type headers with charset or boundary values, such as application/json; charset=UTF-8

Perhaps some new tests are called-for at this point.

How do we like conflicts to be handled? I can rebase and force-push to my feature branch...

How do we like conflicts to be handled? I can rebase and force-push to my feature branch...

Hi @patrickkwang. Are you planning to merge this?

I've rebased and everything is green, but I do not have the necessary permissions to merge.

Hi @tiangolo, sorry to disturb you, but can you have a look at this? We've been using FastAPI, so far has been an excellent framework, but only because of strict json application type, we are facing troubles in documenting the examples.

Thanks @patrickkwang ! :rocket: :nerd_face:
And thanks for the thorough reviews @ArcLightSlavik and @Mause :bow: :cake:
I updated the tests to include extra corner cases and updated the implementation to parse the content-type headers using Python's standard library email module to cover more corner cases.

For what it's worth this appears to be a pretty big breaking change for clients who were previously not sending Content-Type headers. For example, some of our production clients started receiving a validation error from a route where previously it was working fine:
{"message":"Error processing request","error":"RequestValidationError","details":[{"loc":["body"],"msg":"value is not a valid dict","type":"type_error.dict"}]}

I understand the original default was incorrect but this fix breaks functional code and I believe the CVE would be resolved by assuming json in any case that is not exempted from CORS preflight (so don't assume json when the content-type is explicitly set to something not application/json)? Alternatively could the server author configure the default assumed content type?

This just cost me two days of debugging. Not so pleased right now.
I fully see and appreciate the reasoning behind stricter checks, mind you. Go ahead with that!
But the error message is rather misleading.  'value is not a valid dict' does not make me suspect my HTTP headers!
Is it possible to implement an exception that's more to the point here? I have the feeling I'm not the only one tearing their hair out over this...
Sorry for the venting -- FastAPI is and remains my favourite framework. Just feeling a bit betrayed by that error message?

For what it's worth this appears to be a pretty big breaking change for clients who were previously not sending Content-Type headers.
experiencing a similar problem right now (content-type is plain text). Bumping Fast API to 0.65.2 to breaks their integration, and we are not able to update all clients right away. So we either need to hold off on this and future FastAPI updates, or find a server side fix to go around it.

That's a very good point @jolynch! Thanks for idea.
I just released version 0.65.3 that does exactly that. If there's no Content-Type header, it is now assumed as JSON.
This still provides protection from CSRF because browsers automatically set Content-Type headers. And if an attacker removes the header explicitly, it triggers the CORS preflight, which provides the main protection using CORS.
So, you should all be able to upgrade to 0.65.3 more easily now. :tada:


The server returned a "406 Not Acceptable"

Final exception is this
Argument 1 passed to League\OAuth2\Client\Provider\AbstractProvider::prepareAccessTokenResponse() must be of the type array, string given, called in /var/www/html/testlaravel/vendor/league/oauth2-client/src/Provider/AbstractProvider.php on line 561 and defined
But When I debug the code I found I am getting error in $response. before calling this function prepareAccessTokenResponse
$response = $this->getResponse($request);

\n
\n
    \n
        \n
        An Error Occurred: Not Acceptable\n
    \n
    \n
        Oops! An Error Occurred\n
        The server returned a "406 Not Acceptable".\n
\n
        \n
            Something is broken. Please let us know what you were doing when this error occurred.\n
            We will fix it as soon as possible. Sorry for any inconvenience caused.\n
        \n
    \n
\n

Here is my complete code
$provider = new \League\OAuth2\Client\Provider\GenericProvider([
'clientId'                => 'XXXXXXXXX',    // The client ID assigned to you by the provider
'clientSecret'            => 'XXXXXXXX',   // The client password assigned to you by the provider
'redirectUri'             => 'XXXXXXXX',
'urlAuthorize'            => 'XXXXXXX/oauth/v2/auth',
'urlAccessToken'          => 'XXXXXXXXXX/oauth/v2/token',
'urlResourceOwnerDetails' => ''
]);
    if (!isset($_GET['code'])) {

        $authorizationUrl = $provider->getAuthorizationUrl();
        //return Redirect::to($authorizationUrl);
        header('Location: ' . $authorizationUrl);
        exit;

    }else{
        //dd($_GET['code']);
        try {
              $accessToken = $provider->getAccessToken('authorization_code', [
                  'code' => $_GET['code']
              ]);
              echo $accessToken->getToken() . "\n";
        }catch (\League\OAuth2\Client\Provider\Exception\IdentityProviderException $e) {
              exit($e->getMessage());
        }
    }

I am getting code but when try to get access token then it show error
$accessToken = $provider->getAccessToken('authorization_code', [
'code' => $_GET['code']
]);

It sounds like the authorization server you're using is expecting something that the GenericProvider class doesn't support. You may need to create your own provider class that extends AbstractProvider and follows the rules of the authorization server. It's hard to tell, without knowing more details about what service you are trying to use.

Closing this, as it seems like something specific to a single provider.


Add helpers to deploy forklift on k8s

Add helpers to deploy forklift on k8s or minikube

forklift-inventory.yaml                - replace the cluster internal forklift-inventory service with a nodePort one.
k8s-deploy-forklift.sh          - helper script to deploy forklift operator on k8s.
k8s-deploy-kubevirt.sh - helper script to deploy CDI, CNA and kubevirt on k8s.

Work flow:
A. create minikube cluster
To initiate a minikube cluster with a forklift (has cluster-admin role) user:
# optional, set the forklift user bearer token (default is "31ada4fd-adec-460c-809a-9e56ceb75269"):
# export K8S_AUTH_BEARER_TOKEN="31ada4fd-adec-460c-809a-9e56ceb75269"
bash ./scripts/configure-minikube.sh

B. install required operators
A hub (running forklift controller) minikube cluster requires:
bash ./scripts/k8s-deploy-forklift.sh

A target (running kubevirt controller) minikube cluster requires:
bash ./scripts/k8s-deploy-kubevirt.sh

C. run the UI
# start the console server
# use local running forklift operator running on http://localhost:8080
yarn start:console:minikube
# if the cluster inventory server use "feature_auth_required=false" and
# "inventory_tls_enabled=false" you can use that server
INVENTORY_SERVER_HOST=http://$(minikube ip):30080 yarn start:console:minikube

# on a different terminal, start the plugin
DATA_SOURCE=dynamic yarn start

@rszwajko added the wait after installing the olm operator as you suggested, please re-review


feat(log): exclude health query

HTTP logs for the health endpoint are excluded from logging, but when db.ECHO is enabled, health sql queries are not.
I thought of something like log.EXCLUDE_SQLA_ENGINES that would take an array of sqlalchemy engine to exclude from logging, so we could disable one or both as needed.

Related #174

SGTM!


Opening brackets, parens, curly braces not triggering closing brackets, parens, curly braces

After updating from LT 0.6.0 to LT 0.7.2, opening brackets/parens/curly braces is not triggering closing brackets/ parens/curly braces. It seems like this behaviour has been removed from the default.keymap file.
In order to return this behaviour, I needed to add the following to the user.keymap file:
 [:editor.keys.normal "(" (:editor.open-pair "(")]
 [:editor.keys.normal "{" (:editor.open-pair "{")]
 [:editor.keys.normal "[" (:editor.open-pair "[")]

 [:editor.keys.normal ")" (:editor.close-pair ")")]
 [:editor.keys.normal "}" (:editor.close-pair "}")]
 [:editor.keys.normal "]" (:editor.close-pair "]")]

 [:editor.keys.normal "\"" (:editor.repeat-pair "\"")]

It's quite frustrating to have this kind of functionality suddenly removed after an update.

Not sure if its this issue or a new repeat issue of a previous classic. But for international keyboards (norwegian, german etc). The 0.7.0 "fix" hasn't solved anything when you actually want matching (:


Exception handling in OpenMP regions

According to the OpenMP specification:

A throw executed inside a parallel region must cause execution to resume within the same parallel region, and the same thread that threw the exception must catch it.

Any exception that reaches the end of a parallel region uncaught will cause the program to abort.
LightGBM uses exception collectors to capture the exceptions and rethrow them outside the parallel regions, in the main thread. They seem to be used in all the parallel regions that allocate memory to prevent crashes due to uncaught bad_alloc exceptions.
In DMLC, there is also an exception collector class, but it does not seem to be used in XGBoost to handle bad_alloc exceptions in OpenMP regions.
It would be great if XGBoost could handle these exceptions in the same way as LightGBM.
I can try to submit a contribution regarding this issue if you agree on the need for it.

Thanks for the suggestions.  We covered some of the regions but still many are left.  Feel free to open a PR and ping me for review.  ;-)

There are some utility functions in common/threading_utils.h if that helps.


cgal add_externalproject

Hi,
I would like to ask your advice how you would add a dependency of cgal as external project to your project?
I mean this CMakeLists.txt that download dependencies:
https://github.com/hshikata/udivone/blob/daba4ea493189c9e0118328d5f863f6a9f3cbf2e/superbuild/CMakeLists.txt
It is the only good repository that shows good examples for windows, and I am seeking your advice.

Hi.
While I do not have an environment I can try at this moment, I would assume you can take one of the ExternalProject_Add() command as a template. The source code is hosted on github and you should now the version you would like to use. What I did for other 3rd party libraries was that I downloaded the code, and used cmake to configure/build them as standalone. During the process, you should know which "CMAKE_ARGS" you need to set for your purpose. A few parameters are common, but others are library dependent. You might need to change the source code for a particular platform by applying a patch. The CMakeLists.txt contains such case.
ExternalProject_Add(cgal
GIT_REPOSITORY https://github.com/CGAL/cgal.git
GIT_TAG v5.4.1
UPDATE_COMMAND ""
CMAKE_ARGS
-DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_INSTALL_PREFIX}
Add args as needed
)
Hope this helps.

This worked perfectly thank you


Why does hr have 2 border rules?

The hr component has a border: 0, then the Scally/user-defined border. Why?
https://github.com/chris-pearce/scally/blob/master/core/base/_horizontal-rule.scss#L20

That's a bug, it should be border-top as per: https://github.com/h5bp/html5-boilerplate/blob/master/dist/css/main.css#L41-L48.


ToggleBeam(false) not working with Bezier pointers

ToggleBeam(true) works fine, and displays the Bezier pointer.
ToggleBeam(false) does not work -- the cursor and the curved arc remain visible in space.
In glancing through the code, I notice that in VRTK_BasePointer.cs, the DisablePointerBeam() method just calls TurnOffBeam(), which is the same method that ToggleBeam(false) calls, so it works fine.
However, in VRTK_BezierPointer.cs the overridden DisablePointerBeam() method also calls TogglePointerCursor(false) and curvedBeam.TogglePoints(false), neither of which get called when ToggleBeam(false) is used.
Maybe override TurnOffBeam() in VRTK_BezierPointer, instead of overriding DisablePointerBeam()?  Not sure if that's the cleanest solution or not.

PR to resolve the issue: https://github.com/thestonefox/VRTK/pull/798


Incorrect bindings when two contracts have the same name but different letter cases

Description
When there are two (or more?) contracts that share the same name, but which have a different letter case, TypeChain fails to generate the bindings correctly.
Reproduction

Clone https://github.com/hifi-finance/hifi/tree/9aa96fd38fb727049735993c4e6180990bad58db.
Install dependencies via yarn
Build packages via yarn build
Create a .env file by following the .env.example
Run yarn workspace @hifi/flash-swap typechain
Open the packages/flash-swap/typechain/IErc20.d.ts file.

You should see the same output as in this gist. Notice that:

The file name is IErc20.d.ts, although the class defined inside is IERC20.
There is no other IERC20.d.ts file in the typechain folder.

Possible Solutions

Consider two contracts that differ even in the case of one letter case as two different contracts, and fix the bug.
Alert the user that they can't use two contracts with the same name, even if they may have different letter cases.

Environment

<EMAIL_ADDRESS><EMAIL_ADDRESS>

I think there is a third solution which is that TypeChain should recreate nested directory structure when creating typings. This should prevent any name collisions (but it gets trickier b/c we export all symbols in a convenient way...)

At a quick glance, normalizeName doesn't seem to cause IERC20 to IErc20. Need to investigate what causes that.


Migrate Script Edits to Reflection

It would be best not to modify scripts, and instead use reflection to access private members or getting a field

Forced to add Harmony, as there's no way to implement/override LocalizedTextJsonConverter without it


Local history max entries not visually applied to timeline

Testing #145461

Set workbench.localHistory.maxFileEntries to something small like 2
Make some local history changes
🐛 Sometimes the list has 3 or more items in it as the deletes get processed. I would expect that even though file deletions and updates are async we should not render the extras in the list since this is the users specified max.

Stepping through this it would seem https://github.com/microsoft/vscode/blob/422b41d16e04a3722e9c756f4d8fb64da259bbd5/src/vs/workbench/contrib/localHistory/browser/localHistoryTimeline.ts#L83 never actually gets called. I would expect that when the limit is hit, every new save event would trigger two events, one adding a new entry and one deleting the oldest entry. But I only see the one event firing.
Also, I am able to click into the events past the limit and their contents are correct, so the limit isn't being applied in some way.

@JacksonKearl imho the timeline API misses a way for me to indicate that an entry is removed. For performance reasons, local history entries are only removed on shutdown because otherwise every editor save is not only a file operation for creating the history entry but also a delete.
I now gave up to be clever and just always set reset: true in the change event for the timeline to re-render everything 🤷
https://github.com/microsoft/vscode/blob/777b3866f296da18a96dfbb13423387efcb4f716/src/vs/workbench/contrib/localHistory/browser/localHistoryTimeline.ts#L101


new logging notes

@clebertsuconic
I had a quick look at your latest changes and noted some things, thought it might be easier to give them with just a draft PR.

@gemmellr why did you close it?

@gemmellr why did you close it?

Just as I wasnt expecting you to use the commit directly,so I figured once you knew about it I could close it hehe

I'm lazy... easier to merge it.. and pull the comments, and ammend on the code...
thanks for those


Swap StickerBOM arguments to command line

Right now StickerBOM parameters (label and page details, and list of suppliers to output) are variables in the file. Better if they file provided defaults that were overridden with command line options using argparse.

Requesting assignment


Port ConvMixer to keras_core

Update imports
remove tensorflow_addons dependency and replace the adamw optimizer with keras_core.optimizers.AdamW.
Update checkpoint path with .weights.h5    checkpoint_filepath = "/tmp/checkpoint/best_model.weights.h5"
Colab Notebook

Already Converted and merged. Closing