MM-38212: remove unread channel when navigating to threads

Summary
We include the current channel id in the unreads even if it's read,
I see no reason to include the lastUnreadChannel as well.
Removing it fixes the case when you navigate from an unread channel to
global threads and it didn't remove the channel from the sidebar.
Ticket Link
https://mattermost.atlassian.net/browse/MM-38212
Release Note
NONE

@hmhealey the tests failing make no sense to me, maybe you have more insight on this.

The name of lastUnreadChannel is misleading. It tracks whether or not the current channel was unread when you switched to it. It's used so that the current channel remains in the the correct spot in the sidebar's Unreads category (when that's enabled) after you've switched to it and it's marked unread.
I think those tests are failing because it's expecting the current channel to still be sorted with the unreads. Perhaps instead of changing getUnreadChannels, we should ensure that lastUnreadChannel is cleared when switching to the Threads view?

The name of lastUnreadChannel is misleading. It tracks whether or not the current channel was unread when you switched to it. It's used so that the current channel remains in the the correct spot in the sidebar's Unreads category (when that's enabled) after you've switched to it and it's marked unread.
I think those tests are failing because it's expecting the current channel to still be sorted with the unreads. Perhaps instead of changing getUnreadChannels, we should ensure that lastUnreadChannel is cleared when switching to the Threads view?

what I don't understand is that we are always adding the current channel:
                if (currentChannelId && unreadChannels.findIndex((channel) => channel.id === currentChannelId) === -1) {
                    unreadChannels.push(allChannels[currentChannelId]);
                }

That's specifically when the user is using the unread filter since the same selector is used for that and for the Unreads category. We do that to avoid getting the user "stuck" when they've read all their channels with that filter enabled.

It's a bit of a different use case than lastUnreadChannel since we want to keep showing the current channel even if it wasn't unread when the user switched to it.

/cherry-pick cloud

Cherry pick is scheduled.

/cherry-pick release-6.0

Cherry pick is scheduled.


how-to-use-passport-strategies not testing correctly

Challenge Name

https://beta.freecodecamp.org/en/challenges/advanced-node-and-express/how-to-use-passport-strategies
https://beta.freecodecamp.org/en/challenges/advanced-node-and-express/create-new-middleware
Issue Description

not passing 2nd test
Browser Information

chrome/MacOS

Browser Name, Version:
Operating System:
Mobile, Desktop, or Tablet:

Your Code

  app.route('/login')
  .post(passport.authenticate('local', {failureRedirect:'/'}),(req,res)=>{
res.redirect('/profile');
//res.redirect('/');
});//.post
--------------------------

function ensureAuthenticated(req,res,next) {
if(req.isAuthenticated()) {
return next();
}
res.redirect('/');

  app.route('/profile')
     .get(ensureAuthenticated, (req,res) => {
     res.render(process.cwd() + '/views/pug/profile');
       });

I've even copied the solution template, and modified as above

Screenshot

Hi @clickingmouse can you please share your solution here once again. I tried checking the same from your OP, but seems it could be incomplete?
You can comment below with the entire code. And here is an helpful link https://help.github.com/articles/creating-and-highlighting-code-blocks/

https://cheerful-crafter.glitch.me/
here is what i've done, but i might have change those code parts since.. you can try to paste your own solution provided in the link
https://gist.github.com/JosephLivengood/8a335d1a68ed9170da02bb9d8f5b71d5

Hi @clickingmouse
I am unsure of the issue here. We request you to give us a succinct explanation of the issue that you are facing.
The link cheerful-crafter.glitch.me is your output code.

here is what i've done, but i might have change those code parts since.. you can try to paste your own solution provided in the link

This does not help us understand the issue you that you are having.
I would recommend reaching out to the forum or chat for help with reporting the issue.

Hello,
I cannot past the second test. (see screen shot)
I have also copy and pasted the model answer provided . and it also does not pass the 2nd test

@clickingmouse Please see our freeCodeCamp BackEnd Support Channel for any assistance. We also have a freeCodeCamp Forum.


start-tc-server.sh must relay signals

External tools which wish to control the server started with start-tc-server.sh are currently unable to properly control the server by interacting with the created process, directly, as they are interacting with the process running the script and not the JVM, directly.
It is ideal for these tools to use this script since it means that they are starting the server the same it would be started in deployment.  Therefore, we need a way to control the server under the script.
Interactions with the server, once it is running, are limited to signals.  A user would wish to use SIGINT (2) to stop a server with ctrl-c but other tools typically use SIGTERM (15).  Both of these signals must be relayed on to the running JVM instance.

Note that the simple solution of invoking the JVM with exec won't work here since the script loops on the exit status of the server to determine if it was zapped and should be immediately restarted to clean its state.

Re-opening as this doesn't correctly handle the SIGINT case.  Reasons:

The script starts '&' processes with a modified SIGINT handler:  SIG_IGN (ignored) instead of SIG_DFL (default - terminate, in this case)
The wait call is interrupted by the signal handler, within the shell, so it returns a value >=128 and exits the loop, even though the inferior process may still be alive (this is what caused us to miss this problem and also makes the return value incorrect in these cases - although we also don't expect any special handling in these cases).

We probably want to solve the first problem by sending SIGTERM, in these cases (it is the intent of the ctrl-c, anyway).
The second problem we should be able to handle by looping on the wait call, only breaking out when the return value is <128.


Tenant  Name not listed.

The commands:
Add-RdsAccount -DeploymentUrl "https://rdbroker.wvd.microsoft.com"
Get-RdsTenant
don't return the tenant names. You can use -verbose and then the tenant name is displayed.

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

ID: 156a552a-fe64-e5dc-b86a-b7d8ccbeee1d
Version Independent ID: d83f235e-3ae2-ad71-30c6-0bd7f95fb894
Content: Create Windows Virtual Desktop service principals and role assignments by using PowerShell  - Azure
Content Source: articles/virtual-desktop/create-service-principal-role-powershell.md
Service: virtual-desktop
GitHub Login: @Heidilohr
Microsoft Alias: helohr

Thanks for the feedback! We are currently investigating and will update you shortly.

@Heidilohr @ChristianMontoya can either of you confirm on this? I can update the doc as needed. I no longer have my WVD environment setup so cannot confirm. I can set up a new one though if needed.

@tmguinn : To confirm, are you testing the login with the service principal?

No, all I'm saying is that the command Get-RdsTenant by default doesn't display the "NAME" of your tenant. Here is the output of the commands:
Get-RdsTenant
DeploymentUrl                      TenantGroupName      UserName

https://rdbroker.wvd.microsoft.com Default Tenant Group<EMAIL_ADDRESS>Default Tenant Group
get-rdstenant -Verbose
TenantGroupName         : Default Tenant Group
AadTenantId             : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
TenantName              : Contoso123456

Hmm...unfortunately, we haven't seen that before. This was what we're used to seeing (and what we want users to see) whenever you run just Get-RdsTenant
TenantGroupName          : Default Tenant Group
AadTenantId                     : [actual-guid]
TenantName                     : Tenant1
Description                       :
FriendlyName                   :
SsoAdfsAuthority              :
SsoClientId                        :
SsoClientSecret                 :
AzureSubscriptionId          : [actual-guid]
LogAnalyticsWorkspaceId  :
LogAnalyticsPrimaryKey    :
Have you been able to try from a different computer?

@tmguinn any update on this?

@tmguinn I will close this for now. When ready let us know and we can always reopen and continue the discussion.


⚠ Bofrost.be has degraded performance

In 52d14d4, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 900 ms

Resolved: Bofrost.be performance has improved in c707c4d.


Invenio v1.2.2

Signed-off-by: Tibor Simko<EMAIL_ADDRESS>

Besides the duplicate import @ludmilamarian pointed out ... LGMT

LGTM


How to process / confirm a shipment?

When I try to ship an order (processShipment) it returns a BolPlazaProcessStatus that says it's pending and I need to confirm the shipment:
[id] => #####
[sellerId] => #####
[entityId] => #####
[eventType] => CONFIRM_SHIPMENT
[description] => Confirm shipment for order item #####.
[status] => PENDING
[errorMessage] =>
[createTimestamp] => 2017-08-17T11:23:54.000+02:00
How can I confirm this?
Thanks!

Hi Klaas,
If I'm not mistaken the "Confirm shipment for order item #####" message refers to the task you're trying to carry out. The ProcessStatus entity describes the current status of this task.
So, just after requesting to ship an orderItem, the Plaza API returns this ProcessStatus object that tells you that the task is PENDING. This just means that Bol.com has not processed this shipment yet. You can request this ProcessStatus again at some point in the future to check whether the task has been completed. This can be done using the ProcessStatus endpoint and the id field in the ProcessStatus object that has been returned to you.
At some point you will see that this task was completed, and the status field will contain SUCCESS or FAILURE, indicating whether the task was successfully completed or not.
Hopefully this helps!
Link to the Shipments documentation: https://developers.bol.com/shipments-v2/
Link to the ProcessStatus documentation: https://developers.bol.com/resource-endpoints/process-status-v2/

Hi Maikel,
Thanks for your reply!
It looks like the shipment isn't completed after 15 minutes, so I'm missing something else.
This is how I try to process a shipment:
$shipment = new Picqer\BolPlazaClient\Entities\BolPlazaShipmentRequest();
$shipment->OrderItemId = $bolOrderId;
$shipment->ShipmentReference = date('Y-m-d H:i:s');
$shipment->DateTime = date('Y-m-d\TH:i:s');
$shipment->ExpectedDeliveryDate = date('Y-m-d\TH:i:s', strtotime('+1 day'));
$transport = new Picqer\BolPlazaClient\Entities\BolPlazaTransport();
$transport->TransporterCode = 'TNT_BRIEF';
$transport->TrackAndTrace = $order->getProperty('next_shipping_barcode');
$shipment->Transport = $transport;
$client = new Picqer\BolPlazaClient\BolPlazaClient($publickey, $privatekey);
$result = $client->processShipment($shipment);

In the BolPlazaClientTest.php examples I see this line of code:
$this->assertEquals($result->eventType, 'CONFIRM_SHIPMENT');
Do I need this? Can you tell me what this line of code does?

Hi Klaas,
I'm actually not sure how long it normally takes for Bol.com to process your shipment. The documentation only says 'as soon as possible', and unfortunately I have no personal experience with sending shipments like this. But, if after 15 minutes it still displays 'PENDING', then you probably just have to wait longer, because it is not one of the final statuses ('SUCCESS' or 'FAILURE').
At some point one of those two statuses should be visible, and then you know the shipment was processed (and as a result, it has succeeded, or failed). The code you use for sending a shipment request seems fine to me. The fact that you get ProcessStatus objects back also indicates the code is fine.
The line of code from the (unit) tests file is just a way of checking whether the endpoint does what it is expected to do. The eventType describes what kind of action you're trying to carry out/request. In the test file it is tested whether it's possible to request a shipment, and the result of the request is checked by making sure the eventType of the ProcessStatus object is as expected. In the case of a shipment request, the eventType should be equal to 'CONFIRM_SHIPMENT'.
There's no need to assert anything in your own code, though, as it's a construct mainly used for testing (or debugging).

Hi Klaas,
We are using the same calls as you do in your example, so there is no information missing there. I don't know how long that processing takes usually, but as @mvdpanne says: just wait a little longer.
Otherwise you could contact Bol.com at https://developers.bol.com/documentatie/plaza-api/contactformulier/ to verify why shipments are taking so long to create.

Maikel, Casper, thanks!
The shipment hasn't been completed yet (> 4 hours), so I'll try to contact Bol.com.
@casperbakker what value do you post for the ExpectedDeliveryDate? As you can see I set it to 1 day in the future (it takes 1 day before a package gets delivered to the customer). I think that is how I should use this value? When I manually process a shipment there is no need to enter this value.

Hi Klaas,
I support the awnsers from casperbakker and mvdpanne.
I've dealt the same problem as you.
The ExpectedDeliveryDate i sent is:
date('Y-m-d', strtotime('+1 day', time())).'T12:00:00+01:00'
I save the [id] from the response and poll this to 'rest/process-status/v2' with a 5 minutes interval and keep doing this until they give me a success or failure, like mvdpanne said.
I will try to log the delay for you for the next orders.

We also just give the date of tomorrow:
$tomorrow = Carbon::tomorrow();
$shipmentRequest->ExpectedDeliveryDate = $tomorrow->toDateString() . 'T' . $tomorrow->toTimeString();

Forgot to close this; problem solved with the ExpectedDeliveryDate fix!


In the PR view, the review action selector next to 'Comment' also submits the PR

I don't expect the selector to submit the review when I make a selection. Instead, I expect it to change the behaviour of the button next to the dropdown. This has caught me quite a few times. If there's consensus that this would be a better experience, I'd be happy to submit a PR
https://github.com/microsoft/vscode-pull-request-github/assets/7654793/c6a9d533-d48d-42fd-906e-e43251b67c27

There's been some discussion on this before: https://github.com/microsoft/vscode-pull-request-github/issues/3785
The short version is that this is consistent with the behavior in VS Code core in the SCM view.
If there's a strong desire form multiple users to change this then we can add a setting, but my preference would just be to stay consistent with the SCM view.

Makes sense. Thanks for the context

Given the lack of engagement from other users I'm going to say that there isn't a strong desire from users to add a setting here.


Change select self-employment fields to be optional.

The following fields are now optional:

commencementDate
businessDescription
businessAddressLineOne
businessPostcode

👍


Explain the need for a NetworkPolicy on k8s

Description
Sometimes users need a NetworkPolicy when using flannel etc for the webhook.
Might be worth explaining this in the docs.
Does it fit in a k8s troubleshooting section? Somewhere else?
apiVersion: http://networking.k8s.io/v1
metadata:
  name: allow-same-svc-call
  namespace: abcd-poc
spec:
  podSelector:
    matchLabels:
      http://app.kubernetes.io/name: "kong-mesh"
  ingress:
  - from:
    - ipBlock:
        cidr: x.x.x.x/28
    ports:
    - port: 5443

Add examples with ZoneEgress/ZoneIngress and Network policy and interesting restrictive network policy

For securityContext everywhere envoy runs needs : NET_RAW and NET_ADMIN

Triage: Definitely worth documenting. We should explain how to work with network policies and service mesh together.


[zh] fix some translations error for zh  docs

This is a Bug Report

Problem:

content/zh/docs/concepts/cluster-administration/system-metrics.md
line 131 , '启用' should be '弃用'

content/zh/docs/reference/access-authn-authz/_index.md
Title '访问 API' should be ‘API 访问控制'

Page to Update:

https://kubernetes.io/zh/docs/concepts/cluster-administration/system-metrics
https://kubernetes.io/zh/docs/reference/access-authn-authz/

/assign

#31897 I have commited the changes.

/assign @FOWind

/triage accepted

Resolved by #31889 .
/close


Stacking of items dragged items when using groups

Try example 15, the stacking of a dragged item is only updated after you stop dragging. While dragging, the item is always located on top.
See also the video in this topic:
https://groups.google.com/forum/#!msg/chap-links-library/7-j2oRBkS1A/WYWoytZaWi8J

Yes, I think the timeline would benefit a lot from resolving this visual bug. Thank you very much!

Note that this is no issue in the successor of chap-links-library: vis.js

I'm gonna try it tonight then... quick question: is there any migration guide from the old library to vis.js? Or a list of config/ground-breaking changes? Thanks!

There is no migration guide, sorry. The main differences are described here: http://almende.github.io/chap-links-library/#successor.

This is a very annoying issue and open for almost 3 years now. Do you guys have any plan to fix it some time soon?


Add .gitignore for Python 2.7

It is recommended to add a .gitignore in order to help with *.pyc files, *.swp files of vim(1) and .DS_Store files of Mac OS X.

Thank you for your patches. Both have been merged.


Laravel Octane with FrankenPHP Class "Memcached" not found

What happened?
I'm trying out frankenphp with laravel octane and it's not detecting the memcached module. I did a php -m on the docker image the app is running on and the module is there, but laravel octane is not able to find it. If I change the cache provider to be array the applications loads.
I'm just posting it here to see if anyone else ran into this or see if maybe I'm missing an important step.
I did apply the php workaround for the composer scripts.
I'm using a Mac with apple silicon if that makes a difference at all.
Build Type
Standalone binary
Worker Mode
Yes
Operating System
macOS
CPU Architecture
Apple Silicon
PHP configuration
PHP Version => 8.3.11

System => Linux 232b8923a3fb 6.10.4-linuxkit #1 SMP Mon Aug 12 08:47:01 UTC 2024 aarch64
Build Date => Sep  4 2024 22:56:43
Build System => Linux - Docker
Build Provider => https://github.com/docker-library/php
Configure Command =>  './configure'  '--build=aarch64-linux-gnu' '--with-config-file-path=/usr/local/etc/php' '--with-config-file-scan-dir=/usr/local/etc/php/conf.d' '--enable-option-checking=fatal' '--with-mhash' '--with-pic' '--enable-mbstring' '--enable-mysqlnd' '--with-password-argon2' '--with-sodium=shared' '--with-pdo-sqlite=/usr' '--with-sqlite3=/usr' '--with-curl' '--with-iconv' '--with-openssl' '--with-readline' '--with-zlib' '--enable-phpdbg' '--enable-phpdbg-readline' '--with-pear' '--with-libdir=lib/aarch64-linux-gnu' '--enable-embed' 'build_alias=aarch64-linux-gnu'
Server API => Command Line Interface
Virtual Directory Support => disabled
Configuration File (php.ini) Path => /usr/local/etc/php
Loaded Configuration File => /usr/local/etc/php/php.ini
Scan this dir for additional .ini files => /usr/local/etc/php/conf.d
Additional .ini files parsed => /usr/local/etc/php/conf.d/docker-php-ext-bcmath.ini,
/usr/local/etc/php/conf.d/docker-php-ext-gd.ini,
/usr/local/etc/php/conf.d/docker-php-ext-igbinary.ini,
/usr/local/etc/php/conf.d/docker-php-ext-imagick.ini,
/usr/local/etc/php/conf.d/docker-php-ext-intl.ini,
/usr/local/etc/php/conf.d/docker-php-ext-pcntl.ini,
/usr/local/etc/php/conf.d/docker-php-ext-pdo_mysql.ini,
/usr/local/etc/php/conf.d/docker-php-ext-sockets.ini,
/usr/local/etc/php/conf.d/docker-php-ext-sodium.ini,
/usr/local/etc/php/conf.d/docker-php-ext-uuid.ini,
/usr/local/etc/php/conf.d/docker-php-ext-zip.ini,
/usr/local/etc/php/conf.d/xx-php-ext-memcached.ini

PHP API => 20230831
PHP Extension => 20230831
Zend Extension => 420230831
Zend Extension Build => API420230831,NTS
PHP Extension Build => API20230831,NTS
Debug Build => no
Thread Safety => disabled
Zend Signal Handling => enabled
Zend Memory Manager => enabled
Zend Multibyte Support => provided by mbstring
Zend Max Execution Timers => disabled
IPv6 Support => enabled
DTrace Support => disabled

Registered PHP Streams => https, ftps, compress.zlib, php, file, glob, data, http, ftp, phar, zip
Registered Stream Socket Transports => tcp, udp, unix, udg, ssl, tls, tlsv1.0, tlsv1.1, tlsv1.2, tlsv1.3
Registered Stream Filters => zlib.*, convert.iconv.*, string.rot13, string.toupper, string.tolower, convert.*, consumed, dechunk

This program makes use of the Zend Scripting Language Engine:
Zend Engine v4.3.11, Copyright (c) Zend Technologies

 _______________________________________________________________________

Configuration

bcmath

BCMath support => enabled

Directive => Local Value => Master Value
bcmath.scale => 0 => 0

Core

PHP Version => 8.3.11

Directive => Local Value => Master Value
allow_url_fopen => On => On
allow_url_include => Off => Off
arg_separator.input => & => &
arg_separator.output => & => &
auto_append_file => no value => no value
auto_globals_jit => On => On
auto_prepend_file => no value => no value
browscap => no value => no value
default_charset => UTF-8 => UTF-8
default_mimetype => text/html => text/html
disable_classes => no value => no value
disable_functions => no value => no value
display_errors => STDOUT => STDOUT
display_startup_errors => On => On
doc_root => no value => no value
docref_ext => no value => no value
docref_root => no value => no value
enable_dl => Off => Off
enable_post_data_reading => On => On
error_append_string => no value => no value
error_log => no value => no value
error_log_mode => 0644 => 0644
error_prepend_string => no value => no value
error_reporting => 32767 => 32767
expose_php => On => On
extension_dir => /usr/local/lib/php/extensions/no-debug-non-zts-20230831 => /usr/local/lib/php/extensions/no-debug-non-zts-20230831
fiber.stack_size => no value => no value
file_uploads => On => On
hard_timeout => 2 => 2
highlight.comment => #FF8000 => #FF8000
highlight.default => #0000BB => #0000BB
highlight.html => #000000 => #000000
highlight.keyword => #007700 => #007700
highlight.string => #DD0000 => #DD0000
html_errors => Off => Off
ignore_repeated_errors => Off => Off
ignore_repeated_source => Off => Off
ignore_user_abort => Off => Off
implicit_flush => On => On
include_path => .:/usr/local/lib/php => .:/usr/local/lib/php
input_encoding => no value => no value
internal_encoding => no value => no value
log_errors => On => On
mail.add_x_header => Off => Off
mail.force_extra_parameters => no value => no value
mail.log => no value => no value
mail.mixed_lf_and_crlf => Off => Off
max_execution_time => 0 => 0
max_file_uploads => 20 => 20
max_input_nesting_level => 64 => 64
max_input_time => -1 => -1
max_input_vars => 1000 => 1000
max_multipart_body_parts => -1 => -1
memory_limit => 128M => 128M
open_basedir => no value => no value
output_buffering => 0 => 0
output_encoding => no value => no value
output_handler => no value => no value
post_max_size => 8M => 8M
precision => 14 => 14
realpath_cache_size => 4096K => 4096K
realpath_cache_ttl => 120 => 120
register_argc_argv => On => On
report_memleaks => On => On
report_zend_debug => Off => Off
request_order => GP => GP
sendmail_from => no value => no value
sendmail_path => /usr/sbin/sendmail -t -i => /usr/sbin/sendmail -t -i
serialize_precision => -1 => -1
short_open_tag => Off => Off
SMTP => localhost => localhost
smtp_port => 25 => 25
sys_temp_dir => no value => no value
syslog.facility => LOG_USER => LOG_USER
syslog.filter => no-ctrl => no-ctrl
syslog.ident => php => php
unserialize_callback_func => no value => no value
upload_max_filesize => 2M => 2M
upload_tmp_dir => no value => no value
user_dir => no value => no value
user_ini.cache_ttl => 300 => 300
user_ini.filename => .user.ini => .user.ini
variables_order => GPCS => GPCS
xmlrpc_error_number => 0 => 0
xmlrpc_errors => Off => Off
zend.assertions => 1 => 1
zend.detect_unicode => On => On
zend.enable_gc => On => On
zend.exception_ignore_args => Off => Off
zend.exception_string_param_max_len => 15 => 15
zend.max_allowed_stack_size => 0 => 0
zend.multibyte => Off => Off
zend.reserved_stack_size => 0 => 0
zend.script_encoding => no value => no value
zend.signal_check => Off => Off

ctype

ctype functions => enabled

curl

cURL support => enabled
cURL Information => 7.88.1
Age => 10
Features
AsynchDNS => Yes
CharConv => No
Debug => No
GSS-Negotiate => No
IDN => Yes
IPv6 => Yes
krb4 => No
Largefile => Yes
libz => Yes
NTLM => Yes
NTLMWB => Yes
SPNEGO => Yes
SSL => Yes
SSPI => No
TLS-SRP => Yes
HTTP2 => Yes
GSSAPI => Yes
KERBEROS5 => Yes
UNIX_SOCKETS => Yes
PSL => Yes
HTTPS_PROXY => Yes
MULTI_SSL => No
BROTLI => Yes
ALTSVC => Yes
HTTP3 => No
UNICODE => No
ZSTD => Yes
HSTS => Yes
GSASL => No
Protocols => dict, file, ftp, ftps, gopher, gophers, http, https, imap, imaps, ldap, ldaps, mqtt, pop3, pop3s, rtmp, rtmpe, rtmps, rtmpt, rtmpte, rtmpts, rtsp, scp, sftp, smb, smbs, smtp, smtps, telnet, tftp
Host => aarch64-unknown-linux-gnu
SSL Version => OpenSSL/3.0.14
ZLib Version => 1.2.13
libSSH Version => libssh2/1.10.0

Directive => Local Value => Master Value
curl.cainfo => no value => no value

date

date/time support => enabled
timelib version => 2022.10
"Olson" Timezone Database Version => 2024.1
Timezone Database => internal
Default timezone => UTC

Directive => Local Value => Master Value
date.default_latitude => 31.7667 => 31.7667
date.default_longitude => 35.2333 => 35.2333
date.sunrise_zenith => 90.833333 => 90.833333
date.sunset_zenith => 90.833333 => 90.833333
date.timezone => UTC => UTC

dom

DOM/XML => enabled
DOM/XML API Version => 20031129
libxml Version => 2.9.14
HTML Support => enabled
XPath Support => enabled
XPointer Support => enabled
Schema Support => enabled
RelaxNG Support => enabled

fileinfo

fileinfo support => enabled
libmagic => 543

filter

Input Validation and Filtering => enabled

Directive => Local Value => Master Value
filter.default => unsafe_raw => unsafe_raw
filter.default_flags => no value => no value

gd

GD Support => enabled
GD Version => bundled (2.1.0 compatible)
FreeType Support => enabled
FreeType Linkage => with freetype
FreeType Version => 2.12.1
GIF Read Support => enabled
GIF Create Support => enabled
JPEG Support => enabled
libJPEG Version => 6b
PNG Support => enabled
libPNG Version => 1.6.39
WBMP Support => enabled
XPM Support => enabled
libXpm Version => 30411
XBM Support => enabled
WebP Support => enabled
BMP Support => enabled
AVIF Support => enabled
TGA Read Support => enabled

Directive => Local Value => Master Value
gd.jpeg_ignore_warning => On => On

hash

hash support => enabled
Hashing Engines => md2 md4 md5 sha1 sha224 sha256 sha384 sha512/224 sha512/256 sha512 sha3-224 sha3-256 sha3-384 sha3-512 ripemd128 ripemd160 ripemd256 ripemd320 whirlpool tiger128,3 tiger160,3 tiger192,3 tiger128,4 tiger160,4 tiger192,4 snefru snefru256 gost gost-crypto adler32 crc32 crc32b crc32c fnv132 fnv1a32 fnv164 fnv1a64 joaat murmur3a murmur3c murmur3f xxh32 xxh64 xxh3 xxh128 haval128,3 haval160,3 haval192,3 haval224,3 haval256,3 haval128,4 haval160,4 haval192,4 haval224,4 haval256,4 haval128,5 haval160,5 haval192,5 haval224,5 haval256,5

MHASH support => Enabled
MHASH API Version => Emulated Support

iconv

iconv support => enabled
iconv implementation => glibc
iconv library version => 2.36

Directive => Local Value => Master Value
iconv.input_encoding => no value => no value
iconv.internal_encoding => no value => no value
iconv.output_encoding => no value => no value

igbinary

igbinary support => enabled
igbinary version => 3.2.16
igbinary APCu serializer ABI => no
igbinary session support => yes

Directive => Local Value => Master Value
igbinary.compact_strings => On => On

imagick

imagick module => enabled
imagick module version => 3.7.0
imagick classes => Imagick, ImagickDraw, ImagickPixel, ImagickPixelIterator, ImagickKernel
Imagick compiled with ImageMagick version => ImageMagick 6.9.11-60 Q16 x86_64 2021-01-25 https://imagemagick.org
Imagick using ImageMagick library version => ImageMagick 6.9.11-60 Q16 aarch64 2021-01-25 https://imagemagick.org
ImageMagick copyright => (C) 1999-2021 ImageMagick Studio LLC
ImageMagick release date => 2021-01-25
ImageMagick number of supported formats:  => 247
ImageMagick supported formats => 3FR, 3G2, 3GP, AAI, AI, APNG, ART, ARW, AVI, AVIF, AVS, BGR, BGRA, BGRO, BIE, BMP, BMP2, BMP3, BRF, CAL, CALS, CANVAS, CAPTION, CIN, CIP, CLIP, CMYK, CMYKA, CR2, CR3, CRW, CUR, CUT, DATA, DCM, DCR, DCX, DDS, DFONT, DJVU, DNG, DOT, DPX, DXT1, DXT5, EPDF, EPI, EPS, EPS2, EPS3, EPSF, EPSI, EPT, EPT2, EPT3, ERF, EXR, FAX, FILE, FITS, FRACTAL, FTP, FTS, G3, G4, GIF, GIF87, GRADIENT, GRAY, GRAYA, GROUP4, GV, H, HALD, HDR, HEIC, HISTOGRAM, HRZ, HTM, HTML, HTTP, HTTPS, ICB, ICO, ICON, IIQ, INFO, INLINE, IPL, ISOBRL, ISOBRL6, J2C, J2K, JBG, JBIG, JNG, JNX, JP2, JPC, JPE, JPEG, JPG, JPM, JPS, JPT, JSON, K25, KDC, LABEL, M2V, M4V, MAC, MAGICK, MAP, MASK, MAT, MATTE, MEF, MIFF, MKV, MNG, MONO, MOV, MP4, MPC, MPG, MRW, MSL, MSVG, MTV, MVG, NEF, NRW, NULL, ORF, OTB, OTF, PAL, PALM, PAM, PANGO, PATTERN, PBM, PCD, PCDS, PCL, PCT, PCX, PDB, PDF, PDFA, PEF, PES, PFA, PFB, PFM, PGM, PGX, PICON, PICT, PIX, PJPEG, PLASMA, PNG, PNG00, PNG24, PNG32, PNG48, PNG64, PNG8, PNM, POCKETMOD, PPM, PREVIEW, PS, PS2, PS3, PSB, PSD, PTIF, PWP, RADIAL-GRADIENT, RAF, RAS, RAW, RGB, RGBA, RGBO, RGF, RLA, RLE, RMF, RW2, SCR, SCT, SFW, SGI, SHTML, SIX, SIXEL, SPARSE-COLOR, SR2, SRF, STEGANO, SUN, SVG, SVGZ, TEXT, TGA, THUMBNAIL, TIFF, TIFF64, TILE, TIM, TTC, TTF, TXT, UBRL, UBRL6, UIL, UYVY, VDA, VICAR, VID, VIDEO, VIFF, VIPS, VST, WBMP, WEBM, WEBP, WMF, WMV, WMZ, WPG, X, X3F, XBM, XC, XCF, XPM, XPS, XV, XWD, YCbCr, YCbCrA, YUV

Directive => Local Value => Master Value
imagick.allow_zero_dimension_images => 0 => 0
imagick.locale_fix => 0 => 0
imagick.progress_monitor => 0 => 0
imagick.set_single_thread => 1 => 1
imagick.shutdown_sleep_count => 10 => 10
imagick.skip_version_check => 0 => 0

intl

Internationalization support => enabled
ICU version => 72.1
ICU Data version => 72.1
ICU TZData version => 2022e
ICU Unicode version => 15.0

Directive => Local Value => Master Value
intl.default_locale => no value => no value
intl.error_level => 0 => 0
intl.use_exceptions => Off => Off

json

json support => enabled

libxml

libXML support => active
libXML Compiled Version => 2.9.14
libXML Loaded Version => 20914
libXML streams => enabled

mbstring

Multibyte Support => enabled
Multibyte string engine => libmbfl
HTTP input encoding translation => disabled
libmbfl version => 1.3.2

mbstring extension makes use of "streamable kanji code filter and converter", which is distributed under the GNU Lesser General Public License version 2.1.

Multibyte (japanese) regex support => enabled
Multibyte regex (oniguruma) version => 6.9.8

Directive => Local Value => Master Value
mbstring.detect_order => no value => no value
mbstring.encoding_translation => Off => Off
mbstring.http_input => no value => no value
mbstring.http_output => no value => no value
mbstring.http_output_conv_mimetypes => ^(text/|application/xhtml\+xml) => ^(text/|application/xhtml\+xml)
mbstring.internal_encoding => no value => no value
mbstring.language => neutral => neutral
mbstring.regex_retry_limit => 1000000 => 1000000
mbstring.regex_stack_limit => 100000 => 100000
mbstring.strict_detection => Off => Off
mbstring.substitute_character => no value => no value

memcached

memcached support => enabled
Version => 3.2.0
libmemcached-awesome version => 1.1.4
SASL support => yes
Session support => yes
igbinary support => yes
json support => yes
msgpack support => no

Directive => Local Value => Master Value
memcached.compression_factor => 1.3 => 1.3
memcached.compression_threshold => 2000 => 2000
memcached.compression_type => fastlz => fastlz
memcached.default_binary_protocol => Off => Off
memcached.default_connect_timeout => 0 => 0
memcached.default_consistent_hash => Off => Off
memcached.serializer => igbinary => igbinary
memcached.sess_binary_protocol => On => On
memcached.sess_connect_timeout => 0 => 0
memcached.sess_consistent_hash => On => On
memcached.sess_consistent_hash_type => ketama => ketama
memcached.sess_lock_expire => 0 => 0
memcached.sess_lock_max_wait => not set => not set
memcached.sess_lock_retries => 5 => 5
memcached.sess_lock_wait => not set => not set
memcached.sess_lock_wait_max => 150 => 150
memcached.sess_lock_wait_min => 150 => 150
memcached.sess_locking => On => On
memcached.sess_number_of_replicas => 0 => 0
memcached.sess_persistent => Off => Off
memcached.sess_prefix => memc.sess.key. => memc.sess.key.
memcached.sess_randomize_replica_read => Off => Off
memcached.sess_remove_failed_servers => Off => Off
memcached.sess_sasl_password => no value => no value
memcached.sess_sasl_username => no value => no value
memcached.sess_server_failure_limit => 0 => 0
memcached.store_retry_count => 0 => 0

mysqlnd

mysqlnd => enabled
Version => mysqlnd 8.3.11
Compression => supported
core SSL => supported
extended SSL => supported
Command buffer size => 4096
Read buffer size => 32768
Read timeout => 86400
Collecting statistics => Yes
Collecting memory statistics => Yes
Tracing => n/a
Loaded plugins => mysqlnd,debug_trace,auth_plugin_mysql_native_password,auth_plugin_mysql_clear_password,auth_plugin_caching_sha2_password,auth_plugin_sha256_password
API Extensions => pdo_mysql

openssl

OpenSSL support => enabled
OpenSSL Library Version => OpenSSL 3.0.14 4 Jun 2024
OpenSSL Header Version => OpenSSL 3.0.14 4 Jun 2024
Openssl default config => /usr/lib/ssl/openssl.cnf

Directive => Local Value => Master Value
openssl.cafile => no value => no value
openssl.capath => no value => no value

pcntl

pcntl support => enabled

pcre

PCRE (Perl Compatible Regular Expressions) Support => enabled
PCRE Library Version => 10.42 2022-12-12
PCRE Unicode Version => 14.0.0
PCRE JIT Support => enabled
PCRE JIT Target => ARM-64 64bit (little endian + unaligned)

Directive => Local Value => Master Value
pcre.backtrack_limit => 1000000 => 1000000
pcre.jit => On => On
pcre.recursion_limit => 100000 => 100000

PDO

PDO support => enabled
PDO drivers => sqlite, mysql

pdo_mysql

PDO Driver for MySQL => enabled
Client API version => mysqlnd 8.3.11

Directive => Local Value => Master Value
pdo_mysql.default_socket => no value => no value

pdo_sqlite

PDO Driver for SQLite 3.x => enabled
SQLite Library => 3.40.1

Phar

Phar: PHP Archive support => enabled
Phar API version => 1.1.1
Phar-based phar archives => enabled
Tar-based phar archives => enabled
ZIP-based phar archives => enabled
gzip compression => enabled
bzip2 compression => disabled (install ext/bz2)
Native OpenSSL support => enabled

Phar based on pear/PHP_Archive, original concept by Davey Shafik.
Phar fully realized by Gregory Beaver and Marcus Boerger.
Portions of tar implementation Copyright (c) 2003-2009 Tim Kientzle.
Directive => Local Value => Master Value
phar.cache_list => no value => no value
phar.readonly => On => On
phar.require_hash => On => On

posix

POSIX support => enabled

random

Version => 8.3.11

readline

Readline Support => enabled
Readline library => 8.2

Directive => Local Value => Master Value
cli.pager => no value => no value
cli.prompt => \b \>  => \b \>

Reflection

Reflection => enabled

session

Session Support => enabled
Registered save handlers => files user memcached
Registered serializer handlers => php_serialize php php_binary igbinary

Directive => Local Value => Master Value
session.auto_start => Off => Off
session.cache_expire => 180 => 180
session.cache_limiter => nocache => nocache
session.cookie_domain => no value => no value
session.cookie_httponly => Off => Off
session.cookie_lifetime => 0 => 0
session.cookie_path => / => /
session.cookie_samesite => no value => no value
session.cookie_secure => Off => Off
session.gc_divisor => 1000 => 1000
session.gc_maxlifetime => 1440 => 1440
session.gc_probability => 1 => 1
session.lazy_write => On => On
session.name => PHPSESSID => PHPSESSID
session.referer_check => no value => no value
session.save_handler => files => files
session.save_path => no value => no value
session.serialize_handler => php => php
session.sid_bits_per_character => 5 => 5
session.sid_length => 26 => 26
session.upload_progress.cleanup => On => On
session.upload_progress.enabled => On => On
session.upload_progress.freq => 1% => 1%
session.upload_progress.min_freq => 1 => 1
session.upload_progress.name => PHP_SESSION_UPLOAD_PROGRESS => PHP_SESSION_UPLOAD_PROGRESS
session.upload_progress.prefix => upload_progress_ => upload_progress_
session.use_cookies => On => On
session.use_only_cookies => On => On
session.use_strict_mode => Off => Off
session.use_trans_sid => Off => Off

SimpleXML

SimpleXML support => enabled
Schema support => enabled

sockets

Sockets Support => enabled

sodium

sodium support => enabled
libsodium headers version => 1.0.18
libsodium library version => 1.0.18

SPL

SPL support => enabled
Interfaces => OuterIterator, RecursiveIterator, SeekableIterator, SplObserver, SplSubject
Classes => AppendIterator, ArrayIterator, ArrayObject, BadFunctionCallException, BadMethodCallException, CachingIterator, CallbackFilterIterator, DirectoryIterator, DomainException, EmptyIterator, FilesystemIterator, FilterIterator, GlobIterator, InfiniteIterator, InvalidArgumentException, IteratorIterator, LengthException, LimitIterator, LogicException, MultipleIterator, NoRewindIterator, OutOfBoundsException, OutOfRangeException, OverflowException, ParentIterator, RangeException, RecursiveArrayIterator, RecursiveCachingIterator, RecursiveCallbackFilterIterator, RecursiveDirectoryIterator, RecursiveFilterIterator, RecursiveIteratorIterator, RecursiveRegexIterator, RecursiveTreeIterator, RegexIterator, RuntimeException, SplDoublyLinkedList, SplFileInfo, SplFileObject, SplFixedArray, SplHeap, SplMinHeap, SplMaxHeap, SplObjectStorage, SplPriorityQueue, SplQueue, SplStack, SplTempFileObject, UnderflowException, UnexpectedValueException

sqlite3

SQLite3 support => enabled
SQLite Library => 3.40.1

Directive => Local Value => Master Value
sqlite3.defensive => On => On
sqlite3.extension_dir => no value => no value

standard

Dynamic Library Support => enabled
Path to sendmail => /usr/sbin/sendmail -t -i

Directive => Local Value => Master Value
assert.active => On => On
assert.bail => Off => Off
assert.callback => no value => no value
assert.exception => On => On
assert.warning => On => On
auto_detect_line_endings => Off => Off
default_socket_timeout => 60 => 60
from => no value => no value
session.trans_sid_hosts => no value => no value
session.trans_sid_tags => a=href,area=href,frame=src,form= => a=href,area=href,frame=src,form=
unserialize_max_depth => 4096 => 4096
url_rewriter.hosts => no value => no value
url_rewriter.tags => form= => form=
user_agent => no value => no value

tokenizer

Tokenizer Support => enabled

uuid

UUID extension => enabled
Version => 1.2.0 (stable)
Released => 2020-10-06
Authors => Hartmut Holzgraefe, Remi Collet

xml

XML Support => active
XML Namespace Support => active
libxml2 Version => 2.9.14

xmlreader

XMLReader => enabled

xmlwriter

XMLWriter => enabled

zip

Zip => enabled
Zip version => 1.22.3
Libzip version => 1.7.3
BZIP2 compression => Yes
XZ compression => No
ZSTD compression => No
AES-128 encryption => Yes
AES-192 encryption => Yes
AES-256 encryption => Yes

zlib

ZLib Support => enabled
Stream Wrapper => compress.zlib://
Stream Filter => zlib.inflate, zlib.deflate
Compiled Version => 1.2.13
Linked Version => 1.2.13

Directive => Local Value => Master Value
zlib.output_compression => Off => Off
zlib.output_compression_level => -1 => -1
zlib.output_handler => no value => no value

Additional Modules

Module Name

Environment

Variable => Value
HOSTNAME => 232b8923a3fb
HOME => /root
PHP_LDFLAGS => -Wl,-O1 -pie
ENV => development
PHP_CFLAGS => -fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
PHP_VERSION => 8.3.11
GPG_KEYS => 1198C0117593497A5EC5C199286AF1F9897469DC C28D937575603EB4ABB725861C0779DC5C0A9DE4 AFD8691FDAEDF03BDF6E460563F15A9B715376CA
PHP_CPPFLAGS => -fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
PHP_ASC_URL => https://www.php.net/distributions/php-8.3.11.tar.xz.asc
COMPOSER_ALLOW_SUPERUSER => 1
PHP_URL => https://www.php.net/distributions/php-8.3.11.tar.xz
TERM => xterm
PATH => /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PHPIZE_DEPS => autoconf                 dpkg-dev                file            g++             gcc             libc-dev                make            pkg-config              re2c
PWD => /opt/app
PHP_SHA256 => b862b098a08ab9bf4b36ed12c7d0d9f65353656b36fb0e3c5344093aceb35802

PHP Variables

Variable => Value
$_SERVER['PHP_INI_DIR'] => /usr/local/etc/php
$_SERVER['HOME'] => /root
$_SERVER['PHP_LDFLAGS'] => -Wl,-O1 -pie
$_SERVER['ENV'] => development
$_SERVER['PHP_CFLAGS'] => -fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
$_SERVER['PHP_VERSION'] => 8.3.11
$_SERVER['GPG_KEYS'] => 1198C0117593497A5EC5C199286AF1F9897469DC C28D937575603EB4ABB725861C0779DC5C0A9DE4 AFD8691FDAEDF03BDF6E460563F15A9B715376CA
$_SERVER['PHP_CPPFLAGS'] => -fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
$_SERVER['PHP_ASC_URL'] => https://www.php.net/distributions/php-8.3.11.tar.xz.asc
$_SERVER['PHP_URL'] => https://www.php.net/distributions/php-8.3.11.tar.xz
$_SERVER['TERM'] => xterm
$_SERVER['PATH'] => /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
$_SERVER['PHPIZE_DEPS'] => autoconf             dpkg-dev                file            g++             gcc             libc-dev                make            pkg-config              re2c
$_SERVER['PWD'] => /opt/app
$_SERVER['PHP_SHA256'] => b862b098a08ab9bf4b36ed12c7d0d9f65353656b36fb0e3c5344093aceb35802
$_SERVER['PHP_SELF'] =>
$_SERVER['SCRIPT_NAME'] =>
$_SERVER['SCRIPT_FILENAME'] =>
$_SERVER['PATH_TRANSLATED'] =>
$_SERVER['DOCUMENT_ROOT'] =>
$_SERVER['REQUEST_TIME_FLOAT'] =><PHONE_NUMBER>.1056
$_SERVER['REQUEST_TIME'] =><PHONE_NUMBER>
$_SERVER['argv'] => Array
(
)

$_SERVER['argc'] => 0

PHP License
This program is free software; you can redistribute it and/or modify
it under the terms of the PHP License as published by the PHP Group
and included in the distribution in the file:  LICENSE

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

If you did not receive a copy of the PHP license, or have any
questions about PHP licensing, please contact<EMAIL_ADDRESS>
Relevant log output
2024-09-16 15:05:48    Error
2024-09-16 15:05:48
2024-09-16 15:05:48   Class "Memcached" not found
2024-09-16 15:05:48
2024-09-16 15:05:48   at vendor/laravel/framework/src/Illuminate/Cache/MemcachedConnector.php:69
2024-09-16 15:05:48      65▕      * @return \Memcached
2024-09-16 15:05:48      66▕      */
2024-09-16 15:05:48      67▕     protected function createMemcachedInstance($connectionId)
2024-09-16 15:05:48      68▕     {
2024-09-16 15:05:48   ➜  69▕         return empty($connectionId) ? new Memcached : new Memcached($connectionId);
2024-09-16 15:05:48      70▕     }
2024-09-16 15:05:48      71▕
2024-09-16 15:05:48      72▕     /**
2024-09-16 15:05:48      73▕      * Set the SASL credentials on the Memcached connection.
2024-09-16 15:05:48
2024-09-16 15:05:48       +16 vendor frames
2024-09-16 15:05:48
2024-09-16 15:05:48   17  app/Providers/RouteServiceProvider.php:18
2024-09-16 15:05:48       Illuminate\Support\Facades\Facade::__callStatic("for")
2024-09-16 15:05:48       +7 vendor frames
2024-09-16 15:05:48
2024-09-16 15:05:48   25  [internal]:0
2024-09-16 15:05:48       Illuminate\Foundation\Application::Illuminate\Foundation\{closure}(Object(App\Providers\RouteServiceProvider))

memecached isn't supported by Static PHP CLI on Linux: https://static-php.dev/en/guide/extensions.html
Switching from the static build to the Docker image (or compiling manually FrankenPHP) will allow you to use this extension: https://laravel.com/docs/11.x/octane#frankenphp-via-docker

I just was going to post that swapping out the initial image I was using to dunglas/frankenphp:1.2-php8.3-bookworm resolved my issue.
Thanks for the quick response.


What is an App Shell and why is it useful?

Add something to readme?

Confirm. In the mean time: https://developers.google.com/web/fundamentals/architecture/app-shell

+1.
I also tried to google it up and made a conclusion that an "app shell" is a frontend of a progressive web app.
What does it have to do with headless Chrome, though?

I have improved the readme, let me know if it's sufficient details to make you understand what it does.

It is, thank you. :bow:

Awesome!


how can I implement dynamic titles using lit-ssr?

Should this be an RFC?

[x] This is not a substantial change

Which package is this a feature request for?
SSR (@lit-labs/ssr)
Description
My webpage consists of several Lit components. One of these components holds the core content of the webpage. This core component fetches the main content through an API and extracts the title from it.
Currently, my solution is: after the component calls the API, it dispatches a CustomEvent carrying the title. An external script listens for this event and then updates the document.title.
Now, how can I implement dynamic titles using lit-ssr?
Alternatives and Workarounds
Nothing

Sorry, this isn't currently supported.
There are roughly 2 changes needed: (1) support for events (PR in review), (2) a setting to turn off streaming: needed since the <title> would have to wait for the event from the element before emitting. The streaming setting has been discussed but is not currently planned.
Alternatively, you'd need to do something custom like have your server code separately call your title API and emit the title element.

@sorvell
I am developing an SPA website.
I have been wondering whether using events to update the title is a good solution.
Do you have any better suggestions?

You can use server-only templates to render the head and <title> tag on the server, then use client-only code to update the title dynamically. It sounds like your core component could just update the title directly, rather than dispatch an event, but it should be workable either way.


Make bootclasspath a compile classpath

Originally we used @Classpath because of performance considerations, but that would prevent different OS versions of the same ABI-compatible JARs to be successfully recognized as compatible.

Should we add a test adding some jar with resources on the bootclasspath and then checking if the compilation is still up-to-date?
Should we add some test for using the build cache with a set bootclasspath?


ATV-24 | Update owner document

Description :sparkles:

Only allow owners to update the document's metadata, content, draft, and attachments

Issues :bug:
Closes :no_good_woman:
ATV-XXX:
Related :handshake:
Requires that the following PRs are merged first:
#34
Testing :alembic:
Automated tests :gear:
$ pytest documents/tests/test_api_patch_document.py

Codecov Report

Merging #35 (3993cd9) into main (ee5a16d) will increase coverage by 0.21%.
The diff coverage is 78.57%.

@@            Coverage Diff             @@
##             main      #35      +/-   ##
==========================================
+ Coverage   85.32%   85.54%   +0.21%
==========================================
  Files          46       47       +1
  Lines        1070     1093      +23
  Branches       98      103       +5
==========================================
+ Hits          913      935      +22
+ Misses        122      119       -3
- Partials       35       39       +4

Impacted Files
Coverage Δ

documents/api/docs.py
100.00% <ø> (ø)

atv/exceptions.py
92.50% <66.66%> (-4.56%)
:arrow_down:

documents/api/viewsets.py
90.07% <80.95%> (-0.33%)
:arrow_down:

documents/consts.py
100.00% <100.00%> (ø)

documents/signals.py
87.50% <0.00%> (+6.25%)
:arrow_up:

utils/files.py
81.81% <0.00%> (+9.09%)
:arrow_up:

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 ee5a16d...3993cd9. Read the comment docs.

Rebased on top of main and merging in. :+1:


Information

Hello,
Its cool to see your repo of a neo smart contract, I'm interested in how to deploy and how to interact with it. would you be able to provide any of this info?
GO NEO!

Hey,
This code is just one of my initial attempts to try and learn how to write NEO smart contracts, and this particular smart contract is full of flaws so please don't use it as an example. Unfortunately due to work commitments I haven't and won't be able to work on any NEO related development for a while.
If you want some other smart contract examples, take a look at this repo https://github.com/neo-project/examples.
I'd recommend looking here https://github.com/neo-project/docs/tree/master/en-us/sc. It's the repo for NEO's current smart contract documentation. It is still lacking a bit, and there aren't any clear tutorials yet, but I'd start reading through that if I were you.
Also if you have any specific questions that the documentation can't answer, try going to the #develop channel of NEO's Slack. Here's the shared invite link if you haven't already joined it https://neosmarteconomy.slack.com/join/shared_invite/MjI5MTc0NTIwMDM2LTE1MDMyNDY3MDctYzQ2MzM4ZjU3ZA. NEO community developers are regularly communicating in that channel, and they should be able to help answer any technical questions about deploying contracts and interacting with other contracts that you may have, as many of them have been dealing with the same issues over the last couple of months.
Sorry I couldn't be of much assistance myself, but right now I am unable to find enough spare time outside of my working hours to do any NEO related development.
GO NEO!

ok thanks for the info mate!
Im in the same boat as work commitments are stopping me really digging into
neo, its a promising project. If you later start doing more work and want
others involved feel free to send me an invite :)
Cheers,
Lachlan
On Wed, Aug 23, 2017 at 12:03 PM, Justin Gaffney<EMAIL_ADDRESS>wrote:

Closed #1 https://github.com/jlgaffney/Neo.SmartContract.Poll/issues/1.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/jlgaffney/Neo.SmartContract.Poll/issues/1#event-1217012359,
or mute the thread
https://github.com/notifications/unsubscribe-auth/APiX5WVb4u9FAsBenAXODeaNnnj3aihZks5sa4iGgaJpZM4O8hko
.


CanvasItem.draw_rect() culling problems

bugsquad edit: The root of the problem was recognized in this comment: https://github.com/godotengine/godot/issues/23711#issuecomment-439017673

Godot version:
3.1 alpha 2
OS/device including version:
Windows 10
Issue description:
Take a look at the gif below first:

So each box consists of 2 rectangles that are drawn using draw_rect(). However when I move the camera so they are positioned at either top or left edge, if one of those rects is outside, both of them disappear. The rects can even be separated, doesn't matter. This even happened at the rightmost edge of screen.
On Discord we suspected it's because of culling. But it doesn't make sense to cull anything because there are visible parts on the screen.
I've tried drawing a lot of rects and got mixed results, but I was unable to understand how exactly it works. Feel free to play around in the minimal reproduction project.
Minimal reproduction project:
draw_rect invisible.zip

This happens because there is no way to define a size of Node2D (it's just a point, without width or height).
If you convert your node to for example to Control you will have correct results when you define the width and height for this control (both Node2D and Control are extending CanvasItem so you don't need to change the code).

@kubecz3k Will it work if I scale the Control node?

Actually, I think maybe it is a good idea to give some way to define a size for culling inside the CanvasItem (so reopening).

@wingedadventurer I think the scale will be taken into account, but you for sure will need to define some width and height first (if the size is 0 it will still be 0 after scaling)

@wingedadventurer another node which you can use is Sprite (if you for some reason don't want to Control ones). Sprite will have the size of the texture that is assigned to it, plus it will take scale into account (so you can attach small transparent texture and regulate the culling with the scale).

This is either a bug or a misuse of Rect2.
The sample code contains this:
var left = Rect2(Vector2(-16, -16), Vector2(16, 32))
var right = Rect2(Vector2(16, -16), Vector2(-16, 32))

Note that the the Rect2 takes (position, size), and thus right is a Rect2 with negative size.
Printing left.merge(right) results in (-16, -16, 16, 32), that is, it thinks that both rects together have a size of 16, 32, which is wrong.
Printing left.merge(right.abs()) results in (-16, -16, 32, 32), which is correct, and additionally, passing right.abs() to draw_rect results in proper clipping.
So, either Rect2.merge() should be fixed to work with negative sizes, or the VisualServer should run rects through abs before merging them, or this should be documented in draw_rect's documentation.

What @bojidar-bg says is indeed true, making Rect2's size positive doesn't result in said bug anymore. Thanks!
The reason I had negative rect size is because I was drawing a door that opens by splitting. Therefore each door wing had variable width. For consistency in the code, I drew each wing from the edges, which works fine for the first one, but gives negative rect for second one.
Glad we sorted this out. 😄

Related to #25829.


Change favicon

As a user I would like the favicon to be different than the current default, so that I can differentiate it in my browser tabs,
Context
The favicon is currently using the Angular default favicon.
Change it to our own one containing a burger icon.

This is completed


Module.init does not contain KV-pair of modules without parameters

System information

Ubuntu 18.04.6 LTS
Flax, jax, jaxlib versions (obtain with pip show flax jax jaxlib:

Name: jax
Version: 0.3.25
---
Name: jaxlib
Version: 0.3.25+cuda11.cudnn805
---
Name: flax
Version: 0.6.3

Python version: Python 3.8.16

Problem you have encountered:
The dictionary of parameters generated at Module initialisation does not include keys of the modules that do not contain any parameter
What you expected to happen:
That modules without parameters are represented as empty dictionaries, rather than being omitted completely.
Steps to reproduce:
Whenever possible, please provide a minimal example. Please consider submitting it as a Colab link.
import jax
import flax.linen as nn

class Identity(nn.Module):
    def __call__(self, x):
        return x

net = nn.Sequential([Identity(), nn.Dense(2)])

params = net.init(jax.random.PRNGKey(0), jax.numpy.ones((2, 2)))
print(params)

Current output:
# FrozenDict({
#     params: {
#         layers_1: {
#             kernel: ...,
#             bias: ...,
#         },
#     },
# })
#

Expected output:
# FrozenDict({
#     params: {
+#         layers_0: {},
#         layers_1: {
#             kernel: ...,
#             bias: ...,
#         },
#     },
# })

Just wondering - if there is no params, is there a particular reason for having an empty dict for it? Because no params means the module will not look into the the layers_0 key for any data.

Yeah, I see the point, it actually is an issue when you try to access the parameters directly.
It's just counterintuitive that the parameters are not there.
My use case (a minimal example) is the following:
class Net(nn.Module):
    a: nn.Module
    b: nn.Module = Identity()

    @nn.compact
    def __call__(self, x, *args, **kwargs):
        return self.a(self.b(x))

    def b_wrapped(self, params, x):
        return self.b.apply({"params": params["b"]}, x)

a = nn.Dense(2)
b = nn.Dense(2)
x = jnp.ones((2,))

net = Net(a, b)
params = net.init(jax.random.PRNGKey(0), x)
net.b_wrapped(params, x)

params = net.init(jax.random.PRNGKey(0), x)
net.b_wrapped(params, x)  # KeyError: 'b'

In my specific instance Net would be a coumpond model like an RL agent, and a and b its components, like a representation network and a critic head (a real use case here).

Actually, at some point we had the reverse where collections did contain the empty dictionaries but this led to problems and hard to read variable structures. For example if you have a "batch_stats" collection you wouldn't want a conv layer to have "batch_stats": {"conv0": {}}. I think the best approach here is to treat the existence of empty dictionaries in the variable tree as an implementation detail that shouldn't be relied upon.

Yeah, that makes sense to me.
I prefer the opposite, but I understand the design decision.
Perhaps the underlying issue here is that I couldn't find a better pattern to call only one part of a compound model (e.g., self.b(params, x)) without resorting to the self.b.apply.
Happy if you want to close this, in case you don't want to go that direction, and also happy to hear any suggestion on the underlying issue.


Use better dependabot config like cluster-api-provider-packet uses

For comparison:

https://github.com/kubernetes-sigs/cloud-provider-equinix-metal/blob/main/.github/dependabot.yml
https://github.com/kubernetes-sigs/cluster-api-provider-packet/blob/main/.github/dependabot.yml

:robot: ChatGPT summary of differences (added by @displague)

The two Dependabot configurations you provided are similar in structure, but there are some notable differences:

Update Frequency:

In the CPEM configuration, updates are scheduled daily for all ecosystems (GitHub Actions, Go modules, and Docker images).
In the CAPP configuration, updates are scheduled weekly for GitHub Actions, Go modules, and Docker images. Additionally, the second configuration specifies specific days for Go module updates (Monday) and e2e test Go modules (Tuesday).

Commit Message Prefix:

Both configurations include a commit message prefix (:seedling:) for all ecosystems, indicating the nature of the update.

Labels:

The CAPP configuration includes labels for GitHub Actions and Docker updates (area/ci, ok-to-test for GitHub Actions, and ok-to-test for Docker). The labels provide additional context or categorization for the pull requests.

Grouping Dependencies:

The CAPP configuration includes a grouping mechanism for Go modules. Dependencies with a k8s.io prefix are grouped into a single pull request. This can help manage updates for related dependencies more efficiently.

Ignoring Specific Dependencies:

The CAPP configuration includes a section to ignore specific dependencies during updates. For Go modules, certain dependencies like controller-runtime, k8s.io/*, go.etcd.io/*, and others are excluded from automatic updates based on specific update types (semver-major, semver-minor).

Different Directories for Go Modules:

The CAPP configuration specifies different directories for maintaining e2e test Go modules (/test/e2e). This allows for more granular control over updates in specific parts of the codebase.

In summary, the CAPP configuration provides more fine-grained control over the update process, with specific days for updates, labels for categorization, and exclusion of certain dependencies from automatic updates. The grouping mechanism for Go modules and the ability to specify different directories for updates add flexibility in managing dependencies.

/accept

/approve

/triage accepted

/remove lifecycle-stale

/remove-lifecycle-stale

/remove-lifecycle stale


Make sure npm init workflow works

To button down "Getting Started" draft:
Need to make sure that the npm init workflow is solid and works consistently.

From #195:
https://github.com/breadboard-ai/breadboard/issues/195#issuecomment-1913679038


Factor/categorical levels getting shuffled around?

Using R magic in a Jupyter notebook on Ubuntu (Python 3.5.1, pandas 0.17.1, R 3.2.4). The species values seem to be getting shuffled around.
%%R
> head(iris)

  Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1          5.1         3.5          1.4         0.2  setosa
2          4.9         3.0          1.4         0.2  setosa
3          4.7         3.2          1.3         0.2  setosa
4          4.6         3.1          1.5         0.2  setosa
5          5.0         3.6          1.4         0.2  setosa
6          5.4         3.9          1.7         0.4  setosa

%%R
str(iris)
# Species variable stored as factor, not string

'data.frame':	150 obs. of  5 variables:
 $ Sepal.Length: num  5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
 $ Sepal.Width : num  3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
 $ Petal.Length: num  1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
 $ Petal.Width : num  0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
 $ Species     : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 1 ...

%%R
## Write R dataframe to disk
> write_feather(iris, 'iris.feather')

## Read into a pandas dataframe
> iris_pd = feather.read_dataframe('iris.feather')

> print(iris_pd.head())

   Petal.Length  Petal.Width  Sepal.Length  Sepal.Width     Species
0           1.4          0.2           5.1          3.5  versicolor
1           1.4          0.2           4.9          3.0  versicolor
2           1.3          0.2           4.7          3.2  versicolor
3           1.5          0.2           4.6          3.1  versicolor
4           1.4          0.2           5.0          3.6  versicolor

> pd_iris.dtypes

Petal.Length     float64
Petal.Width      float64
Sepal.Length     float64
Sepal.Width      float64
Species         category
dtype: object

Well, this isn't that great! Are R's factor codes 1-indexed (@hadley)?

Factors in R start at 1. From R's perspective, the roundtrip seems to work correctly, though: https://github.com/wesm/feather/blob/9b5d6a9c8dc28cb2b54c697a25065cdcbeda997c/R/tests/testthat/test-class.R#L20

Right, because the data is not being modified by libfeather. Starting at 1 is out of spec, though (anything ordinal needs to start at 0). Can we patch the R implementation to subtract 1 on write and add 1 on read? Probably also a good time to add a version number to the flatbuffers metadata so we can raise errors on old Feather files.

Yeah, that sounds like the right fix to me.

I will try to fix this myself if no one has started already -- this is actually a pretty good time to set up some integration testing tools (to check data generated by R code in Python and vice versa). Sound good?

Sounds good! (R talks too boring for you? :stuck_out_tongue:)

Heh, well, I'll have a little downtime tomorrow when there aren't talks happening. Talking about Feather and friends in about an hour =)


Upgrade Surefire 3.3.0 -> 3.3.1

This PR contains the following updates:

Package
Type
Update
Change

Surefire
build
patch
3.3.0 -> 3.3.1

[ ] If you want to rebase/retry this PR, check this box

Suggested commit message:
Upgrade Surefire 3.3.0 -> 3.3.1

See https://github.com/apache/maven-surefire/compare/surefire-3.3.0...surefire-3.3.1


Examplars

Can someone accepts this request and overwrite the latest commit in the sorgerlab/master. @jmuhlich @subkar
Thanks

Done


Getting an error when using MDXEditor component in my react app

I'm importing the editor like this:
import { MDXEditor } from '@mdxeditor/editor';
and trying to use it in my component like this:
            <MDXEditor
              ref={mdEditor}
              onChange={(markdown) => {
                console.log(markdown);
              }}
            />

if I load the page with the component there, I get this error:
Error: Cannot find module 'path/to/file/node_modules/@lexical/react/LexicalComposer' imported from<EMAIL_ADDRESS>Did you mean to import @lexical/react/LexicalComposer.js?

but if I comment it out, go to the page and uncomment it, then it works!!!
How can I fix the error?
Thanks
Version: "0.6.1"

This seems to be a problem to your bundler setup. What are you using? Can you reproduce it in some isolation? I will take a look.

it basically doesn't allow me to import the mdxeditor package at all. I installed it with npm install @mdxeditor/editor but cannot import anything from it in my react pages (.tsx files). Please let me know what information you need and I'll provide them

we use Next for our react app

Here's a working example of the editor embedded in a nextjs application.
Notice that you need to use the dynamic approach, as the editor does not (nor has to) work with hydration.
If this still does not work in your environment, you can compare this with your setup (i.e. nextjs version, config settings, typescript,  etc.) and let me know what the culprit is.

Yes the dynamic approach works fine. I'll try to work more with the editor and re-open the issue if I still face problems. Thank you🙏🏼


Can't Update homebridge-webos-tv, LG TV showing as Not Responding

My LG TV remote via Apple Home stopped working all of sudden. When trying to update homebridge-webos-tv, I get the following error:
`$ sudo npm install -g homebridge-webos-tv

<EMAIL_ADDRESS>install /usr/local/lib/node_modules/homebridge-webos-tv/node_modules/bufferutil
node-gyp-build

gyp WARN EACCES current user ("nobody") does not have permission to access the dev dir "/root/.cache/node-gyp/12.18.3"
gyp WARN EACCES attempting to reinstall using temporary dev dir "/usr/local/lib/node_modules/homebridge-webos-tv/node_modules/bufferutil/.node-gyp"
gyp WARN install got an error, rolling back install
gyp WARN install got an error, rolling back install
gyp ERR! configure error
gyp ERR! stack Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/homebridge-webos-tv/node_modules/bufferutil/.node-gyp'
gyp ERR! System Linux 5.4.51-v7l+
gyp ERR! command "/usr/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /usr/local/lib/node_modules/homebridge-webos-tv/node_modules/bufferutil
gyp ERR! node -v v12.18.3
gyp ERR! node-gyp -v v5.1.0
gyp ERR! not ok
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>install: node-gyp-build
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.`
Running home bridge in debug shows this:
[9/7/2020, 10:58:09] Error loading accessory requested in your config.json at position 1 [9/7/2020, 10:58:09] Error: The requested accessory 'webostv' was not registered by any plugin.     at PluginManager.getPluginForAccessory (/usr/local/lib/node_modules/homebridge/src/pluginManager.ts:198:15)     at /usr/local/lib/node_modules/homebridge/src/server.ts:347:37     at Array.forEach (<anonymous>)     at Server._loadAccessories (/usr/local/lib/node_modules/homebridge/src/server.ts:330:29)     at Server.start (/usr/local/lib/node_modules/homebridge/src/server.ts:156:12)     at cli (/usr/local/lib/node_modules/homebridge/src/cli.ts:80:10)     at Object.<anonymous> (/usr/local/lib/node_modules/homebridge/bin/homebridge:17:22)     at Module._compile (internal/modules/cjs/loader.js:1137:30)     at Object.Module._extensions..js (internal/modules/cjs/loader.js:1157:10)     at Module.load (internal/modules/cjs/loader.js:985:32)
Any suggestions? I'm on raspberry pi, latest raspbian, latest homebridge, npm v6.14.8, node v12.18.3

Thus is not an issue with this plugin! Your node permissions are not correct hence dependencies cannot be built, you need to fix your permissions or run the non install as sudo or with the flag --unsafe-perm

Thank you so much! It was a combination of things. Had to reinstall npm, homebridge (with the new web ui and different way of launching on reboot), clear some directories, and redo config for lgtv because of the syntax change. Looks like I haven't touched home bridge and any of the plugins for a while, then updated node/npm + the plugins and things started breaking. All seems to be good now.


i3639 Fix Python 3.12 tests

Description
Closes #3639. This is a minimal and temporary fix for now, I will chase this down soon and try to fix the issue for the pybtex repository upstream when I get time.
Type of change
Please add a line in the relevant section of CHANGELOG.md to document the change (include PR #) - note reverse order of PR #s. If necessary, also add to the list of breaking changes.

[ ] New feature (non-breaking change which adds functionality)
[ ] Optimization (back-end change that speeds up the code)
[x] Bug fix (non-breaking change which fixes an issue)

Key checklist:

[x] No style issues: $ pre-commit run (or $ nox -s pre-commit) (see CONTRIBUTING.md for how to set this up to run automatically when committing locally, in just two lines of code)
[x] All tests pass: $ python run-tests.py --all (or $ nox -s tests)
[x] The documentation builds: $ python run-tests.py --doctest (or $ nox -s doctests)

You can run integration tests, unit tests, and doctests together at once, using $ python run-tests.py --quick (or $ nox -s quick).
Further checks:

[x] Code is commented, particularly in hard-to-understand areas
[ ] Tests added that prove fix is effective or that feature works

If pybibtex is dead, should we switch to something else instead?
I found this active project for parsing bibtex: https://github.com/sciunto-org/python-bibtexparser

I was looking at some projects too yesterday and this one looks good to me as well. I will convert your comment to an issue, @kratman – an upstream PR for pybtex is on my radar for the start of next year as soon as my exams end, which should suffice our requirements, but switching to a new dependency altogether would be great.


Saturation Bug? not sure if intended

What minecraft version did it occur on? 1.19.2
What superheroes version did it occur on? 3.0.4
Description of the issue: with full hunger, you can keep eating consumables and gaining saturation (eg: eat a stack of ink). even taking damage, saturation gets so high you can't eat normal food and will gain health very slowly for a long time. try switching to doomfist with crazy saturation from a consumable lol. maybe reset hunger after a certain saturation level?

Dear shock2oo3,
I can see that this issue can happen, I will work to solve it for the next update

Solved in 3.1.0


Update catalan messages.po

Keeping it at 100%
Check it please @jordimas @darccio @surfdude29

How's this one looking, is it ready?

How's this one looking, is it ready?

Ready to merge, thanks @pfrazee

@pfrazee just a little reminder that this one is ready to go :)


Add new attributes for QIR support

Is your feature request related to a problem? Please describe.
As described by @bettinaheim in https://github.com/microsoft/qsharp-runtime/pull/495, it would be helpful to have Q# attributes to mark inline functions and target instructions:
/// # Summary
/// Compiler-recognized attribute used to indicate that a callable should always be inlined.
@Attribute()
newtype Inline = Unit;

/// # Summary
/// Compiler-recognized attribute for usage within target-specific packages
/// to specify the name of the instruction on the target machine.
@Attribute()
newtype TargetInstruction = String;

I would suggest to let the compiler automatically decide when to inline a callable and when not, but have an attribute @DontInline to prevent this from happing.

Closing, as corresponding PR has been merged.


Remove IJobParallelFor for now

As discussed in the Discord, the IJobParallelFor work-stealing algorithm had major performance issues. It wasn't properly distributing work across the cores, and instead was forcing most of the work to be done on just a couple cores, significantly slowing down performance. I'm removing it, for now, until these issues can be resolved.
For the time being, users should schedule Environment.ProcessorCount jobs, each with an equal portion of the amount. Being the naive solution, it'll be actually faster than IJobParallelFor, which I didn't properly profile.
In the future, I'd like to come back and fix the algorithm, but I couldn't figure out the issue after a couple hours, so it would require some more effort and research which I don't have time for at the moment.

Yikes, and here I am trying to get IJobParallelFor to work.
I agree with this assessment.

Closing in favor of #35


upload file failed.

Describe the bug
curl -F "filename=@file_name_to_be_upload" www.test00003.com
but "403 Forbidden" received.
the key info:
ModSecurity: Access denied with code 403 (phase 2). Matched "Operator Eq' with parameter 0' against variable MULTIPART_UNMATCHED_BOUNDARY' **(Value: 2'** ) [file "/usr/local/nginx/conf/rules/modsecurity.conf"] [line "74"] [id "200004"] [rev ""] [msg "Multipart parser detected a possible unmatched boundary."] [data ""] [severity "0"] [ver ""] [maturity "0"] [accuracy "0"] [hostname "<IP_ADDRESS>"] [uri "/"] [unique_id "1640166975"] [ref "v181,1"]
[root@localhost work]# curl --version
curl 7.80.0 (x86_64-pc-linux-gnu) libcurl/7.80.0 zlib/1.2.7 OpenLDAP/2.4.44
Release-Date: 2021-11-10
Protocols: dict file ftp gopher http imap ldap mqtt pop3 rtsp smtp telnet tftp
Features: alt-svc AsynchDNS IPv6 Largefile libz UnixSockets
Logs and dumps
attached.
Notice: Be carefully to not leak any confidential information.
Server (please complete the following information):

ModSecurity version (and connector): [e.g. ModSecurity v3.0.6 with nginx-connector v1.0.2]
WebServer: [e.g. nginx-1.20.1]
OS (and distro): [centos7.6]

Rule Set (please complete the following information):
core rule
debug.log
audit.log
3.4

maybe bug in multipart.cc

1900

Hello @877509395 ,
Did you change rule 200004, from the default?
@eq 1

to instead be:
@eq 2

If so, in future please include such important details (especially non-default settings) in your reports.
I do not recommend changing 200004 from the default content in modsecurity.conf-recommended.
There are known issues related to the setting of '2'. If a multipart request body contains only one part that is one problem situation for the '2' setting.
If you want to know more about this you can have a look at:
https://github.com/SpiderLabs/ModSecurity-nginx/issues/244
https://github.com/SpiderLabs/ModSecurity/pull/2417

Martin,
    Yes, the 200004 rule is:

    SecRule MULTIPART_UNMATCHED_BOUNDARY @.*** 0"
       "id:'200004',phase:2,t:none,log,deny,msg:'Multipart parser detected a possible unmatched boundary.'
    after fix to @.*** 2", then it is OK.
thanks
huiming.
------------------ 原始邮件 ------------------
发件人:                                                                                "SpiderLabs/ModSecurity"                                                                                @.>;
发送时间: 2021年12月22日(星期三) 晚上10:50
@.>;
<EMAIL_ADDRESS>主题: Re: [SpiderLabs/ModSecurity] upload file failed. (Issue #2658)
Hello @877509395 ,
Did you change rule 200004, from the default?
@eq 1
to instead be:
@eq 2
If so, in future please include such important details (especially non-default settings) in your reports.
I do not recommend changing 200004 from the default content in modsecurity.conf-recommended.
There are known issues related to the setting of '2'. If a multipart request body contains only one part that is one problem situation for the '2' setting.
If you want to know more about this you can have a look at:
SpiderLabs/ModSecurity-nginx#244
#2417
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you were mentioned.Message ID: @.***>


test: correct unit tests and e2e tests for language service

Summary
Added unit tests for language-service.ts and remove unnecessary e2e tests.
Test plan
Green CI
Does this PR introduce a breaking change?

[ ] Yes
[x] No

Other information
N.A.

Pull Request Test Coverage Report for Build 4613

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

Totals

Change from base Build 4596:
0.09%

Covered Lines:
1070

Relevant Lines:
1106

💛  - Coveralls


Doesn't work on IE

Just stays at loading screen on IE on W8

Which version of IE?

duplicate or #117


Remove windows from the list of supported platforms

Since it can still be tested natively without this, this won't cause any harm while we fix the tests to actually work on Windows.

:+1:

Also, as the note in the comment says, once https://jenkins.dockerproject.com/job/Windows/ is green, let's add this back and make it a real, official release target.

LGTM

LGTM

I'll hand the merge off to @icecrime

LGTM (cc @ahmetalpbalkan)


Parallax on background images

Hey!
Enjoying the slider. How can I achieve a parallax effect on the background images?
Thanks,
Ilai

Hi, Ilai. This functionality is not provided. You can create a module for it, but you need programming skills.
Cheers.

Hey David,
Thanks! Will consider.
Ilai


About Dataset

First of all, thank you for the great work.
In the BSD dataset, the beam splitter divides the light to create two images with different exposure times, but there could be some misalignment between the paired images. Is any additional method employed to align the misaligned pixels in these images?
Thank you in advance.

there could be some misalignment between the paired images

We use a laser to physically make the misalignment less.

Is any additional method employed to align the misaligned pixels in these images?

And post-processing (homography) is applied to ensure that the misalignment is less than 1 pixel.


Docker tests updates

Description

Added a custom image setting for running consumption tests
Skipped service bus tests for docker till image is updated
Fixed cron jobs for test to avoid conflicts
Running setup build for custom docker container tests so that we build protos  which would be eventually mounted on the container

Fixes #

PR information

[ ] The title of the PR is clear and informative.
[ ] There are a small number of commits, each of which has an informative message. This means that previously merged commits do not appear in the history of the PR. For information on cleaning up the commits in your pull request, see this page.
[ ] If applicable, the PR references the bug/issue that it fixes in the description.
[ ] New Unit tests were added for the changes made and CI is passing.

Quality of Code and Contribution Guidelines

[ ] I have read the contribution guidelines.

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

Project coverage is 85.04%. Comparing base (4c8fb7b) to head (eb40d46).

Additional details and impacted files
@@            Coverage Diff             @@
##              dev    #1457      +/-   ##
==========================================
- Coverage   85.08%   85.04%   -0.04%
==========================================
  Files          35       35
  Lines        1998     1986      -12
  Branches      378      293      -85
==========================================
- Hits         1700     1689      -11
+ Misses        222      221       -1
  Partials       76       76

Flag
Coverage Δ

unittests
85.04% <ø> (+0.01%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

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


Using Section outside of Morphology scope

In some usecases, we are interested only in loading and transforming a single neurite from a given Morphology.
A natural flow would be some like
def load_axon(filepath):
    morph = morphio.Morphology(filepath)
    result = morph.root_sections[0]  # for the sake of brevity, let's assume it's axon
    return result

axon = load_axon('blah')
for s in axon.iter():
    ...

It seems though that once morph object goes out of scope, axon is invalidated.
I vaguely remember we saw something like that before.
Is there a mechanism to hold morphology memory representation from Section?
Alternatively, what would work for this particular usecase is loading only axon in the morphology object.
In this case I can operate the whole morphology object (pass it around, transform points, etc.) without caring to extract the neurite of interest.
More radical proposal: sacrifice "view into C++ object memory" paradigm in Python; and make a copy of internal data into Python world on morphology loading. At the cost of data copy, we'll save ourselves from tons of headaches (see also #28, for instance). Getting memory management right in both C++ and Python with the same code can be very tricky.
Tested with 2.0.0 wheel as I could not install dev version of BB5 (see also #26).

Does that bug repro still work?

Yes.
Traceback (most recent call last):
  File "/home/bcoste/.virtualenvs/io/lib/python3.6/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/home/bcoste/workspace/io/tests/test_5_mut.py", line 411, in test_python_ownership
    assert_equal(len(new_axon2.children), 2)
AssertionError: 0 != 2

with MorphIO v2.3.5

Turns out the above report was for morphio.mut.Morphology, but the original bug report was for the non-mut version (morphio.Morphology).  I have spent a bunch of time trying to reproduce it for the immutable version, and I can't, so I don't think this is a problem any more - hence we can close it.


Log rotate the logs every time there is a new apply or destroy

MC-Hub currently overwrites the previous apply log when applying again.
MC-Hub should either append to existing log file, or rename the existing file to something like apply.log.1  if the file already exists.

Yes indeed, I'll look into improving the logging for the next release.

I implemented log rotation in https://github.com/ComputeCanada/mc-hub/commit/9cb2436cacd6b1d915d2d9ddfa38f309c45f39e5.
The most recent terraform apply log file will be named terraform_apply.log and the older logs will be named terraform_apply.log.1, terraform_apply.log.2, etc. The same is done for terraform plan logs, except the file name starts with terraform_plan.log. Destroy logs are also stored the same way.


move player controls to host pageflow initialization

This exposes the player controls, making them configurable from the host
application. It's possible to do this already, directly in the pageflow
initializer:
config.widget_types.register(Pageflow::BuiltInWidgetType.slim_player_controls,
default: true)

The classic controls would still be available, though. To allow removing
them altogether, I see different options:

The simplest thing would be to move the registration calls for the
widget types [1] to the host application initializer. This would be a
breaking change, but maybe even more aligned with the way things work
for built in page types already.

Also move the navigation widget types?
  config.widget_types.register(Pageflow::BuiltInWidgetType.navigation, default: true)
  config.widget_types.register(Pageflow::BuiltInWidgetType.mobile_navigation, default: true)

Coverage increased (+0.0004%) to 99.033% when pulling 63964df9864d2efc41d7093ab135329d3e78e7fd on scrollytelling:player-controls-pageflow-initializer into b452c34e04785fd9d8a0e9b2b2eb25d48744dc60 on codevise:master.

Coverage increased (+0.0004%) to 99.033% when pulling 63964df9864d2efc41d7093ab135329d3e78e7fd on scrollytelling:player-controls-pageflow-initializer into b452c34e04785fd9d8a0e9b2b2eb25d48744dc60 on codevise:master.

Coverage increased (+0.0004%) to 99.033% when pulling 63964df9864d2efc41d7093ab135329d3e78e7fd on scrollytelling:player-controls-pageflow-initializer into b452c34e04785fd9d8a0e9b2b2eb25d48744dc60 on codevise:master.

Coverage increased (+0.0004%) to 99.033% when pulling 63964df9864d2efc41d7093ab135329d3e78e7fd on scrollytelling:player-controls-pageflow-initializer into b452c34e04785fd9d8a0e9b2b2eb25d48744dc60 on codevise:master.

Also moving the navigation widget types probably be the most consequent thing to do, right?

Yes, agree. I will update the PR.
It does mean breakage when people don't add this back in. But I guess a version jump from 0.x to 12.x is pretty significant. If this is too much of a change, we could begin with deprecation notices, and make the change in 13.x?

We could. But I'd also be ok with adding another breaking change to 12.0 since there already are a couple of major ones.
For the 12.0 release, I plan to collapse the sections for the different release candidates in the changelog into one section. So there will be one list of breaking changes to work through for other's making the update.

Sounds good to me.
I'll update this PR right now.

@tf updated

Coverage increased (+0.001%) to 99.033% when pulling 44f804261765d4eb11760907b38134d61f6731fc on scrollytelling:player-controls-pageflow-initializer into b452c34e04785fd9d8a0e9b2b2eb25d48744dc60 on codevise:master.


"multiple definition of" errors when building from CMake

I don't think this is a CMake related issue, but I'm writing a program that uses CMake so.
When I build a simple server test, I get a bunch of multiple definition errors, like
In function `void asio_net::detail::tcp_server_t<(asio_net::detail::socket_type)1>::do_accept<(asio_net::detail::socket_type)1>()':
[build] /home/me/build/_deps/asio_net-src/include/asio_net/detail/tcp_server_t.hpp:114: multiple definition of `void asio_net::detail::tcp_server_t<(asio_net::detail::socket_type)1>::do_accept<(asio_net::detail::socket_type)1>()'

This is probably due to the fact that the do_accept() declaration and definition are in the same header file (i.e. there is no .cpp file), which is a condition known to cause this kind of issues. Usually, people would get around by declaring the function as inline.
I'm not sure if there is any other way to tell the compiler to inline the functions...
Thanks for any suggestion

As an update, I added the inline keyword to the offending functions and now my code builds and tests ok.
from this:
...
template <>
void tcp_server_t<socket_type::domain>::do_accept<socket_type::domain>() {
  acceptor_.async_accept([this](const std::error_code& ec, socket socket) {
...

I simply changed it to
...
template <>
inline void tcp_server_t<socket_type::domain>::do_accept<socket_type::domain>() {
  acceptor_.async_accept([this](const std::error_code& ec, socket socket) {
...

However, I'm not sure this is a reliable long term strategy since it forces me to maintain my fork....

Yes, we should use inline here. I will fix it.

fixed: https://github.com/shuai132/asio_net/commit/6a6c86bcddf4fe8cfd22d674049b8978c746f28d

I just tested and it builds ok. Thank you!

I think this has been resolved


docs: Use correct arity for graphql_type

Contributor checklist

[ ] Bug fixes include regression tests
[ ] Features include unit/acceptance tests

Small fix in the documentation to use graphql_type/1 to have correct signature.

🚀 Thank you for your contribution! 🚀


Add echo option to print environment and exit

This prints out the specified environment so that users can eval $(supernova --echo myenv) so supernova-incompatible apps can still use supernova's configuration management.

AWESOME! This is a good idea I never thought of. ;)


http://www.inhouseprotocols.com/publications.php

Can I share this code? I'm confused about making it. thank you
http://www.inhouseprotocols.com/publications.php

@Anonim-tech, you can find the scripts here. Rename the extensions to php. Note the line graph and table is from GoogleScholar.php otherwise I have formatted the rest on publications.php. Hope this helps. Let me know if you have any queries.
GoogleScholar.txt
publications.txt


Make the page responsive on mobile

Buttons stack vertically and are left aligned on small viewports
Author and date are left aligned
Tighten up main wrapper padding
Reduce padding inside each item
Add alt text for several images

Thanks for this PR @breadthe! This is sweet! I'll get it merged now 😄


rio up w/ no Riofile

If I run rio up in a directory with no Riofile I would like it to look for Dockerfile in the current directory.  If it does have Dockerfile then create an "virtual riofile"  as below
services:
  current_path_name:
    port:
    - 80:8080/http

And then run up.

This is working in v0.6.0. It ends up creating a service with spec like:
spec:
  image: localhost:5442/default/rio-demo@sha256:83b5ad3c8b2b56b4516fa4f6c3a280e6962221e95a510ec078d7d56a3cd49e2a
  ports:
  - port: 80
    protocol: HTTP
    targetPort: 8080


[Docs]: Correct instructions for reconnecting renamed projects

Type
Bug report
What do you want to report?
See: https://github.com/semaphoreci/semaphore/discussions/260
Code of Conduct

[X] I agree to follow this project's Code of Conduct

Pushed to prod


Mutliple files as the dataset.

Describe the use case
Use a directory path to specify multiple files for training
I do not see a way to specify a directory instead of a single CSV file for training.

@47billz right now Ludwig doesn't support that feature. For now, you'll have to concatenate the files.
But it's simple enough to add, so we'll try to add that soon.


Updating old code

I have a gist created for a splash of code that I'm trying to fix or replace and it references your CalendarView but I need help finding the source, or how to update it.
'https://gist.github.com/datatalking/a743ac9ff29dad6cbc3f8a90feb7d2b6' are you familiar with this  usage of what appears to be an older version of your code ?

Hi @datatalking ,
I can see 3 rows with the calendar-view code:
import CalendarView

calendar = CalendarView(months=1)
calendar.add_events(events)
st.write(calendar.render())

Please have a look at the examples in the example folder. They may give you an idea of how to use it.
Here are a few things to consider in the code you provide:

Wrong import statement.
The Calendar constructor gets config as a parameter

    def __init__(self, config: CalendarConfig):
        ...

The library doesn't support rendering to a stream. It needs additional code improvements. If you want to add a feature, please create a pull request. Or I can do it.


Added api endpoints to frontend

Description
Added API endpoints to the frontend to manage the MPS interfacing.
Resolves #16
Type of change
What types of changes does your code introduce to this project?
Put an x in the boxes that apply

[ ] Bugfix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation Update (if none of the other choices apply)

How Has This Been Tested?
Please describe the tests that you ran to verify your changes.

[x] Ran server successfully
[x] Was able to post takeoff data to the backend.

Checklist
Put an x in the boxes that apply. You can also fill these out after creating the PR. This is simply a reminder of what we are going to look for before merging your code.

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my code
[ ] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules

Small issues but seems like it can communicate effectively with GCOM's exponsed MPS endpoints,
note that currently with the django backend the baseUrl assigned to api should be localhost:8000/api/, which I should've changed beforehand but forgot to


The absolute path works, the issue happens when i use persistent locations like cdvfile:// this only happens in Android old devices, iOS more recent Android os it's ok.

please have a look at #405
Read @wf9a5m75 posts, I guess you need to access with file://


Color EULA text according to active theme

Fixes #30. Uses the --text-normal CSS variable set by Discord for the color of the EULA/first-launch message text. In light theme, this is readable, which it wasn't before. In dark theme, this is a slightly different color (computes to #dcdee0) than the previously-hardcoded #eeeeee, but I don't think it's a huge difference.

thanks! never thought to check this, that's on me 😅


Use discmaster to identify and add Internet Archive sources

http://discmaster.textfiles.com/search?q=sis&qfields=ext&family=other

Duplicate of #25.


Setting Symbol.species should change the return value of constructor

According the spec, if Symbol.species is set, the return value of constructor should be the value of Symbol.species. It seems rhino doesn't do this.
Test case:
            var emptyFunc=function() {};
            var p = Promise.resolve(1);
            p.constructor = {};
            var pt1=p.then(emptyFunc);
            console.log('pt1='+pt1);

            var t = function(e) {
                e(emptyFunc, emptyFunc);
            };
            p.constructor[Symbol.species] = t;
            var pt2=p.then(emptyFunc);
            console.log('pt2='+pt2);
            console.log(pt2 instanceof t);

In htmlunit the output is:
pt1=[object Promise]
pt2=[object Promise]
false

In real browser such as chrome, the output is:
pt1=[object Promise]
pt2=[object Object]
true

This maybe can be handled in Promise. The use cases of Symbol.species is here

https://exploringjs.com/es6/ch_classes.html#sec_species-pattern

see #755


Remove maintainers mistakenly added

I was mistaken about having this as part of our stack.  I'll happily remain as a maintainer, but am removing my coworkers as per their request.  My mistake @janschulz

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.


Add display: 'none' on iframe

An issue with the iframe is that it appears as 4x4 px frame, which is a big issue for sites with 100% height as this causes an overflow. Setting display: none resolves this issue.

@lhammarstrom yes @cadichris is right you shoud open a pr on adal.js official repo


Windows Build faulting on boot

Electron version: 0.36.9
Operating system: Windows ???

Sent off a 32-bit build to my client (tested, works fine on our Windows PCs). They returned this message (removed sensitive info in path - replaced with x, y, z):

Application Crashing Events
Message:
Faulting application name: Jumper.exe, version: <IP_ADDRESS>, time stamp: 0x56cfbd8
Faulting module name: node.dll, version: 6.3.9600.17736, time stamp: 0x550f42c2
Exception code: 0xc0000135
Fault offset: 0x0009d4f2
Faulting process id: 0x2fc
Faulting application start time: 0x01d17808fac3793d
Faulting application path: C:\ProgramData\xxxxxx\yyy\share\zzz\documents\108340571\Jumper.exe
Faulting module path: node.dll
Report Id: 38751c3d-e3fc-11e5-83b4-0010f34a4cd1
Faulting package full name:
Faulting package-relative application ID:

Any pointers to fixing/finding the fix for this?

Quick Notes: Jumper.exe is the rename of the Electron app. Full directory was shared with the client.

No, unless you have the crash dump file or symbolized crash report, there is nothing we can do.

Closing since we are not able to fix this without more information.