SSL not working

Issue Type

Bug Report / Support Request

Your Environment
Vagrant 1.8.6
VirtualBox 5.1.10r112026
ansible <IP_ADDRESS>
  config file =
  configured module search path = Default w/o overrides

Your OS

macOS (version)

Summary
Adding SSL to my config.yml works fine, using this:
apache_vhosts_ssl:
  - servername: "{{ drupal_domain }}"
    documentroot: "{{ drupal_core_path }}"
    certificate_file: "/vagrant/example.crt"
    certificate_key_file: "/vagrant/example.key"
    extra_parameters: |
          ProxyPassMatch ^/(.*\.php(/.*)?)$ "fcgi://<IP_ADDRESS>:9000{{ drupal_core_path }}"

I am able to add the exception to my browser, but I am then presented with the Apache welcome screen.
/etc/httpd/conf.d/vhosts.conf file:
DirectoryIndex index.php index.html

<VirtualHost *:80>
  ServerName d7dev.local
  ServerAlias www.d7dev.local
  DocumentRoot /var/www/drupalvm/drupal

  <Directory "/var/www/drupalvm/drupal">
    AllowOverride All
    Options -Indexes +FollowSymLinks
    Require all granted
  </Directory>
  <FilesMatch \.php$>
  SetHandler "proxy:fcgi://<IP_ADDRESS>:9000"
</FilesMatch>

</VirtualHost>

<VirtualHost *:80>
  ServerName adminer.d7dev.local
  DocumentRoot /opt/adminer

  <Directory "/opt/adminer">
    AllowOverride All
    Options -Indexes +FollowSymLinks
    Require all granted
  </Directory>
  <FilesMatch \.php$>
  SetHandler "proxy:fcgi://<IP_ADDRESS>:9000"
</FilesMatch>

</VirtualHost>

<VirtualHost *:80>
  ServerName xhprof.d7dev.local
  DocumentRoot /usr/share/php/xhprof_html

  <Directory "/usr/share/php/xhprof_html">
    AllowOverride All
    Options -Indexes +FollowSymLinks
    Require all granted
  </Directory>
  <FilesMatch \.php$>
  SetHandler "proxy:fcgi://<IP_ADDRESS>:9000"
</FilesMatch>

</VirtualHost>

<VirtualHost *:80>
  ServerName pimpmylog.d7dev.local
  DocumentRoot /usr/share/php/pimpmylog

  <Directory "/usr/share/php/pimpmylog">
    AllowOverride All
    Options -Indexes +FollowSymLinks
    Require all granted
  </Directory>
  <FilesMatch \.php$>
  SetHandler "proxy:fcgi://<IP_ADDRESS>:9000"
</FilesMatch>

</VirtualHost>

<VirtualHost *:80>
  ServerName <IP_ADDRESS>
  ServerAlias dashboard.d7dev.local
  DocumentRoot /var/www/dashboard

  <Directory "/var/www/dashboard">
    AllowOverride All
    Options -Indexes +FollowSymLinks
    Require all granted
  </Directory>
  <FilesMatch \.php$>
  SetHandler "proxy:fcgi://<IP_ADDRESS>:9000"
</FilesMatch>

</VirtualHost>

<VirtualHost *:443>
  ServerName d7dev.local
  DocumentRoot /var/www/drupalvm/drupal

  SSLEngine on
  SSLCipherSuite AES256+EECDH:AES256+EDH
  SSLProtocol All -SSLv2 -SSLv3
  SSLHonorCipherOrder On
  SSLCompression off
  SSLCertificateFile /vagrant/example.crt
  SSLCertificateKeyFile /vagrant/example.key

  <Directory "/var/www/drupalvm/drupal">
    AllowOverride All
    Options -Indexes +FollowSymLinks
    Require all granted
 </Directory>
  ProxyPassMatch ^/(.*\.php(/.*)?)$ "fcgi://<IP_ADDRESS>:9000/var/www/drupalvm/drupal"

</VirtualHost>

looks fine. What could this be?

Just to be clear, my site does not work under ssl (even though the vhosts file looks fine). It works fine on port 80.

I guess it shouldnt matter but you should update your config to match the new default setup.
apache_vhosts_ssl:
  - servername: "{{ drupal_domain }}"
    documentroot: "{{ drupal_core_path }}"
    certificate_file: "/vagrant/example.crt"
    certificate_key_file: "/vagrant/example.key"
    extra_parameters: "{{ apache_vhost_php_fpm_parameters }}"

This will use
<FilesMatch \.php$>
  SetHandler "proxy:fcgi://<IP_ADDRESS>:9000"
</FilesMatch>

Rather than
ProxyPassMatch ^/(.*\.php(/.*)?)$ "fcgi://<IP_ADDRESS>:9000/var/www/drupalvm/drupal"

like the other vhosts.

@adamtyoung did you solve this or are you still having issues?

Closing for now; please let me know if this is still an issue for you.

I'm struggeling with the same issue. Using CentOS 6 I followed your instructions on http://docs.drupalvm.com/en/latest/configurations/webservers-apache/#enable-ssl-support-with-apache by generating the certificate and adding the following lines to config.yml:
apache_vhosts_ssl:
  - servername: "{{ drupal_domain }}"
    documentroot: "{{ drupal_core_path }}"
    certificate_file: "/vagrant/example.crt"
    certificate_key_file: "/vagrant/example.key"
    extra_parameters: "{{ apache_vhost_php_fpm_parameters }}"

After vagrant reload --provision I get redirected to the apache welcome screen, when I try to access the domain via HTTPS. It prompts me:

You should add your website content to the directory /var/www/html/
Listing the vhosts gives me:

[vagrant@crm conf.d]$ httpd -S
AH00112: Warning: DocumentRoot [/usr/share/php/xhprof_html] does not exist
VirtualHost configuration:
*:80                   is a NameVirtualHost
         default server mydomain.dev (/etc/httpd/conf.d/vhosts.conf:4)
         port 80 namevhost mydomain.dev (/etc/httpd/conf.d/vhosts.conf:4)
                 alias www.mydomain.dev
         port 80 namevhost adminer.mydomain.dev (/etc/httpd/conf.d/vhosts.conf:20)
         port 80 namevhost xhprof.mydomain.dev (/etc/httpd/conf.d/vhosts.conf:35)
         port 80 namevhost pimpmylog.mydomain.dev (/etc/httpd/conf.d/vhosts.conf:50)
         port 80 namevhost <IP_ADDRESS> (/etc/httpd/conf.d/vhosts.conf:65)
                 alias dashboard.mydomain.dev
*:443                  is a NameVirtualHost
         default server mydomain.dev (/etc/httpd/conf.d/ssl.conf:56)
         port 443 namevhost mydomain.dev (/etc/httpd/conf.d/ssl.conf:56)
         port 443 namevhost mydomain.dev (/etc/httpd/conf.d/vhosts.conf:82)
ServerRoot: "/etc/httpd"
Main DocumentRoot: "/var/www/html"
Main ErrorLog: "/etc/httpd/logs/error_log"
Mutex authdigest-opaque: using_defaults
Mutex proxy-balancer-shm: using_defaults
Mutex rewrite-map: using_defaults
Mutex authdigest-client: using_defaults
Mutex ssl-stapling: using_defaults
Mutex proxy: using_defaults
Mutex authn-socache: using_defaults
Mutex ssl-cache: using_defaults
Mutex default: dir="/run/httpd/" mechanism=default
Mutex mpm-accept: using_defaults
PidFile: "/run/httpd/httpd.pid"
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
User: name="apache" id=48 not_used
Group: name="apache" id=48 not_used

Is it OK, that mydomain.dev is listed twice (/etc/httpd/conf.d/ssl.conf:56 and /etc/httpd/conf.d/vhosts.conf:82)?
I'm using the latest master (2b3f96fec10d790c098f78ac00f565e9f07b2d7d).

@pminf - Do you know how the domain got listed inside /etc/httpd/conf.d/ssl.conf? Maybe that definition has something incorrect that's throwing Apache for a loop... I don't believe the geerlingguy.ansible role ever touches the ssl.conf file with virtualhost information.

It's just _default_:443 and the DocumentRoot part is comment:
#
## SSL Virtual Host Context
##

<VirtualHost _default_:443>

# General setup for the virtual host, inherited from global configuration
#DocumentRoot "/var/www/html"
#ServerName www.example.com:443

# Use separate log files for the SSL virtual host; note that LogLevel
# is not inherited from httpd.conf.
ErrorLog logs/ssl_error_log
TransferLog logs/ssl_access_log
LogLevel warn

#   SSL Engine Switch:
#   Enable/Disable SSL for this virtual host.
SSLEngine on

#   SSL Protocol support:
# List the enable protocol levels with which clients will be able to
# connect.  Disable SSLv2 access by default:
SSLProtocol all -SSLv2

#   SSL Cipher Suite:
#   List the ciphers that the client is permitted to negotiate.
#   See the mod_ssl documentation for a complete list.
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5:!SEED:!IDEA

#   Speed-optimized SSL Cipher configuration:
#   If speed is your main concern (on busy HTTPS servers e.g.),
#   you might want to force clients to specific, performance
#   optimized ciphers. In this case, prepend those ciphers
#   to the SSLCipherSuite list, and enable SSLHonorCipherOrder.
#   Caveat: by giving precedence to RC4-SHA and AES128-SHA
#   (as in the example below), most connections will no longer
#   have perfect forward secrecy - if the server's key is
#   compromised, captures of past or future traffic must be
#   considered compromised, too.
#SSLCipherSuite RC4-SHA:AES128-SHA:HIGH:MEDIUM:!aNULL:!MD5
#SSLHonorCipherOrder on

#   Server Certificate:
# Point SSLCertificateFile at a PEM encoded certificate.  If
# the certificate is encrypted, then you will be prompted for a
# pass phrase.  Note that a kill -HUP will prompt again.  A new
# certificate can be generated using the genkey(1) command.
SSLCertificateFile /etc/pki/tls/certs/localhost.crt

#   Server Private Key:
#   If the key is not combined with the certificate, use this
#   directive to point at the key file.  Keep in mind that if
#   you've both a RSA and a DSA private key you can configure
#   both in parallel (to also allow the use of DSA ciphers, etc.)
SSLCertificateKeyFile /etc/pki/tls/private/localhost.key

#   Server Certificate Chain:
#   Point SSLCertificateChainFile at a file containing the
#   concatenation of PEM encoded CA certificates which form the
#   certificate chain for the server certificate. Alternatively
#   the referenced file can be the same as SSLCertificateFile
#   when the CA certificates are directly appended to the server
#   certificate for convinience.
#SSLCertificateChainFile /etc/pki/tls/certs/server-chain.crt

#   Certificate Authority (CA):
#   Set the CA certificate verification path where to find CA
#   certificates for client authentication or alternatively one
#   huge file containing all of them (file must be PEM encoded)
#SSLCACertificateFile /etc/pki/tls/certs/ca-bundle.crt

#   Client Authentication (Type):
#   Client certificate verification type and depth.  Types are
#   none, optional, require and optional_no_ca.  Depth is a
#   number which specifies how deeply to verify the certificate
#   issuer chain before deciding the certificate is not valid.
#SSLVerifyClient require
#SSLVerifyDepth  10

#   Access Control:
#   With SSLRequire you can do per-directory access control based
#   on arbitrary complex boolean expressions containing server
#   variable checks and other lookup directives.  The syntax is a
#   mixture between C and Perl.  See the mod_ssl documentation
#   for more details.
#<Location />
#SSLRequire (    %{SSL_CIPHER} !~ m/^(EXP|NULL)/ \
#            and %{SSL_CLIENT_S_DN_O} eq "Snake Oil, Ltd." \
#            and %{SSL_CLIENT_S_DN_OU} in {"Staff", "CA", "Dev"} \
#            and %{TIME_WDAY} >= 1 and %{TIME_WDAY} <= 5 \
#            and %{TIME_HOUR} >= 8 and %{TIME_HOUR} <= 20       ) \
#           or %{REMOTE_ADDR} =~ m/^192\.76\.162\.[0-9]+$/
#</Location>

#   SSL Engine Options:
#   Set various options for the SSL engine.
#   o FakeBasicAuth:
#     Translate the client X.509 into a Basic Authorisation.  This means that
#     the standard Auth/DBMAuth methods can be used for access control.  The
#     user name is the `one line' version of the client's X.509 certificate.
#     Note that no password is obtained from the user. Every entry in the user
#     file needs this password: `xxj31ZMTZzkVA'.
#   o ExportCertData:
#     This exports two additional environment variables: SSL_CLIENT_CERT and
#     SSL_SERVER_CERT. These contain the PEM-encoded certificates of the
#     server (always existing) and the client (only existing when client
#     authentication is used). This can be used to import the certificates
#     into CGI scripts.
#   o StdEnvVars:
#     This exports the standard SSL/TLS related `SSL_*' environment variables.
#     Per default this exportation is switched off for performance reasons,
#     because the extraction step is an expensive operation and is usually
#     useless for serving static content. So one usually enables the
#     exportation for CGI and SSI requests only.
#   o StrictRequire:
#     This denies access when "SSLRequireSSL" or "SSLRequire" applied even
#     under a "Satisfy any" situation, i.e. when it applies access is denied
#     and no other module can change it.
#   o OptRenegotiate:
#     This enables optimized SSL connection renegotiation handling when SSL
#     directives are used in per-directory context.
#SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire
<Files ~ "\.(cgi|shtml|phtml|php3?)$">
    SSLOptions +StdEnvVars
</Files>
<Directory "/var/www/cgi-bin">
    SSLOptions +StdEnvVars
</Directory>

#   SSL Protocol Adjustments:
#   The safe and default but still SSL/TLS standard compliant shutdown
#   approach is that mod_ssl sends the close notify alert but doesn't wait for
#   the close notify alert from client. When you need a different shutdown
#   approach you can use one of the following variables:
#   o ssl-unclean-shutdown:
#     This forces an unclean shutdown when the connection is closed, i.e. no
#     SSL close notify alert is send or allowed to received.  This violates
#     the SSL/TLS standard but is needed for some brain-dead browsers. Use
#     this when you receive I/O errors because of the standard approach where
#     mod_ssl sends the close notify alert.
#   o ssl-accurate-shutdown:
#     This forces an accurate shutdown when the connection is closed, i.e. a
#     SSL close notify alert is send and mod_ssl waits for the close notify
#     alert of the client. This is 100% SSL/TLS standard compliant, but in
#     practice often causes hanging connections with brain-dead browsers. Use
#     this only for browsers where you know that their SSL implementation
#     works correctly.
#   Notice: Most problems of broken clients are also related to the HTTP
#   keep-alive facility, so you usually additionally want to disable
#   keep-alive for those clients, too. Use variable "nokeepalive" for this.
#   Similarly, one has to force some clients to use HTTP/1.0 to workaround
#   their broken HTTP/1.1 implementation. Use variables "downgrade-1.0" and
#   "force-response-1.0" for this.
BrowserMatch "MSIE [2-5]" \
         nokeepalive ssl-unclean-shutdown \
         downgrade-1.0 force-response-1.0

#   Per-Server Logging:
#   The home of a custom SSL log file. Use this when you want a
#   compact non-error SSL logfile on a virtual host basis.
CustomLog logs/ssl_request_log \
          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

</VirtualHost>


Mobile friendly

Only noticeable issue is that changing screens took too long. Specially hdkeys and multisig addresses. Maybe a "loading" dialog would be nice. Other than that, LGTM


addCard function?

Great utility,
I'd really like a way to add cards dynamically.  Am I missing something?
Thanks.

Thank @brightak for using this library.
I'll make sure that your request will be a part of the next release. I'm keeping this issue as open.


How to deal with a html input that includes a transparent color?

Test
The above example can't be displayed. The style background-color has a value of transparent color.  This can't be displayed on HtmlTextView since it shows a black text on black background instead on a colorless background. Please test and provide solution since I really need this issue to get solved. Thanks!

@eucliddelphi sorry didn't support css style yet.


Add a function to SaplingParamTool for verifying the checksum of sapling parameter files

This issue is blocked by #204 because the tool needs to exist first before we can add to it.
As an app developer, I'd like to validate the checksum of sapling parameter files so that I can create a better experience for users when these files are invalid and need to be fetched by informing them.
This issue falls under the parent issue for param files.
Context
If anything goes wrong while downloading the param files, then the simplest fix is to fetch them again. Users can achieve this by clearing the app cache or app developers can do this automatically. Either way, having a function to determine that the files are corrupt (or truncated or otherwise invalid) is useful.
Implementation Details

[ ] Expose a function in the RustWelding layer that can perform a checksum of the param files

[ ] optional: be able to confirm each file separately so that wallets don't always download both when one is bad

[ ] Add a function (or two functions such as validateOutputParamChecksum() and validateSpendingParamChecksum()) to the SaplingParamTool that calls this new rust function
[ ] Update the SaplingParamTool.validate() function so that it fails when one or both of the param files have an invalid checksum

Note: Ensuring that the RustBackend is properly loaded at the right time and available to the tool could get tricky.
Note: Hopefully, there is a suitable function in librustzcash that we can call that returns helpful errors that we can map in the SDK. Then this may be as simple as calling validateSaplingParams or something similar in the RustBackend.
Criteria

A function exists in SaplingParamTool that returns false (or throws an exception) when the param files have an invalid checksum
Behavior mirrors DerivationTool--functions are called statically
The SaplingParamTool.validate() function fails when the param files exist but have an invalid checksum. Currently, the function only checks that the files exist.

This was implemented by Honza.


ASP.NET Core CORS policy not working after integrating IdentityServer4

After integrating IdentityServer4, the CORS is not working which was working fine without the IdentityServer4. Does it need further configurations?
Startup.cs
public void ConfigureServices(IServiceCollection services)
{
    services.AddCors(options =>
    {
        options.AddPolicy("AllowSpecificOrigin",
            builder => builder
                .WithOrigins("http://localhost:4200")
                .AllowAnyHeader()
                .AllowAnyMethod()
                .AllowCredentials()
            );
    });

    services.AddMvc();

    services.AddIdentityServer()
        .AddDeveloperSigningCredential()
        .AddInMemoryApiResources(Config.GetApiResources())
        .AddInMemoryClients(Config.GetClients());

    services.AddMvcCore()
        .AddApiExplorer()
        .AddAuthorization()
        .AddJsonFormatters();

    services.AddAuthentication("Bearer")
        .AddIdentityServerAuthentication(options =>
        {
            options.Authority = "http://localhost:5000";
            options.RequireHttpsMetadata = false;
            options.ApiName = "userInfo";
        });

    services.AddSingleton<IConfiguration>(Configuration);
    ...
}

// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
    if (env.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();
    }

    app.UseCors("AllowSpecificOrigin");

    app.UseIdentityServer();

    app.UseMvcWithDefaultRoute();
}

Debug the HTTP traces. Check the IdSvr logs.

No idea how to do this.

Its working fine when calling via Postman

Most dev tools (postman) dont care about SOP (and hence obaying CORS headers) - so it will 'work' in postman.
Your startup looks weird. You've got .AddMvc() and also .AddMvcCore() can't remember of the top of my head, but I think AddMvc adds an opinionated set of services (a default configuration). So one, or the other, is unnecessary.
I think that also idsrv sets cors headers itself based on allowed cors origins on a per client configuration.
Try reviewing your startup (remove explicit cors setup) and try with that.
Hope that helps!

@Mardoxx Yes I'm running IdentityServer on the same existing project which is on port 5000 and the angular app is running on port 4200.

All set on this issue -- can we close?

And.... was solved?

In Configure.cs, i changed lines and work it. I think it's a bug.
When it was:
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }
            app.UseIdentityServer();
            app.UseCors("default");

            app.UseAuthentication();
            app.UseMvc();
        }

It gives me a 'CORS' error, but when i changed:
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }

           app.UseCors("default");
            app.UseIdentityServer();

            app.UseAuthentication();
            app.UseMvc();
        }

It worked.

Yes, CORS config needs to come prior to any authentication middleware.

Thanks for feedback!


BUG: stats: don't emit invalid warnings if moments are infinite

Silence nan floating point warnings in rv_generic.stats, when
calculating derived values that may be nan if higher moments are
infinite.
This means calculations that do inf - inf or inf/inf.
Fixes the one crystalball moments failure currently on master.

Do you have a link to the test run to see which distributions this affects?
Distributions that have undefined (nan) or infinite theoretical moments should specify this in the distribution specific method.
If these are numerical problems like overflow, then maybe the examples should be adjusted.
(I don't remember anything about crystalball)

https://travis-ci.org/scipy/scipy/jobs/259105158

The distribution I think explicitly returns infinities from its _munp method as appropriate.
But stats() does further computations based on these values.

Ok, it would be possible to avoid computing g1 in the generic code if either m2 or m3 or both are inf or nan.
However that requires another lazywhere or similar while floating point computation with it produce the correct results with just the warning noise.

Yes, as far as I understand the produced results are reasonable, and it's a bit fiddly to explicitly specify these when whether the moments exist depends on the parameters.

One could argue whether this should be fixed at the level of the concrete distribution (cf_lazywhere gymnastics at crystalball._munp). However this is a simpler fix, and in it goes.


Replace pluralize() with plural() or  to make some UI elements translatable.

Replace all pluralize (defined by src/lib/strings/helpers.ts) with plural or Plural (defined by @lingui/macro) to make some UI elements translatable.
Delete pluralize() and related test.

Going to review in a bit but going to drop in -- I tried this previously and hit some strange compile issues. Forget the details but need to be sure this is tested on all platforms

I tested this patch only on my Ubuntu 22.04.3 environment.

I setup Android dev environment and tested and got error.
Calling new Intl.PluralRules(...) inside plural() produced TypeError: Cannot read property 'prototype' of undefined error.
I found in lingui document that React Native doest not support Intl.PluralRules API, so plural() / <Plural> doest not work correctly.
Polyfilling Intl APIs

Updated this PR for Android and iOS platform (tested on Android/iOS emulators).

Hi @pfrazee , is there any problem that prevents the development team from merging this PR into the main, as we need to l10n some parts of the UI properly, it would be good for many l10n people if this PR is accepted.

Hey I'm sorry this has sat for so long. I'm finally getting a look at it.

Thank you again -- merged via #3882


Add FBX to options and modules

This should've been added long ago but better late than never.

As far as I know, the FBX module is editor-only. The website intentionally doesn't expose editor-only modules in the interest of simplicity – most people will not build custom editor builds in an attempt to make them smaller for distribution.

Well, I think custom builds that add new features (such as custom nodes) should be taken into consideration. If someone wants to test such a module unrelated to editor only features they probably won't want to build them too.

Superseded by https://github.com/godot-build-options-generator/godot-build-options-generator.github.io/pull/10.


Compress images size in website

Description
The following images should be compressed, totaling 3,398.6 KIB, which is quite a lot.

https://deploy-preview-2318--flowforge-website.netlify.app/img/manufacturing.png ( 2,458.9 KiB)
https://deploy-preview-2318--flowforge-website.netlify.app/img/webinar.png (719.8 KIB)
https://deploy-preview-2318--flowforge-website.netlify.app/img/blog.png (583.6 KIB)
https://deploy-preview-2318--flowforge-website.netlify.app/img/newsletter.png (249.3 KiB)
https://deploy-preview-2318--flowforge-website.netlify.app/img/pidd-view.png (356.1 KIB)

Epic/Story
No response
Have you provided an initial effort estimate for this issue?
I have provided an initial effort estimate

Forgot it's netlify preview!


Fix new resolver code to uniqueify markers

Fixes #1617, #1622

All windows tests passed on here btw


Climate sensitivity ref

Updated reference with likely distribution: https://agupubs.onlinelibrary.wiley.com/doi/10.1029/2019RG000678

The 66% range is 2.6–3.9 K for our Baseline calculation and remains within 2.3–4.5 K under the robustness tests; corresponding 5–95% ranges are 2.3–4.7 K, bounded by 2.0–5.7 K (although such high-confidence ranges should be regarded more cautiously).

We have a lognormal of 3.25 +/- 0.65, so actually exactly 2.6-3.9 K. Can add this as an additional citation, though.

Actually, our current citation is another Sherwood et al., just from 2020. Glad that they're consistent!

Woot! Okay, thanks for checking.


Support get plt frame data

support get plt frame data
resolve: #4477
resolve: #4542

How about adding an unintest for grayscale images

How about adding an unintest for grayscale images


Support Electron v25

Hello,
I'm reaching out to request support for Electron v25. I'm experiencing a crash with the following error message: "Error: Could not detect abi for version 25.2.0 and runtime electron. Updating 'node-abi' might help solve this issue if it is a new release of Electron."
Thank you in advance for your assistance.
Best regards,

Hi,
I've already added the support in https://github.com/m4heshd/better-sqlite3-multiple-ciphers/commit/3c76237c19ec8e5d3e2549ff78b4f7ead9d72402 but never did a release for just that. It's gonna need a new beta release for the package.
Subscribe to release notifications. I'll try to do a beta as soon as I get some free time.

UPDATE:
It seems like I can do a stable release 8.5.0 since @mceachen also did because of all the nagging at https://github.com/WiseLibs/better-sqlite3/pull/1013. 😆

Just released v8.5.0. Prebuilt binaries will be ready in a couple of hours. Closing the issue.

Referring back to your previous fix, it appears that there might be a missing prebuilt binary package for Windows. Here's the relevant log:
`npm run build:main exited with code 0
• electron-builder  version=24.6.3 os=22.2.0
• loaded configuration  file=package.json ("build" field)
• writing effective config  file=release/build/builder-effective-config.yaml
• rebuilding native dependencies<EMAIL_ADDRESS>platform=win32 arch=arm64
• install prebuilt binary  name=better-sqlite3-multiple-ciphers version=8.5.0 platform=win32 arch=arm64 napi=
⨯ cannot build native dependency  reason=prebuild-install failed with error and build from sources not possible because platform or arch not compatible
cause=exit status 1
errorOut=prebuild-install info begin Prebuild-install version 7.1.1
prebuild-install warn install prebuilt binaries enforced with --force!
prebuild-install warn install prebuilt binaries may be out of date!
prebuild-install info looking for local prebuild @ prebuilds/better-sqlite3-multiple-ciphers-v8.5.0-electron-v116-win32-arm64.tar.gz
prebuild-install info looking for cached prebuild @ /Users/user/.npm/_prebuilds/095f9e-better-sqlite3-multiple-ciphers-v8.5.0-electron-v116-win32-arm64.tar.gz
prebuild-install http request GET https://github.com/m4heshd/better-sqlite3-multiple-ciphers/releases/download/v8.5.0/better-sqlite3-multiple-ciphers-v8.5.0-electron-v116-win32-arm64.tar.gz
prebuild-install http 404 https://github.com/m4heshd/better-sqlite3-multiple-ciphers/releases/download/v8.5.0/better-sqlite3-multiple-ciphers-v8.5.0-electron-v116-win32-arm64.tar.gz
prebuild-install warn install No prebuilt binaries found (target=25.0.1 runtime=electron arch=arm64 libc= platform=win32)
                                command=/Users/user/.nvm/versions/node/v16.16.0/bin/node /Users/user/code/electron-react-boilerplate/release/app/node_modules/prebuild-install/bin.js --platform=win32 --arch=arm64 --target=25.0.1 --runtime=electron --verbose --force

`

@willemdjong That's expected because we aren't building for Windows on arm since it's not possible to do so at the moment. GitHub doesn't provide arm based runners. You can take a look at their response at https://github.com/actions/runner-images/issues/768. arm64 is only supported using self-hosted runners which aren't free to set up.


Improvement of build workflow

Codecov Report

:exclamation: No coverage uploaded for pull request base (develop@94bae3d). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             develop      #68   +/-   ##
==========================================
  Coverage           ?   96.68%
==========================================
  Files              ?       32
  Lines              ?     1177
  Branches           ?        0
==========================================
  Hits               ?     1138
  Misses             ?       39
  Partials           ?        0

Continue to review full report at Codecov.

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

@Galileo-Galilei there's a great Markdown linter you might be interested in: https://github.com/DavidAnson/markdownlint

Starting the review process.

When you confirm you are ok now, I'll rebase it locally.

Codecov Report

:exclamation: No coverage uploaded for pull request base (develop@94bae3d). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             develop      #68   +/-   ##
==========================================
  Coverage           ?   96.71%
==========================================
  Files              ?       32
  Lines              ?     1186
  Branches           ?        0
==========================================
  Hits               ?     1147
  Misses             ?       39
  Partials           ?        0

Continue to review full report at Codecov.

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


Fix special URLs for lbry.tv

lbry.com/?rewards used to work recently, but no longer does. These special URLs should be redirected to https://lbry.tv/$/

And make sure something like lbry://?rewards&utm_source=emails works

Closing in favor of #3256


feat: boxy atoms

Our box behaviour was wrong on atoms, the correct behaviour upstream is:
   $ < 42
~~null~~

   $ > < 42
~~null~~

This broke the link code, which I've BRUTALISED (without understanding) back to passing tests.

This looks good to me, ready to merge?


Remote build failed

Hi there,
I have been trying to install Balena Sound onto a NUC build of the OS.
I have tried a one click deploy and a CLI deploy and they both fail.
[sound-supervisor]  Successfully built 809c956e012d
[spotify]           Here are a few details about this Docker image (For more information please visit https://www.balena.io/docs/reference/base-images/base-images/
):
[spotify]           Architecture: Intel 64-bit (x86-64)
[spotify]           OS: Debian Buster
[spotify]           Variant: run variant
[spotify]           Default variable(s): UDEV=off
[spotify]           Extra features:
[spotify]           - Easy way to install packages with install_packages <package-name> command
[spotify]           - Run anywhere with cross-build feature  (for ARM only)
[spotify]           - Keep the container idling with balena-idle command
[spotify]           - Show base image details with balena-info command
[spotify]           OK
[spotify]           deb https://dtcooper.github.io/raspotify jessie main
[spotify]           Reading package lists...
[spotify]           Building dependency tree...
[spotify]           Reading state information...
[spotify]           E: Unable to locate package raspotify
[spotify]
[spotify]           apt failed, retrying
[spotify]           Reading package lists...
[spotify]           Building dependency tree...
[spotify]           Reading state information...
[spotify]           E: Unable to locate package raspotify
[spotify]
[spotify]           apt failed, retrying
[spotify]           Reading package lists...
[spotify]           Building dependency tree...
[spotify]           Reading state information...
[spotify]           E: Unable to locate package raspotify
[spotify]
[spotify]           Removing intermediate container fe67f7014cbc
[spotify]           The command '/bin/sh -c curl -sSL https://dtcooper.github.io/raspotify/key.asc | apt-key add -v - 2> /dev/null   && echo 'deb https://dtcooper.
github.io/raspotify jessie main' | tee /etc/apt/sources.list.d/raspotify.list   && install_packages raspotify' returned a non-zero code: 100
[Info]              Uploading images
[Success]           Successfully uploaded images
[Error]             Some services failed to build:
[Error]               Service: spotify
[Error]                 Error: The command '/bin/sh -c curl -sSL https://dtcooper.github.io/raspotify/key.asc | apt-key add -v - 2> /dev/null   && echo 'deb https:
//dtcooper.github.io/raspotify jessie main' | tee /etc/apt/sources.list.d/raspotify.list   && install_packages raspotify' returned a non-zero code: 100
[Info]              Built on x64_01
[Error]             Not deploying release.
Remote build failed
Cant seem to get it deploy the release to the application and device.

Hey @smegoff I just tried a deploy and it built and deployed successfully. Can you retry yours? Might be it was a temporary networking problem (looks like you were not able to get raspotify files from their server)


Issue 182 - Fix Error Category Colors on Overview

Okay, after seeing this in person, I think the approach can work. It definitely seems easier to read and clearer compared to the old version. I would suggest a couple tweaks:

The order of the errors and the gradient should be fixed. So the tool-tip should always show System, Data, Algorithm from left to right (like the health meter) and the gradient should also follow that from bottom to top (since that matches typical lighting used in icons). That should reinforce the legend and make things feel more consistent across the grid cells.

We might want to consider using a similar gradient effect for running vs. completed jobs for consistency? At a minimum I think we should add running count on the same line as completed to reinforce what the count means that's displayed in the cell. So if we do that it, it would probably look nicer if it was styled the same way the errors are.

Sorted errors into System > Data > Algorithm order, and added running count to the tooltip.  I don't think adding a gradient for running vs. completed is necessary - the tooltip is enough to get that across.

LGTM.

Showed this to JP and he brought up some questions. Can possibly be reviewed during the next sprint meeting.

Job types with running jobs now have a background animation; changed data errors to orange as JP suggested; reordered error categories to reflect their severity.

I think the orange is probably okay.
I still have concerns that the pulsing may make the dashboard harder to interpret when you have so many things changing on the screen at once, compared to the single cell on the data feed page. We can try it for a bit and see how others feel. One other idea I had was maybe using a single spinner somewhere towards the top of the grid cells with the total number of running jobs so that you still get a feel for something happening, but in a form that's a bit less overwhelming.

I'm going to merge this but leave issue #182 open so we can make a decision later based on feedback from others.


Revert "Move flowSetupTimer from CommonMetrics to ExecMetrics (#2138)"

This reverts commit 3d13a95e46675377576d076c68d090aaaef90256.
Encountering issues with missing web server metrics. Let's revert this change to metrics for now.

Pull Request Test Coverage Report for Build 4447

5 of 6 (83.33%)  changed or added relevant lines in 3 files are covered.
21 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.07%) to 37.043%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

azkaban-exec-server/src/main/java/azkaban/execapp/FlowRunnerManager.java
0
1
0.0%

Files with Coverage Reduction
New Missed Lines
%

azkaban-exec-server/src/main/java/azkaban/execapp/event/JobCallbackRequestMaker.java
21
56.25%

Totals

Change from base Build 4446:
-0.07%

Covered Lines:
10972

Relevant Lines:
29620

💛  - Coveralls

This is unrelated to the issues with web server metrics. Keeping these changes.


[RFC] scripts/ci: Merge ci-tools back into main Zephyr repository

Put the scripts from the ci-tools repository in scripts/ci in the main Zephyr
repository, where they used to be.
Here's why I think it's a good idea:

A single PR can change both Zephyr code and CI code, e.g. to add a new test
related to the PR, or modify the whitelist for a test

It makes people more likely to notice CI changes

It makes the CI scripts easier to discover

It makes the CI scripts easier to run. No need to clone a separate
repository.

It means you automatically get the corresponding CI checks when you
check out a particular Zephyr version, which are guaranteed to pass

Use a merge commit (with --allow-unrelated-histories) so that the ci-tools
history is preserved.

This just moves the CI scripts back. If this goes in, then other CI plumbing will have to be changed as well to point to scripts/ci in the main repo.

I am preemptively blocking this from getting merged until @thst-nordic has had a chance to take a look. We asked to split this out for a couple of reasons, one of which was to be able to freeze the ci-tools version we use downstream to any revision we needed regardless of zephyr upmerges.

Why do you need to freeze the version of the ci-tools repo? I wonder if there might be a simple purely downstream fix.

Why do you need to freeze the version of the ci-tools repo?

Because incoming upstream changes were breaking downstream CI.

I wonder if there might be a simple purely downstream fix.

Not without guaranteeing API stability for this code, which I'm guessing nobody will want to put the effort into doing (are you volunteering? :smile:).

Blocking such changes related to CI because some downstream CI might break IMO is a non-starter. This script is primarily designed and intended for Zephyr and how zephyr CI works, if someone downstream uses that, it is fine, but it should not block merging changes, etc.
I do not remember why we split this, I think it was mostly related to how zephyr CI works and not because of someone else using it downstream. Pulling this back into Zephyr has lots of advantages, most of which we have seen and identified over the last few months where we had to make changes to ci-tools to pass in the main tree. The other main reason which will soon hit us is if we start making changes that depend on master, CI in 1.14 branch will start failing (Both branches use the same version). Of course we could branch ci-tools, but this will get more complicated in how this script operates and it will be difficult to keep the script and the code base it is supposed to test in sync.

@mbolivar
There's a trade-off between people doing out-of-tree custom CI and everyone else here I think. Bending over backwards too much to accommodate exotic tweaks outside of Zephyr might hurt us. Probably best to just let people maintain their own patches.

Probably best to just let people maintain their own patches.

That is exactly what keeping it in a separate repository permits.

already happened when moving to GH actions.


chore(reactivity): update toRef return value type

toRef(()=>({a:1)) should return DeepReadonly, otherwise when the function returns an object or an array, modifying the object property ts will not report an error, but the modification will not be successful.
Expected:
const obj = toRef(()=>({a:1))
obj.value.a = 2 // Cannot assign to 'a' because it is a read-only property

console.log(obj.value.a) // 1

Actual:
const obj = toRef(()=>({a:1))
obj.value.a = 2 // success

console.log(obj.value.a) // 1

Is it safe to assume that the value returned from toRef() is deep readonly? If the value that's returned is an external reactive object (which seems quite a likely scenario in practice) then there should be no problem mutating a nested property:
const a = reactive({ b: { c: { d: 7 } } })

const c = toRef(() => a.b.c)

c.value.d = 6

In this scenario, I'd expect c to behave just like a computed(), allowing the assignment of c.value.d.
Perhaps I've misunderstood the proposed change, but it looks like it would prevent this kind of assignment.
In the original example given in the PR, the object in the value isn't readonly, it's just that a new object is returned each time the value is accessed. I'm not sure whether toRef() is intended to be used that way in practice. Wouldn't using either ref() or computed() be a more 'correct' way to handle a use case like that? Returning a new object each time seems likely to cause various other problems, e.g. obj.value === obj.value will be false. I think the callback passed to toRef() is expected to be 'stable' under repeat invocations.

I agree with @skirtles-code - this usage, while technically possible, doesn't really make sense in the context of what toRef is usually used for: getting a reactive reference to another stable value. And in that common usecase, mutating the stable result is a totally fine thing to do.
In my opinion this PR would break a lot of things and should not be merged.


Rich Changelog with automatic release action

Hey @siavash1991
I am quite impressed by your project I'd love to add automatic version bumping for it if you're down. However you must conform to semantic versioning rules when committing, for it to work !
let me know what you think

I walked through your project again and saw you're using npm and semantic release already, in that case I can help you build a better release with change log like the following release notes:
https://github.com/devopshobbies/boundary-vault-stack/releases/tag/v0.8.3

Hi @Shayan-Ghani
Thank you for your interest in my project and for your kind words! I’ve already configured Semantic Release for automatic versioning, but I’m always open to enhancements that can improve the release process, including richer changelogs.
I would be delighted to have you collaborate on this project. If you have specific ideas or improvements in mind, feel free to share them or open a pull request. Your expertise and suggestions are very welcome!
Looking forward to working together.


Working Methodologies Slide Deck

Purpose
There exists a slide deck that explains working methodologies in the tech world
What should the slide deck contain?

What is Scrum, AGILE, Waterfall?
Advantages/Disadvantages of each
Example of what they look like in real-world settings

https://docs.google.com/presentation/d/1WHB04i4_8gKCalQWHdJ-igRFM-rnHpfA-IWEXDE8Iyg/edit?usp=sharing


fix userdata is not present on initial render

For #2414
Change List

moves setting userData before layer initialization

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Piotr Goszczyński seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Table: USN

Description
A table tracking USN metrics on NEAR
TODO

[ ]  Design the schema for this table
[ ]  Get confirmation on schema
[ ]  Build schema
[ ]  Schema build review
[ ]  Submit Pull Request

This table should curate transactions related to USN: mints, burns (does NEAR use that terminology?), transfers, etc.

I will like to propose the following columns for the initial schema:

actions,
block_id,
block_hash,
tx_hash,
block_timestamp,
nonce,
signature,
tx_receiver,
tx_signer,
old_owner,
new_owner,
amount

BLOCK_TIMESTAMP
TXN_HASH
LOG_ID
LOGS
AMOUNT_IN
AMOUNT_OUT
POOL_ID
TOKEN0
TOKEN1

We can limit the extra fields as curated tables should really just have the core details. I'd nix:

block_hash
nonce
signature

I am curious what the total possible actions are that you have found.
What are the following addresses? I want to make sure we're as clear as possible with the naming for these

tx_receiver,
tx_signer,
old_owner,
new_owner,

Possible actions are identified by the method names, the ones i identified are the ft_transfer_call and ft_transfer and withdraw
tx_receiver - the contract address that receives the transaction - this is USN
tx_signer - this is the sender of the transaction, it seems to be same as the old_owner colums
old_owner - the previous owner of the token, address initiating the transaction.
new_owner - the address that receives the token.

Gotcha, I see in the transaction information on the block explorer, the message is using old_owner and new_owner so it makes sense to keep that terminology. Let's just be sure to document that clearly for the users.


cloud-init: fix maturin error when cross building

Cloud-init cross-compiling from aarch64 to x86_64 fails with error when executing maturin build hook.
Not working:
 nix-build '<nixpkgs>' -I nixpkgs=https://github.com/NixOS/nixpkgs/archive/master.tar.gz -A pkgsCross.gnu64.cloud-init

Working version:
nix-build '<nixpkgs>' -I nixpkgs=https://github.com/prinzdezibel/nixpkgs/archive/maturin.tar.gz -A pkgsCross.gnu64.cloud-init

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

This is wrong approach as it breaks all python modules which depend on maturin for every python version except 3.12, e.g:
% nix-build . --no-out-link --fallback -A pkgs.python311Packages.rpds-py
building '/nix/store/fafsfprl0lh9chmb3jz4sa0lsj59dacp-python3.11-rpds-py-0.18.1.drv'...
Sourcing python-remove-tests-dir-hook
Sourcing python-catch-conflicts-hook.sh
Sourcing python-remove-bin-bytecode-hook.sh
Sourcing pypa-build-hook
Using pypaBuildPhase
Sourcing python-runtime-deps-check-hook
Using pythonRuntimeDepsCheckHook
Sourcing pypa-install-hook
Using pypaInstallPhase
Sourcing python-imports-check-hook.sh
Using pythonImportsCheckPhase
Sourcing python-namespaces-hook
Sourcing python-catch-conflicts-hook.sh
Sourcing pytest-check-hook
Using pytestCheckPhase
Running phase: unpackPhase
unpacking source archive /nix/store/0arv7031bghh6pygkzvlsfic7q7zc5zx-rpds_py-0.18.1.tar.gz
source root is rpds_py-0.18.1
Executing cargoSetupPostUnpackHook
unpacking source archive /nix/store/w2gkimiy6xvhabhgwnrvircpgk7a8v10-rpds-py-0.18.1-vendor.tar.gz
Finished cargoSetupPostUnpackHook
setting SOURCE_DATE_EPOCH to timestamp<PHONE_NUMBER> of file rpds_py-0.18.1/tests/test_queue.py
Running phase: patchPhase
Executing cargoSetupPostPatchHook
Validating consistency between /build/rpds_py-0.18.1/Cargo.lock and /build/rpds-py-0.18.1-vendor.tar.gz/Cargo.lock
Finished cargoSetupPostPatchHook
Running phase: updateAutotoolsGnuConfigScriptsPhase
Running phase: configurePhase
no configure script, doing nothing
Running phase: buildPhase
Executing maturinBuildHook
maturinBuildHook flags: --jobs=16 --interpreter=python3.12 --offline --target x86_64-unknown-linux-gnu --manylinux off --strip --release --out /build/rpds_py-0.18.1/dist
📦 Including license file "/build/rpds_py-0.18.1/LICENSE"
🔗 Found pyo3 bindings
🐍 Found CPython 3.12
📡 Using build options features from pyproject.toml
   Compiling target-lexicon v0.12.9
   Compiling once_cell v1.18.0
   Compiling autocfg v1.1.0
   Compiling proc-macro2 v1.0.66
   Compiling libc v0.2.147
   Compiling unicode-ident v1.0.11
   Compiling parking_lot_core v0.9.8
   Compiling cfg-if v1.0.0
   Compiling smallvec v1.11.0
   Compiling portable-atomic v1.6.0
   Compiling heck v0.4.1
   Compiling scopeguard v1.1.0
   Compiling static_assertions v1.1.0
   Compiling triomphe v0.1.9
   Compiling indoc v2.0.4
   Compiling unindent v0.2.3
   Compiling archery v1.2.0
   Compiling lock_api v0.4.10
   Compiling memoffset v0.9.0
   Compiling rpds v1.1.0
   Compiling quote v1.0.31
   Compiling pyo3-build-config v0.20.3
   Compiling syn v2.0.32
   Compiling parking_lot v0.12.1
   Compiling pyo3-ffi v0.20.3
   Compiling pyo3 v0.20.3
   Compiling pyo3-macros-backend v0.20.3
   Compiling pyo3-macros v0.20.3
   Compiling rpds-py v0.18.1 (/build/rpds_py-0.18.1)
    Finished `release` profile [optimized] target(s) in 20.62s
📖 Found type stub file at rpds.pyi
📦 Built wheel for CPython 3.12 to /build/rpds_py-0.18.1/dist/rpds_py-0.18.1-cp312-cp312-linux_x86_64.whl
Finished maturinBuildHook
Running phase: pythonRuntimeDepsCheckHook
Executing pythonRuntimeDepsCheck
Checking runtime dependencies for rpds_py-0.18.1-cp312-cp312-linux_x86_64.whl
Finished executing pythonRuntimeDepsCheck
Running phase: installPhase
Executing pypaInstallPhase
Successfully installed rpds_py-0.18.1-cp312-cp312-linux_x86_64.whl
Finished executing pypaInstallPhase
Running phase: pythonOutputDistPhase
Executing pythonOutputDistPhase
Finished executing pythonOutputDistPhase
Running phase: fixupPhase
shrinking RPATHs of ELF executables and libraries in /nix/store/ccvif9x7fv0lnk7wzrfhcy878yh010ph-python3.11-rpds-py-0.18.1
shrinking /nix/store/ccvif9x7fv0lnk7wzrfhcy878yh010ph-python3.11-rpds-py-0.18.1/lib/python3.11/site-packages/rpds/rpds.cpython-312-x86_64-linux-gnu.so
checking for references to /build/ in /nix/store/ccvif9x7fv0lnk7wzrfhcy878yh010ph-python3.11-rpds-py-0.18.1...
patching script interpreter paths in /nix/store/ccvif9x7fv0lnk7wzrfhcy878yh010ph-python3.11-rpds-py-0.18.1
stripping (with command strip and flags -S -p) in  /nix/store/ccvif9x7fv0lnk7wzrfhcy878yh010ph-python3.11-rpds-py-0.18.1/lib
shrinking RPATHs of ELF executables and libraries in /nix/store/hwdmp2f1vdp2x3pn5af39im3rpzp2d4l-python3.11-rpds-py-0.18.1-dist
checking for references to /build/ in /nix/store/hwdmp2f1vdp2x3pn5af39im3rpzp2d4l-python3.11-rpds-py-0.18.1-dist...
patching script interpreter paths in /nix/store/hwdmp2f1vdp2x3pn5af39im3rpzp2d4l-python3.11-rpds-py-0.18.1-dist
Executing pythonRemoveTestsDir
Finished executing pythonRemoveTestsDir
Running phase: installCheckPhase
no Makefile or custom installCheckPhase, doing nothing
Running phase: pythonCatchConflictsPhase
Running phase: pythonRemoveBinBytecodePhase
Running phase: pythonImportsCheckPhase
Executing pythonImportsCheckPhase
Check whether the following modules can be imported: rpds
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "<string>", line 1, in <lambda>
  File "/nix/store/nmqxyr00in2arwrq5qd1qipsanz1yrn5-python3-3.11.10/lib/python3.11/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1204, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1147, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 940, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/nix/store/ccvif9x7fv0lnk7wzrfhcy878yh010ph-python3.11-rpds-py-0.18.1/lib/python3.11/site-packages/rpds/__init__.py", line 1, in <module>
    from .rpds import *
ModuleNotFoundError: No module named 'rpds.rpds'

I've already opened https://github.com/NixOS/nixpkgs/pull/365540 for maturin fixes.

@misuzu :
Ok, I see now. Thank you.


How to make it work in both orientation?

This is what I have observed:
If layout is set in manifest then it works fine for the set value. Otherwise it just works in landscape mode!!

hi sudipbhandari , i cannot make it as fullscreen, have you got any idea how to do this?

The below changes in CameraSourcePreview Class helped me. It's referenced in make preview full-screen

    @Override
    protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
        int width = 320;
        int height = 240;
        if (mCameraSource != null) {
            Size size = mCameraSource.getPreviewSize();
            if (size != null) {
                width = size.getWidth();
                height = size.getHeight();
            }
        }

        // Swap width and height sizes when in portrait, since it will be rotated 90 degrees
        if (isPortraitMode()) {
            int tmp = width;
            width = height;
            height = tmp;
        }

        final int layoutWidth = right - left;
        final int layoutHeight = bottom - top;

        // Computes height and width for potentially doing fit width.
        int childWidth = layoutWidth;
        int childHeight = (int)(((float) layoutWidth / (float) width) * height);

         //If height is too tall using fit width, does fit height instead.
//        if (childHeight > layoutHeight) {
//            childHeight = layoutHeight;
//            childWidth = (int)(((float) layoutHeight / (float) height) * width);
//        }

        for (int i = 0; i < getChildCount(); ++i) {
            getChildAt(i).layout(0, 0, childWidth, layoutHeight);
        }

        try {
            startIfReady();
        } catch (IOException e) {
            Log.e(TAG, "Could not start camera source.", e);
        }
    }

Thank you sudip , i will try this


Trigger GhostCells On Cell Execution

Problem
Right now we trigger completion generation in response to onDidChangeTextDocument
https://github.com/stateful/vscode-runme/blob/90fcc5b60322b4fe34be714ac120a5794004f837/src/extension/ai/manager.ts#L57
That doesn't appear to trigger in the event a user executes a cell or in response to cell output change. I assume this is because the cell outputs aren't textDocuments.
Our handler is filtering by scheme vscode-notebook-cell here https://github.com/stateful/vscode-runme/blob/90fcc5b60322b4fe34be714ac120a5794004f837/src/extension/ai/ghost.ts#L308C40-L308C60
but I added some logging and it doesn't look like that is causing update events to output cells to be dropped.
Solution
We use vscode.workspace.onDidChangeNotebookDocument event. This appears to be invoked for all changes to the document. We can filter that event stream to look for changes to the output items.
One advantage of using this approach is that it looks to fire if the output is changing. For example if you have a long running command,
for i in {0..100}
do
    echo Loop Iter $i
    sleep 1
done

Then we want to retrigger completions when the output changes because have new information for the AI.
Record The Trigger
To enable better monitoring and troubleshooting, I've introduced an ENUM which records the event that triggers the completion. This gets attached to the request and gets logged by Foyle. This should be helpful for debugging why events were generated.
Interactive vs. Non-interactive cells
For non-interactive cells the output is included in the requests as expected. For interactive cells it is not. I suspect that is due to jlewi/foyle#286
Resolve Errors:
Occasionally I see errors like the following
2024-10-18 17:56:36.991 [error] Error: Cannot modify cell output after calling resolve
	at i.t (/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/api/node/extensionHostProcess.js:154:236381)
	at Object.clearOutput (/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/api/node/extensionHostProcess.js:154:237975)
	at replaceOutput (/Users/jlewi/git_vscode-runme/out/extension.js:1259570:10)
	at /Users/jlewi/git_vscode-runme/out/extension.js:1247816:49
	at async NotebookCellOutputManager.getExecutionUnsafe (/Users/jlewi/git_vscode-runme/out/extension.js:1247835:13)
	at async /Users/jlewi/git_vscode-runme/out/extension.js:1247803:13
	at async Mutex.withLock (/Users/jlewi/git_vscode-runme/out/extension.js:1260952:20)
	at async NotebookCellOutputManager.refreshOutputInternal (/Users/jlewi/git_vscode-runme/out/extension.js:1247802:9)
	at async NotebookCellOutputManager.showTerminal (/Users/jlewi/git_vscode-runme/out/extension.js:1247709:9)
	at async Object.complete (/Users/jlewi/git_vscode-runme/out/extension.js:1250285:45)

I don't know if that's related to this PR. I don't think my changes should be trying to modify output items. The stacktrace indicates its coming from other parts of Runme.
Alternative solutions
I initially tried trigger suggestions from Runme's _doExecute function.  _doExecute is already using the AI eventReporter to report execution. So we can just modify EventReporter.reportExecution to trigger suggestion generation by sending a cell event to the streamCreator that manages the stream of suggestions.
The problem I found with that approach is that it seems like the requests to Foyle didn't always include the actual value of stdout. I suspect there might be a race condition. Furthermore, I don't believe that approach would periodically retrigger completions  in the event of a long running command where the output is being updated.
Fix jlewi/foyle#309

@sourishkrout I'm noticing that in some cases the output doesn't get included in the Foyle request. Is this an async issue? By which I mean _doExecuteCell has been returned but the updates to the cellOutputItems haven't been applied by the time the AI  fetches the document to send it.
The cell gets read here
https://github.com/stateful/vscode-runme/blob/90fcc5b60322b4fe34be714ac120a5794004f837/src/extension/ai/ghost.ts#L109
If the cell updates are applied asynchronously then I think there could be a race condition.

@sourishkrout this is ready for a review.

@sourishkrout I'm noticing that in some cases the output doesn't get included in the Foyle request. Is this an async issue? By which I mean _doExecuteCell has been returned but the updates to the cellOutputItems haven't been applied by the time the AI fetches the document to send it.
The cell gets read here
https://github.com/stateful/vscode-runme/blob/90fcc5b60322b4fe34be714ac120a5794004f837/src/extension/ai/ghost.ts#L109
If the cell updates are applied asynchronously then I think there could be a race condition.

Is this still an issue? I don't know from the top of my head, but there is likely a chance of a race. I can't tell exactly when and where from the top of my head, though.


I noticed there were some small syntax errors in the account go project.

Changes:
_LayoutPrev.cshtml - added missing closing  tags
AddNewTax.cshtml - removed extra quotes at the end of the button declaration.
AddPurchaseOrder.cshtml - Added a missing closing  tag and also auto formatted the file.
Quotation.cshtml - removed a hanging }); near the bottom script tag and reformatting the file.

Thanks, Brett. I merged the changes that you made.
Regards,
Medhat Elmasry
On Thu, Nov 7, 2024 at 4:20 PM Brett Reader @.***>
wrote:

Changes:
_LayoutPrev.cshtml - added missing closing tags
AddNewTax.cshtml - removed extra quotes at the end of the button
declaration.
AddPurchaseOrder.cshtml - Added a missing closing
tag and also auto formatted the file.
Quotation.cshtml - removed a hanging }); near the bottom script tag and
reformatting the file.
You can view, comment on, or merge this pull request online at:
https://github.com/medhatelmasry/GoodBooks/pull/49
Commit Summary

8a18d20
https://github.com/medhatelmasry/GoodBooks/pull/49/commits/8a18d2082c6f4583819523fcee90d26cc35fb2f7
I noticed there were some small syntax errors in the account go project.

File Changes
(4 files https://github.com/medhatelmasry/GoodBooks/pull/49/files)

M src/AccountGoWeb/Views/Purchasing/AddPurchaseOrder.cshtml
https://github.com/medhatelmasry/GoodBooks/pull/49/files#diff-60e035648c36d460edffe13dd10340804916973d1c24e97d8bf40afd94738593
(132)
M src/AccountGoWeb/Views/Quotations/Quotation.cshtml
https://github.com/medhatelmasry/GoodBooks/pull/49/files#diff-2046fac04600ef3a76db7f6bd975fe1a566ca05afd25b19470d21bd8b7bf566d
(71)
M src/AccountGoWeb/Views/Shared/_LayoutPrev.cshtml
https://github.com/medhatelmasry/GoodBooks/pull/49/files#diff-afd3a6d42e66a889f69743ba4998cdbbc7714710b59489813117f3aafb26e70b
(4)
M src/AccountGoWeb/Views/Tax/AddNewTax.cshtml
https://github.com/medhatelmasry/GoodBooks/pull/49/files#diff-1acbb63b1834cde0a15e1cf550284e1d59483df5c56310467db3ce743ff223e0
(2)

Patch Links:

https://github.com/medhatelmasry/GoodBooks/pull/49.patch
https://github.com/medhatelmasry/GoodBooks/pull/49.diff

—
Reply to this email directly, view it on GitHub
https://github.com/medhatelmasry/GoodBooks/pull/49, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAN4UQRYVRXTTQZ4ECG4MRTZ7P7UZAVCNFSM6AAAAABRMLXT26VHI2DSMVQWIX3LMV43ASLTON2WKOZSGY2DENJQGUZDCMA
.
You are receiving this because your review was requested.Message ID:
@.***>


Modify design of Tools and Showcase page

Add search bars
Modify design of filters
Modify design of cards
Add showcase filter toggle

Close irrelevant draft, new PR opened in #515


TF2 has tf.floor but not tf.ceil

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow):n/a
OS Platform and Distribution (e.g., Linux Ubuntu 16.04):archlinux
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device:n/a
TensorFlow installed from (source or binary):binary
TensorFlow version (use command below):tf-nightly-gpu-2.0-preview-2.0.0.dev20190319
Python version:3.7
Bazel version (if compiling from source):n/a
GCC/Compiler version (if compiling from source):n/a
CUDA/cuDNN version:n/a
GPU model and memory:n/a

import tensorflow as tf
print(tf.floor)
print(tf.ceil)

prints:
<function floor at 0x7fad8ad08950>
Traceback (most recent call last):
  File "a.py", line 6, in <module>
    print(tf.ceil)
AttributeError: module 'tensorflow' has no attribute 'ceil'

tf.ceil is only accessible through tf.math.ceil now. But tf.floor still exists.
I expect the two functions to either both exist or both not exist.

The replacement operation for tf.ceil in TF 2.0 is tf.math.ceil.

i am not getting the link , where i can contribute as in documentation it is written that tf.math.ceil() is in tensorflow/python/ops/gen_math_ops.py but there is no such file in tensorflow codebase.

The gen_math_ops.py file is missing in repo of Tensorflow 2.0.0-alpha0, but the functions of this file are working :confused:

Added a PR #27068 for the fix to deprecate tf.floor in TF 2.0.

@ppwwyyxx most of the math ops are moved under tf.math.*. Both the ceil and floor are in TF as tf.math.ceil and tf.math.floor. As @alextp mentioned in the related PR https://github.com/tensorflow/tensorflow/pull/27068 that TF2 API frozen, so we can't remove it anymore.
I am closing this issue. Feel free to reopen if you have any concerns. Thanks!


messy row labels on "Comparison to Roadmap DNase" plot

I ran the pipeline smoothly but got the messy row labels on "Comparison to Roadmap DNase" plot from individual sample report. Please find the screen shot attached. Thanks.

It took me 3 days to finish the whole pipeline. Should I rerun it again to only fix this plot problem?

Fixed. please update your pipeline and ataqc module
$ cd [PIPELINE_GIT_DIR]
$ git pull origin master
$ cd ataqc
$ git pull origin master

It took me 3 days to finish the whole pipeline. Should I rerun it again to only fix this plot problem?

you can delete odl ATAQC reports with the following command:
$ cd [YOUR_OUTPUT_DIR]
$ find -name *_qc.html -delete

This command will recursively DELETE all *_qc.html files on your output directory.
Delete all ATAQC HTML report and simply run the same command line then pipeline will automatically resume from ATAQC step.


Engine(Process)

During discussions about how to parallelize groups of processes that share local state (instead of just a single process at a time) we realized that Engine itself could be a process, whose parameters are the arguments to Engine, that could then be parallelized as a whole. This could represent a kind of "unit of simulation" as a bundle of related processes that could then be distributed across machines (eventually) and cores (presently).
In order to pull off this feat, we needed to implement the Process interface within Engine, specifically:

init
calculate_timestep
ports_schema
next_update

I give each method a section here.
init
A mildly drastic change to the interface of Engine here, instead of taking keywords it instead takes a single parameters dictionary like any other process. This means the loss of typing hints, for the sake of consistency. We explored other options but ultimately none of them allowed us to parsimoniously retain the keyword args. On the upside you can now instantiate an Engine directly with a Composite (which is itself a dict with specific keys) like so:
composer = SimulationComposer()
engine = Engine(composer.generate())

calculate_timestep
The timestep for the Engine process does not need to adhere to its subprocesses, but it can. If you provide a timestep parameter to Engine it will run its simulation for that timestep, however many times each of its constituent processes happens to run in that time. Otherwise it will run for as long as it needs to produce the next update, so essentially the min() of all the subprocess timesteps.
ports_schema
The ports are accomplished by a new concept (and a new potential key in Composite) called intertopology. The intertopology is a mapping between the keys in the Engine's ports and the paths to the inner store that these outer keys point to. It has the same form as a topology and all the same features, ie _path, * etc. Part of this PR was pulling out the topology functionality from Store and making it operate also on equivalent dictionaries (this is marked by the creation of project_topology, which converts a dict according to the given topology, and it's new friends get_path, establish_path, and outer_path, which all have equivalents in Store. Perhaps we implement the Store methods from these? Something to explore in a future PR).
next_update
With all this in place, next_update is fairly simple. Invert all the states according to the intertopology, set those states in the Engine, then run it for the given time step, collecting all the updates and returning them together as a single update. This also means that you can return lists of updates rather than a single update from a process now, in order to support the idea that we want to replay these updates onto the outer Engine's states to make use of their updaters, rather than return the internal updated states directly.
conclusion
All input welcome! It's a rather significant change but also seems "right" somehow, in that the design is more expressive in a way that uses everything that was already there. We solved it by linking up existing elements. Engine is just another process.
I imagine there may be considerations I didn't cover here, let me know if you see any.

By creating this pull request, I agree to the Contributor License
Agreement, which is available in CLA.md at the top level of this
repository.

Glad to see this up! I am wondering what is still left to do in later PRs. It looks like this PR focused on creating separate EngineProcess instances and wiring them together. I think there are a few remaining features to making this fully configurable and easy-to-use:

Giving Engine a single Store with "cuts" that break its branches into sub-composites that can each go into their own EngineProcess -- what is required for this?
Division -- have you tested division of an EngineProcess? An update would have to go to the super-Engine, which would launch two sub-Engines.
glob schema rewiring -- how configurable are these across an Engine interface?
Anything else come up while you were working on this?

Going through the mypy checks, we are left with one interesting error. Engine.next_update is returning its Update as a list, which comes from the accumulated intertopology_updates in Engine.run_for. Process.next_update has its Update return type set as a dict. How do we reconcile this -- should updates also be lists? This might break assumptions.

Also got pylint down to one error -- Engine.run_for has gone over the limit of 65 statements, it is at 71. So we should look for ways to break it up or reduce it.

Cool! Let's see....

The automated cutting is going to be a whole feature on it's own.... I have some ideas, but it is non-trivial. Let's discuss?
Division requires a Composer that generates the Engine.... as long as we have that I can't imagine it not working, but it's good to verify! I'll make a test for it.
There is a test for it in engine_tests.py that remaps a variable inside a glob schema.... it's as flexible as glob schemas anywhere else, as it uses the same functionality. As to whether that is as expressive as it could be, that is another consideration but orthogonal really. Will be good to circle back around on that some day.
Lots of ideas, but all leading towards the fully distributed implementation. I think this sets the stage well for that.

As for updates being lists vs not, I set it up so you can do either, so we may want to make the type an option for those? Or we can say all updates are always lists, but that would break a lot of backward compatibility, so my tendency would be to just support both.
I'll take a look at the linting, thanks for the feedback!

Further discussions have lead to the instigation of a whole new version of Vivarium -- 2.0. We will use this branch as a starting point (creating a new development branch with tests/actions etc), but this PR will be closed for now.


Grid detector changes

Suggested changes to the grid-detector branch #33 . Includes a new test dataset with two variables on different grids and 3 vertical levels.

I gave it a further look, and actually what was happening - at least on my local machine - was that the tempfile was not written correctly. I added a load() in the _prepare_grid() and now the weights generation works as expected even if we have two grids. @jhardenberg please let me know if works for you too. It would be cool to better handle tempfiles, since this seems to be related to #9

Even with your load() it is still lcoking up when writing to the tempfile for me on lumi

I assume there is something we are not doing fully right with tempfiles.
Could you test the same command but without loading the data into memory but simply executing the Regridder from the file on the disk?
import xarray as xr
from smmregrid import Regridder
regridder = Regridder(source_grid="tests/data/ua-so_mix_ecearth.nc", target_grid="r180x90", method="bil", loglevel="debug")

if this works, it would confirm it is a problem with tempfiles.
BTW, quite incredibily, this seems to work on my local machine! It is the first example of multiple horizontal grid support!!!!
from smmregrid import Regridder
import xarray as xr
import os
indir='tests/data'
filename = os.path.join(indir, 'ua-so_mix_ecearth.nc')
data = xr.open_dataset(filename)
regrid = Regridder(data, 'r180x90', loglevel='debug')
regridded = regrid.regrid(data)

I visually inspected the output and seems all good! I am going to write an extra test for this multi grid case!

The first example works for me on lumi

and the second one too

The lockup is in _cdo_generate_weight() ... I fear that there is an inconsistency between using dask and then trying to use parallel Process ....

In the meanwhile I added a new test and fixed a small inconsistency in the way regrid is operated.
At this stage, this means that we can regrid multi grid if we start from grids. However, it is impossible to do this if we start from weights and we need to have a raise for this case


COMP: Fix Slicer vtkITK build on macOS

This commit addresses a Slicer macOS build error reported on Discourse
(see https://discourse.slicer.org/t/slicer-build-on-macos-monterey/21940)
and on GitHub (see comments on issue Slicer/Slicer#5944).
The _POSIX_SOURCE preprocessor identifier is defined in several places
including by Python and several ITK ThirdParty modules. It looks like
this definition is causing unintended side effects when building vtkITK.
When itkMacro.h is #included in vtkITK, _POSIX_SOURCE causes conditional
inclusion of code using __assert_fail and __ASSERT_FUNCTION, which are
only defined on Linux and not on macOS. This results in a compile error.
This commit fixes the error by checking for the __linux preprocessor
identifier instead of __POSIX_SOURCE.

PR Checklist

[x] No API changes were made (or the changes have been approved)
[x] No major design changes were made (or the changes have been approved)
[x] Added test (or behavior not changed)
[x] Updated API documentation (or API not changed)
[x] Added license to new files (if any)
[x] Added Python wrapping to new files (if any) as described in ITK Software Guide Section 9.5
[x] Added ITK examples for all new major features (if any)

Refer to the ITK Software Guide for
further development details if necessary.

Since __assert_fail is a function provided by glibc ^1, testing for __GLIBC__ ^2 is likely more specific and correct. Alternatively, a compile test could be implemented.
@thewtex In its current form, could this patch impact itk-wasm ?  (I don't expect it does but wanted to confirm)

@thewtex In its current form, could this patch impact itk-wasm ? (I don't expect it does but wanted to confirm)

itk-wasm uses a clang-based toolchain.
I agree with @jcfr 's suggestion to check for __GLIBC__ instead.

@jcfr @thewtex thanks for the input, I've updated the commit here and in the Slicer/ITK PR


smn1 synonyms

I don't see why testosterone shows up as a synonym.
https://dknet.org/data/source/nif-0000-00417-1/search?q="SMN1"&l="SMN1"+

Extremely weird since https://dknet.org/data/source/nif-0000-00417-1/search?q=SMN1&l=SMN1 expands correctly. The double quotes seem to be causing the issue.

It is the quotes willy is looking into it...  Also does strange things for "kidney" and others...


Add listDatabreaches command using haveibeenpwned.com/API

Add new command /listDatabreaches
Please read the CONTRIBUTING.md carefully before getting started!

Add a new javascript file in the commands folder
Implement a API request with the help of axios to the haveibeenpwned.com API to get a list of databreaches
Format the data in a readable way and send it to the user
Use the discord.js docs to get started

May I be assigned this issue?

Sure, go ahead @Miablo!

any updates about this? @Miablo @thieleju

Still working on it
On Mon, Oct 3, 2022 at 9:04 AM Afif Abdillah Jusuf @.***>
wrote:

any updates about this? @Miablo https://github.com/Miablo @thieleju
https://github.com/thieleju
—
Reply to this email directly, view it on GitHub
https://github.com/thieleju/statsbot/issues/1#issuecomment-1265408112,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AESO3SUAQV4A5ZCKYND2SFDWBLKUHANCNFSM6AAAAAAQ2VKRHI
.
You are receiving this because you were mentioned.Message ID:
@.***>

@Miablo Great work! 🚀
I approved your pr #64 and labeled it with the hacktoberfest-accepted label.
Keep contributing ❤


Fix zstd detection

What does this PR do?
A brief description of the change being made with this pull request.
Motivation
What inspired you to submit this pull request?
Related issues
A list of issues either fixed, containing architectural discussions, otherwise relevant
for this Pull Request.
Additional Notes
Anything else we should know when reviewing?

#994  👈
main

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

Join @GeorgeHahn and the rest of your teammates on  Graphite

#1002
#1000
#997
#995
#994  👈
main

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

Join @GeorgeHahn and the rest of your teammates on  Graphite

#1002
#1000
#997
#995
#994  👈
main

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

Join @GeorgeHahn and the rest of your teammates on  Graphite


Attrs 17.3.0 breaks when combined with abc.abstractproperty

In the course of fixing an issue surfaced by attrs 17.3.0, I discovered a strange conflict between attrs and abc that used to work pre-17.3.0.
When a parent class has abc.ABCMeta as a metaclass and a child class inherits from it and is an attrs class, something in the generated code breaks.
Python 3.6.2 (default, Jul 17 2017, 16:44:45)
[GCC 4.2.1 Compatible Apple LLVM 8.1.0 (clang-802.0.42)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import abc
>>>
>>> import attr
>>> attr.__version__
'17.3.0'
>>> import six
>>>
>>> @six.add_metaclass(abc.ABCMeta)
... class Parent(object):
...     @abc.abstractproperty
...     def required_attribute(self):
...         pass
...
>>> @attr.s(hash=False)
... class Child(Parent):
...     required_attribute = attr.ib()
...
>>> Child(required_attribute=8)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<attrs generated init bcae434d90e3ab868abca1ee5aaff71fbe20a93b>", line 2, in __init__
AttributeError: can't set attribute

This behavior is not seen with 17.2.0:
Python 3.6.2 (default, Jul 17 2017, 16:44:45)
[GCC 4.2.1 Compatible Apple LLVM 8.1.0 (clang-802.0.42)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import abc
>>>
>>> import attr
>>> attr.__version__
'17.2.0'
>>> import six
>>>
>>> @six.add_metaclass(abc.ABCMeta)
... class Parent(object):
...     @abc.abstractproperty
...     def required_attribute(self):
...         pass
...
>>> @attr.s(hash=False)
... class Child(Parent):
...     required_attribute = attr.ib()
...
>>> Child(required_attribute=8)
Child(required_attribute=8)

This looks like a dupe of #293.  Please refer to my longer explanations & demonstrations, there but the gist is, that it only worked because attrs used to attach the attribute definitions to class bodies which prevented abc to work properly.
IOW: it shouldn’t have ever worked.  As said on the other ticket, I’m deeply sorry and if someone has any suggestions for a proper way to help y’all writing abstract properties, we’re all ears.

Hmm, I agree, that sounds like the same problem; I neglected to search closed issues. Closing this issue since this is intentional, and I'll update back here with whatever we decide on to work around this for reference.


⚠ Bofrost.at has degraded performance

In 24e4f8b, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 820 ms

Resolved: Bofrost.at performance has improved in 66d5255.


Build99 - Items load into shop

Gets items to load into shop data and adds them to shelves.
Does not break existing shop items.
Does not currently allow items to be purchased.
Also includes a couple of minor tweaks to project files for collaboration purposes (moved more directory definitions to Build.targets)

Progresses #5 but does not finish it.

So with the updates made (pending review) this actually is fully working - ish.
Issues that remain with full B99 compatibility are around shelf bounds calculation - right now it assumes that items are very small and crams them into any old spot on the shelf - which works, but should be improved - perhaps by defaulting to grabbing the first box collider on the item?

i started this review but then you pushed more commits xD Let me know when you're done so I can do a full review.

I've stopped adding stuff - bounds work I'm doing on a new branch


Create init command

Create init command that handles the creation of the tiledb database.

init command should have a default config that can overridden by a yaml/json file from user input.
Command should have a test associated with it that tests"

That the command/class accepts the correct parameters and handles them correctly
That users can input a file and have that handled correctly
That the tiledb created from this class/command is generated correctly

Init must write the following

resolution
bounds
crs
attributes (using PDAL Dimension names)

Complete in #24


Wiegand stops after a 4 weeks

I made this project on a wemos d1 with build 1.0.2 and a wiegand reader.
It works very well.
Only after about 4 weeks The wiegand reader is no longer reading.
The webui still works and with a reboot the webui everything works again.
Until about 4 weeks have passed.
It looks like the problem "after a while the RFID reader stops # 223"

I'm using MFRC522 and the reader always stops after some hours, after reboot it works again but after a while, the reader stops working again. I guess an option to reset the reader after some minutes would be handy.


Upgrade to protobuf 3.3.1

(Haven't tested, letting Jenkins try it out)

Jenkins, test this please

Does this have implications on our installation instructions, the pip package dependencies, or other documentation?

It should be ok to update the build dependency without updating the pip) runtime dependency. They're used for two different purposes right now.
pip tests would also catch any issues.

different purposes? So using two different protobufs in different parts of the code isn't a problem?

Yeah, the interaction points only test wire-compatibility, which is guaranteed by protobuf. The different versions only occur when serialization happens in the Python runtime (the pip version) and it's deserialized in TF core (bazel version in pywrap_tensorflow).

Good catch @martinwicke. OOC is there any reason why we wouldn't want to bump our setup.py protobuf dependency from 3.2.0 -> 3.3.1? Purely for the sake of consistency?
Our Python code probably depends on @com_google_protobuf//:python_srcs somehow, for things like from google.protobuf import json_format. There's been changes to their Python API since 3.2.0 and probably other subtleties we haven't considered.

Let's update the pip dependency as well. I think Jonathan is right and it
won't be a problem. But consistency is nice.

Bumped all protobuf versions throughout. pypi doesn't have 3.3.1 yet, so depended on 3.3.0 instead.

LGTM. Thanks @jhseu.

Also had to downgrade some other spots to 3.3.0: only source is available for 3.3.1. The prebuilt protoc binary is not available.

Jenkins, test this please.


i can not found utilities

import utilities
it s not work!
so where is the utilities lib???

Probably https://github.com/appium/appium-for-mac/blob/b5c9ca882c10ff7668f7c1208a81bcb052aade34/examples/SeleniumConf April 2017/utilities.py ?
Then, you should run the command in examples/SeleniumConf April 2017 with Python 2.
It does not work with python 3

Probably https://github.com/appium/appium-for-mac/blob/b5c9ca882c10ff7668f7c1208a81bcb052aade34/examples/SeleniumConf April 2017/utilities.py ?
Then, you should run the command in examples/SeleniumConf April 2017 with Python 2.
It does not work with python 3


doc: introduce SoC porting guide

Fixes: #27439
This commit introduces an initial SoC porting guide with a general description of the minimal set of files needed to support a new SoC in Zephyr, along with some examples of the content.
Doc preview: https://builds.zephyrproject.io/zephyr/pr/69475/docs/hardware/porting/soc_porting.html

Needs re-targeted to main

@tejlmand coming back to this? I was porting an out-of-tree SoC recently and this would have been nice to have (didn't see it until after I was done).


Create minodoo.txt

am adding my community training center

@ameklou I am sorry, I have to close this request without merging, because you requested to add a non-existent domain to this repository:
$ host minodoo.edu
Host minodoo.edu not found: 3(NXDOMAIN)

Please ensure you are familiar with this repository rules located at the bottom of this page and submit a new request with correct information. Thank you for the understanding!


Added a type_id to event schema with "general" as default value.

PT-1044.

I tried to make this field enum, but couldn't find a way to give a default value for it.
See:
https://github.com/graphql-python/graphene/issues/877
https://github.com/graphql-python/graphene/issues/691
https://docs.graphene-python.org/en/latest/types/enums/

Closing the pull request because the wanted feature is not available yet: https://github.com/graphql-python/graphene/commit/c08379ed85b2759de32777eb5dd3dca143a6d69f


Deadlock on Redpanda topic Recreation

Context
In some very rare cases a deadlock takes place.
Versions
I use:

go v1.20
franz-go v1.12.1
RedPanda v22.3.12

This is also related with an issue fixed on redpanda latest release -> https://github.com/redpanda-data/redpanda/releases/tag/v22.3.14
A rare issue is fixed where rapidly deleting a topic and recreating a topic with the same name could trigger an assertion by @jcsp in https://github.com/redpanda-data/redpanda/pull/9054

Even though I use older releases I'm thinking that the deadlock is still there waiting.
Ways to reproduce:
Most often this deadlock takes place when the sequence of actions happen.

Produce some data into a topic
Consume all data from that topic (using poll records)
Delete the topic
Rapidly recreate the topic with the same name
Produce some data again into that topic (using produce without promise & same producerID)

Deadlock Code:
Next I will explain how and where the deadlock happened in the code path.

Process 1 Locks

Firstly recBuf.mu -> https://github.com/twmb/franz-go/blob/8cb298d8b919a798c57418636678d474aa500a19/pkg/kgo/sink.go#L680-L680
And then producer.idMu -> https://github.com/twmb/franz-go/blob/8cb298d8b919a798c57418636678d474aa500a19/pkg/kgo/producer.go#L685-L685

Process 2 Locks

Firstly producer.idMu -> https://github.com/twmb/franz-go/blob/8cb298d8b919a798c57418636678d474aa500a19/pkg/kgo/producer.go#L611-L611
And then recBuf.mu -> https://github.com/twmb/franz-go/blob/8cb298d8b919a798c57418636678d474aa500a19/pkg/kgo/producer.go#L675-L675

This sequence of locks if happen to be in parallel it will create a dead lock with one process waiting the other to be released.
Questions
Are you aware of this issue?
Do you think it would be a valid case on latest release?
Kind Regards
With much respect to your work!

Not aware of issue
Almost certainly exists on latest release
I'd really like to wire in Go's own priority lock checking someday but I absolutely don't have the time

Very good analysis above, this can be fixed. I spent a lot of time in the past ensuring that I didn't have any lock inversions but you found one I missed 😅


Enable use of environment variables in parameters.yaml

Putting this in parmeters.yaml:
globals:
  deploy: $HOME/some_ws/src

leads to the creation of a directory literally called "$HOME", whereas it should be extended to the user's home directory. Enabling the use of environment variables would be nice to have, as it allows for a more generic (default) configuration file for ROL that can be used for more users at the same time.

Same holds for the use of ~

I will use this:
https://stackoverflow.com/questions/52412297/how-to-replace-environment-variable-value-in-yaml-file-to-be-parsed-using-python


intel_nuc5.c: Fixed incorrect I2C numbering

The pin number was being shifted by one instead of 2, resulting in an incorrect mapping. iteration 0 mapped to pins 12 and 13 iteration 1 mapped to 13 and 14 should have been 14 and 15.
Signed-off-by: Houman Brinjcargorabi<EMAIL_ADDRESS>

Merged, thanks


Safe to use Isar 2.5.0 with ffi ^2.x.x?

Discussed in https://github.com/isar/isar/discussions/866

Originally posted by bringbackthedog November  7, 2022
Based on #686 we must use Isar 2.5.0.
Isar 2.5.0 depends on ffi: ^1.1.2.  Our app's packages depends on ffi ^2.x.x, causing an error in version solving (different major versions of ffi).
Is is safe to override the ffi dependency to ^2.0.1 while using Isar 2.5.0?

Yes


TestCafe does not trigger corresponding actions when clicking on a div with href attribute

What is your Test Scenario?

What is the Current behavior?

What is the Expected behavior?

What is your web application and your TestCafe test code?

https://www.st.com/en/amplifiers-and-comparators/comparators.html

Your complete test code (or attach your test files):

Page objects code:
'use strict';

let stPage = {
    cookiesButton: `button[aria-label='Accept Cookies']`,
    searchBox: `#widgetSearchBar`,
    searchButton: `div.small-3.columns>a`,
    searchResults: `td.search-rpns-min-width-col1>a`,
    productsMenu: `span>svg.st-svg.st-svg--all-products`,
    amplifiersLink: `a.st-nav__submenu-link`,
    comparatorProduct: `div.st-nav__blockmenu>a`,
    productSelector: `div.st-tabs-tab.js-st-tabs-tab.st-tabs-tab--icon.js-st-tabs-tab-products`,
    partNumberSearchBox: `div.st-sidebar__input.st-input--icon.st-input.js-st-input>input`,
    partNumberSearchButton: `div.st-sidebar__input.st-input--icon.st-input>svg.st-svg--block.st-svg--search`,
    partNumberResultElements: `a.js-st-quickview-toggle.js-st-quickview-adjust-height`,
    resetFiltersButton: `//div[contains(@class,'st-sidebar__filters') and not(contains(@class, 'hidden'))]//span[contains(@class,'st-sidebar__clear-all-btn')]`,
};

module.exports = stPage;

Testcafe code:
When(
    'I/user click(s) {word} from {word}( page)',
    async function (t, [element, page]) {
        const elem = getElement(page, element);

        await t.click(elem);
    }
);

function getElement (page, elem) {
    const locator = pageObjects[page][elem];
    let element;

    try {
        if (isXPath(locator)) {
            element = SelectorXPath(locator);
        } else {
            element = locator;
        }
    } catch (error) {
        throw new ReferenceError(`${errors.SELECTOR_NOT_DEFINED} "${page}"."${element}" ${error}`);
    }

    return element;
}

I use TestCafe with Cucumber and testcaferc.json config file

{
    "browsers": "firefox",
    "src": ["node_modules/testcafe-cucumber-steps/index.js", "tests/**/*.js", "tests/**/*.feature"],
    "screenshots": {
        "path": "tests/screenshots/",
        "takeOnFails": true,
        "pathPattern": "${DATE}_${TIME}/test-${TEST_INDEX}/${USERAGENT}/${FILE_INDEX}.png"
    },
    "quarantineMode": false,
    "stopOnFirstFail": true,
    "skipJsErrors": true,
    "skipUncaughtErrors": true,
    "concurrency": 1,
    "selectorTimeout": 3000,
    "assertionTimeout": 1000,
    "pageLoadTimeout": 1000,
    "disablePageCaching": true
}

Your complete test report: The error occurs because the previous step of clicking the div is not working

Feature: Product Selector Filters
 × Scenario: Filter products by part number (screenshots: ..\Automation\TestCafe_Cucumber\tests\screenshots\2020-09-11_10-14-42\test-1\Firefox_80.0_Windows_10\errors\1.png)

   1) The element that matches the specified selector is not visible.

      Browser: Firefox 80.0 / Windows 10
      Screenshot: ..\Automation\TestCafe_Cucumber\tests\screenshots\2020-09-11_10-14-42\test-1\Firefox_80.0_Windows_10\errors\1.png

         420 |When('I/user type(s) {string} in {word} from {word}( page)', async function (
         421 |    t, [text, element, page]
         422 |) {
         423 |    const elem = getElement(page, element);
         424 |
       > 425 |    await t.typeText(elem, text);
         426 |});
         427 |
         428 |When('I/user type(s) {string}.{string} in {string}.{string}', async function (
         429 |    t, [page1, element1, page2, element2]
         430 |) {

         at <anonymous> (..\Automation\TestCafe_Cucumber\node_modules\testcafe-cucumber-steps\index.js:425:13)
         at <anonymous> (..\Automation\TestCafe_Cucumber\node_modules\testcafe-cucumber-steps\index.js:420:1)
         at GherkinTestcafeCompiler._runStep (..\Automation\TestCafe_Cucumber\node_modules\gherkin-testcafe\src\compiler.js:201:12)
         at GherkinTestcafeCompiler._resolveAndRunStepDefinition (..\Automation\TestCafe_Cucumber\node_modules\gherkin-testcafe\src\compiler.js:189:21)
         at <anonymous> (..\Automation\TestCafe_Cucumber\node_modules\gherkin-testcafe\src\compiler.js:108:28)

Screenshots:

the div element that receive the click is:

Steps to Reproduce:

Go to the page URL from summary
Click on "Product selector link"
Wait until the custom search selector appears after click

Note: the same behavior can be found in a simple way using the TestCafe studio with the provided link and make the IDE perform the click (nothing happens either). Clicking manually the div is working ok.
Your Environment details:

testcafe version:
node.js version:
command-line arguments:   ".\node_modules.bin\gherkin-testcafe firefox"
browser name and version:
platform and version:
other:

Additionally you can try to run this code in TestCafe Studio, it will give the same behavior:
import { Selector } from 'testcafe';
fixture New Fixture
.page st.com;
test('New Test', async t => {
await t
.click(Selector('button').withText('Accept Cookies'))
.click(Selector('header a').withText('Amplifiers and Comparators'))
.click(Selector('header span').withText('Products').nth(1))
.click(Selector('header a').withText('Comparators').nth(2))
.click(Selector('main span').withText('Product selector'))
.click(Selector('main span').withText('Product selector'))
.click(Selector('main span').withText('Product selector'));
});

@stefanurziceanu, Thank you for your report. I've reproduced the issue. We'll update this thread once it's fixed.

Hi, regarding this issue what I experienced with the browser launched by TestCafe, the dynamic page elements (probably related to third party controls integrated) are not displayed no matter how long I wait with timeouts. As soon as I remove the "http://<IP_ADDRESS>:56773/u5Mue81M2*AfD3R1R0D" part from the URL, the dynamic elements are loaded. Any thoughts?

Hello @stefanurziceanu,
Thank you for sharing your observation. This part of the URL is the proxy that TestCafe uses to interact with the page. If you remove it, you're basically just opening the tested page in your browser without TestCafe.

Hello @stefanurziceanu,
Thank you for sharing your observation. This part of the URL is the proxy that TestCafe uses to interact with the page. If you remove it, you're basically just opening the tested page in your browser without TestCafe.

Hello,
Thank you for your response. Is there any workaround for the proxy to load all the dynamic elements from the page in order to manipulate the page elments that now are not displayed?
Thank you.

Unfortunately, there is no workaround for this issue at the moment. We need more time to research it. Once we fix the issue or find a workaround, we'll update this thread.